Makro Operationsende Erkennung und Folgeabläufe steuern

Aus RailRoad&Co.-Wiki
Zur Navigation springenZur Suche springen
Verwendung
thumbs


Makro in TrainController

Was ist ein Makro?

Ein Makro ist eine Folge von Operationsanweisungen, die aus unterschiedlichen anderen Operationen heraus aufgerufen werden können und deshalb nur einmal zu erstellen sind.

Erklärung

In TC Beiträgen wurde immer wieder der Wunsch geäußert, daß der Nutzer gerne wüßte wann ein Makro mit der Abarbeitung seiner Operationen endet, um dann anschließend weitere Aktionen starten zu können.

Im Gegensatz zu einem Makro in normalen Programmiersprachen wird:

  • nach Beendigung eines Makros in TrainController NICHT die Aktion NACH dem Makro-Aufruf bei seinem Ende fortgesetzt,
  • SONDERN das Makro endet OHNE "Rückkehr" zur aufrufenden Stelle!

Folgen nach dem Makroaufruf in TrainController weitere Operationen, so werden diese DIREKT nach dem Aufruf fortgesetzt, sie werden also "zeitlich parallel" abgearbeitet.

Ziel dieses Beitrags

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.

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 "TC-Makro_Operationsende_Erkennung-WiKi.pdf" aufgerufen werden.

Weblinks


-- Jens Mohr 16:24, 28. Sep. 2016‎
bearbeitet: Uslex (Diskussion) 09:08, 18. Feb. 2022 (CET)