TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

Da immer mehr Zusi User von einem 1:1 Führerstand mit träumen, soll es zumindest an Datenaustausch nicht hapern.
Antworten
Nachricht
Autor
HaraldB
Beiträge: 49
Registriert: 01.10.2020 22:10:15

TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#1 Beitrag von HaraldB »

Hallo, ich beschäftige mich mit Zusi 3 und der TCP-Schnittstelle, um mich mit den Zugbeeinflussungssystemen vertraut zu machen, sagen wir mal, mehr oder weniger im Hinblick auf ATO.

Ich verwende Zusi 3.4.2.0 + Add-Ons 111, ZusiDisplay 3.4.10.0 und ZusiMeter 2.2.0 und fahre als Testfahrt ICE 1082 (411) auf Lehrte-Harburg_2017_04Uhr-14Uhr mit AFB, Chaos 2,5 %.
Vielen Dank nochmal für die Weihnachtsgeschenke!

Mit meiner eigenen Software und ZusiMeter bekomme ich viele Werte über die TCP-Schnittstelle richtig, aber einige andere, im Gegensatz zu ZusiDisplay (MFA20 ICE-T) auch nicht.

Die "fehlenden" Daten werden entweder gar nicht, als "0" oder "-1" oder nur zeitweise mit unplausiblen Werten übertragen.
Konkret:
- Zug- und Bremskräfte (0x0009-0x000C, 0x007C-0x007F, 0x0090-0x0094) sind fast immer 0, nur gelegentlich mal negativ mit sehr geringen Beträgen und nie in Übereinstimmung mit ZusiDisplay bzw. der eingestellten Fahrstufe (die Fahrzeugdaten aus 0x0002.0x000A.0x00AB.0x0001 könnten aber u.U. stimmen)
- Fahrstufe (0x0015) immer 0
- Motorlast (x002A, x0087) variiert, passt aber nicht zu ZusiDisplay und ist oft unplausibel (negativ beim Beschleunigen)
- Zugbeeinflussung (0x0002.0x000A.0x0065.0x0001) ist "ETCS", nicht "LZB" oder "PZB"
-- es kommen nur ETCS-Updates (0x0002.0x000A.0x0065.0x0005), aber leider sind die Werte (0x0008.0x0001, 0x0009-0x0011, 0x0013) wohl Defaults/Rauschen und ändern sich im Fahrtverlauf nie
-- ZusiMeter war in der Lage, den LZB-Status anzuzeigen (nach Aufnahme hinter Celle Hbf), allerdings nur bis zum ersten V40 - dann ward's auch hier dunkel
-- ZusiMeter und das externe ZusiDisplay MFA20 zeigen 100 m mehr Vorlauf an als das MFA im Führerstand (z.B. 9900 vs 9800)

Im bereits sehr umfangreichen Handbuch finde ich dazu leider keine Hinweise (z.B. abweichendes Verhalten bei Steuerwagen, oder Hintergründe zu "0x004E Zugkraftvorschlag Autopilot" - bei mir immer 0, außer bei Fahrt mit Autopilot, dann unplausibel).

Gar keine Daten bekomme ich zu 0x008E Status Zugverband und 0x0092 (146) Status Weichen. Da muss ich sicher noch einige Randbedingungen beachten. So sende ich z.B. nur einmal NEEDED_DATA nach dem HELLO. Ich könnte mir zwar vorstellen, dass das je nach Simulatorsituation (nach dem Aufgleisen) wiederholt werden muss, aber die Datenqualität ändert sich nicht, wenn ich die Verbindung erst während der Fahrt aufbaue.

Bisher habe ich noch nicht den Wireshark angesetzt, aber ggf. könnte ich ein paar Captures erstellen, falls nötig.

Auf meiner Wunschliste steht dann noch 0x???? Status Fahrstraße, aber da muss ich wohl auf ein Weihnachten in der Zukunft hoffen.

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

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#2 Beitrag von Carsten Hölscher »

Wie Du schon erkannt hast, können die anderen Programme mit dem Zusi-Auswurf was anfangen, so dass der Fehler also bei Dir liegen muss. Was das sein kann, kann man so aber auch nicht sagen. Da bräuchte man mal Infos wie Quellcodes, z.B. den Typecast der float-Werte oder was da noch so schiefgehen kann.

Carsten
Zuletzt geändert von Carsten Hölscher am 30.12.2020 00:20:15, insgesamt 1-mal geändert.

HaraldB
Beiträge: 49
Registriert: 01.10.2020 22:10:15

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#3 Beitrag von HaraldB »

Da habe ich mich wohl missverständlich ausgedrückt. Es ist nur ZusiDisplay, das die Daten korrekt anzeigt.
ZusiMeter schweigt ebenfalls oder zeigt die Werte an, die ich auch selbst auslese. Gehen wir also mal für die weitere Betrachtung von ZusiMeter aus.

Mir ist klar, dass über die TCP-Schnittstelle Werte nur zum Zwecke der Anzeige und weniger als Berechnungsgrundlage übermittelt werden. Mir geht es zuerst darum die Erwartungen zu managen und zu versuchen, die Randbedingungen und Systemgrenzen zu verstehen.

Mit folgenden Fragen werde ich anfangen:

Gibt es einen qualitativen Unterschied zwischen den Daten, die über die Pipe an ZusiDisplay geschickt werden und denen, die über TCP kommen?

Wenn ja, könnte sie ein ZD-Master (vom Führerstand gestartet) von der Pipe an die ZD-Clients (manuell gestartet) weitergeben und wäre nicht (allein) auf die Zusi-TCP-Daten angewiesen. Dann wäre aber auch klar, dass ich an diese Werte nicht ohne Weiteres herankomme.

Ist es normal, dass für ETCS-ausgerüstete Führerstände _nur_ "ETCS"-Daten geliefert werden (STM/SN mit permanent 0x000A Zielweg -1 m)?

Off-Topic ZD-Frage: Ist es normal, dass sich das MFA20-Display und das ETCS-Display für den ICE-T im LZB-Zielweg um 100 m unterscheiden?

Tests mit dieselhydraulischen Führerständen haben keine grundsätzlich neuen Erkenntnisse geliefert. Einzig 0x0015 Fahrstufe zeigt dabei in ZusiMeter Werte an (kann bei 218+218 max 150 korrekt sein?). Die Zug- und Bremskraftanzeigen bleiben aussagelos.

Tests mit anderen Fahrplänen und eine Tiefenanalyse mit Wireshark stehen noch an.

Alwin Meschede
Beiträge: 8975
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#4 Beitrag von Alwin Meschede »

HaraldB hat geschrieben:(kann bei 218+218 max 150 korrekt sein?)
Ja. Wir nutzen eine sehr feine Fahrstufenteilung zum Anzielen der vorbildgerechten Motordrehzahlen. Das würde mit nur 15 Fahrstufen nicht gehen, weil Zusi davon ausgeht dass das Drehzahl-Spektrum gleichförmig unterteilt ist. Die echte Lok hat aber eine nichtlineare Teilung der Drehzahlstufen.
HaraldB hat geschrieben:Tests mit anderen Fahrplänen und eine Tiefenanalyse mit Wireshark stehen noch an.
Für Wireshark gibt es übrigens einen hilfreichen Dissector für das Zusi-Protokoll vom Kollegen Johannes: https://github.com/zusitools/tcp_dissector" target="_blank
Zuletzt geändert von Alwin Meschede am 30.12.2020 11:55:42, insgesamt 3-mal geändert.
Mein Youtube-Kanal: youtube.com/echoray1

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

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#5 Beitrag von Carsten Hölscher »

Pipe und TCP liefern dasselbe. Ich werde mich jetzt nicht stundenlang hinsetzen und analysieren, welcher Wert in welchem Zustand wo genau zu erwarten ist. Da ZusiDisplay das alles versteht, kommen die Daten grundsätzlich aus Zusi offenbar korrekt und gemäß Doku raus. Je nach Zugtyp usw. können manche Werte 0 sein.

Carsten

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

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#6 Beitrag von F. Schn. »

Zur Zugbeeinflussung (0x0002.0x000A.0x0065.0x0001): Ein Fahrzeug kann mehrere Zugsicherrungsrechner haben, die dann nacheinander im Paket x65 gesendet werden. Ist leider etwas anstrengend, das dann von einem Werteupdate auseinander zu halten.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
nonesense
Beiträge: 506
Registriert: 15.07.2006 12:50:10
Aktuelle Projekte: QDmi
Fahrpult Einheitsführerstand
Ludmilla
Wohnort: Köln
Kontaktdaten:

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#7 Beitrag von nonesense »

Leider ist es tatsächlich so, dass du für quasi jedes Fahrzeug eine eigene Umrechnung brauchst. Das gilt für die Kraftanzeige, wie für die Fahrstufen.
Inwiefern das der Doku entspricht, ist Auslegungssache. Wenn ich z.B. die Fahrstufe abfrage, erwarte ich als Anwender und Leser der Doku, den Wert zu bekommen, den ich mit dem Handrad oder dem Fahrschalter eingestellt habe. Wenn es Zusi selbst nicht ermöglicht, die Motordrehzahl zwischen den Stufen "weich" zu verändern, ist der Workaround über eine fahrzeugintern erhöhte Fahrstufenzahl nachvollziehbar, zieht sich aber bis ins TCP durch, wo es dann nicht mehr mit den Eingaben des Anwenders übereinstimmt.
Wenn man über diesen Umstand Bescheid weis, kann man sich halt einen Korrekturfaktor einbauen.
Das Ganze ist aber viel perfider, weil dies von Fahrzeug zu Fahrzeug verschieden sein kann. Beim 628er z.B. ist die Fahrstufe einfach mit 10 multipliziert. Bei den V160ern werden die Fahrstufen 1 und 2 gar nicht ins TCP übertragen.

In den letzten Tagen habe ich auch damit beschäftigen müssen, weil in QDmi eine Fahrstufenanzeige einbaue. Die Tabelle, eigentlich ein Array, für Zugkräfte und Fahrstufen gibt es hier, ab Zeile 60 (Stand Commit 232e8f0c). Diese ist qualitativ, wie quantitativ noch lange nicht vollständig.

Gruß
Jens
Zuletzt geändert von nonesense am 31.12.2020 16:57:00, insgesamt 2-mal geändert.

Alwin Meschede
Beiträge: 8975
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#8 Beitrag von Alwin Meschede »

HaraldB hat geschrieben:und fahre als Testfahrt ICE 1082 (411) auf Lehrte-Harburg_2017_04Uhr-14Uhr
Der 411 ist in Zusi ein Zug mit über den gesamten Zug verteilten Antrieben. Wobei der Endwagen 411 als "Steuerwagen" ohne Antrieb zu sehen ist. Er hat nur eine Drehstrombremse mit mikroskopisch kleiner Leistung, um offenbar irgendeinen Spezialeffekt mit der Hochabbremsung zu erzielen. Details müsste ich nachlesen. Grundsätzlich sollte man sich bei diesem Triebwagen also auf die "Steuerwagen"-Größen im TCP subscriben, und bekommt dann die Daten des ersten angetriebenen Mittelwagens. Die muss man dann halt ggfs. hochrechnen auf den Gesamtzug.
Mein Youtube-Kanal: youtube.com/echoray1

HaraldB
Beiträge: 49
Registriert: 01.10.2020 22:10:15

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#9 Beitrag von HaraldB »

Vielen Dank für die Hinweise und Links zu QDMI und den Zusi-Dissector für Wireshark. Code statt Böller.
Den inhaltsähnlichen Thread viewtopic.php?f=56&t=15627" target="_blank hatte ich wohl übersehen.
Mit diesen Tipps sollte ich nun weiter kommen.

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

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#10 Beitrag von Jens Haupert »

Hallo,

sollte es weiterin Fragen geben, wie gewisse Größen zu interpretieren sind, bitte hier einfach einstellen. Ich kann dann schauen was ZusiDisplay draus zaubert.

Grüße
Jens

HaraldB
Beiträge: 49
Registriert: 01.10.2020 22:10:15

Re: TCP-Schnittstelle Geheimnisse (aka Fehlende Daten)

#11 Beitrag von HaraldB »

Vielen Dank für das Angebot.
ZD ist aber auch so schon als anerkannte und zuverlässige Referenz eine große Hilfe.

Antworten