BlueM.DLLAdapter: Difference between revisions
Jump to navigation
Jump to search
(Die Seite wurde neu angelegt: == Schnittstellendefnitionen == Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. rückgabeparamet...) |
m (fix syntax highlighting) |
||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
'''BlueM.DLLAdapter''' ist ein .NET Wrapper zum Ansprechen des [[BlueM.Sim]] Rechenkerns in DLL-Form. | |||
Falls ein Fehler auftritt wird die Methode | ==Schnittstellendefinitionen== | ||
[[Bild:BlueM DLL Wrapper.png|thumb|Klassendiagramm]] | |||
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM.Sim DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet. | |||
: | Falls ein Fehler auftritt wird die Methode <code>CreateAndThrowException</code> aufgerufen (schmeisst einen Fehler). | ||
===Basismethoden=== | |||
'''Initialize''' | |||
<source lang="csharp">public void Initialize(string filePath)</source> | |||
:<code>filePath</code> ist der Absolute Pfad mit dem Projektnamen ohne die Dateiendung <code>.ALL</code> (Bsp.: <code>"D:\Simulation\TSIM"</code>). | |||
:Das System wird initialisiert und alle zugehörigen Daten aus den Simulationsdateien geladen. | :Das System wird initialisiert und alle zugehörigen Daten aus den Simulationsdateien geladen. | ||
'''PerformTimeStep''' | |||
<source lang="csharp">public void PerformTimeStep()</source> | |||
:Berechnet den nächsten Zeitschritt. | :Berechnet den nächsten Zeitschritt. | ||
'''Finish / Dispose''' | |||
<source lang="csharp"> | |||
public void Finish() | |||
public void Dispose() | |||
</source> | |||
:Schliessen aller Dateien und Freigabe des Speichers | |||
'''Datumsangaben''' | |||
<source lang="csharp"> | |||
public DateTime GetCurrentTime() | |||
public DateTime GetSimulationStartDate() | |||
public DateTime GetSimulationEndDate() | |||
</source> | |||
:Was sind die Simulationszeiten (Anfang und Ende). Wo befinden wir uns gerade (GetCurrentTime) - wird nach jedem PerformTimeStep wietergeschoben. | |||
==Anwendungsbeispiel== | |||
Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET (Anwendung nur mit einer Simulation - ''SingleDLL''): | |||
<source lang="vbnet"> | |||
'Einmal zu Beginn instanzieren | |||
bluem_dll = New BlueM_EngineDotNetAccess("Pfad-zu-BlueM.dll") | |||
... | |||
Try | |||
Call bluem_dll.Initialize("Pfad-zu-Datensatz") | |||
Dim SimEnde As DateTime = BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetSimulationEndDate()) | |||
'Schleife über Simulationszeitraum | |||
Do While (BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetCurrentTime) <= SimEnde) | |||
Call bluem_dll.PerformTimeStep() | |||
Loop | |||
'Simulation abschliessen | |||
Call bluem_dll.Finish() | |||
'Simulation abgeschlossen | |||
MsgBox("Simulation erfolgreich!", MsgBoxStyle.Information, "BlueM") | |||
simOK = True | |||
Catch ex As Exception | |||
'Simulationsfehler aufgetreten | |||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "BlueM") | |||
'Simulation abschliessen | |||
Call bluem_dll.Finish() | |||
simOK = False | |||
Finally | |||
'Ressourcen deallokieren | |||
Call bluem_dll.Dispose() | |||
End Try | |||
</source> | |||
[[Kategorie:BlueM.Sim Development]] | |||
Latest revision as of 08:19, 27 January 2018
BlueM.DLLAdapter ist ein .NET Wrapper zum Ansprechen des BlueM.Sim Rechenkerns in DLL-Form.
Schnittstellendefinitionen
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM.Sim DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet.
Falls ein Fehler auftritt wird die Methode CreateAndThrowException
aufgerufen (schmeisst einen Fehler).
Basismethoden
Initialize
public void Initialize(string filePath)
filePath
ist der Absolute Pfad mit dem Projektnamen ohne die Dateiendung.ALL
(Bsp.:"D:\Simulation\TSIM"
).- Das System wird initialisiert und alle zugehörigen Daten aus den Simulationsdateien geladen.
PerformTimeStep
public void PerformTimeStep()
- Berechnet den nächsten Zeitschritt.
Finish / Dispose
public void Finish() public void Dispose()
- Schliessen aller Dateien und Freigabe des Speichers
Datumsangaben
public DateTime GetCurrentTime() public DateTime GetSimulationStartDate() public DateTime GetSimulationEndDate()
- Was sind die Simulationszeiten (Anfang und Ende). Wo befinden wir uns gerade (GetCurrentTime) - wird nach jedem PerformTimeStep wietergeschoben.
Anwendungsbeispiel
Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET (Anwendung nur mit einer Simulation - SingleDLL):
'Einmal zu Beginn instanzieren bluem_dll = New BlueM_EngineDotNetAccess("Pfad-zu-BlueM.dll") ... Try Call bluem_dll.Initialize("Pfad-zu-Datensatz") Dim SimEnde As DateTime = BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetSimulationEndDate()) 'Schleife über Simulationszeitraum Do While (BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetCurrentTime) <= SimEnde) Call bluem_dll.PerformTimeStep() Loop 'Simulation abschliessen Call bluem_dll.Finish() 'Simulation abgeschlossen MsgBox("Simulation erfolgreich!", MsgBoxStyle.Information, "BlueM") simOK = True Catch ex As Exception 'Simulationsfehler aufgetreten MsgBox(ex.Message, MsgBoxStyle.Exclamation, "BlueM") 'Simulation abschliessen Call bluem_dll.Finish() simOK = False Finally 'Ressourcen deallokieren Call bluem_dll.Dispose() End Try