| 
 Das #Button-Objekt dient zur Benutzereingabe. Es stellt eine grosse Anzahl Aktionen zur Interaktion mit dem System zur Verfügung. 
  
  
Siehe auch 
Allgemeine Aktionen 
Alarm Aktionen 
Alarmlist Aktionen 
Authent Aktionen 
Datalog Aktionen 
RemoteControlServer Aktionen 
Rezept Aktionen 
Rezeptliste Aktionen 
Trend Aktionen 
Allgemeine Aktionen 
  
  
Parameter 
Object 
Spalte A 
 | 
M/O 
 | 
Default 
 | 
Beschreibung 
 | 
 
#Button 
 | 
M 
 | 
 
 | 
Touch/Maus-aktiver Bereich für Interaktion 
 | 
 
 
 
Text/File 
Spalte B 
 | 
M/O 
 | 
Default 
 | 
Beschreibung 
 | 
 
 
 | 
O 
 | 
 
 | 
wird weder Bild noch Text eingegeben, so handelt es sich um ein touchaktives Feld z.B. innerhalb einer Grafik. Das Feld wird bei Betätigung invertiert, wenn als Backcolor transparent verwendet wird 
 | 
 
<text1>[,<text2>] 
  
 | 
O 
 | 
 
 | 
Anzuzeigender Text (auch mehrzeilig)  
  
Variante1: <text1> 
<text1> wird angezeigt für Zustände nicht betätigt/betätigt  
  
Variante2: <text1>,<text2> 
<text1> wird im nicht betätigten Zustand angezeigt 
<text2> wird im betätigten Zustand angezeigt 
  
Positionierung von Text: 
Text wird zentriert ausgegeben, kann aber via Option pos=<alignment> horizontal ausgerichtet werden. 
  
Beispiele 
Text/File 
 | 
Zustand 
 | 
Resultat 
 | 
 
Text1,Text2 
  
  
 | 
nicht betätigt 
 | 
  
 | 
 
Text1,Text2  
 | 
betätigt 
 | 
  
 | 
 
 
 
  
 | 
 
<bild0>[,<bild1>] 
 | 
  
 | 
 
 | 
Anzuzeigende Bilddatei(en) als Icon (<bild0>) oder für Zustand nicht betätigt (<bild0>) und betätigt (<bild1>) 
  
Positionierung von Bildern: 
Wenn ein Border definiert ist werden Bilder zentriert ausgegeben. 
Wenn kein Border definiert ist werden Bilder links oben positioniert. 
  
Beispiel 
hand.pcx 
 | 
nicht betätigt 
 | 
  
 | 
 
 
 
 | 
 
 
 
Font 
X, Y, DX, DY 
Color 
BackColor 
Format 
Spalte J 
 | 
M/O 
 | 
Default 
 | 
Beschreibung 
 | 
 
Format 
 | 
O 
 | 
kein Rahmen 
 | 
Art des Rahmen 
 | 
 
Invisible 
 | 
O 
 | 
 
 | 
Objekt nicht sichtbar 
 | 
 
 
 
Action 
Spalte K 
 | 
Beschreibung 
 | 
 
<Action> 
 | 
Aktion wird bei Betätigung des Button ausgeführt, unabhängig vom Variablenwert 
 | 
 
<Action1>&<Action2>... 
 | 
Mehrfache Aktionen können mit & definiert werden. 
Aktion1 UND Aktion2,... wird bei Betätigung des Button ausgeführt, unabhängig vom Variablenwert 
 | 
 
<Action0>,<Action1>,... 
 | 
Aktion wird bei Betätigung des Button in Abhängigkeit vom Variablenwert ausgeführt. 
Beispiel 
Action: #Page=Wert0,#Page=Wert1 
...Wechsel auf die Bildseite „Wert0“, wenn der Variablenwert 0 ist 
...Wechsel auf die Bildseite „Wert1“, wenn der Variablenwert 1 ist 
 | 
 
 
 
  
         Mit Hilfe der Option ‚Switch=’ können auch Wertebereiche für die einzelnen Aktionen definiert werden. 
  
Beispiel 
Action 
 | 
#Page=Range0,#Page=Range1,#Page=Range3 
 | 
 
Option 
 | 
Switch=<0:0..5:>5 
 | 
 
 
 
  
