[gelöst] Rückmelderadressen batchweise anpassen

[gelöst] Rückmelderadressen batchweise anpassen

Postby Thagu » 30.08.2017, 07:44

Hallo zusammen

ich bin intensiver Nutzer von Rocrail und baue eben meine neue Anlage mit ca. 15 Rückmeldemodulen. Da ich am Ende eine lange Kette von S-88-N Modulen haben werden, aktuell aber mit einem beliebigen Modul daraus beginnen muss, stellt sich mir das Problem mit den Adressen der Rückmeldern.

Beispiel: aktuell benutze ich 2 Module, Adressen 1-32. Sobald die Anlage aber grösser wird, kommen weitere Module dazu, aber nicht zwingend am Ende der Kette, so dass sie Adressen 33-48 belegen. Sondern irgendwo dazwischen. Dadurch verschieben sich die Adressen der bestehenden Module um jeweils 16 Einheiten.

Was ist die einfachste Lösung, dieses "Shiften" der Adressen zu bewerkstelligen, ausser manuell für jeden RM einzeln? Über XML in Excel bearbeiten hab ichs versucht, nicht hingekriegt, da die Formatierung jedes einzelnen Rückmelders nicht immer gleich ist (als CSV mässig geht das nicht).

Vorschlag: ein kleines Script mit Eingabemaske. Eingabe: von Adresse - bis Adresse - Offset. Dann Loop über alle RM. Falls Adresse im definierten Bereich: Adresse um Offset verschieben.
Da ich keine XML Programmiererfahrung habe und gar nicht wüsste, wo anfangen, masse ich mir das nicht zu.

Was meint ihr zum Vorschlag?

Danke und Grüsse
Guido
Last edited by Thagu on 26.10.2017, 14:43, edited 1 time in total.
======================================
Märklin H0 K-Gleis
Tams Redbox Booster, B-3 Booster
Laptop Lenovo als Client/Server mit Win10
======================================
Anlagenbau
Anlagenplanung
Thagu
 

Re: Rückmelder Adressen Batchweise anpassen

Postby rjversluis » 30.08.2017, 09:36

Moin Guido,

am einfachste wäre S88 nicht ein zu setzen sondern ein modernes Meldersystem.

Am zweifachste wäre Melder Gruppen welche man ein Offset verpassen kann.
Also alle Melder Adresse von 1...16, Melder im passende Gruppe einordnen und in die Gruppe der richtige Offset eintragen.

Das 2. gibt es noch nicht in Rocrail aber könnte eventuell für andere Zwecke eingesetzt werden.

Meinungen von Benutzer sind jetzt gefragt.

3. Möglichkeit wäre bei den Melderadresse eine Variable zu addieren... (Das wäre mit wenig Aufwand realisierbar.)
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby magnus » 30.08.2017, 09:39

Hallo Guido,

kann man nicht die S88-N-Module in beliebiger Reihenfolge verbauen?

Ich habe welche von Tams im Einsatz und da geht das.
Gruß
Magnus

Tams MC / Delta Control 6605
ESU Switch Pilot / Tams S88-4
Lok-Decoder: mfx, MM, DCC / C-Gleis
Mageia Linux; Raspi2, andRoc
Anlage im Bau
Lok- und Wagenfotos
magnus
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby LDG » 30.08.2017, 11:12

Hallo Magnus,
magnus wrote:Hallo Guido,

kann man nicht die S88-N-Module in beliebiger Reihenfolge verbauen?

Ich habe welche von Tams im Einsatz und da geht das.
Das geht nur mit den S88-4. Dort kann man den "Offset" über einen Schalter einstellen. Das muß man aber auch erst mal verstehen.

Da sich Rob vor "gefühlten 20 Jahren" von S88 verabschiedet hat, kann/darf es das aber nicht geben :roll: Eine Anlage die mit S88 funktioniert ist da noch unwahrscheinlicher :lol:

Gruß,
Lothar
LDG
Site Admin
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby magnus » 30.08.2017, 11:51

:lol: :lol: :lol:
Gruß
Magnus

Tams MC / Delta Control 6605
ESU Switch Pilot / Tams S88-4
Lok-Decoder: mfx, MM, DCC / C-Gleis
Mageia Linux; Raspi2, andRoc
Anlage im Bau
Lok- und Wagenfotos
magnus
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby smitt48 » 30.08.2017, 11:58

