主要内容

利用时序逻辑控制图执行

时序逻辑控制图的执行时间。在国家行动和转换,可以使用两种类型的时序逻辑:

  • 基于事件的时序逻辑重复事件。您可以使用任何显式或隐式事件作为基础事件。

  • 绝对时间时序逻辑跟踪运行时间以来活跃状态。绝对时间时序逻辑操作符的时机取决于Stateflow的类型®图:

    • 图表在仿真软件金宝app®模型定义绝对时间时序逻辑的仿真时间。

    • 在MATLAB独立图表®定义绝对时间时序逻辑所,也仅限于1毫秒精度。

时序逻辑操作符

定义的行为Stateflow图基于时序逻辑,使用这个表中列出的运营商。这些操作符可以出现在:

  • 状态行动

  • 上的动作转换路径,源自一个状态

每个时序逻辑操作符都有一个关联的状态,这是国家的行动出现或产生过渡路径。Stateflow图重置计数器使用的每个操作符每次复活相关联的状态。

操作符 语法 描述 例子

后(n, E)

n是一个正整数或表达式,计算一个正整数的值。

E是运营商的基础事件。

返回真正的如果事件E发生了至少n次相关的活跃状态。否则,运营商的回报

显示状态信息的图表处理广播事件E开始,第三广播的E后开始活跃状态。

后(3 E): disp (“on”);

过渡的状态时,图表流程广播相关的事件E开始,在第五广播的E后开始活跃状态。

后(5 E)

后(n,蜱虫)

n是一个正整数或表达式,计算一个正整数的值。

返回真正的如果图至少醒来n次相关的活跃状态。否则,运营商的回报

隐式的事件蜱虫不支持当Sta金宝appteflow图仿真软件模型输入事件。金宝app有关更多信息,请参见控制图的行为通过使用隐式事件

相关的状态转换图醒来时至少以来第七次活跃状态,但前提是变量临时大于98.6。

蜱虫后(7日)(临时> 98.6)

后(n, sec)

(n, msec之后)

后(n,购买)

n是一个正实数或表达式,评估积极的真正价值。

返回真正的如果至少n单位时间以来运行相关的活跃状态。否则,运营商的回报

在图仿真软件模型,指定时间间隔金宝app,以秒为单位(证券交易委员会)、毫秒(msec)或微秒(购买)。

在MATLAB独立图表中,指定时间间隔,以秒为单位(证券交易委员会)。操作符创建一个MATLAB计时器对象生成一个隐式事件醒来图表。MATLAB计时器对象仅限于1毫秒精度。有关更多信息,请参见事件的独立的图表

设置临时变量来每次醒来的图表,当相关的状态是积极至少12.3秒。

后(12.3秒):temp =低;

在(n, E)

n是一个正整数或表达式,计算一个正整数的值。

E是运营商的基础事件。

返回真正的如果事件E发生完全n次相关的活跃状态。否则,运营商的回报

图表显示状态消息时第三广播事件的过程E后开始活跃状态。

在(3 E): disp (“on”);

过渡的状态时,图表流程第五广播相关的事件E后开始活跃状态。

在(E)

在(n,蜱虫)

n是一个正整数或表达式,计算一个正整数的值。

返回真正的如果图表已经完全醒来n次相关的活跃状态。否则,运营商的回报

隐式的事件蜱虫不支持当Sta金宝appteflow图仿真软件模型输入事件。金宝app有关更多信息,请参见控制图的行为通过使用隐式事件

相关的状态转换图以来第七次醒来时开始活跃,但前提是变量临时大于98.6。

蜱虫(7日)(临时> 98.6)

在(n, sec)

n是一个正实数或表达式,评估积极的真正价值。

返回真正的如果完全n秒的时间,相关的活跃状态。否则,运营商的回报

使用作为一个绝对时间时序逻辑操作符只支持在MATLAB的独立的图表。金宝app操作符创建一个MATLAB计时器对象生成一个隐式事件醒来图表。MATLAB计时器对象仅限于1毫秒精度。有关更多信息,请参见事件的独立的图表

设置临时变量来如果政府一直积极为精确到12.3秒。

在(12.3秒):temp =高;
之前

之前(n, E)

n是一个正整数或表达式,计算一个正整数的值。

E是运营商的基础事件。

返回真正的如果事件E发生不到n次相关的活跃状态。否则,运营商的回报

时序逻辑操作符之前只有在金宝app支持Stateflow图表在仿真软件模型。金宝app

图表显示状态消息时第一次和第二次广播事件的过程E后开始活跃状态。

之前(3 E): disp (“on”);

过渡的状态时,图表流程广播相关的事件E,但前提是国家一直积极少于五个广播的E

前(5 E)

之前(n,蜱虫)

n是一个正整数或表达式,计算一个正整数的值。

返回真正的如果图表已经苏醒,不到n次相关的活跃状态。否则,运营商的回报

隐式的事件蜱虫不支持当Sta金宝appteflow图仿真软件模型输入事件。金宝app有关更多信息,请参见控制图的行为通过使用隐式事件

时序逻辑操作符之前只有在金宝app支持Stateflow图表在仿真软件模型。金宝app

相关的状态转换图醒来时,但前提是变量临时大于98.6和图表以来醒来不到七次活跃状态。

蜱虫(7日)(临时> 98.6)

(n,秒前)

(n, msec之前)

之前(n,购买)

n是一个正实数或表达式,评估积极的真正价值。

返回真正的如果少于n单位时间以来运行相关的活跃状态。否则,运营商的回报

指定时间在秒(证券交易委员会)、毫秒(msec)或微秒(购买)。