Wechsel auf die Bildseite „Range0“, wenn der Variablenwert < 0 ist 
Wechsel auf die Bildseite „Range1“, wenn der Variablenwert im Bereich 0 bis 5 liegt 
Wechsel auf die Bildseite „Range2“, wenn der Variablenwert > 5 ist 
  
Action (allgemeine Aktionen) 
Spalte K 
 | 
Beschreibung 
 | 
 
#Page=<name> 
 | 
Seite mit Namen <name> öffnen 
 | 
 
#Page=<name>:animation={topin¦bottomin¦leftin¦rightin}[(<duration>)] 
 | 
Animierte Seitenwechsel: 
Um eine #Page animiert zu öffnen muss :animation an den #Page Namen angehängt werden gefolgt von der Art der Animation: 
  
 
 | 
animation=topin 
 | 
Die Page wird von oben ins Display auf die Zielposition geschoben 
 | 
 
 
 | 
animation=bottomin 
 | 
Die Page wird von unten ins Display auf die Zielposition geschoben 
 | 
 
 
 | 
animation=leftin 
 | 
Die Page wird von links ins Display auf die Zielposition geschoben 
 | 
 
 
 | 
animation=rightin 
 | 
Die Page wird von rechts ins Display auf die Zielposition geschoben 
 | 
 
 
 
  
Beispiele: 
#Page=pw:animation=topin 
  
Optional kann die Dauer der Animation in [ms] angegeben werden. Default ist 600ms. 
  
Beispiele: 
#Page=pw:animation=topin( 400 ) 
  
 | 
 
PageBack 
 | 
Die letzte Seite öffnen (ähnlich der Browser Funktionalität Back) 
 | 
 
PageHome 
 | 
Startseite öffnen 
 | 
 
Close 
 | 
oberste bzw. zuletzt geöffnete Seite (Fenster) schliessen 
 | 
 
Close=<name> 
 | 
Seite (Fenster) mit Namen <name> schliessen 
 | 
 
