主要内容

Stateflowの連続時間モデル

ハイブリッドシステムでは,物理的なイベントおよび条件に応じて,モーダルロジックを使用してモードからモードへ遷移します。これらのシステムでは,各モ,ドは連続時間のダ,ナミクスによって制御されます。このタプのハブリッドシステムの簡単な例としては,跳ねるボルが挙げられます。ボ,ルは空中を連続的に運動し,地面に衝突した時点でモ,ドの変化,すなわ,不連続が発生します。その結果,ボ,ルは急激に方向や速度を変えます。詳細にいては,跳ねるボ,ルの連続時間でのモデル化を参照してください。

連続時間モデリング用の状态流®チャートを構成することにより,連続および離散のモードの変更に対応するハイブリッドシステムをシミュレートします。Stateflowチャートでは、モーダル ロジックを一連のステート、遷移およびフロー チャートとして簡潔かつ直観的に表すことができます。また、時間導関数への自動アクセスを含む連続ローカル変数として、状態情報を表すこともできます。

連続時間シミュレ,ションは,金宝appSimulink®モデルのstatflowチャ,トでのみサポ,トされます。連続システムにモーダルロジックが含まれていない場合は,仿金宝app真软件モデルの使用を検討してください。詳細にいては,簡単な連続システムのモデル作成(金宝app模型)を参照してください。

連続時間シミュレ,ション用のStateflowチャ,トの設定

Stateflowチャ,トの連続更新を有効にするには,状态流チャ,トのプロパティの指定の説明に従って,チャ,トの[更新方法]プロパティを[連続]に設定します。

既定では,ゼロクロッシング検出が有効です。このオプションを無効にするには,[ゼロクロッシング検出を有効にする]チェックボックスをオフにします。詳細にいては,ゼロクロッシング検出の無効化を参照してください。

メモ

連続時間モデリングには,摩尔チャ,トは使用できません。

金宝appソルバ,との相互作用

マナタムステップでのモドの保持

連続時間シミュレーション中は,Stateflowチャートのモードが更新されるのはメジャータイムステップでのみです。マイナータイムステップでは,チャートは最後のメジャータイムステップ中のチャートのステートに基づいて出力を計算します。詳細にいては,連続サンプル時間(金宝app模型)を参照してください。

各タ@ @ムステップでの連続状態の計算

ローカル連続変数を定義すると,Stateflowチャートを使用して,導関数にプログラムでアクセスできるようになります。金宝app仿真软件ソルバーは,前のタイムステップにおけるこれらの変数の値およびその導関数に基づいて,現在のタイムステップにおけるチャートの連続状態を計算します。詳細にいては,連続ソルバと離散ソルバ(金宝app模型)を参照してください。

ステ,ト遷移に対するゼロクロッシングの登録

ステート遷移が発生するタイミングを特定するために,Stateflowチャートはゼロクロッシング関数を仿真金宝app软件ソルバーに登録します。金宝app仿真软件がモードの変化を検出すると,ソルバーは,前のメジャータイムステップからの順方向検索により,ステート遷移が発生したタイミングを検出します。詳細にいては,ゼロクロッシング検出(金宝app模型)を参照してください。

ゼロクロッシング検出の無効化

ステート遷移でのゼロクロッシング検出では,精度とパフォーマンスの間にトレードオフが生じる可能性があります。ゼロクロッシングを検出する場合,金宝app仿真软件モデルはステップサイズを必要以上に削減することなく,正確にモード変化をシミュレートします。“チャタリング”(連続動作の2つのモード間での頻繁な変動)が発生するシステムでは,ゼロクロッシングの検出はシミュレーション時間に影響を及ぼす可能性があります。チャタリングに対し仿金宝app真软件モデルでゼロクロッシングの連続発生をチェックする必要があるため,シミュレーション速度が低下することがあります。このようなシミュレ,ションでは,以下を実行できます。

  • ゼロクロッシング検出を無効にする。

  • チャ,ト用に別のゼロクロッシング検出アルゴリズムを選択する。

  • 金宝appSimulinkモデルでゼロクロッシングの頻度を制御するパラメ,タ,を変更する。

[コンフィギュレ,ションパラメ,タ,]ダ,[ソルバ]ペ@ @ンでモデルのゼロクロッシングオプションを変更します。詳細にいては,ゼロクロッシング検出(金宝app模型)を参照してください。

連続時間シミュレションのガドラン

連続時間シミュレーションの結果の整合性と滑らかさを維持するには,チャートをStateflowチャートセマンティクスの制限付きサブセットに制限します。セマンティクスを制限することで,入力が以下のような予測不能な要素に依存しなくなります。

  • 金宝appSimulinkソルバが各メジャタムステップで使用するマナ間隔の数。

  • 積分およびゼロクロッシングのアルゴリズムを安定させるために必要な反復回数。

