Seite 13 von 18

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 07.02.2020 15:30:14
von Muckelchen
Hallo in die Runde.

Ich habe mir kürzlich mit einem Arduino ein paar Anzeigen gebastelt. Benutzt habe ich ein paar LEDs für PZB und SIFA, sowie ein LCD Display für Daten wie AFB und LZB. Leider habe ich folgendes Problem: wenn ich mit einem Fahrzeug fahre, was zwar LZB hat, jedoch momentan nicht in der LZB Überwachung ist, wird auf dem Display eine LZB Zielgeschwindigkeit von -7 km/h, manchmal auch -4 km/h, angezeigt. (Siehe Bild) Normalerweise sollte dort 0 km/h angezeigt werden.
Bild
Habt ihr eine Idee, wie ich das Problem lösen könnte? Als Basis habe ich das Script benutzt, was hier auf Seite 11 geschrieben wurde. Mein LZB Script seht ihr hier:

Code: Alles auswählen

                     }else if (dataGroup.i == 0x0023) { // Zielweg LZB
                          lcd.setCursor(0,2);
                          int Zielentfernung = nutzdata.f;
                          float GanzZahlZielentfernung = Zielentfernung / 50;
                          float ModuloZielentfernung = Zielentfernung % 50;
                          if(ModuloZielentfernung >= 0.5){
                            Zielentfernung = (GanzZahlZielentfernung * 50) + 50;
                          } else{
                            Zielentfernung = (GanzZahlZielentfernung * 50);
                          }
                          char temp[3];
                          sprintf(temp,"%4d",Zielentfernung);
                          lcd.print("Ziel:");
                          lcd.setCursor(5,2);
                          lcd.print(temp);
                          lcd.setCursor(9,2);
                          lcd.print("m");
                     } else if (dataGroup.i == 0x0022) { // Zielgeschw. LZB
                          lcd.setCursor(0,3);
                          char temp[3];
                          sprintf(temp,"%3.0f",nutzdata.f * 3.6);
                          lcd.print("V-Ziel:");  //7
                          lcd.setCursor(7,3);
                          lcd.print(temp);   //3
                          lcd.setCursor(10,3);
                          lcd.print("km/h");//3
Schon mal Danke für eure Hilfe.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 07.02.2020 15:57:13
von F. Schn.
Wieso 0 km/h? Wenn die LZB nicht aktiv ist, muss eigentlich die Zielgeschwindigkeit ausgeblendet werden, und nicht auf 0 km/h gesetzt. Das wird Zusi mit Sicherheit mit Hilfe der "Spezial-Werte" -1 m/s bzw. -2 m/s lösen, was dann auf km/h umgerechnet -4 und -7 ergibt.

Code: Alles auswählen

                     } else if (dataGroup.i == 0x0022) { // Zielgeschw. LZB
                          lcd.setCursor(0,3);
                          if (nutzdata.f < 0)
                              lcd.print("              ");  //14
                          else
                          {
                              char temp[3];
                              sprintf(temp,"%3.0f",nutzdata.f * 3.6);
                              lcd.print("V-Ziel:");  //7
                              lcd.setCursor(7,3);
                              lcd.print(temp);   //3
                              lcd.setCursor(10,3);
                              lcd.print("km/h");//4
                          }
Edit: Muss die Rundung nicht eher if(ModuloZielentfernung >= 25){ heißen?

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 07.02.2020 16:18:39
von Muckelchen
Ah, danke für die Info. Ich sozusagen noch ein Anfänger im Bereich Arduino, also kenne ich mich damit noch nicht so gut aus. :)

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 17:17:53
von mittelfrankenbahner
Hallo,

ich hab ein Problem mit dem Skript und dem Converter.

Aufbau:
Mein Laptop auf dem Zusi 3 läuft ist mit W-Lan am Router verbunden. Der Arduino ist mit einem USB-Kabel am Laptop (für eine Übertragung des Skripts) und ein Ethernet-Shield welches auf dem Arduino sitzt ist direkt mit einem Kabel mit dem Router verbunden.

Verbindung:
Zunächst starte ich den Zusi 3 Server und dann den alten TCP Server. Dann starte ich den Arduino und dieser verbindet sich einwandfrei mit dem alten TCP Server. Als letztes ist der Converter dran und dieser verbindet sich auch so wie er es soll mit dem Zusi 3 Server und dem alten TCP Server.

Problem:
Es werden keine Daten übertragen. Weder im Converter noch in der Konsole vom Arduino gibt es eine Aussage von einer Datenübertragung.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 17:32:46
von Carsten Hölscher
Und was hast du zum Einkreisen des Fehler schon unternommen?

Carsten

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 17:53:21
von mittelfrankenbahner
Carsten Hölscher hat geschrieben:Und was hast du zum Einkreisen des Fehler schon unternommen?
Da ich leider nicht weiß woran es liegt kann ich nichts unternehmen. Ich habe alles wie nach Anleitung von Arne gemacht aber Zusi 3 scheint nichts auszugeben.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 18:02:25
von Carsten Hölscher
naja, also man muss schon in der Lage sein, was einzukreisen, z.B. schaut man erstmal, ob der Client bei Zusi angemeldet ist und Zusi auch die erwarteten Daten ausgeben mag.

Carsten

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 18:16:13
von mittelfrankenbahner
Ich habe alles mal so wie es momentan verbunden ist mal kurz in einem Video gezeigt.

https://www.youtube.com/watch?v=Smu9UGZ ... e=youtu.be

In den Zusi-Einstellungen sieht es so aus:
- Sendeintervall: 0,5s
- Buffergröße: 1000
- Daten nur bei Änderungen schicken: aus

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 18:31:28
von Carsten Hölscher
Und was passiert beim Doppelklick auf den Client im Netzwerkfenster?

Carsten

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 18:38:32
von mittelfrankenbahner
Eine Info wo folgendes steht:
Status Zugbeeinflussung
Status Türen

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 19:31:03
von Carsten Hölscher
Dann ist in dem Bereich wohl alles ok.
Carsten

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 20:15:02
von F. Schn.
Hat es schon mal funktioniert? Du postest hier zu einem Script, das auf Basis des Zusi-3-Protokolls arbeitet. Du redest aber von einem Script, dass das Zusi-2-Protokoll nutzt und meinen Konverter. Ich werde das mal prüfen, aber eigentlich müsste mein Konverter mehr Größen anfordern als die beiden.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 21:32:22
von Arne aus dem Norden
Lennart2210 hat geschrieben: Da ich leider nicht weiß woran es liegt kann ich nichts unternehmen. Ich habe alles wie nach Anleitung von Arne gemacht aber Zusi 3 scheint nichts auszugeben.
Mit der Arduino Software unter Einstellung des richtigen Boards und Ports die IP im Script auf die im Zusi 3 Server angezeigte vom Host-Computer geändert und auf den Arduino geladen? Zusi-Port dabei UNVERÄNDERT im Script auf 1435, bei Zusi 3 auf 1436 gelassen?

Ist der serielle Monitor der Arduino Software geöffnet und läuft zur Protokollierung mit?

Bei meiner letzten Anmeldung habe ich folgenden Ablauf angewendet:
- F.Schneiders Server gestartet
- seriellen Monitor in der Arduino App geöffnet
-> der Server zeigte nach dem dadurch automatisch erfolgten Software-Reset die Anmeldung des Arduino an und im seriellen Monitor stand "connected"

- dann Zusi 3 geöffnet und den internen Server eingeschaltet
- den Converter von F.Schneider gestartet, der erschien sofort in der Liste der Clienten unter Zusi 3
- einen Fahrplan gestartet, Zug gewählt und nach einem Zeitsprung die Fahrt begonnen
-> sofort erschienen im seriellen Monitor die Werte der IDs 20 bis 25 (Leuchtmelder der PZB) mit den Werten 0 oder 1, genau so wie die Melder im Führerstand an- oder ausgingen.

Allerdings muß ich auch gestehen, das mein Rechner im Moment nicht ganz auf dem letzten Stand der Updates ist...

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 21:51:24
von mittelfrankenbahner
F. Schn. hat geschrieben:Hat es schon mal funktioniert? Du postest hier zu einem Script, das auf Basis des Zusi-3-Protokolls arbeitet. Du redest aber von einem Script, dass das Zusi-2-Protokoll nutzt und meinen Konverter. Ich werde das mal prüfen, aber eigentlich müsste mein Konverter mehr Größen anfordern als die beiden.
Ich habe gar nicht gesehen, dass es zwei verschiedene Skripte hier gibt. Also dein Skript hat jetzt nachdem ich es gefunden habe auch einwandfrei funktioniert.
Vorhin habe ich mich auf das Skript von Arne für Zusi 2 in Verbindung mit dem Konverter bezogen.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 30.04.2020 21:57:00
von mittelfrankenbahner
Arne aus dem Norden hat geschrieben:
Lennart2210 hat geschrieben: Da ich leider nicht weiß woran es liegt kann ich nichts unternehmen. Ich habe alles wie nach Anleitung von Arne gemacht aber Zusi 3 scheint nichts auszugeben.
Mit der Arduino Software unter Einstellung des richtigen Boards und Ports die IP im Script auf die im Zusi 3 Server angezeigte vom Host-Computer geändert und auf den Arduino geladen? Zusi-Port dabei UNVERÄNDERT im Script auf 1435, bei Zusi 3 auf 1436 gelassen?

Ist der serielle Monitor der Arduino Software geöffnet und läuft zur Protokollierung mit?

Bei meiner letzten Anmeldung habe ich folgenden Ablauf angewendet:
- F.Schneiders Server gestartet
- seriellen Monitor in der Arduino App geöffnet
-> der Server zeigte nach dem dadurch automatisch erfolgten Software-Reset die Anmeldung des Arduino an und im seriellen Monitor stand "connected"

- dann Zusi 3 geöffnet und den internen Server eingeschaltet
- den Converter von F.Schneider gestartet, der erschien sofort in der Liste der Clienten unter Zusi 3
- einen Fahrplan gestartet, Zug gewählt und nach einem Zeitsprung die Fahrt begonnen
-> sofort erschienen im seriellen Monitor die Werte der IDs 20 bis 25 (Leuchtmelder der PZB) mit den Werten 0 oder 1, genau so wie die Melder im Führerstand an- oder ausgingen.

Allerdings muß ich auch gestehen, das mein Rechner im Moment nicht ganz auf dem letzten Stand der Updates ist...
Also ich habe das jetzt mal genauso gemacht und es gab einen kleinen Fortschritt. Es hat nun tatsächlich einmal die Verbindung mit dem Test-Server und dem Arduino funktioniert und die Verbindung des Konverters mit Zusi 3 und dem Server hat auch geklappt.
Aber weder im Monitor vom Arduino noch im Konverter werde Datenausgaben angezeigt. Da geht irgedwie nix :(
Wie ich eben in der vorherigen Antwort schon beschrieben habe hat der Skript von F. Schneiders, welcher sich direkt zu Zusi 3 verbindet einwandfrei funktioniert. Allerdings würde ich Aufgrund der Zahlreichen Beiträgt zu deinem Skript eher auf diese Methode wieder umsteigen. Daher müsste jetzt nur noch die Ausgabe von Zusi 3 funktionieren.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 01.05.2020 17:36:07
von F. Schn.
Kannst du bitte mal Links posten, woher du was heruntergeladen hast? Ich habe in der Tat mal einen Test-Server, veröffentlicht, aber für Zusi 2.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 02.05.2020 20:20:02
von mittelfrankenbahner
Also den Converter von deinem Post über den Link wo man alles runterlädt: viewtopic.php?f=73&t=12751" target="_blank
Den Skript von Arne von hier also Seite 1 dieses Threads.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 02.05.2020 21:26:52
von F. Schn.
Okay. Also ich würde dir raten, dieses Script hier zu verwenden: viewtopic.php?p=274144#p274144" target="_blank

Ich kann mir das andere Script und den Konverter aber auch noch mal anschauen.

Achso, welche Zusi-Version? Die letzte Vollversion hatte einen Bug bei der TCP-Komponente, ich weiß nicht so genau, wie mein Konverter mit diesem Bug zurecht kommt.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 02.05.2020 22:42:02
von Arne aus dem Norden
F. Schn. hat geschrieben:Ich kann mir das andere Script und den Konverter aber auch noch mal anschauen.
Also ich werde perspektivisch wohl auch irgendwann mit dem Einheitsführerstand auf das neue Script wechseln, habe jetzt aber aus Neugierde doch nochmal die alte Konfiguration von meinem inzwischen verkauften V160 Pult mit entsprechenden Relaiskarten und dem Zusi 2 Script von mir aufgebaut. Meine Zusi 3 Version ist zur Zeit noch 3.3.5.0, damit war die Verbindung Arduino <-> Zusi 3 über den Converter und den Testserver grundsätzlich kein Problem*. Ich werde morgen Zusi nochmal updaten und sehen ob der Verbindungsaufbau dann auch noch genauso möglich ist.

* einzig mir aufgefallenes Detail war, das die IDs 63 (LM Motor) und 86 (Türstatus) trotz Anfrage nichts mehr zurücklieferten, ich bin aber auch nicht sicher ob die in früheren Zusi 3 Versionen über den Converter schonmal gingen.

Re: Der Ardunio und direkte Ausgaben vom ZusiServer über TCP

Verfasst: 03.05.2020 21:38:03
von Arne aus dem Norden
Ok, jetzt habe ich auf Zusi 3.3.7.0 geupdatet und genau die gleichen Verbindungsprobleme bekommen. D.h.: der Arduino verbindet sich problemlos mit dem Testserver, Zusi verbindet sich mit dem Converter, alles scheint ok (der Server bestätigt auch mit 1 Client connected, 1 Master connected), der Converter steht ebenso als Client in der Liste am Zusi Server und der serielle Monitor am Arduino sagt "connected", doch es wird danach überhaupt nichts mehr an Daten übertragen wenn die Fahrt beginnt.

Alles ist absolut gleich von den Einstellungen und vom Aufbau, nur mit Zusi 3.3.5.0 gings noch, mit 3.3.7.0 kommt nix mehr am Arduino an...