EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Interface Units / InterfaceUnit-System
In diesem Thema
    InterfaceUnit-System
    In diesem Thema

    InterfaceUnit - System

    Öffnen Sie die Unit selbst im EbsScript-Editor (EbsScript-->Interface-Unit öffnen-->System) , um mehr Informationen im Detail zu erhalten.

    Name

    Zweck

    Argumente

    Rückgabe-
    wert

    Beispiel

    debugBreak

    Im Script wird ein "Haltepunkt" gesetzt. Damit ist es möglich, zur Laufzeit eines EbsScripts die Script-Ausführung zu unterbrechen 

    -

    -

     

    diagramAs RasterGraphic

    Exportieren des Diagramms mit der vorgegebenen ID (aus EbsScript /EbsOpen)als Rastergraphik in eine externe Datei mit dem vorgegebenen Pfad. Die Datei-Erweiterung gibt an, in welchem Rastergraphik-Format das Diagramm exportiert wird (BMP, PNG, JPG etc.)

    1: INTEGER: ID der Diagramm-Konfiguration

    2: STRING: Name der externen Rastergraphik-Datei inklusive Pfad

    3: INTEGER: maximal erlaubter Zeitverzug in Sekunden für die Ausführung der Funktion. Muss >= 1 sein. Null oder negativer Wert wird ignoriert, in diesem Fall wird keine Zeitlimitierung berücksichtigt.

     BOOLEAN: true, wenn Ausführung erfolgreich

    var

    ID, maxTimeInSeconds : integer;
    path : string;
    bOK : boolean;

    begin

    ID:=0;

    path:="Picture.png";

    maxTimeInSeconds:=0;//no time restriction

    bOK:=diagramAsRasterGraphic(ID,path,maxTimeInSeconds);

    end;

    diagramDataAsText

    Exportieren der Daten eines Diagramms mit der vorgegebenen ID (aus EbsScript / EbsOpen)  in Text-Format in eine externe Datei mit dem vorgegebenen Pfad werden.

    1: INTEGER: ID der Diagramm-Konfiguration

    2: STRING: Name der externen Datei inklusive Pfad

    3: INTEGER: maximal erlaubter Zeitverzug in Sekunden für die Ausführung der Funktion. Muss >= 1 sein. Null oder negativer Wert wird ignoriert, in diesem Fall wird keine Zeitlimitierung berücksichtigt.

     BOOLEAN: true, wenn Ausführung erfolgreich

    var

    ID, maxTimeInSeconds : integer;
    path : string;
    bOK : boolean;

    begin

    ID:=0;

    path:="Data.csv";

    maxTimeInSeconds:=0;//no time restriction

    bOK:=diagramDataAsText(ID,path,maxTimeInSeconds);

    end;

    ebsHTML

    Ausgabe der Schaltung bzw. des zum aktuellen Kontext zugeordneten Makros als HTML-Datei

    Export aktuelles Modell als HTML-Datei
    "Profiles": array mit den IDs der zu exportierenden Profile; Um den aktiven Profilsatz "Profile" auf "nil" zu exportieren (oder seine Länge auf Null zu setzen)

    1: STRING
    Pfad für die auszugebende HTML-Datei

    mit Defaultwerten
    belegt:

    2:BOOLEAN: wenn true, werden auch die inneren  Daten von Makros exportiert (Standard = true)

    3: ARRAY * von INTEGER: Array mit den IDs der zu exportierenden Profile

    4: PictureTypeEnum: Spezifikation des Grafikformats (Standard = PictureTypePNG)

    5: BOOLEAN: wenn true, wird für jedes Profil eine separate Bilddatei exportiert (Standard = True)

    6: BOOLEAN: wenn true, sind alle Werte enthalten (Standard = false)

    7: BOOLEAN: wenn true, werden Ausdrücke angezeigt (Standard = false, Ausdrücke werden ausgewertet)

    BOOLEAN:
    true: ok
    false: Fehler

    ebsHTML ("C:\\Temp\\Test.htm");

    ebsilonComputation Modes

    Liefert den aktuellen Rechenmodus von EBSILON Rechenkern (Simulation, Validierung, Optimierung, Zeitreihe), kann z.B. in einem KernelScripting aufgerufen werden.

     

    keine

     

                     

     

    EbsilonComputationModeEnum

    (siehe InterfaceUnit System)   

                   

    var iret:integer;

    begin

                iret := ebsilonComputationModes;

                println("iret: ",iret);

                case iret of                        EbsilonComputationModeNone :

                            begin

                                        println("EbsilonComputationModeNone");

                            end;                        EbsilonComputationModeSimulation :

                            begin

                                        println("EbsilonComputationModeSimulation");

                            end;                        EbsilonComputationModeValidation:

                            begin

                                        println("EbsilonComputationModeValidation");

                            end;                        EbsilonComputationModeTimeSeries:

                            begin

                                        println("EbsilonComputationModeTimeSeries");

                            end;                        EbsilonComputationModeOptimization:

                            begin

                                        println("EbsilonComputationModeOptimization");

                            end

                            otherwise

                            begin

                                       println("unknown ebsilonComputationMode");

                            end

                end;                

    end;  

    ebsScriptMode

    Liefert den aktuellen Modus der EbsScript- Ausführung

     keine             

     

     

    EbsScriptModeEnum (siehe InterfaceUnit System)  

     

    ebsXML

    Schreibt die Daten der Schaltung in eine XML-Datei.

    Export aktuelles Modell als XML-Datei
     "Profiles": array mit den IDs der zu exportierenden Profile; Um den aktiven Profilsatz "Profile" auf "nil" zu exportieren (oder seine Länge auf Null zu setzen)

    1: STRING
    Pfad für die auszugebende XML-Datei

    mit Defaultwerten
    belegt:

    2:BOOLEAN

    3: ARRAY * von INTEGER: Array mit den IDs der zu exportierenden Profile

    4: BOOLEAN: wenn wahr, sind alle Werte enthalten (Standard = false)

    5: BOOLEAN: wenn wahre Ausdrücke angezeigt werden (Standard = false)

     

     

    BOOLEAN:
    true: ok
    false: Fehler

    ebsXML("D:\\temp\\model.xml");

    enableActiveFilter

    Schaltet den aktiven Filter ein bzw. aus. Der aktive Filter wird mittels setActiveFilter Funktion gesetzt

    1: Boolean, wenn true - muss der aktive Filter ein-, wenn false – ausgeschaltet werden 

     

                     

     

    BOOLEAN: true wenn der aktive Filter erfolgreich ein / ausgeschaltet wurde, sonst false

     

    eval

    Diese Funktion ermöglicht es, einen als String gegebenen Ausdruck mit EbsScript auszuwerten

    1: STRING: Ausdruck, der ausgewertet werden soll

    variant: Ergebnis der Auswertung

    oder für v.vt=varerror:

    v.error = errorGeneral or errorEvaluatingExpression

    var
        str:string;
        v:variant;
    begin
        inputBox("Was soll ich ausrechnen?", str);
        v:=eval(str);
        str:=printToString ("Das Ergebnis ist: ",
                                     v.rVal);
        messagebox (str);

    end.

    evaluateKernelExpression

    Ermittelt den num. Wert einer Kernelexpressions in KernelScriptings

    1: CONST EBSVAR: value

    2: REAL: var result

    BOOLEAN:
    true: ok
    false: Fehler

                   

     

    evaluateKernelExpres sionWithEnvironment

    Ermittelt auch den num. Wert einer Kernelexpressions in KernelScriptings :

    In dem 3. Argument -
    ARRAY* NAMEDVALUE  sind die Zwischenergebnisse (für den aktuellen Iterationschritt) gespeichert, die wiederum in der KernelExpression als Vorgaben verwendet werden. Damit lässt sich z.B. ein BT 93 (KernelScripting) entwickeln, in dem  als Vorgabewerte KernelExpressions hinterlegt werden. Im Script von BT 93 (KernelScripting) werden dann diese KernelExpressions ausgewertet. Die KernelExpressions können wiederum irgendwelche Zwischenergebnisse benötigen (z.B. aktuelle mittlere logarithmische Temperaturdifferenz bei einem Wärmetauscher). Diese Zwischenergebnisse werden an die Funktion evaluateKernelExpressionWithEnvironment
    als Argument 3 übergeben.

    1: CONST EBSVAR: value

    2: REAL: var result

    3: ARRAY* NAMEDVALUE:
        const environment
        (Paar aus STRING(Name)
        und REAL(Wert))

    BOOLEAN:
    true: ok
    false: Fehler 

    var env:array of NAMEDVALUE;
    resl:real;
    begin 
      setlength( env, 1);
       env[0].name := "T_BWALL";
       env[0].value := 301.3;
      evaluateKernelExpression
       WithEnvironment(BT126.ELAMOW,
                                    resl, env);
    end.             

     

    getActiveFilterName

    Liefert den Namen des aktiven Filters

    keine

    String: Name des aktiven Filters  

     

    getActiveObjectDisplay

    Bei Rückgabe liefert Display-Style (Darstellung-Details) für spezifiziertes Objekt

    1: const ebsobject – das Object dessen Display Style gesucht wird,

    2: objectdisplay (siehe InterfaceUnit System) – Struktur, in der die Darstellung-Details bei Rückgabe gespeichert sind

    Boolean: true, wenn die Ausführung erfolgreich, sonst false  

     

    getActiveViewDisplay

    Liefert alle Objekte inkl. ihre Display Style

    keine

    VIEWDISPLAY (Struktur, die ein array mit allen Objekten und deren Display Style (Darstellung-Details) beinhaltet, siehe dazu InterfaceUnit System)

     

    getCalculationErrors

    gibt die Fehler/Warnungen/Kommentare der letzten Rechnung auf dem aktuellen Profil zurück

    - 1: array of calculationerror var aoc: array of calculationerror; ce:integer;
    begin
     aoc := getCalculationErrors ();
     for ce := low (aoc) to high (aoc) do begin 
      println (aoc[ce].description);
     end;
    end.

    getEbsObjValueAlternatives

    Array mit Paaren aus Wert und Beschreibung für Komboboxeinträge

    EBSVAR: Die zu analysierende Variable 

     ARRAY OF VALUEWITHTEXT

    var alternatives:array of VALUEWITHTEXT;
        evar: ebsvar;
        i:integer;
    begin
        getebsvar(evar,"Turbine.FCHR");
        alternatives:=getEbsObjValueAlternatives( evar );
        for i:=0 to length(alternatives)-1 do begin
            print(alternatives[i].value,": ");
            print(alternatives[i].text,"\n");
        end;
    end.

    makeNamedIndex Diese Funktion weist einer Variablen vom Typ NAMEDINDEX Werte zu.

    1: string: Name

    2. integer: Index

    NAMEDINDEX var n:NAMEDINDEX;
    begin
     n   := makeNamedIndex("Text", 7);
    end.
    makeNamedValue Diese Funktion weist einer Variablen vom Typ NAMEDVALUEWerte zu.

    1: string: name

    2. real: value

    NAMEDVALUE var v:NAMEDVALUE;
    begin
      v   := makeNamedValue("Text", -88.1);
    end.
    makeValueWithText Diese Funktion weist einer Variablen vom Typ VALUEWITHTEXTWerte zu.

    1: real: Wert

    2. string: Text

    VALUEWITHTEXT vwt:VALUEWITHTEXT;
    begin
      vwt := makeValueWithText( -1234.1, "text");
    end.
    makeValueWithUnit Diese Funktion weist einer Variablen vom Typ VALUEWITHUNITWerte zu.IT.

    1: real: Wert

    2. UNIT_Enum: Einheit

    VALUEWITHUNIT vwu:VALUEWITHUNIT;
    begin
      vwu := makeValueWithUnit(-77.7, UNIT_mbar);
    end.

    printModelEx

     

    1: array of PRINTCONTROL:

    2: STRING: Druckername

    3: STRING: Name der Ausgabedatei

    BOOLEAN:
    true=drucken erfolgreich
    false=andernfalls

     

    printModelEx2

    Ermöglicht weitere Einstellungen zum Drucken: Filter, unsichtbare Objekte

    1: array of PRINTCONTROL2:               

    2: STRING: Druckername

    3: STRING: Name der Ausgabedatei

    BOOLEAN:
    true=drucken erfolgreich
    false=andernfalls

     Siehe Beispiel am Ende dieser Seite

    setActiveFilter

    Setzt den aktiven Filter                

     

     1: String, Name des Filters (Groß- und Kleinschreibung beachten)   Boolean: true, wenn die Ausführung erfolgreich, sonst false                                

     

     

    var brc: boolean;
    arcontrol : array of PRINTCONTROL2; // see Interface unit System
    control : PRINTCONTROL2;
    begin
    
        setlength (arcontrol, 1);
    
        control.layout      := "CM";           // name of a print layout
    control.context := "P6_Context"; // name of a context
    control.profile := "Design"; // name of a profile
    control.useFilter := filterTypeApp; // FILTERTYPEENUM
    control.filterIndex := 0; // first self defined APP-Filter (Inactive)
    control.showAll := true;
    control.printFrame := true;
    control.printUnconnectedLinks := true;
    control.markUnconnectedStreamEndings := true;
    control.resetToWholeModel := false;

    arcontrol[0] := control;
    println (printModelEx2 (arcontrol, "\\\\c47bra01\\HP Color Laserjet")); // prints "true" or "false"
    end.