BlueM.DLLAdapter
From BlueM
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)
filePathist 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