Zugdateneingabe nicht möglich (BR 146.2) (gelöst. - ZD muss Master sein)

Die Anzeigesoftware von Jens Haupert.

Moderator: Jens Haupert

Antworten
Nachricht
Autor
Benutzeravatar
Paneologe
Beiträge: 96
Registriert: 25.03.2023 13:49:28

Zugdateneingabe nicht möglich (BR 146.2) (gelöst. - ZD muss Master sein)

#1 Beitrag von Paneologe »

Hallo,

ich habe das Problem, dass die Zugdateneingabe via ZusiDisplay (Diagnose und MFD-Display) oder QDMi in etwa 3 von 4 Fällen nicht funktioniert (also bei ungefähr jeden 4. Start funktioniert es komischerweise).

Meine Schritte (Problem scheint aber unabhängig von ausgewählten Zug zu sein):
-Fahrplan "Muehlbach-Veddel_2020_06Uhr-10Uhr.fpn" geöffnet
-unter 2a) E82149_82110 gewählt
-Starten
-F2 (da Simulation in Pause gestartet)
-F4 (Zug wird aufgegleist)
-Konfiguration->ZusiDisplay starten->Diagnosedisplay->Diagnosedisplay BR 146.1/146.2/....
"ZugBesy"
ich erhalte folgende Bilder, die Zugdaten (ausser Zugnummer, TF-Nummer, Gesamtgewicht) lassen sich nicht einstellen:
Bild
Bild

Das Problem habe ich sowohl mit der Steam-Version, sowie mit der USB-Stick-Version - allerdings unter Verwendung von (openSUSE) Linux. Getestet sowohl mit Proton 7.0 (Steam) als auch wine-staging-8.4-lp154.1562.3.x86_64 (USB-Stick-Version)

Grüsse und vielen Dank schonmal

Edit:
Das Zusidisplay im Führerstand dagegen scheint zu funktionieren:
Bild
Allerdings ist die Bedienung nicht möglich, da der AFB-Hebel und der Richtungswahlschalter mit den Tasten des Displays überlappen.
Edit 2:
Die Maschinenbedientafel über ZusiDisplay zeigt bei Zugbeeinflussung keine Schalter dar. Habe nun noch gemerkt, dass ich das ZusiDisplay im Führerstand bedienen kann, wenn ich zwei mal nach unten drücke. Nun kann ich zumindest fahren. Aber oben genanntes Problem ist noch nicht gelöst.
Bild
Zuletzt geändert von Paneologe am 31.03.2023 16:16:42, insgesamt 1-mal geändert.
Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

Benutzeravatar
Jens Haupert
Beiträge: 4911
Registriert: 23.03.2004 14:44:34
Aktuelle Projekte: http://www.zusidisplay.de
Wohnort: Berlin
Kontaktdaten:

Re: Zugdateneingabe nicht möglich (BR 146.2)

#2 Beitrag von Jens Haupert »

Hallo,

ich kann zum geschilderten Problem leider nichts hilfreiches sagen. Vielleicht können die Linux-Nutzer etwas beitragen?

Viele Grüße
Jens

Benutzeravatar
Paneologe
Beiträge: 96
Registriert: 25.03.2023 13:49:28

Re: Zugdateneingabe nicht möglich (BR 146.2)

#3 Beitrag von Paneologe »

Noch als Hinweis:
IPv6 ist auf dem Rechner nicht verfügbar. Aber ich vermute nicht, dass mehrere Sockets verwendet werden bei der Kommunikation ZD<>Zusi?
Edit: In den ZD-Eisntellungen unter Verbindungen ist die IPv4 loopback-Adresse 127.0.0.1 eingetragen. Sollte also IPv6 garnicht nutzen
Edit2: Habe versucht das Logging in ZusiDisplay zu aktivieren. finde aber keine "log.txt", wohin sollte die denn geschrieben werden?
Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

Benutzeravatar
Paneologe
Beiträge: 96
Registriert: 25.03.2023 13:49:28

Re: Zugdateneingabe nicht möglich (BR 146.2)

#4 Beitrag von Paneologe »

Habe in der Konfiguration unter "Sonstiges" "Interner Bus für Diagnosedisplays verwenden" deaktiviert. Nun funktioniert die Zugdateneingabe und das Display ist synchron mit den ZDs im Führerstand:
Bild
Laut Doku wäre das bei umgekehrter Einstellung zu erwarten:
Interner Bus für Diagnosedisplays verwenden (X): Mit dieser Option, sind mehrere Displays
in der Lage, sich selbständig miteinander zu verbinden, so dass diese alle genau die gleichen
Informationen anzeigen und Daten, die an einem Display eingeben wurden auch allen
anderen Displays zur Verfügung stehen.
Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

