Benutzer-Werkzeuge

Webseiten-Werkzeuge


grundlage_makro

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
grundlage_makro [2016/08/23 09:33] akuhtzgrundlage_makro [2020/07/31 11:50] – [Was sind Makros und Accessories?] akuhtz
Zeile 1: Zeile 1:
 ====== Was sind Makros und Accessories? ====== ====== Was sind Makros und Accessories? ======
- 
 **Das Prinzip könnte man in die Legowelt transportieren und sich damit vorstellen:** **Das Prinzip könnte man in die Legowelt transportieren und sich damit vorstellen:**
 +
 +<WRAP group>
 +<WRAP third column>
 {{:allgemein:makro_legobaustein.jpg?300 |}} {{:allgemein:makro_legobaustein.jpg?300 |}}
 +</WRAP>
  
-Die Portaktionen (Eingänge, Schaltausgänge, GPIOs, LED-Ausgänge oder auch Servo-Ports) sind die einfachen Legobausteine. Die Makros sind quasi die Grundplatte, auf die man die Legobausteine draufbauen kann+<WRAP twothirds column> 
 +Die **Port-Aktionen** (Eingänge, Schaltausgänge, GPIOs, LED-Ausgänge oder auch Servo-Ports) sind die einfachen Legobausteine welche auf einen einzelnen Port wirken:
  
-** +  Die Port-Aktion eines Servo-Port lässt den Servo an eine bestimmte Position fahren. \\ 
-Zuerst einen Ausgang schalten, dann warten, dann Servo bewegen, dann anderen Ausgang einschalten, ...** +  Die Port-Aktion eines Schaltausgang lässt den Ausgang ein- oder ausschalten.
  
 +Die **Makros** sind quasi die Grundplatte, auf die man die Legobausteine draufbauen kann um eine oder mehrere Port-Aktionen auszuführen:
  
-Ein Makro ist eine Zusammenfassung von Aktionen. Normalerweise steckt man hier alles reinwas auch zusammengehört und das ist dann in der Legodenke schon ein Art „Funktionsbaustein“. Im realen Betrieb ist es oft sinnvoll den Ablauf in einzelne Makros aufzuteilen und diese von einem übergeordneten Makro auszuführen. Damit verschafft man sich einen Überblick und eine ordentliche Struktur. Die Makros sind toll für Dinge „neben“ der Bahnalso Häuser beleuchten, Spielplatz bewegen usw.+//Zuerst einen Ausgang schalten, dann wartendann Servo bewegen, dann anderen Ausgang einschalten, ...// 
  
-Die Dinge „auf der Bahn“ haben aber noch weitergehende Ansprüche: Ein Signal zeigt einen Begriff, eine Weiche steht irgendwie. Manchmal ist das direkt ein Schaltausgang (dann ist der ganze Klapperatismus eigentlich überflüssig), aber oft sind das kombinierte Abläufe „Signal umstellen“: +</WRAP> 
 +</WRAP> 
 + 
 + 
 + 
 + 
 + 
 +Ein Makro ist also eine Zusammenfassung des sequentiellen Ablauf von Aktionen. \\ 
 +Normalerweise steckt man hier alles rein, was auch zusammengehört und das ist dann in der Legodenke schon ein Art „Funktionsbaustein“. Im realen Betrieb ist es oft sinnvoll den Ablauf in einzelne Makros aufzuteilen und diese von einem übergeordneten Makro auszuführen. Damit verschafft man sich einen Überblick und eine ordentliche Struktur. \\ 
 +Die Makros sind toll für Dinge „neben“ der Bahn, also Häuser beleuchten, Spielplatz bewegen usw. die //einfach laufen// sollen. 
 + 
 +Die Dinge „auf der Bahn“ haben aber noch weitergehende Ansprüche: \\ 
 +Ein Signal zeigt einen Begriff, eine Weiche steht dazu in einer bestimmten Stellung\\ 
 +Manchmal ist das direkt ein Schaltausgang (dann ist der ganze Klapperatismus eigentlich überflüssig), aber oft sind das kombinierte Abläufe „Signal umstellen“: 
  
 Rotes Licht abblenden, bisschen warten, grünes und gelbes Licht aufblenden.  Rotes Licht abblenden, bisschen warten, grünes und gelbes Licht aufblenden. 
