G
Grit
Guest
Hi
mein problem ist etwas kompliziert und ich hoffe jemand kann mir
helfen:
Ich habe einen alten PC der über RS232 an eine externe Hardware mit
600 Baud angeschlossen ist. Über die Hardware werden Telegramme
ausgetauscht in beide Richtungen wobei diese immer 15 Byte lang sind
und der Telegrammanfang durch eine Pause vor dem ersten Telegram
erkannt wird.
Alles läuft Prima. Jetzt muss ich den Aufbau ändern, so daß zwischen
dem Partner A und B ein neuer PC dazwischen geklemmt wird, der die
Daten von A über eine 2. serielle Schnittstelle nach B sendet und
umgekehrt. Aufbau: A <-> neuer PC <-> B
Da die neuen PCs nur noch eine COM Schnittstelle haben, hab ich eine
zusätzliche Karte eingebaut. Auf dem neuen PC sind die beiden
Baudraten auf 600 eingestell (sowohl in der Systemsteuerung als auch
in meiner Umsetzungssoftware) und auch das Frame ist korrekt auf allen
3 Seiten auf 8N1 eingestellt (ebenfalls sowohl in der Systemsteuerung
als auch meiner Software)
Wenn ich jetzt den Rechner A mit dem neuen PC über die
Schnittstellenkarte verbinde und ebenso den Rechner B über die
zusätzliche Karte, dann empfangt der Rechner B von A korrekte
Telegramm. Wenn ich jetzt aber von B was nach A senden will, dann
ignoriert Rechner A das Telegram weil er anscheinend meint es sei
Schrott.
Wenn ich Rechner A an die Onboard-COM schnittstelle hänge, dann
versteht nicht mal mehr Rechner B die Daten und meint es seien keine
Vollständigen Telegramme. Wir haben an Rechner B einen V.24 Analyzer
gehängt. Das Telegramm wird dort aber korrekt angezeigt. Verbinden wir
Rechner A mit B wieder direkt funktioniert auch alles wieder super in
beide Richtungen wo bei bei Rechner B die onBoard-Schnittstelle
verwendet wird.
Kann mir einer von Euch einen Tip geben woran das liegen kann??? Ich
hab schon vermutet, daß Rechner B falsch abtastet. Er tastet ja jedes
Bit ab ob es high oder low ist und wenn der neue Rechner zu schnell
sendet, daß Rechner B dann die falschen Ergebnisse bekommt.
Faszinierenderweise ergab die Aufzeichnung, daß Rechner A 18 ms pro
Byte zur Übertragung braucht während der neue PC bei gleicher Baudrate
16 ms braucht....
Grit
mein problem ist etwas kompliziert und ich hoffe jemand kann mir
helfen:
Ich habe einen alten PC der über RS232 an eine externe Hardware mit
600 Baud angeschlossen ist. Über die Hardware werden Telegramme
ausgetauscht in beide Richtungen wobei diese immer 15 Byte lang sind
und der Telegrammanfang durch eine Pause vor dem ersten Telegram
erkannt wird.
Alles läuft Prima. Jetzt muss ich den Aufbau ändern, so daß zwischen
dem Partner A und B ein neuer PC dazwischen geklemmt wird, der die
Daten von A über eine 2. serielle Schnittstelle nach B sendet und
umgekehrt. Aufbau: A <-> neuer PC <-> B
Da die neuen PCs nur noch eine COM Schnittstelle haben, hab ich eine
zusätzliche Karte eingebaut. Auf dem neuen PC sind die beiden
Baudraten auf 600 eingestell (sowohl in der Systemsteuerung als auch
in meiner Umsetzungssoftware) und auch das Frame ist korrekt auf allen
3 Seiten auf 8N1 eingestellt (ebenfalls sowohl in der Systemsteuerung
als auch meiner Software)
Wenn ich jetzt den Rechner A mit dem neuen PC über die
Schnittstellenkarte verbinde und ebenso den Rechner B über die
zusätzliche Karte, dann empfangt der Rechner B von A korrekte
Telegramm. Wenn ich jetzt aber von B was nach A senden will, dann
ignoriert Rechner A das Telegram weil er anscheinend meint es sei
Schrott.
Wenn ich Rechner A an die Onboard-COM schnittstelle hänge, dann
versteht nicht mal mehr Rechner B die Daten und meint es seien keine
Vollständigen Telegramme. Wir haben an Rechner B einen V.24 Analyzer
gehängt. Das Telegramm wird dort aber korrekt angezeigt. Verbinden wir
Rechner A mit B wieder direkt funktioniert auch alles wieder super in
beide Richtungen wo bei bei Rechner B die onBoard-Schnittstelle
verwendet wird.
Kann mir einer von Euch einen Tip geben woran das liegen kann??? Ich
hab schon vermutet, daß Rechner B falsch abtastet. Er tastet ja jedes
Bit ab ob es high oder low ist und wenn der neue Rechner zu schnell
sendet, daß Rechner B dann die falschen Ergebnisse bekommt.
Faszinierenderweise ergab die Aufzeichnung, daß Rechner A 18 ms pro
Byte zur Übertragung braucht während der neue PC bei gleicher Baudrate
16 ms braucht....
Grit