grundlage_makro
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
grundlage_makro [2014/08/25 09:22] – angelegt fichtelbahn | grundlage_makro [2024/01/13 08:36] (aktuell) – [Und warum ist das so gebaut?] 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> | ||
{{: | {{: | ||
+ | </ | ||
- | Die Portaktionen | + | <WRAP twothirds column> |
+ | Die **Port-Aktionen** | ||
- | ** | + | |
- | Zuerst einen Ausgang | + | |
+ | Die **Makros** sind quasi die Grundplatte, | ||
- | Ein Makro ist eine Zusammenfassung 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 | + | //Zuerst einen Ausgang schalten, dann warten, dann 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), | + | </ |
+ | </ | ||
- | 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. | + | |
+ | |||
+ | |||
+ | 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 oder eine Weiche steht in einer bestimmten Stellung. \\ | ||
+ | Manchmal ist das direkt ein Schaltausgang (dann ist der ganze Klapperatismus eigentlich überflüssig), | ||
+ | * 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. | ||
{{ : | {{ : | ||
- | **Diese Makros | + | |
+ | Bei Bahnbetriebsabläufen ist die korrekte und überwachte Ausführung von Makros gefordert. Dazu wird eine weitere Ebene der **Accessory** eingeführt. \\ | ||
+ | Dazu werden | ||
+ | Bei einem Accessory besteht zudem die Möglichkeit, | ||
+ | Des weiteren erfolgt beim Ausführen des Accessory | ||
+ | |||
+ | ====== Mein erstes Makro ====== | ||
+ | |||
+ | Um einen Weichenantrieb schalten zu können, muss ein BiDiB-Knoten mit Makro und Accessories konfiguriert werden. | ||
+ | * Makro sind Abfolgen von Befehlen (Schaltbefehlen, | ||
+ | * Accessories sind eine übergeordnete Struktur die sogenannte Aspekte haben, welche pro Aspekt ein Makros schalten. Das Accessory wird später vom Steuerungsprogramm (Rocrail, iTrain, WDP, o.ä.) angesteuert. | ||
+ | |||
+ | Der nachfolgende Abschnitt zeigt wie man eine Weiche mit Spulenantrieb mit Makros und Accessory konfigurieren kann, um die Weiche zu schalten. | ||
+ | |||
+ | ===== Weiche mit Spulenantrieb schalten ===== | ||
+ | |||
+ | Eine Weiche hat im einfachsten Fall 2 Schaltzustände: | ||
+ | * Geradeaus | ||
+ | * Abzweigend | ||
+ | |||
+ | Um diese Weiche zu schalten braucht man 2 Makro und 1 Accessory mit 2 Aspekten (// | ||
+ | Dazu erstellt man ein Makro Weiche // | ||
+ | |||
+ | * Makro " | ||
+ | * (Schaltpaar-) Ausgang X einschalten | ||
+ | * Wartezeit 20 Ticks | ||
+ | |||
+ | Die Liste mit den Schritten ist am Anfang leer. Über das Kontextmenü (rechte Maustaste) kannt man mit //Danach einfügen// einen leeren Schritt einfügen und konfigurieren. | ||
+ | |||
+ | ==== Schaltausgang oder Schaltpaar-Ausgang verwenden? ==== | ||
+ | |||
+ | Bei der OneControl gibt es ab FW-Version 3.x den neuen Port-Typ Schaltpaar-Ausgang. | ||
+ | |||
+ | Dieser Typ kombiniert 2 " | ||
+ | |||
+ | Man kann beim Schaltpaar-Ausgang also nie beide Ausgänge gleichzeitig einschalten, | ||
+ | |||
+ | Durch die Verwendung des Schaltpaar-Ausgang muss man in den Makros den anderen Port nicht erst ausschalten, | ||
+ | |||
+ | ==== Makro mit Schaltausgang ==== | ||
+ | |||
+ | Anschliessend muss das Makro mit Klick auf den **Schreiben**-Button auf die OneControl übertragen werden. Das Icon in der Makroliste wechselt dadurch zu einem Schloss mit grünem Haken. | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | Wenn das gleiche Makro mit einzelnen Schaltausgängen statt dem Schaltpaar-Ausgang erzeugt worden wäre, würde es so (kompliziert) aussehen: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | :!: Die Wartezeit von 20 Ticks am Ende ist bei der OneControl wichtig weil die Endabschaltung standardmässig auf 15 Ticks eingestellt ist! D.h. die OneControl überwacht nach 15 Ticks ob die Spule gestellt ist und schaltet dann den Antrieb ab. Ein zu schnelles Hin- und Herschalten würde sonst zu sporadischen Fehlermeldungen führen. | ||
+ | |||
+ | Danach wird ein Makro Weiche // | ||
+ | |||
+ | * Makro " | ||
+ | * (Schaltpaar-) Ausgang Y einschalten | ||
+ | * Wartezeit 20 Ticks | ||
+ | |||
+ | Anschliessend muss auch dieses Makro mit Klick auf den **Schreiben**-Button auf die OneControl übertragen werden. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Wenn auch hier das gleiche Makro mit einzelnen Schaltausgängen statt dem Schaltpaar-Ausgang erzeugt worden wäre, würde es so (kompliziert) aussehen: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Jetzt hat man 2 Makro um die Weiche hin- und herstellen zu können, wenn das jeweilige Makro mit Klick auf den **Testen**-Button gestartet wird. | ||
+ | |||
+ | ==== Accessory erstellen ==== | ||
+ | |||
+ | Anschliessend muss das Accessory Weiche X erstellt werden mit den 2 Aspekten: | ||
+ | |||
+ | * Geradeaus --> Schaltet Makro " | ||
+ | * Abzweigend --> Schaltet Makro " | ||
+ | |||
+ | Nachdem die beiden Aspekte angelegt sind, muss das Accessory mit Klick auf den **Speichern**-Button auf die OneControl übertragen werden. Danach wird das Icon in der Liste der Accessory auch wieder zum Schloss mit dem grünen Haken. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Jetzt kann man im Wizard mit den Pfeil-Buttons bei den Aspekten die Weiche hin- und herschalten. | ||
+ | |||
+ | 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: | ||
+ | |||
+ | Das oben abgebildete Makro kann über den Knoten-Konfigurator mit dem Skript " | ||
+ | |||
+ | ====== 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 ' | ||
+ | |||
+ | Es gibt BiDiB-Baugruppen, | ||
+ | |||
+ | Oft reicht die einfache Ansteuerung, | ||
+ | |||
+ | Bei OpenDCC-Baugruppen (und davon abgeleiteten, | ||
+ | |||
+ | Von oben rein ist der Weg also: | ||
+ | |||
+ | PC stellt Aspect beim Accessory ein. | ||
+ | Aspect startet 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 Standardfälle (z.B. Blocksignal) gibt es den [[tools: | ||
+ | |||
+ | |||
+ | |||
+ | Weitere Informationen zu Makros und Accessories findet man auch unter: | ||
+ | * [[advanced_macro_de|Mehr zu Makro und Accessory]] | ||
grundlage_makro.1408951378.txt.gz · Zuletzt geändert: 2016/07/05 10:47 (Externe Bearbeitung)