主要内容

編集時のモデリングエラ,の検出

編集時のチェックが有効にされている場合,チャ,トの作業を行う際に状态流®エディタ,によって潜在的なエラ,や警告が検出されます。これらの問題を設計プロセスの早期に解決することで,コンパイル時や実行時の警告およびエラーを回避できます。

Stateflowエディターで,編集時のチェックに違反するオブジェクトが赤(エラー)またはオレンジ(警告)で強調表示されます。強調表示されたオブジェクトにカーソルを合わせてエラーまたは警告のバッジをクリックすると,ツールヒントには詳細と,考えられる解決方法が表示されます。

編集時のチェックの管理

既定では,編集時のチェックと構文エラ,の強調表示は有効にされています。編集時のチェックを無効にするには,[デバッグ]タブで,[診断][編集時のエラ,と警告]チェックボックスをオフにします。edittime.setDisplayIssues(万博1manbetx模型)を使用して編集時のチェックを無効にすることもできます。

次の表は,[コンフィギュレションパラメタ]ダアログボックスの[診断](Stateflow)ペンの診断のコンフィギュレションパラメタに関連付けられた編集時のチェックの一覧です。

これらの編集時のチェックについて,診断アクションのレベルを制御するには,そのコンフィギュレーションパラメーターの値を[エラ][警告][なし]のいずれかに設定します。コンフィギュレーションパラメーターの設定を変更すると,対応する編集時のチェックの診断レベルも変更されます。たとえば,[到達不能の実行パス]コンフィギュレ,ションパラメ,タ,を没有一个に設定した場合,Stateflowエディターで未接続の遷移,遷移の優先順位低下,および到達不能なステートは強調表示されません。

ステ,トとサブチャ,トの編集時チェック

原子サブチャ,トにステ,トアクションが含まれている

  • 問題点:ステ,トアクションは,原子サブチャ,トではサポ,トされません。

  • 診断レベル:エラ。

  • 解決法:ステ,トアクションを削除するか,原子サブチャ,トのサブステ,トへ移動します。

    包含状态操作的原子子图。

デフォルト遷移が見からない

  • 問題点:排他的(或)構造と少なくとも2つのサブステートまたはジャンクションを含むチャートやステートでは,実行の開始位置を示すためにデフォルト遷移が必要です。

  • 診断レベル:エラ。

  • 解決法:デフォルト遷移を追加して開始ステ,トを指定します。詳細にいては,デフォルト遷移を使用した最初のサブステ,トアクティビティの指定を参照してください。

    没有默认转换的图表。

グラフィカル関数にステ,トが含まれている

無効な交差

  • 問題点:状态流エディタ,でステ,トおよびジャンクションがオ,バ,ラップしてはなりません。

  • 診断レベル:エラ。

  • 解決法:ステ,トとジャンクションを分離して交差を回避します。

    无效的状态交叉。

パラレルステ,トのリ,フステ,トアクティビティまたは子ステ,トアクティビティを監視

  • 問題点:パラレル(和)構造をもつチャートおよびステートでは,パラレルサブステートが同時にアクティブになるため,リーフステートや子ステートのアクティビティの監視はサポートされません。

  • 診断レベル:警告。

  • 解決法:[プロパティaapl . aapl . cn]またはモデルエクスプロ,ラ,を開きます。[監視する出力の作成]チェックボックスをオフにするか,ドロップダウンリストから[自己アクティビティ]を選択します。詳細にいては,アクティブステ,トデ,タによるステ,トアクティビティの監視を参照してください。

    监视子状态活动的状态中的并行子状态。

ステ,トに構文エラ,がある

  • 問題点:状态流構文ル,ルに従っていないステ,トアクションがあります。状态流エディタ,では,構文エラ,に赤の波線が引かれます。遷移に構文エラ,があるも参照してください。

  • 診断レベル:エラ。

  • 解決法:ステ,トアクションの構文エラ,を修正します。詳細にいては,ステ,トのアクションの定義を参照してください。

    包含语法错误的状态。

    メモ

    親チャートでは,構文エラーのあるサブチャートが赤で強調表示され,エラーバッジによって構文の問題が示されます。サブチャ,トのエディタ,では,構文エラ,が赤の波線で表示されますが,問題を示すバッジはありません。

到達不能なステ,ト

  • 問題点:あるステ,トに通じる有効な実行パスがないため,そのステ,トが"到達不能"です。

  • 診断レベル:コンフィギュレションパラメタ到達不能の実行パス(万博1manbetx模型)によって異なります。

  • 解決法:到達不能なステ,トを,到達可能な遷移元からの遷移に接続します。

    包含不可访问状态的图表。

遷移での編集時チェック

未接続の遷移

  • 問題点:すべての遷移には,有効な遷移先がなくてはなりません。

  • 診断レベル:コンフィギュレションパラメタ到達不能の実行パス(万博1manbetx模型)によって異なります。

  • 解決法:遷移をステ,ト,ジャンクション,または端子に接続します。詳細にいては,動作モ,ド間の遷移を参照してください。

    包含悬垂转换的图表。

デフォルト遷移パスがステ,トで終了しない

  • 問題点:排他的(或)構造と少なくとも1つのサブステートをもつチャートまたはステートでは,次のことが必要です。

    • デフォルト遷移パスのすべての分岐がサブステトにながらなければならない。

    • デフォルト遷移パスに条件でガドされず,か。

  • 診断レベル:コンフィギュレションパラメタ無条件のデフォルト遷移がない(万博1manbetx模型)によって異なります。

  • 解決法:デフォルト遷移パスのすべての分岐をサブステ,トで終了します。デフォルト遷移パスの分岐の1つが条件でガードされず,かつイベントでトリガーされないことを確認します。

    图表中没有无条件的默认转换分支到状态。

無効なデフォルト遷移パス

  • 問題点:デフォルト遷移パスは親ステ,トから出てはなりません。

  • 診断レベル:エラ。

  • 解決法:デフォルト遷移パスを変更して親ステ,ト内にとどまるようにします。

    具有无效默认转换路径的图表。

遷移に構文エラ,がある

このパスには条件アクションの前に遷移アクションがある

  • 問題点:遷移アクションがあり,後続の遷移に条件アクションがある場合,これらのアクションは遷移の順序では実行されません。Stateflowチャートは,関連付けられている条件が真と評価されたときに条件アクションを実行します。これとは対照的に,チャ,トが遷移アクションを実行するのは,遷移パスが完全に実行されたときのみです。その結果,チャ,トが遷移パスを実行すると,条件アクションが遷移アクションより前に発生します。

  • 診断レベル:コンフィギュレションパラメタ条件アクションの前に指定された遷移アクション(万博1manbetx模型)によって異なります。

  • 解決法:遷移アクションをパスの最後の条件アクションの後に置きます。

    转换路径,其中转换操作在条件操作之前。

遷移がパラレルステ,トで開始または終了する

  • 問題点:パラレル(和)構造のチャートやステートで,兄弟関係にあるすべてのサブステートが同時にアクティブ,または同時に非アクティブになっています。

  • 診断レベル:警告。

  • 解決法:遷移を削除するか,親ステ,トの構造を排他(或)に変更します。

    以并行状态开始或结束的转换。

遷移がボックスに接続する

  • 問題点:遷移はステ,トおよびジャンクションにのみ接続しなければなりません。

  • 診断レベル:エラ。

  • 解決法:ボックスに接続している遷移を移動または削除します。

    带有连接到方框的转场的图表。

遷移がパラレルステ,トにまたがっている

  • 問題点:MATLAB®のスタンドアロンチャ,トは,パラレルステ,トの境界をまたぐ遷移をサポ,トしていません。

  • 診断レベル:エラ。

  • 解決法:パラレルステ,トへの,またはパラレルステ,トからの境界をまたぐ遷移を削除します。

    带有跨越并行状态边界的转换的独立图表。

遷移がグラフィカル関数に出入りしている

  • 問題点:遷移はグラフィカル関数に入る,またはグラフィカル関数から出てはなりません。グラフィカル関数内のフロ,チャ,トは,関数内に完全に含まれていなければなりません。

  • 診断レベル:エラ。

  • 解決法:グラフィカル関数に入る,またはグラフィカル関数から出る遷移を削除します。

    包含进入和退出图形函数的转换的图表。

遷移が入口/出口端子に接続されていない

  • 問題点:遷移が,遷移元または遷移先の付近にある入口端子または出口端子に接続されていません。

  • 診断レベル:警告。

  • 解決法:遷移を端子に接続するか,遷移元または遷移先を別の位置に移動します。

    位于默认转换的目标点附近的入口端口。

自然な親を外れた遷移ル,プ

  • 問題点:遷移元と遷移先の間で遷移が親ステートの外に出る場合,遷移先ステートがアクティブになる前に,チャートが親ステートの退出アクションと条目アクションを実行します。

  • 診断レベル:コンフィギュレションパラメタ自然な親以外からの遷移(万博1manbetx模型)によって異なります。

  • 解決法:遷移を移動し,親ステ,トに含まれるようにします。

    超出父状态边界的子状态之间的转换。

遷移の優先順位低下

  • 問題点:同じ遷移元からの他の出力遷移の前に無条件遷移が実行されると,これによって他の遷移の実行が妨げられます。

  • 診断レベル:コンフィギュレションパラメタ到達不能の実行パス(万博1manbetx模型)によって異なります。

  • 解決法:各ステトまたはジャンクションからの無条件遷移は1のみ作成します。無条件遷移がどの条件付き遷移よりも後に実行されるように明示的に指定します。詳細にいては,遷移の評価順序を参照してください。

    用无条件转换遮蔽条件转换的图表。

