| Das #Variable-Objekt dient zur Darstellung oder/und Eingabe einer numerischen/alphanumerischen Variable.   Beispiel   
   Parameter Object 
| Spalte A | M/O | Default | Beschreibung |  
| #Variable | M | 
 | Darstellung oder/und Eingabe einer numerischen/alphanumerischen Variable | Text/File 
| Spalte B | M/O | Default | Beschreibung |  
| [text]<format>[text] | M | 
 | Statischer Text kann mit einem Format kombiniert werden. Diese Formate werden weiter unten beschrieben. |    Siehe auch Masssysteme
   Formate Um den Text, der im Variable Objekt dargestellt wird, zu formatieren können folgende Formate verwendet werden. Zur Erklärung sehen Sie hier das Grundgerüst:   Text %[Vorzeichen][Vorkommastellen].[Nachkommastellen][Typ] Text   Vorzeichen 
| Vorzeichen | Beschreibung |  
| + | Wird dieses Zeichen vorangestellt, so wird immer ein Vorzeichen ("+" oder "-") angegeben. |  
| 0 | Wird dieses Zeichen vorangestellt, so werden alle nicht verwendeten Zeichen mit "0" aufgefüllt. |   Beispiel 
| Eingabe | Format | Ausgabe |  
| 10000 | %+d | "+10000" |  
| 10000 | %08d | "00010000" |   Vorkommastellen Zahl, gibt die Anzahl Stellen links des Dezimalpunkts an.   Beispiel 
| Eingabe | Format | Ausgabe |  
| 10000 | %8d | "   10000" |   Nachkommastellen Zahl, gibt die Anzahl Stellen rechts des Dezimalpunkts an.   Beispiel 
| Eingabe | Format | Ausgabe |  
| 100.1111 | %4.2f | " 100.11" |   Typ 
| Typ | Beschreibung | Bits |  
| b | Binärdarstellung | 16 |  
| lb | Binärdarstellung | 32 |  
| llb | Binärdarstellung | 64 |  
| d oder i | Ganzzahldarstellung mit Vorzeichen | 16 |  
| ld oder li | Ganzzahldarstellung mit Vorzeichen | 32 |  
| lld oder lli | Ganzzahldarstellung mit Vorzeichen | 64 |  
| u | Ganzzahldarstellung ohne Vorzeichen | 16 |  
| lu | Ganzzahldarstellung ohne Vorzeichen | 32 |  
| llu | Ganzzahldarstellung ohne Vorzeichen | 64 |  
| f oder g | Fliesskommazahl mit Vorzeichen | 32 |  
| lf oder lg | Fliesskommazahl mit Vorzeichen | 64 |  
| c | Buchstabe | 8 |  
| s | Text | 
 |  
| x | Hexadezimaldarstellung | 16 |  
| lx | Hexadezimaldarstellung | 32 |  
| llx | Hexadezimaldarstellung | 64 |  
| e | Exponentialdarstellung | 64 |    Ganzzahlwerte mit Dezimalpunkt
 Es ist möglich Ganzzahlwerte auf dem Bildschirm mit Dezimalpunkt darzustellen. Ein Wert 1000 Gramm kann auf dem Bildschirm in der Einheit kg 1.000 dargestellt und auch eingegeben werden. Dadurch kann in den meisten Fällen auf der Steuerung auf eine aufwendige Gleitkomma-Arithmetik verzichtet werden (Geschwindigkeit!).   Beispiel: %3.2d     Formate von Datum und Zeit Die Datentypen DT, DATE und TIME werden folgendermassen projektiert, wobei diese Projektierung sowohl als Eingabe- wie auch Ausgabemaske verwendet wird: DT 
