Along with the elementary data types integer, real, boolean, char and string, which are common in PASCAL, the EbsScript compiler can also identify further data types, which enable a direct coupling between the program and the EBSILON®Professional-model.
The EbsScript compiler also handles these data types as elementary data types.
There is also a primitive type named "Byte". Variables and constants of this type correspond to an 8-bit-wide unsigned integer, i.e. they assume values of 0 – 255. All arithmetic calculations are executed modulo 256.
Please note that in contrast to this, the type "Char" corresponds to a 16-bit-wide integer and a UCS-2 (UTF-16) character (EbsScript strings are UCS-2-coded).
ebsClass |
Superior class for ebsObjects and ebsVars |
ebsObject |
Model objects (components, pipes, text fields) |
ebsData |
Objects, which contain data (components and pipes) |
ebsComp |
Components |
ebsComp1, ..., ebsComp162 |
Components of type 1,..., 162 |
ebsPipe |
Pipes |
ebspipewater, ebspipesteam, ebspipeair, ebspipecoal, ebspipecrudegas, ebspipeelectric, ebspipefluegas, ebspipesaltwater, ebspipegas, ebspipeuser, ebspipeoil, ebspipelogic, ebspipeactual, ebspipescheduled, ebspipe2phaseliquid, ebspipe2phasegaseous, ebspipeshaft, ebspipebinarymixture, ebspipethermoliquid, ebspipenasa, |
Pipes of the type Water, ..., mechanical shaft |
ebsText |
Text fields (including value crosses) |
ebsVar |
for individual specification values or model variables respectively, also strings and elements of arrays |
ebsCharline |
Characteristic line |
ebsFamilyOfCharlines | Characteristic field |
ebsMacro |
Macro, derived from ebsMacrobase |
ebsbutton |
Button |
ebsalertfield |
Alert fields |
ebsvaluefield |
Value fields |
ebsMacroBase | Macro (new) |
ebsMacroInterface | derived from ebsMacroBase |
ebsMatrix | Matrix as used in ebsComp and ebsMacro |
ebsProfiled | Base of all profile dependend types (ebsValue, ebsCharline, ebsMatrix...) |
pointer | kind of void* |
enumStrings ( { enumeration type or value } ) : array of NAMEINDEX | get ids and texts of any enumeration type |
enumToString ( { enum_value } { , format = "G" } ): string | get id or text to one enum_value |
typeof ( { symbol } ) | Example var r: real; r2: typeof (r); |
These data types form a hierarchy of objects with the corresponding inheritance properties. The class of an object can be determined with the function getRuntimeClass. The attributes are defined by the specification and the result values of the corresponding components or pipes respectively. For more details see Topology Information.
The sample file Block750.ebs contains the EbsScripts "Topology" and "EbsTypes", which show the use of these data types.
Click here >> Block750 Demo << to load this example - see EbsScript 4 and 16 .