MotionSolveとSimulinkの連成シミュレーションの前提条件
- モデル内で、モデルから他の(例えばSimulink)モデルへのプラント入力および出力を生成します。
- 入力はPINVAL()またはVARVAL()を使って適用しなくてはなりません(例えば、Simulinkからのフォースを定義)。 注: PINVAL()に指定されるべき引数は、VARVAL()のものとは異なります。シンタックスの詳細については、Reference Guideをご参照ください。
- 出力は、Simulinkへ値を提供する関数を使う必要があります(例えば、変位にDZ())。
- 入力はPINVAL()またはVARVAL()を使って適用しなくてはなりません(例えば、Simulinkからのフォースを定義)。
- MATLAB/Simulinkを実行する環境では、他のシミュレーションソフトウェア(例えば、Simulink)からコールされるために必要な環境変数を設定します。
- MATLABでは、連成シミュレーションに必要な、インストレーション内のS-Functionライブラリを探すためのMATLAB/Simulink のサーチパスを設定します。
- 連成シミュレーションに使用されるSimulinkモデルでは、モデルを表すS-Functionブロックを追加し、S-Function用の正しい引数を入力します。
プラント入力およびプラント出力
MATLAB/SimulinkからMotionSolveを実行するための環境変数の設定
- コントロールパネル(Windows)
- MATLABをコールするシェル / コマンドウィンドウ(例えば、Windowsでのsetコマンド)
- MATLAB内でのsetenv()コマンドの使用
その他のオプション的な環境変数もモデルに設定することが可能です。これらの環境変数の詳細については、MotionSolveの環境変数の項をご参照ください。
MATLAB/Simulinkの検索パスの設定
連成シミュレーションを生成するSimulink内の中核的機能は、S-Function(System Function)ブロックです。このブロックは、その挙動を定義するためにS-Functionライブラリ(動的に読み込まれるライブラリ)を必要とします。MotionSolveによってこのライブラリが提供されますが、S-Function側でこのライブラリを検出できる必要があります。MATLAB/SimulinkがS-Functionを探し出すのを助けるために、ユーザーは、MATLAB/Simulinkがライブラリの検索に使用するパスのリストにS-Functionの場所を追加する必要があります。
MotionSolveとの連成シミュレーション用のS-Functionライブラリは、以下のいずれかでコールされます:
mscosim - IPCコミュニケーション用
mscosimipc - IPC(TCP/IPソケット)コミュニケーション用
SimulinkでS-Functionブロック内のこのライブラリの名称を変更すると、連成シミュレーションのコミュニケーション挙動が変わります。
これらのファイルは、<インストールディレクトリ> \hwsolvers\motionsolve\bin\<platform>の下にインストールされています。
これらのファイルの場所は、MATLABのサーチパスに追加し、S-Functionがmscosimまたはmscosimipcを使用できるようにする必要があります。
これは、以下のいずれかの方法で行うことができます:
- メニューオプションを使用:
- MATLABコマンドを使用:
MotionSolveをコールするSimulinkのS-Functionブロックの追加
S-Function(システム関数)ブロックは、Simulink User-Defined Functionsブロックライブラリ内に見つかります。S-Functionを使用すると、入力、出力、状態などを使用した任意の一般的な連立方程式をモデル化できます。この点は、ある程度MotionSolveのControl_StateEqnに似ています。詳細については、MATLAB/Simulinkドキュメントをご参照ください。
作成後は、Simulinkの引数に使用するMotionView S-Functionで説明する引数を入力する必要があります。
このプロセスの例については、MV-7002:Simulinkとの連成シミュレーションチュートリアルをご参照ください。