主要内容

時相論理を使用したチャ,ト実行の制御

時相論理は,時間の観点からチャ,トの実行を制御します。ステトアクションと遷移において、次の 2 つのタイプの時相論理を使用できます。

  • @ @ @ @ @ @ @ @ @ @ @ @ @ @。ベスベントとしては,どの明示的および暗黙的ベントでも使用できます。

  • 絶対時間の時相論理はステ,トがアクティブになってからの経過時間を追跡します。絶対時間の時相論理演算子のタaapl . aapl .ミングは状态流®チャトのタプによって異なります。

    • 万博1manbetx®モデル内のチャ,トは,絶対時間時相論理をシミュレ,ション時間で定義します。

    • MATLAB®のスタンドアロンチャ,トは,絶対時間時相論理を時計時間で定義します。この時間の精度は1ミリ秒に制限されています。

時相論理演算子

時相論理に基づいてStateflowチャートの動作を定義するには,次の表にある演算子を使用します。これらの演算子を使用できる場所は次のとおりです。

  • ステトアクション

  • ステ,トを起点とする遷移パス上のアクション

各時相論理演算子にはステ,トが関連付けられています。これは,アクションが実行されるステ,ト,または遷移パスの起点となるステ,トです。Stateflowチャ,トは、関連付けられたステートが再びアクティブになるたびに、各演算子で使用されるカウンターをリセットします。

演算子 構文 説明

后(n, E)

nは正の整数,または正の整数値として評価される式です。

Eは演算子のベスベントです。

関連付けられたステトがアクティブになってからのベントEの発生回数がn回以上である場合に真正的を返します。それ以外の場合,演算子はを返します。

チャトがベントEのブロ,ドキャストを処理すると,ステ,タスメッセ,ジを表示します。この処理はステトがアクティブになってから3番目以降のEのブロ,ドキャストで実行されます。

on after(3,E): disp(“on”);

チャトがベントEのブロ,ドキャストを処理すると,関連付けられたステ,トから遷移します。この処理はステトがアクティブになってから5番目以降のEのブロ,ドキャストで実行されます。

后(5 E)

后(n,蜱虫)

nは正の整数,または正の整数値として評価される式です。

関連付けられたステ,トがアクティブになってからのチャ,トの起動回数がn回以上である場合に真正的を返します。それ以外の場合,演算子はを返します。

万博1manbetxSimulinkモデル内のStateflowチャ,トに入力ベントがある場合,暗黙的ベント蜱虫はサポ,トされません。詳細にいては,暗黙的▪▪ベントを使用したチャ▪▪ト動作の制御を参照してください。

関連付けられたステートがアクティブになってからチャートが7回以上起動すると,このステートから遷移します。ただし,変数临时が98.6より大きい場合に限られます。

After (7,tick)[temp > 98.6]

后(n, sec)

(n, msec之后)

后(n,购买)

nは正の実数,または正の実数値として評価される式です。

関連付けられたステ,トがアクティブになってから少なくともn単位の時間が経過した場合に真正的を返します。それ以外の場合,演算子はを返します。

万博1manbetxSimulinkモデルのチャ,トでは,時間を秒単位(证券交易委员会),ミリ秒単位(msec),またはマ电子邮箱クロ秒単位(购买)で指定します。

Matlabのスタンドアロンチャ,トでは,時間を秒単位(证券交易委员会)で指定します。演算子は,チャートを起動するための暗黙的イベントを生成する MATLAB计时器オブジェクトを作成します。MATLAB计时器オブジェクトの精度は1ミリ秒に制限されます。詳細にいては,スタンドアロンチャトのベントを参照してください。

関連付けられたステ,トが12.3秒以上アクティブになった時点から,チャ,トが起動するたびに変数临时に設定します。

(12.3秒):temp = LOW;

在(n, E)

nは正の整数,または正の整数値として評価される式です。

Eは演算子のベスベントです。