Moin,

Ich denke, diese Idee hat Verdienst!
Trotz Robs Gefühle über S88. :mrgreen:

mfg Tom
Kind regards,
Tom Smit
Kralendijk, Bonaire - Dutch Caribbean

Märklin M & K-rails with ECoS2 (4.2.3) - Win10
RoSoft: S88n & WDD switch & SDD signal decoders
Display: Tri-ang from 1950's, Märklin from early 1960's
In build phase
smitt48
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby Thagu » 03.09.2017, 18:39

Servus zusammen

vielen Dank für die rege Diskussion und entgegennehmen meines Anliegens.
S88n ist halt nun mal günstig und es geht. Was wäre die bezahlbare Alternative?

Nun, da ich schon solche Module habe und die Redbox von Tams das kann, werd ich vermutlich dabei bleiben. Stimmt, die von Tams S88-4 kann das. Aber ist auch wieder teurer. Da wäre ein software-seitige Umsetzung wohl für viele willkommen. Aufwand müsste ja gering sein.

Mit der Variable schau ich noch nicht durch, muss ich mich zuerst einarbeiten.

Alternativ: gibt es eine komfortable Weise, die XML Files in Excel zu bearbeiten, resp. zuerst deren Inhalt richtig zu ordnen (innerhalb der Rückmelder-Info)? Dann wäre es ein einfaches, das XML schön in Excel nach belieben zu überarbeiten. Ev. statt der Doku-Funktion eine Export in Excel Funktion, und dann nach Editieren wieder zurückimportieren. Weil Excel kann ich ;-)

Grüsse und ein grosses Dankeschön nur schon dafür, dass es die Software gibt! Well done. :thumb_up:
Guido
======================================
Märklin H0 K-Gleis
Tams Redbox Booster, B-3 Booster
Laptop Lenovo als Client/Server mit Win10
======================================
Anlagenbau
Anlagenplanung
Thagu
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby LDG » 03.09.2017, 20:42

Hallo Guido,

mal ein paar Anmerkungen und Gedanken von mir:

Dein "Problem" ist schon etwas speziell und eher selten. Da muß man abwägen, ob man deshalb eine Art "Umrechnungsfunktion" mit Erweiterungen in Rocview und Rocrail implementieren soll.

Man kann sich auch durch die Rückmelderkonfigurationstabellen durchackern. Die Schaltflächen " < " und " > " können bei geschickter Wahl der Rückmeldernamen (-> Sortierung) da Einiges an Erleichterung bringen.

Alternativ kann/muß man sich etwas passendes zur "Offline-XML-Bearbeitung" basteln.
Ein Umweg über Excel ist da eher nicht zielführend, denn ein Exportfilter (xml :arrow: xls) muß alle Planelemente in Excel-Elemente/Tabellenfelder umwandeln und ein Importfilter (xls :arrow: xml) ebenso alles wieder zurückwandeln; auch wenn es neue Attributnamen in Rocrail gibt. Kann man das nicht sicherstellen fehlen danach Einstellungen im Plan.

Ich bin schon seit einiger Zeit dabei mir eine Programmierbibliothek zur XML-Bearbeitung (und Analyse) von Rocrail Konfigurations- und Plandateien aufzubauen. Die ist in PHP geschrieben und ist noch immer im Beta-Stadium :roll:
Zuletzt habe ich darauf aufbauend ein Skript zur Umstellung von "dcurve" auf "curvenr 11" realisiert.
Damit könnte man wohl auch ein Skript zur Umstellung von Rückmelderbereichen um einen Wert realisieren. Da gilt es dann auch ein paar Randbedingungen zu beachten:
- erste und letzte zu bearbeitende Rückmelderadresse sowie der "Offset" muß beliebig einstellbar sein.
Es gibt nicht nur 16-fach sondern auch 8-fach Rückmelder (z.B. LDT GBM-8). Eventuell hat da ein Hersteller auch noch andere Varianten "erfunden".
- Rocrail erlaubt mehrere Zentralen im System -> Schnittstellenkennung beachten (die leere Schnittstellenkennung ist nur ein weit verbreiteter Sonderfall :? )
- keine Veränderungen aller anderen XML-Attribute des Plans

Also: Alles nicht ganz so einfach.

Gruß,
Lothar
LDG
Site Admin
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby rjversluis » 04.09.2017, 08:36

Moin,

ich habe es jetzt mal eingebaut das man ein offset Variable verwenden kann bei Melder.
http://wiki.rocrail.net/doku.php?id=sensor-int-en
Also anstatt 16 Melder bearbeiten zu müssen muss man nur der Variable Wert anpassen. Jede S88 Module braucht dann eine Variable für den Offset.

Ausgehend von 16 fach S88 Module, muss der Variable Wert ein vielfach von 16 sein.
Die Melderadresse sind dann immer im Bereich von 1 bis 16.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby smitt48 » 04.09.2017, 10:23

Hi Rob,

The value of the variable will be added to the sensor address.\\


Man hat eine Adresse, diese Adresse mit einem Offset ist die neue Adresse.
Warum braucht man ein neues feld, man kann der Offset einfach bei die Adresse addieren.

Oder?

mfg Tom
Kind regards,
Tom Smit
Kralendijk, Bonaire - Dutch Caribbean

Märklin M & K-rails with ECoS2 (4.2.3) - Win10
RoSoft: S88n & WDD switch & SDD signal decoders
Display: Tri-ang from 1950's, Märklin from early 1960's
In build phase
smitt48
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby rjversluis » 04.09.2017, 10:28

Hi Tom,

bei s88 ist es halt Blöd wenn man eine neue Module als erste in eine Kette anschliesst alle Melder Adressen um 16 verschieben.
Dann ist es einfacher pro 16er Module eine Variable zu ändern dann 16 Melder.
Bei 10 Module muss man dann nur 10 Variablen ändern anstatt 160 Melderadresse...
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby smitt48 » 04.09.2017, 10:48

Hi Rob,

bei s88 ist es halt Blöd wenn man eine neue Module als erste in eine Kette anschliesst alle Melder Adressen um 16 verschieben.


Ich verstehe das, aber der "Offset" muss bei jede Adresse gesetzt worden.

Wiki:
Offset
Optional offset variable.
The value of the variable will be added to the sensor address.


So wenn ich das Offset setzen soll bei jede Adresse, kann ich auch einfach der Offset dazuzahlen.
So weit ich weiss has Rocrail kein S88 Module Schirm, wo ich ein Offset setzen kann, das gilt fuer alle "16" Adressen.

Beispiel (fuer S88 Module of 16):
Module 1 : Addressen 1-16 mit Offset 16/32/48/usw. aber Standard = 0
Module 2 : 17-32 mit Offset 16/32/48/usw. aber Standard = 0
usw

mfg Tom
Kind regards,
Tom Smit
Kralendijk, Bonaire - Dutch Caribbean

Märklin M & K-rails with ECoS2 (4.2.3) - Win10
RoSoft: S88n & WDD switch & SDD signal decoders
Display: Tri-ang from 1950's, Märklin from early 1960's
In build phase
smitt48
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby rjversluis » 04.09.2017, 10:56

Hi Tom,

diese Offset ist eine Variable und muss mann nur einmal beim Melder setzen.
Zur Laufzeit wird diese Variable dann ausgewertet um der Adresse zu berechnen.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby smitt48 » 04.09.2017, 11:00

Hi Rob,

diese Offset ist eine Variable und muss mann nur einmal beim Melder setzen.


Klar!

Aber ich muss es bei jede Adresse setzen.
Fuer dieselbe Anstrengung kann ich die Adresse aendern.

mfg Tom
Kind regards,
Tom Smit
Kralendijk, Bonaire - Dutch Caribbean

Märklin M & K-rails with ECoS2 (4.2.3) - Win10
RoSoft: S88n & WDD switch & SDD signal decoders
Display: Tri-ang from 1950's, Märklin from early 1960's
In build phase
smitt48
 

Re: Rückmelder Adressen Batchweise anpassen (Melder Gruppen)

Postby rjversluis » 04.09.2017, 12:09

Hi Tom,

das ist doch nur einmalig.
Danach muss man nur die Variable Wert noch ändern wenn man eine Module vorne hinzufügt...
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Next

Return to Erweiterungsvorschläge (DE)