Het detecteren van het einde van een operaties en het aansturen van volgorde
Macro in TrainController
Wat is een macro?
Een macro is een reeks operatie instructies, die vanuit verschillende andere operaties kunnen worden opgeroepen en daarom slechts één keer hoeven te worden aangemaakt.
Einde macro
In TC-berichten werd herhaaldelijk de wens geuit dat de gebruiker graag zou willen weten wanneer een macro klaar is met het uitvoeren van zijn bewerkingen, zodat hij vervolgens verdere acties kan starten.
In tegenstelling tot een macro in normale programmeertalen:
- wordt na beëindiging van een macro in TrainController de actie NA de macro-oproep aan het einde NIET voortgezet,
- MAAR eindigt de macro ZONDER terug te keren naar de plaats waar deze werd opgeroepen!
Als er na het aanroepen van de macro in TrainController nog meer bewerkingen volgen, worden deze DIRECT na het aanroepen voortgezet, ze worden dus "parallel" uitgevoerd.
Einde herkennen
Dieses Dokument beschreibt den Einsatz von Makros im TC Programm ganz allgemein und stellt verschiedene Wege vor wie das Ende eines Makro - "Programmablaufs" erkannt werden kann und wie sich daran weitere Abläufe (Operationen) in TC Objekten anschließen lassen.
Abb: Operation Z am Makroende
Es wird bewußt KEINE Wartezeit verwendet, damit sich die Abläufe "nahtlos" aneinanderreihen --- ohne die mit der Wartezeit verbundenen zeitlich bekannten Problematiken.
Es sei jetzt schon darauf hingewiesen, daß der Leser nicht seinen spezifischen Fall behandelt sieht. Er muß sich aus dem "Grundsätzlichen“ die Lösung zu seinem Fall ableiten.
Dokument herunterladen
Das folgende Dokument zeigt Möglichkeiten auf, wie sich ein Makro - Ablaufende erkennen läßt und wie man ein Verhalten erstellen kann, was an das Verhalten in "normalen Programmiersprachen" anknüpft sowie Abläufe in anderen TC Objekten initiert.
Das Dokument wurde von Jens Mohr zur Verfügung gestellt und kann unter dem Titel als PDF: "TC-Makro_Operationsende_Erkennung-WiKi.pdf" aufgerufen werden.
Weblinks
- Anleitung: TC-Makro_Operationsende_Erkennung-WiKi.pdf
- -- Jens Mohr 16:24, 28. Sep. 2016 († 2023)
- bearbeitet: Uslex (Diskussion) 09:08, 18. Feb. 2022 (CET), Uslex (Diskussion) 13:23, 31. Jul. 2023 (UTC), Uslex (Diskussion) 10:22, 24. Aug. 2024 (CEST)