関連付けられたステトがアクティブになってからのベントEの発生回数が厳密にn回である場合に真正的を返します。それ以外の場合,演算子はを返します。

ステトがアクティブになってから3番目のベントEのブロ,ドキャストをチャ,トが処理すると,ステ,タスメッセ,ジが表示されます。

on at(3,E): disp(“on”);

ステトがアクティブになってから5番目のベントEのブロ,ドキャストをチャ,トが処理すると,関連付けられたステ,トから遷移します。

在(E)

在(n,蜱虫)

nは正の整数,または正の整数値として評価される式です。

関連付けられたステ,トがアクティブになってからのチャ,トの起動回数が厳密にn回である場合に真正的を返します。それ以外の場合,演算子はを返します。

万博1manbetxSimulinkモデル内のStateflowチャ,トに入力ベントがある場合,暗黙的ベント蜱虫はサポ,トされません。詳細にいては,暗黙的▪▪ベントを使用したチャ▪▪ト動作の制御を参照してください。

関連付けられたステートがアクティブになってからチャートが7回起動すると,このステートから遷移します。ただし,変数临时が98.6より大きい場合に限られます。

At (7,tick)[temp > 98.6]

在(n, sec)

nは正の実数,または正の実数値として評価される式です。

関連付けられたステ,トがアクティブになってからの経過時間が厳密にn秒である場合に真正的を返します。それ以外の場合,演算子はを返します。

を絶対時間の時相論理演算子として使用することは,MATLABのスタンドアロンチャートでのみサポートされています。演算子は,チャ,トを起動するための暗黙的,ベントを生成するmatlab计时器オブジェクトを作成します。MATLAB计时器オブジェクトの精度は1ミリ秒に制限されます。詳細にいては,スタンドアロンチャトのベントを参照してください。

ステ,トが厳密に12.3秒アクティブだった場合に,変数临时に設定します。

on at(12.3,秒):temp = HIGH;
之前

之前(n, E)

nは正の整数,または正の整数値として評価される式です。

Eは演算子のベスベントです。

関連付けられたステトがアクティブになってからのベントEの発生回数がn回未満の場合に真正的を返します。それ以外の場合,演算子はを返します。

時相論理演算子之前は,万博1manbetxSimulinkモデル内のStateflowチャ,トでのみサポ,トされています。

ステトがアクティブになってから1番目と2番目のベントEのブロ,ドキャストをチャ,トが処理すると,ステ,タスメッセ,ジが表示されます。

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

チャトがベントEのブロ,ドキャストを処理すると,このステ,トから遷移します。ただし,ステ,トがアクティブだった,ベントEのブロドキャストが5回未満の場合に限られます。

前(5 E)

之前(n,蜱虫)

nは正の整数,または正の整数値として評価される式です。

関連付けられたステ,トがアクティブになってからのチャ,トの起動回数がn回未満の場合に真正的を返します。それ以外の場合,演算子はを返します。

万博1manbetxSimulinkモデル内のStateflowチャ,トに入力ベントがある場合,暗黙的ベント蜱虫はサポ,トされません。詳細にいては,暗黙的▪▪ベントを使用したチャ▪▪ト動作の制御を参照してください。

時相論理演算子之前は,万博1manbetxSimulinkモデル内のStateflowチャ,トでのみサポ,トされています。

チャ,トが起動すると,関連付けられたステ,トから遷移します。ただし,変数临时98.6がより大きく,ステートがアクティブになってからのチャートの起動回数が7回未満の場合に限られます。

前(7,勾)[temp > 98.6]

(n,秒前)

(n, msec之前)

之前(n,购买)

nは正の実数,または正の実数値として評価される式です。

関連付けられたステ,トがアクティブになってからn単位未満の時間が経過した場合に真正的を返します。それ以外の場合,演算子はを返します。

時間は、秒(证券交易委员会),ミリ秒(msec)またはマ龋クロ秒(购买)で指定します。

時相論理演算子之前は,万博1manbetxSimulinkモデル内のStateflowチャ,トでのみサポ,トされています。