EjectVolume( Drive;#page=<eject_failed>;#page=<eject_succeeded>) 
 | 
Abmelden eines Wechselspeicher, z.B. Memoristick oder SD-Card. 
#page=<eject_failed> : Seite die im Fehlerfall geöffnet wird ( optional) 
#page=<eject_succeeded> : Seite die bei erfolgreicher Abmeldung geöffnet wird ( optional, bedingt auch Angabe von #page=<eject failed) 
  
Beispiele 
EjectVolume( /StorageCard2 ) 
EjectVolume( /StorageCard2; #page=eject_failed ) 
EjectVolume( /StorageCard2; #page=eject_failed; #page=eject_succeded ) 
  
 | 
 
Exit 
 | 
Programm beenden (zurück zum Betriebssystem) 
 | 
 
FileCopy( src=<filepath1> dst=<filepath2> [#page=<error> [#page=<ok>]] ) 
 | 
Datei <filepath1> nach <filepath2> kopieren 
  
Optional: 
1. Seite #page=<error>: wird geöffnet bei Kopierfehler 
2. Seite #page=<ok>: wird geöffnet nachdem der Kopiervorgang erfolgreich beendet wurde 
  
Beispiele 
filecopy( src=\Epam4\log\f1.log dst=\StorageCard2\dat\fi.log) 
filecopy( src=\Epam4\log\f1.log dst=\StorageCard2\dat\fi.log #page=copy_err) 
filecopy( src=\Epam4\log\f1.log dst=\StorageCard2\dat\fi.log #page=copy_err #page=copy_ok) 
  
 | 
 
IPparam:Get 
 | 
Lädt die IP-Parameter (EthernetAdapter 0) in die Systemvariablen: 
 | 
 
IPparam:Set 
 | 
Setzt die IP-Parameter (EthernetAdapter 0) gemäss den Sytemvariablen 
 | 
 
Key=<keycode> 
 | 
Sendet das Zeichen <keycode>, das von einem #Variable Objekt im Eingabemodus (Fokus) empfangen wird. 
Wird zum Erstellen von Tastaturseiten benötigt. 
  
Zeichen könne wie folgt definiert werden: 
 | 
Beispiel: 
 | 
 
Ascii/Unicode - Zeichen 
 | 
key=A 
 | 
 
Hexcode 
 | 
key=\x41 
 | 
 
Tastenname 
 | 
key=Enter 
 | 
 
 
 
  
Siehe auch 
Tastennamen 
  
 | 
 
Language=<name> 
Language=default 
 | 
Sprachumschaltung auf <name> bzw. Defaultsprache (Language=default) 
wechselt zur Sprache <name>.   
setzte /S/APP/Language auf <name> 
 varpool:sysvarsave wird implizit ausgeführt 
 | 
 
PWL=<level> 
 | 
Setzt den #Passwort-Level auf <level> 
 /S/SYS/Pwl kann auch direkt gesetzt werden 
 | 
 
Reboot 
 | 
Neustart des Systems 
 | 
 
SetDateTime 
 | 
Setzt die Systemzeit (und Datum), wobei die zu setzende Zeit aus folgende Systemvariablen gebildet wird: 
/S/SYS/tm_Hour 
/S/SYS/tm_Min 
/S/SYS/tm_nSec 
/S/SYS/tm_Year 
/S/SYS/tm_Mon 
/S/SYS/tm_Day 
/S/SYS/tm_IsPm 
/S/APP/tm_UseAmPm 
  
 Unter Windows Vista und höher werden entsprechende Rechte ( SE_SYSTEMTIME_NAME) benötigt um die  Systemzeit zu ändern. 
  
Siehe: Assigning Privileges to an Account 
 | 
 
System=<excutable>  [options] 
 | 
Als <executable> kann eine beliebig ausführbare Datei inklusive Parameter stehen. 
Pfade mit Leerzeichen müssen zwischen Anführungszeichen gesetzt werden. 
  
Folgende Optionen können zwischen eckigen Klammern angegeben werden: 
-d <Arbeitsverzeichnis> 
  
Beispiel: 
system="c:\Program files\viewer\viewer.exe" myfile [-d d:\my documents] 
  
Ausführen einer Batchdatei unter WinCE: 
system=\windows\cmd.exe /c /storagecard/my.bat 
  
 | 
 
Touch_calibrate 
 | 
Kalibrierung des resistiven Touch wird aufrufen 
Ist abhängig vom Gerät, bzw. TouchTyp und Hersteller 
 | 
 
TipVar=<value> 
 | 
VarValue wird <value> gesetzt solange der #Button gedrückt wird, anschliessend wird VarValue auf 0 gesetzt. 
 | 
 
Unit=<index> 
 | 
Mass-Systemumschaltung, wobei <index> eine die Ganzzahl >= 0 sein muss. 
(siehe Masssysteme) 
 | 
 
Varpool:[<driver>][<host>].export 
 | 
Speichert die Variablen des Hosts nach: <PATH_DAT>/<drv>-<host>.csv. 
 | 
 
Varpool:sysvarsave 
 | 
Speichert die persistenten Systemvariablen nach <PATH_INI>/<Host>.INI. 
 | 
 
 
 
  
Action (PlcCmd Aktionen) 
Via PlcCmd Aktionen können die Betriebszustände der SPS gesteuert werden. 
Spalte K 
 | 
Beschreibung 
 | 
 
PlcCmd=/<Drv>/<Host>:CreateBootProject 
 | 
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Boot Projekt erzeugen 
 | 
 
PlcCmd=/<Drv>/<Host>:ResetCold 
 | 
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Reset Kalt 
 | 
 
PlcCmd=/<Drv>/<Host>:ResetOriginal 
 | 
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Reset Original 
 | 
 
PlcCmd=/<Drv>/<Host>:ResetWarm 
 | 
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Reset Warm 
 | 
 
PlcCmd=/<Drv>/<Host>:Start 
 | 
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Start 
 | 
 
PlcCmd=/<Drv>/<Host>:Stop 
 | 
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Stop 
 | 
 
 
 
  
 Nicht alle Kommandos werden von jedem Kommunikationstreiber unterstützt, siehe Tabelle: 
Kommando / Driver 
 | 
PlcH Arti 
 | 
PlcH Gateway3 
 | 
 RS7 
 | 
ADS 
 | 
 OPC 
 | 
 
CreateBootProject 
 | 
  
 | 
  
 | 
√ 
 | 
  
 | 
  
 | 
 
ResetCold 
 | 
  
 | 
  
 | 
√ 
 | 
  
 | 
  
 | 
 
ResetOriginal 
 | 
  
 | 
  
 | 
√ 
 | 
  
 | 
  
 | 
 
ResetWarm 
 | 
  
 | 
  
 | 
√ 
 | 
  
 | 
  
 | 
 
Start 
 | 
√ 
 | 
  
 | 
√ 
 | 
√ 
 | 
  
 | 
 
Stop 
 | 
√ 
 | 
  
 | 
√ 
 | 
√ 
 | 
  
 | 
 
 
 
  
Action (SetVar Aktionen) 
Spalte K 
 | 
Beschreibung 
 | 
 
SetVar=<constant> 
SetVar=<variable> 
 | 
Dem VarValue wird die Konstante <constant> zugewiesen. 
Dem VarValue wird der Wert von <variable> zugewiesen. 
 <variable> muss vom selben Datentyp sein wie VarValue nämlich VarType! 
 | 
 
SetVar=NotVar 
 | 
Variablenwert invertieren (0/1) 
 | 
 
SetVar:<variable1>=<constant> 
SetVar:<variable1>=<variable2> 
 | 
Der <variable1> wird die Konstante <constant> zugewiesen. 
Der <variable1> wird <variable2> zugewiesen. 
 <variable1> und <variable2> müssen vom selben Datentyp sein! 
 | 
 
SetVar+<constant> 
SetVar+<variable> 
 | 
Das VarValue wird um die Konstante <constant> inkrementiert. 
Das VarValue wird um den Wert von <variable> inkrementiert. 
 <variable> muss vom selben Datentyp sein wie VarValue nämlich VarType! 
 | 
 
SetVar-<constant> 
SetVar-<variable> 
 | 
Das VarValue wird um die Konstante <constant> dekrementiert 
Das VarValue wird um den Wert von <variable> dekrementiert 
 <variable> muss vom selben Datentyp sein wie VarValue nämlich VarType! 
 | 
 
 
 
  
  
  
Action (Aktionen für #Alarm) 
Spalte K 
 | 
Beschreibung 
 | 
 
Alarm:delete 
 | 
Löscht den Alarmbuffer des #Alarm Objekt vom Typ /S/APP/Alarm:Type 
 | 
 
Alarm:[<type>].delete 
 | 
Löscht den Alarmbuffer des #Alarm Objekt vom Typ <type> 
  
Beispiel: Alarm:[MyAlarm1].delete 
 | 
 
Alarm:export={csv¦xml} 
 | 
Exportiert den Alarmbuffer des #Alarm Objekt vom Typ /S/APP/Alarm:Type als csv , bzw. xml in den PATH_DAT 
Es werden alle Alarme exportiert, in der Reihenfolge in der sie im Buffer liegen. 
 | 
 
Alarm:[<type>].export={csv¦xml} 
 | 
Exportiert den Alarmbuffer des #Alarm Objekt vom Typ <type> als csv , bzw. xml in den PATH_DAT 
Es werden alle Alarme exportiert, in der Reihenfolge in der sie im Buffer liegen. 
  
Beispiel: alarm:[MyAlarm1].export=xml 
 | 
 
Alarm:quitall 
 | 
Quittiert alle nicht quittierten Alarme des #Alarm Objekt vom Typ /S/APP/Alarm:Type 
 | 
 
Alarm:[<type>].quitall 
 | 
Quittiert alle nicht quittierten Alarme des #Alarm Objekt vom Typ <type> 
  
Beispiel: Alarm:[MyAlarm1].quitall 
 | 
 
Alarm:type=<type> 
 | 
Legt den Alarmtyp fest, nötig sobald mehrere #Alarm Objekte projektiert wurden. 
Setzt /S/APP/Alarm:Type auf <type>. 
 | 
 
 
 
 /S/APP/Alarm:Type muss nur gesetzt werden wenn mehrere #Alarm Objekte projektiert wurden. 
Action (Aktionen für #AlarmList) 
Spalte K 
 | 
Beschreibung 
 | 
 
AlarmList:quit 
 | 
quittiert selektierten Alarm 
 | 
 
AlarmList:sort=FiFo 
 | 
absteigend nach AlarmOn sortieren (ältester Alarm zuoberst) 
Sortierung setzen: FiFo = ältester Alarm zuerst, bzw. aufsteigend nach AlarmOn 
LiFo = neuester Alarm zuerst, bzw absteigend nach AlarmOn 
Priority = aufsteigend nach AlarmNo 
 | 
 
AlarmList:sort=LiFo 
 | 
absteigend nach AlarmOn sortieren (neuster Alarm zuoberst) 
 | 
 
AlarmList:sort=Priority 
 | 
aufsteigend nach AlarmNo (kleinste Alarmnummer zuoberst) 
 | 
 
AlarmList:filter=all 
 | 
alle Alarme anzeigen 
 | 
 
AlarmList:filter=activ 
 | 
nur aktive Alarme anzeigen 
 | 
 
AlarmList:filter=activ|notquit 
 | 
nur aktive oder nicht quittierte Alarme anzeigen 
 | 
 
AlarmList:filter=activ+notquit 
 | 
nur aktive und nicht quittierte Alarme anzeigen 
 | 
 
AlarmList:filter=notquit 
 | 
nur nicht quittierte Alarme anzeigen 
 | 
 
AlarmList:info=<n> 
 | 
Die in der Alarmdefinition unter "Action Alarm Info" projektierte Seite <n>, des selektierten Alarms wird geöffnet. (1. Action=1, 2.=2,...) 
 | 
 
AlarmList:[<name>].<action> 
 | 
Aktion <action> auf die durch <name> bestimmte Alarmliste ausführen. Als <action> kann eine der obigen Aktionen angegeben werden. Dadurch muss /S/APP/AlarmList:Type nicht gesetzt werden. 
 | 
 
 
 
 Aktionen werden auf das erste aktive #AlarmList Objekt ausgeführt, oder wenn /S/APP/AlarmList:Type gesetzt ist, auf das #AlarmList Objekt vom bezeichneten Typ. 
  
Action (Aktionen für #Authent) 
Spalte K 
 | 
Beschreibung 
 | 
 
Authent:login 
 | 
Benutzer mit /S/SYS/Authent:User und /S/SYS/Authent:Pwd anmelden 
  
 | 
 
Authent:logout 
 | 
Angemeldeten Benutzer abmelden 
 | 
 
Authent:changePwd 
 | 
Passwort des angemeldeten Benutzer nach /S/SYS/Authent:Pwd ändern. 
 | 
 
Authent:addUser 
 | 
Benutzer S/SYS/Authent:User anlegen 
(keiner Rolle zugeordnet) 
 | 
 
Authent:addUserToRole=<Role> 
 | 
Benutzer S/SYS/Authent:User anlegen und der Rolle <Role> zuordnen. 
  
 | 
 
 
 
Action (Aktionen für #Datalog) 
Spalte K 
 | 
Beschreibung 
 | 
 
Datalog:[<name>].save 
 | 
Kopiert die Logdatei des #Datalog Objekt vom Typ <name> nach PATH_DAT 
 | 
 
Datalog:[<name>].delete 
 | 
Löscht die Logdatei des #Datalog Objekt vom Typ <name> 
 | 
 
Datalog:[<name>].export 
 | 
Exportiert die Logdatei nach PATH_DAT mit extension ".csv". Der Dateinamen kann kann durch #Export in der Datalog-Definition  Tabelle beeinflusst  werden. 
 | 
 
Datalog:[<name>].export=<path> 
 | 
Exportiert die Logdatei nach <path> mit extension ".csv".  Der Dateinamen kann kann durch #Export in der Datalog-Definition  Tabelle beeinflusst  werden. 
  
 Der Pfad kann ganz oder teilweise durch eine Variable definiert werden, zB.: 
Datalog:[dl1].export=/storagecard2/%/S/TMP/myDir% 
  
 | 
 
Datalog:exportall=<path> 
 | 
Exportiert die Logdateien aller #Datalog Objekte nach <path> mit extension ".csv". 
  
 Der Pfad kann ganz oder teilweise durch eine Variable definiert werden, zB. 
Datalog:[dl1].export=/storagecard2/%/S/TMP/myDir% 
  
 | 
 
 
 
Action (Aktionen zur Steuerung des #RemoteControl Server) 
Spalte K 
 | 
Beschreibung 
 | 
 
RemoteControl:connection.drop 
 | 
Alle mit dem lokalen Remoteserver verbundenen Clients werden unterbrochen 
 | 
 
RemoteControl:input.enable 
 | 
Erlaubt remote Bedienung mit Tastatur oder Maus 
 | 
 
RemoteControl:input.disable 
 | 
Unterbindet remote Bedienung mit Tastatur oder Maus 
 | 
 
 
 
Action (Aktionen für #Recipe) 
Spalte K 
 | 
Beschreibung 
 | 
 
Recipe:type=<type> 
 | 
Setzt /S/APP/Recipe:Type auf <type> 
 | 
 
Recipe:delete 
 | 
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ /S/APP/Recipe:Type löschen 
 | 
 
Recipe:[<type>].delete 
 | 
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ <type> löschen 
 | 
 
Recipe:load 
 | 
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ /S/APP/Recipe:Type laden 
 | 
 
Recipe:load=<filepath> 
 | 
Rezept vom Typ /S/APP/Recipe:Type lädt die Datei <filepath> 
 | 
 
Recipe:[<type>].load 
 | 
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ <type> laden 
 | 
 
Recipe:[<type>].load=<filepath> 
 | 
Rezept vom Typ <type> lädt die Datei <filepath> 
 | 
 
Recipe:csave 
 | 
Rezept vom Typ /S/APP/Recipe:Type speichern. 
Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name  /S/APP/Recipe[<type>].file entnommen. 
Falls die Datei bereits existiert, wird die Datei nicht überschrieben, sondern es wird ein Laufzeitfehler angezeigt, oder wenn am #Recipe Objekt projektiert, die  Action #Page=<name> ausgeführt. 
 | 
 
Recipe:[<type>].csave 
 | 
Rezept vom Typ <type> speichern. 
Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name  /S/APP/Recipe[<type>].file entnommen. 
Falls die Datei bereits existiert, wird die Datei nicht überschrieben, sondern es wird ein Laufzeitfehler angezeigt, oder wenn am #Recipe Objekt projektiert, die  Action #Page=<name> ausgeführt. 
 | 
 
Recipe:save 
 | 
Rezept vom Typ /S/APP/Recipe:Type speichern. Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name  /S/APP/Recipe[<type>].file entnommen. 
 Falls die Datei bereits existiert, wird sie überschrieben. 
 | 
 
Recipe:[<type>].save 
 | 
Rezept vom Typ <type> speichern. Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name  /S/APP/Recipe[<type>].file entnommen. 
 Falls die Datei bereits existiert, wird sie überschrieben. 
 | 
 
 
 
Action (Aktionen für #RecipeList) 
Spalte K 
 | 
Beschreibung 
 | 
 
RecipeList:delete 
 | 
In der #RecipeList selektiertes Rezept löschen 
 | 
 
RecipeList:load 
 | 
In der #RecipeList selektiertes Rezept laden 
 | 
 
RecipeList:csave 
 | 
In der #RecipeList selektiertes Rezept speichern. 
Falls die Datei bereits existiert, wird die Datei nicht überschrieben, sondern es wird ein Laufzeitfehler angezeigt, oder wenn am #Recipe Objekt projektiert, die  Action #Page=<name> ausgeführt. 
 | 
 
RecipeList:save 
 | 
In der #RecipeList selektiertes Rezept speichern. 
 Falls die Datei bereits existiert, wird sie überschrieben. 
 | 
 
RecipeList:sort=file 
 | 
#RecipeList aufsteigend sortieren nach Spalte file 
 | 
 
RecipeList:sort=name 
 | 
#RecipeList aufsteigend sortieren nach Spalte name 
 | 
 
RecipeList:sort=time 
 | 
#RecipeList aufsteigend sortieren nach Spalte time 
 | 
 
 
 
Action (Aktionen für #Trend) 
Spalte K 
 | 
Beschreibung 
 | 
 
Trend:online 
 | 
Der #Trend wird online geschaltet (nach Cursor, oder Scrolling). 
 | 
 
Trend:[<name>].online 
 | 
 
 | 
 
Trend:ShiftCursor<offset> 
 | 
Der #Trend-Cursor wird um Anzahl <offset> Datenpunkte verschoben: 
Ein positiver <+offset> verschiebt in Richtung Zukunft 
Ein negativer <-offset> verschiebt in Richtung Vergangenheit 
 | 
 
Trend:[<name>].ShiftCursor<offset> 
 | 
 
 | 
 
Trend:ScrollGrid<offset> 
 | 
Die #Trend-Kurven werden um  <offset> * Grid in der aktuellen Auflösung (Zoom) verschoben 
Ein positiver <+offset> verschiebt in Richtung Zukunft 
Ein negativer <-offset> verschiebt in Richtung Vergangenheit 
 | 
 
Trend:[<name>].ScrollGrid<offset> 
 | 
 
 | 
 
Trend:ScrollPage<offset> 
 | 
Die #Trend-Kurven werden um  <offset> * Page der aktuellen Auflösung (Zoom) verschoben 
Ein positiver <offset> verschiebt in Richtung Zukunft 
Ein negativer <offset> verschiebt in Richtung Vergangenheit 
 | 
 
Trend:[<name>].ScrollPage<offset> 
 | 
 
 | 
 
Trend:ScrollEnd 
 | 
Die #Trend-Kurven werden ans Ende verschoben, die ältesten Daten werden sichtbar 
 | 
 
Trend:[<name>].ScrollEnd 
 | 
 
 | 
 
Trend:ZoomXGrid<factor> 
 | 
Die X-Achse, bzw der XRange wird gezoomt: 
  
XRange = XRange + <factor> * Grid 
  
<factor> muss eine positive oder negative Ganzzahl Konstante sein 
 | 
 
Trend:[<name>].ZoomXGrid<factor> 
 | 
 
 | 
 
Trend:ZoomXPage+1 
Trend:ZoomXPage-1 
  
 | 
Die X-Achse, bzw der XRange wird gezoomt: 
  
trend:ZoomXPage+1 => XRange = XRange * 2 
trend:ZoomXPage-1 => XRange = XRange / 2 
  
 | 
 
Trend:[<name>].ZoomXPage+1 
Trend:[<name>].ZoomXPage-1 
 | 
 
 | 
 
Trend:ZoomXReset 
 | 
Der XRange wird wieder auf den ursprünglichen, bzw. projektierten Wert gestellt 
 | 
 
Trend:[<name>].ZoomXReset 
 | 
 
 | 
 
 
 
  
  
Action (Aktionen für #UserList) 
Spalte K 
 | 
Beschreibung 
 | 
 
UserList:disable 
 | 
Das ausgewählte Benutzerkonto wird inaktiv 
 | 
 
UserList:enable 
 | 
Das ausgewählte Benutzerkonto wird aktiv 
 | 
 
UserList:remove 
 | 
Das ausgewählte Benutzerkonto wird gelöscht 
 | 
 
UserList:resetpwd 
 | 
Das Passwort des ausgewählten Benutzerkonto wird zurück gesetzt 
Je nache Einstellung in der Authent-Definition auf: 
 | 
 
 
 
Limit1 
Limit2 
ActionLimit1, ActionLimit2 
VarValue 
Spalte P 
 | 
M/O 
 | 
Default 
 | 
Beschreibung 
 | 
 
<variable> 
 | 
O 
 | 
 
 | 
Variable zum Steuern und oder Darstellen 
 | 
 
 
 
VarType 
Spalte Q 
 | 
M/O 
 | 
Default 
 | 
Beschreibung 
 | 
 
Datentyp 
 | 
O 
 | 
 
 | 
es werden alle Datentypen unterstützt 
 | 
 
 
 
VarState 
Spalte R 
 | 
M/O 
 | 
Default 
 | 
Beschreibung 
 | 
 
<variable> 
 | 
O 
 | 
 
 | 
 
 | 
 
 
 
Option 
Spalte S 
 | 
M/O 
 | 
Default 
 | 
Beschreibung 
 | 
 
NoBeep 
 | 
O 
 | 
  
 | 
Es wird kein Beep ausgegeben beim Auslösen der Aktion. Wird typischerweise bei überlagerten Buttons verwendet. 
 | 
 
Pos={Center¦Left¦Right} 
 | 
O 
 | 
Pos=Center 
 | 
Horizontale Ausrichtung des Texts, bzw. Bild. 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 
 | 
 
 
 | 
 
 | 
 
 
 
 | 
 
Switch=<range0>:<range1>:... 
 | 
O 
 | 
  
 | 
Mit der Option Switch können Werte Bereiche auf einen bestimmten Index gelegt werden. 
  
range0  -> 0 
range1  -> 1 
... 
  
Wobei der erste Bereich (range) auf den Index 0 gemappt wird, der zweite auf 2,... 
Die Bereiche werden durch einen Doppelpunkt getrennt. 
  
Bereiche können wie folgt definiert werden: 
<n 
 | 
 
 | 
Alle Werte kleiner <n> 
 | 
 
>n 
 | 
 
 | 
Alle Werte grösser <n> 
 | 
 
i..n 
 | 
 
 | 
Der Bereich von und mit <i> bis und mit <n>  
 | 
 
n 
 | 
 
 | 
Genau <n> 
 | 
 
 
 | 
 
 | 
 
 | 
 
 
 
  
Z.B.: 
Switch=<1:1:2..5:>5 
  
Range 
 | 
Index 
 | 
Beschreibung 
 | 
 
<1 
 | 
0 
 | 
alles kleiner 1 
 | 
 
1 
 | 
1 
 | 
1 
 | 
 
2..5 
 | 
2 
 | 
2 bis und mit 5 
 | 
 
> 5 
 | 
3 
 | 
alles grösser 5 
 | 
 
 
 | 
 
 | 
 
 | 
 
 
 
  
 | 
 
Transparency=<color> 
 | 
O 
 | 
  
 | 
Die angegeben <color> in einer Bilddatei wird als transparent interpretiert. 
  Wird nur für Bildformate benötigt, die keine Transparenz unterstützen, z.B PCX 
In EPAM4 sollte besser das PNG Bildformat anstelle dieser Option verwendet werden. 
 | 
 
Timeout=<sec> 
 | 
O 
 | 
inaktiv 
 | 
Nach eine Verzögerung von <sec> Sekunden wird Action alle <sec> Sekunden ausgeführt. Wobei timeout=0 als Ausnahme nur einmal, dafür sofort auslöst. 
 | 
 
PWL=<level> 
 | 
O 
 | 
0 
 | 
Notwendiger Passwortlevel zur Freigabe (Siehe #Password). 
 | 
 
VarStateOnOffInverted 
 | 
O 
 | 
  
 | 
Invertiert die On / Off Funktion der VarState Variable: 
  
VarState = 0 -> Off 
VarState = 1 -> On 
  
 | 
 
ActionOnVarValueUpdate 
 | 
O 
 | 
  
 | 
Action wird bei der Initialisierung und bei jeder Änderung von VarValue ausgeführt. 
 | 
 
 
 
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 
 | 
 
 
 
  
  
         Bildschirmtastatur 
Die Aktion Key=<keycode> dient zur Erstellung von Bildschirmtastaturen. Hierbei wird bei Betätigung des maus- bzw. touchaktiven Feldes der entsprechende Tastencode generiert und somit die Tastatur simuliert. 
Siehe auch Tastaturtabelle mit Tastenbezeichnungen 
  
Beispiel:        Key=a                ...simuliert die Taste a 
  
  
         Mehrsprachige Applikationen  
Die Aktion Language=<name> bzw. Language=Default ermöglicht eine online Sprachumschaltung für beliebige Sprachen. Weitere Sprachen werden dabei in entsprechenden Unterverzeichnissen abgelegt. <name> bezeichnet das jeweilige Unterverzeichnis.  
Um eine Applikation mehrsprachig zu erstellen, definieren Sie mit „Add Language“ eine neue Sprache. Es wird nun ein Verzeichnis mit dem eingegebenen Namen angelegt und in allen sprachabhängigen Tabellen am Ende zwei neue Spalten für Text/File bzw. Font eingefügt. 
  
         Wichtig!  
Die Bezeichnung in der ersten Zeile dieser Spalten entspricht dem Verzeichnisnamen und als Notiz ist „Language“ hinterlegt (Kennzeichnung der Sprachspalten!). Diese Bezeichnungen dürfen nicht entfernt werden! 
  
Nun können Sie alle sprachabhängigen Definitionen in den entsprechenden Sprachspalten definieren (die sprachunabhängigen Definitionen können Sie leer lassen, diese werden dann automatisch von der Defaultsprache übernommen). Bei Bedarf können Sie auch andere Fonts definieren. 
Alle sprachabhängigen Dateien (*.TXT, *.FNT, *.IMG) müssen im entsprechenden Unterverzeichnis abgelegt werden. 
Wenn Sie nun das nächste mal Simulation aufrufen um den Interpreter zu starten, so werden automatisch alle Sprachdateien erstellt. 
  
Unterschied zu EPAM3 
| • | touchaktive Felder z.B. auf einem Bild müssen in EPAM4 mit Backcolor transparent definiert werden. |  
 | • | Folgende Aktionen werden derzeit nicht unterstützt: siehe auch Aktionen  |  
 | • | Option Scroll nicht mehr notwendig, siehe auch #Scrollist |  
 | • | Option Key=<keycode> derzeit nicht unterstützt |  
  
 |