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を使ってデータを解析 | ![]() |