| Format | Beschreibung | Anzahl Zeichen | Wertebereich |  
| d | Tag des Monats, dargestellt durch zwei Zahlen | 2 | 01-31 |  
| m | Monat des Jahres, dargestellt durch zwei Zahlen | 2 | 01-12 |  
| y | Jahr, dargestellt durch zwei Zahlen | 2 | 00-99 |  
| Y | Jahr, dargestellt durch vier Zahlen | 4 | 0001-9999 |  
| H | Stunde, dargestellt durch zwei Zahlen | 2 | 00-23 |  
| M | Minute, dargestellt durch zwei Zahlen | 2 | 00-59 |  
| S | Sekunde, dargestellt durch zwei Zahlen | 2 | 00-59 |  
| P | AM/PM - Darstellung Die Stunden werden umgerechnet und P wird durch "AM" oder "PM" ersetzt.   Siehe auch: AM/PM Zeitsystem | 2 | 01-12 AM und 01-12 PM |  
| p | am/pm - Darstellung Die Stunden werden umgerechnet und p wird durch "am" oder "pm" ersetzt.   Siehe auch: AM/PM Zeitsystem | 2 | 01-12 am und 01-12 pm |  
| a | Abgekürzter Wochentag, in der Sprache des Betriebsystems | 2 | Mo,Di,Mi,Do,Fr,Sa,So |  
| A | Ausgeschriebener Wochentag, in der Sprache des Betriebsystems | 
 | Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag |  
| b | Abgekürzter Monatsname, in der Sprache des Betriebsystems | 3 | Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez |  
| B | Ausgeschriebener Monatsname, in der Sprache des Betriebsystems | 
 | Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember |   Beispiele 
| Format | Ausgabe |  
| %[d.m.Y H:M:S]DT | 26.01.2012 14:54:36 |  
| %[dd.mm.YY HH:MM:SS]DT | 26.01.2012 14:54:36 |  
| %[d.m.Y H:M:S P]DT | 26.01.2012 02:54:36 PM |  
| %[A, d.B Y]DT | Donnerstag, 26.Januar 2012 |   Time 
| Format | Beschreibung | Anzahl Zeichen | Wertebereich |  
| H | Stunde, dargestellt durch eine Zahl | 1 | 0-9 |  
| HH | Stunde, dargestellt durch zwei Zahlen | 2 | 00-23 |  
| M | Minute, dargestellt durch eine Zahl | 1 | 0-9 |  
| MM | Minute, dargestellt durch zwei Zahlen | 2 | 00-59 |  
| S | Sekunde, dargestellt durch eine Zahl | 1 | 0-9 |  
| SS | Sekunde, dargestellt durch zwei Zahlen | 2 | 00-59 |  
| MS | Millisekunde, dargestellt durch eine Zahl | 1 | 0-9 |  
| MSMS | Milisekunde, dargestellt durch zwei Zahlen | 2 | 00-99 |  
| MSMSMS | Milisekunde, dargestellt durch drei Zahlen | 3 | 000-999 |   Beispiele 
| Format | Ausgabe |  
| %[H:M:S:MS]T | 9:3:7:4 |  
| %[HH:MM:SS:MSMSMS]T | 09:03:07:004 |      Wenn im Text ein %-Zeichen ausgegeben werden soll, müssen zwei %-Zeichen angegeben werden.
   Beispiel: 
| Format | Ausgabe |  
| Wert: %d %% | Wert:    0 % |   Font X, Y, DX, DY Color BackColor Format   Action 
| Spalte K | M/O | Default | Beschreibung |  
| 
 | O | 
 | Ohne Angabe einer Action wird nur der Wert dargestellt. |  
| SetVar | O | 
 | es werden die SetVar-Aktionen unterstützt |  
| #Page=<name> | O | 
 | Öffnet die Tastatur-Page und setzt den Eingabefocus.    Index Variablen
 <name> kann zwischen %-Zeichen gesetzt Variablenamen enthalten.   Beispiel #page=kbd_%/S/SYS/Kbd_Layout%   Öffnet die Tastatur-Page in Abhängigkeit einer Systemvariable. z.B. für länderspezifische Tastatur-Layouts |  