チャ,トが起動するたびに変数临时地中海に設定します。ただし,関連付けられたステ,トがアクティブである時間が12.3秒未満である場合に限られます。

on before(12.3,秒):temp = MED;
每一个

每一个(n, E)

nは正の整数,または正の整数値として評価される式です。

Eは演算子のベスベントです。

関連付けられたステトがアクティブになってから,ベントEn回発生するごとに真正的を返します。それ以外の場合,演算子はを返します。

ステトがアクティブになった後のベントEのブロドキャストをチャトが3回処理するたびに,ステタスメッセジが表示されます。

on every(3,E): disp(“on”);

ステトがアクティブになった後のベントEのブロ,ドキャストをチャ,トが5回処理するたびに,関連付けられたステ,トから遷移します。

每一个(5 E)

每一个(n,蜱虫)

nは正の整数,または正の整数値として評価される式です。

関連付けられたステ,トがアクティブになってからチャ,トがn回起動するたびに真正的を返します。それ以外の場合,演算子はを返します。

万博1manbetxSimulinkモデル内のStateflowチャ,トに入力ベントがある場合,暗黙的ベント蜱虫はサポ,トされません。詳細にいては,暗黙的▪▪ベントを使用したチャ▪▪ト動作の制御を参照してください。

ステ,トがアクティブになった後に蜱虫。ただし,変数临时が98.6より大きい場合に限られます。

每(7,tick)[temp > 98.6]

每一个(n, sec)

nは正の実数,または正の実数値として評価される式です。

関連付けられたステ,トがアクティブになってからn秒ごとに真正的を返します。それ以外の場合,演算子はを返します。

每一个を絶対時間の時相論理演算子として使用することは,MATLABのスタンドアロンチャートでのみサポートされています。演算子は,チャ,トを起動するための暗黙的,ベントを生成するmatlab计时器オブジェクトを作成します。MATLAB计时器オブジェクトの精度は1ミリ秒に制限されます。詳細にいては,スタンドアロンチャトのベントを参照してください。

ステトがアクティブである時間が12.3秒経過するごとに変数临时の値を5増やします。

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

temporalCount (E)

Eは演算子のベスベントです。

関連付けられたステトがアクティブになってからのベントEの発生回数を返します。

temporalCountをイベントベースの時相論理演算子として使用することは,万博1manbetx仿真软件モデル内のStateflowチャートでのみサポートされています。

ベントEのブロ,ドキャストをチャ,トが処理するたびに,配列の連続する要素にアクセスします。

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

関連付けられたステ,トがアクティブになってからチャ,トが起動した回数を返します。

万博1manbetxSimulinkモデル内のStateflowチャ,トに入力ベントがある場合,暗黙的ベント蜱虫はサポ,トされません。

temporalCountをイベントベースの時相論理演算子として使用することは,万博1manbetx仿真软件モデル内のStateflowチャートでのみサポートされています。

配列の連続する要素における入力デ,タuの値を格納します。

en,du: M(temporalCount(tick)+1) = u;

temporalCount (sec)

temporalCount(毫秒)

temporalCount(购买)

関連付けられたステ,トがアクティブになってから経過した時間を返します。

時間は、秒(证券交易委员会),ミリ秒(msec)またはマ龋クロ秒(购买)で指定します。

ステ,トがアクティブになってからの経過時間をミリ秒単位で格納します。

en,du: y = temporalCount(msec);
运行

运行(sec)

関連付けられたステ,トがアクティブになってから経過した時間を返します。

temporalCount (sec)と等価です。

ステ,トがアクティブになってからの経過時間を秒単位で格納します。

En,du: y =流逝(秒);
运行(sec)の,代替の実行方法です。

チャトがベントEのブロードキャストを処理するときに,関連付けられたステートから遷移し,ステートがアクティブになってからの経過時間を表示します。

E {disp (et);}

数(C)

Cは,真正的またはとして評価される式です。

