Step 7 ET200sp PtP CM Telegramhandling

vollmi

Level-3
Beiträge
5.436
Reaktionspunkte
1.410
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusamme

Ich habe mir jetzt ne kleine Testanlage aufgebaut um die ET200 PtP Kommunikationsmodule auszuprobieren.
Ich habe einen Seriellen Treiber den ich eigentlich so geschrieben habe das er einwandfrei mit Moxa NPorts (Ethernet Serial Servern) das funktioniert einwandfrei. Da schicke ich verschieden Lange
Telegramme per TCP an den Server und kriege zurück was die Ports halt auf der Seriellen Linie bekommen als Stream. Den Stream durchsuche ich nach den Telegrammen

Die Telegramme haben nur eine Anfangskennung mit zwei definierten Chars.

Jetzt habe ich mir gedacht ich mache das direkt in der Karte um meine CPU zu entlasten. Das heisst ich definiere den Telegrammanfang mit den zwei Zeichen und das Telegrammende nach ablauf der Zeichenverzugszeit.

Diese macht mir aber noch verständnisschwierigkeiten.
Ich habe 9600 Baud 8 Datenbits No parity und 1 Stopbit.

Wen ich die Zeichenverzugszeit auf 10 Bits setze, dann stellt die Karte nach einigen Telegrammen die ich sende die Kommunikation komplett ein und liefert mir ein 7002 im Status der erst wieder auf 7000 wechselt wenn ich die Busleitung physikalisch abhänge.
Bei 30 Bits Zeichenverzugszeit läuft die Sache einwandfrei. Aber wie kann ich die Zeichenverzugszeit nun exakt ausrechnen? Das verstehe ich noch nicht.Ich will ja nicht unnötig lange auf ein Telegramm warten. ich will aber auch nicht das die Karte wegen sowas die Kommunikation einfach einstellt (was ich sowieso nicht verstehe).

mfG René
 
Vielleicht wärs ja trotzdem interessant gewesen. Serielle kommunikation ist wohl nimmer so gefragt.

Naja ich hab mich auf dein Baud versteift, es sind aber Bit/s.
Deshalb war meine Schlussfolgerung Blödsinn.

Ansonsten würde ich sagen es gibt dafür keine echte Formel bzw Regel.
10 ist schon etwas kurz weil 9 wäre gerade mal ein Zeichen bei deiner Einstellung.
Ausm Bauch würde ich sagen 5 bis 10 Zeichen reicht.
 
Zurück
Oben