DE EN

SCRIPTS

TransportControl bietet ein Script-System, um das gesteuerte Transportsystem bei Bedarf logistisch und optisch anzupassen. Es gibt drei verschiedene Script-Typen, über die sich jeweils ein eigener Bereich der Anwendung anpassen lässt.

Scripts können zur der Laufzeit von TransportControl mit der Berechtigungsstufe CONFIG über den Webclient bearbeitet werden. Änderungen werden auf dem Server gespeichert und sind immer global wirksam.

Bei der Erstellung und Bearbeitung von Scripts ist die Syntax von JavaScript einzuhalten. Syntax-Fehler werden in der Script-Tabelle des Webclients mit entsprechender Zeilennummer angezeigt, jedoch erst dann, wenn das Script vom Programm aufgerufen wurde.

 

Die Beispiele wurden mit der aktuellen TransportControl Version getestet. Eine Kompatibilität mit älteren TransportControl Versionen kann nicht gewährleistet werden.


Typ Server

Scripts vom Typ SERVER werden vom zentralen TransportControl Server aufgerufen und ausgeführt. Hier lässt sich die Logistik einer gesteuerten Anlage anpassen. Viele Eingangssignale haben innerhalb von TransportControl keine festgeschriebene Bedeutung und können mit Hilfe von SERVER-Scripts beliebig mit Aktionen verknüpft werden. So können z. B. Fahraufträge erzeugt oder Segmente gesperrt werden, falls Fahrzeuge definierte Positionen einnehmen oder Stationen Signale senden.

Der frei komponierbare Code-Block eines Scripts entspricht einer Funktion, die innerhalb der Hauptschleife des Server je nach eingestelltem Intervall aufgerufen wird. An diese Funktion werden bei jedem Aufruf drei Objekte übergeben:

  1. targetList: Array - enthält alle im System angemeldeten Targets (Fahrzeuge und Stationen)
  2. self: Script Class - das gerade aufgerufene Script selbst
  3. h: Helper Class - bietet diverse Hilfsfunktionen an

Durch Nutzung dieser Objekte werden oft weitere Objekte greifbar. Die öffentlichen Eigenschaften und Funktionen jedes Objektes können innerhalb der Scripts direkt angesprochen werden. In der nachfolgenden Auflistung der Funktionen werden zur Verdeutlichung der zugrunde liegenden Klassen Java-Datentypen angegeben.

Script-Beispiele - Typ Server


Typ UPDATE

Scripts vom Typ UPDATE werden unter Berücksichtigung des eingestellten Intervalls wiederholt innerhalb der Browser-UI ausgeführt und dienen meist zur optischen Anpassung der Karte. Theoretisch kann hier allerdings jeder Parameter und jede Funktion vom Quellcode der UI manipuliert bzw. aufgerufen werden. Eine vollständige Beschreibung aller Möglichkeiten sprengt jeden Rahmen, daher werden in dieser Dokumentation nur die gängigsten Anwendungen vorgestellt.

Script-Beispiele - Typ Update


Typ CUSTOM

Scripts vom Typ CUSTOM werden ausgeführt, falls über die alternative Adresseingabe per Browser (siehe 4.2.4) eine benutzerdefinierte und für Mobilgeräte optimierte UI angefordert wird. Während die Kopf- und Fußzeile der UI vordefiniert sind, kann der Inhalt über ein CUSTOM-Script gestaltet werden. Wird beim Aufruf kein aktives Script gefunden, erscheint eine entsprechende Fehlermeldung. Aufgerufen wird die Custom UI über folgende URL:

http://[SERVERIP]:[SERVERPORT]/transportcontrol/?script=[UINAME]

Script-Beispiele - Typ Custom