| Edit |   | 
 | Aktiviert den Editmode | Limit1 
| Spalte L | M/O | Default | Beschreibung |  
|   <constant> <variable> | O | VarType-Min | unterer Grenzwert der Variable ...Numerische Konstante ...Variable vom Typ VarType | Limit2 ActionLimit1, ActionLimit2 VarValue 
| Spalte P | M/O | Default | Beschreibung |  
| <variable> | O | 
 | Wert der Variable | VarType 
| Spalte Q | M/O | Default | Beschreibung |  
| Datentyp | M | 
 | es werden alle Basis-Datentypen unterstützt | VarState Option 
| Spalte S | M/O | Default | Beschreibung |  
| Pos={Center¦Left¦Right} | O | Pos=Left | Horizontale Ausrichtung des Texts. Vertikale Ausrichtung ist per Default zentriert.   
|  | zentriert |  
|  | linksbündig |  
|  | rechtsbündig |   |  
| VPos={Top¦Bottom} | O |   | Vertikale Ausrichtung des Texts, bzw. Bild.   
|  | Am oberen Rand ausgerichtet |  
|  | Am unteren Rand ausgerichet |  
| 
 | 
 |  |  
| Mirror | O |   | Zeigt (spiegelt) die aktuellen Eingabe des #Variable Objekts mit dem Eingabefocus an. z.B. in der Keyboard-Page zur Darstellung der aktuell editierten Variable |  
| Set_focus | O |   | Sobald das Objekt geladen wurde, erhält es den Eingabefocus |  
| HelpText=<n> | O |   | Wenn das Objekt den Focus erhält, wird die Systemvariable /S/SYS/HelpText auf <n> gesetzt. Sobald es den Focus nicht mehr hat, wird die Variable auf 0 gesetzt. <n> muss eine Integerkonstante sein. z.B. zur Anzeige eines Hilfetextes in der Keyboard-Page |  
| Verify | O |   | Diese Option dient zur Überprüfung der Eingabe (z.B. für Passwort-Eingabe), denn es muss zweimal der gleiche Wert eingegeben werden. Wurde der Wert beide male gleich eingegeben, wird die Aktion Close ausgeführt. Die Systemvariable /S/SYS/VariableVerify vom Typen WORD zeigt den Status an: | • | 0 bedeutet, dass noch nichts eingegeben wurde. | 
| • | 1 bedeutet, dass der erste Wert eingegeben wurde. | 
| • | 2 bedeutet, dass der zweite Wert falsch eingegeben wurde und die Eingabe wiederholt werden muss. | 
| • | 3 bedeutet, dass zweimal der gleiche Wert eingegeben wurde | 
Diese Option kann nicht mit set_focus kombiniert werden! |  
| CloseIfOk | O |   | Wenn der eingegebene Wert innerhalb der Limits liegt wird die Aktion Close ausgeführt. |  
| Type=password | O |   | Das Objekt kann zur Eingabe von Passwörtern getarnt werden, alle Zeichen werden während der Eingabe durch '*' ersetzt. |  
| PWL=<level> | O | PWL=0 | Notwendiger Passwortlevel zur Freigabe Siehe auch #Password-Objekt |  
| select | O |   | Betrifft nur (W)STRING Variablen! Der ganze String wird selektiert, wenn das #variable Objekt den Eingabefokus erhält. Damit wird mit dem ersten eingegebenen Zeichen der bestehende String überschrieben. |  
| VarStateOnOffInverted | O |   | Invertiert die On / Off Funktion der VarState Variable:   VarState = 0 -> Off VarState = 1 -> On | Function 
| Spalten T | M/O | Default | Beschreibung |  
| <unit>function0,..</unit> | O | 
 | Umrechnungsfunktionen (siehe Masssysteme) |   Init, Exit 