条件式C真正的になり,か関連付けられたステトがアクティブになってからの,チャトが起動した回数を返します。

状态流チャ,トは,条件式Cになるか,関連付けられたステ,トが非アクティブになると,演算子の値をリセットします。

万博1manbetxSimulinkモデルのチャ,トでは,の値はステップサ@ @ズに依存する場合があります。モデルのソルバまたはステップのサズを変更すると,演算子により生成される結果に影響が生じます。

5回を超えるチャトの実行で変数xの値が2以上になった場合,関連付けられたステ,トから遷移します。

[count(x>=2) > 5]

変数xの値が5より大きくなってからのチャ,トの実行回数を格納します。

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

持续时间(C)

时间(C, sec)

持续时间(C,毫秒)

持续时间(C,购买)

  • Cは,真正的またはとして評価される式です。

条件式C真正的になり,か関連付けられたステトがアクティブになってからの経過時間を返します。

時間は、秒(证券交易委员会),ミリ秒(msec)またはマ龋クロ秒(购买)で指定します。既定の単位は秒です。

状态流チャ,トは,条件式Cになるか,関連付けられたステ,トが非アクティブになると,持续时间演算子の値をリセットします。

時相論理演算子持续时间は,matlabのスタンドアロンチャ,トではサポ,トされていません。

変数xの値が0.1秒より長く0以上であった場合に,ステトから遷移します。

[duration(x>=0) > 0.1]

変数xが5より大きくなり,かステトがアクティブになってからの経過時間をミリ秒単位で格納します。

En,du: y = duration(x>5,msec);

引用符を使用してキ,ワ,ド“滴答”“秒”“msec”および“购买”を囲むことができます。たとえば,“滴答”后(5)蜱虫后(5)と同じです。

メモ

時相論理演算子之前,および每一个は,しきい値nを整数型の内部カウンタ,と比較します。nが2の整数乗でない勾配または非ゼロのバイアスにより定義された固定小数点数である場合,丸めにより,比較の結果が予期しないものになる可能性があります。詳細にいては,固定小数点デ,タの関係演算を参照してください。

時相論理の例

時間遅延の定義

次の例では,連続時間チャ,トで2の絶対時間遅延を定義する方法を示します。

チャ,トの実行は次の手順に従って行われます。

  1. チャ,トが起動すると,ステ,ト输入が最初にアクティブになります。

  2. シミュレ,ション時間5.33ミリ秒の経過後,输入から输出への遷移が発生します。

  3. ステト输入が非アクティブになり,ステ,ト输出がアクティブになります。

  4. シミュレション時間10.5秒の経過後,输出から输入への遷移が発生します。

  5. ステト输出が非アクティブになり,ステ,ト输入がアクティブになります。

シミュレ,ションが終了するまで,手順2 ~ 5が繰り返されます。

チャートに離散サンプル時間が設定されている場合は,チャートのすべてのアクションはこのサンプル時間の整数倍で発生します。たとえば,万博1manbetxSimulink®ソルバでサズ0.1秒の固定ステップを使用する場合,ステト输入からステ,ト输出への最初の遷移はt = 0.1秒で発生します。この動作が当てはまる理由は,ソルバーがt = 5.33ミリ秒の時点でチャートを起動しないからです。代わりに,ソルバーは 0.1 秒の整数倍 (t = 0.0 や 0.1 秒など) でチャートを起動します。

経過時間の検出

次の例では,一步(万博1manbetx模型)ブロックにより,Stateflowチャ,トへの単位ステップ入力が提供されています。

チャ,トは入力uが1に等しくなるときを判断します。

  • T = 2秒より前に入力が1に等しくなる場合は,开始からへの遷移が発生します。

  • T = 2 ~ 5秒の間に入力が1に等しくなる場合は,开始から媒介への遷移が発生します。

  • T = 5秒より後に入力が1に等しくなる場合は,开始からへの遷移が発生します。

已启用的子系统における絶対時間の時相論理の使用

