主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

対話によるモデルのシミュレーション

シミュレーションの基礎

金宝app®エディターでモデルをシミュレートするには,ツールストリップの[実行]ボタンを使用します。[実行]ボタンは,金宝app仿真软件エディター内のツールにも表示されます。范围ビューアーのような,このボタンが含まれる任意のツールからシミュレートが可能です。

シミュレーションを開始する前に,シミュレーションの開始時間,終了時間,モデルを解くためのソルバーなどのオプションを指定できます(ソルバーの選択基準を参照)。これらのオプションは,[モデル化)タブの[モデル設定)をクリックして開くことができる[コンフィギュレーションパラメーター]ダイアログボックスで指定します。これらの設定は,モデルと共に“コンフィギュレーションセット”に保存されます。各モデルに対して複数のコンフィギュレーションセットを作成し,それらを切り替えてさまざまな設定の効果を確認できます。モデルコンフィギュレーションセットを参照してください。

既定の設定で,シミュレーションは0.0秒で開始し,10.0秒で終了します。

メモ

金宝app仿真软件ソフトウェアでは,時間と関連するすべてのパラメーター(サンプル時間など)は暗黙的に秒単位で表示されます。別の時間単位を使用する場合は,必要に応じてパラメーターをスケールします。

[ソルバー]コンフィギュレーションペインを使用すると,現在選択されているシミュレーションコンフィギュレーションに対して別の開始時間および終了時間を指定できます。詳細については,[ソルバー]ペインを参照してください。

メモ

シミュレーション時間と実際のクロック時間は同じではありません。たとえば10秒間のシミュレーションの実行には通常クロック時間による測定結果と同じ10秒はかかりません。シミュレーションの実行に実際に必要な時間は、モデルの実数/複素数、ステップ サイズ、コンピューターのクロック速度など多くの要素によって異なります。

モデルコンフィギュレーションパラメーターの設定後,シミュレーションを開始できます。シミュレーションの一時停止、再開および停止には、ツールストリップのコントロールを使用します。また、同時に 1 つを超えるモデルをシミュレートすることもでき、そのため、あるモデルのシミュレーションの実行中に別のものを開始することもできます。

シミュレーション中は,ラインやブロックの追加や削除など,モデルの構造に変更を加えることはできません。しかし,以下はシミュレーション中に変更可能です。

  • 終了時間,最大ステップサイズなど,いくつかのコンフィギュレーションパラメーターを変更する。

  • ブロックのパラメーターを変更する。ただし,次の要素は変更してはなりません。

    • 状態,入力,または出力の数

    • サンプル時間

    • ゼロクロッシングの数

    • ブロックパラメーターのベクトルの長さ

    • 内部ブロックのワークベクトルの長さ

    • 信号の次元

また,シミュレーション時にモデルを視覚的に調べることもできます。たとえば,ラインをクリックして,浮动范围ブロックや显示ブロックのラインに引き継がれた信号を表示できます。モデルのシミュレーション時に端子の値を表示することもできます。デバッグのための端子の値の表示を参照してください。

シミュレーションの実行,一時停止および停止

モデルのシミュレーションを開始するには,[実行]ボタンをクリックします。シミュレーションを一時停止、再開または停止するには、ツールストリップの対応するコントロールを使用します。

モデルは指定された開始時間にシミュレーションを開始し,指定された終了時間まで実行します。シミュレーションの実行中、エディターの下部にシミュレーションの完了割合と現在のシミュレーション時間の情報が表示されます。

  • エラーが発生すると,シミュレーションは停止し,メッセージが表示されます。警告状態の発生の場合は,シミュレーションは完了します。どちらの場合も,エディターの下部にある診断リンクをクリックしてメッセージを確認し,エラーを特定できます。

  • 一時停止は,現在のタイムステップが実行を終了した後で有効になります。一時停止したシミュレーションの再開は,次のタイムステップからです。

  • シミュレーションを停止させると,現在のタイムステップが完了し,その後シミュレーションが停止します。

  • モデルの出力先がファイルまたはワークスペースの場合,シミュレーションの停止または一時停止によりデータの書き込みが行われます。

ブロックを使用してシミュレーションを停止または一時停止する方法

停止模拟ブロックを使用したシミュレーションの停止

停止仿真ブロックを使用すると,ブロックへの入力が非ゼロの場合にシミュレーションを停止できます。ブロックの入力がベクトルである場合,非ゼロ要素により,シミュレーションが終了します。

  1. 停止仿真ブロックをモデルに追加します。

  2. 停止仿真ブロックを,指定した終了時間に値が非ゼロになる信号に接続します。

たとえば,次のモデルでは,シミュレーション時間が10に到達すると,シミュレーションが停止します。

断言ブロックを使用したシミュレーションの一時停止

断言ブロックを使用すると,ブロックへの入力信号がゼロである場合に,シミュレーションを一時停止できます。断言ブロックは,set_paramコマンドを使用してシミュレーションを一時停止します。金宝app仿真软件モデルの実行をコントロールするset_paramコマンドの使用方法の詳細については,プログラムによるシミュレーションの実行を参照してください。

  1. モデルに断言ブロックを追加します。

  2. 断言ブロックを,目標とする一時停止時間に値がゼロになる信号に接続します。

  3. 断言ブロックのダイアログボックスで,[アサーションが失敗したときにシミュレーションを中止)チェックボックスをオフにします。次のコマンドを[アサーションが失敗したときのシミュレーションコールバック]の値として入力します。

    set_param (bdroot“SimulationCommand”、“暂停”),disp (sprintf (\ nSimulation停顿了一下。)

このモデルはこれらの設定で断言ブロックを使用して,シミュレーション時間が5に達するとシミュレーションを一時停止します。

シミュレーションが一時停止すると,ブロックがシミュレーションを一時停止させた時間を示すメッセージが表示されます。

シミュレーションは[続行]を使用して再開でき,これは一時停止しているどのシミュレーションについても同様に可能です。

参考

||

関連する例

詳細