3 Signal-Funktionen

!!! Please ensure, that your contribution or question is placed into the relevant section !!!
Questions about rolling stock, for example, do not belong in "Questions about the Forum". Following is perhaps the right area where your question will be better looked after:
General questions to EEP , Splines, rolling stock, Structures in EEP, landscape elements, Signalling system and controlling, designers, Europe-wide EEP meetings , Gossip
Your cooperation to keep the forum clear is appreciated.
In the case of pictures that are attached to the article, the source must also be stated. This also applies to your own pictures, which were taken by you. Pictures without source information will be deleted!
  • EEPSetSignal()


    Parameter zwei oder drei Rückgabewerte einer Voraussetzung EEP 10.2 Plug-in 2; EEP 14.1 Plug-in 1


    Lua
    Ergebnis = EEPSetSignal(23, 1)      -- stell Signal 0023 auf 1 (kann Fahrt oder Halt sein)
    
    Ergebnis = EEPSetSignal(45, 1, 1)   -- stell Signal 0045 auf 1 und ruft EEPOnSignal_45() auf

    Schaltet ein Signal.


    Bemerkungen

    • Der 1. Parameter ist die Signal-ID.
    • Der 2. Parameter ist die gewünschte Signalstellung. Werte ab 1 aufwärts schalten direkt die korrespondierende Signalstellung. Der Wert 0 bewirkt, dass um eine Stellung weiter geschaltet wird. Mit dem Wert -1 schaltet man eine Stellung zurück. Bei Fahrstraßensignalen entspricht die Stellung 1 "Auflösen", die Stellung 2 "Fahrt" für die 1. Fahrstraße sowie entsprechend die Stellung n für die Fahrstraße n-1.
    • Ab EEP 14.1 Plug-in 1: Eine 1 als 3. (optionaler) Parameter bewirkt, dass die für dieses Signal definierte Funktion EEPOnSignal_x() aufgerufen wird. Hierzu muss das Signal für EEPOnSignal_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 das Signal und die gewünschte Signalstellung existieren, oder 0, wenn eins von beidem nicht existiert.





    EEPGetSignal()


    Parameter einer Rückgabewerte einer Voraussetzung EEP 10.2 Plug-in 2


    Lua
    Stellung = EEPGetSignal(17)
    if Stellung == 0 then
      print( "Signal 17 existiert nicht" )
    elseif Stellung == 1 then
      print( "Signal 17 steht auf Halt" )
    elseif Stellung == 2 then
      print( "Signal 17 steht auf Fahrt" )
    end


    Ermittelt die Stellung eines Signals.


    Bemerkungen

    • Der Parameter ist die ID des Signals, dessen Stellung man ermitteln möchte.
    • Der Rückgabewert ist die Signalstellung. Die Nummer entspricht der Position dieser Signalstellung in der Auswahlliste unter den Signaleigenschaften. Wenn das abgefragte Signal nicht existiert, ist der Rückgabewert 0. Bei Fahrstraßensignalen zeigen Rückgabewerte größer 1 an, welche (Wert - 1) vom Signal ausgehende Fahrstraße auf "Fahrt" steht (z.B. Wert = 4: die 3. Fahrstraße).
    • Achtung: Nach EEPSetSignal() liefert EEPGetSignal() frühestens im nächsten Zyklus der EEPMain() die neue Signalstellung.





    EEPRegisterSignal()


    Parameter einer Rückgabewerte einer Voraussetzung EEP 10.2 Plug-in 2


    Lua
    Ergebnis = EEPRegisterSignal(17)
    
    function EEPOnSignal_17(Stellung)
      print("Signal 17 auf "..Stellung.."gestellt")
    end


    Registriert ein Signal für die Rückruf(Callback)-Funktion EEPOnSignal_x(). Diese notwendige Registrierung soll verhindern, dass Signale die Rückruf-Funktion aufrufen, für die keine entsprechende Funktion im Skript definiert wurde.


    Bemerkungen

    • Die Registrierung eines Signals ist zwingend erforderlich, damit es bei Schaltvorgängen selbständig die Funktion EEPOnSignal_x() aufruft.
    • Der Parameter ist die Signal-ID.
    • Der Rückgabewert ist 1, wenn das zu registrierende Signal existiert, oder 0, wenn es nicht existiert.

    ,






    EEPOnSignal_x()


    Parameter einer Rückgabewerte keiner Voraussetzung EEP 10.2 Plug-in 2


    Lua
    function EEPOnSignal_13(Stellung)
      if Stellung > 1 then
        EEPPlaySound("User/ZugFaehrtAb.wav")
      end
    end
    EEPRegisterSignal(13)  -- zwingend erforderlich!


    Registrierte Signale 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 Signalstellung zu tun ist. Wichtig: Wird die Stellung dieses oder eines verknüpften Signals durch die Funktion EEPSetSignal() geändert, so wird EEPOnSignal_x() nur dann aufgerufen, wenn der 3. Parameter "Rueckruf" der Funktion EEPSetSignal() auf 1 gesetzt ist.


    Bemerkungen

    • Der Name der Funktion darf nicht mit _x enden, wie oben geschrieben, sondern muss mit der Signal-ID enden. Für Signal 0017 muss die Funktion also EEPOnSignal_17() heißen! Bitte beachten: Die führenden Nullen dürfen nicht im Funktionsnamen stehen!
    • Der Parameter ist die neue Signalstellung als Zahl, entsprechend der Position dieser Signalstellung in der Auswahlliste der Signal-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.





    EEPGetSignalTrainsCount()


    Parameter einer Rückgabewerte einer Voraussetzung EEP 13.2 Plug-in 2


    Lua
    Anzahl = EEPGetSignalTrainsCount(3)


    Gibt die Anzahl Fahrzeugverbände zurück, welche vom spezifizierten Signal gehalten werden.


    Bemerkungen

    • Der Parameter ist die Signal-ID.
    • Der Rückgabewert ist die Anzahl vom Signal gehaltener Fahrzeugverbände. Als 1 „Fahrzeugverband“ gelten in EEP sowohl mehrere zu einer Einheit zusammengekoppelte Fahrzeuge (wie z. B. 1 Zug oder 1 LKW mit Anhänger) aber auch 1 einzelnes Fahrzeug.





    EEPGetSignalTrainName()


    Parameter zwei Rückgabewerte einer Voraussetzung EEP 13.2 Plug-in 2


    Lua
    Name = EEPGetSignalTrainName(9, 3)


    Gibt den Namen eines Fahrzeugverbands zurück, welcher vom spezifizierten Signal gehalten wird.


    Bemerkungen

    • Der 1. Parameter ist die Signal-ID.
    • Der 2. Parameter ist die Positionsnummer des gewünschten Fahrzeugverbandes vor dem Signal. Als 1 „Fahrzeugverband“ gelten in EEP sowohl mehrere zu einer Einheit zusammengekoppelte Fahrzeuge (wie z. B. 1 Zug oder 1 LKW mit Anhänger) aber auch 1 einzelnes Fahrzeug.
    • Der Rückgabewert ist der Name des spezifizierten Fahrzeugverbands.

    Fried-liche Grüße:aq_1:


    Ab einem gewissen Alter kann man sich so ziemlich alles erlauben. Niemand schimpft einen mehr aus, mit Ausnahme der Ärzte und der eigenen Kinder.

    Edited 15 times, last by Fried ().