条件付きで実行されるサブシステムに存在するチャ,トでは,絶対時間の時相論理を使用できます。サブシステムが無効になると,チャートが非アクティブになり,チャートがスリープ状態である間は時相論理演算子は停止します。サブシステムが再び有効になって,チャートが起動するまで,演算子はシミュレーション時間のカウントを停止します。

このモデルには,[huawei @ huawei @ huawei @ huawei @ huawei @ huawei]パラメ,タ,が举行に設定されている启用的子系统が含まれています。

このサブシステムには演算子を使用して遷移をトリガ,するチャ,トが含まれています。

信号编辑器(万博1manbetx模型)ブロックは,以下の特性をも入力信号を提供します。

  • この信号はt = 0でサブシステムを有効化します。

  • この信号はt = 2でサブシステムを無効化します。

  • この信号はt = 6でサブシステムを再有効化します。

このグラフは,チャ,トで経過した時間の合計を示しています。入力信号によってサブシステムがt = 0の時点で有効になると,ステ,ト一个がアクティブになります。システムが有効である間は,経過時間は増加します。サブシステムがt = 2で無効になると,チャートはスリープ状態に移行して,経過時間の増加が停止します。2 < t < 6の間は,システムが無効になっているため,経過時間は2秒のまま変わりません。T = 6でチャ,トが起動すると,経過時間は再度増加を始めます。

ステト一个からステ,トBへの遷移は,シミュレ,ション時間ではなく,ステ,ト一个がアクティブである間の経過時間に依存します。そのため,遷移はt = 9,まりステト一个での経過時間が5秒に等しくなった時点で発生します。遷移が発生すると,出力値yは0から1に変化します。

启用ブロックのパラメタ[huawei @ huawei @ huawei @ huawei @ huawei @ huawei]举行に設定したサブシステムでのみ,このモデルの動作が当てはまります。パラメ,タ,を重置に設定した場合は,チャ,トはサブシステムが再び有効になった時点で完全に再初期化されます。デフォルト遷移が実行されて,時相論理のカウンタ,は0にリセットされます。

遷移での▪▪ベントベ▪▪スの時相論理表記法

万博1manbetxSimulinkモデルのStateflowチャ,トでは,演算子之前は遷移でベントベスの時相論理を表現するための2種類の異なる表記をサポトしています。

  • “トリガ,表記法”は,時相論理演算子のベ,ス,ベントのみに依存する遷移を定義します。トリガ,表記法は,以下の構文に従います。

    temporalLogicOperator (n, E) [C]
    ここで,

    • temporalLogicOperatorは布尔值時相論理演算子です。

    • nは演算子の出現回数です。

    • Eは演算子のベスベントです。

    • Cはオプションの条件式です。

    トリガ表記法を使用する場合,遷移が発生する可能性があるのは,チャトがベスベントEのブロ,ドキャストを処理する時点のみです。

  • "条件表記法"は,ベスベントと非ベスベントに依存する遷移条件を定義します。条件表記法は,以下の構文に従います。

    F[temporalLogicOperator(n,E) && C]
    ここで,

    • temporalLogicOperatorは布尔值時相論理演算子です。

    • nは演算子の出現回数です。

    • Eは演算子のベスベントです。

    • Fはオプションの非ベスベントです。

    • Cはオプションの条件式です。

    非ベスベントFによる条件表記法を使用する場合,遷移が発生する可能性があるのは,チャ,トがFのブロ,ドキャストを処理する時点のみです。非ベスベントを省略した場合、遷移が発生する可能性があるのは、チャートが明示的または暗黙的イベントを処理している時点のみです。

    時相論理演算子の条件表記法は,matlabのスタンドアロンのチャ,トではサポ,トされていません。

たとえば,次の遷移ラベルはトリガ表記法を使用して,チャトがベスベントEのブロ,ドキャストを処理した時点で発生する,関連付けられたステ,トからの遷移を示します。ステトがアクティブになってから5番目以降のEのブロ,ドキャストが対象となります。

