Die neue EbsScript Standard-Unit @KernelInterface fasst Funktionen aus den Standard-Units @KernelScripting und @KernelExpression, welche unabhängig von der aktuellen Berechnungsdomäne (z.B. KernelScript oder KernelExpression) verfügbar sind. Diese Funktionen können von beliebigen EbsScripten während einer Simulation/Validierung aufgerufen werden.
Mittels der Funktion „kiGetMode“ kann festgestellt werden, ob und in welchem Iterationsmodus sich die Applikation gerade befindet..
Name |
Zweck |
Argumente |
Rückgabewert |
Beispiel |
kiGetMode |
Gesamtstatus der aktuellen Berechnung |
- |
Mode |
println (enumtostring (kigetmode ())); |
kiGetFinishingReason |
Ermöglicht im letzten Iterationsschritt eine Analyse, warum die Berechnung beendet wird |
- |
FinishingReasonEnum |
if (kiGetFinishingReason() = FinishingReasonConvergency) then begin |
kiGetItNo |
Nummer des aktuellen Iterationsschritts |
- |
Integer | |
kiSignalNotConverged | verhindern, dass die Simulation bei Konvergenz in diesem Iterationsschritt anhält | - | - | kiSignalNotConverged(); |
kiSetError |
Setzen von Fehlern, die in der Fehlerleiste erscheinen der Aufruf von kiSetError mit 3. Parameter = true führt zum Abbruch der laufenden Simulation |
1: ebsData: Leitung oder Komponente |
- | kiSetError (Kernel_Scripting, "hallo", false); |
kiSetWarning | Setzen von Warnungen, die in der Fehlerleiste erscheinen |
1: ebsData: Leitung oder Komponente |
- | kiSetWarning (Kernel_Scripting, "hallo"); |
kiSetComment | Setzen von Kommentaren, die in der Fehlerleiste erscheinen |
1: ebsData: Leitung oder Komponente |
- | kiSetComment (Kernel_Scripting, "hallo"); |
kiGetIndicatedValueVar | Zugriff auf den Wert von Wertindikatoren (Komponente 45) mit zurückgegebenem Status | 1: FIND: Integer 2: value: Real |
Boolean | brc1 := kiGetIndicatedValueVar ( 22, val1); |
kiGetIndicatedValue | Zugriff auf den Wert von Wertindikatoren (Komponente 45) ohne Statusrückgabe (zur Verwendung in Ausdrücken) | 1: FIND: Integer 2: on_error_return: Real = 0.0 |
Real | val1 := kiGetIndicatedValue ( 22, -1.0); |
kiGetIndicatedValueByObjectVar | Zugriff auf den Wert von Wertindikatoren (Komponente 45) mit zurückgegebenem Status | 1: object: ebscomp45 2: value:Real |
Boolean | brc2 := kiGetIndicatedValueByObjectVar( Value_indicator, val2); |
kiGetIndicatedValueByObject | Zugriff auf den Wert von Wertindikatoren (Komponente 45) ohne Statusrückgabe (zur Verwendung in Ausdrücken) | 1: object: ebscomp45 2: on_error_return: Real = 0.0 |
Real | val2 := kiGetIndicatedValueByObject( Value_indicator, -1.0); |
Drei Funktionen zur Ermittlung der aktuellen Simulationsgenauigkeit (globale maximale relative Abweichung von Druck/Enthalpie/Massenstrom gegenüber dem vorherigen Iterationsschritt; Ergebnis -1 bedeutet, dass noch kein Wert vorhanden ist) | ||||
kiGetCurrentAccuracy | nur die aktuelle Konvergenz für eine einzige physikalische Größe erhalten | physValue: PhysValue | Real | var physValue: PhysValue; isat: IterationStepAccuracyType; a_isat: array of IterationStepAccuracyType; physValue := PhysValueH; val1 := kiGetCurrentAccuracy ( physValue ); isat := kiGetAccuracyCurrentStep (); a_isat := kiGetAccuracyTrend (); println (val1, " ", isat.enthalpy , " ", isat.iteration_step, " ", High (a_isat)); |
kiGetAccuracyCurrentStep | die aktuelle Konvergenz erhalten | - | IterationStepAccuracyType | |
kiGetAccuracyTrend | Konvergenztrend ermitteln (aktuelle Konvergenz am Ende des Arrays) | - | array of IterationStepAccuracyType | |
kiGetGlobalMaxTimeInterval | maximale globale (Modell-)Betriebszeit in Sekunden ermitteln - diese Funktion ist nur sinnvoll bei Aufrufen aus der Zeitreihe (oder manuell nachgestellt) | - | Real | val2 := kiGetGlobalMaxTimeInterval(); |
kiGetSunData | gibt die aktuell in der Berechnung verwendeten Sonnenwerte zurück | isun: integer | SunDataType, defined in Unit KernelInterface | sdt := kiGetSunData (1): |
kiGetWindData | gibt die aktuell in der Berechnung verwendeten Windwerte zurück | iwdata: integer | WindDataType, defined in Unit KernelInterface | wdt := kiGetWindData (1): |