EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Interface Units / Unit KernelInterface
In diesem Thema
    Unit KernelInterface
    In diesem Thema

    InterfaceUnit - KernelInterface

    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
    2: string: Text des Fehlers
    3: Boolean

    -  kiSetError (Kernel_Scripting, "hallo", false);
    kiSetWarning Setzen von Warnungen, die in der Fehlerleiste erscheinen

    1: ebsData: Leitung oder Komponente
    2: string: Text der Warnung

    -  kiSetWarning (Kernel_Scripting, "hallo");
    kiSetComment Setzen von Kommentaren, die in der Fehlerleiste erscheinen

    1: ebsData: Leitung oder Komponente
    2: string: Text des Kommentars

    -  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):