主要内容

观察条件子系统信号

条件子系统由激活或触发子系统的外部信号控制。通过观察一个条件子系统,可以检查该子系统是否只在控制信号激活时才运行,并检查条件子系统中的其他功能。你可以添加观察员的块有:

  • 启用子系统

  • 触发子系统

  • 启用和触发子系统

  • If动作子系统

  • 开关案例动作子系统

有关条件子系统的更多信息,请参见有条件执行子系统概述

当向条件子系统中的信号添加观测器时,Simulink®在主模型的顶层添加一个Observer Reference块,并创建一个Observer模型,该模型在非周期分区中包含一个Observer Port块。该分区控制条件数据的调度。分区中的测试逻辑也有条件地运行。因为在创建观察者时自动创建分区,所以不需要更改分区或调度设置。您可以更改分区的名称,但是该名称在模型中必须是惟一的。

为条件子系统添加观察者

向条件子系统添加观察者的步骤如下:

  1. 在条件子系统中,右键单击要观察的信号。

  2. 选择观察人士>观察选定的信号>新观察家为信号创建一个观察者。

    或者,您可以选择要观察的信号,在省略号上暂停以打开操作栏,然后单击在新观察器中观察

    Simulink将观察者引用块添加到主模型中,并创建一个新的观察者模型。新的观察者模型包含一个非周期分区,该分区包含一个观察者端口块和一个终结者块。有关分区的信息,请参阅的“对模型进行分区”一节创建分区

    带有观察者端口和终止器块的非周期分区。

  3. 用验证块替换终止块,例如测试评估或验证子系统块,并将验证块连接到观察者端口输出。在验证块中添加逻辑,对条件子系统信号进行分析或验证。

  4. 从主模型运行模型,而不是从Observer模型。

观察条件子系统中的信号

这个例子展示了如何在条件子系统中为信号添加观察者。的ObserveCondSubsys本例中使用的模型包含一个正弦波控制信号作为Enabled子系统块的输入。只有当正弦输入为正时,Enabled子系统块才激活。

1.打开ObserveCondSubsys模型。

open_system (“ObserveCondSubsys”

observe_cond_subsys_model.png

2.打开Enabled Subsystem块。

3.选择Integrator块输出信号。在椭圆上暂停以打开操作栏,然后单击在新观察器中观察

observe_cond_subsys_addnewobserver.png

Simulink将观察者引用块添加到模型的顶层,并打开一个新的观察者模型。该模型有一个非周期分区,其中包含一个Observer Port块,其输出连接到一个Terminator块。

observe_cond_subsys_model_observer.png

new_obs_model.png

4.双击打开非周期分区。

5.用Test Assessment块替换终结者块。

observe_cond_subsys_partition.png

6.打开Test Assessment块。

7.删除step_1_1而且step_1_2

8.右键单击step_1并清除当分解复选框。

9.在step_1,添加验证(数据>= 0);

observe_cond_subsys_testassessment.png

10.关闭Test Assessment块。

11.转到主模型并单击运行

12.在模型运行之后,在MATLAB命令行中,使用这些命令查看结果。

run = Simulink.sdi.Run.getLatest;数据集= Simulink.sdi.exportRun(run.Id);= find(arrayfun(@(idx)…isequal(类(数据集{idx}),“sltest.Assessment”),…1: dataset.numElements));result = arrayfun(@(idx) dataset{idx}.Result, assessmentsignalindexes)

验证语句产生一个通过的结果,这表明Enabled子系统块及其关联的观察者只有在正弦输入为正时才活动。

The MathWorks, Inc.版权所有

限制

  • 一个非周期分区中只能有一个Observer Port。

  • 非周期分区名称在一个模型中必须是唯一的。

  • 不能在非周期分区中编辑调度触发器。

  • 您不能在日程安排编辑器中拖放或重新排列项目simulink.schedule.OrderedSchedule

  • 不能向观察者模型的非周期分区添加事件。

  • 分区子系统和函数调用子系统和For Each子系统块不支持观察器。

另请参阅

|

相关的话题

Baidu
map