Dialog: **WAS** eine Aktion ausführen soll

InhaltObjekteAktionen


Diesen Dialog erreicht man über Menüleiste → Tabellen → Aktionen oder über [ALT]+[3]

Übersicht

Spalten der Tabelle

Die Festlegung der Kennung ist unter Neu beschrieben.
Der Typ wird in der Registerkarte Definition festgelegt.
Der angezeigte Typ ist ein Kürzel der engl. Typ-Bezeichnung. (tx = Textfeld; co = Ausgang . . . )

Doppel-Klick

Ein Doppel-Klick öffnet XmlScript-Editor wenn die ausagewählte Aktion ein XmlScript ist.

Kennung

Die Kennung der Aktion kann hier editiert / geändert werden. Die Kennung ist beliebig, sollte aber keine Umlaute enthalten.
Mit Klick auf die Schaltfläche “Übernehmen” erhält die markierte Aktion die neue/geänderte Kennung.

nicht belegt

Ist gesetzt, wenn für die ausgewählte Aktion kein Eintrag in der Registerkarte 'Verwendung' steht, also in keinem Objekt eine Aktionssteuerung dafür angelegt ist.

Beschreibung

Freitext zur Beschreibung der Aktion.
Mit Klick auf die Schaltfläche “Übernehmen” erhält die markierte Aktion die neue/geänderte Beschreibung.

Neu

Mit dieser Schaltfläche wird eine neue Aktion “NEW” angelegt, sie sollte aber im Feld “Kennung” in eine “erklärende” Bezeichnung geändert werden.

Entfernen

Die markierte Aktion wird gelöscht.

Dokumentation

Eine Liste aller definierten Aktionen wird im Standardbrowser dargestellt.

Test

Die markierte Aktion kann testweise - ohne Aktionssteuerung eines Objektes - ausgelöst werden.


Definition


Typ u. Kennung

Zusammen definieren sie, welches Objekt eine Aktion ausführen soll.
Ist im Auswahlfeld “Typ” eine Kategorie markiert, bietet “Kennung” nur die Objekte dieses Typs zur Auswahl an.

Bei den Typen Lokomotive und Funktion kann das Feld Kennung leer bleiben, wenn die Aktion durch eines der folgenden Objekte ausgelöst wird:

  • Rückmelder
  • Fahrstraße
  • Weiche
  • Fahrplan

Die Aktions-Steuerung dieser Objekte übermittelt der Aktion für die Typen Lokomotive und Funktion bei leerem Kennungs-Feld automatisch die Kennung der entsprechenden Lokomotive.
Dadurch können alle Lokomotiven, die die auslösenden Rückmelder, Fahrstraßen, Weichen oder Fahrpläne benutzen,
z.B. bei der Ausfahrt aus dem Schattenbahnhof das Licht einschalten, vor der Einfahrt in einen Tunnel einen Pfiff abgeben usw.,
ohne dass die Aktion für jede Lokomotive einzeln definiert werden muss.
Im Dialog Aktions-Bedingung können zusätzliche Abhängigkeiten definiert werden.

Sub-Kennung

Nur für die Verwendung mit Variablen.

Befehl

Definiert den Befehl, der vom ausgewählten Objekt ausgeführt werden soll.
Es werden nur die Befehle zur Auswahl angeboten, die das betreffende Objekt ausführen kann.

Doppelte Anführungszeichen

Wenn der Rocrail-Server unter Windows läuft, fügt die Option zusätzliche einfassende Anführungszeichen hinzu:

""c:\programs\test\speak.exe" "Hello World""

Ohne diese Option sieht der Befehl wie folgt aus:

"c:\programs\test\speak.exe" "Hello World"

Asynchron

Das externe Programm oder externe Script bzw. XmlScript wird asynchron ausgeführt, um Blockaden des aufrufenden Objekts zu verhindern.
Diese Option darf nicht aktiviert sein, wenn auf das Ergebnis1) des ext. Programms oder Scripts gewartet werden muss. (Zum Beispiel: WebCam)