在アクションまたは子ステトをもステト外の無条件パス

  • 問題点:ステ,トから外に出る無条件遷移により,ステ,ト内のアクションと,子ステ,トへの遷移の実行が妨げられます。

  • 診断レベル:コンフィギュレションパラメタ自然な親以外からの遷移(万博1manbetx模型)によって異なります。

  • 解決法:遷移の条件を追加するか,ステ,トから期间アクションと子ステ,トを削除します。

    在图表中使用一个过渡到一个状态,其中包含during动作,另一个过渡到一个状态,其中包含子状态。

ジャンクションでの編集時チェック

遷移アクションをも遷移がサクルに含まれる

  • 問題点:遷移アクションをも遷移をサクルに含めることはできません。

  • 診断レベル:エラ。

  • 解決法:遷移アクションを削除するか,遷移を削除してサ。

    循环中带有过渡动作的流程图。

無効なヒストリジャンクション

  • 問題点:ヒストリジャンクションは次の場合に"無効"になります。

    • ヒストリジャンクションが階層のチャ,トレベルに含まれている。

    • ヒストリジャンクションがパラレル(和)構造をもステトに含まれている。

    • ヒストリジャンクションがグラフィカル関数内に含まれている。

    • 同じステ,トに複数のヒストリジャンクションが含まれている。

    • ヒストリジャンクションが遷移元になっている。

  • 診断レベル:エラ。

  • 解決法:ヒストリジャンクションを階層のチャートレベル,パラレル(和)構造をもつステート,またはグラフィカル関数から削除します。1を残してすべてのヒストリジャンクションをステトから削除します。遷移元をコネクティブジャンクションまたはステ,トに移動します。詳細にいては,ヒストリジャンクションを使用した前のサブステ,トアクティビティの再開を参照してください。

    包含无效历史连接的图表。

サ▪▪クルからの無条件エスケ▪▪プがジャンクションにない

  • 問題点:ジャンクションにはサイクルからステートまたは終端ジャンクションへの無条件エスケープパスがなければなりません。

  • 診断レベル:エラ。

  • 解決法:ジャンクションからステ,トまたは終端ジャンクションへの無条件パスを作成します。

    没有从循环中无条件逃脱的结。

予期せぬバックトラッキング

  • 問題点:同じ遷移元からの複数の遷移パスが1つのジャンクションに通じており,そのジャンクションにステートまたは終端ジャンクションへの無条件パスがない場合に,制御フローの予期せぬバックトラッキングが発生する可能性があります。

  • 診断レベル:コンフィギュレションパラメタ予期せぬバックトラッキング(万博1manbetx模型)によって異なります。

  • 解決法:ジャンクションからステ,トまたは終端ジャンクションへの無条件パスを作成します。詳細にいては,フロ,チャ,トのバックトラックを参照してください。

    たとえば,このチャ,トで強調表示されたジャンクションには,ステ,ト一个への無条件パスがありません。ConditionAConditionBが真で,ConditionCが偽である場合,チャ,トはパスの最初のジャンクションに複数回バックトラッキングします。したがって,チャ:トは3の条件アクションを実行します。

    图表与意外回溯。

    バックトラッキングを避けるには,条件を組み合わせて2番目のジャンクションから遷移先ステートへの無条件パスを作成します。変更後に,チャ,トは1の条件アクションのみを実行します。

    没有意外回溯的图表。

到達不能なジャンクション

  • 問題点:ジャンクションは,そこに通じる有効な実行パスがない場合に"到達不能"になります。

  • 診断レベル:コンフィギュレションパラメタ到達不能の実行パス(万博1manbetx模型)によって異なります。

  • 解決法:到達不能なジャンクションを,到達可能な遷移元からの遷移に接続します。

    包含不可到达连接的图表。

関数での編集時チェック

関数が未使用

  • 問題点:関数は,これを呼び出すステ,トメントがない場合にチャ,トで"未使用"となります。

  • 診断レベル:警告。

  • 解決法:ステ,ト,遷移アクション,または別の関数からこの関数を呼び出します。

    包含未使用函数的图表。

関数の引数としてのキ,ワ,ドの使用が無効

  • 問題点:関数定義に予約済みのキ,ワ,ドが引数として使われています。

  • 診断レベル:エラ。

  • 解決法:関数の引数の名前を変更します。予約済みキワドの一覧にいては,状态流オブジェクトの命名のガ▪▪ドラ▪▪ンを参照してください。

    函数使用保留关键字作为参数。

入口端子と出口端子に関する編集時チェック

