問題タブ [fmi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - Matlab を使用した FMI ツールボックス ブロックの初期値の設定
(この質問は私が投稿した以前の質問に似ていますが、状況は変わりました...)
Dymola/Simulink インターフェイス用の Modelon FMI ツールボックスを使用して、Model-Exchange タイプの fmu ファイル (バージョン 1.0) を Simulink モデルにインポートしています。モデルをプログラムで順次シミュレートし、次のシミュレーションでの初期化のためにモデルの最終的な内部状態を保存する Matlab m ファイルがあります。
m ファイルのシミュレーション呼び出しは次のとおりです。
ここで、「model」は Simulink .slx モデル ファイルで、「model_cs」は Simulink 構成設定変数です。モデルがワークスペースから初期状態を読み込むように構成を設定し、以前の反復の最終状態をそのワークスペース変数に保存しました。
しかし、コードを実行すると、初期化値がモデルに設定されず、シミュレーションの結果は、シミュレーションが実行されるたびにモデル出力が初期値にリセットされることを示しています。この動作は、状態がワークスペース変数の値を使用して初期化されていないことを示していますが、シミュレーション中にエラーは設定されていません。イテレーションごとにモデルをロードおよびアンロードしても効果がないことを確認しました。
Matlab/Simulink の fmu ファイルのシステム状態の初期化に関する提案は大歓迎です。ありがとうございました。
dymola - dymola を使用して 64 ビット dll で FMU を生成するにはどうすればよいですか?
dymolaを使用して64-bit-dllでfmu-fileを生成する必要があります。
条件は次のとおりです。bin64-version-dymola
を使用していますが、fmu-fileは32 ビット dll
です。インターネットを検索したところ、フラグ Advanced.CompileWith64=2 を設定する必要があることがわかりました。しかし問題は、Advanced.CompileWith64=2 を設定する場所が見つからないことです。
Advanced.CompileWith64 の値を設定できる場所を知っている人はいますか?
dymola - co-simulation dymola fmu ファイルは fmuchecker でシミュレートできません
Dymola の協調シミュレーション オプションをテストしようとしており、fmu ファイルを作成しました。www.fmi-standard.org から FMILibrary-2.0b2 と FMUChecker-2.0b1 をインストール/ビルドしました。
同僚が Dymola で作成した fmu ファイルの FMUChecker (fmuCheck.linux32) を実行しようとしたときに問題が発生しました。Dymola ライセンスを使用して、同じ Dymola モデルから fmu ファイルを作成しましたが、この問題は再現できません。fmuCheck.linux32 はエラー メッセージなしで正常に実行されるためです。私の同僚は両方のファイルを問題なく実行できます。
このオプションを協調シミュレーションに使用することが私たちの目標であるため、Dymola を使用せずに PC で fmu ファイルを実行しようとしましたが、私の fmu コピーと同僚が作成したファイルの両方で同じエラーが発生しました。
エラーメッセージは次のとおりです
fmu ファイルをシミュレートするのに Dymola ライセンスは必要ないと思うので、このシミュレーションが失敗した理由がわかりません。この奇妙な行動の理由は何でしょうか?
部分的にこれは、この問題のエラー メッセージと同じです 。 Simulink での Dymola FMU の初期化
どんな提案でも大歓迎です。ありがとうございました。
python-2.7 - FMU の準備: モデル入力のモデル パラメーターの交換
Dymola 2014 を使用した協調シミュレーション用の FMU として Modelica モデルをエクスポートしたいと考えています。pyfmi を使用して協調シミュレーションを完了する予定です。
これをテストするために、2 つの流体境界の間のパイプを通る流体の流れをモデル化しようとしています。流体源の圧力をモデルへの入力にしたいと思います。私の計画は、この圧力を外部で計算し、各タイムステップで Modelica モデルに入力することです。
すべての標準ライブラリ コンポーネントを含む私の初期モデルは次のとおりです。
次に、2 つのテスト モデルでラップします。
@Thierryの提案に基づいて行われたパラメータタイプ
これらのモデルを実行すると、同じ結果が得られます。
と
どちらのモデルも Dymola 内で動作しています。
ここで、fmu をロードして pyfmi を使用してシミュレートしたいので、次のスクリプトを作成しました。
これは失敗し、次のエラーが表示されます。
トレースバックから:
モデルが Dymola 内で正しくシミュレートされている場合、この解析エラーの原因は何ですか?
CS 1.0エクスポートでもこれを試してみましたが、今回は別のモジュールがfmuを読み取っていますが、同じ例外が発生しました。
input
とタグの両方を削除するとparameter
、謎の変数の問題が発生したと考えましたが、そうではありません。parameter
のようなタグを使用してもTest_2
、同じ例外 (CS 2.0) が発生します。
概要: Dymola 2014、python 2.7.x、FMI for CO-simulation 2.0
initialization - FMU 初期化の問題
最近、Dymola 2015 で FMU 2.0 モデルをエクスポートしましたが、初期化に問題がありました。
モデルをエクスポートする前に、正確な出力値を知っているいくつかの定数値に入力コネクタを接続して、モデルの有効性を確認しました。すべてが適切に見えることがわかりました。モデルは期待どおりに変換、初期化、およびシミュレートできます。
次に、モデルを ME FMU 2.0 RC としてエクスポートしました。C ではインスタンス化でき、初期化に入る前に fmiSetupExperiment が正常に呼び出されましたが、fmiEnterInitializationMode を呼び出した直後に初期化に失敗しました。
エラーは下の画像のようになります
Simulink での Dymola FMU の初期化の投稿に従って、妥当な入力値をモデルに割り当てようとしましたが、役に立ちませんでした。
その後、initial="approx" を持つ scalarVariables がいくつかあることがわかりましたが、Dymola でそれらの最終値を確認すると、初期近似値は最終値にかなり近くなっています。
だから私は次に何を試すべきかについてかなり混乱しています...ここにいる誰かが私を少し助けてくれるのだろうか.
ありがとう!