后(5 E)

一方で,次の遷移ラベルは条件表記法を使用して,5回以上のベ,ス,ベントEのブロードキャストでステートがアクティブだった場合に関連付けられたステートから遷移することを示します。この遷移はチャ,トがEのブロ,ドキャストを処理中でない場合でも実行されます。

((5 E)后)

メモ

演算子每一个はトリガ,表記法と条件表記法をサポ,トしています。ただし,この演算子にいては,この両方の表記法は等価です。遷移ラベル每一个(5 E)および(每一个(5 E))は、ステ、トがアクティブになってからベ、ス、ベントEのブロ,ドキャストを回処理すると(kは5の倍数),関連付けられたステトから遷移することを示します。

時相論理のベストプラクティス

遷移元ステ,トがない遷移パスで時相論理を使用しない

時相論理演算子の値は,関連付けられたステ,トがアクティブになった時点により異なります。すべての時相論理演算子に一意のステートが関連付けられるようにするには,これらの演算子を次の場所でのみ使用してください。

  • ステトアクション

  • ステ,トを起点とする遷移パス上のアクション

時相論理演算子は,デフォルト遷移や,グラフィカル関数での遷移で使用しないでください。これらの遷移はステ,トから発生していません。

万博1manbetxモデルのチャ,トでは蜱虫の代わりに絶対時間の時相論理を使用する

万博1manbetx仿真软件モデルのチャートでは,絶対時間の時相論理を使用する延迟式は,モデルのサンプル時間に意味的に依存しません。一方,明示的蜱虫に基づいて時相論理を使用する延迟式は,仿真软件ソ万博1manbetxルバーで使用されるステップサイズに依存します。

さらに,絶対時間の時相論理は,入力。万博1manbetxSimulinkモデル内のStateflowチャ,トに入力ベントがある場合,暗黙的ベント蜱虫はサポ,トされません。

万博1manbetxモデルのチャ,トで絶対時間の時相論理にを使用しない

万博1manbetxSimulinkモデルのチャ,トでは,を絶対時間の時相論理演算子として使用することはサポ,トされていません。代わりに演算子を使用します。たとえば,式(5.33秒)を使用して時間遅延を定義する必要があるとします。

使用at作为绝对时间时态逻辑算子的转换图表。

実行時エラ,を回避するには,遷移ラベルを后(5.33秒)に変更します。

使用after作为绝对时间时态逻辑运算符的转换图表。

大きいパラメ,タ,値に対する予期しない結果

后(x, sec)のようなStateflowの絶対時間での時相論理条件は,以下の条件をもつステートに入った後,想定された時間において真正的に評価されない場合があります。

  • チャ,トに周期的離散サンプル時間がある。

  • チャ,トのロジックによって,ステ,トが時間単位2147418より長い間アクティブなままとなる。時間単位とは,そのステ,トで使用されるすべての時相論理式において最小の時間単位です。たとえば,ステ:トに2の出力遷移があり,その1が后(x, sec)を使用し,もう1が(x, msec之后)を使用する場合,時間単位はmsec(毫秒)になります。

一般に,ステ,トの時間の長さが2147418より長い場合に,予期しない結果が発生します。ただし,これは,チャ,トのサンプル時間によって異なる場合があります。

万博1manbetxモデルのチャ,トで絶対時間の時相論理に每一个を使用しない

万博1manbetxSimulinkモデルのチャ,トでは,每一个を絶対時間の時相論理演算子として使用することはサポ,トされていません。代わりに,演算子を含む外部自己ル,プ遷移を使用してください。たとえば,チャート実行時に 2.5 秒間隔でアクティブ ステートのステータス メッセージを印刷する必要があると仮定します。

带有状态操作的图表,使用every作为绝对时间时态逻辑运算符。

実行時エラ,を回避するには,ステ,トアクションを外部の自己ル,プ遷移に置き換えます。