Benutzeravatar
F. Schn.
Beiträge: 6630
Registriert: 24.10.2011 18:58:26

Re: Zugdateneingabe nicht möglich (BR 146.2)

#5 Beitrag von F. Schn. »

Alle Dinge, die ZusiDisplay an Zusi sendet und von Zusi abfragt, können auch bei ausgeschaltetem Bus korrekt ausgetauscht werden. Der interne Bus wird nur für alles andere benötigt. Das sind meist recht tiefe Details. Beim Ebula war das beispielsweise Verspätung zwischen MMI und Ebula austauschen und Energieverbrauch von den anderen Displays empfangen.

Der interne Bus basiert (wenn ich mich jetzt nicht völlig vertue) auf Named Pipes. Wenn du unter Wine damit Probleme hast, dann liegt der Verdacht bei Wine. ;)
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Paneologe
Beiträge: 96
Registriert: 25.03.2023 13:49:28

Re: Zugdateneingabe nicht möglich (BR 146.2)

#6 Beitrag von Paneologe »

Der interne Bus basiert (wenn ich mich jetzt nicht völlig vertue) auf Named Pipes. Wenn du unter Wine damit Probleme hast, dann liegt der Verdacht bei Wine. ;)
interessanter Gedanke, aber die ZusiDisplays im Führerstand arbeiten ja wohl auch mit named pipes und das ohne Probleme:
| |-ZusiDisplay.64. -pipeMode -pipeName=ZD_MMI -diagnose -displayType=P160AC1_2-disp
| |-ZusiDisplay.64. -pipeMode -pipeName=ZD_MTD -diagnose -displayType=P160AC1_2-disp
| |-ZusiDisplay.64. -pipeMode -pipeName=ZD_FIS -fis
| |-ZusiDisplay.64. -pipeMode -pipeName=ZD_Bedientafel -bedientafel
| |-ZusiDisplay.64. -pipeMode -pipeName=ZD_Zugfunk -zugfunk_bg21s_mtrs
| |-ZusiDisplay.64. -pipeMode -pipeName=ZD_Bedientafel_2 -bedientafel2
Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

Benutzeravatar
Paneologe
Beiträge: 96
Registriert: 25.03.2023 13:49:28

Re: Zugdateneingabe nicht möglich (BR 146.2)

#7 Beitrag von Paneologe »

Ok, nun habe ich ein anderes Problem.
Mit der Deaktivierung "Interner Bus für Diagnosedisplays verwenden" funktioniert das nicht-integrierte Zugdisplay zwar nun. Dafür funktionieren die im Führerstand integrierten ZDs nicht mehr (richtig).
Die Anzeige der Displays im Fahrzeug "lagt" einige Zeit hinterher (etliche sekunden) und flackert zwischen Einzelbildern.
als kleines mp4: https://www.swabian.net/extern/zusi/zus ... recode.mp4
originalscreen in mkv: https://www.swabian.net/extern/zusi/zusi_problem.mkv
Ein Zusidisplay-Thread frisst dabei 100% CPU-Nutzung.

Kann sich aus diesem Verhalten sich vielleicht jemand etwas ableiten? ?(

danke für eure Hilfe

Edith:
Die Erleuchtung:
Die Zugdateneingabe funktioniert nur, wenn das Zusi-Display/Diagnosebildschirm als Master fungiert. Als Client passiert das eingangs erwähnte Verhalten, dass die Eingabe nicht möglich ist. Bei mir wurde standardmässig zuerst die Ebula automatisch aufgerufen, dann ist das Diagnosedisplay, dass ich später aufrufe Client und die EIngabe ist nicht möglich. Die Option "Interner Bus für Diagnosedisplays verwenden" ist jetzt aktiviert - und das ZD im Führerstand funktioniert auch.
Ist dieses Verhalten gewollt?
Wäre es irgendwie möglich via Parameter festzulegen, ob ein ZD Master oder Client sein soll? Und/Oder die Option "Interner Bus für Diagnosedisplays verwenden" als Parameter? Dann wäre es (mir) möglich, die Starts von Zusidisplay, wie von mir gewollt zu automatisieren und das mit voller Funktion.

Erklärt übrigens auch "(also bei ungefähr jeden 4. Start funktioniert es komischerweise)." - 4 ZDs werden (automatisch) gestartet. Da der Aufruf/Start ja nicht synchronisiert ist, war in 25% der Fälle das Diagnosedisplay der Master ;)
Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

ET420_Fan
Beiträge: 341
Registriert: 22.06.2020 11:31:46
Aktuelle Projekte: ET430 Führerstand - Zusi 3

