主要内容

通过使用观察员无线访问模型数据

观察员允许您监视系统模型的动态响应,同时保留系统模型设计和系统结果的完整性。观察者使用两种类型的区块,观察员参考块和观察者港口阻碍。这个观察员参考块无线连接一个系统模型到一个Observer模型,其中包含验证逻辑。在Observer模型中,使用观察者港口块来访问来自系统模型的数据,以驱动验证逻辑。

观测器参考块、带有观测器端口的观测器模型和测试评估块

Simulink的类型万博1manbetx®您可以观察到的信号和模型数据包括:

  • 连续时间和离散时间信号

  • 零控制信号

  • 标量信号

  • 宽的信号

  • 非虚拟总线信号

  • Stateflow®在statflow状态中定义的Simulink子系统中的局部数据参数,但局部数据、参数、信号和其他数据除外。万博1manbetx

  • Stateflow状态自活动,除非该活动位于Stateflow状态内的Simulink子系统中。万博1manbetx

观察员参考

观察员参考block无线连接一个系统模型到一个观察者模型。观察员参考块只能在系统模型的顶层,并且没有输入或输出端口。将Simulink信号或其万博1manbetx他模型数据映射到观察者港口块包含在Observer模型中。一旦将Observer Port块映射到信号或数据,就可以将端口连接到Observer模型中的验证子系统。运行您的系统模型也会运行链接的Observer模型。

无线访问允许您使用观察员监控系统模型,而不会对系统造成更改。观察者允许您在系统设计和验证子系统之间创建明确的区别。

添加一个观察员参考

观察员参考块引用用于验证系统模型的单独验证模型。添加观察员参考首先,在Simulink工具栏中,打开Apps并在模型验证、验证和测试部分中单击Si万博1manbetxmulink Test。点击添加观察者引用测验选项卡。或者,右键单击Simulink画布的顶层并选择万博1manbetx观察人士>在这里添加观察者引用从上下文菜单。一个观察员参考块被添加到您的系统模型中,并创建并打开一个Observer模型。您必须将观察者模型保存在MATLAB的可写文件夹中®路径

观察者对比试块

连接现有的观察者模型

连接一个观察员参考块到已创建的观察者模型,首先将观察者模型保存在MATLAB路径上的可写文件夹中。接下来,右键单击观察员参考阻止并选择块参数(ObserverReference)

观察者参考块的块参数

输入要连接到系统的Observer模型的名称并进行选择应用.当你双击观察员参考块时,观察者模型将在一个新窗口中打开。

从信号或其他模型数据创建观察者模型

要创建映射到模型中的信号线或可观察数据的Observer模型,请选择一个或多个想要观察的信号或数据。然后,单击添加观察者引用测验标签。或者,右键单击信号或数据并选择观察人士,要观察的项目类型,以及新观察家.万博1manbetxSimulink创建一个观察者模型并添加一个观察员参考阻塞到您的系统模型。

连接信号或其他模型数据使用观察者港口

每个Observer模型包含一个或多个观察者港口块。映射一个观察者港口阻塞到系统模型中的模型对象或信号观察者港口块输出与其映射对象或信号相同的输出。一个新的观察者港口块显示通过信号符号的线,表示块未映射到任何信号或对象。

观察端口模块,模块图标上的信号线被划掉了

进入“管理观察者”对话框

绘制一个观察者港口阻塞到系统模型中的一个信号或对象,使用以下方法之一打开“管理观察者”对话框:

  • 测验选项卡上,单击管理的观察者

  • 点击右下角的齿轮观察者参考块。

  • 右键单击观察者参照块并选择观察人士>管理的观察者

  • 在观察者模型中,双击观察者端口块。

管理观察者块对话框,显示模型块层次结构

使用“管理观察者”对话框,您可以:

  • 过滤和选择信号和观察对象

  • 添加、删除或配置观察者港口阻碍

  • 在观察者端口和模型之间跟踪信号和对象

“管理观察者”对话框的左侧是“可观察区域”面板。“可观察区域”面板显示模型的块层次和可观察输出。观察到的信号或对象在层次中显示为粗体。

“管理观察者”对话框的右侧显示了观察者面板。“”中的“观察”面板显示块层次结构,包括“观察”端口观察员参考块。一个观察者港口映射到信号或对象的块显示为粗体,并显示其所附加的信号。一旦观察者港口映射到一个信号或对象,它的块图标更新以显示观察者港口附加在信号或物体上。

带有附加对象的观察者端口块

要查看被观察对象的完整路径,请指向观察者港口块。

如果更改系统模型中观察到的信号或对象的名称,则观察员参考块更新来自的输出信号的名称观察者港口块如果信号未命名且没有标签,则观察者港口块被设置为空字符串。

一个地图观察者港口阻塞到一个信号或对象

将信号或对象映射到观察者港口块,打开“管理观察者”对话框。在可观察区域面板中,选择你想要观察的信号或对象。将信号或对象映射到一个新的观察者港口块,双击所选项目或单击Add New Observer Port图标. 将信号或对象映射到现有观察者港口块,在“观察”面板中选择“观察端口”,并单击“重新配置”观察者港口图标.在Observer模型中,您可以将Observer Port的输出连接到验证子系统,以测试结果。

跟踪观察到的项目,以模拟信号和对象

您可以在“管理观察器”对话框中跟踪观察到的项目及其观察器端口。您还可以跟踪Manage Observer对话框和系统模型之间以及系统模型和Observer模型之间的项。

