RE: Grundlagen zum Function Mapping von mSD/3 und mLD/3

#1 von Stefan Krauss , 27.09.2015 17:27

Hallo!

Inzwischen gibt es im Forum ja schöne Schritt-für-Schritt-Erklärungen, wie man mit dem Function Mapping der neuen Dekoder-Generation von Märklin (mLD/3, mSD/3) einen Kupplungswalzer oder die Lichtabschaltung auf der Zugseite realisiert. Hier jetzt noch der Versuch, einen grundsätzlichen Überblick über die bestehenden und das neue Mapping-System zu geben.

kein Mapping

Einfache Dekoder besitzen kein "Function Mapping". Die über das Digitalsignal gemeldeten Funktionen (F0 ... Fx, zur Unterscheidung im Weiteren als Eingangsfunktionen oder anschaulicher als Funktionstasten bezeichnet) sind direkt den elektrischen Ausgängen (Funktionsausgänge, heute meist als Licht vorwärts/rückwärts und AUX0 ... AUXn bezeichnet) zugeordnet. Das ist im Dekoder hart verdrahtet und lässt sich nicht ändern. Man kann nur die Funktionsausgänge elektrisch umverdrahten.

Bild entfernt (keine Rechte)

Die ausgelösten Funktionen müssen nicht nur die elektrischen Funktionsausgänge sein, es können auch andere Funktionalitäten im Dekoder wie der Rangiergang oder die Abschaltung der Anfahr- und Bremsverzögerung geschaltet werden. Auch die Sounds sind solche auslösbaren Funktionen, die ich im Weiteren allgemeiner als Ausgangsfunktionen bezeichnen werde.

Außerdem kann die "interne Verdrahtung" etwas komplexer sein und zum Beispiel die beiden Lichtausgänge je nach Fahrrichtung wählen, wenn F0 eingeschaltet ist.

Bei Märklin sind heute noch die einfachen fx-Dekoder in manchen Startup-Lokomotiven von dieser Bauart.

einfaches Mapping

Die Idee des Mappings ist zunächst, diese feste Beziehung programmierbar zu machen. Man kann also festlegen, welche Ausgangsfunktion durch welche Funktionstaste (Eingangsfunktion) ausgelöst wird. Dabei wird noch nach Fahrtrichtung unterschieden. Einer Eingangsfunktion können hierbei auch mehrere Ausgangsfunktionen zugeordnet werden. Und umgekehrt können Ausgangsfunktionen durch verschiedene Eingangsfunktionen ausgelöst werden.

In den schematischen Darstellungen sind die vom Benutzer beeinflussbaren Einstellungen rot gezeichnet. Im folgenden Beispiel könnte man sich vorstellen, dass über F1 die Telex hinten an AUX1 ausgelöst wird und zusätzlich der Kupplungs-Sound (Sound 1) abgespielt wird. Rückwärts gefahren wird dann die Telex vorne an AUX2 ausgelöst. Das alles sind aber nur beliebige Beispiele um das Mapping zu verdeutlichen.

Bild entfernt (keine Rechte)

Man kann sich das auch als Tabelle vorstellen, die den Zusammenhang zwischen Eingangsfunktionen und Ausgangsfunktionen beschreibt. Manch Software und Zentralen wie die ECoS verwenden diese Darstellung.

Bild entfernt (keine Rechte)

Neben den Funktionstasten gibt es im Übrigen noch ein paar andere Auslöser wie die Zustände "Fahrt" und "Stand" sowie Dekodereingänge, wenn vorhanden.

Auf dieser Art des Mappings basieren die V3/3.5-Dekoder von ESU und die bisherigen Märklin-Dekoder mLD/mSD, ebenso alle bisher verbauten mfx-Dekoder in Märklin-Lokomotiven.

Mit diesem Mapping lässt sich schon sehr viel realisieren. Allerdings gibt es auch Einschränkungen, es können nämlich keine Abschaltbedingungen realisiert werden. Insbesondere ist die Funktion "Abschalten der zugseitigen Spitzenlichter" so nicht zu realisieren. Märklin realisiert diese Funktion daher in vielen Loks über zusätzliche Elektronik auf der Lokplatine.

Mapping mit Bedingungen

Im Prinzip hat das oben beschriebene Mapping für jede Zeile in der Tabelle eine feste Eingangsbedingung: nämlich das die entsprechende Eingangsfunktion und die entsprechende Richtung eingeschaltet sind. Um Funktionen wie das Dunkelschalten auf Zugseite zu erlauben, wurde das Mapping um variable Bedingungen auf der Eingangsseite erweitert.

