Real-Time Workshop User's Guide | ![]() ![]() |
外部プログラムの実行
外部プログラムは、externalモードでSimulinkを利用する前に実行しなければなりません。
UNIX環境では、MATLABから外部プログラムを起動する場合、Simulinkにアクセスできるように、バックグランドで実行しなければなりません。たとえば、コマンド
!model &
は、別のプロセスを起動して、MATLABから実行ファイルmodel
fを実行します。
外部プログラムのコマンドラインオプション
Real-Time Workshopが生成したExternalモードターゲット実行ファイルは、次のコマンドラインオプションをサポートします。
-tf
n
オプション -tf
オプションは、Simulinkのモデルに対して停止時間を変更します。引数n
は、プログラムを実行する秒数を指定します。値inf
は、モデルを無限に実行します。この場合、モデルコードは、ターゲットプログラムがSimulinkからの停止メッセージを受信するまで、実行されます。
つぎの例は、停止時間を10秒に設定します。
ext_example -tf 10
注意
-tf オプションは、GRTおよびTornadoターゲットによりサポートされます。カスタムターゲットを実現し、-tf オプションをサポートしたい場合は、ユーザがオプションを実現する必要があります。詳細は、「Externalモード通信チャンネルの作成」を参照してください。
|
-w
オプション -w
オプションにより、ターゲットプログラムはホストからメッセージを受信するまで待ち状態になります。この時点で、ターゲットは実行していますが、モデルコードは実行されていません。開始メッセージは、シミュレーションメニューから リアルタイムシミュレーションの開始を選択するか、あるいはExternal Mode Control PanelのStart real-time codeボタンをクリックしたときに送信されます。
ターゲットプログラムの実行の時間ステップ0からデータを表示したい場合や、ターゲットプログラムがモデルコードの実行を開始する前にパラメータを変更したい場合は、-w
オプションを使います。
-port n
オプション -port
オプションは、ターゲットプログラムに対してTCP/IPポート番号n
を指定します。ターゲットプログラムのポート番号は、ホストのポート番号と一致しなければなりません。デフォルトのポート番号は、17725
です。ポート番号は、256
から65535
の間の値でなければなりません。
注意
-w および -port オプションは、Real-Time Workshopに付属するTCP/IPトランスポート層モジュールによってサポートされます。デフォルトでは、これらのモジュールは、externalモードターゲット実行ファイルにリンクされます。カスタムexternalモードトランスポート層を実現し、これらのオプションをサポートしたい場合は、ユーザコード内でオプションを実現する必要があります。詳細は、「Externalモード通信チャンネルの作成」を参照してください。コードの例は、matlabroot /rtw/c/src/ext_transport.c を参照してください。 |
![]() | Externalモードで適用可能なターゲット | エラー条件 | ![]() |