EEPSetSwitch()
Parameter | zwei oder drei | Rückgabewerte | einer | Voraussetzung | EEP 10.2 Plug-in 2; EEP 14.1 Plug-in 1 |
-- stell Weiche 0067 auf 1 (Fahrt)
Ergebnis = EEPSetSwitch(67, 1)
-- stell Weiche 0089 auf 2 (Abzweig) und ruf EEPOnSwitch_89() auf
Ergebnis = EEPSetSwitch(89, 2, 1)
Schaltet eine Weiche.
Bemerkungen
- Der 1. Parameter ist die Weichen-ID.
- Der 2. Parameter ist die gewünschte Weichenstellung. Werte ab 1 aufwärts schalten direkt die korrespondierende Weichenstellung. Der Wert 0 bewirkt, dass um eine Stellung weiter geschaltet wird. Mit dem Wert -1 schaltet man eine Stellung zurück.
- Ab EEP 14.1 Plug-in 1: Eine 1 als 3. (optionaler) Parameter bewirkt, dass die für diese Weiche definierte Funktion EEPOnSwitch_x() aufgerufen wird. Die Weiche muss für EEPOnSwitch_x() registriert und die Funktion definiert sein. Bitte mit Bedacht einsetzen! Es besteht die Gefahr, dass man sich bei unbedachtem Einsatz Programmschleifen einhandelt, die EEP und Lua lahm legen.
- Der Rückgabewert ist 1, wenn die Weiche und die gewünschte Weichenstellung existieren, oder 0, wenn eins von beidem nicht existiert.
EEPGetSwitch()
Parameter | einer | Rückgabewerte | einer | Voraussetzung | EEP 10.2 Plug-in 2 |
Stellung = EEPGetSwitch(1)
if Stellung == 0 then
print("Weiche 1 existiert nicht")
elseif Stellung == 1 then
print("Weiche 1 steht auf Fahrt")
elseif Stellung == 2 then
print("Weiche 1 steht auf Abzweig)
end
Ermittelt die Stellung einer Weiche.
Bemerkungen
- Der Parameter ist die ID der Weiche, deren Stellung man ermitteln möchte.
- Der Rückgabewert ist die Weichenstellung. Die Nummer entspricht der Position dieser Weichenstellung in der Auswahlliste unter den Weicheneigenschaften. Wenn die abgefragte Weiche nicht existiert, ist der Rückgabewert 0.
- Achtung: Nach EEPSetSwitch() liefert EEPGetSwitch() frühestens im nächsten Zyklus der EEPMain() die neue Weichenstellung.
EEPRegisterSwitch()
Parameter | einer | Rückgabewerte | einer | Voraussetzung | EEP 10.2 Plug-in 2 |
Ergebnis = EEPRegisterSwitch(3)
function EEPOnSwitch_3(Stellung)
print("Weiche 3 auf "..Stellung.."gestellt")
end
Registriert eine Weiche für die Rückruf(Callback)-Funktion EEPOnSwitch_x(). Diese notwendige Registrierung soll verhindern, dass Weichen die Rückruf-Funktion aufrufen, für die keine entsprechende Funktion im Skript definiert wurde.
Bemerkungen
- Die Registrierung einer Weiche ist zwingend erforderlich, wenn sie bei Schaltvorgängen selbständig die Funktion EEPOnSwitch_x() aufrufen soll.
- Der Parameter ist die Weichen-ID.
- Der Rückgabewert ist 1, wenn die zu registrierende Weiche existiert, oder 0, wenn sie nicht existiert.
EEPOnSwitch_x()
Parameter | einer | Rückgabewerte | keiner | Voraussetzung | EEP 10.2 Plug-in 2 |
function EEPOnSwitch_34(Stellung)
print("Weiche 34 auf "..Stellung.."gestellt")
end
EEPRegisterSwitch(34) -- zwingend erforderlich!
Registrierte Weichen rufen selbständig diese Funktion auf, wenn sich ihre Stellung durch einen Kontakt oder durch manuelle Bedienung (direkt oder in einer Verknüpfung) ändert. Im Skript definiert man die zugehörige Funktion und legt so fest, was bei Änderung der Weichenstellung zu tun ist. Wichtig: Wird die Stellung dieser oder einer verknüpften Weiche durch die Funktion EEPSetSwitch() geändert, so wird EEPOnSwitch_x() nur dann aufgerufen, wenn der 3. Parameter "Rueckruf" der Funktion EEPSetSwitch() auf 1 gesetzt ist.
Bemerkungen
- Der Name der Funktion darf nicht mit _x enden, wie oben geschrieben, sondern muss mit der Weichen-ID enden. Für Weiche 0034 muss die Funktion also EEPOnSwitch_34() heißen! Bitte beachten: Die führenden Nullen dürfen nicht im Funktionsnamen stehen!
- Der Parameter ist die neue Weichenstellung als Zahl, entsprechend der Position dieser Weichenstellung in der Auswahlliste der Weichen-Eigenschaften. Eine selbst definierte Variable in den Funktionsklammern nimmt diesen Wert für die weitere Verwendung auf.
- EEP erwartet bei Aufruf dieser Funktion keinen Rückgabewert.