Man kann sich das Mapping nun als eine Art Liste von Regeln vorstellen. Für jede Mapping-Zeile gibt es eine Eingangsbedingung und eine Aktion. Ist die Eingangsbedingung erfüllt, werden die in der Aktion benannten Ausgangsfunktionen eingeschaltet.

Bild entfernt (keine Rechte)

Von diesen Regeln gibt es bei ESU 40 Stück. Man kann sich das als riesige Tabelle vorstellen mit 40 Zeilen und Spalten für jede Eingangsbedingung (also "F0 vorwärts", "F0 rückwärts", ...) sowie jeden möglichen Ausgang (also "Licht vorne", "Licht hinten", "AUX1", ..., "ABV aus", ..., "Sound 1", ...). Eine solche Darstellung wird auch im LokProgrammer von ESU verwendet. Auch die Datenstruktur im Dekoder selbst entspricht dieser Tabelle - weshalb alleine dafür mehrere Hundert CVs benötigt werden.

Bild entfernt (keine Rechte)

Damit ist nun zum Beispiel programmierbar, dass das weiße Spitzenlicht 1 nur leuchtet, wenn F0 ein ist ("Licht ein"), F5 ("Zug befindet sich an Lokseite 1") aus und der Zug vorwärts fährt.

Der ESU LoPi/LokSound V4 bietet dieses Mapping. Übrings auch in der mfx-Variante M4. Dann muss sie aber über den LokProgrammer oder über DCC programmiert werden. mfx kennt die dazu notwendigen, zusätzlichen Variablen nicht.

Mapping mit Abläufen

Was auch das Mapping mit Bedingungen nicht kann, ist die Programmierung von Abläufen wie den Kupplungswalzer oder eine Sequenz aus Sound- und Lichteffekten. ESU-Dekoder können dies zwar - das ist aber nicht vom Kunden programmiert, sondern eine fest eingebaute Funktion. Mit der neuen Märklin-Dekodergeneration 3 kommt nun eine weitere Spielart von Mapping auf den Markt, die im Mapping auch Abläufe programmieren kann. Dazu weiter unten mehr.

Das Mapping funktioniert auch hier mit Regeln. Allerdings sind diese etwas anders aufgebaut. Das benötigt man für die Abläufe, spart aber auch deutlich Platz (also weniger CVs). Das Einsparpotential für Letzteres kann man sich gut vorstellen, wenn man sich vor Augen hält, dass die Tabellen oben für jede Zelle einen Platz vorhalten, in der Regel aber nur sehr dünn mit "roten Kreuzen" besetzt sind. Aber das nur nebenbei bemerkt.

Die Regeln im mSD/3 und mLD/3 weisen jeweils einem Auslöser genau ein Ereignis zu, wenn eine bestimmte Bedingung zutrifft. Soll ein Auslöser mehrere Ereignisse auslösen, so muss man mehrere Regeln formulieren. Ein Regel könnte man so darstellen:

Bild entfernt (keine Rechte)

Die Bedingung macht die Regel abhängig von Fahrzustand (nur bei Fahrt, nur im Stand, egal) und Richtung (nur vorwärts, nur rückwärts, egal) sowie vom Zustand des Auslösers. Die Regel aktiviert das Ereignis, wenn der Auslöser eingeschaltet ist, wenn er ausgeschaltet ist, nur beim Einschalten (also, wenn sich sein Zustand von aus nach ein ändert) oder beim Ausschalten.

Die erste Besonderheit ist, dass alle Ereignisse auch Auslöser sein können. Und umgekehrt. Man kann also zum Beispiel eine Regel definieren, die beim Auslösen der Telexkupplung (also z.B. Aktivieren von AUX3) das Auslösen eines Sound (z.B. dem Kupplungsgeräusch) zuweist. In diesem Fall ist es dann egal, auf welche Weise die Telex aka AUX3 ausgelöst wurde (z.B. durch eine Funktionstaste oder den Kupplungswalzer).

Wie bekommt man nun aber Abhängigkeiten zwischen verschiedenen Auslösern hin, wie sie für die Dunkelschaltung benötigt werden? Dazu gibt es die Pseudo-Aktionen "UND_1" bis "UND_8". Wenn alle Regeln, die ein bestimmtes UND als Ereignis haben, dieses UND aktivieren, dann wird das Ereignis UND als gesamtes aktiviert. Wenn nur eine Regel auf "aus" steht, bleibt auch das Ereignis als Gesamtes "aus".