| Spalten U, V | M/O | Default | Beschreibung |  
| <action> | O | 
 | Es stehen die selben Actions zur Verfügung wie unter dem Parameter Action beschrieben |     Edit Um ein Variableobjekt editieren zu können muss es den Eingabefocus erhalten. Der Eingabefocus kann über folgende Action gesetzt werden:   
| Action | Beschreibung |  
| #Page=<name> | Mit dieser Aktion wird typischerweise eine Keyboard-Page geöffnet. |  
| Edit | Editieren via Hard Keyboard |   Der Eingabefocus kann über folgende Option gesetzt werden:   
| Option | Beschreibung |  
| Set_focus | Der Focus wird automatisch gesetzt, nachdem die Seite aufgebaut wurde. |   Editiermodus Wenn das Variableobjekt den Eingabefocus erhält befindet es sich im Insert - Modus. Insert - Modus Zeichen werden an der Cursorposition eingefügt, solange noch Platz übrig ist. Wenn kein Platz mehr übrig ist, wird kein Zeichen mehr eingefügt, aber auch kein Zeichen überschrieben. Die Grösse des Eingabefelds wird durch den Formatstring bestimmt.   Der Formatstring beeinflusst das Verhalten. 
| Formatstring | Verhalten |  
| %s | Bei einem String, wird der Cursor ans Ende des Textes gesetzt, wo alle Eingaben angefügt werden. |  
| %d, usw. | Bei allen anderen Formaten, wird der Inhalt nicht angezeigt, sondern überschrieben. |   Selection - Modus Wenn ins Objekt mit aktivem Focus geklickt wird, wird der Text selektiert. Wenn der Text bereits selektiert wurde, so wird diese Selektion aufgehoben. Keyboardeingaben wirken sich auf die ganze Selektion aus:   
| Taste | Verhalten |  
| Backspace oder Delete | Löscht die ganze Selektion |  
| Zeichen | Allle selektierten Zeichen werden überschrieben |  
| Steuerzeichen | Hebt die Selektion auf |      Zeit/Datumsfunktionen
 Der Variablentyp DT ermöglicht in Verbindung mit der Systemvariable /S/SYS/DateTime eine Zeit/Datumsanzeige. Die aktuelle Uhrzeit wird dabei einmal pro Sekunde aktualisiert. Für die Eingabe von Uhrzeit und Datum stehen spezielle Systemvariablen zur Verfügung.  Siehe auch  Systemvariablen    Aktuelle Uhrzeit auf der Steuerung
 Um die aktuelle Uhrzeit auf die Steuerung zu übertragen kann das Objekt #Sys2PLC in Verbindung mit den Uhrzeit-Systemvariablen verwendet werden.     Systemvariablen
 Nachfolgende Systemvariablen werden beim Start der Eingabe mit den aktuellen Werten definiert und können z.B. auf der Bildschirmtastatur-Seite angezeigt werden:   /S/SYS/Edit_val                …letzter Wert vor Eingabe Datentyp WSTRING /S/SYS/Edit_val_i        …letzter Wert vor Eingabe Datentyp als INT, ( ASCII to INT, z.B. "13" = 13)/S/SYS/Limit1                ...unterer Grenzwert Datentyp WSTRING
 /S/SYS/Limit2                ...oberer Grenzwert Datentyp WSTRING
 /S/SYS/HelpText        ...enthält die aktuelle Helptext-Nummer Datentyp WORD
    Bildschirmtastatur
 Wird eine Bildschrimtastatur über die Variablen-Aktion #Page=<name> aufgerufen, so muss diese als Fenster geöffnet werden! D.h. die Bildseite des Variablen-Objekts und der Tastatur müssen verschieden gross sein oder die Tastaturseite wird mit der Option Popup definiert.   Unterschied zu EPAM3 | • | Option Mirror ersetzt Systemvariable s_input_val | 
    |