有三种运行SIL和PIL模拟的方法。您可以使用:
上面的模型。
块模型。
从子系统创建的SIL和PIL块。
配置和运行顶级SIL或PIL模拟:
在仿真软件金宝app®编辑器,打开您的模型。
在这一点应用选项卡上,单击SIL / PIL Manager.
在里面模式部分,选择银/公益诉讼模拟.
在里面准备部分,集正在测试的系统到超模
.
在里面银/公益诉讼模式字段,选择任一个软件循环(SIL)
或者处理器 - 循环(PIL)
.该选项仅支持ERT,G金宝appRT或AutoSAR系统目标文件。看模型配置参数:代码生成(金宝app仿真软件编码器)和配置AutoSAR代码生成(AutoSar SlockSet)用于配置信息。
点击监控信号,然后选择SIL / PIL伐木.
如果要配置SIL仿真,请指定便携式字大小选项。然后,您可以在SIL和PIL模式之间无缝切换。在“配置参数”对话框中,选择启用可移动字长复选框。
如果需要,请配置:
在里面跑的部分,停止时间字段,指定模拟时间。
11.点击运行银/公益诉讼.
12.在模拟的最后结果部分,点击数据检查员查看仿真结果。
在窗户上®操作系统,Windows防火墙可能会阻止SIL或PIL模拟。要允许模拟,请使用Windows安全警报对话框。例如,在Windows 7的, 点击允许访问.
你不能:
在仿真运行时关闭模型。要中断模拟,请在“命令”窗口中,按Ctrl + C..
在模拟过程中改变模型。只要它不会改变模型的行为,您可以移动块和行。
您可以使用该命令运行顶级SIL或PIL模拟SIM(
.该软件支持金宝app模型
)sim卡
命令选项SrcWorkspace
价值'根据'
.
对于PIL仿真,您可以通过连接配置控制代码编译并在目标环境中执行。
通过顶级模型或PIL模拟,Simulink创建了一个隐藏的模型,金宝app
.仿真为模型生成代码,并使用隐藏模型在每个时间步骤调用此代码。因此,在某些情况下,记录的信号可能有modelName
_wrapper_wrapper
后缀。模拟还可以生成引用隐藏模型的警告。例如:
警告:该模型'modelName_Wrapper'具有“配置参数”...
配置A.模型块为SIL或PIL模拟:
在Simuli金宝appnk编辑器中,打开您的模型,例如,RTWDEMO_SIL_MODELBLOCK.
.
右击你的模型块,例如,柜台A.
.在上下文菜单中,选择块参数(ModelReference),打开“功能块参数”对话框。
来自模拟模式下拉列表,选择所需模式,例如,软件循环(SIL)
.
来自代码接口下拉列表,指定要测试的代码,例如,模型参考
.
点击好的.该软件将仿真模式显示为块标签。
如果你选择超模
,该软件显示块标签(SIL:顶部)
.
如果要配置SIL仿真,请指定便携式字大小选项。然后,您可以在SIL和PIL模式之间无缝切换。在“配置参数”对话框中,选择启用可移动字长复选框。
在这一点应用选项卡上,单击SIL / PIL Manager.
在里面模式部分,选择银/公益诉讼模拟.
在里面准备部分,集正在测试的系统到SIL/PIL模式的模型块
.
在里面顶级模型模式字段,选择任一个普通的
或者加速器
.
如果需要,请配置:
代码执行分析为你的模型通过为顶部模型配置执行分析来块。
在里面跑部分:
在里面停止时间字段,指定模拟时间。
如果您希望避免在初始构建之后重新构建代码,请单击快速启动.看防止多种模拟中的代码更改.
点击运行银/公益诉讼.
在模拟的最后结果部分,单击“数据检查器”以查看模拟结果。
在Windows操作系统上,Windows防火墙可能会阻止SIL或PIL模拟。要允许模拟,请使用Windows安全警报对话框。例如,在Windows 7的, 点击允许访问.
对于PIL仿真,您可以通过连接配置控制代码编译并在目标环境中执行。
要从子系统创建SIL或Pill块,并使用此块测试从子系统生成的代码:
来自配置参数>代码生成>确认>高级参数>创建块下拉列表,任选其一银
或者公益诉讼
.
如果需要,配置代码执行分析。
点击好的.
在模型窗口中,右键单击要模拟的子系统。
选择C / C ++代码>构建此子系统.
点击建造,启动子系统构建过程,为生成的子系统代码创建一个SIL或Pill块。
将生成的块添加到提供测试向量或刺激输入的环境或测试利用模型中。
使用环境或测试线束模型进行仿真。
在Windows操作系统上,Windows防火墙可能会阻止SIL或PIL模拟。要允许模拟,请使用Windows安全警报对话框。例如,在Windows 7的, 点击允许访问.
如果您执行以下操作之一,则无法创建SIL或Pill块:
禁用createSilpilblock.
财产。
选择一个代码覆盖工具。
创建块看起来很暗淡。
对于PIL仿真,您可以通过连接配置控制代码编译并在目标环境中执行。
SIL和Pil组件输出可用于观察和比较其他仿真模式输出。如果要检查内部信号,则可以启用顶部模型的内部信号记录或模型块SIL或PIL。使用信号日志记录,您可以:
例如,在SIL / PIL仿真期间收集信号记录输出,Logsout.
.
记录内部信号和SIL / Pil组件的根级输出。
使用Simulink信号日志记录选择器管理SIL / PIL信号日志记录设置。金宝app
使用模拟数据检查器:
在正常,SIL和PIL模拟期间观察流的信号。
比较正常、SIL和PIL模拟的记录信号。
启用SIL和PIL模拟的信号日志记录,在SIL / PIL.选项卡上,单击监控信号.然后选择SIL / PIL伐木,它启用了生成信号的C API模型配置参数。C API确定需要日志记录的内部信号的地址。
您可以使用其他方法来检查SIL或PIL组件的内部信号:
手动将信号路由到顶级。
使用全局数据存储访问内部信号:
在组件内部,连接a数据存储写入块到所需的信号。
在组件之外,使用a数据存储读取块访问信号值。
使用Mat文件日志记录。注意:
MAT文件日志记录不支持信号日志记录。金宝app如果启用了信号日志记录,Logsout.
生成但不存储在Mat文件中。
对于PIL,目标环境必须支持MAT文件日志记录。金宝app
有关更多信息,请参阅:
测试点(金宝app模型)
使用信号记录导出信号数据(金宝app模型)
本地和全球数据存储(金宝app模型)
全局数据存储示例(金宝app模型)
记录程序执行结果(金宝appSimulink编码器)
使用模型块SIL/PIL或SIL/PIL块快速重启,当你想运行多个SIL或PIL模拟:
变化的测试向量(参数集和输入数据)。
未更改生成的代码,也就是说,在初始构建之后,没有模拟重新生成或重新构建代码。例如,您希望避免初始值更改可能触发的增量代码生成。
为模型块SIL / PIL,您也可以使用其中一种方法:
在测试线束模型中,在“配置参数”对话框中,设置重建到绝不
.如果是模型块代码接口参数是模型参考
,该软件不会重建引用的模型代码。(如果是代码接口参数是超模
,软件忽略重建环境。)
创建受保护的模型并生成源代码或二进制代码。然后,将受保护的模型插入到您的测试工具模型中。使用此方法,您可以验证顶级模型代码(使用独立代码接口)或模型引用代码。
可选择的运行方法模型块SIL / PIL,下表总结了初始构建后的代码生成行为。
SIL和PIL方法 | 初始构建后的代码生成行为 | |
---|---|---|
模型块 | 重建测试线束模型的配置参数设置为绝不 . |
|
模型块(保护模型) | 受保护模型的源代码。 | 除了要素2之外,您会观察到相同的行为2.在这种情况下,运行组件代码makefile。重新编译组件代码并链接以生成新的对象代码。 |
受保护模型的二进制代码。 | 您观察1-4个功能。 |
有关更多信息,请参阅:
模型配置参数:模型引用(金宝app模型)
保护模型以隐藏内容(金宝appSimulink编码器)
如果您的模型有SIL/PIL块或模型SIL / PIL模式下的块,可以通过以下方式加速SIL / PIL测试:
SIL和PIL仿真模式不设计用于减少模型模拟时间。如果要加快模拟模拟,请使用快速加速器模式。有关更多信息,请参阅加速度是什么?(金宝app模型)。
使用金宝app仿真软件的功能块和函数来电者当你想:
生成代码,使功能呼叫外部代码,例如驱动程序或传统代码。
提供一个子系统,其行为类似于正常、SIL或PIL模拟中的外部代码。
这个例子配置对AUTOSAR NVRAM管理器服务的调用(AUTOSAR Blockset)展示了如何从AUTOSAR软件组件配置客户端调用基本软件(BSW) NVRAM管理器(NvM)服务接口。在仿真中,Simulink实现了B金宝appSW的NvM调用金宝app仿真软件的功能并预先配置函数来电者块。对于最终的系统,您将使用外部BSW功能代码链接函数呼叫存根,该代码在AutoSAR运行时环境(RTE)中运行。
有关更多信息,请参阅金宝appSimulink功能块和代码生成(金宝appSimulink编码器)。