Zeitlicher Ablauf von Operationen in Zugfahrten: Unterschied zwischen den Versionen
Uslex (Diskussion | Beiträge) K Auf Makro-Ende warten |
Uslex (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 3: | Zeile 3: | ||
== Zeitlicher Ablauf von Operationen == | == Zeitlicher Ablauf von Operationen == | ||
=== | === Einfahrt oder Weiterfahrt === | ||
Ich richte gerade Licht und Sound in meinen Zugfahrten ein. So sollen bestimmte Sounds beim Einfahren oder bei der Weiterfahrt abgespielt werden. | Ich richte gerade Licht und Sound in meinen Zugfahrten ein. So sollen bestimmte Sounds beim Einfahren oder bei der Weiterfahrt abgespielt werden. | ||
Hier ist der zeitliche Ablauf wichtig, da in der Zugfahrt ja bereits Start- und Zieloperationen eingerichtet werden können. Auch in den jeweiligen Blöcken, die zur Zugfahrt gehören, können noch weitere Operationen gesteuert werden. | Hier ist der '''zeitliche Ablauf''' wichtig, da in der Zugfahrt ja bereits Start- und Zieloperationen eingerichtet werden können. Auch in den jeweiligen Blöcken, die zur Zugfahrt gehören, können noch weitere Operationen gesteuert werden. | ||
Inbesondere beim Zielblock ist die Reihenfolge der Aktionen wichtig. | Inbesondere beim Zielblock ist die Reihenfolge der Aktionen wichtig. | ||
=== Operationen aufrufen vs. abarbeiten === | === Operationen aufrufen vs. abarbeiten === | ||
Zeile 24: | Zeile 25: | ||
Die Möglichkeit, Makros synchron oder asynchron aufzurufen, '''bildet hiervon keine Ausnahme'''. Wenn ein Makro synchron aufgerufen wird, so wird dem Aufruf der nachfolgenden Operation nicht etwa gewartet, bis alle Operationen im aufgerufenen Makro abgearbeitet wurden, sondern bis alle Operationen vom aufgerufenen Makro '''aufgerufen''' wurden. | Die Möglichkeit, Makros synchron oder asynchron aufzurufen, '''bildet hiervon keine Ausnahme'''. Wenn ein Makro synchron aufgerufen wird, so wird dem Aufruf der nachfolgenden Operation nicht etwa gewartet, bis alle Operationen im aufgerufenen Makro abgearbeitet wurden, sondern bis alle Operationen vom aufgerufenen Makro '''aufgerufen''' wurden. | ||
=== Zeitverlauf === | === Zeitverlauf === | ||
Zeile 31: | Zeile 33: | ||
:[[Datei:TC9 Operationen im Zeitverlauf.png|500px]] | :[[Datei:TC9 Operationen im Zeitverlauf.png|500px]] | ||
:''Abb: Operationen im Zeitverlauf'' | :''Abb: Operationen im Zeitverlauf'' | ||
Modellbahnkollege Domapi hat uns die Beschreibung [[Medium:TC9_Operationen_im_Zeitverlauf.pdf|Operationen_im_Zeitverlauf.pdf]] zum zeitlichen Ablauf von Operationen in einer Zugfahrt zur Verfügung gestellt. | Modellbahnkollege Domapi hat uns die Beschreibung [[Medium:TC9_Operationen_im_Zeitverlauf.pdf|Operationen_im_Zeitverlauf.pdf]] zum zeitlichen Ablauf von Operationen in einer Zugfahrt zur Verfügung gestellt. | ||
=== Auf Makro-Ende warten === | === Auf Makro-Ende warten === | ||
Zeile 45: | Zeile 49: | ||
*Beschreibung: [[Medium:TC9_Operationen_im_Zeitverlauf.pdf|Operationen_im_Zeitverlauf.pdf]] | *Beschreibung: [[Medium:TC9_Operationen_im_Zeitverlauf.pdf|Operationen_im_Zeitverlauf.pdf]] | ||
*TC-wiki: [[Makro: Abarbeitung]] | *TC-wiki: [[Makro: Abarbeitung]] | ||
Version vom 18. Dezember 2023, 11:02 Uhr
Zeitlicher Ablauf von Operationen
Einfahrt oder Weiterfahrt
Ich richte gerade Licht und Sound in meinen Zugfahrten ein. So sollen bestimmte Sounds beim Einfahren oder bei der Weiterfahrt abgespielt werden.
Hier ist der zeitliche Ablauf wichtig, da in der Zugfahrt ja bereits Start- und Zieloperationen eingerichtet werden können. Auch in den jeweiligen Blöcken, die zur Zugfahrt gehören, können noch weitere Operationen gesteuert werden.
Inbesondere beim Zielblock ist die Reihenfolge der Aktionen wichtig.
Operationen aufrufen vs. abarbeiten
Herr Freiwald erklärt den zeitlichen Ablauf von Operationen im Forum so:
Viele Anwender haben die (falsche) Vorstellung, dass Operationen schön der Reihe nach ablaufen und die nächste Operation erst abgearbeitet wird, wenn die vorherige Operation vollständig abgearbeitet oder beendet wurde.
Operationen werden in einer Operationsliste aber nicht nacheinander abgearbeitet, sondern nacheinander aufgerufen. Ein kleiner aber feiner Unterschied.
Der Aufruf einer Operation erfolgt, nachdem die vorhergehende Operation aufgerufen wurde. Von diesem Moment an können diese Operation und die vorhergehende Operation parallel nebeneinander ablaufen.
Das liegt daran, dass viele Operationen gar kein definiertes oder bekanntes Ende haben. Eine Zugfahrt z.B., die endlos im Kreis gestartet wird, endet vielleicht nie (bzw. erst bei Programmende). Beim Abspielen eines Sounds ist nicht bekannt, wann dieser endet, usw.
Die Möglichkeit, Makros synchron oder asynchron aufzurufen, bildet hiervon keine Ausnahme. Wenn ein Makro synchron aufgerufen wird, so wird dem Aufruf der nachfolgenden Operation nicht etwa gewartet, bis alle Operationen im aufgerufenen Makro abgearbeitet wurden, sondern bis alle Operationen vom aufgerufenen Makro aufgerufen wurden.
Zeitverlauf
Zum zeitlichen Ablauf von Operationen wurde dieses Bild entworfen.
Modellbahnkollege Domapi hat uns die Beschreibung Operationen_im_Zeitverlauf.pdf zum zeitlichen Ablauf von Operationen in einer Zugfahrt zur Verfügung gestellt.
Auf Makro-Ende warten
Wird in TrainController im Rahmen von Operationen ein Makro gestartet, so wird dieses Makro grundsätzlich parallel zu den weiteren Operationen abgearbeitet. Im TC-wiki-Beitrag: Makro: Abarbeitung wird diese Parallelverarbeitung umgangen.
Weblinks
- Quelle: Forum
- Erklärung: Forum
- Beschreibung: Operationen_im_Zeitverlauf.pdf
- TC-wiki: Makro: Abarbeitung
- --Wohlmannstetter 12:54, 16. Feb. 2019
- bearbeitet: Uslex (Diskussion) 07:48, 20. Aug. 2022 (CEST)