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...) |
mNo edit summary |
||
| Line 1: | Line 1: | ||
== Schnittstellendefnitionen == | == Schnittstellendefnitionen == | ||
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. | Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet. | ||
Falls ein Fehler auftritt wird die Methode "CreateAndThrowException" aufgerufenm die einen Fehler schmeisst. | Falls ein Fehler auftritt wird die Methode "CreateAndThrowException" aufgerufenm die einen Fehler schmeisst. | ||
Revision as of 02:52, 31 August 2007
Schnittstellendefnitionen
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet.
Falls ein Fehler auftritt wird die Methode "CreateAndThrowException" aufgerufenm die einen Fehler schmeisst.
- Basismethoden
- Initialize
- <csharp>public void Initialize(string filePath)</csharp>
- "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
- <csharp>public void PerformTimeStep()</csharp>
- Berechnet den nächsten Zeitschritt.
- Finish / Dispose
- <csharp> public void Finish()</csharp>
- <csharp> public void Dispose()</csharp>
- Schliessen alle Dateien und freigabe des Speichers
- Auszuge aus dem Quellcode
<csharp> namespace IHWB.OpenMI.BlueM {
public class BlueM_EngineDotNetAccess
{
#region Basisfunktionen
public void Initialize(string filePath)
public void Finish()
public void Dispose()
public void PerformTimeStep()
#endregion
#region ModelInfo
public string GetModelDescription()
public string GetModelID()
#endregion
#region Exchangeobjekte
public int GetNumberOfNodes()
public string GetNodeKennung(int NodeID)
public double GetYCoordinate(int NodeID)
public double GetXCoordinate(int NodeID)
#endregion
#region Zeit_methoden
public int GetTimeStepLength()
public string GetCurrentTime()
public string GetSimulationStartDate()
public string GetSimulationEndDate()
#endregion
#region Get_SET_VALUES
public double Get_Qab(int index)
public void Set_Qzu(int index, double inflow)
#endregion
#region Private_methoden
private void CreateAndThrowException()
{
int numberOfMessages = 0;
numberOfMessages = mBlueM_DLLMethoden.GetNumberOfMessages();
string message = "Error Message from BlueM Fortran Core ";
for (int i = 0; i < numberOfMessages; i++)
{
int n = i+1; // Fortran zählt ab 1 (nicht 0)
StringBuilder messageFromCore = new StringBuilder(" ");
mBlueM_DLLMethoden.GetMessage(ref n, messageFromCore, (uint)messageFromCore.Length);
message += "; ";
message += messageFromCore.ToString().Trim();
}
throw new Exception(message);
}
#endregion
}
} </csharp>