Scriptprogrammierung| Mit diesem Funktionsbaustein können eigene Scripte in Hochsprache programmiert werden. Als Interpreter wird Lua (www.lua.org) eingesetzt. In dieser Beschreibung wird nur auf die Spracherweiterungen eingegangen. |
Eingänge |
||
| E1-x |
Eingang
1-x |
Eingänge.
Diese können im Script über die globalen Variablen E1, E2
usw. angesprochen werden. Zur besseren Übersicht können
diesen auch Alias Namen zugeordnet werden. |
Ausgänge |
||
| A1-Ax |
Ausgang 1-x |
Ausgänge. Diese können im Script über die globalen Variablen A1, A2 usw. angesprochen werden. Zur besseren Übersicht können diesen auch Alias Namen zugeordnet werden. |
Parameter |
||
| Anzahl Eingänge |
Anzahl der Eingänge |
|
| Anzahl Ausgänge |
Anzahl der Ausgänge | |
| Eventfilter |
Standardmäßig werden Events bzw. Telegramme nur an den Funktionsbaustein weiter geleitet wenn die entsprechenden Variablen an den Ein- oder Ausgängen verknüpft sind, durch Ausschalten dieses Filters werden alle Events an den Funktionsbaustein weitergeleitet. Bitte beachten Sie, dass die Bearbeitung aller Events deutlich mehr Bearbeitungszeit in Anspruch nimmt, der Filter sollte daher nur deaktiviert werden wenn dies unbedingt nötig ist. | |
| Bearbeiten |
Klicken
Sie auf diesen Button um das Script zu bearbeiten, alternativ kann auch
mit der rechten Maustaste auf den Funktionsbaustein geklickt werden. |
|


| onCreate() |
Diese Funktion wird einmalig
aufgerufen wenn der Funktionsbaustein initialisiert wird. Hier
können beispielsweise Initialisierungen von globalen Variablen
definiert werden. |
| onInputChanged() |
Diese Funktion wird aufgerufen wenn sich etwas an den Eingängen verändert hat. |
| onEvent(Value,Phys_Address,Group_Address,Command) | Diese Funktion wird aufgerufen
wenn ein Telegramm empfangen wurde, beispielsweise eine KNX Variable
welche am Eingang verknüpft wurde. Standardmäßig werden
nur Telegramme an das Script weitergeben welche an den Eingängen
verknüpft wurden, dies kann mit dem Parameter "Eventfilter"
deaktiviert werden. Folgende Argumente werden der Funktion übergeben:
|
| onTimerEvent100ms() | Diese Funktion wird alle 100 ms aufgerufen |
| onTimerEvent1s() |
Diese Funktion wird 1x pro Sekunde aufgerufen. |
| onTimerEvent1m() |
Diese Funktion wird 1x pro Minute aufgerufen. Der Aufruf erfolgt immer am Beginn jeder Minute. |
| onTimerEvent1h() |
Diese Funktion wird 1x pro Stunde aufgerufen. Der Aufruf erfolgt immer am Beginn jeder Stunde. |
| sys_write_value("0/0/0",value,force) |
Schreiben einer beliebigen Variable: Die Variable wird nu gesendet wenn sich der Wert geändert hat. Dadurch kann die Funktion auch zyklisch aufgerufen werden.
|
| sys_get_value("0/0/0") |
Abfrage des Wertes einer Variable
|
| sys_debug_print("Text: ",value) |
Ausgabe eines Textes in der
Konsole. Bei jedem Aufruf wird eine neue Zeile in der Debug Konsole
ausgegeben, dies kann beispielsweise verwendet werden um zu prüfen
ob eine Funktion aufgerufen wurde. Der Funktion werden zwei Argumente
über geben:
|
| sys_debug_watch("Text: ",value) |
Ausgeben des Wertes einer Variable. Der Funktion werden zwei Argumente über geben:
|
| sys_alias("E1","Wert_xy") |
Mit dieser Funktion kann einem
Ein- oder Ausgang ein symbolischer Name zugewiesen werden. Diese werden
dann auch im Fenster für die Verknüpfungen angezeigt. Wichtig: Alias müssen in der Funktion "onCreate()" definiert werden. Die Alias Namen dürfen keine Leer , Umlaute oder Sonderzeichen enthalten.
|
| sys_get_addr_in(1) |
Liefert die Adresse der verknüpften Variable eines Einganges im Format "1/2/3" zurück, 1 ist hierbei E1 usw. |
| sys_get_addr_out(1) | Liefert die Adresse der verknüpften Variable eines Ausganges im Format "1/2/3" zurück, 1 ist hierbei A1 usw. |
| sys_set_persistent_value("Name","Value") |
Mit dieser Funktion können beliebige Daten in den persistenten Bereich der Steuerung gespeichert werden. Wichtig: Die Steuerung ist mit einem Flash Speicher ausgestattet der nicht beliebig oft beschrieben werden darf. Diese Funktion darf daher nicht zu oft aufgrufen werden. Ständiges speichern persistenter Werte verkürzt die Lebendauer des Flash Speichers und führt zum Defekt bzw. Datenverlust. |
| sys_get_persistent_value("Name","DefaultValue") | Mit dieser Funktion können die persistenten Werte wieder ausgelesen werden. |