Parameter

Einige Befehle benötigen zusätzliche Parameter (Siehe Tabelle unten).

Die Typen, Befehle & Parameter

Einige Befehle benötigen noch einen zusätzlichen Eingabewert.

Typ Typ-
Kürzel
Kennung Befehl
deutsch in ( )
Parameter Beschreibung
Ausgang co Ausgang on (ein), off (aus), flip (umschalten), active2), value (Wert), lock (sperren), unlock (entsperren) 0…65535
lockid (Sperr-Kennung) (unlockid (Entsperr-Kennung) )
Der Wert-Befehl (value) wird nur in den SRCP- und BiDiB-Bibliotheken unterstützt.
Zubehör-Gruppe accgroup AccGroup on (ein), off (aus), flip (umschalten)
Rückmelder fb Rückmelder on (ein), off (aus), flip (umschalten), reset (zurücksetzen), setcounterval (Zählerwert einstellen) Neuer Zählerwert. Mit Vorzeichen (+/-) relativ zum aktuellen Wert.
Wenn der berechnete Wert negativ ist, wird er auf “0” zurückgesetzt.
Der Rückmelder wird ein-, aus- o. umgeschaltet oder
der Zähler wird auf “0” oder einen neuen Wert gesetzt.
Ext. Programm starten. ext entfällt Pfad, Name u. Parameter
des ext. Programmes, der Aufzeichnung oder des XML-Scripts
Hier angegebene Parameter werden an den Aufruf angehängt2 Leerzeichen im Pfad werden nicht unterstützt.
Wenn das nicht vermeidbar ist, sollte eine Stapel-Datei (Batch)
mit Anführungszeichen für Pfad/Datei angelegt werden.
Parameter-Übernahme in der Stapel-Datei mit %1 %2 …
Weiche sw Weiche straight (gerade), turnout (abzweigen), left (links), right (rechts)), flip, flipstatic, setstatic, resetstatic, lock (verriegeln), unlock (entriegeln) force (unbedingt = ignoriert Verriegelung)
lockid (Verriegelungs-Kennung), unlockid (Entriegelungs-Kennung)
Fahrstraße st Fahrstraße set (stellen), lockset (verriegelt stellen), lock (verriegeln), unlock (entriegeln), open (öffnen), closed (schliessen), class (Klasse) lockid (Verriegelungs-Kennung), unlockid (Entriegelungs-Kennung) Mit dem 'lock'-Befehl wird die Fahrstraße und alle enthaltenen Weichen manuell verriegelt (z.B. zum Aufbau eines Software-Gleisbildstellpults).
Die Verriegelungs-Kennung kann optional angegeben werden und muss auch für die Entriegelung verwendet werden, wenn das eingestellt wurde.
Ohne Angabe wird die Aktions-Kennung verwendet.
Beim 'set'-Befehl werden die Fahrstraßen in den Clients nicht ausgeleuchtet
System sys entfällt stoplocs (Loks anhalten), stop (anhalten), go (starten), shutdown (Herunterfahren), resume (wiederherstellen), on (Automodus ein), off (Automodus aus), ebreak (Not-Halt), resetfx (Funktionsgruppe zurücksetzen), ”zeit”, v0locos (alle Loks V=0), shortcut (Kurzschluss), initfield (Weichen initialisieren) - Mit “on/off” wird der Automodus geschaltet.
“resetfx” setzt bei allen Loks die gewählte Funktionsgruppe 0…7 auf AUS. (nur EIN Parameter ist erlaubt: 0 = f0-f4, 1 = f5-f8 …)
zeit” im Format 00:00 Nur verfügbar mit Aktion Zeiteinheit 60 Sek..
Signal sg Signal red (rot), yellow (gelb), green (grün), white (weiß), aspect (Begriff) Begriffs-Nr. im Bereich von 0..31.
Block bk Block schedule (Fahrplan), schedule_manual (Fahrplan manuell), tour (Tour), unlock (entriegeln), white (weiß), yellow (gelb), green (grün), red (rot), setloco (Lok setzen), event (Ereignis), open (öffnen), closed (schließen), acceptident (Identifizierung akzeptieren), dispatch (abfertigen), go (starten), reserve (reservieren) Fahrplan-/Tour-Kennung,
Lok-Kennung, Rückmelder-Kennung

