Main Content

ステートと遷移の構文

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

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

ブロック

すべて展開する

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

Stateflow の構文

すべて展開する

変化検出

hasChanged最後のタイム ステップ以降のデータの変化を検出する
hasChangedFrom指定した値からのデータの変化を検出する
hasChangedTo指定した値へのデータの変化を検出する
changeデータの値の変化時に暗黙的イベントを生成

エッジ検出

crossing最後のタイム ステップ以降の、データの立ち上がりエッジまたは立ち下がりエッジを検出
falling最後のタイム ステップ以降の、データの立ち下がりエッジを検出
rising最後のタイム ステップ以降の、データの立ち上がりエッジを検出する

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

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

ステート アクティビティ

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

データ型の変換

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

string の作成と連結

blanks空白の文字配列
plusstring を連結する
strcpystring 値を割り当てる
strcatstring を連結する

string データのプロパティ

isletterアルファベット文字の判別
isspace空白文字の判別
isstring入力が string かどうかの判別
strlenstring の長さを特定する
strlengthstring の長さを特定する

部分文字列の検索と置換

containsstring に部分文字列が含まれているかの判別
startsWithstring の先頭が部分文字列であるかの判別
endsWithstring の末尾が部分文字列であるかの判別
strfindstring 内の部分文字列の検索
extractAfter位置の後の部分文字列の抽出
extractBefore位置の前の部分文字列の抽出
substrstring から部分文字列を抽出する
replace部分文字列の検索と置換
replaceBetween開始点と終了点の間の部分文字列の置換
strrep部分文字列の検索と置換
erasestring 内の部分文字列の削除
eraseBetween開始点と終了点の間の部分文字列の削除
insertAfter部分文字列の後への string の挿入
insertBefore部分文字列の前への string の挿入

string データの編集

lowerstring を小文字に変換
upperstring を大文字に変換
reversestring の文字順の反転
stripstring からの先頭と末尾の文字の削除
strtrimstring からの先頭と末尾の空白の削除

string データの比較

matches2 つの string が一致するかどうかの判定
strcmpstring の比較 (大文字小文字を区別する)
strcmpistring の比較 (大文字小文字を区別しない)
strncmpstring の先頭 N 文字の比較 (大文字小文字を区別する)
strncmpistring の先頭 N 文字の比較 (大文字小文字を区別しない)

時相論理

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

トピック