- Beiträge
- 5.698
- Reaktionspunkte
- 1.628
-> 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é
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é