Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#1 von Hobbyprog , 07.12.2022 14:49

Hallo,
kennt jemand das Problem, dass nach ca. 10 bis 20 Minuten, mit einer Arduino-Zentrale im Rocrail - Automatikbetrieb der Fehler kommt.
Original Fehlermeldung:
r9999E rasciiR OSerial 0461 Timeout on serial read[COM3] 0 of 2 read.[rc=0] tries=3

Ich denke in der Automatik fällt das auf, kann sein das der Fehler auch im manuellen Betrieb unbemerkt vorkommt.

Als USB-Serail Treiber wird der CH340 verwendet. Könnte eine anderer Schnittstellenchip z. B. USB FT232 Abhilfe schaffen.

Im Automatik versagt dann die Zugsteuerung. Man kann aber danach unverzüglich wieder alles Steuern, ohne irgendwie einzugreifen. Und nach dem zurücksetzten der Automatik ohne Blockbelegung läuft Automatik auch wieder für eine unbestimmte Zeit.

Ich habe im Rocrail-Forum nachgefragt. Rob der Rocrailmacher meint, das liegt an der Hardware. Habe leider nicht mehr Infos dazu bekommen.

Was ich nicht verstehe, eigentlich muss nichts (serial read[ ) gelesen werden, Rocrail sendet nur mit 38400 Baud an die Zentrale.
Die Zentrale sendet nur im Programmiergleis.-Modus und das Funktioniert.


Viele Grüße Martin


 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 434
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 07.12.2022 | Top

RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#2 von Hobbyprog , 11.12.2022 17:07

Hallo,
ich konnte das Problem durch eine Umprogrammierung lösen!

Viele Grüße Martin


kpev hat sich bedankt!
 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 434
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 11.12.2022 | Top

RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#3 von kpev , 16.12.2022 09:19

Hallo Martin,

aber was genau hast du Umprogrammiert?

Viele Grüße

Wolfgang


Preußische Gleiswüste in Epoche I: Preußischer Oberbau aus dem 3D Drucker
Preußische Gleiswüste in Epoche I: Planung


 
kpev
InterCity (IC)
Beiträge: 884
Registriert am: 26.09.2020
Ort: Litomerice
Spurweite H0
Stromart DC, Digital


RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#4 von vikr , 16.12.2022 09:36

Hallo Martin,

Zitat von Hobbyprog im Beitrag #1
kennt jemand das Problem, dass nach ca. 10 bis 20 Minuten, mit einer Arduino-Zentrale im Rocrail - Automatikbetrieb der Fehler kommt.
Original Fehlermeldung:
r9999E rasciiR OSerial 0461 Timeout on serial read[COM3] 0 of 2 read.[rc=0] tries=3
....
Im Automatik versagt dann die Zugsteuerung. Man kann aber danach unverzüglich wieder alles Steuern, ohne irgendwie einzugreifen. Und nach dem zurücksetzten der Automatik ohne Blockbelegung läuft Automatik auch wieder für eine unbestimmte Zeit.
....
Ich habe im Rocrail-Forum nachgefragt. Rob der Rocrailmacher meint, das liegt an der Hardware. Habe leider nicht mehr Infos dazu bekommen.

Welchen Arduino verwendest Du genau?
Nano, Uno, Mega etc.?
Zitat von Hobbyprog im Beitrag #1
Was ich nicht verstehe, eigentlich muss nichts (serial read[ ) gelesen werden, Rocrail sendet nur mit 38400 Baud an die Zentrale.
Die Zentrale sendet nur im Programmiergleis.-Modus und das Funktioniert.
Keineswegs! Zumindest, wenn Du die Rocrail-Automatik nutzt, dann zwangsläufig auch Rückmelder. Und die Statusmeldungen der Melder müssen von der Zentrale (Deinem Arduino) an den Rocrail-Server über eine Serielle Schnittstelle gesendet werden, d. h. Rocrail muss sie lesen können.
Auf was für einem Gerät läuft Dein Rocrail-Server? Nutzt Du ein LAN- oder WLAN-Shield oder geht alles nur über USB?

MfG

vik


im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix


vikr  
vikr
ICE-Sprinter
Beiträge: 6.381
Registriert am: 23.10.2011
Gleise M, C u. K.
Spurweite H0, N
Stromart Digital, Analog

zuletzt bearbeitet 16.12.2022 | Top

RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#5 von Hobbyprog , 16.12.2022 10:55

Hallo,
da hier nachgefragt wurde, möchte ich mal berichten.

Meine Hard und Software:
Das ist eine DCC Eigenbauzentrale die ich in Assembler programmiert habe.

Das Protokoll für die Kommunikation mit Rocrail:
Die Zentrale (NANO) kann unter anderen, mit Rocrail über das RASCII-Protokoll bedient werden.
Für die Rückmelder verwende ich auch das RASCII-Protokoll, aber über ein anderen Arduino. Das hat den Vorteil das die R Melder auch mit anderen Zentralen in Rocrail verwendet werden können.
Daher wird im Rocrail Automatik nichts von der Zentrale gesendet. Der zweite für die R Melder macht keine Probleme.
Im Programmiergleis-Modus und bei der Kurzschlusserkennung sendet die Zentrale auch Daten.

Die Umprogrammierung.
Die Daten werden über die USB-Seriellschnittstelle empfangen. Der Mikrocontroller ATMEG328 vom NANO hat ja kein USB, aber eine Serielle (UART) Schnittstelle.
Praktischerweise kann der Bytepuffer für die Daten mit einem Hardwareinterrupt abgefragt werden. Man programmiert das so das immer dann wenn ein Bytes eingelesen wurde, der Controller automatisch in eine Unterprogramm spring (Interruptsteuerung) , dort liest man dann das Register aus, und kann dann die Daten verarbeiten.

Bei meiner Umprogrammieren verwende ich die Interruptfunktion nicht mehr, ich frage einfach das UART.Statusregister ab, wenn gerade keine Daten verarbeitet werden. Warum mit der Interruptsteuerung der Fehler entsteht, kann ich nicht wirklich erklären. Es laufen auch noch zwei weite für die DCC Gleissignalerzeugung und den ADC, für die Kurzschlussüberwachung. Ich vermute, dass der CH340 Baustein durch die Interrupt Bufferabfrage aus dem Takt kommt.

Das Timeout on serial read[COM Nr.) wird sich wohl darauf beziehen, das Rocrail die Schnittstelle mal nicht findet.

Jedenfalls ist der Fehler jetzt weg.

Ich möchte darauf hinweisen, dass ich kein Programmierer oder Elektriker bin, daher eventuell meine laienhafte Beschreibung

Meine DCC Projekt
https://bluethners.de/DCCProjekt/Zentrale/index.html

Viele Grüße Martin


kpev hat sich bedankt!
 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 434
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital


RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#6 von vikr , 16.12.2022 12:00

Hallo Martin,

Zitat von Hobbyprog im Beitrag #5
Das Timeout on serial read[COM Nr.) wird sich wohl darauf beziehen, das Rocrail die Schnittstelle mal nicht findet.

auf was läuft Dein Rocrail (der Rocrail-Server)?

Übrigens meine Nano v3 haben miniUSB an Bord.

MfG

vik


im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix


vikr  
vikr
ICE-Sprinter
Beiträge: 6.381
Registriert am: 23.10.2011
Gleise M, C u. K.
Spurweite H0, N
Stromart Digital, Analog

zuletzt bearbeitet 16.12.2022 | Top

RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#7 von Hobbyprog , 16.12.2022 12:35

Hallo vik,

Rocrail läuft bei mir auf ein Windows PC.
Ich habe aber nur eine 2 Meter HO Teststrecke. Die Fehlermeldung wurde von einem Anwender berichtet , konnte das auch bei der Simulation mit seinem Arbeitsbereich nachstellen.

Der NANO hat natürlich ein USB Anschluss am Bord. Ich verwende immer die Chinaversion mit dem CH340 USB Treiber. Der Originale von Arduino vermutlich den FT232RL.

Der Mikrocontroller ATmega 328 auf dem NANO ht kein USB, daher muss ein USB zu Seriellbaustein auf dem Nano verbaut sein.
Als Programmierer hat man dann ein serielle Schnittstelle, auch UART genannt. Die Bezeichnungen Micrro USB usw. beziehen sich nur auf die USB Buchse.

Die Arduino mit ATMEGA 328/168 ohne USB nennen sich Pro Mini. Mit einem externen USB zu Serielladapter kann man den an RX und TX Pin anschließen.

Viele Grüße Martin


 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 434
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 16.12.2022 | Top

RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#8 von vikr , 16.12.2022 19:42

Hallo Martin,

Zitat von Hobbyprog im Beitrag #7
Rocrail läuft bei mir auf ein Windows PC.

unter Windows gibt es seit knapp 10 Jahren immer wieder Probleme mit bisher gut funktionierenden USB-Adaptern. Das scheint unter Windows 11 sogar noch ausgeprägter zu werden...

MfG

vik


im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix


vikr  
vikr
ICE-Sprinter
Beiträge: 6.381
Registriert am: 23.10.2011
Gleise M, C u. K.
Spurweite H0, N
Stromart Digital, Analog

zuletzt bearbeitet 16.12.2022 | Top

RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#9 von Hobbyprog , 17.12.2022 00:33

Hallo vik,

das Problem ist ja gelöst. Ich müsste das mal mit der alten Programmier- Version und den FT232RL USB - Seriell Version testen.
Der NANO mit dem FT232RL ist ca. 2,00€ teurer. Der originale ARDUINO NANO ist dann nochmal erheblich teurer.

Das Hauptproblem nach meiner Meinung ist, dass der Arduino keine Hardware Datenflusssteuerung hat. Ich glaube die Leitung wird für den Reset, beim Flashen über dem Bootloader verwendet. Das hat aber nichts mit dem geschilderten Problem zu tun.
Der Mikrocontroller muss daher immer alle Daten unverzüglich abholen, oder die Daten gehen verloren. Zudem kann ich nicht alle Protokolle in Rocrail so verwenden, da die Flusssteuerung zwingen verlangt wird. RascII und DCC++ mache da eine Ausnahme.

Viele Grüße Martin


 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 434
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 17.12.2022 | Top

RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#10 von volkerS , 18.12.2022 15:40

Hallo,
da ich mich "einmal" mit dem CH340 rumgeärgert habe, verwende ich nur noch Arduinos ohne USB und einen FT232RL USB - Seriell Version. Das funktioniert.
Mir ist meine Zeit wertvoller als die Geiz ist geil Mentalität.
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 6.009
Registriert am: 14.10.2014


RE: Rocrail und Arduino als Zentrale Timeout on serial read[COM3]

#11 von Hobbyprog , 18.12.2022 19:34

Hallo Volker.
ich verwende nur die CH340 und hatte bis jetzt keine Probleme damit. Ob der jetzt abgestellte Fehler mit dem CH340 zusammenhängt weiß ich auch nicht mit Sicherheit.
Manche Leute habe auch mehr Zeit als Geld. 😁

Viele Grüße Martin


 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 434
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 19.12.2022 | Top

   

LUX Radreinigung, Tischgerät, Pendelautomatik
iTrain im SchBhf wird eine Weiche nicht freigegeben!?

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz