| 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モードで適用可能なターゲット | エラー条件 | ![]() |