利用时序逻辑控制图执行
时序逻辑控制图的执行时间。在国家行动和转换,可以使用两种类型的时序逻辑:
基于事件的时序逻辑重复事件。您可以使用任何显式或隐式事件作为基础事件。
绝对时间时序逻辑跟踪运行时间以来活跃状态。绝对时间时序逻辑操作符的时机取决于Stateflow的类型®图:
图表在仿真软件金宝app®模型定义绝对时间时序逻辑的仿真时间。
在MATLAB独立图表®定义绝对时间时序逻辑所,也仅限于1毫秒精度。
时序逻辑操作符
定义的行为Stateflow图基于时序逻辑,使用这个表中列出的运营商。这些操作符可以出现在:
状态
在
行动上的动作转换路径,源自一个状态
每个时序逻辑操作符都有一个关联的状态,这是国家的行动出现或产生过渡路径。Stateflow图重置计数器使用的每个操作符每次复活相关联的状态。
操作符 | 语法 | 描述 | 例子 |
---|---|---|---|
后 |
|
返回真正的 如果事件E 发生了至少n 次相关的活跃状态。否则,运营商的回报假 。 |
显示状态信息的图表处理广播事件
|
过渡的状态时,图表流程广播相关的事件 后(5 E) |
|||
|
返回 隐式的事件 |
相关的状态转换图醒来时至少以来第七次活跃状态,但前提是变量 蜱虫后(7日)(临时> 98.6) |
|
|
返回 在图仿真软件模型,指定时间间隔金宝app,以秒为单位( 在MATLAB独立图表中,指定时间间隔,以秒为单位( |
设置
|
|
在 |
|
返回真正的 如果事件E 发生完全n 次相关的活跃状态。否则,运营商的回报假 。 |
图表显示状态消息时第三广播事件的过程
|
过渡的状态时,图表流程第五广播相关的事件 在(E) |
|||
|
返回 隐式的事件 |
相关的状态转换图以来第七次醒来时开始活跃,但前提是变量 蜱虫(7日)(临时> 98.6) |
|
|
返回 使用 |
设置
|
|
之前 |
|
返回 时序逻辑操作符 |
图表显示状态消息时第一次和第二次广播事件的过程
|
过渡的状态时,图表流程广播相关的事件 前(5 E) |
|||
|
返回 隐式的事件 时序逻辑操作符 |
相关的状态转换图醒来时,但前提是变量 蜱虫(7日)(临时> 98.6) |
|
|
返回 指定时间在秒( 时序逻辑操作符 |
设置
|
|
每一个 |
|
返回 |
显示状态信息的图表流程每三广播事件
|
相关的状态转换图流程的每一个第五广播事件时 每一个(5 E) |
|||
|
返回 隐式的事件 |
每七转换的相关状态 每一个(7,蜱虫)(临时> 98.6) |
|
|
返回 使用 |
增加
|
|
temporalCount |
|
返回事件出现的次数 使用 |
连续访问数组的元素
|
temporalCount(勾选) |
返回图已经醒来的次数自相关的活跃状态。 隐式的事件 使用 |
存储的值的输入数据 恩,du: M (temporalCount(勾)+ 1)= u; |
|
|
返回的时间自相关的运行状态变得活跃。 指定时间在秒( |
存储以来的毫秒数状态变得活跃。 恩,du: y = temporalCount(微秒); |
|
运行 |
|
返回的时间自相关的运行状态变得活跃。 相当于 |
存储以来的秒数状态变得活跃。 恩,du: y =运行(sec); |
等 |
另一种方式来执行运行(sec) 。 |
当图表处理事件的广播 E {disp (et);} |
|
数 |
|
返回的次数,图表已经苏醒,自条件表达式 Stateflow图表的重置价值 在仿真软件模型,图表的价值金宝app |
转换相关的状态变量 [count (x > = 2) > 5] |
商店的数量图表执行自变量 恩,du: y = count (x > 5); |
|||
持续时间 |
|
返回的时间以来运行条件表达式 指定时间在秒( Stateflow图表的重置价值 时序逻辑操作符 |
转换的状态变量 (持续时间(x > = 0) > 0.1) |
存储变量以来的毫秒数 恩,du: y =持续时间(x > 5, msec); |
您可以使用引号将关键词“滴答”
,“秒”
,“msec”
,“购买”
。例如,“滴答”后(5)
相当于蜱虫后(5)
。
请注意
时序逻辑运算符后
,在
,之前
,每一个
比较阈值n
一个整数类型的内部计数器。如果n
是一个定点数定义为一个斜坡,不是两个或两个非零的整数次幂偏见,然后比较可以产生意想不到的结果由于舍入。有关更多信息,请参见关系为定点数据操作。
时序逻辑的例子
定义时间延迟
这个例子显示了如何定义两个绝对时间延迟连续时间图。
的执行表遵循这些步骤:
图表唤醒时,状态
输入
首先激活。模拟5.33毫秒的时间后,过渡
输入
来输出
发生。国家
输入
变得不活跃的状态输出
变得活跃。仿真时间10.5秒后,过渡
输出
来输入
发生。国家
输出
变得不活跃的状态输入
变得活跃。
重复步骤2到5仿真直到结束。
如果一个图有一个离散的样本,图中的任何行动发生在这个示例的整数倍时间。例如,如果模型®解算器使用一个固定的步骤金宝app大小为0.1秒,第一个从国家过渡输入
州输出
发生在t = 0.1秒。这种行为适用,因为解决不醒的图表在t = 5.33毫秒。相反,解决醒来图表0.1秒的整数倍,如t = 0.0和0.1秒。
检测时间
在这个例子中,一个一步(金宝app模型)块提供了单位阶跃输入Stateflow图。
图表决定当输入u
= 1:
如果输入= 1在t = 2秒之前,发生转变
开始
来快
。如果输入= 1在t = 2和t = 5秒之间,发生转变
开始
来媒介
。如果输入= 1 t = 5秒后,发生转变
开始
来慢
。
使用绝对时间的时序逻辑子系统启用
您可以使用绝对时间时序逻辑图,居住在一个有条件地执行子系统。子系统被禁用时,图表变得不活跃和时序逻辑操作符停顿图表时睡着了。操作员不继续计数仿真时间直到子系统使再能和图表是醒着的。
这个模型有一个子系统与启用州时启用参数设置为举行
。
子系统包含一个图表,使用后
运营商触发转换。
的信号编辑器(金宝app模型)块提供了一个输入信号与这些特征:
信号使子系统在t = 0。
信号禁用子系统在t = 2。
信号允许子系统在t = 6。
这个图表显示了运行的总时间的图表。当输入信号使子系统在时间t = 0时,状态一个
变得活跃。系统启用时,运行时间增加。禁用子系统在t = 2时,图表睡觉和时间停止增长。2 < t < 6日运行时间保持冻结在2秒,因为系统是禁用的。图表醒来时t = 6,时间又开始增加。
的过渡状态一个
州B
取决于运行时间时的状态一个
是主动,而不是仿真时间。因此,转变发生在t = 9,当状态的运行时间一个
= 5秒。当发生转变时,输出值y
从0到1的变化。
这个模型的行为只适用于子系统使块参数设置州时启用来举行
。如果你设置参数重置
子系统时,图表重新启动完全使再能。默认执行的转换和时序逻辑计数器重置为0。
基于事件的时序逻辑符号的转换
在Stateflow图表在仿真软件模型,操作符金宝app后
,在
,之前
金宝app支持两种不同的符号来表达基于事件的时序逻辑过渡。
触发符号定义了一个过渡,只取决于基础事件的时序逻辑操作符。触发符号遵循这种语法:
temporalLogicOperator(n, E) [C]
temporalLogicOperator
是一个逻辑时序逻辑操作。n
是操作员的发生数。E
的基础事件操作符。C
是一个可选的条件表达式。
当你使用触发符号,转换可能发生只有当图表流程基础事件的广播
E
。有条件的符号定义了一个过渡,取决于基础和nonbase事件。有条件的符号遵循这种语法:
F (temporalLogicOperator(n, E) & & C)
temporalLogicOperator
是一个逻辑时序逻辑操作。n
是操作员的发生数。E
的基础事件操作符。F
是一个可选nonbase事件。C
是一个可选的条件表达式。
当你使用条件与nonbase事件符号
F
,过渡会发生只有当图表流程广播F
。如果您省略nonbase事件,转变可能发生当图表处理任何显式或隐式的事件。条件符号为时序逻辑运营商不支持在MATLAB的独立的图表。金宝app
例如,这个过渡标签使用触发符号来表示一个过渡的状态时,图表流程相关基础事件的广播E
开始,在第五广播的E
后开始活跃状态。
后(5 E)
相比之下,这种转变标签使用条件的符号来表示一个过渡的相关状态时,状态已经活跃了至少五个基本事件的广播E
,即使图不是处理广播E
。
((5 E)后)
请注意
操作员每一个
金宝app支持触发和有条件的符号。然而,这两个符号是等价的运营商。过渡的标签每一个(5 E)
和(每一个(5 E))
显示转换的相关状态时,图表处理kth广播的基础事件E
后,国家开始活跃,k是5的倍数。
时序逻辑的最佳实践
不要使用时序逻辑上没有源状态过渡的路径
时序逻辑算子的价值取决于其相关联的状态时变得活跃。确保每一个时序逻辑操作符都有独特的关联状态,只使用这些操作符:
状态
在
行动上的动作转换路径,源自一个状态
不要使用时序逻辑操作符缺省转换或者转换图形功能,因为这些转换不是出自一个状态。
用绝对时间时序逻辑代替蜱虫
在图表金宝app模型
在仿真软件模型,图表延迟表达式金宝app的值,使用绝对时间时序逻辑语义模型的独立样本的时间。相比之下,推迟了时序逻辑表达式,使用基于隐式事件蜱虫
取决于使用的步长仿真软件求解器进行求解。金宝app
此外,绝对时间时序逻辑支持图表输入事件。金宝app隐式的事件蜱虫
不支持当Sta金宝appteflow图仿真软件模型输入事件。金宝app
不要使用在
绝对时间时序逻辑的图表金宝app模型
在图仿真软件模型,使用金宝app在
不支持作为一个绝对时间时序逻辑操作符。金宝app相反,使用后
操作符。例如,假设您想要定义一个时间延迟使用表达式(5.33秒)
。
为了防止运行时错误,改变标签的过渡后(5.33秒)
。
意想不到的结果对大参数值
如Stateflow绝对时间时序逻辑条件后(x, sec)
不评价真正的
在预期的时间进入状态后与下列条件:
图表有一个周期性离散采样时间。
图逻辑使大于保持活跃状态
2147418
单位的时间。时间的单位是最小的时间单位所使用的任何时序逻辑表达式。例如,如果政府有两个外向的转变,一个使用后(x, sec)
和其他使用(x, msec之后)
,时间的单位msec(毫秒)
。
通常,意想不到的结果发生在该州的时间长度大于2147418
单位的时间。然而,这可能会改变根据的样品时间图。
不要使用每一个
绝对时间时序逻辑的图表金宝app模型
在图仿真软件模型,使用金宝app每一个
不支持作为一个绝对时间时序逻辑操作符。金宝app相反,使用外部自身环过渡后
操作符。例如,假设你想打印状态消息期间为每2.5秒就有一个活动状态表执行。
为了防止运行时错误,用外部自身环过渡取代国家行动。
添加一个结在该州历史图表之前记得状态设置每个自身环过渡。看到简历之前亚态活动通过使用历史连接。
不要使用时序逻辑转型路径与多个源独立图表MATLAB
独立的图表在MATLAB上不支持使用时序逻辑操作符转换路径,有多个源状金宝app态。例如,这个独立的表产生一个运行时错误,因为时序逻辑表达式后(10秒)
触发转换路径,有多个源状态。
解决问题,使用时序逻辑表达式在不同的转型路径,每一个源状态。
避免混合绝对时间时序逻辑的转型路径和条件独立的图表MATLAB
在MATLAB独立图表中,运营商后
,在
,每一个
创建MATLAB计时器
对象生成隐式事件醒来的图表。结合这些操作符和条件相同的转型路径可能导致意想不到的行为:
如果一个条件过渡路径时是假的
计时器
醒来的图表,图表执行在
和在
行动的活动状态。图表不重置
计时器
与运营商相关的对象后
和在
。如果过渡路径上的条件成为真正在稍后的时间,不采取过渡到另一个显式或隐式事件醒来的图表。
例如,在这个图表,从国家的转型路径一个
州B
结合了绝对时间时序逻辑触发后(1秒)
和条件(保安)
。的过渡状态一个
州C
绝对时间时序逻辑触发后(5秒)
。每个转换与相关联计时器
对象生成一个隐式的事件。最初,局部变量警卫
是假
。
当您执行图,状态一个
变得活跃。图表执行条目
行动并显示消息你好!
。1秒后,计时器
相关的过渡一个
来B
醒来的图表。因为过渡是无效的,表执行在
动作的状态一个
并显示消息你好!
第二次。
假设,2秒后,图表接收输入事件E
。表执行在
动作的状态一个
和变化的价值警卫
来真正的
。因为图表不重置计时器
与运营商相关后
,从一个
来B
没有发生,直到另一个事件醒来的图表。
5秒后,计时器
相关的过渡一个
来C
醒来的图表。因为从一个
来B
是有效的,具有较高的执行顺序,图表并不需要过渡到状态C
或显示消息告别!
。相反,国家B
变得活跃和图表显示的消息再见!
。
使用图表离散样本时间更有效的代码生成
为离散图生成的代码没有在触发或启用子系统使用整数计数器跟踪仿真软件提供的时间而不是时间。金宝app这种行为可以更高效的代码生成的开销和内存,并使这段代码用于software-in-the-loop(银)和processor-in-the-loop(公益诉讼)模拟模式。有关更多信息,请参见银和公益诉讼模拟(嵌入式编码)。
另请参阅
后
|在
|之前
|每一个
|temporalCount
|运行
|数
|持续时间
|计时器
|信号编辑器(金宝app模型)|一步(金宝app模型)