Re: Zugdateneingabe nicht möglich (BR 146.2)

#8 Beitrag von ET420_Fan »

Das steht auch im Handbuch, MMI, dann TDD, dann Fis, dann Ebula (je nachdem was vorhanden ist)

Grüße
ET420

Benutzeravatar
Jens Haupert
Beiträge: 4911
Registriert: 23.03.2004 14:44:34
Aktuelle Projekte: http://www.zusidisplay.de
Wohnort: Berlin
Kontaktdaten:

Re: Zugdateneingabe nicht möglich (BR 146.2)

#9 Beitrag von Jens Haupert »

Hallo,

wäre es nicht möglich, den automatisierten Start der "nicht-Master"-Displays einfach ein paar Sekunden zu verzögern?

Grüße
Jens

Benutzeravatar
Paneologe
Beiträge: 96
Registriert: 25.03.2023 13:49:28

Re: Zugdateneingabe nicht möglich (BR 146.2)

#10 Beitrag von Paneologe »

wäre es nicht möglich, den automatisierten Start der "nicht-Master"-Displays einfach ein paar Sekunden zu verzögern?

daran hab ich auch schon gedacht unter linux würd ich dann ein Kommando wie z.B. "sleep 2 && Zusidisplay" verwenden. wie sowas unter windoof oder in zusi geht, weiss ich allerdings nicht.
Eventuell ein .bat oder windows powershell script? werde mal recherchieren

Edit: gedacht und getan, hab ein kleines batch-script erstellt, dass ich von Zusi beim start über externe programme aufrufe:
ZDstart.bat (bei mir in C:\Program Files (x86)\Zusi3\_Tools\ZusiDisplay\)

Code: Alles auswählen

cd C:\Program Files (x86)\Zusi3\_Tools\ZusiDisplay\
start ZusiDisplay.64.exe -diagnose -displayType=P160AC1_2-disp
ping -n 6 127.0.0.1 > nul
start ZusiDisplay.64.exe -zugfunk_bg21s_mtrs
ping -n 2 127.0.0.1 > nul
start ZusiDisplay.64.exe -fis 
ping -n 2 127.0.0.1 > nul
start ZusiDisplay.64.exe -buchfahrplan
exit
zuerst wird das Diagnose-Display gestartet, 5 Sekunden gewartet, dann die anderen Displays mit je einer Sekunde Abstand.
Hierfür hab ich "ping" zweckentfremdet.
Funktioniert einwandfrei.
Man Könnte noch den Komfort erhöhen, z.B. die verschiedenen Fahrzeuge und zugehörige ZusiDisplays hinterlegen... aber zu lange her, dass ich mich mit DOS/Windows Batch-Files rumgeplagt habe. ein shell script würd ich schneller entsprechend basteln.
Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

Benutzeravatar
Jens Haupert
Beiträge: 4911
Registriert: 23.03.2004 14:44:34
Aktuelle Projekte: http://www.zusidisplay.de
Wohnort: Berlin
Kontaktdaten:

Re: Zugdateneingabe nicht möglich (BR 146.2)

#11 Beitrag von Jens Haupert »

Paneologe hat geschrieben: 30.03.2023 14:25:56wie sowas unter windoof oder in zusi geht, weiss ich allerdings nicht.
Eventuell ein .bat oder windows powershell script?

Code: Alles auswählen

timeout

Benutzeravatar
Paneologe
Beiträge: 96
Registriert: 25.03.2023 13:49:28

Re: Zugdateneingabe nicht möglich (BR 146.2)

#12 Beitrag von Paneologe »

Jens Haupert hat geschrieben: 30.03.2023 14:52:37
Paneologe hat geschrieben: 30.03.2023 14:25:56wie sowas unter windoof oder in zusi geht, weiss ich allerdings nicht.
Eventuell ein .bat oder windows powershell script?

Code: Alles auswählen

timeout
Ok, das habe ich versucht, scheinbar ist in wine standardmässig weder die powershell vorhanden (schade, ich mag eigentlich die powershell... endlich was gutes von microsoft ;) ), noch eine timeout.exe, die über cmd.exe ausführbar wäre

Code: Alles auswählen

> wine64 pwsh
[...]
ShellExecuteEx failed: File not found.

Code: Alles auswählen

>wine64 cmd.exe
Microsoft Windows 10.0.7601

C:\Program Files (x86)\Zusi3\_Tools\ZusiDisplay>timeout
Can't recognize 'timeout' as an internal or external command, or batch script.

C:\Program Files (x86)\Zusi3\_Tools\ZusiDisplay>
aber das mit ping funktioniert wenigstens ohne zusätzlichen installationsaufwand, timeout wäre aber sicherlich sauberer
Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

Antworten