unlock Lok-Kennung oder *
schedule_manual: Startet im Halb-Automatik-Modus
Die 'Farb'-Befehle stellen das Ausfahrtsignal dieses Blocks
Aufstell-Block sb Aufstell-Block unlock (entriegeln), white (weiß), yellow (gelb), green (grün), red (rot), open (öffnen), closed (schließen), exitopen (Ausfahrt öffnen), exitclosed (Ausfahrt schließen), compress (Aufrücken) unlock-Kennung Die 'Farb'-Befehle stellen das Ausfahrtsignal dieses Aufstell-Blocks. open/closed wirken auf die Einfahrtsseite.
Lokomotive lc Lokomotive go (starten), stop (anhalten), velocity (Geschwindigkeit stellen), velocity2 (Geschwindigkeit 2. Dekoder stellen), percent (Prozent), dispatch (abfertigen), swap (Platzierung umkehren), blockside (Blockseite), carcount (Wagenzählung), min (min), mid (mittel), cruise (Reise), max (max), consist (Mehrfachtrakton), assigntrain (Zug zuweisen), releasetrain (Zug lösen), binstate_on (Binär ein), binstate_off (Binär aus), pomwrite (CV via POM), Vvar (Geschwindigkeit) go: Tour, Fahrplan, Ortschaft o. Block (Anstelle eines festen Namens kann auch eine Variable verwendet werden.)
velocity1: prozentueller Wert der aktuellen Geschwindigkeitseinstellung1,
velocity2: Geschwindigkeit eines zweiten Dekoders
carcount: Anzahl der Wagen oder Zurücksetzen auf 0
consist: Lok-Kennung[,Lok-Kennung]…
binstate: Ausgangs-Nummer
x-go: kommaseparierte Liste von Lok-Adressen, fest kodierten Kennungen oder mit Variablen.
pomwrite: CV,Wert
Vvar: benutzerdefinierte Geschwindigkeit nur Antriebsart “automobile”
go, stop: Diese Befehle entsprechen “Lok starten” bzw. “Zug anhalten” aus dem Block-Kontextmenü. Nach dem Befehl stop wird die Lok im nächsten Block halten. Der Zug hält nicht sofort, d. h. in dem Block in dem er sich gerade befindet, wenn das enter-Ereignis in diesem Block bereits ausgelöst wurde.
go mit Parameter “Name eines Fahrplanes” (ohne ””) startet eine Lok mit dem angegebenen Fahrplan.
go: Die Angabe einer Kennung ist obligatorisch.
consist: Parameter-Feld leer lassen, wenn Mehrfachtraktion aufgelöst werden soll.
Wenn keine Lok gefunden wird und das Parameter-Feld enthält eine #variable wird eine Lok über die Adresse gesucht. Diese Option deaktiviert weitere Parameter.
Funktion fn Lokomotive
Wagen
Fahrdienstleiter3
on (ein), off (aus), flip (umschalten) Funktionsnummer (nur die Nummer, wie 1, nicht f1 für Funktion 1)
oder Funktions-Text (Beschreibung) (groß/kleinschreibungs-sensitiv).

