2016-04-25 14 views
2

Ich habe ein Modell in Modelica Sprache (Plattform: Dymola). Dymola erstellt eine Binärdatei des Modells während der Kompilierung/Übersetzung (dymosim.exe). Wenn eine Binärcode-Exportlizenz verfügbar ist, wird eine Binärdatei erstellt, die ein eigenständiges Modell des ursprünglichen Dymolamodells darstellt. Dies kann auf jedem Computer ohne Dymola-Lizenz ausgeführt werden.So erstellen Sie GUI (grafische Benutzeroberfläche) für standalong ausführbare Binärdatei

Nun, meine Frage ist, wie kann ich Gui für um diese ausführbare Datei mit folgenden Anforderungen erstellen: - 1. Es sollte in der Lage sein, einige Eingangsparameter Werte zu ändern. 2. Es sollte in der Lage sein, einige Ausgangsparameterwerte zu erhalten.

Jetzt als Hintergrund: - dymosim.exe nehmen Parameterwerte als Eingabe von Textdatei (dsin.txt) und schreibt Ausgabe in einer anderen Textdatei (dsres.txt)

Insbesondere dann, wenn ein hat eine solche ausführbare Binärdatei, die eine Eingabe aus einer Textdatei nimmt und Ausgaben in einem bestimmten Format (von denen Regeln bekannt sind) in eine andere Textdatei schreibt; Was sind dann einige Werkzeuge, um Gui dafür zu erstellen?

+1

Sie könnten Ihr Modell von Dymola in eine Co-Simulation FMU exportieren. Dies kann dann z.B. Python mit PyFMI und Sie können eine GUI über den Python-Code erstellen. –

+0

@ Rene Just Nielsen Ich werde das untersuchen. Aber letztendlich könnte dies eine .exe-Datei mit gui ergeben. Ich frage das, weil auf der Seite des Endbenutzers eine ausführbare Datei vorhanden ist, die, wenn sie ausgeführt wird, eine Schnittstelle öffnet, um einen Eingabeparameterwert einzugeben; hat eine Run-Taste oder ähnliches, um das aktuelle Modell mit gegebenen Eingaben auszuführen und entsprechende Ausgaben anzuzeigen. – user1768201

+1

Sie können auch in PySimulator schauen https://github.com/PySimulator/PySimulator – jrhodin

Antwort

1

Schauen Sie sich Dymolas Embedded Server Support (DDE/OPC) an. Da Sie dymosim.exe verwenden, glaube ich, dass Sie Windows verwenden, so dass die Beschränkung von Dymola auf nur Visual Studio 32-Bit-Code für eingebettete Server akzeptabel ist. (Die meisten Modelica-Tools haben ähnliche Embedded Server, aber ich glaube nicht, dass sie kompatibel sind.)

1

Dymola dymosim.exe exportiert seine Zeitreihen Ergebnisse als *.mat Dateien, sollten Sie in der Lage sein, Werkzeuge/Bibliotheken finden *.mat Format zu handhaben in Ihrer GUI.

Auch dsin.txt hat sein eigenes Format, Sie können versuchen, es zuerst zu verstehen (versuchen Sie, seine Kommentare zu finden) und dann analysieren, es ist keine Textdatei mit zufälligen String- und Zahlenspalten.

+0

Hallo, ich bin bewusst disn.txt und dsres.mat Struktur. Was ich eigentlich nicht weiß ist, wie man eine GUI erstellt, damit ich Parameterwerte in dsin.txt manipulieren kann, dann dymosim.exe mit neuen Parametern ausführen und dsres.mat/dsres.txt lesen. – user1768201

+0

Ich denke, das ist dann eher ein Coding-Thema. Sie sollten wahrscheinlich in das Text/String-Parsing der Programmiersprache schauen, die Sie für die GUI verwenden. –

1

Die Verwendung des FMI-Standards ist im Co-Simulationsmodus zu berücksichtigen, dh ein Solver ist enthalten. Dymola ermöglicht Modell als FMU Paket zu exportieren (in Windows-Plattform ist es einzelne DLL mit einigen Metadaten in Linux-Plattform ist es .SO Bibliothek) und bietet diese Funktionen wert Ihre Schritte zu tun:

  • fmiSetReal() wird ein Parameterwert
  • fmiDoStep set()
  • fmiGetReal() wird der Wert der variablen

Sie rufen bekommen können diese f direkt entpacken, entpacken Sie einfach das FMU-Paket und finden Sie die DLL in der Datei und verlinken Sie sie direkt mit Ihrer Anwendung. Oder empfohlene Art und Weise (wir haben es in unserer App gemacht): Verwenden Sie FMI Library bietet allgemeine C-API Interaktion mit einem FMU-Paket und Kontrolle der zeitlichen Strukturen, wie Sie brauchen.

Verwandte Themen