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 |
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 |
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.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.