Real-Time Workshop User's Guide    

実行ファイルを対話的にダウンロードし実行する

自動ダウンロードが不可能な場合は、プロセスを終了するためにはTornadoツールを使わなければなりません。これは3つのステップがあります。

  1. 通信リンクを作成し、ホストとVxWorksターゲット間でファイルを転送します。
  2. ホストからVxWorksターゲットにオブジェクトファイルを転送します。
  3. プログラムを実行します。

VxWorksターゲットに接続する

ビルドプロセスが終了した後で、ホストワークステーションとVxWorksターゲットを接続できます。最初のステップは、ホスト上のTornadoツールとターゲット上のターゲットエージェント間の通信に使われるターゲットサーバを起動することです。これは、コマンドラインとTornado開発環境内のいずれかから行われます。DOSコマンドラインからは、つぎのようにします。

リアルタイムプログラムをダウンロードする

リアルタイムプログラムをダウンロードするには、WindSh内からVxWorks のldルーチンを使います。WindSh (wind shell)は、コマンドラインやTornado開発環境内からも実行されます。たとえば、/home/my_working_dirディレクトリにあるファイルvx_equal.loをダウンロードしたい場合は、WindShプロンプトでつぎのコマンドを使います。

ビルド中にStethoScopeオプションが選択されている場合は、StethoScopeライブラリをロードする必要があります。ldライブラリルーチンは、Tornado User's Guideで説明されています。

プログラムの実行

リアルタイムプログラムは、(ビルドプロセス中にexternalモードを選択した場合)タスクを起動してモデルコードを実行したり、Simulinkと通信を行う関数rt_main()を定義します。ビルドプロセス中にこのオプションを選択した場合は、StethoScopeを初期化します。

関数rt_mainは、rt_main.cアプリケーションモジュール内で定義されます。このモジュールは、matlabroot/rtw/c/tornado ディレクトリにあります。

関数rt_mainは6個の引数をもち、つぎのANSI Cの関数プロトタイプで定義されます。

表 12-1 はこの関数の引数の一覧です。

表 12-1: rt_main simStructの引数
引数
説明
model

生成コード内のエントリポイント関数へのポインタ。この関数名は、Simulinkモデル名と同じです。モデルのSimStructに関数のポインタを追加して、モデルコードを実現するローカル関数を登録します。詳細は、第6章「プログラムアーキテクチャ」を参照してください。

optStr

終了時間(-tf) を指定し、シミュレーションを開始する前にexternalモードでメッセージを待つかどうか(-w)を指定するためのオプション文字列。オプション文字列の例は、

    "-tf 20 -w"
    

です。-tf オプションは、コード生成中に設定された終了時間を変更します。-tfオプションの値が infの場合は、プログラムは無限に実行されます。

scopeInstallString

StethoScopeにインストールされる信号を決定するキャラクタ文字列です。取り得る値は、つぎの通りです。

NULL -- 信号をインストールしません。これは、デフォルト値です。

"*" -- すべての信号をインストールします。

"[A-Z]*" -- 大文字で始まるブロックから信号をインストールします。

これ以外の文字列を指定すると、名前がその文字列で始まる信号をインストールします。

scopeFullNames

この引数は、StethoScopeがアクセスする信号の全階層付きブロック名またはブロック名のみを使うかどうかを決定します。取り得る値は、つぎの通りです。

1 全ブロック名を使います

0 ブロック名のみを使います。これはデフォルト値です。

プログラムがモデルまたはS-ファンクションを複数もつ場合は、全階層付きブロック名を使うことが必要です。

priority

プログラムの最高の優先度のタスク(tBaseRate)の優先度。値を指定しない場合(またはゼロを指定した場合)は、tBaseRateはデフォルトの優先度 30になります。

TCPport

externalモードのソケット接続が使うポート番号。有効な値の範囲は、256 から65535です。何も指定しない場合は、ポート番号はデフォルトで17725です。

テンプレートmakeファイルによりoptStrを渡す.   tornado .tmfPROGRAM_OPTSマクロを使って、-wおよび-tf オプション(表12-1optStrを参照)rt_mainに渡すことができます。PROGRAM_OPTSは、つぎの形式で文字列を渡します。

たとえば、以下は、終了時間を無限大に設定し、シミュレーションを開始する前にSimulinkからのメッセージを待つようにプログラムに指示します。

rt_mainの呼び出し.   プログラムの実行を開始するには、WindShからrt_mainを呼び出します。たとえば、


 プログラムのビルド DOSをターゲットとするリアルタイムのアプリケーション