このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
時相論理は,時間の観点からチャートの実行を制御します。ステートアクションと遷移において、次の 2 つのタイプの時相論理を使用できます。
イベントベースの時相論理はイベントの反復実行を追跡します。ベースイベントとしては,どの明示的および暗黙的イベントでも使用できます。
絶対時間の時相論理はステートがアクティブになってからの経過時間を追跡します。絶対時間の時相論理演算子のタイミングはStateflow®チャートのタイプによって異なります。
金宝app®モデル内のチャートは,絶対時間時相論理をシミュレーション時間で定義します。
MATLAB®4时时代を时代时间で定义します。
时代に基因てextenfflowチャートの动作をするにはは,次の表にあるこれらを演算子ます使。
ステート在
アクション
ステートを起点とする遷移パス上のアクション
各時相論理演算子にはステートが関連付けられています。これは,アクションが実行されるステート,または遷移パスの起点となるステートです。Stateflowチャートは、関連付けられたステートが再びアクティブになるたびに、各演算子で使用されるカウンターをリセットします。
演算子 | 构文 | 说明 | 例 |
---|---|---|---|
后 |
|
関連付けられたステートがアクティブになってからのイベントE. のの生物数量がN 回以上である場合に真正的 を返します。それ户外の综合,演算子は错误的 を返します。 |
チャートがイベント 在(3,E)之后:disp ('上'); |
チャートがイベント 后(5 E) |
|||
|
関連付けられたステートがアクティブになってからのチャートの起動回数が 金宝app仿真软件モデル内のStateflowチャートに入力イベントがある場合,暗黙的イベント |
関連付けられたステートがアクティブになってからチャートが7回以上起動すると,このステートから遷移します。ただし,変数 蜱虫后(7日)(临时> 98.6) |
|
|
关键词付けられたステートアクティブになっなっからから 金宝appSimulinkモデルのチャートで,时间を秒単位( matlabののスタンドアロンアロンチャートで,时间を秒単位( |
关键词付けられたたステートががが秒以アクティブにたた点からからからからからから,チャートがが动词たびたび数 在(12.3,秒)之后:temp =低;
|
|
在 |
|
関連付けられたステートがアクティブになってからのイベントE. のの生物数が厳密にN 回回结合に真正的 を返します。それ户外の综合,演算子は错误的 を返します。 |
ステートがアクティブになってから3番目のイベント 在(3 E):disp ('上'); |
ステートステートがアクティブにになってからからからからの 在(E) |
|||
|
关键词付けられられたステートがアクティブになってからからチャートの起起起回回が厳密厳密 金宝app仿真软件モデル内のStateflowチャートに入力イベントがある場合,暗黙的イベント |
関連付けられたステートがアクティブになってからチャートが7回起動すると,このステートから遷移します。ただし,変数 蜱虫(7日)(临时> 98.6) |
|
|
关键词られられたたステートがアクティブになってからの経过経过経过厳密厳密
|
ステートが厳密に12.3秒アクティブだったたに,幂数 在在(12.3秒):temp =高;
|
|
之前 |
|
関連付けられたステートがアクティブになってからのイベント 時相論理演算子 |
ステートステートがアクティブになっなってからからからと2番目番目の 在之前(3 E):disp ('上'); |
チャートがイベント 前(5 E) |
|||
|
関連付けられたステートがアクティブになってからのチャートの起動回数が 金宝app仿真软件モデル内のStateflowチャートに入力イベントがある場合,暗黙的イベント 時相論理演算子 |
チャートが起動すると,関連付けられたステートから遷移します。ただし,変数 蜱虫(7日)(临时> 98.6) |
|
|
関連付けられたステートがアクティブになってから 時間は秒( 時相論理演算子 |
チャートが起动するたびに数 在前(12.3秒):temp = med;
|
|
每一个 |
|
关键词付けられられたステートがアクティブになって,イベント |
ステートステートがアクティブにになったのの 在每一个(3 E):disp ('上'); |
ステートステートがアクティブにになったのの 每(5,e) |
|||
|
关键词付け付けられたステートがアクティブになってからチャートチャートチャート 金宝app仿真软件モデル内のStateflowチャートに入力イベントがある場合,暗黙的イベント |
ステートがアクティブになった後に 每(7,刻度)[温度> 98.6] |
|
|
関連付けられたステートがアクティブになってから
|
ステートがアクティブである時間が12.3秒経過するごとに変数 在每一个(12.3秒):temp = temp + 5;
|
|
temporalCount |
|
関連付けられたステートがアクティブになってからのイベント
|
イベント
|
临时(勾选) |
关键词アクティブになっなっがにになっからからがしししからたますますしし返します返し返し返し 金宝app仿真软件モデル内のStateflowチャートに入力イベントがある場合,暗黙的イベント
|
配列 en,du: M(temporalCount(tick)+1) = u; |
|
|
关键词にになっがにになっにたたたたたたたた间 時間は秒( |
ステートがアクティブになってからの経過時間をミリ秒単位で格納します。 en,du: y = temporalCount(msec); |
|
运行 |
|
关键词にになっがにになっにたたたたたたたた间
|
ステートがアクティブになっての経过経过経过経过でで格式します。 恩,du:y =经过(秒); |
ET. |
运行(sec) の,代替代替の行方法です。 |
チャートがイベント E {disp (et);} |
|
数数 |
|
条件式 Stateflowチャートは,条件式 金宝app仿真软件モデルのチャートでは, |
5回回を超えるチャートチャートの実で [计数(x> = 2)> 5] |
変 En,du: y = count(x>5); |
|||
期间 |
|
条件式 Stateflowチャートは,条件式 時相論理演算子 |
変 [持续时间(x> = 0)> 0.1] |
変 En,du: y =持续时间(x>5); |
使用符符を使てキーワード“滴答”
那'秒'
那'msec'
および'USEC'
を囲むことができます。たとえば,“滴答”后(5)
は蜱虫后(5)
ととです。
メモ
時相論理演算子后
那在
那之前
,および每一个
は,しきい値N
を驰数型の内部とと比较します。N
が,2の整乘乘または非非のバイアスにより定义れた小数数码であるであるであるにより,比较の结果がないものなる结果性ありますますます。固定小数点データの关键词を参照してください。
次の例では,連続時間チャートで2つの絶対時間遅延を定義する方法を示します。
チャートチャート実行は次の手顺に従ってれ行。
チャートが起動すると,ステート输入
が最初にアクティブになります。
シミュレーション時間5.33ミリ秒の経過後,输入
から输出
への遷移が発生します。
ステート输入
が非アクティブになり,ステート输出
がアクティブになります。
シミュレーション时间10.5秒の経过后,输出
から输入
への遷移が発生します。
ステート输出
が非アクティブになり,ステート输入
がアクティブになります。
シミュレーションが終了するまで,手順2 ~ 5が繰り返されます。
チャートにれている场,チャートのすべてのはこのサンプル,simulink®ソルバーサイズサイズ0.1,チャートの®がサイズ0.1金宝app。パラメーターを変更する仮定しますますますその合,ステート输入
からステート输出
への最初の遷移はt = 0.1秒で発生します。この動作が当てはまる理由は,ソルバーがt = 5.33ミリ秒の時点でチャートを起動しないからです。代わりに,ソルバーは 0.1 秒の整数倍 (t = 0.0 や 0.1 秒など) でチャートを起動します。
次の例では,一步(金宝appSimulink)ブロックにより,Stateflowチャートへの単位ステップ入力が提供されています。
チャートは入力你
が1に等しくなるときを判断します。
t = 2秒より前に入力が1に等しくなる場合は,开始
から快速地
への遷移が発生します。
t = 2 ~ 5秒の間に入力が1に等しくなる場合は,开始
から媒介
への遷移が発生します。
t = 5秒より後に入力が1に等しくなる場合は,开始
から慢
への遷移が発生します。
条件条件付きで実ささサブシステムににに存ででシステムははでではははの相论相论を使使できががになるなるとますシステムがになるととできます非ににとと相论サブ非アクティブになりなり相论相论相论サブアクティブにになりなり相论相论が非アクティブになりなり相论重算サブ子は停止します。サブシステムが再び有象になっ,チャートが动弹する,演算子はシミュレーション时间のカウント停止します。
このモデルには,[イネーブル時の状態]パラメーターが举行
に設定されていがる启用子系统含まれています。
このサブシステムには后
演算子の使使し迁移をトリガーするが含まれていますます含まれています。
信号编辑器(金宝appSimulink)ブロックは,以下の特性をもつ入力信号を提供します。
この信号はT= 0でサブシステムを有效化。
この信号はT= 2ででサブシステムを无效しし
この信号はt = 6でサブシステムを再有効化します。
このグラフは,チャートで経過した時間の合計を示しています。入力信号によってサブシステムがt = 0の時点で有効になると,ステート一种
がアクティブになります。システムが有効である間は,経過時間は増加します。サブシステムがt = 2で無効になると,チャートはスリープ状態に移行して,経過時間の増加が停止します。2 < t < 6の間は,システムが無効になっているため,経過時間は2秒のまま変わりません。t = 6でチャートが起動すると,経過時間は再度増加を始めます。
ステート一种
からステートB.
への迁移迁移,シミュレーション时间ではなく,ステート一种
がアクティブである间の経过时间ににします。そのその,迁移迁移t = 9,つまりステート一种
での経過時間が5秒に等しくなった時点で発生します。遷移が発生すると,出力値y
は0から1に変化します。
使ブロックのパラメーター[イネーブル時の状態]を举行
にに设定したサブシステムでのみ,このモデルの动作がはまります。重置
デフォルトはサブシステムが再びにに実たさます完全迁移実実て,时尚理留てますリセットされて。
金宝app仿真软件モデルのStateflowチャートでは,演算子后
那在
那之前
は遷移でイベントベースの時相論理を表現するための2種類の異なる表記をサポートしています。
“トリガー表記法”は,时代理事子のイベントイベントに依存迁移し定义ますます迁移定义ししはトリガー定义ししは従い従い定义しし。
TemporalLogicoperator(n,e)[c]
temporallogicoperator
は布尔時相論理演算子です。
N
は演算子の出現回数です。
E.
は演算子のベースイベントです。
C
はオプションの条件式です。
トリガー表記法を使用する場合,遷移が発生する可能性があるのは,チャートがベースイベントE.
のブロードキャストを処理する時点のみです。
“条件表记法”は,ベースイベントと非ベースイベントに依存する遷移条件を定義します。条件表記法は,以下の構文に従います。
f [TemporalLogoperator(n,e)&& c]
temporallogicoperator
は布尔時相論理演算子です。
N
は演算子の出現回数です。
E.
は演算子のベースイベントです。
F
はオプションの非ベースですです。
C
はオプションの条件式です。
非ベースイベントF
による条件表記法を使用する場合,遷移が発生する可能性があるのは,チャートがF
のブロードキャストを処理する時点のみです。非ベースイベントを省略した場合、遷移が発生する可能性があるのは、チャートが明示的または暗黙的イベントを処理している時点のみです。
時相論理演算子の条件表記法は,MATLABのスタンドアロンのチャートではサポートされていません。
たとえば,次の遷移ラベルはトリガー表記法を使用して,チャートがベースイベントE.
�E.
ののブロードキャストがが対象となりなり
后(5 E)
一方で,次の遷移ラベルは条件表記法を使用して,5回以上のベースイベントE.
のブロードキャストでステートがアクティブだった場合に関連付けられたステートから遷移することを示します。この遷移はチャートがE.
ののブロードキャストをををををでないでで実実れれ
[(5,e)后]
メモ
演算子每一个
はトリガー表記法と条件表記法をサポートしています。ただし,この演算子については,この両方の表記法は等価です。遷移ラベル每(5,e)
および(每一个(5 E))
は,ステートステートがアクティブににてからベースE.
のブロードキャストをk回処理すると(kは5の倍数),関連付けられたステートから遷移することを示します。
時相論理演算子の値は,関連付けられたステートがアクティブになった時点により異なります。すべての時相論理演算子に一意のステートが関連付けられるようにするには、これらの演算子を次の場所でのみ使用してください。
ステート在
アクション
ステートを起点とする遷移パス上のアクション
時相論理演算子は,デフォルト遷移や,グラフィカル関数での遷移で使用しないでください。これらの遷移はステートから発生していません。
蜱虫
の代わりに絶対時間の時相論理を使用する金宝appsimulinkモデルのチャートで,绝対时间の时尚原因する用する延迟式は,モデルのサンプル时空に的にしません。一方,明显的イベント蜱虫
に基因て时代配偶する延迟式式,SIMULINKソ金宝appルバーソルバー使使依存しししれるれるステップサイズにししし
さらに,絶対時間の時相論理は,入力イベントがあるチャートでサポートされています。金宝app仿真软件モデル内のStateflowチャートに入力イベントがある場合,暗黙的イベント蜱虫
はサポートされません。
在
を使用しない金宝app仿真软件モデルのチャートでは,在
を絶対時間の時相論理演算子として使用することはサポートされていません。代わりに后
演算,式,式在(5.33,秒)
を使用して時間遅延を定義する必要があるとします。
実行時エラーを回避するには,遷移ラベルを之后(5.33,秒)
に変更します。
每一个
を使用しない金宝app仿真软件モデルのチャートでは,每一个
を絶対時間の時相論理演算子として使用することはサポートされていません。代わりに,后
演算子を含む外部自己ループ迁移を使くださいくださいください。たとえば,チャート実行时に2.5空间隔隔でアクティブステートステータスを印刷する必要ががしし必要しししますしししししし
実行時エラーを回避するには,ステートアクションを外部の自己ループ遷移に置き換えます。
ステートにヒストリジャンクションを追加して,各自己ループ遷移の前にステート設定がチャートで記憶されるようにします。ヒストリジャンクションを使使用したステートアクティビティの记录を参照してください。
MATLABのスタンドアロンチャートでは,遷移元ステートが複数ある遷移パスでの時相論理の使用はサポートされません。たとえば,次のスタンドアロンチャートでは,時相論理式之后(10,秒)
が複数の遷移元ステートをもつ遷移パスをトリガーするため,実行時エラーが発生します。
この問題を解決するには,それぞれ1つの遷移元ステートをもつ複数の遷移パスに,個別に時相論理式を使用します。
MATLABのスタンドアロンチャートでは,演算子后
那在
,および每一个
は,チャートを起動するための暗黙的イベントを生成するMATLAB计时器
オブジェクトを作成します。同じ遷移パスでこれらの演算子を条件と組み合わせて使用すると,予期しない動作が発生する場合があります。
计时器
がチャートを起動した時点で遷移パスの条件が偽である場合,チャートはアクティブステートの在
および在
アクションを実行します。
チャートは演算子后
および在
に関連付けられている计时器
オブジェクトをリセットしません。この遷移パスの条件が後で真になった場合,別の明示的または暗黙的イベントがチャートを起動するまで,遷移は発生しません。
たとえば,次次のチャートで,ステート一种
からステートB.
への迁移パスパス,绝対时间の时钟理工之后(1,秒)
と条件(保安)
が組み合わされます。ステート一种
からステートC
への迁移には,绝対时间时间相论理解之后(5,秒)
があります。各迁移は,暗黙的イベントを生成する计时器
オブジェクトに关键词られます。初期状态では,ローカル函数警卫
は错误的
です。
チャートを実行すると,ステート一种
がアクティブになります。チャートチャート条目
アクションを実行し,メッセージ'你好!'
が表示されます。1 秒後、一种
からB.
への遷移に関連付けられた计时器
がチャートを起します。迁移迁移が无效な,チャートはステート一种
の在
アクションを実行し,メッセージ'你好!'
がもう一度表示さます。
2秒後にチャートが入力イベントE.
をを受け取るものと仮定仮定しチャートはは一种
で在
を実行し,警卫
の値を真正的
に変更します。チャートチャートは子后
に関連付けられている计时器
をリセットしないため,一种
からB.
への遷移は,別のイベントがチャートを起動するまで発生しません。
5秒后,一种
からC
への遷移に関連付けられた计时器
がチャートを起動します。一种
からB.
への迁移が有机,実行顺序高度ため,チャートはステートC
へへの迁移を実実せ,メッセージ'告别!'
も表示されません。代わり代わり,ステートB.
がアクティブになり,チャートはメッセージ'再见!'
を表示します。
触发子系统または启用子系统内にない离散チャートチャート用で,simulinkが提供するたコード,整整カウンター使使してをします。当金宝app动作によりますて追迹追迹ます。的なコード生成が可能なり,またsil(ソフトウェアインザループ)およびpil(プロセッサインプロセッサイン)ののモードでこのコードについてにます。SILシミュレーションおよびpilシミュレーション(嵌入式编码)を参照してください。
后|在|之前|数数|期间|运行|每一个|temporalCount|计时器
|信号编辑器(金宝appSimulink)|一步(金宝appSimulink)