Beiträge: 978 Ort: zu Hause Eingetreten: 26.02.15 Status: Offline
Eingetragen am 20.03.2020 17:38
Hallo liebe Stellwerksgemeinde,
ich stehe vor einem Problem, von dem ich weiß oder es glaube, das es "früher" funktionierte.
Ich fahre mehrere Wendezüge, welche bei Einfahrt in die Schattenbahnhöfe die Innenbeleuchtung abschalten (sollen). Die Steuerwagen laufen in Mehrfachtraktion zur Zug/Schublok.
Die Innenbeleuchtung der Wagen schalte ich generell mit F5. In den Blockfunktionen habe ich es auch so deklariert, das an den betreffenden
Stellen F5 eingeschaltet bzw ausgeschaltet wird. Diese Funktion ist auch gegeben , erreicht aber den Funktionsdekoder im Wendezug nicht,
lediglich den Lokdekoder.
In Zügen , wo die Innenbeleuchtung am Lokdekoder hängt, funktioniert es dann natürlich.
Bei Fahrtrichtungsänderung funktioniert ebenso der Lichtwechsel am Steuerwagen.
ich kann mir nur schwer vorstellen wie das realisiert werden kann.
Wie will man die unterschiedlichen Funktionzuordnungen unter einen Hut bringen.
Das dürfte nur mit individuellen Makros möglich sein.
mit einem Makro "function (Loknr, 32) z.B. werden leider nicht nur F5 eingeschaltet, sondern auch alle anderen Funktionen ausgeschaltet.
Es gibt keine Möglichkeit, mit Makros gezielt nur eine einzige Funktion zu schalten, wie dies bei Blockaktionen möglich ist.
Viele Grüße
Heinz
Modellstellwerk Vers 10.2, SpDrS60, Windows 10, Lenz LZV200 V3.8, H0, 2-L, DCC, S88N, LDT High Speed Interface, Digikeijs DR4088CS
Beiträge: 978 Ort: zu Hause Eingetreten: 26.02.15 Status: Offline
Eingetragen am 08.05.2020 19:00
Da kann ich helfen.
Heinz, du musst alle Funktionen , die eingeschaltet werden oder eingeschaltet bleiben sollen, in Summe eintragen.
Z.B. function(loknummer, 48) schaltet F4 + F5. Wenn du jetzt F5 ausschalten möchtest, function(loknummer,16).
die Funktion für die zweite Lok (Wendezugsteuerwagen) in Multitraktion soll nur ein Beispiel sein, im Moment brauche ich sie noch nicht.
Reinhold hat schon Recht, mit binärer Algebra geht das so zu machen mit Makro "function(Loknr, Fx)". Vor zig Jahren habe ich das als Assemblerprogrammierer (vielleicht sogar in Basic ?) auch so gemacht. Nur so bequem wie bei den Blockaktionen ist es nicht. (Funktion ein/aus, Direktfunktion ein/aus) Hierbei muß ich nicht selbst Buch führen über den momentanen Status der Funktionen. ModellStw ist der Status ja bekannt oder kann die Zentrale fragen.
Auf jeden Fall habe ich bei dem Testen zu diesem Thema wieder einiges gelernt. Wenn ich z.B. im Lokfenster der Funktion F5 das Symbol "Innenbeleuchtung" zugewiesen habe, dann muß ich bei der Blockaktion Funktion ein/aus auch den Wert "Innenbeleuchtung" wählen und nicht F5.
Viele Grüße
Heinz
Modellstellwerk Vers 10.2, SpDrS60, Windows 10, Lenz LZV200 V3.8, H0, 2-L, DCC, S88N, LDT High Speed Interface, Digikeijs DR4088CS
Beiträge: 978 Ort: zu Hause Eingetreten: 26.02.15 Status: Offline
Eingetragen am 09.05.2020 20:17
Hallo Heinz,
da du ja noch in der Aufbauphase bist, können wir das Thema ja in Ruhe diskutieren. Wenn du also in einem Steuerwagen in Multitraktion
mit eingebautem Innenlicht und Funktionsdekoder das Licht einschalten möchtest, kommst du um ein makro nicht herum.
F5 wird den Funktionsdekoder nicht schalten, weil Mstw gar nicht weiß, das sich der Steuerwagen im betreffenden Block befindet.
Es wird also beim makro mit function(loknummer,wert) bleiben.
Das ist so meine Erfahrung.
ist mir klar, dass es nur mit Makro "function(loknummer,wert)" zu machen ist. Allerdings weiß ModellStw schon, dass die zweite Lok auch im Blockabschnitt ist (Ist ja bei Multitraktion so eingetragen).
Nur sollte Ronald das Makro function optimaler machen.
ModellStw ist ja der Status aller Funkionstasten bekannt (wird ja im Lokfenster angezeigt und kann jederzeit von der Zentrale abgefragt werden). Daher sollte es ein Makro "function_2(loknummer, Fn, Ein/Aus)". In Fn steht z.B. 5 für F5 oder 6 für Direktfunktion analog zu Blockaktionen. Die Bits der anderen Funktionen handelt ModellStw. Bei Blockaktionen wird es doch schon so gemacht.
Das Makro wird ausgeführt nicht nur für einen bestimmten Block sondern für die ganze Anlage, egal wo die Lok gerade ist, wie bei Makro "function(loknummer,wert)" auch.
Alles kein riesiger Aufwand, nur ein wenig Programmierung auf Anfängerniveau und zum Testen braucht man keine große Anlage.
Als ehemaliger Programmierer weiß ich, wovon ich spreche.
Von Peter001 möchte ich aber gerne mal seine konkrete Lösung mit Funktionsmapping erfahren; diese Anleitungen habe ich zu Genüge gelesen und umgesetzt für Lenz und Zimo Dekoder.
Viele Grüße und schönes Wochenende
Heinz
Modellstellwerk Vers 10.2, SpDrS60, Windows 10, Lenz LZV200 V3.8, H0, 2-L, DCC, S88N, LDT High Speed Interface, Digikeijs DR4088CS
Beiträge: 978 Ort: zu Hause Eingetreten: 26.02.15 Status: Offline
Eingetragen am 10.05.2020 08:33
@ Heinz
Ich sag mal freundlich guten Morgen vom Kaffeepott.
Heinz , ich kann dir zum Funktionsmapping ein Beispiel der verschiedenen Konfigrationen aus meinem Stall darstellen.
Eilzug mit 6 Wagen. Je zur Hälfte auf AUX 1 + 2 gesetzt, AUX 3 schaltet die Packwagenbeleuchtung.
Funktionsdekoder mit 3 Ausgängen AUX 1/2/3. Werkseitig mit CV 33/1 - VC 34/2 - CV 35/ 4 ausgeliefert.
Diese 3 CVs sind alle auf "Null" gesetzt. Die komplette Zugbeleuchtung wird bei mir immer mit F5 geschaltet. Also
ist CV 39 (F5) auf 7 gesetzt (Wert der Ausgänge AUX 1-3). Folgendes geschieht: Der Zug verlässt den Sbf und kommt an die Oberfläche
und die Zugbeleuchtung wird eingeschaltet. Die beidteiligen Zugbeleuchtungen sind auf F6 + F7 verteilt. (könnte auch gemeinsam auf F6 liegen).
Also ist CV40 = 1 und CV 41 = 2. (oder gemeinsam auf F6 gelegt wäre CV 4 = 3).
Bei Einfahrt ins Tageslicht werden also die Innen leuchten den entsprechenden Beispielen mit F6 + F7 eingeschaltet. Packwagenlicht bleibt noch aus.
Beim Bahnsteighalt wird dann da Packwagenlicht zugeschaltet, mit F 5, da ja alle Lichter auf F5 gelegt sind (CV 39 = 7).
Bei Abfahrt erfolgt dann nach Signalvorbeifahrt die Abschaltung der Packwagenbeleuchtung, die Innenichter bleiben an. Also F6+F7 ein.
Im weiteren Fahrtverlauf Ri Schattenbf erfolgt dann auch die Abschaltung der Restbeleuchtung.
So, jetzt zum Kleingedruckten. Wenn der Wagenpark eine andere Adresse als die Zuglok hat, funktioniert es nur mit makro (function(41, 32 etc).
Bei mir ist der Fuhrpark verschieden angelegt. Alle Schaltpunkte enthalten Grundsätzlich F5 für Licht an/aus. Passt gut für Triebzüge und
Züge mit Stammloks. Der Rest dann mit Makros.
Heinz, das war anstelle der morgenlichen Marmeladenbrötchen die Klugsch...... Senfportion.
Besten Gruß
Reinhold
PS: Und entschuldige bitte die Umfangreiche Lektüre. Aber es sammelt sich an
da hast du dir viel Mühe gegeben mit dem Mapping, aber es ist ein Spezialfall für deine Wünsche.
Ich kaufe mir doch keine Steuerungssoftware, wenn es hier an einfachen Dingen mangelt. Das Mapping für diese CVs ist doch nicht Jedermann zuzumuten. Es unterscheidet sich auch bei den Herstellern. Hast du mal eine Soundlok mit Zimo Decoder aufs Gleis gesetzt?
Hier sind die Funktionen alle schon vollgeknallt. Du oder ich können auch das ändern mit Eingangsmapping (CV400) oder CV300-Prozedur. Meine erste Soundlok konnte ich gar nicht voll ansteuern, weil Ronald es in den letzten 10 Jahren nicht geschafft hat, die Funktionen F13-F28 zu implementieren. Selbst die Version 9.8.4 ist ja hier noch fehlerhaft; F18 funktioniert nicht, im Lokfenster werden diese Funktionen nicht richtig angezeigt. Es ist mangelhaft implementiert, Lok- und Weichensteuerung auf der Zentrale folgen, wie es im Handbuch steht, Fehlanzeige, funktioniert nicht. Das hat nicht viel mit der Komplexheit der Sache zu tun. Es ist das tägliche Brot des Programmierens.
Und ein gescheites zusätzliches Makro zu implementieren, mit dem man wie bei den Blockaktionen einzelne Funktionen gezielt ein- oder ausschalten kann ohne sich um den Status der anderen Funktionen zu kümmern, das ist kein Kunststück.
Das war meine Senfportion, statt Marmelade.
Gruß
Heinz
Modellstellwerk Vers 10.2, SpDrS60, Windows 10, Lenz LZV200 V3.8, H0, 2-L, DCC, S88N, LDT High Speed Interface, Digikeijs DR4088CS