Eine Funktions-CSV-Liste, wie “1,2,3”. Wenn die Liste mit einem Fragezeichen beginnt, ”?1,2,3”, wird eine Funktion zufällig gewählt.(NICHT die Anführungszeichen in die Funktions-Definition einfügen.)
Es dürfen mehrere Funktionen zur gleichen Zeit gestartet werden.
Es wird aber nur eine aktive zeitgesteuerte Funktion unterstützt; mehrere zeigen unvorhersehbare Ergebnisse.
flip schaltet eine Funktion um = aus → ein bzw. ein → aus.
flip unterstützt keine zeitgesteuerten Funktionen.
Drehscheibe tt Drehscheibe goto (gehe zu), 180 (1800 drehen) , on (ein), off (aus), lighton (Licht ein), lightoff (Licht aus) Gleisnummer (goto)
oder Funktion (on/off)
FiddelYard seltab FiddelYard goto (gehe zu) Gleisnummer
Text tx Text-Objekt update (aktualisieren), Wert dynamischer Text:
Namen der Variablen für Loks, Fahrpläne und Blöcke
werden durch die realen Werte ersetzt.
Für Rückmelder ab Rev 2120+
Variablen: Syntax
Sound sound - play (abspielen), straight (gerade), turnout (abbiegen) Sound-Datei-Name. Das Sound-Player-Gerät in der Schnittstellen-Registerkarte einstellen.
(Nur RocNet!)
Variable vr Variable text (Text), value (Wert), add (addieren), subtract (subtrahieren), min (min), max (max), random (Zufallswert), start (Anfang), stop (Ende) Der neue Wert. -
Wagen car Wagen empty (leer), loaded (beladen), maintenance (Wartung) Der neue Wagen-Status. -
Fahrdienstleiter operator Fahrdienstleiter addcar (Wagen hinzufügen), removecar (Wagen entfernen), loadcar (beladen), emptycar (entladen), class (Klasse) Wagen hinzufügen, entfernen, beladen oder entladen. Eine komma-separierte Liste von Wagen-Kennungen.
Ortschaft location Ortschaft minocc (min. Belegung), fifo, go, schedule Setzt die minimale Belegung in dieser Ortschaft.
go und schedule starten eine zufällige Lok.
Parameter: minocc-Anzahl oder 0/1 für FiFo-De-/Aktivierung
Wetter co Wetter setweather (Wetter einstellen), weathertheme (Wetterthema) Aktiviert das ausgewählte Wetter / Thema. Bei “setweather” können mit dem Parameter die Sonnenaufgangs-, Mittags- u. Sonnenuntergangs-Zeit in Minuten eingestellt werden.
Zum Beispiel: “360,720,1080[,relative/absolute]“4 (06:00,12:00,18:00)
Uhr clock - set (einstellen) Teiler,Stunde,Minute,Sekunde Die Zeit kann nur eingestellt werden, wenn der Teiler > 1 ist.

1) Wenn eine negative Geschwindigkeit bzw. ein negativer Prozent-Wert eingegeben wird, fährt die Lok beim Auslösen der Aktion mit der angegebenen Geschwindigkeit in die entgegengesetzte Richtung. Zu beachten ist, dass nur ein negativer Wert einen Fahrtrichtungswechsel auslöst, es ist nicht so, dass ein negativer Wert rückwärts und ein positiver Wert vorwärts bedeutet.
2) Hinweis zur Fehlersuche: Der von Rocrail ausgeführte Befehl sieht im Tracefile z.B. so aus: cmdr098F OAction 0501 executing [espeak -vde eins]
3) Funktions-Befehle werden an alle Wagen eines Fahrdienstleiter-Zuges gesendet.
4) Die Zusätze “relative” oder “absolute” sind optional


Hinweise

Typ Extern

Wenn dieser Typ verwendet wird, um ein externes Programm oder ein Script auszuführen, muss der Pfad des Programms (einschlisslich Parameter) in das Feld “Befehl” geschrieben werden. Der Pfad muss auf dem Server-Computer existieren, so dass es bei Verwenden der Drei-Punkt-Schaltfläche […] auf einem anderen Computer, auf dem der Rocrail-Server läuft, normalerweise nicht passen wird.
Alternativ kann ein Programm auf einem Unix-System in seinem eigenen Prozess gestartet werden (myprog.sh &)
Das Abspielen einer Ton-Datei kann z.B. in dem Skript definiert werden.

