BlueM.DLLAdapter: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (fix syntax highlighting) |
||
(11 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. | |||
==Schnittstellendefinitionen== | ==Schnittstellendefinitionen== | ||
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet. | [[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 | 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 | [[Kategorie:BlueM.Sim Development]] |
Latest revision as of 09: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
1 | 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
1 | public void PerformTimeStep() |
- Berechnet den nächsten Zeitschritt.
Finish / Dispose
1 2 | public void Finish() public void Dispose() |
- Schliessen aller Dateien und Freigabe des Speichers
Datumsangaben
1 2 3 | 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):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | '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 |