チャ,トの最上位にある入口または出口ジャンクション

  • 問題点:入口ジャンクションと出口ジャンクションは,排他(或)のステートと原子サブチャートでのみサポートされます。

  • 診断レベル:エラ。

  • 解決法:ジャンクションを排他(或)のステートまたは原子サブチャートに移動するか,ジャンクションを削除します。

    图表顶部的入口和出口连接。

入口ジャンクションにはステ,トへの無条件パスが必要

  • 問題点:入口ジャンクションには,条件でガードされていないか,イベントでトリガーされないデフォルト遷移パスが1つ必要です。

  • 診断レベル:エラ。

  • 解決法:入口ジャンクションからステ,トへの無条件パスを追加します。

    连接到状态的单个条件路径的入口结。

入口ジャンクションには出力遷移が必要

  • 問題点:入口ジャンクションが出力遷移パスに接続していません。

  • 診断レベル:エラ。

  • 解決法:遷移を入口ジャンクションに接続するか,そのジャンクションを削除します。

    不连接到过渡路径的入口结。

出口端子にはステ,トへの無条件パスが必要

  • 問題点:出口端子には,条件でガ,ドされていないか,1。

  • 診断レベル:エラ。

  • 解決法:出口端子からステ,トへの無条件パスを追加します。

    连接到某个状态的单个条件路径的退出端口。

出口端子には出力遷移が必要

  • 問題点:出口端子が出力遷移パスに接続していません。

  • 診断レベル:エラ。

  • 解決法:遷移を出口端子に接続するか,その端子を削除します。

    不连接转换路径的退出端口。

無効な入口または出口ジャンクション

  • 問題点:入口ジャンクションと出口ジャンクションは,排他(或)のステートと原子サブチャートでのみサポートされます。

  • 診断レベル:エラ。

  • 解決法:ジャンクションを排他(或)のステートまたは原子サブチャートに移動するか,ジャンクションを削除します。

    并行(and)状态的入口和出口连接。

入口または出口ジャンクションが見からない

  • 問題点:入口端子または出口端子には,一致する入口ジャンクションまたは出口ジャンクションが必要です。

  • 診断レベル:エラ。

  • 解決法:端子を削除するか,一致する同じラベルのジャンクションを作成します。

    没有匹配连接的入口和出口端口。

同じラベルをも複数の入口または出口ジャンクション

  • 問題点:同じ親をも入口ジャンクションと出口ジャンクションには,一意のラベルが必要です。

  • 診断レベル:エラ。

  • 解決法:ジャンクションのいずれかを削除するか,ラベルのいずれかを変更します。

    两个有相同标签in1的入口连接。

入口ジャンクションからのパスに終端ジャンクションが含まれている

  • 問題点:入口ジャンクションからの各パスはステ,トに繋がる必要があります。

  • 診断レベル:エラ。

  • 解決法:終端ジャンクションをステ,トに置き換えます。

    连接到终端结的入口结。

出口端子からのパスに終端ジャンクションが含まれている

  • 問題点:出口端子からの各パスはステ,トに繋がる必要があります。

  • 診断レベル:エラ。

  • 解決法:終端ジャンクションをステ,トに置き換えます。

    连接到终端结的出口端口。

入口ジャンクションからヒストリジャンクションへの遷移パス

  • 問題点:入口ジャンクションからの遷移パスをヒストリジャンクションに接続してはなりません。

  • 診断レベル:エラ。

  • 解決法:入口ジャンクションからヒストリジャンクションへのパスを削除します。

    连接到历史结点的入口结点。

内部遷移から出口ジャンクションへの遷移パス

  • 問題点:内部遷移パスを出口ジャンクションに接続してはなりません。

  • 診断レベル:エラ。

  • 解決法:内部遷移から出口ジャンクションへのパスを削除します。

    状态,该状态包含到出口端口的内部转换。

入口ジャンクションからの遷移パス,または出口ジャンクションへの遷移パスは,親に含まれている必要がある

  • 問題点:入口ジャンクションから開始する,または出口ジャンクションで終了する遷移パスは,親ステートに含まれている必要があります。

  • 診断レベル:エラ。

  • 解決法:親ステ,トに含まれるように遷移パスを変更します。

    在连接到出口结之前退出并重新进入状态的转换路径。

到達不能な端子またはジャンクション

  • 問題点:端子またはジャンクションに有効な実行パスが繋がっていない場合,端子またはジャンクションは"到達不能"です。

  • 診断レベル:コンフィギュレションパラメタ到達不能の実行パス(万博1manbetx模型)によって異なります。

  • 解決法:到達不能な入口端子または出口ジャンクションを,到達可能な遷移元からの遷移に接続します。

    包含不可到达的入口连接和端口的图表。

関連するトピック