主要内容

使用时间逻辑安排图表操作

定义状态流的行为®在模拟时间方面的图表包括时间逻辑运算符在图表的状态和转换操作中。时间逻辑运算符是内置的函数,可以告诉您状态仍然处于活动状态的时间长度,也可以仍然存在布尔条件。使用时间逻辑,您可以控制以下时间:

  • 国家之间的过渡

  • 职能调用

  • 变量值的变化

有关更多信息,请参阅使用操作定义图表行为

时间逻辑运算符

绝对时间逻辑最常见的运算符过去, 和期间

操作员 句法 描述

之后(n,sec)

回报真的如果N自相关状态的激活以来已经过仿真时间的秒。否则,操作员返回错误的

过去

经过(秒)

返回自相关状态激活以来经过的模拟时间的秒数。

期间

持续时间(c)

返回自布尔条件以来已经过去的模拟时间的秒数C成为真的

每次运算符都将其关联的计时器重置为零:

  • 包含操作员重新激活的状态。

  • 包含操作员重新激活的转换的源状态。

  • 布尔状况在a中期间操作员成为错误的

笔记

一些运营商,如,支金宝app持基于事件的时间逻辑和绝对时间的时间逻辑以秒为单位(),毫秒(MSEC.)和微秒(USEC.)。有关更多信息,请参阅使用时间逻辑控制执行图表执行

时间逻辑示例

此示例使用时间逻辑来绘制调节锅炉内部温度的Bang-Bang控制器。

该示例包括StateFlow Chart和Simulink®子系统。金宝appBang-Bang控制器图表将电流锅炉温度与参考设定点进行比较,并确定是否打开锅炉。锅炉工厂模型子系统模拟锅炉内的动态,根据控制器的状态增加或减少其温度。然后锅炉温度返回到控制器图表,以便进行仿真中的下一步。

Bang-Bang控制器图表使用时间逻辑运算符到:

  • 当锅炉在开启和断开之间交替调节Bang-Bang循环的时序。

  • 根据锅炉的操作模式,控制以不同速率闪烁的状态LED。

定义锅炉和LED子系统的行为的定时器在不堵塞或中断控制器的模拟的情况下独立地操作。

Bang-Bang循环的时间

Bang-Bang控制器图表包含一对代表锅炉的两种操作模式的替换器,离开。图表使用活动状态输出数据锅炉表示哪种子变电站有效。

图表建模Bang-Bang控制器。子图文显示为不透明框以隐藏图表的低级细节。

在过渡之间的标签离开Substates定义Bang-Bang控制器的行为。

过渡 标签 描述
离开 之后(20,秒) 过渡到离开在花20秒后的状态状态。
离开 (40,秒)[冷()] 当锅炉温度低于参考设定点时(当图形功能时寒冷的()回报真的),过渡到了在花费至少40秒后的状态离开状态。
离开 [加热器.Oon.warm()] 当锅炉温度处于或高于参考设定点(当图形功能时)加热器。on.warm()回报真的),过渡到了离开状态。

由于这些过渡动作,Bang-Bang循环的定时取决于锅炉的当前温度。在仿真开始时,当锅炉很冷时,控制器在40秒内花费40秒离开状态和20秒状态。当时T.= 478.秒,锅炉的温度达到参考点。从那一点开始,锅炉必须只能赔偿在其中的热量离开状态。然后控制器在40秒内花费40秒离开状态和4秒状态。

模拟数据检测器显示图表的输出。

状态LED的时间

离开州包含一个代表闪光通过动作保护的自循环过渡之后(5,秒)。因为这种过渡,当离开状态处于活动状态,Subdates执行其输入操作并调用图形功能flash_led.每5秒。该函数切换输出符号的值引领在0到1之间。

脱离代表。

状态调用图形功能flash_led.作为类型的国家行动恩,杜。当。。。的时候状态是活动的,它调用函数在仿真的每一步(在这种情况下,每秒),切换输出符号的值引领在0到2之间。

On Diallate。

结果,状态LED的定时取决于锅炉的操作模式。例如:

  • T.= 0.T.= 40秒,锅炉关闭了引领信号交替在0到1之间每5秒。

  • T.= 40T.= 60.秒,锅炉是打开的引领信号在每秒0到2之间交替。

  • T.= 60.T.= 100.秒,锅炉再次关闭引领信号交替在0到1之间每5秒。

模拟数据检测器显示图表的输出。

探索这个例子

使用额外的时间逻辑来调查如何随着锅炉的温度接近参考设定点的变化的时序如何变化。

  1. 输入调用的新状态操作过去期间运营商。

    • 在里面国家,让我们Timer1.是时间的长度国家是活跃的:

      EN,DU,EX:Timer1 =经过(秒)

    • 在里面离开国家,让我们Timer2.是锅炉温度在参考设定点或高于参考设定点的时间的长度:

      en,du,前:timer2 =持续时间(temp> =参考)

    标签恩,杜,前指示这些操作在相应状态处于活动状态时进行。

  2. 在符号窗格中,单击解决未定义的符号。StateFlow Editor解析了符号Timer1.Timer2.作为输出数据

  3. 为每个符号启用日志记录。在符号窗格中,选择每个符号。在物业检查员,下记录, 选择日志信号数据

    • Timer1.

    • Timer2.

  4. 在里面模拟选项卡,单击跑步

  5. 在里面模拟标签,下面审查结果, 点击数据检查员

  6. 在仿真数据检查器中,显示信号锅炉Timer1.在同一组轴上。情节表明:

    • Bang-Bang循环的阶段通常持续20秒当锅炉冷却时,锅炉温暖4秒。

    • 第一次锅炉达到参考温度时,循环过早中断,控制器保持在状态只有18秒。

    • 当锅炉温暖时,第一循环略短于后续周期,因为控制器保持在状态只有3秒钟。

    模拟数据检测器显示图表的输出。

  7. 在仿真数据检查器中,显示信号锅炉Timer2.在同一组轴上。情节表明:

    • 一旦锅炉温暖,它通常需要9秒钟来冷却离开Bang-Bang循环的阶段。

    • 第一次锅炉达到参考温度,需要多于凉爽(19秒)的两倍多。

    模拟数据检测器显示图表的输出。

较短的循环和更长的冷却时间是子句内部的结果状态。当锅炉首次达到参考温度时,过渡到高的规范将控制器保持在额外的时间步进,导致锅炉暖的暖气。在以后的循环,历史交界处导致阶段以活跃开始规范结肠。然后,控制器在锅炉达到参考温度后立即关闭,导致冷却器锅炉。

也可以看看

||

相关例子

更多关于