これらの副作用を最小にすることで,Stateflowチャートはマイナータイムステップではステートを維持し,メジャータイムステップ中にのみステートを更新できるようになります。これにより,Stateflowチャートは連続時間で一定のステートに基づいて出力を計算できるようになります。

連続時間チャトには少なくとも1のステトを含める

連続時間シミュレ,ション中,チャ,トでは,アクティブステ,トのアクションに相当するマ▪▪ナ▪▪タ▪▪ムステップで出力が更新されます。ステ,トを含まないチャ,トでは,出力が生成されません。連続時間でステ,トのないチャ,トの動作を再現するには,アクションでグラフィカル関数を呼び出す単一のステ,トを作成します。

ロ,カルデ,タは条目退出,遷移アクションで更新する

連続時間シミュレーションで精度を維持するには,ステート遷移に相当するメジャータイムステップ中にのみ,離散および連続のローカルデータを更新します。ステト遷移中は,以下のタプのアクションのみが発生します。

  • ステト退出アクション(遷移の開始時に,ステ,トからの出力前に発生)。

  • ステト条目アクション(遷移の終了時に,新しいステ,トへの入力後に発生)。

  • 遷移アクション(遷移中に発生)。

  • 遷移の条件アクション(遷移がステ,トに直接到達する場合のみ)。たとえば,次のチャ,トは,条件c2およびc3が偽の場合でも,アクションn + +を実行します。ステト遷移がないため、条件アクションはマイナー タイム ステップでnを更新し,エラ,になります。

    包含状态A、B和C的状态流图。

ステトアクションはマイナータイムステップで発生するため,このアクションではローカル連続データへの書き込みを行わないでください。

導関数はステ,トアクションで計算する

マナタムステップでは,連続時間チャトはステトアクションのみを実行します。金宝app仿真软件モデルはマイナータイムステップ中に連続時間導関数を読み込むため,最新の計算を提供するには,アクションで導関数を計算します。

ステトアクションまたは遷移条件では出力や導関数を読み込まない

マ▪▪ナ▪タ▪▪ムステップでは,出力と導関数に最新の値が反映されない可能性があります。出力を滑らかにするには,ローカル離散データ,ローカル連続データ,およびチャート入力から値を計算します。

ステトアクションまたは遷移条件内では金宝app関数を呼び出さない

マesc esc esc esc金宝app esc esc esc esc esc esc esc esc esc esc esc esc esc esc esc esc esc esc esc esc金宝appSimulink関数は,メジャ,タ,,まり,条目または退出アクション,および遷移アクションでのみ呼び出してください。ステトアクションまたは遷移条件で仿金宝app真软件関数を呼び出すと,シミュレーション中にエラーが発生します。詳細にいては,Stateflowチャ,トでのSi金宝appmulink関数の再利用を参照してください。

アクション内の条件は離散変数を使用して管理する

メジャタムステップ間でのモドの変化を防ぐために,アクションの制御フロ,に影響する条件は離散変数に依存します。離散変数は,メジャ,タ,ムステップ間で値が変化しません。

入力@ @ベントを使用しない

入力イベントが存在すると,チャートの動作は触发子系统と同様になり,連続時間でシミュレーションできなくなります。たとえば,チャ,トが連続更新方法を使用する場合は,以下のモデルはエラ,を生成します。

金宝app包含带有输入事件的状态流程图的Simulink模型。

入力电子邮箱ベントの動作を再現するには,打穿越ブロックを介して,連続時間チャ,トへの入力として入力信号を渡します。

金宝app包含状态流程图和命中交叉块的Simulink模型。

内部遷移を使用しない

連続時間シミュレ,ション中にモ,ドの変化が発生した場合は,遷移先ステ,トの条目アクションはステ,ト遷移が発生したことをS金宝appimulinkモデルに通知します。内部遷移では,チャ,トが条目アクションを実行することはありません。詳細にいては,内部遷移を参照してください。

時相論理の使用を制限する

連続時間シミュレーションにはチック(勾)という概念は存在しないため,イベントベースの時相論理は使用しないでください。連続時間シミュレ,ションでは,絶対時間の時相論理を使用してください。詳細にいては,時相論理を使用したチャ,ト実行の制御を参照してください。

変化検出演算子を使用しない

変化検出を実装するため,Stateflowは変数のバッファリングを実行します。この処理は,マイナータイムステップと次のメジャータイムステップの間でチャートの動作に影響を及ぼします。

操作点の値を変更しない

連続時間チャ,トの操作点は読み取り専用です。連続時間チャ,トの操作点を保存して,シミュレ,ションの初期状態として使用することができます。ただし,操作点のステ,トアクティビティやデ,タ値を変更することはできません。詳細にいては,操作点に関する制限を参照してください。

関連するトピック