mdlOutputs
このブロックが出力する信号を計算する
必須
はい
言語
C、C++
構文
#define MDL_OUTPUTS
void mdlOutputs(SimStruct *S, int_T tid)
引数
SS-Function ブロックを表す SimStruct。
tidタスク ID。
説明
Simulink® エンジンは、シミュレーションの各タイム ステップでこの必須のメソッドを呼び出します。このメソッドは、現在のタイム ステップでの S-Function の出力を計算し、その結果を S-Function の出力信号配列に保存する必要があります。
tid (タスク ID) 引数は、mdlOutputs ルーチンの呼び出し時に実行されているタスクを指定します。この引数をマルチレート S-Function ブロックの mdlOutputs ルーチンで使用して、タスク固有のコード ブロックをカプセル化できます (Multirate S-Function Blocksを参照)。
S-Function にタスク固有のコード ブロックが含まれていない場合は、UNUSED_ARG マクロを使用して、tid 入力引数は必須であるが、コールバックの本体では使用されないことを示します。このために、次の行を挿入します。
UNUSED_ARG(tid)
上記を mdlOutputs での宣言の後に挿入します。
メモ
Simulink Coder™ を所有している場合、このメソッドを含むインラインでない S-Function のコードを生成する際は、メソッドが #if defined(MATLAB_MEX_FILE) ステートメントでラップされていないことを確認してください。以下に例を示します。
#if defined(MATLAB_MEX_FILE)
static void mdlOutputs(SimStruct *S)
{
/* Add mdlOutputs code here *
}
#endif define ステートメントでは、mdlOutputs メソッドを MATLAB® MEX ファイルでのみ使用できるようにします。S-Function がインライン化されていない場合、Simulink Coder 製品はこのメソッドを使用できず、リンク エラーまたはランタイム エラーが発生します。
例
複数の入力端子と出力端子で動作する mdlOutputs ルーチンの例については、sfun_multiport.c を参照してください。
バージョン履歴
R2006a より前に導入