BlueM.DLLAdapter: Difference between revisions
Jump to navigation
Jump to search
m (→Anwendungsbeispiel: SingleDLL) |
m (fix syntax highlighting) |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
'''BlueM.DLLAdapter''' ist ein .NET Wrapper zum Ansprechen des [[BlueM]] Rechenkerns in DLL-Form. | '''BlueM.DLLAdapter''' ist ein .NET Wrapper zum Ansprechen des [[BlueM.Sim]] Rechenkerns in DLL-Form. | ||
==Schnittstellendefinitionen== | ==Schnittstellendefinitionen== | ||
[[Bild:BlueM DLL Wrapper.png|thumb|Klassendiagramm]] | [[Bild:BlueM DLL Wrapper.png|thumb|Klassendiagramm]] | ||
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet. | 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). | Falls ein Fehler auftritt wird die Methode <code>CreateAndThrowException</code> aufgerufen (schmeisst einen Fehler). | ||
===Basismethoden=== | ===Basismethoden=== | ||
'''Initialize''' | '''Initialize''' | ||
<csharp>public void Initialize(string filePath)</ | <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>). | :<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''' | '''PerformTimeStep''' | ||
<csharp>public void PerformTimeStep()</ | <source lang="csharp">public void PerformTimeStep()</source> | ||
:Berechnet den nächsten Zeitschritt. | :Berechnet den nächsten Zeitschritt. | ||
'''Finish / Dispose''' | '''Finish / Dispose''' | ||
<csharp> | <source lang="csharp"> | ||
public void Finish() | public void Finish() | ||
public void Dispose() | public void Dispose() | ||
</ | </source> | ||
:Schliessen aller Dateien und Freigabe des Speichers | :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== | ==Anwendungsbeispiel== | ||
Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET (Anwendung nur mit einer Simulation - ''SingleDLL''): | Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET (Anwendung nur mit einer Simulation - ''SingleDLL''): | ||
<vbnet> | <source lang="vbnet"> | ||
'Einmal zu Beginn instanzieren | 'Einmal zu Beginn instanzieren | ||
bluem_dll = New BlueM_EngineDotNetAccess("Pfad-zu-BlueM.dll") | bluem_dll = New BlueM_EngineDotNetAccess("Pfad-zu-BlueM.dll") | ||
| Line 66: | Line 74: | ||
End Try | End Try | ||
</ | </source> | ||
[[Kategorie:BlueM | [[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)
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