EBSILON®Professional Online Dokumentation
EbsScript / Topologiezugriffe
In diesem Thema
    Topologiezugriffe
    In diesem Thema

    Topologiezugriff


    EbsScript dient in erster Linie zur automatisierten Verarbeitung der in EBSILON hinterlegten Daten. Eine Änderung der Topologie der Schaltung ist mit EbsScript nicht möglich. Dies muss mit dem grafischen Editor gemacht werden.

    In bestimmten Fällen ist es jedoch hilfreich, aus EbsScript heraus auf Topologiefunktionen zugreifen zu können. Um z.B. von einer Komponente aus auf die Werte der angeschlossenen Leitungen zurückgreifen zu können, muss man wissen, welche Leitung wo angeschlossen ist. Dies wird durch spezielle Topologie-Funktionen (in diesem Fall getPipeAtLink) ermöglicht, die im Kapitel Vorgabewertfunktionen beschrieben sind.

    Es gibt jedoch eine vereinfachte Syntax, mit der man auf Anschlüsse zurückgreifen kann. Hierbei sind auch Verschachtelungen möglich.

    Syntax

    Beschreibung

    Beispiel

    compname._i

    Leitung an Pin i

    Generator._2.Q  Elektrische Generatorleistung

    compname.__i

    Komponente am anderen Ende der Leitung an Pin i

    Dampferzeuger.__2.ETAI Wirkungsgrad
    HD-Turbine Dampferzeuger.__2._2.P    Austrittsdruck HD-Turbine

    pipename._in

    Komponente am Eingang der Leitung

    Elektro._in.ETAG Generatorwirkungsgrad

    pipename._out

    Komponente am Ausgang der Leitung

    L_Frischdampf._out.ETAI  Wirkungsgrad HD-Turbine

    comp.__[Anschlussnummer] Zugriff auf nächstes Bauteil (KEINE Leitung, welches über eine Leitung an Anschluss „Anschlussnummer" verbunden ist. turbine.__6 gibt das mit dem Wellenausgang der Turbine verbundene Bauteil zurück
    comp.__[Anschlussnummer] Zugriff auf nächstes Bauteil oder Leitung, welches über eine Leitung an Anschluss „Anschlussnummer" verbunden ist. transmitter.__1d gibt das mit dem Eingang des Signalübertragers verbundene Objekt zurück
    comp.__[Anschlussnummer] Zugriff auf nächste Leitung (KEIN Bauteil), welches über eine Leitung an Anschluss „Anschlussnummer" verbunden ist. regler.__3p gibt die mit dem Stellgrößenausgang des Reglers verbundene Leitung zurück
    pipe._in und ._out Zugriff auf nächstes Bauteil (KEINE Leitung), welches mit dem Ein- bzw. Austritt der Leitung verbunden ist. water._in gibt das mit dem Eintritt der Wasserleitung verbundene Bauteil zurück
    pipe._ind und ._outd Zugriff auf nächstes Bauteil oder Leitung, welches mit dem Ein- bzw. Austritt der Leitung verbunden ist. logic._ind gibt das mit dem Eintritt der Logikleitung verbundene Objekt zurück
    pipe._inp und ._outp Zugriff auf nächste Leitung (KEIN Bauteil), welches mit dem Ein- bzw. Austritt der Leitung verbunden ist. scheduled._inp gibt die Leitung zurück, auf die die Sollwertleitung zeigt

    Die EbsScript-Funktion getLogicObj() kann benutzt werden, um auf an einer Leitung andockende Wertekreuze, Bauteile wie 45, 46 etc. und andere Logikleitungen zugreifen zu können.

     

    Entsprechend kann auch auf andere Attribute von Komponenten, Leitungen und Textfeldern zugegriffen werden:

    Syntax

    Beschreibung

    Beispiel

    object.visible

    Sichtbarkeit des Objekts

    Messwert.visible:=false;          // unsichtbar schalten

    object.description

    Beschreibungstext

    Messwert.description:="T hinter HD-VW 5";

    object.description2

    Beschreibungstext 2 (Leittechnik-Kennung)

    Messwert.description2:="I0005";

    object.description3

    Beschreibungstext 3 (Verwendungsbereich)

    Messwert.description3:="Kessel";

    object.description4

    Beschreibungstext 4 (Kennzeichen)

    Messwert.description4:="X";

    object.calcstate

    Berechnungsstatus:

    0: Komponente deaktiviert
    1: Komponente wird berechnet

    Dummy.calcstate:=0;       //  Komponente Dummy deaktivieren

    Für Textfelder stehen darüber hinaus folgende Attribute zur Verfügung:

    Syntax

    Beschreibung

    Beispiel

    Textfeld.text

    Text des Textfelds

    Textfeld.text:="Hallo";

    Textfeld.fontname

    Schriftart

    Textfeld.fontname:="Courier New";

    Textfeld.fontcol

     

    Schriftfarbe

    Textfeld.fontcol:=16711680;    // blau
    Textfeld.fontcol:=65280;           // grün
    Textfeld.fontcol:=255;                // rot

    Textfeld.fontsize

    Schriftgröße

    Textfeld.fontsize:=12;

    Die Verwendung dieser Syntax ist sowohl mit Ebsvar-Konstanten (direkte Verwendung des Namens des entsprechenden Objekts in der Schaltung) als auch mit Ebsvar-Variablen (im EbsScript definierte Variablen, die auf Objekte in der Schaltung verweisen) möglich. Beispiel:

    Wenn es in der Schaltung eine Leitung mit dem Namen H2O_DAMPF_4 gibt und ePipe im EbsScript deklariert ist

    var ePipe:ebsPipe;
    

    kann nach der Zuweisung

     ePipe:=H2O_DAMPF_4;
    

    sowohl mit

    epipe.p
    

    als auch mit

    H2O_DAMPF_4.p

    auf den Druck dieser Leitung zugegriffen werden.