具有自循环转换的图表,使用after作为绝对时间时态逻辑运算符。

ステートにヒストリジャンクションを追加して,各自己ループ遷移の前にステート設定がチャートで記憶されるようにします。ヒストリジャンクションを使用した前のサブステ,トアクティビティの再開を参照してください。

MATLABのスタンドアロンチャ,ト内において複数の遷移元がある遷移パスで時相論理を使用しない

MATLABのスタンドアロンチャートでは,遷移元ステートが複数ある遷移パスでの時相論理の使用はサポートされません。たとえば,次のスタンドアロンチャ,トでは,時相論理式后(10秒)が複数の遷移元ステトをも遷移パスをトリガするため,実行時エラが発生します。

独立图表,包含从状态Positive和状态Negative到状态End的转换路径上的时间逻辑表达式。

この問題を解決するには,それぞれ1つの遷移元ステートをもつ複数の遷移パスに,個別に時相論理式を使用します。

在不同的过渡路径上使用时间逻辑表达式的独立图表。

MATLABのスタンドアロンチャ,トの遷移パスで絶対時間の時相論理と条件を併用しない

Matlabのスタンドアロンチャ,トでは,演算子,および每一个は,チャ,トを起動するための暗黙的,ベントを生成するmatlab计时器オブジェクトを作成します。同じ遷移パスでこれらの演算子を条件と組み合わせて使用すると,予期しない動作が発生する場合があります。

  • 计时器がチャ,トを起動した時点で遷移パスの条件が偽である場合,チャ,トはアクティブステ,トのおよびアクションを実行します。

  • チャ,トは演算子およびに関連付けられている计时器オブジェクトをリセットしません。この遷移パスの条件が後で真になった場合,別の明示的または暗黙的イベントがチャートを起動するまで,遷移は発生しません。

たとえば,次のチャ,トでは,ステ,ト一个からステ,トBへの遷移パスにより,絶対時間の時相論理トリガ后(1秒)と条件(保安)が組み合わされます。ステト一个からステ,トCへの遷移には,絶対時間時相論理トリガ后(5秒)があります。各遷移は,暗黙的计时器オブジェクトに関連付けられます。初期状態では,ロ,カル変数警卫です。

结合绝对时间时序逻辑触发器和同一过渡路径上的条件的图表。

チャ,トを実行すると,ステ,ト一个がアクティブになります。チャ,トは条目アクションを実行し,メッセ,ジ你好!が表示されます。1 秒後、一个からBへの遷移に関連付けられた计时器がチャ,トを起動します。遷移が無効なので,チャ,トはステ,ト一个アクションを実行し,メッセ,ジ你好!がもう一度表示されます。

2秒後にチャトが入力ベントEを受け取るものと仮定します。チャ,トはステ,ト一个を実行し,警卫の値を真正的に変更します。チャ,トは演算子に関連付けられている计时器をリセットしないため,一个からBへの遷移は,別の。

5 秒後、一个からCへの遷移に関連付けられた计时器がチャ,トを起動します。一个からBへの遷移が有効で,実行順序も高いため,チャ,トはステ,トCへの遷移を実行せず,メッセ,ジ告别!も表示されません。代わりに,ステ,トBがアクティブになり,チャ,トはメッセ,ジ再见!を表示します。

より効率的なコ,ド生成のための離散サンプル時間によるチャ,トの使用

触发子系统または启用子系统内にない離散チャート用に生成されたコードでは,仿真软件が提供する時間ではなく,整数カウンターを使用して時万博1manbetx間を追跡します。この動作により,オーバーヘッドおよびメモリの観点からより効率的なコード生成が可能になり,またSIL(ソフトウェアインザループ)および公益诉讼(プロセッサインザループ)のシミュレーションモードでこのコードが使用可能になります。詳細にいては,Silシミュレ,ションおよびpilシミュレ,ション(嵌入式编码)を参照してください。

参考

|||||||||(万博1manbetx模型)|(万博1manbetx模型)

関連するトピック