| Real-Time Workshop User's Guide | ![]() |
コードの検証
ビルドプロセスが終了した後で、countersdemoモデルのスタンドアロン版は、Simulinkモデルとの比較の準備ができています。Simulation Parameters ダイアログボックスのWorkspace I/Oページで選択されたデータロギングオプションにより、 プログラムは制御信号、イネーブルカウンタ、トリガカウンタ、シミュレーション時間を保存します。MATLABを使って、3つのSimulinkスコープに表示されるものと同じデータのプロットを作成することができます。
Simulinkとcountersdemoモデルのスタンドアロン実行ファイル版の両方で、制御入力は、10Hzの50パーセントのデューティサイクルの波形を生成する離散パルスジェネレータを使ってシミュレーションされます。
制御信号、イネーブルカウンタ、トリガカウンタのスコープをオープンします。T=0からT=2までSimulinkシミュレーションを実行すると、以下の出力を生成します。

MATLABプロンプトでwhoとタイプすると、Simulinkシミュレーションの変数名が表示されます。
who Your variables are: Enable_Signal Triggered_Counter Enabled_Counter tout
!countersdemo
キャラクタ"!"は、その後のコマンドをオペレーティングシステムに渡します。そのため、このコマンドはcountersdemoの>(M-ファイルではなく)スタントアロン版を実行します。
スタンドアロンプログラムからデータを取得するには、ファイルcountersdemo.matをロードします。
load countersdemo
who Your variables are: Enable_Signal rt_Triggered_Counter Enabled_Counter rt_tout Triggered_Counter tout rt_Enable_Signal rt_Enabled_Counter
スタンドアロンAdaプログラムは、Simulinkでロギングした変数と区別するために、ロギングされた変数名にrt_を付加します。
MATLABを使って3つのワークスペース変数を時間の関数としてプロットします。
plot(rt_Enable_Signal(:,1),rt_Enable_Signal(:,2)) figure plot(rt_Enabled_Counter(:,1),rt_Enabled_Counter(:,2)) figure plot(rt_Triggered_Counter(:,1),rt_Triggered_Counter(:,2))
![]()
| 信号のプロパティ | MATLABを使ってデータを解析 | ![]() |