要在“管理观察者”对话框中跟踪观察到的项目到其观察者端口,请使用以下方法之一:

  • 双击Observer面板中的ObserverPort项目。观察到的项目在可观察区域面板中突出显示。

  • 右键单击“观察者”面板中的“观察者端口”项目,然后选择显示在左面板. 观察到的项目在可观察区域面板中高亮显示。

要在“管理观察者”对话框和系统模型之间跟踪观察到的项目或观察者端口,请使用以下方法之一:

  • 右键单击“观察者”面板或“可观察区域”面板中的“观察者端口”项目,然后选择在模型.观察到的项在模型中突出显示。

  • 右键单击系统模型中观测到的信号或对象并选择转到关联的观察员端口.相关的观察者端口在观察者模型中突出显示。

在系统模型和观察者模型之间跟踪观察者端口和被观察的项目,使用以下方法之一:

  • 右键单击Observer模型中的Observer Port并选择观察人士>转到观察到的<项目类型>.观察到的信号或对象在系统模型中突出显示。

  • 右键单击系统模型中观测到的信号或对象并选择观察人士>转到关联的观察员端口.相关的观察者端口在观察者模型中突出显示。

用一个观察员参考

观察者模型用于监视系统模型中的信号,并检查系统模型是否在指定参数范围内运行。有或没有观察员参考块,则系统模型模拟结果相同。这个观察员参考块不会影响系统模型的编译。

请注意

系统模型和观察者模型都必须在正常的仿真模式下运行。两个模型都可以以固定步长或可变步长速率运行,或者一个模型可以以固定速率运行,另一个模型可以以可变速率运行。这两个模型也可以使用相同或不同的求解器。看到选择一个解算器

使用观察员验证热泵温度

这个例子展示了如何使用观察员参考块以无线方式观察信号并验证结果。在该系统中,对象使用Simulink建模,控制器使用Stateflow建模。本示例的目标是监控热泵的温度以及热泵冷却或加热房间的时间。风扇的吹风方向表示冷却或加热。数万博1manbetx据名为pump_dir,并连接到状态流程图中的端口3。

  1. 打开sltestHeatpumpExample模型。

    cd (fullfile (docroot,“工具箱”,“slt”,“示例”))open_system(“sltestHeatpumpExample”)

    热泵实例模型

  2. 在应用程序选项卡中,单击模型验证、验证和测试部万博1manbetx分中的Simulink测试。这个测验选项卡中打开

  3. 创建一个观察者模型来测量泵的温度。

    测验选项卡上,单击添加观察者引用. 万博1manbetxSimulink添加了一个观察员参考块,并创建一个名为sltestHeatpumpExample_Observer1

  4. 添加并映射观察者端口块。

    打开Plant子系统并右键单击信号T.选择观察人士>观察选择信号>sltestHeatpumpExample /观察者(sltestHeatpumpExample_Observer1).观察者模型添加了一个观察者港口块映射到信号T.将新的Observer模型保存在可写文件夹中。

  5. 添加并映射另一个观察者端口块。

    在观察者模型中测验选项卡上,单击添加观察者端口.双击新观察者港口打开“管理观察者”对话框。在“观察者”面板中,第二个观察者港口ObserverPort1,列在第一个端口下面。

    映射ObserverPort1到Simuli万博1manbetxnk数据pump_dir点击ObserverPort1.在可观察区域面板中,展开控制器控制器图,然后选择Outport3. 单击重新配置图标.的ObserverPort1名称更新ObserverPort1 (controller_chart: 3)

    带有映射观察者端口块的管理器观察者块对话框

    Observer Port块位于Observer模型中,现在已经映射并准备连接到作用域或验证子系统。

    观察者端口块

将验证子系统转换为观察者参考

转换验证子系统(万博1manbetx仿真软件设计验证器)是一种整理系统模型的方法。中选择要转换的子系统并测验选项卡上,单击发送给观察者. 或者,右键单击验证子系统并选择观察人士>将选定块移动到观察者>新观察家. 此操作无法撤消。

该模型包含验证子系统、安全属性。

基本巡航控制装置验证子系统

通过将安全属性验证子系统转换为观察员参考块时,您将删除将验证子系统链接到系统模型的信号,同时保留测试系统完整性的能力。

验证子系统转换为观测器模型

这两个信号,throt输出1,自动映射为2观察者港口block在Observer模型中,sltestBasicCruiseControlHarnessModel_Observer1

映射到观察者模型的观察者端口块

观察员的考虑和限制

模型模拟

观察者模型不模拟以下情况:

  • Observer模型包含根级的import或Outport块。

  • 观察者模型是一个库或子系统参考模型。

观测者参考块

一个观察者参考块在模拟过程中被忽略:

  • 您可以使用普通模式以外的任何模拟模式(例如,加速器,SIL/PIL)。

  • 您正在生成代码。

  • 观察者引用块位于模型引用层次结构中。观察者参考块只支持在顶部模型的根。万博1manbetx

  • 观察者参考块在观察者模型中。不支持Observer模型的递归。万博1manbetx

数据导出和输出

  • 观察员支持记录信号或数据存储存储器并保存最终操作点。不支持所有其他数据导出选项,例如时间、状态、输出、最终状态和保存到文件。万博1manbetx

  • 观察者中的工作区和仪表板块不受支持,也不产生输出。万博1manbetx

观察者和设计模型之间的不匹配设置

当观察者模型中的这些设置与设计模型中的设置不同时,将使用设计模型设置并忽略观察者模型设置。

  • 数据导入导出设置

  • 覆盖范围设置

  • 解算器停止时间

另请参阅

|