Windowssndrec32 /play /close /embedding c:\sound\AnsageGL1.wav
Ubuntupaplay /home/rocrail/sound/AnsageGL1.wav &
Suseaplay /home/rocrail/sound/AnsageGL1.wav &


Hinweis für Win7-Nutzer:
Unter Win7 ist das Programm sndrec32.exe nicht verfügbar.
In diesem Forumbeitrag ist eine Lösung des Problems beschrieben.
Playback

Eine Aufzeichnungs-Datei, *.txt, kann auch als externer Befehl zum Abspielen ausgewählt werden.
Siehe: Befehls-Recorder
Zusätzliche Parameter werden ignoriert.

XML-Script

Eine XML-Datei, *.xml, kann auch als externer Befehl ausgeführt werden.
Siehe: XML Scripting (en)
Zusätzliche Parameter werden ignoriert.

espeak

Wenn espeak als Aktion eines Text-Objektes unter Windows gestartet werden soll, um den aktualisierten Text “vorzulesen”, könnte das Feld “Befehl” z.B. so aussehen:
C:\Programme\eSpeak\command_line\espeak.exe -v de
Die aufrufende Aktion ergänzt die Befehlszeile um den aktualisierten Text.

Die Pfadangaben sind natürlich an die jeweilige lokale Konfiguration anzupassen.
Falls Rocrail-Server und Rocview auf unterschiedlichen PCs laufen, wird das Programm am Server-PC ausgeführt. Die Pfadnamen zum Programm sind entsprechend zu wählen.

VLC

VLC installieren.
Die Aktion wird folgendermaßen definiert:
Type: “Ext. Programm starten”
Voreinstellung der Optionen “Doppelte Anführungszeichen” und “Asynchron” belassen.
Befehl: “C:\Program Files (x86)\VideoLAN\VLC\vlc.exe” bzw. den Pfad, in dem VLC installiert ist.
Parameter: “C:\sound\Aarau1_Irina.mp3 –play-and-exit –qt-start-minimized –qt-notification=0”.

Erklärung zu den Parametern:
“C:\sound\Aarau1_Irina.mp3” - ist die Sounddatei (hier ein “mp3”), welche abgespielt werden soll).
”–play-and-exit” - das Programm wird gestartet, der Sound wiedergegeben und dann das Programm geschlossen.
”–qt-start-minimized” - damit wird kein Fenster angezeigt.
”–qt-notification=0” - damit wird verhindert, dass Windows einen zusätzlichen Ton wiedergibt.

Diese Aktion kann z. B. in einem Block oder via Rückmelder ausgelöst werden.

Befehls-Rekorder-Datei abspielen

Eine Befehls-Rekorder-Datei, *.txt, kann auch als externer Befehl zum Abspielen ausgewählt werden.
Siehe: Befehls-Rekorder
Zusatzliche Parameter werden ignoriert.

Laufzeit

Die Dauer einer Aktion für Funktionen in 100ms-Einheiten; 10 = 1s. Null = dauernd. Wird nur von Funktions-Befehlen verwendet.

Zeitgeber

Mit diesem Parameter ist eine verzögerte Ausführung der konfigurierten Aktion einstellbar. Die Einheit ist msek.
In der Praxis kann dies verwendet werden, um z.B. eine durch einen Rückmelder getriggerte Aktion erst dann auszuführen, nachdem die hier eingetragene Zeit abgelaufen ist.

