FMU(Functional Mock-up Unit)は、MotionSolveで汎用モデリング要素を定義する抽象モデリング要素です。
説明
標準的な、ツールに依存しないインターフェースであるファンクショナルモックアップインターフェース(FMI)は、FMUのデータにアクセスしたり、これにデータを配置するためのインターフェースを定義します。XMLファイルとコンパイルされたCコードの組み合わせを使用してモデルをサポートします。
MotionSolveは、FMIを使用して1つ以上のFMUをシステムモデルにインポートし、それらを他のモデリングコンポーネントに結合して、解析用に組み合わせたモデルを生成します。
制御:FMUのコメントセクションをご参照ください。
属性の概要
| 名前 |
プロパティ |
コマンドで変更可能か |
設計可能か |
| id |
Int () |
× |
× |
| label |
Str () |
| type |
Enum () |
| path |
FileName () |
| x |
Reference (Array) |
| y |
Reference (Array) |
| u |
Reference (Array) |
| ic |
Reference (Array) |
| static_hold |
Bool () |
| dll |
FileName |
| interval |
Double () |
| ip_address |
Str () |
| var_name |
Str () |
| var_ic |
Double () |
使用法
Fmu(
path = "mefmu_siso_cs.fmu",
type = "CS",
x = array_x,
y = array_y,
u = array_u,
ip_addr = "localhost"
)
属性
- id
- 整数
- 要素識別番号。この番号は、すべてのFMUの中で一意です。
- label
- 文字列
- FMU要素の“短い”名前。
- type
- 文字列
- FMUのタイプ。"CS"(CoSimulation)または"ME"(ModelExchange)を選択します。
- path
- FileName
- FMUファイルへのパス。
- x
- Reference(Array)
- このFMUの連続状態xを格納するために使用するReference_Arrayを指定します。
- そのIDを持つARYVAL()関数を使用することで、MotionSolveの式のこの状態にアクセスすることができます。また、SYSFNCおよびSYSARYでそのIDを使用することで、ユーザーサブルーチンの状態にアクセスすることもできます。
- y
- Reference(Array)
- このFMUの出力yを格納するために使用するReference_Arrayを指定します。
- そのIDを持つARYVAL()関数を使用することで、MotionSolveの式の出力にアクセスすることができます。また、SYSFNCおよびSYSARYでそのIDを使用することで、ユーザーサブルーチンの出力にアクセスすることもできます。
- u
- Reference(Array)
- このFMUの入力uを格納するために使用するReference_Arrayを指定します。
- このIDを持つARYVAL()関数を使用することで、MotionSolveの式の入力にアクセスすることができます。また、SYSFNCおよびSYSARYでこのIDを使用することで、ユーザーサブルーチンの入力にアクセスすることもできます。
- ic
- Reference(Array)
- このFMUの連続状態の初期条件を格納するために使用するReference_Arrayを指定します。
- そのIDを持つARYVAL()関数を使用することで、MotionSolveの式のICにアクセスすることができます。また、SYSFNCおよびSYSARYでそのIDを使用することで、ユーザーサブルーチンのIC値にアクセスすることもできます。
- static_hold
- ブール
- 動的状態の値が静的または擬似静的シミュレーションで一定に保たれるかどうかを示すフラグ。モデル交換FMUにのみ適用されます。
- 詳細については、制御:FMUのコメント8をご参照ください。
- dll
- 文字列
- ユーザーのFMUを読み込むために使用するDLLまたは共有ライブラリのパスと名前を指定します。MotionSolveはこの情報を使用して、実行時にDLL内のユーザーサブルーチンを読み込みます。
- interval
- 倍精度
- FMUとの連続する通信間の時間間隔。他のすべての呼び出しでは、FMU出力が補間されます。
- デフォルト:HMAX、シミュレーション制御パラメータによってシミュレーション用に定義された最大ステップサイズ。
- ip_address
- 文字列
- MotionSolveに結合するFMUのIPアドレス。
パイプは、MotionSolveとFMUが同じマシン上に存在する場合にプロセス間通信の手段として使用されます。MotionSolveとFMUが別のマシン上に存在する場合は、実際のIPアドレスを文字列として指定します。
- 詳細については、制御:FMUのコメント6をご参照ください。
- var_name
- 文字列
- 値を割り当て可能なFMU内の各変数の名前をリストした文字列。
- “;”(セミコロン)で区切られた値
- デフォルト: “”
- var_ic
- 文字列
- ユーザーが設定する必要がある“var_name”によって定義された各変数の値をリストした文字列。
- “;”(セミコロン)で区切られた値
- デフォルト:“”
例
x = Array(label="States", type="x")
y = Array(label="Outputs", type="y")
u = Array(label="Inputs", type="u", size=1)
u. variables = Variable(
label = "u[0]",
function = "-wz(30102010)+varval(30100100)"
)
fmu = Fmu(
path = "Hydraulic_Valve.fmu",
type = "ME",
x = x,
y = y,
u = u,
ip_address = "PIPE")
コメント
- プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
- FMUの詳細については、モデルステートメント制御: FMUをご参照ください。