Main Content

ステートと遷移の構文

アクションと条件を使用してチャート動作を表現する

ステート間の遷移が発生しアクションが実行されるタイミングを指定することにより、Stateflow® チャートの実行を制御します。イベントをブロードキャストすることにより、ステートの実行を同期します。データ値の変化を検出し、チャート実行時にどのステートがアクティブであるかをチェックします。

ブロック

すべて展開する

Chart有限ステート マシンで制御ロジックを実装
State Transition Tableモーダル ロジックを表形式で表現
Truth Table条件、判定、アクションを伴う論理的意思決定動作を表現

Stateflow の構文

すべて展開する

変化検出

hasChangedStateflow チャートで最後のタイム ステップ以降のデータの変化を検出
hasChangedFromStateflow チャートで指定した値からのデータの変化を検出
hasChangedToStateflow チャートで指定した値へのデータの変化を検出
changeStateflow チャートでデータの値の変化時に暗黙的イベントを生成

エッジ検出

crossingStateflow チャートで最後のタイム ステップ以降の、データの立ち上がりエッジまたは立ち下がりエッジを検出
fallingStateflow チャートで最後のタイム ステップ以降の、データの立ち下がりエッジを検出
risingStateflow チャートで最後のタイム ステップ以降の、データの立ち上がりエッジを検出

メッセージ アクティビティ

sendメッセージまたはイベントをブロードキャストする
receiveキューからメッセージを抽出する
discardメッセージを廃棄する
forwardメッセージを転送する
isvalidメッセージが有効かどうかを判定する
lengthメッセージ キューの長さを判定する

ステート アクティビティ

inステート アクティビティのチェック
enterステートがアクティブになった時点で暗黙的イベントを生成
exitステートが非アクティブになった時点で暗黙的イベントを生成

データ型の変換

boolean数値からブール値への変換
ascii2struint8 型の配列を string に変換する
str2asciistring を uint8 型の配列に変換する
str2doubleStateflow チャートでの string から倍精度値への変換
stringStateflow チャートでの値から string への変換
tostring値から string への変換
typeStateflow データ オブジェクトの型

string の作成と連結

blanks空白の文字配列
plusStateflow チャートでの string の連結
strcpystring 値を割り当てる
strcatstring を連結する

string データのプロパティ

isletterStateflow チャートでのアルファベット文字の判別
isspaceStateflow チャートでの空白文字の判別
isstringStateflow チャートで入力が string かどうかの判別
strlenstring の長さを特定する
strlengthStateflow チャートでの string の長さの特定

部分文字列の検索と置換

containsStateflow チャートで string に部分文字列が含まれているかの判別
startsWithStateflow チャートで string の先頭が部分文字列であるかの判別
endsWithStateflow チャートで string の末尾が部分文字列であるかの判別
strfindStateflow チャートの string 内の部分文字列の検索
extractAfterStateflow チャートの位置の後の部分文字列の抽出
extractBeforeStateflow チャートの位置の前の部分文字列の抽出
substrstring から部分文字列を抽出する
replaceStateflow チャートでの部分文字列の検索と置換
replaceBetweenStateflow チャートの開始点と終了点の間の部分文字列の置換
strrepStateflow チャートでの部分文字列の検索と置換
eraseStateflow チャートの string 内の部分文字列の削除
eraseBetweenStateflow チャートの開始点と終了点の間の部分文字列の削除
insertAfterStateflow チャートでの部分文字列の後への string の挿入
insertBeforeStateflow チャートでの部分文字列の前への string の挿入

string データの編集

lowerStateflow チャートで string を小文字に変換
upperStateflow チャートで string を大文字に変換
reverseStateflow チャートの string の文字順の反転
stripStateflow チャートでの string からの先頭と末尾の文字の削除
strtrimStateflow チャートでの string からの先頭と末尾の空白の削除

string データの比較

matchesStateflow チャートで 2 つの string が一致するかどうかの判定
strcmpStateflow チャートでの string の比較 (大文字小文字を区別する)
strcmpiStateflow チャートでの string の比較 (大文字小文字を区別しない)
strncmpStateflow チャートでの string の先頭 N 文字の比較 (大文字小文字を区別する)
strncmpiStateflow チャートでの string の先頭 N 文字の比較 (大文字小文字を区別しない)

時相論理

afterイベント ブロードキャスト後または指定時間後にチャートを実行
atイベント ブロードキャストまたは指定した時間でチャートを実行
beforeイベント ブロードキャスト前または指定した時間前にチャートを実行
every一定間隔でチャートを実行
durationStateflow チャートで条件が有効である時間
elapsedステートがアクティブになってからの時間
count条件が有効である状態でのチャートの実行回数
temporalCountステートがアクティブになってからのイベント数、チャートの実行回数、または時間

MATLAB コードとのインターフェイス

thisシミュレーション中のチャート データへのアクセス

トピック