MotionSolveとSimulinkの連成シミュレーションの概要

このトピックでは、Simulinkとの連成シミュレーションを作成および実行する際に重要な点について説明します。

Simulinkモデル形式(Simulink主導 vs. Simulink Coderライブラリ)

Simulinkモデルの場合(Simulinkモデルが展開されており、Simulinkインターフェース内から連成シミュレーションを開始):
S-FunctionMotionSolveモデルを表現する
S-Function(システム関数)を生成することにより、SimulinkモデルがMotionSolveモデルに結合されます。S-Functionは、入力、出力、状態などを記述した任意の一般的な連立方程式をモデル化でき、わずかにMotionSolveControl_StateEqnに類似した面があります。S-Functionは、残りのSimulinkモデルから結合された入力と出力を有します。
S-FunctionからMotionSolveを呼び出す
Simulinkは、それと同じS-Functionブロックを介してMotionSolveを呼び出します。この呼び出しでは、MotionSolveのインストール環境に用意されているライブラリが使用されます(SimulinkからMotionSolveを実行するよう環境変数が設定されていなくてはなりません)。
Simulink Coder(旧名Real-Time Workshop)でモデル / ライブラリが生成され、MotionSolve主導で連成シミュレーションを実行する場合:
  • SimulinkコンポーネントInportsおよびOutportsが、MotionSolveモデルへのインターフェースを表します。

Inputs/Outputs

2つのソルバー間のインターフェースは、システムから互いへの入力および出力として定義されます。特別なモデリングステートメント(Control_PlantInputおよびControl_PlantOutput)が、モデルへの入力 / 出力を指定するため、モデルに追加されます。これらのステートメントは、モデルへの入力(例えば荷重やトルク)として、または計測出力(例えば変位や速度)として使用される変数を参照します。

通信タイプ

MotionSolveおよびSimulinkモデルは、TCP/IPなどのプロセス間通信(IPC)を介してデータ通信を実行します。

ソルバーコーディネーション

ソルバーは、高い精度を保つために、互いの1つの積分タイムステップ内にソルバーを保持します。

ソルバーの実行

MotionSolveとSimulinkは、それぞれ専用のプロセスで並列に実行されます。

入力 / 出力データの補間 / 外挿

MotionSolveにより、必要に応じてデータが補間されます。データの補間および外挿には、0次、1次または2次を選択できます。

出力

両方のソルバーが、それぞれ対応するモデルについて結果を生成し、それらは各ソルバー内でポスト処理されることが可能です。