Table of Contents
Was ist Funktions-Mapping ?
Userpages - Hermann (hermannk)
Vorwort 0: wie im Wiki beschrieben, werden die Einstellungen nur gespeichert, wenn das Feld "Beschreibung" einen Eintrag enthält!!!
siehe Beschreibung
Vorwort 1: die Funktion Null (Funktion "F0") hat eine Sonderrolle. Sie ist fest für die Funktion "Licht" vorgesehen und es gibt daher keine Möglichkeit, die Funktions-Nummer Null auf eine andere Funktions-Nummer umzuleiten (Mappen).
Vorwort 2: falls der Handregler gut lesbare Funktions-Beschriftungen ermöglicht, sollte man auf das Mappen verzichten, sondern lieber den vollen Funktionsumfang jeder Lok individuell auf dem Handregler darstellen.
Vorwort 3:
3a) Nicht alle Lokomotiven und/oder Funktions-Controller unterstützen 32 Funktions-Nummern.
3b) Nicht alle Protokolle unterstützen 32 Funktions-Nummern.
In dieser Dokumentation ist die Funktions-Nummer 32 für "nichts tun" reserviert. Wenn dies in einer bestimmten Konfiguration nicht möglich ist, so darf bitte eine andere Funktions-Nummer als 32, die für "nichts tun" reserviert ist, angewendet werden. Es kann auch erforderlich sein, eine reservierte Funktions-Nummer für die Lokomotiven und eine andere reservierte Funktions-Nummer für Wagons vorzugeben.
Warum Funktions-Mapping?
Für drei Lokomotiven könnte folgende Funktions-Nummern-Belegung vorliegen:
Hersteller | Hersteller | Hersteller | |||||||
---|---|---|---|---|---|---|---|---|---|
Lok 1 | Lok 2 | Lok 3 | |||||||
Funktion | Funktion | Funktion | |||||||
# | Beschreibung | # | Beschreibung | # | Beschreibung | ||||
0 | Licht | 0 | Licht | 0 | Licht | ||||
1 | Licht weiss FSt. 1 | 1 | Rücklicht | 1 | Pfeifen | ||||
2 | Licht weiss FSt. 2 | 2 | Pfeifen | 2 | Rauch | ||||
3 | Horn 1 | 3 | Stromabnehmer | 3 | Bremse | ||||
4 | Horn 2 | 4 | Fernlicht | 4 | |||||
5 | Fernlicht | 5 | Bremse | 5 | |||||
6 | Kupplung Lok | 6 | Sanden | 6 | |||||
7 | Lüfter | 7 | Motor | 7 | |||||
8 | Bremse | 8 | 8 | ||||||
9 | Motorgeräusch | 9 | 9 | ||||||
10 | Sanden | 10 | 10 | ||||||
11 | Licht Führerstd. 1 | 11 | 11 | ||||||
12 | Licht Führerstd. 2 | 12 | 12 | ||||||
13 | Rücklicht | 13 | 13 | ||||||
xx | xxxx | xx | xxxx | xx | xxxx |
Eine Möglichkeit ist es, sich eine Funktions-Nummern-Liste zu definieren, die für alle Lokomotiven gelten soll.
Dabei sollen in diesem Beispiel die Funktions-Nummern folgendermassen genutzt werden:
Funktion | Verwendung |
---|---|
F1 bis F9 | Lok-Funktionen |
F10 bis F19 | Zug-/Wagen-Funktionen |
F20 bis F31 | frei |
F32 | reserviert |
In dieser Beschreibung werden folgende Voraussetzungen gemacht:
Handregler-Belegung | Hersteller | Hersteller | Hersteller | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
für alle Loks | Lok 1 | Lok 2 | Lok 3 | |||||||||
Funktion | Funktion | Funktion | Funktion | |||||||||
# | Beschreibung | # | Beschreibung | # | Beschreibung | # | Beschreibung | |||||
0 | Licht | 0 | Licht | 0 | Licht | 0 | Licht | |||||
1 | Rücklicht | 1 | Licht weiss FSt. 1 | 1 | Rücklicht | 1 | Pfeifen | |||||
2 | Führerstandbeleuchtung | 2 | Licht weiss FSt. 2 | 2 | Pfeifen | 2 | Rauch | |||||
3 | Pfeifen | 3 | Horn 1 | 3 | Stromabnehmer | 3 | Bremse | |||||
4 | Bremse | 4 | Horn 2 | 4 | Fernlicht | 4 | ||||||
5 | Rauch | 5 | Fernlicht | 5 | Bremse | 5 | ||||||
6 | Motor | 6 | Kupplung Lok | 6 | Sanden | 6 | ||||||
7 | Stromabnehmer | 7 | Lüfter | 7 | Motor | 7 | ||||||
8 | Kupplung Lok | 8 | Bremse | 8 | 8 | |||||||
9 | Rangiergang | 9 | Motorgeräusch | 9 | 9 | |||||||
10 | Innenbeleuchtung | 10 | Sanden | 10 | 10 | |||||||
11 | Kupplung Wagen 1 | 11 | Licht Führerstd. 1 | 11 | 11 | |||||||
12 | Kupplung Wagen 2 | 12 | Licht Führerstd. 2 | 12 | 12 | |||||||
13 | Kupplung Wagen 3 | 13 | Rücklicht | 13 | 13 | |||||||
14 | Kupplung Wagen 4 | 14 | 14 | 14 | ||||||||
xx | xxxx | xx | xxxx | xx | xxxx | xx | xxxx | |||||
32 | reserviert; | 32 | reserviert; | 32 | reserviert; | 32 | reserviert; |
Durch das Funktions-Nummern-Mapping für jede Lok können die festen Handregler-Funktions-Nummern in Lok-abhängige Funktions-Nummern übersetzt werden. Dabei können folgende Fälle auftreten:
die Handregler-Funktion ist in der Lok vorhanden | die Handregler-Funktion ist in der Lok nicht vorhanden | ||
Funktions-Nummern sind gleich | Funktions-Nummern sind ungleich | egal | |
Funktion durchreichen | Funktion umlenken (mappen) | auf ungenutzt Funktions-Nummer umlenken | |
F3 "Pfeifen" → F3 "Horn 1" | F4 "Bremse" → F8 "Bremse" | F7 "Stromabnehmer" → F32 "reserviert" |
Voraussetzung ist allerdings: die Funktions-Nummer 32 kommt in unserer Lok nicht vor!
Wie konfiguriert man ein Funktions-Mapping?
In den Eigenschaften unserer Lok legt man zuerst die feste Handregler-Funktions-Nummern-Liste an (z.B. durch "Kopieren" einer bereits gut angelegten Lok). Dann trägt man in die Spalte fx die Hersteller-Funktions-Nummer unserer Lok ein. Für alle nicht vorkommenden Funktionen trägt man die reservierte Funktions-Nummer 32 ein.
In diesem Beispiel ist der Funktionsumfang des Handreglers so festgelegt:
- die Handregler-Funktions-Nummern 1 bis 9 sind für die Loks reserviert;
- die Handregler-Funktions-Nummern 10 bis 19 sind für die Züge/Wagen reserviert;
- die Handregler-Funktions-Nummern 20 bis 31 können individuell genutzt werden;
- die Handregler-Funktions-Nummer 32 ist reserviert als "unbenutzt".
Handregler-Belegung Lok 1 | Hersteller | ||||||
---|---|---|---|---|---|---|---|
unsere Lok | unsere Lok | ||||||
Lok | Funktion | Funktion | |||||
Adresse | Mapping | ||||||
11 | # | Beschreibung | Adr | fx | # | Beschreibung | |
0 | Licht | - | - | 0 | Licht | ||
1 | Rücklicht | 0 | 13 | 1 | Licht weiss FSt. 1 | ||
2 | Führerstandbeleuchtung | 0 | 11 | 2 | Licht weiss FSt. 2 | ||
3 | Pfeifen | 0 | 0 | 3 | Horn 1 | ||
4 | Bremse | 0 | 8 | 4 | Horn 2 | ||
5 | Rauch | 0 | 32 | 5 | Fernlicht | ||
6 | Motor | 0 | 9 | 6 | Kupplung Lok | ||
7 | Stromabnehmer | 0 | 32 | 7 | Lüfter | ||
8 | Kupplung Lok | 0 | 32 | 8 | Bremse | ||
9 | Rangiergang | 0 | 24 | 9 | Motorgeräusch | ||
10 | Innenbeleuchtung | 0 | 32 | 10 | Sanden | ||
11 | Kupplung Wagen 1 | 0 | 32 | 11 | Licht Führerstd. 1 | ||
12 | Kupplung Wagen 2 | 0 | 32 | 12 | Licht Führerstd. 2 | ||
13 | Kupplung Wagen 3 | 0 | 32 | 13 | Rücklicht | ||
14 | Kupplung Wagen 4 | 0 | 32 | 14 | |||
15 | - | 0 | 32 | 15 | |||
16 | - | 0 | 32 | 16 | Führerstand Türe auf/zu | ||
17 | - | 0 | 32 | 17 | Fader | ||
18 | - | 0 | 32 | 18 | |||
19 | - | 0 | 32 | 19 | Kompressor | ||
20 | - | 0 | 32 | 20 | |||
21 | - | 0 | 32 | 21 | Kurven-Quietschen | ||
22 | - | 0 | 32 | 22 | Parklicht | ||
23 | - | 0 | 32 | 23 | Alleinfahrt | ||
24 | - | 0 | 32 | 24 | Rangiergang | ||
25 | - | 0 | 32 | 25 | |||
26 | - | 0 | 32 | 26 | |||
27 | - | 0 | 32 | 27 | |||
28 | - | 0 | 32 | 28 | |||
29 | - | 0 | 32 | 29 | |||
30 | - | 0 | 32 | 30 | |||
31 | - | 0 | 32 | 31 | |||
32 | reserviert; | 0 | 0 | 32 |
Besonderheit: man spart Verarbeitungszeit im Rocrail-Programm, wenn man bei gleichen Funktionsnummern für Handregler und Lok eine Null im Mapping einträgt: fx = 0
Beispiel: Handregler # = 3 "Pfeifen" und unsere Lok fx = 0 "Horn 1"
Lok-Eigenschaften / Funktionen
In diesem Beispiel soll Taste 9 auf dem Handregler der "Rangiergang" für alle Loks sein;
- unsere neue Lok benutzt Funktions-Nr. 24 für den Rangiergang;
- in den Eingenschaften unserer Lok ist dann für Funktion # = 9 das Mapping fx = 24 eingetragen.
Wagen-Eigenschaften / Funktionen
Wie für eine Lok so kann man sich auch für einen Wagen eine Funktions-Nummern-Liste vorgeben …
… und ggf. in die Funktions-Nummern-Liste einer Lok einarbeiten. (siehe in der Tabelle oben "Kupplung Wagen 1" bis "Kupplung Wagen 4").
Mapping bei "Lok mit Zug"
Auf dem Handregler hat man sich nun die Funktionen von "Lok und Zug" festgelegt.
Handregler-Belegung | |
---|---|
Funktion | |
# | Beschreibung |
xx | xxxx |
10 | Innenbeleuchtung |
11 | Kupplung Wagen 1 |
12 | Kupplung Wagen 2 |
13 | Kupplung Wagen 3 |
14 | Kupplung Wagen 4 |
xx | xxxx |
32 | reserviert; |
Grundsätzlich wird von Rocrail die Funktions-Nummer des Handreglers sowohl an die Lok als auch an alle Wagen im Zug weitergereicht. |
In jedem Wagen gibt es dann die Möglichkeit, die Handregler-Funktions-Nummer auf eine Wagen-Funktion umzuleiten (Mappen).
Handregler | Wagen | ||||
---|---|---|---|---|---|
# | Beschreibung | # | Beschreibung | Fx | |
F5 | xxxx | → | F5 | Kupplung | F32 |
F10 | Innenbeleuchtung | → | F10 | Innenbeleuchtung | 0 |
F11 | Kupplung Wagen 1 | → | F11 | F5 |
Beispiel: Handregler # = 11 "Kupplung Wagen 1" umleiten auf Wagen-Funktion 5 durch Fx = 5 für den Wagen 1 ("car151").
Handregler-Belegung | Hersteller | Hersteller | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
unsere Lok | unser Wagen 1 ("car151") | unser Wagen 2 ("car152") | |||||||||||
Lok | Funktion | Funktion | Funktion | ||||||||||
Adresse | Mapping | Mapping | Mapping | ||||||||||
11 | # | Beschreibung | Adr | fx | # | Beschreibung | Fx | # | Beschreibung | Fx | |||
xx | xxxx | - | - | xx | xxxx | xx | xx | xxxx | xx | ||||
5 | Rauch | 0 | 32 | 5 | Kupplung | 32 | 5 | Kupplung | 32 | ||||
xx | xxxx | - | - | xx | xxxx | xx | xx | xxxx | xx | ||||
10 | Innenbeleuchtung | 0 | 32 | 10 | Innenbeleuchtung | 0 | 10 | Innenbeleuchtung | 0 | ||||
11 | Kupplung Wagen 1 | 0 | 32 | 11 | Kupplung Wagen 1 | 5 | 11 | 32 | |||||
12 | Kupplung Wagen 2 | 0 | 32 | 12 | 32 | 12 | Kupplung Wagen 2 | 5 | |||||
13 | Kupplung Wagen 3 | 0 | 32 | 13 | 32 | 13 | 32 | ||||||
14 | Kupplung Wagen 4 | 0 | 32 | 14 | 32 | 14 | 32 | ||||||
xx | xxxx | 0 | 32 | xx | xx | xx | xx | ||||||
32 | reserviert; | 0 | 0 | 32 | 0 | 32 | 0 |
So können von dem Handregler die Funktionen der Lok bedient werden, es können die beiden Wagen jeder für sich abgekuppelt werden und es kann die Innenbeleuchtung in allen Wagen gleichzeitig geschaltet werden.
Mapping auf Adresse und Funktions-Nummer
Es gibt Fahrzeuge, bei denen ein separater Funktions-Decoder mit einer separaten Adresse installiert ist. Um dies zu unterstützen, kann die Definition für die Funktionszuordnung zusätzlich zur Funktions-Nummer eine Adresse verwenden. siehe https://wiki.rocrail.net/doku.php?id=loc-fun-de#adresse_fx
Ein Beispiel für eine separate Funktions-Decoder-Addressierung einer Lokomotive (ohne Zug) findet man unter **Test 6**.
Praktischer Test
Die in dieser Dokumentation aufgeführten Funktions-Definitionen für eine Lok und zwei Wagen sollen in mehreren Tests auf ihre Gültigkeit überprüft werden. Dazu wurde an die Lok "lc_11-de" der Zug "op_51-de" angekoppelt, der aus den beiden Wagen "car151-de" und "car152-de" besteht. Nach dem Anklicken einer Funktions-Taste auf dem Handregler wurde das Ergebnis im Zentrale-Trace-Fenster von Rocview ausgelesen und hier dokumentiert.
Lokomotive | Zug | |
---|---|---|
lc_11-de | op_51-de | |
Wagen 1 | Wagen 1 | |
car151-de | car152-de |
Vorbemerkung 1: es werden Adressen für eine MBUS-Zentrale angewendet:
Kennung | Adresse [hex] | Adresse [dez] |
---|---|---|
lc_11-de | 0x406F | 111 |
car151-de | 0x4097 | 151 |
car152-de | 0x4098 | 152 |
Vorbemerkung 2: "fn=32, val=1" bedeutet: Funktions-Nummer=32, Wert=1
Vorbemerkung 3: die Tests wurden mit Rocrail Version 2.1.755 auf diesem Arbeitsbereich durchgeführt.
Test 1 - Pfeifen
Die Lokomotive soll pfeifen und die beiden Wagen machen nichts; die Handregler-Funktions-Nummer ist identisch mit der Lok-Funktions-Nummer:
Handregler | Lok Mapping | Wagen 1 Mapping | Wagen 2 Mapping | |
---|---|---|---|---|
Kurzbeschreibung: | F3 = "Pfeifen" | fx=0 | car151 Fx=32 | car152 Fx=32 |
Ergebnis: | loco [lc_11-de] addr=0x406F fn=3, val=1 | |||
loco [car151-de] addr=0x4097 fn=32, val=1 | ||||
loco [car152-de] addr=0x4098 fn=32, val=1 | ||||
Test bestanden. |
Test 2 - Rangiergang
Die Lokomotive soll den "Rangiergang" aktivieren und die beiden Wagen machen nichts; die Handregler-Funktions-Nummer ist verschieden bezüglich der Lok-Funktions-Nummer:
Handregler | Lok Mapping | Wagen 1 Mapping | Wagen 2 Mapping | |
---|---|---|---|---|
Kurzbeschreibung: | F9 = "Rangiergang" | fx=24 | car151 Fx=32 | car152 Fx=32 |
Ergebnis: | loco [lc_11-de] addr=0x406F fn=24, val=1 | |||
loco [car151-de] addr=0x4097 fn=32, val=1 | ||||
loco [car152-de] addr=0x4098 fn=32, val=1 | ||||
Test bestanden. |
Test 3 - Innenbeleuchtung
Die Lokomotive macht nichts, aber alle Wagen sollen die "Innenbeleuchtung" aktivieren:
Handregler | Lok Mapping | Wagen 1 Mapping | Wagen 2 Mapping | |
---|---|---|---|---|
Kurzbeschreibung: | F10 = "Innenbeleuchtung" | fx=32 | car151 Fx=0 | car152 Fx=0 |
Ergebnis: | loco [lc_11-de] addr=0x406F fn=32, val=1 | |||
loco [car151-de] addr=0x4097 fn=10, val=1 | ||||
loco [car152-de] addr=0x4098 fn=10, val=1 | ||||
Test bestanden. |
Test 4 - Kupplung Wagen 2
Die Lokomotive macht nichts, aber Wagen 2 soll die Kupplung aktivieren:
Handregler | Lok Mapping | Wagen 1 Mapping | Wagen 2 Mapping | |
---|---|---|---|---|
Kurzbeschreibung: | F12 = "Kupplung Wagen 2" | fx=32 | car151 Fx=32 | car152 Fx=5 |
Ergebnis: | loco [lc_11-de] addr=0x406F fn=32, val=1 | |||
loco [car151-de] addr=0x4097 fn=32, val=1 | ||||
loco [car152-de] addr=0x4098 fn=5, val=1 | ||||
Test bestanden. |
Test 5 - Kupplung Wagen 1
Die Lokomotive macht nichts, aber Wagen 1 soll die Kupplung aktivieren:
Handregler | Lok Mapping | Wagen 1 Mapping | Wagen 2 Mapping | |
---|---|---|---|---|
Kurzbeschreibung: | F11 = "Kupplung Wagen 1" | fx=32 | car151 Fx=5 | car152 Fx=32 |
Ergebnis: | loco [lc_11-de] addr=0x406F fn=32, val=1 | |||
loco [car151-de] addr=0x4097 fn=5, val=1 | ||||
loco [car152-de] addr=0x4098 fn=32, val=1 | ||||
Test bestanden. |
Test 6 - separate Funktions-Adresse
Der Handregler sendet Funktion F27
- für die Lokomotive "lc_11plus-de" mit der Adresse 113 = 0x4071 und
- an den separaten Controller mit der Adresse 114 = 0x4072.
Die Lokomotive macht nichts, aber der separate Funktions-Decoder führt Funktion 26 aus.
F27 Adresse="114"="0x4072" fx="26"
Handregler | Mapping auf Lokomotive mit separater Adresse | |||
---|---|---|---|---|
Adresse | Funktion | |||
Kurzbeschreibung: | F27 = "special" | Adresse=114 | fx=26 | |
Ergebnis: | loco [lc_11plus-de] addr=0x4072 fn=26, val=1 | |||
Test bestanden. |