このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
共有プリンター サーバーのキューの管理
この例では、関数を共有して Simulink® モデルと Stateflow® チャートの間で通信する方法を説明します。たとえば、以下のことができます。
Stateflow チャートを使用して、モデルで定義されている Simulink 関数を呼び出す。
Simulink モデル内の Function Caller ブロックを使用して、Stateflow チャートで定義されている関数を呼び出す。
この例では、1 台のネットワーク プリンターを共有する 3 台のコンピューター クライアントをモデル化します。各コンピューターは、印刷ジョブを処理するために共通のキューに送信します。各コンピューター クライアントは、Simulink Function ブロック addPrintJob
を呼び出すことでプリンター サーバーを起動します。印刷ジョブを作業負荷に追加するために、関数 addPrintJob
は Stateflow チャート内のグラフィカル関数 queuePrintJob
を呼び出します。プリンター インクの使用量をモデル化するために、チャートは作業を処理し、Simulink Function ブロック printerInk
を呼び出します。
Stateflow からの Simulink 関数の呼び出し
関数 printerInk
は、モデルの最上位レベルの Simulink Function ブロック内で定義されます。関数インターフェイス printerInk(work)
が 1 つの入力引数を定義します。また、Simulink 関数 printerInk は、入力端子 ink
と出力端子 ink'
を介し、信号線を使ってモデルを操作します。1 つの入力引数を渡すことで、Busy
ステートが printerInk(work)
の関数シグネチャと一致します。
Stateflow 関数の Simulink へのエクスポート
チャート Queuing
および Processing Incoming Jobs
では、プロパティ [チャート レベルの関数をエクスポート] および [エクスポートされた関数をグローバルに可視として扱う] がオンになっています。これらのプロパティによって、Simulink 関数 addPrintJob
はチャートのグラフィカル関数 queuePrintJob
を呼び出すことができます。
参考
Simulink Function (Simulink)
関連するトピック
- 再利用のための Stateflow 関数のエクスポート
- Simulink 関数の概要 (Simulink)
- モデル参照の基礎 (Simulink)