Hier ein Beispiel, wie man die Dunkelschaltung realisieren kann (etwas vereinfacht). Der Ausgang "Licht vorne" ist von UND_1 abhängig. UND_1 wird nur "an" und damit auch der Ausgang "Licht vorne", wenn F0 (Licht) an ist und F5 (Zug hängt auf Seite Führerstand 1) aus. Dafür werden insgesamt 3 Regeln benötigt (hier umrandet).

Bild entfernt (keine Rechte)

Damit kann man nun zwar komplexe Bedingungen formulieren, aber noch keine Abläufe programmieren. Dafür braucht man Glieder, die Zeit verbrauchen - Timer. Auch die gibt es. Sie funktionieren ähnlich wie das UND. Wird ein Timer aktiviert, so geht sein "Ausgang" ebenfall "an". Nach dem Deaktivieren bleibt er aber noch für die eingestellten Zeit an und geht erst dann auf "aus". Typischerweise wird man den Timer aber mit einem Ereignis der Art "wird eingeschaltet" oder "wird ausgeschaltet" starten. Der Timer-Ausgang ist dann nach diesem Ereignis für eine bestimmte Zeit "an". Im mSD/3 bzw. mLD/3 gibt es 4 Timer, die in 0,25-Sekunden-Schritten programmiert werden können (jeder Timer hat seine eigene Ablaufzeit).

Im folgenden Beispiel wird mit F2 ein Blinklicht auf der Werkslok eingeschaltet (erste Regel). Nach 3 Sekunden ertönt noch ein Achtungspfiff (Regeln 2 und 3 unter Verwendung von Timer 1, der Pfiff Sound 3 wird hier beim Abschalten des Timers wie bei einer Momentfunktion nur kurz angestoßen). Auch hierfür haben wir also wieder drei Regeln benötigt.

Bild entfernt (keine Rechte)

Das ist also das System, mit dem die neuen Dekoder mSD/3 bzw. mLD/3 von Märklin arbeiten. Sie bieten Platz für 80 Regeln.


Soviel als Hintergrund. Im Alltag sollten der ESU-LokProgrammer oder der mDT/3 von Märklin helfen, das Mapping am PC etwas komfortabler einzustellen.

Grüße
Stefan


Edith hat die Erklärung und das Beispiel zum Timer korrigiert. Danke an Stephan TT800 für den Hinweis.


vikr und GiovanniB haben sich bedankt!
Stefan Krauss  
Stefan Krauss
InterCity (IC)
Beiträge: 579
Registriert am: 11.09.2012
Homepage: Link
Spurweite H0
Stromart AC, Digital

zuletzt bearbeitet 11.05.2024 | Top

RE: Grundlagen zum Function Mapping von mSD/3 und mLD/3

#2 von Stefan Krauss , 27.09.2015 23:13

Hallo!

Als Nachtrag noch die Links zu den Schritt-für-Schritt-Anleitungen hier im Forum:

Kupplungswalzer
Dunkelschaltung

Das sind auch schöne Beispiele, an denen man sieht, wie das Mapping beim mSD/3 und mLD/3 funktioniert.

Grüße
Stefan


vikr und robert991122 haben sich bedankt!
Stefan Krauss  
Stefan Krauss
InterCity (IC)
Beiträge: 579
Registriert am: 11.09.2012
Homepage: Link
Spurweite H0
Stromart AC, Digital


RE: Grundlagen zum Function Mapping von mSD/3 und mLD/3

#3 von TT800 , 27.09.2015 23:54

Danke Stefan, für Deine Zusammenfassung zum Thema "Funktionsmapping". Wir haben mit der neuen Möglichkeit, logische Verknüpfungen und Abläufe selber zu gestalten, wahrlich eine neue Qualität der Vielfalt zur Steuerung von Lokomotiven bekommen. Es ist Dir gut gelungen, die Entwicklungsstufen darzustellen.


Viele Grüße,
Stephan
__________________________________________________________________________
[60211{60128connected}+60215{GUI:4.2.13|GFP:3.81}+60216{GUI3:2.4.1(0)|GFP3:12.113}+CS3webApp]
Insider seit 1993 - HeimatBf: MIST Wien - http://www.insider-stammtisch.net/


TT800  
TT800
Metropolitan (MET)
Beiträge: 3.900
Registriert am: 31.07.2009
Ort: Weinviertel, Niederösterreich
Spurweite H0
Steuerung Märklin
Stromart Digital


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz