观察者允许您监视系统模型的动态响应,同时保持系统模型设计和系统结果的完整性。观察者使用两种类型的块,观察员参考块和观察者港口阻碍。这个观察员参考块将系统模型无线链接到包含验证逻辑的观察者模型观察者港口块访问系统模型中的数据,以驱动验证逻辑。
Simulink的类型金宝app®您可以观察到的信号和模型数据包括:
连续时间和离散时间信号
零阶保持信号
标量信号
宽信号
非虚拟总线信号
Stateflow®在statflow状态中定义的Simulink子系统中的局部数据参数,但局部数据、参数、信号和其他数据除外。金宝app
Stateflow状态自活动,除非该活动位于Stateflow状态内的Simulink子系统中。金宝app
观察员参考block无线连接一个系统模型到一个观察者模型。观察员参考块只能位于系统模型的顶层,并且没有输入或输出端口。可以将Simulink信号或其他模型数据映射到金宝app观察者港口块包含在Observer模型中。一旦将Observer Port块映射到信号或数据,就可以将端口连接到Observer模型中的验证子系统。运行您的系统模型也会运行链接的Observer模型。
无线访问允许您使用观察员监控系统模型,而不会对系统造成更改。观察者允许您在系统设计和验证子系统之间创建明确的区别。
的观察员参考块引用用于验证系统模型的单独验证模型。添加观察员参考首先,在Simulink toolstrip中,打开应用程序并单击模型验证、验证和测金宝app试部分中的Simulink测试。单击添加观察者参考在测验选项卡。或者,右键单击Simulink画布的顶层并选择金宝app观察员>在这里添加观察者引用从上下文菜单。一个观察员参考块添加到系统模型中,并创建和打开观察者模型。必须将观察者模型保存在MATLAB上的可写文件夹中®路径
连接一个观察员参考块到已创建的观察者模型,首先将观察者模型保存在MATLAB路径上的可写文件夹中。接下来,右键单击观察员参考阻止并选择块参数(ObserverReference).
输入要连接到系统的观察者模型的名称,然后选择应用.当你双击观察员参考块,将在新窗口中打开观察者模型。
要创建映射到模型中的信号线或可观察数据的观察者模型,请选择一个或多个要观察的信号或数据。然后,单击添加观察者参考在测验标签。或者,右键单击信号或数据并选择观察员,要观察的项目类型,以及新观察家.S金宝appimulink创建观察者模型并添加观察员参考块到您的系统模型。
每个Observer模型包含一个或多个观察者港口块。映射一个观察者港口阻塞到系统模型中的模型对象或信号观察者港口块输出与其映射对象或信号相同的输出。一个新的观察者港口块显示通过信号符号的线,表示块未映射到任何信号或对象。
绘制地图观察者港口如果要阻止系统模型中的信号或对象,请使用以下方法之一打开“管理观察者”对话框:
在测验选项卡上,单击管理观察者.
点击右下角的齿轮观察者参考块。
右键单击观察者参照块并选择观察员>管理观察者.
在观察者模型中,双击观察者端口块。
使用“管理观察者”对话框,您可以:
过滤和选择信号和观察对象
添加、删除或配置观察者港口阻碍
在观察者端口和模型之间跟踪信号和对象
“管理观察者”对话框的左侧是“可观察区域”面板。“可观察区域”面板显示模型的块层次和可观察输出。观察到的信号或对象在层次中显示为粗体。
“管理观察者”对话框的右侧显示了观察者面板。“”中的“观察”面板显示块层次结构,包括“观察”端口观察员参考块。一个观察者港口映射到信号或对象的块显示为粗体,并显示其所附加的信号。一旦观察者港口映射到一个信号或对象,它的块图标更新以显示观察者港口附加在信号或物体上。
要查看被观察对象的完整路径,请指向观察者港口块。
如果更改系统模型中观察到的信号或对象的名称,则观察员参考块更新来自的输出信号的名称观察者港口块如果信号未命名且没有标签,则观察者港口块被设置为空字符串。
将信号或对象映射到观察者港口块,打开“管理观察者”对话框。在“可观察区域”面板中,选择要观察的信号或对象。要将信号或对象映射到新的观察者港口块,双击所选项目或单击Add New Observer Port图标. 将信号或对象映射到现有观察者港口块,在“观察”面板中选择“观察端口”,并单击“重新配置”观察者港口图标.在Observer模型中,您可以将Observer Port的输出连接到验证子系统,以测试结果。
您可以在“管理观察器”对话框中跟踪观察到的项目及其观察器端口。您还可以跟踪Manage Observer对话框和系统模型之间以及系统模型和Observer模型之间的项。
要在“管理观察者”对话框中将观察到的项目跟踪到其观察者端口,请使用以下方法之一:
双击Observer面板中的ObserverPort项目。观察到的项目在可观察区域面板中突出显示。
右键单击“观察者”面板中的“观察者端口”项目,然后选择显示在左面板. 观察到的项目在可观察区域面板中高亮显示。
要在“管理观察者”对话框和系统模型之间跟踪观察到的项目或观察者端口,请使用以下方法之一:
右键单击“观察者”面板或“可观察区域”面板中的“观察者端口”项目,然后选择在模型中显示. 观察到的项目在模型中高亮显示。
在系统模型中的观测信号或对象上单击鼠标右键,然后选择转到相关的观察者端口这个associated Observer Ports are highlighted in the Observer model.
要在系统模型和观察者模型之间跟踪观察者端口和观察项目,请使用以下方法之一:
右键单击Observer模型中的Observer Port并选择观察员>转到观察到的<项目类型>这个observed signal or object is highlighted in the system model.
在系统模型中的观测信号或对象上单击鼠标右键,然后选择观察员>转到相关的观察者端口这个associated Observer Ports are highlighted in the Observer model.
观察者模型用于监视系统模型中的信号,并检查系统模型是否在指定参数范围内运行。有或没有观察员参考块,则系统模型模拟结果相同。这个观察员参考块不会影响系统模型的编译。
请注意
系统模型和观察者模型都必须在正常的仿真模式下运行。两个模型都可以以固定步长或可变步长速率运行,或者一个模型可以以固定速率运行,另一个模型可以以可变速率运行。这两个模型也可以使用相同或不同的求解器。看到选择一个解算器.
此示例演示如何使用观察员参考块以无线方式观察信号并验证结果。在该系统中,对象使用Simulink建模,控制器使用Stateflow建模。本示例的目标是监控热泵的温度以及热泵冷却或加热房间的时间。风扇的吹风方向表示冷却或加热。数金宝app据名为pump_dir
,并连接到状态流程图中的端口3。
打开sltestHeatpumpExample
模型。
cd (fullfile (docroot,“工具箱”,“slt”,“示例”))open_system(“sltestHeatpumpExample”)
在应用程序选项卡中,单击模型验证、验证和测试部金宝app分中的Simulink测试。这个测验选项卡打开
创建观察者模型以测量泵的温度。
在测验选项卡上,单击添加观察者参考. 金宝appSimulink添加了一个观察员参考块,并创建一个名为sltestHeatpumpExample_Observer1
.
添加并映射观察者端口块。
打开设备子系统并右键单击信号T
选择观察员>观察选择信号>sltestHeatpumpExample/观察者(sltestHeatpumpExample\u观察者1)这个观察者model adds an观察者港口映射到信号的块T
。将新的观察者模型保存在可写文件夹中。
添加并映射另一个观察者端口块。
在观察者模型中,在测验选项卡上,单击添加观察者端口. 双击新窗口观察者港口打开“管理观察者”对话框。在“观察者”面板中,第二个观察者港口,ObserverPort1
,列在第一个端口下面。
绘制ObserverPort1
到Simuli金宝appnk数据pump_dir
点击ObserverPort1
.在可观察区域面板中,展开控制器
和控制器图
,然后选择外站3
. 单击重新配置图标这个ObserverPort1
姓名更新至ObserverPort1 (controller_chart: 3)
.
Observer Port块位于Observer模型中,现在已经映射并准备连接到作用域或验证子系统。
转换验证子系统(金宝app仿真软件设计验证器)观察者参考块是分离系统模型的一种方法。选择要转换的子系统,然后在测验选项卡上,单击发送给观察员. 或者,右键单击验证子系统并选择观察员>将选定块移动到观察者>新观察家. 此操作无法撤消。
该模型包含验证子系统、安全属性。
通过将安全属性验证子系统转换为观察员参考块,则删除将验证子系统链接到系统模型的信号,同时保留测试系统完整性的能力。
这两个信号,throt
和输出1
,将自动映射到两个观察者港口block在Observer模型中,sltestBasicCruiseControlHarnessModel_Observer1
.
观察者模型不会模拟以下情况:
Observer模型包含根级的import或Outport块。
观察者模型是一个库或子系统参考模型。
一个观察者参考块在模拟过程中被忽略:
您可以使用普通模式以外的任何模拟模式(例如,加速器,SIL/PIL)。
您正在生成代码。
观察者参考块位于模型参考层次结构中。观察者参考块仅在顶部模型的根处受支持。金宝app
观察者参考块在观察者模型中。不支持Observer模型的递归。金宝app
观察员支持记录信号或数据存储存储器并保存最终操作点。不支持所有其他数据导出选项,例如时间、状态、输出、最终状态和保存到文件。金宝app
不支持观察者中的To Workspace和Dashboard块,并且不生成输出。金宝app
当观察者模型中的这些设置与设计模型中的设置不同时,将使用设计模型设置并忽略观察者模型设置。
数据导入导出设置
覆盖范围设置
解算器停止时间