Neben den in PASCAL üblichen elementaren Datentypen integer, real, boolean, char und string kennt der EbsScript-Compiler weitere Datentypen, die eine direkte Kopplung zwischen dem Programm und der Ebsilon-Schaltung ermöglichen.
Diese Datentypen werden vom EbsScript-Compiler ebenfalls als elementare Datentypen behandelt.
Es gibt auch den primitiven Type „Byte“. Variable und Konstanten von diesem Typ entsprechem einem 8-Bit breiten vorzeichenlosen Integer, d.h. sie nehmen Werte von 0 – 255 an. Alle arithmetischen Rechnungen finden modulo 256 statt.
Bitte beachten Sie, dass im Gegensatz dazu der Typ „Char“ einem 16-bit breiten Integer entspricht und einem UCS-2 (UTF-16) Zeichen entspricht (EbsScript-Strings sind UCS-2 kodiert.)
ebsClass |
übergeordnete Klasse für ebsObjects und ebsVars |
ebsObject |
Schaltungsobjekte (Komponenten, Leitungen, Textfelder) |
ebsData |
Objekte, die Daten enthalten (Komponenten und Leitungen) |
ebsComp |
Komponenten |
ebsComp1, ..., ebsComp138 |
Komponenten vom Typ 1,..., 138 |
ebsPipe |
Leitungen |
ebspipewater, ebspipesteam, ebspipeair, ebspipecoal, ebspipecrudegas, ebspipeelectric, ebspipefluegas, ebspipesaltwater, ebspipegas, ebspipeuser, ebspipeoil, ebspipelogic, ebspipeactual, ebspipescheduled, ebspipe2phaseliquid, ebspipe2phasegaseous, ebspipeshaft, ebspipebinarymixture, ebspipethermoliquid, ebspipenasa, |
Leitungen vom Typ Wasser, ..., mechanische Welle |
ebsText |
Textfelder (einschl. Wertekreuze) |
ebsVar |
für einzelne Spezifikationswerte bzw. Modellvariablen, auch Kennlinien, Strings und Elemente von Arrays |
ebsCharline |
Kennlinie |
ebsFamilyOfCharlines | Kennfeld |
ebsMacro |
Makro, abgeleitet von ebsMacroBase |
ebsbutton |
Knöpfe |
ebsalertfield |
Alarmfelder |
ebsvaluefield |
Wertefelder |
ebsMacroBase | Makro (Neues) |
ebsMacroInterface | Abgeleitet von EbsMacroBase |
ebsMatrix | Matrix , genutzt in EbsComp und EbsMacro |
ebsProfiled | Basis alle profil-abhängige Typen wie ebsValue, ebsCharline, ebsMatrix... |
pointer | entspricht void* |
enumStrings ( { enumeration type or value} ) : array of NAMEINDEX | liefert IDs und Texte zu jedem enumeration type |
enumToString ( {enum_value } { , format = "G"} ) : string | liefert ID oder Text zu einem enum_value |
typeof ( { symbol } ) | Beispiel var r: real; r2: typeof (r); |
Diese Datentypen bilden eine Hierarchie von Objekten mit entsprechenden Vererbungseigenschaften. Die Klasse eines Objekts kann durch die Funktion getRuntimeClass ermittelt werden. Die Attribute sind durch die Spezifikations- und Ergebniswerte der entsprechenden Komponenten bzw. Leitungen definiert. Zu weiteren Einzelheiten siehe Topologieinformationen.
Die Beispieldatei Block750.ebs enthält die EbsScripte "Topology" und "EbsTypes", die die Anwendung dieser Datentypen zeigt.
Hier klicken Block750 Demo um dieses Beispiel zu laden - siehe EbsScripts 4 and 16.