-Genau für diesen Ablauf verwendet man die Makros. Da kann man diese Sachen schön unterbringen. +Genau für diesen Ablauf verwendet man die Makros, da kann man diese Sachen schön unterbringen. 
  
  
 {{ :allgemein:accessory_doku.jpg?600 |}} {{ :allgemein:accessory_doku.jpg?600 |}}
  
-**Diese Makros werden aber bei den Bahnbetriebsabläufen einem Accessory zugeordnet.** Nur dann wird der letzte Zustand gespeichert und bei einem Spannungsreset wieder ausgeführt oder eine Rückmeldung an das PC-System zurückgemeldet „Servo hat Position erreicht“!+Diese Makros werden aber bei den Bahnbetriebsabläufen einem **Accessory** zugeordnet. \\ 
 +Nur dann wird der letzte Zustand gespeichert und bei einem Spannungsreset wieder ausgeführt oder eine Rückmeldung an das PC-System zurückgemeldet „Servo hat Position erreicht“!
  
 ====== Mein erstes Makro ====== ====== Mein erstes Makro ======
Zeile 75: Zeile 94:
  
 Anschliessend im Wizard die Verbindung zum Master trennen, weil die Schnittstelle jetzt vom Steuerungsprogramm (Rocrail, iTrain, WDP o.ä.) benötigt wird. Anschliessend im Wizard die Verbindung zum Master trennen, weil die Schnittstelle jetzt vom Steuerungsprogramm (Rocrail, iTrain, WDP o.ä.) benötigt wird.
 +
 +====== Wo gibt es fertige Makros? ======
 +
 +Oben haben wir gesehen, wie das im Prinzip funktioniert. Mag ja ganz toll sein, aber muß man das jetzt immer wieder machen? Nein, für viele, viele Standardfälle gibt es einen [[tools:node-script-wizard|Baukasten mit vorgefertigten Makros]]!
 +
 +====== Und warum ist das so gebaut? ======
 +
 +Ein Steuerungsprogramm will ein Signal (wir nennen das Accessory) auf ein bestimmtes Signalbild (=Aspect) stellen. Dabei ist es dem Steuerungsprogramm egal, wie dieses Signalbild dargestellt wird: das kann ein Flügelsignal sein, ein Ks-Signal oder irgendetwas anderes. Und genau auf dieser Ebene spricht das Steuerprogramm auch die Baugruppe an: Accessory 'abc' soll Aspect '123' zeigen. Wie das die Baugruppe dann konkret macht, ist alleinig Sache der Baugruppe.
 +
 +Es gibt BiDiB-Baugruppen, die manchen z.B. nur eine Weiche. Aspect 1 ist eine Spule, Aspect 2 ist die andere Spule. Fertig. Nichts umzustellen, keine Makros o.ä.
 +
 +Oft reicht die einfache Ansteuerung, aber gerade bei Signalen ist es umfangreicher und recht stark von Bahnverwaltung / Epoche und Ausbauzustand des Vorbildes abhängig. Manchmal blinkt es auch. Wie bringt man das hin?
 +
 +Bei OpenDCC-Baugruppen (und davon abgeleiteten, lizenzierten Baugruppen) gibt es eine flexible Konfiguration: Die Idee: bei jedem Begriff eines Accessory statt eines festen Musters eine Art Schrittkettensteuerung auszuführen. Diese Schrittketten nennen wir Makro.
 +
 +Von oben rein ist der Weg also:
 +
 +    PC stellt Aspect beim Accessory ein.
 +    Aspect start eine Schrittkette (Makro)
 +    Im Makro sind dann die An- Ausknipser fürs Licht.
 +
 +Damit ist man voll flexibel und kann auch besondere Signalbilder darstellen - bis hin zum Lauflicht eines Baustellenblitzers. Und für Standfälle (z.B. Blocksignal) gibt es den [[tools:node-script-wizard|Zauberstab]]!
grundlage_makro.txt · Zuletzt geändert: 2024/01/13 08:36 von akuhtz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki