TCP Kommunikation Python | Abfrage Zugdaten

Das Unterforum für Diskussionen rund um die Technik, Bedienung, Konfiguration usw. Das ist auch die erste Anlaufstelle für Bastler mit Fragen zu den Editoren.
Nachricht
Autor
Wolfgang E.
Beiträge: 598
Registriert: 28.10.2021 12:16:41
Aktuelle Projekte: https://github.com/machinae-vectoriae-ductor/
Wohnort: Köln
Kontaktdaten:

Re: TCP Kommunikation Python | Abfrage Zugdaten

#21 Beitrag von Wolfgang E. »

Hallo Jens,

danke für die schnelle Antwort. Ich hatte die Lücken gesehen und mich gewundert.

Bei der Gelegenheit haben sich noch andere Fragen ergeben: Was ist bei Leuchtmeldern der Unterschied zwischen 0 - aus und 4 - aus erzwingen?

Und wie steuert ZusiDisplay die Zugsicherungs-Leuchtmelder an. Anscheinend ja nicht aus den LM-Signalen. Nimmt es dafür die Zustände?
Ich habe für Testzwecke einen kleinen Server für das Zusi3-Protokoll schreiben lassen. In einem ZD-MFA kann ich solche Dinge wie Geschwindigkeit, Zugkraft, Hauptschalter oder SIfa ansteuern, aber die PZB/LZB-LM bleiben dunkel.

Anscheinend braucht ZD auch die Baureihe des führenden Fahrzeugs, die ich aktuell nicht sende. So bekomme ich immer eine Steuerwagen-MFA dargestellt, egal welche MFA 1-8 ich auswähle. Wenn Du die BR sowieso berücksichtigst, wofür muss der Benutzer überhaupt die Auswahl treffen? Eine automatische Auswahl wäre dann doch recht praktisch.

Viele Grüße Wolfgang

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

Re: TCP Kommunikation Python | Abfrage Zugdaten

#22 Beitrag von Jens Haupert »

Hallo Wolfgang,

"aus erzwingen" nutzt ZD nicht, zum Hintergrund müsste Carsten was sagen.

Nur die ZD-MFA-Anzeigen nutzen die LM-Werte. Die "Displays" nutzen den Indusi-Zustand um daraus das LM-Bild zu generieren, da es unterschiedlich ist, je nach dem ob "Klartextmeldungen" angezeigt werden oder nicht.

Ja, die Baureihe wird intern ausgewertet. ZD ist halt auf die Ausgabe von Zusi optimiert und geht daher auch davon aus, dass gewisse Werte übermittelt werden. Da auch die MFA den ganzen Unterbau der anderen Displays nutzen wirkt das auch hier. Diese Anpassung erfolgt aber nur in der Hobby-Version. Für die Profi-Variante ist das abschaltbar, daher ist es ganz hilfreich, dass man alle Masken direkt ansteuern kann.

Bitte auch bedenken, dass ein großer Teil des ZD-Unterbaus fast 15 Jahre alt ist (das EBuLa gibt's schon 20 Jahre, seit 2003). Manches was heute verwundert, war früher sinnvoll oder nicht anders machbar. 8)

Grüße
Jens

Wolfgang E.
Beiträge: 598
Registriert: 28.10.2021 12:16:41
Aktuelle Projekte: https://github.com/machinae-vectoriae-ductor/
Wohnort: Köln
Kontaktdaten:

Re: TCP Kommunikation Python | Abfrage Zugdaten

#23 Beitrag von Wolfgang E. »

Hallo Jens,

sicher, dass die ZD-MFA-Anzeige auf die LM-Signale hört? Wenn sie auf die Bit-Signale hören würde, müsste es doch eher ungleichmäßig blinken und mit den LM-Zustand-Signalen konnte ich keine Ansteuerung erreichen. Zudem dürfte in ZD dann mit I54/60 der 1000Hz-LM bei HL < 2,2 bar nicht blinken.

Auch bei der echten Bahn ist manches ja nur aus der Historie heraus zu erklären. Vermutlich würde man heute auch nicht mehr mit 16,7 Hz elektrifizieren. Die DSB hat es auf jeden Fall, obwohl sie von 16,7 Hz Bahnen umringt ist, nicht getan.

Viele Grüße Wolfgang

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

Re: TCP Kommunikation Python | Abfrage Zugdaten

#24 Beitrag von Jens Haupert »

Wolfgang E. hat geschrieben: 18.08.2023 15:57:03sicher, dass die ZD-MFA-Anzeige auf die LM-Signale hört? Wenn sie auf die Bit-Signale hören würde, müsste es doch eher ungleichmäßig blinken und mit den LM-Zustand-Signalen konnte ich keine Ansteuerung erreichen.
Grad nochmal nachgeschaut. Es werden die LMs verwendet. Das Blinken entsteht durch den sich ändernden Wert; der Zustand "blinkend" wird nicht benutzt. Kann man immer leicht mit Zusi testen: wenn das Blinken "stehen bleibt", wenn man den Sim pausiert, dann werden die LM-Werte benutzt; blinkt es weiter, kommt der Zustand zum Einsatz.
Wolfgang E. hat geschrieben: 18.08.2023 15:57:03Zudem dürfte in ZD dann mit I54/60 der 1000Hz-LM bei HL < 2,2 bar nicht blinken.
Im Führerstand blinkt der Leuchtmelder ja auch.

Grüße
Jens

Wolfgang E.
Beiträge: 598
Registriert: 28.10.2021 12:16:41
Aktuelle Projekte: https://github.com/machinae-vectoriae-ductor/
Wohnort: Köln
Kontaktdaten:

Re: TCP Kommunikation Python | Abfrage Zugdaten

#25 Beitrag von Wolfgang E. »

Jens Haupert hat geschrieben: 18.08.2023 16:46:50 Grad nochmal nachgeschaut. Es werden die LMs verwendet. Das Blinken entsteht durch den sich ändernden Wert; der Zustand "blinkend" wird nicht benutzt. Kann man immer leicht mit Zusi testen: wenn das Blinken "stehen bleibt", wenn man den Sim pausiert, dann werden die LM-Werte benutzt; blinkt es weiter, kommt der Zustand zum Einsatz.
Das hatte ich erst gar nicht probiert. Dann probiere ich es mal aus, ob ich die Melder in einem ZD-MFA so leuchten lassen kann.
Jens Haupert hat geschrieben: 18.08.2023 16:46:50
Wolfgang E. hat geschrieben: 18.08.2023 15:57:03 Zudem dürfte in ZD dann mit I54/60 der 1000Hz-LM bei HL < 2,2 bar nicht blinken.
Im Führerstand blinkt der Leuchtmelder ja auch.
Das Bit-Signal blinkt auch und bei neueren PZB-Bauformen hat auch der Zustand-LM den richtigen Wert. Bei der I54/I60 bleibt das Zustandssignal des 1000 Hz-LM leider auf 0 stehen. Das diskutiere ich mit Carsten an andere Stelle, aber er konnte den Fehler wohl noch nicht finden.

Viele Grüße Wolfgang
Zuletzt geändert von Wolfgang E. am 18.08.2023 22:31:20, insgesamt 1-mal geändert.

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

Re: TCP Kommunikation Python | Abfrage Zugdaten

#26 Beitrag von Jens Haupert »

Wolfgang E. hat geschrieben: 18.08.2023 17:36:17 Das Bit-Signal blinkt auch und bei neueren PZB-Bauformen hat auch der Zustand-LM den richtigen Wert. Bei der I54/I60 geht bleibt das Zustandssignal des 1000 Hz-LM leider auf 0 stehen. Das diskutiere ich mit Carsten an andere Stelle, aber er konnte den Fehler wohl noch nicht finden.
Ja, genau. Ich benutze den Wert des Attributs 00 05. Das Attribut 00 2F bleibt beim Blinken dauerhaft auf "0".

Grüße
Jens

Wolfgang E.
Beiträge: 598
Registriert: 28.10.2021 12:16:41
Aktuelle Projekte: https://github.com/machinae-vectoriae-ductor/
Wohnort: Köln
Kontaktdaten:

Re: TCP Kommunikation Python | Abfrage Zugdaten

#27 Beitrag von Wolfgang E. »

jokey2k hat geschrieben: 11.02.2023 18:34:32 Gerne auch Fragen dazu hier stellen :D
Hallo Markus,

ich habe die bei mir auftretenden Fehler jetzt gefunden. pyzusi reagiert recht giftig darauf, wenn es Daten empfängt, die es nicht zuordnen kann. In der messages.py fehlten Daten, die ich jetzt nachgetragen habe und bei drei Daten waren falsche Einträge. Ich habe jetzt auch gleich die Ergänzungen der neuesten Zusi-Version bis auf "Status Signale" nachgetragen. Wenn Du mir eine Email-Adresse gibst, schicke ich Dir gerne die Datei zu.

Ich halte es für eher ungünstig, dass sich pyzusi an unbekannten Signale so stört. Zusi3 wird immer neue Signale dazu bekommen. Dies bedeutet dann, dass man messages.py zusammen mit dem Zusi-Update nachpflegen muss und in allen seinen Anwendungen ersetzen, egal ob man das Signal verwenden möchte oder nicht. Wäre es nicht besser, pyzusi würde unbekannte Signale einfach verwerfen? Man sieht ja, dass man die messages.py erweitern muss, wenn man die Signale verwenden möchte. Ansonsten funktioniert die Bibliothek bis jetzt prima und nimmt mir viel Arbeit ab.

Viele Grüße Wolfgang

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33450
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: TCP Kommunikation Python | Abfrage Zugdaten

#28 Beitrag von Carsten Hölscher »

"aus erzwingen" ist letzten Endes eine interne Größe. Der LM ist genauso aus wie bei 0.
Wenn ich für einen LM aus verschiedenen Anlässen verschiedene LM-Bilder bekomme, muss ich ja das finale Melderbild draus ermitteln. Die 4 überdtimmt dann alle anderen.

Carsten

Antworten