Damit kann z.B. einen Achtungspfiff kurz vor einem Tunnel abgegeben werden, ohne dass dort extra einen Rückmelder installiert sein muss. Die entsprechende Aktion kann also beim letzten (evtl. weit entfernten) Rückmelder vor dem Tunnel getriggert werden, wird aber durch die Zeitverzögerung erst knapp vor dem Tunnel ausgeführt.

Eine weitere Anwendungsmöglichkeit kann z.B. durch eine Aktionssteuerung mehrere Aktionen gleichzeitig starten, diese durch unterschiedliche Zeitverzögerungen aber nacheinander ausführen lassen.

Aktivierungszeit

Benutze

Soll die Aktion zu bestimmten Uhrzeiten gestartet werden, wird “Benutze” ausgewählt und die gewünschte Uhrzeit eingetragen.
Die Uhrzeit bezieht sich auf die interne Uhrzeit von Rocrail, und nicht auf die tatsächliche Uhrzeit. Hier könnte es ggf. sinnvoll sein, die interne Uhr schneller laufen zu lassen, um einen 24-Stunden-Zyklus z.B. für eine Tag/Nacht-Steuerung zu implementieren.
Wenn die Aktions-Zeitgeber 60 Sek-Option aktiviert ist, wird auch der Sekundenwert ausgewertet.

Jede

Diese Aktion wird immer jede “Stunde + Minute + Sekunde” gestartet, nachdem sie durch eine Aktions-Steuerung mit Status “on” aktiviert wurde.
Sie kann durch eine Aktions-Steuerung mit Status “off” deaktiviert werden.
Benutze muss gesetzt sein, um den Jede-Zeitgeber zu aktivieren.
Die Zufall-Option muss deaktiviert sein.
Das kleinste Ausführungs-Intervall ist eine Minute.
Ein Beispiel hierzu siehe am Ende dieses Abschnittes.

Zufall

Diese Aktion wird in einem zufälligen Intervall ausgeführt.
Die zufällige Aktivierungszeit liegt relativ zwischen 1 Minute und der definierten Aktivierungszeit.
Die Auflösung erfolgt im Minuten-Maßstab.
Die Benutze-Option muss gesetzt sein, um den Zufalls-Zeitgeber zu aktivieren.
Die Jede-Option wird nicht verwendet, wenn Zufall gesetzt ist.

Aktiviert

Option vor Aktivierung; Im Fall der Aktivierungszeit muss kein Ereignis ausgewertet werden.

Beispiel

In der Plan-Datei sieht ein entsprechender Eintrag z.B. so aus:

<aclist>
  <ac id="action1" type="co" coid="light24" cmd="on", hour="18" min="30"/>
<aclist>

Siehe auch: http://www.rocrail.net/doc/rocrail-wrappers/wrapper-en.html#aclist

Beispiel zu Aktivierungszeit → Benutze → Jede
Die Aktion wird in einem Schalter 2x aufgerufen, 1x mit ON und 1x mit OFF
Schalter = Grün … Aktion wird ausgeführt
Schalter = Rot …. Aktion wird gestoppt


Verwendung

Diese Registerkarte listet alle Objekte “Kennung (Typ)”, deren Aktions-Steuerung die in der Übersicht ausgewählte Aktion verwendet.


Ein Doppelklick auf ein Objekt der Liste öffnet den zugehörigen Dialog Aktions-Steuerung.


Schnittstelle

Die Adresse des Sound-Player-Gerätes/Ports.

Wenn der Sound-Befehl straight oder turnout ist, wird ein Weichen-Befehl erzeugt.3)
Wenn der Sound-Befehl play ist, wird ein Aktions-Befehl erzeugt, der unterstützt wird von:

  • RocNet
  • RocNetNode
  • Virtual
1) z.B. die Bild-Datei eines Erfassungs(Grabbing)-Programms
2) Der Status “Ausgang aktiv” ist nur virtuell und kann nicht mit realen Ausgängen sichbar gemacht werden.
3) Ein angegebener Sound-Datei-Name wird ignoriert.

Personal Tools