Zeitlicher Ablauf von Operationen in Zugfahrten: Unterschied zwischen den Versionen

Aus RailRoad&Co.-Wiki
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{TC9g}}
{{TC910g}}
__NOTOC__
__NOTOC__


== Zeitlicher Ablauf von Operationen ==
== Zeitlicher Ablauf von Operationen ==
=== Problem ===
=== 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.


=== Lösung ===
 
=== Operationen aufrufen vs. abarbeiten ===
 
Herr Freiwald erklärt den zeitlichen Ablauf von Operationen im [https://www.freiwald.com/forum/viewtopic.php?p=249371#p249371 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.
Zum zeitlichen Ablauf von Operationen wurde dieses Bild entworfen.
Zeile 18: Zeile 34:
:''Abb: Operationen im Zeitverlauf''
:''Abb: Operationen im Zeitverlauf''


Modellbahnkollege Domapi hat uns eine 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.
 
 
=== TrainController wartet nicht auf Makro-Ende ===
 
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 ==
== Weblinks ==


Quelle: [https://www.freiwald.com/forum/viewtopic.php?p=204348#p204348 Forum]
*Quelle: [https://www.freiwald.com/forum/viewtopic.php?p=204348#p204348 Forum]
*Erklärung: [https://www.freiwald.com/forum/viewtopic.php?p=249371#p249371 Forum]
*Beschreibung: [[Medium:TC9_Operationen_im_Zeitverlauf.pdf|Operationen_im_Zeitverlauf.pdf]]
*TC-wiki: [[Makro: Abarbeitung]]
 




:--Wohlmannstetter  12:54, 16. Feb. 2019‎  
:--Wohlmannstetter  12:54, 16. Feb. 2019‎  
:bearbeitet: [[Benutzer:Uslex|Uslex]] ([[Benutzer Diskussion:Uslex|Diskussion]]) 09:21, 18. Feb. 2022 (CET)
:bearbeitet: [[Benutzer:Uslex|Uslex]] ([[Benutzer Diskussion:Uslex|Diskussion]]) 07:48, 20. Aug. 2022 (CEST)


[[Kategorie: Software]]
[[Kategorie: Software]]

Aktuelle Version vom 5. Juni 2024, 07:59 Uhr

Verwendung
thumbs


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.

Abb: Operationen im Zeitverlauf


Modellbahnkollege Domapi hat uns die Beschreibung Operationen_im_Zeitverlauf.pdf zum zeitlichen Ablauf von Operationen in einer Zugfahrt zur Verfügung gestellt.


TrainController wartet nicht auf Makro-Ende

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


--Wohlmannstetter 12:54, 16. Feb. 2019‎
bearbeitet: Uslex (Diskussion) 07:48, 20. Aug. 2022 (CEST)