Verwendung von Vorlagenskripts zur schnellen Visualisierung signalisierter Knoten

Technische Mitteilung #43

Januar 2020
Von Margarida Delgado

In dieser technischen Mitteilung werfen wir einen Blick auf ein Vorlagenskript, mit dem Sie den Filtervorgang und die Anzeige von signalisierten Knoten beschleunigen können.

Skript 10 in der Vorlagenliste durchsucht alle Knoten im Modell und weist anschließend ein Knotenattribut namens „GKNode::hasControlInfo“ als „wahr“ oder „falsch“ zu (oder erstellt dieses Knotenattribut, falls es nicht existiert).

Bei der Ausführung von Skript 10 wird die Hauptfunktion aufgerufen und ein Dialogfeld mit folgenden Optionen geöffnet:

  1. „All Control Plans“
  2. „One Control Plan“
  3. „All Control Plans in a Master Control Plan“

Dropdown-Menü für GKNode::hasControlInfo

Bei Auswahl der Option „One Control Plan“ müssen Sie die ID-Nummer des Signalprogramms, bei Auswahl der Option „All Control Plans in a Master Control Plan“ die ID-Nummer des Signalprogrammplans angeben.

Die Funktion „getCreateNodeAttribute()“ prüft, ob das Attribut „GKNode::hasControlInfo“ bereits existiert. Falls nicht, wird dieses erstellt. Der Attributwert muss ein Boolescher Wert sein („true“ oder „false“), der externe Name ist „Has Control Info?“.

Die Funktion „isNodeInCP( cp, node )“ ermittelt lediglich, ob ein bestimmter Knoten Informationen für ein bestimmtes Signalprogramm enthält und gibt als Wert „0“ für „false“ bzw. „Nein“ oder „1“ für „true“ bzw. „Ja“ zurück wenn solche Informationen vorhanden bzw. nicht vorhanden sind. Die Funktion „getControlJunction()“ gibt den Wert „0“ zurück, wenn der Knoten als „Unbestimmt“ (d. h. keine Informationen vorhanden) im Signalprogramm erscheint.


Bei einer Suche nach allen Signalprogrammen wird die Funktion „startCalculation(column)“ ausgeführt, die eine Iteration über alle Knoten und für jeden Knoten über alle Signalprogramme durchführt. Alle Knoten sind Objekte des Typs „GKNode“, Alle Signalprogramme sind Objekte des Typs„CKControlPlan“, so dass für die Suche die Funktion „getCatalog().getObjectsByType(enterType)“ verwendet werden kann.

Bei der Suche nach einem bestimmten Signalprogramm führt die Funktion „startCalculationCP(Spalte, cp)“ eine Iteration über alle Knoten dieses spezifischen Signalprogramms durch.

Bei der Suche nach einem bestimmten Signalprogrammplan führt die Funktion „startCalculationMCP(spalte, mcp)“ eine fahrplan- und zonenunabhängige Iteration über alle Knoten und alle Signalprogramme innerhalb des entsprechenden Signalprogrammplans durch.

Nach Durchlauf des Skripts können Sie informationslose Knoten visualisieren, indem Sie einen entsprechenden Ansichtsmodus erstellen: