2016-04-25 23 views
2

私はModelica言語(プラットフォーム:Dymola)のモデルを持っています。 Dymolaはコンパイル/変換中にモデルのバイナリファイルを作成します(dymosim.exe)。バイナリコードのエクスポートライセンスが利用可能であれば、元のダイモラモデルを代表するスタンドアローンのバイナリファイルが作成されます。これは、Dymolaライセンスのない任意のコンピュータで実行できます。スタンドアロンバイナリ実行ファイルのGUI(グラフィックユーザインタフェース)の作成方法

私の質問は、以下の要件を持つ実行可能ファイルの周りにGuiを作成する方法です: - 1.いくつかの入力パラメータ値を変更できる必要があります。 2.いくつかの出力パラメータ値を取得できるはずです。今

背景として: - 1つが dymosim.exeは、テキストファイル(dsin.txt)から入力されるパラメータ値を受け取り、別のテキストファイル(dsres.txt)具体

に出力を書き込みます。テキストファイルからの入力を受け取り、特定の形式(規則が知られている)で出力を別のテキストファイルに書き込むバイナリ実行可能ファイルを持っています。それにGUIを作成するためのツールは何ですか?

+1

モデルをDymolaから共同シミュレーションFMUにエクスポートすることを検討できます。これは、例えば、 PythonをPythonで使用すると、Pythonコードの上にGUIを構築できます。 –

+0

@ Rene Just Nielsen私はこれを調べます。しかし、最終的にこれはguiを持つ.exeファイルになります。私はこれを尋ねます。なぜなら、エンドユーザの側の期待は実行時に入力パラメータ値を入力するためのインタフェースを開く実行可能ファイルを持っているからです。実行ボタンまたは同様のものがあり、与えられた入力および対応する出力を有する実際のモデルを実行する。 – user1768201

+1

PySimulatorも見ることができます。https://github.com/PySimulator/PySimulator – jrhodin

答えて

1

Dymolaの組み込みサーバーサポート(DDE/OPC)を調べてください。あなたはdymosim.exeを使用しているので、私はあなたがWindowsを使用していると信じているので、組み込みサーバ用のVisual Studio 32-bitコードに対するDymolaの制限は受け入れられます。 (ほとんどのModelicaツールには類似の組み込みサーバーがありますが、互換性はありません)

1

Dymola dymosim.exeは時系列結果を*.matというファイルとしてエクスポートするので、*.mat形式を処理するツール/ライブラリを見つけることができます。あなたのGUIで。

また、dsin.txtには独自の書式があります。最初に(そのコメントを見つけようとして)理解してから解析すると、ランダムな文字列と数値の列を含むテキストファイルではありません。

+0

こんにちは、私はdisn.txtとdsres.mat構造体を認識しています。私が実際に知らないのは、guiを作成してdsin.txtのパラメータ値を操作し、dymosim.exeを新しいパラメータで実行し、dsres.mat/dsres.txtを読み込む方法です。 – user1768201

+0

これはコーディング上の問題であると思います。おそらく、GUIに使用しているプログラミング言語のテキスト/文字列解析を調べるべきです。 –

1

FMI標準を使用するには、協調シミュレーションモードで考慮する必要があります。つまり、ソルバーが含まれています。 DymolaははFMUパッケージとしてモデルをエクスポートすることができます(Windowsプラットフォームでは、それはいくつかのメタデータを持つ単一のDLLで、Linuxプラットフォームでは、それは.SOライブラリです)、あなたの手順を実行する価値がこれらの機能を提供します。

  • fmiSetReal()パラメータ値に
  • fmiDoStepを設定します()
  • fmiGetReal()変数値に

あなたはこれらを呼び出すことができますを取得しますF FMUパッケージを解凍し、内部でDLLを見つけてアプリケーションに直接リンクしてください。 または推奨される方法(私たちはアプリでやった):FMI Libraryを使って、FMUパッケージとやりとりする一般的なC APIを提供し、必要なときに一時構造を制御します。

関連する問題