Main Content

isvalid

メッセージが有効かどうかを判定する

説明

isvalid(message_name) は、入力メッセージまたはローカル メッセージが有効かどうかをチェックします。チャートがメッセージをキューから削除し、転送や廃棄を行っていない場合、そのメッセージは有効です。

すべて展開する

ステート A がアクティブな場合、メッセージ M を受け取ります。3 に等しいデータ値がメッセージに含まれている場合は、そのメッセージを廃棄します。続いて、ステート B がアクティブな場合、メッセージ M が引き続き有効であることをチェックします。メッセージが有効で、データ値が 6 に等しい場合は、メッセージを廃棄します。

ステート A では次のように指定します。

during:
   if receive(M) == true
      if M.data == 3
         discard(M);
      end
   end

ステート B では次のように指定します。

during:
   if isvalid(M) == true
      if M.data == 6
         discard(M);
      end
   end

Stateflow chart that uses the isvalid operator in two parallel states.

バージョン履歴

R2015b で導入