时序逻辑操作符之前只有在金宝app支持Stateflow图表在仿真软件模型。金宝app

设置临时变量来地中海每次醒来的图表,但只有在相关国家一直积极减少12.3秒。

之前(12.3秒):temp =地中海;
每一个

每一个(n, E)

n是一个正整数或表达式,计算一个正整数的值。

E是运营商的基础事件。

返回真正的在每一个nth事件的发生E自相关的活跃状态。否则,运营商的回报

显示状态信息的图表流程每三广播事件E后开始活跃状态。

在每一个(3 E): disp (“on”);

相关的状态转换图流程的每一个第五广播事件时E后开始活跃状态。

每一个(5 E)

每一个(n,蜱虫)

n是一个正整数或表达式,计算一个正整数的值。

返回真正的在每一个nth时间图表醒来,因为相关的活跃状态。否则,运营商的回报

隐式的事件蜱虫不支持当Sta金宝appteflow图仿真软件模型输入事件。金宝app有关更多信息,请参见控制图的行为通过使用隐式事件

每七转换的相关状态蜱虫事件以来,国家开始活跃,但前提是变量临时大于98.6。

每一个(7,蜱虫)(临时> 98.6)

每一个(n, sec)

n是一个正实数或表达式,评估积极的真正价值。

返回真正的每一个n秒自相关的活跃状态。否则,运营商的回报

使用每一个作为一个绝对时间时序逻辑操作符只支持在MATLAB的独立的图表。金宝app操作符创建一个MATLAB计时器对象生成一个隐式事件醒来图表。MATLAB计时器对象仅限于1毫秒精度。有关更多信息,请参见事件的独立的图表

增加临时变量5每12.3秒,状态是活跃。

在每一个(12.3秒):temp = temp + 5;
temporalCount

temporalCount (E)

E是运营商的基础事件。

返回事件出现的次数E自相关的活跃状态。

使用temporalCount作为一个只支持基于事件的时序逻辑算子Stateflow图表在仿真软件模型。金宝app金宝app

连续访问数组的元素每一次的图表处理广播事件E

E: y = M (temporalCount (E));
temporalCount(勾选)

返回图已经醒来的次数自相关的活跃状态。

隐式的事件蜱虫不支持当Sta金宝appteflow图仿真软件模型输入事件。金宝app

使用temporalCount作为一个只支持基于事件的时序逻辑算子Stateflow图表在仿真软件模型。金宝app金宝app

存储的值的输入数据u在连续的元素数组中

恩,du: M (temporalCount(勾)+ 1)= u;

temporalCount (sec)

temporalCount(毫秒)

temporalCount(购买)

返回的时间自相关的运行状态变得活跃。

指定时间在秒(证券交易委员会)、毫秒(msec)或微秒(购买)。

存储以来的毫秒数状态变得活跃。

恩,du: y = temporalCount(微秒);
运行

运行(sec)

返回的时间自相关的运行状态变得活跃。

相当于temporalCount (sec)

存储以来的秒数状态变得活跃。

恩,du: y =运行(sec);
另一种方式来执行运行(sec)

当图表处理事件的广播E,过渡相关联的状态并显示运行时间自状态变得活跃。

E {disp (et);}

数(C)

C是一个表达式,计算真正的

返回的次数,图表已经苏醒,自条件表达式C成为真正的和相关的活跃状态。

Stateflow图表的重置价值运营商如果条件表达式C就变成了或者相关的状态变得不活跃。

在仿真软件模型,图表的价值金宝app可能取决于步长。改变模型的解算器或步长影响产生的结果操作符。

转换相关的状态变量x大于或等于2已经超过五表执行。

[count (x > = 2) > 5]

商店的数量图表执行自变量x大于5。

恩,du: y = count (x > 5);
持续时间

持续时间(C)

时间(C, sec)

持续时间(C,毫秒)

持续时间(C,购买)

  • C是一个表达式,计算真正的

返回的时间以来运行条件表达式C成为真正的和相关的活跃状态。

指定时间在秒(证券交易委员会)、毫秒(msec)或微秒(购买)。默认单位是秒。

Stateflow图表的重置价值持续时间运营商如果条件表达式C就变成了或者相关的状态变得不活跃。

时序逻辑操作符持续时间不支持在MAT金宝appLAB的独立的图表。

转换的状态变量x大于或等于0已经超过0.1秒。

(持续时间(x > = 0) > 0.1)

存储变量以来的毫秒数x大于5,国家开始活跃。

恩,du: y =持续时间(x > 5, msec);

您可以使用引号将关键词“滴答”,“秒”,“msec”,“购买”。例如,“滴答”后(5)相当于蜱虫后(5)

请注意

时序逻辑运算符,,之前,每一个比较阈值n一个整数类型的内部计数器。如果n是一个定点数定义为一个斜坡,不是两个或两个非零的整数次幂偏见,然后比较可以产生意想不到的结果由于舍入。有关更多信息,请参见关系为定点数据操作

时序逻辑的例子

定义时间延迟

这个例子显示了如何定义两个绝对时间延迟连续时间图。

的执行表遵循这些步骤:

  1. 图表唤醒时,状态输入首先激活。

  2. 模拟5.33毫秒的时间后,过渡输入输出发生。

  3. 国家输入变得不活跃的状态输出变得活跃。

  4. 仿真时间10.5秒后,过渡输出输入发生。

  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(公益诉讼)模拟模式。有关更多信息,请参见银和公益诉讼模拟(嵌入式编码)

另请参阅

|||||||||(金宝app模型)|(金宝app模型)

相关的话题