Diese Funktionen dienen zum Drucken, Speichern und Aktualisieren des Modells.
Insbesondere zur Erstellung einer Serie von Dokumenten für unterschiedliche Zustände kann ein automatisches Drucken aus EbsScript von Nutzen sein.
Name |
Zweck |
Argumente |
Rückgabewert |
Beispiel |
changeObjectName |
Mit der Funktion changeObjectName kann man den Namen von Objekten umbenennen. Dabei kann über ein Flag gesteuert werden, wie verfahren werden soll, falls der gewünschte Name schon existiert. Beispiel: strNew:="Throttle_5"; benennt „Throttle_3“ in „Throttle_5“ um, allerdings nur, wenn des in der Schaltung noch kein Objekt mit dem Namen „Throttle_5“ gibt. Ob die Umbenennung erfolgreich war, kann man am Rückkehrcode von changeObjectName erkennen. Alternativ kann man auch das Flag „allowModify“ (das 3. Argument von changeObjectName) verwenden: strNew:="Throttle_5"; In diesem Fall enthält strNew nach dem Aufruf den Namen des Bauteils, das vorher „Throttle_3“ hieß, also „Throttle_5“, wenn die Umbenennung durchgeführt werden konnte, andernfalls „Throttle_3“. Ein 4. Parameter „checkOnly“ ermöglicht es, lediglich zu testen, ob eine Umbenennung möglich wäre, ohne das Objekt wirklich umzubenennen: strNew:="Throttle_5"; liefert true, wenn die Umbenennung möglich wäre, ändert aber nichts am Namen des Objekts. |
1: STRING: aktueller Name 2: STRING: neuer Name 3: BOOLEAN: allowModify-Flag (siehe Zweck) 4: BOOLEAN: checkOnly-Flag (siehe Zweck)
|
BOOLEAN: |
siehe Zweck |
getAllCompNames |
Wie getCompNames, jedoch werden auch Komponenten geliefert, die für die Berechnung deaktiviert sind. |
1: INTEGER: Bauteil-Nummer 2: ARRAY OF STRING: Feld für die Komponentennamen 3: INTEGER: Größe des übergebenen Feldes 4: BOOLEAN: Flag, ob bei Anwesenheit von Makros auch die Objekte der untergeordneten Kontexte geliefert werden soll (standardmäßig wird nur der aktuelle Kontext betrachtet) |
INTEGER: Gesamtzahl der gefundenen Komponenten (davon werden aber nur so viele in die Felder eingetragen, wie hineinpassen) |
nCount:=getAllCompNames( 46, arstrMeasmNames, 1000); |
getAllPipeNames |
Wie getPipeNames, jedoch werden auch Komponenten geliefert, die für die Berechnung deaktiviert sind. |
1: INTEGER: Leitungstyp (siehe unten) 2: ARRAY OF STRING: Feld für die Leitungsnamen 3: INTEGER: Größe des übergebenen Feldes 4: BOOLEAN: Flag, ob bei Anwesenheit von Makros auch die Objekte der untergeordneten Kontexte geliefert werden soll (standardmäßig wird nur der aktuelle Kontext betrachtet) |
INTEGER: Gesamtzahl der gefundenen Leitungen (davon werden aber nur so viele in die Felder eingetragen, wie hineinpassen) |
nCount:=getAllPipeNames( 3, arstrNames, 100 ); |
getCalcState |
liefert den Berechnungsstatus einer Komponente, d.h. ob eine Komponente für die Berechnung herangezogen wird oder lediglich als passive Grafik verwendet wird |
1: STRING |
INTEGER: |
iStatus:=getCalcState( "Randwert" ); |
getCompNames |
Mit dieser Funktion ist es möglich, in einer Schleife eine Komponente nach der anderen abzuarbeiten. Sie liefert ein Array mit den Namen aller Komponenten eines Typs. Das Array muss zuvor in passender Größe angelegt worden sein. |
1: INTEGER: Bauteil-Nummer 2: ARRAY OF STRING: Feld für die Komponentennamen 3: INTEGER: Größe des übergebenen Feldes 4: BOOLEAN: Flag, ob bei Anwesenheit von Makros auch die Objekte der untergeordneten Kontexte geliefert werden soll (standardmäßig wird nur der aktuelle Kontext betrachtet) |
INTEGER: Gesamtzahl der gefundenen Komponenten (davon werden aber nur so viele in die Felder eingetragen, wie hineinpassen) |
nCount:=getCompNames( 46, arstrMeasmNames, 200); |
getEbsScriptOutputfilename |
Gibt den EbsScript-Ausgabedateipfad zurück. |
- |
STRING: |
var str:string; begin str:=getEbsScriptOutputfilename; println (str); setEbsScriptOutputfilename str:=getEbsScriptOutputfilename; println (str);
if (getEbsScriptOutputfilenameAddTimestamp) begin println ("Timestamp will be added"); end; end; |
getEbsScriptOutputfilename |
Gibt zurück, ob an die EbsScriptausgabe-Datei ein Zeitstempel angehängt wird. |
- |
BOOLEAN: |
|
getModelEbsScriptOutputfilename |
Liefert den Namen der für dieses Modell spezifizierten EbsScript-Ausgabedatei |
- |
STRING: |
getModelEbsScriptOutputfilename(); |
getObjects |
Liefert alle Objekte eines bestimmten Typs aus der Schaltung |
1: STRING: Typ (Klasse) der gewünschten Objekte 2: BOOLEAN: false: nur Objekte im aktuellen Kontext (Standardeinstellung) 3: BOOLEAN: false: alle Objekte (Standardeinstellung)
|
ARRAY of EBSOBJECT: gewünschte Objekte |
var are:array of ebsobject; i,n:integer; strName:string; begin are:=getObjects("ebscomp1"); n:=length(are); for i:=0 to n-1 do begin println (are[i]); end; end; |
getPipeNames |
Mit dieser Funktion ist es möglich, in einer Schleife eine Leitung nach der anderen abzuarbeiten. Sie liefert ein Array mit den Namen aller Leitungen eines Typs (Typ-Nummern siehe unten). Das Array muss zuvor in passender Größe angelegt worden sein. |
1: INTEGER: Leitungstyp (siehe unten) 2: ARRAY OF STRING: Feld für die Leitungsnamen 3: INTEGER: Größe des übergebenen Feldes 4: BOOLEAN: Flag, ob bei Anwesenheit von Makros auch die Objekte der untergeordneten Kontexte geliefert werden soll (standardmäßig wird nur der aktuelle Kontext betrachtet) |
INTEGER: Gesamtzahl der gefundenen Leitungen (davon werden aber nur so viele in die Felder eingetragen, wie hineinpassen) |
nCount:=getPipeNames ( 3, |
getText |
liefert den Text, der in einem Textobjekt eingetragen ist |
1: STRING: |
STRING: |
strText:=getText( "Textobjekt" ); |
getTextNames |
Mit dieser Funktion ist es möglich, in einer Schleife ein Textfeld nach dem anderen abzuarbeiten. Sie liefert ein Array mit den Namen aller Textfelder (einschließlich aller Knöpfe und Alarmfelder). Das Array muss zuvor in passender Größe angelegt worden sein. |
1: ARRAY OF STRING: Feld für die Textfeldnamen 2: INTEGER: Größe des übergebenen Feldes 3: BOOLEAN: Flag, ob bei Anwesenheit von Makros auch die Objekte der untergeordneten Kontexte geliefert werden soll (standardmäßig wird nur der aktuelle Kontext betrachtet) |
INTEGER: Gesamtzahl der gefundenen Textfelder (davon werden aber nur so viele in das Feld eingetragen, wie hineinpassen) |
var begin |
getVisibleState |
liefert den Sichtbarkeitsstatus eines Objekts, d.h. ob ein Objekt in der Schaltung sichtbar oder unsichtbar ist |
1: STRING: |
INTEGER: |
iStatus:=getVisibleState( "Randwert" ); |
printModel |
Druckt das Modell mit den Standarddruckeinstellungen, unter Verwendung des spezifizierten Layout. |
1: STRING: Name des Layouts, das zum Drucken benutzt wird (siehe Druckvorschau, Layouts) 2: STRING: Name des Drucker (optional; 3: STRING: bei Umlenkung in Datei Name der Ausgabedatei (optional) |
BOOLEAN: |
printModel ("SmallFrameLandscape"); |
restoreModelVariables |
siehe saveModelVariables und saveProfileVariables |
1: INTEGER: Index, welcher gespeicherte Satz verwendet werden soll 2: BOOLEAN: false: gespeicherten Satz nach dem Laden verwerfen |
BOOLEAN: |
|
restoreProfileVariables |
1: INTEGER: Index, welcher gespeicherte Satz verwendet werden soll 2: BOOLEAN: false: in das ursprüngliche Profil zurückschreiben (Standardeinstellung) 3: BOOLEAN: false: gespeicherten Satz nach dem Laden verwerfen (Standardeinstellung) |
BOOLEAN: |
|
|
saveModel |
Speichert den aktuellen Zustand der Schaltung auf der Festplatte ab. Bei dieser Funktion wurde ein weiterer optionaler Parameter „copy“ implementiert. Ist dieser Parameter „true“, verhält sich die Funktion wie der Menübefehl „Kopie speichern unter“, d.h. eine Kopie des Modells wird unter einem anderen Namen abgespeichert, ohne zu dieser Datei zu wechseln. . |
1: STRING: Dateiname mit Pfad (optional; wenn leer, wird die Datei an derselben Stelle wie zuvor gespeichert) 2:BOOLEAN: "copy=true":
|
BOOLEAN: |
saveModel; |
saveModelVariables |
Mit den Funktionen saveModelVariables und saveProfileVariables kann man die aktuellen Werte aller Modell- bzw. Profilvariablen intern zwischenspeichern. Mit den Funktionen restoreModelVariables bzw. restoreProfileVariables kann man sie dann zu einem späteren Zeitpunkt herstellen. Es ist auch möglich, mehrere Stände zwischenzuspeichern. Die Funktionen saveModelVariables und saveProfileVariables liefern zu diesem Zweck einen Index als Rückgabewert, der dann bei den Restore-Funktionen angegeben werden muss. Standardmäßig wird nach einem Restore der Zwischenstand gelöscht. Man kann sich den Zwischenstand jedoch sichern (falls später eine erneute Wiederherstellung erforderlich ist), in dem man das 2. Argument der Restore-Funktion „keepEntryForFurtherRestores“ auf „true“ setzt. |
- |
INTEGER: Index für die Wiederherstellung |
|
saveProfileVariables |
- |
INTEGER: Index für die Wiederherstellung |
|
|
setCalcState |
setzt den Berechnungsstatus einer Komponente, d.h. ob eine Komponente für die Berechnung herangezogen oder lediglich als passive Grafik verwendet werden soll |
1: STRING 2:INTEGER: |
BOOLEAN: |
setCalcState( "Randwert", 1 ); |
setColor |
Diese Funktion ermöglicht es, die Farben eines Objekts (Komponente, Leitung, Textfeld) zu setzen.
Durch den dritten optionalen Parameter „colorIndex“ wird gesteuert, welche der vier Farben „Farbe 1“ – „Farbe 4“ geändert wird:
colorIndex = 0 : Farbe 1
colorIndex = 1 : Farbe 2
colorIndex = 2 : Farbe 3
colorIndex = 3 : Farbe 4
Wird der Parameter „colorIndex“ weggelassen, dann wird Farbe 1 geändert.
Die Farbe muss als RGB-Wert im Format $00bbggrr angegeben werden, wobei bb, gg, rr jeweils von 0 bis $ff laufen können und den Blau-, Grün- bzw. Rotanteil angeben.
Beispiele:
$00ff0000 = 16711680 reines Blau
$0000ff00 = 65280 reines Grün
$000000ff = 255 reines Rot
$00ffffff = 16777215 Weiß
Alternativ kann auch eine der Farben der Standard-Palette angegeben werden. Hierzu geben Sie einen Wert von $01000000 + Palettenindex vor.
(Diese entsprechen den Werten der Standardfarben in der Eigenschaften-Leiste unter Layout.) |
1: STRING: 2: INTEGER: 3: INTEGER: |
- |
setColor ( "Randwert", $000000ff);
// ändert Hintergrundfarbe des Bauteils in rot
setColor ( "Heliostatenfeld", $00ffffc0, 1 );
// ändert Farbe der Heliostaten in helles türkis
setColor ( "Heliostatenfeld", 01000000 );
// ändert Hintergrundfarbe der Heliostaten auf Palettenindex 0 (schwarz) setColor ( "Heliostatenfeld", $01000001, 1 ); // ändert Farbe der Heliostaten auf Palettenindex 1 (weiß)
setColor( "Boundary Value", 255 );
|
setEbsScriptOutputfilename |
Setzt den EbsScript-Ausgabedateipfad auf einen bestimmten Pfad und bestimmt, ob ein Zeitstempel an die Ausgabe-Datei angehängt wird. |
1: STRING: 2:BOOLEAN |
- |
setEbscriptOutpufilename ("C:\\Temp\\Test", false); |
setModelEbsScriptOutputfilename |
Leitet für dieses Modell die EbsScript-Ausgabe in die angegebene Datei um. Die für die übrigen Modelle gesetzte EbsScript-Ausgabedatei wird dadurch nicht geändert. |
1: STRING: Name (mit Pfad) der gewünschten Ausgabedatei |
- |
setModelEbsScriptOutputfilename ("D:\\Temp\\EbsScript.txt"); |
setModelTime |
Diese Funktion ermöglicht das Setzen der Modellzeit. Diese wird normalerweise beim Empfang von Daten von EposInterface oder EposArchive gesetzt, kann aber bei Bedarf auch explizit modifiziert werden. |
1: STRING: |
- |
setModelTime( "01.12.2004 16:30:00" ); |
setModelTimeForArchiveId |
Diese Funktion ermöglicht das Setzen der Modellzeit für einen bestimmten Archivtopf. |
1: INTEGER: 2: STRING: |
- |
setModelTimeForArchiveId(300, "01.12.2024 16:30:00" ); |
setStandard Color |
Diese Funktion setzt die Farben des Objekts wieder auf den ursprünglichen Zustand zurück |
1: STRING: 2: INTEGER: |
- |
setStandardColor ( "Randwert" ); |
setText |
setzt den Text, der in ein Textobjekt eingetragen wird |
1: STRING: 2: STRING: |
- |
setText( "Textobjekt", "Dies ist ein Test-Text" ); |
setVisibleState |
setzt den Sichtbarkeitsstatus eines Objekts, d.h. blendet Objekte aus oder macht sie sichtbar. |
1: STRING: 2:INTEGER: |
- |
setVisibleState( "Randwert", 1); |
switchShiftView |
Mit der Funktion switchShiftView kann die Wartenansicht auf ein bestimmtes Bild umgeschaltet werden. |
1: INTEGER: Index des gewünschten Bildes |
BOOLEAN: |
|
updateModel |
Aktualisiert die Anzeige auf dem Bildschirm. |
1: BOOLEAN: 2: BOOLEAN: |
- |
updateModel; |
Im Gegensatz zu "printModel" erzeugen die Funktionen ”print” und ”printToString” keine Ausgabe auf dem Drucker, sondern werden lediglich intern verwendet. Sie finden diese Funktionen in den Kapiteln Einfache Ein-/Ausgabe-Funktionen beziehungsweise String-Funktionen.
Für die Leitungstypen sind folgende Kennzahlen definiert:
0 |
Alle Leitungen |
1 |
Luft |
2 |
Rauchgas |
3 |
Dampf |
4 |
Wasser |
5 |
Sollwert |
6 |
Istwert |
7 |
Rohgas |
8 |
Öl |
9 |
Elektro |
10 |
Mechanische Welle |
11 |
Kohle |
12 |
Gas |
13 |
Logik |
14 |
Benutzerdefiniert |
15 |
2-Phasen Fluid gasförmig |
16 |
2-Phasen Fluid flüssig |
17 |
Salzwasser |
18 |
Universalfluid |
19 |
Binäres Gemisch |
20 |
Thermoliquid (Öl / Schmelze) |
21 |
Feuchte Luft |
22 |
NASA |