RS232 timing lesen, was muß ich beachten?

Antworten
abacom
Site Admin
Beiträge: 3926
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

RS232 timing lesen, was muß ich beachten?

Beitrag von abacom » Montag 13. Oktober 2008, 14:21

irrer polterer



Anmeldungsdatum: 10.01.2008
Beiträge: 12

Verfasst am: 01.02.2008 10:50 Titel: RS232 timing lesen, was muß ich beachten?

--------------------------------------------------------------------------------

Hallo!
Ich benutze COM-String senden sowie empfangen.

Anwendungsfall ist ein programmierbarer Druckregler, den ich per Schnittstelle Befehle schicke wie: R1 Die Syntax der Reglerbefehle habe ich per Handbuch, klappt einwandfrei das senden. Jetzt kommt das aber: Beim Empfangen gibt es Probleme. Ich bekomme kein sicheres Empfangen hin. Ich habe Verzögerungen beim Empfangsstart erfolglos ausprobiert. Es bleibt immer folgendes Ergebnis:
Zweimal klappt das Empfangen auf Anforderung hin und 18x nicht. Dann beginnt es zyklisch wieder von vorn mit zweimal ok und 18x nicht..

Ich überwache den busy-Ausgang des COM-String-Empfangsgliedes. Bei den zweimal ist busy sofort wieder low, bei 18x bleibt busy high.

Hat jemand einen Tip für das timing? Ich habe die Schnittstellenrate 9600Bit/sec sowie 19200Bit/sec immer auf beiden Seiten durchprobiert, kein Unterschied. Ich habe mir die Spezifikation von RS232 angeschaut, dort gibt es keinen Hinweis auf diesen systematischen Fehler.

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 01.02.2008 12:23 Titel:

--------------------------------------------------------------------------------

Synchron-Zeichenkette korrekt eingestellt? Neuestes Update?

Nach oben


irrer polterer



Anmeldungsdatum: 10.01.2008
Beiträge: 12

Verfasst am: 01.02.2008 15:44 Titel: Details

--------------------------------------------------------------------------------

Hallo und Danke für die schnelle Antwort!

Meine Version ist vom 19.10.2006, updaten geht mit Version vom 11.12.2007. Werde ich machen. Muß nur gucken wie ich den Zielrechner mit dem update versorge, weil er nicht am Netz hängt.

Suffix Pc: dezimal 13 10, #0D 0A
Suffix Regler: CR LF, dürfte auch #0D 0A entsprechen.


Via Nullmodemkabel klappt volles Empfangen mit egal welcher aber gleichen Suffix (COM1 zu COM2 oder zu COM3(virtueller serieller Port weil USB)).


Der Pc ist via RS232 über Subd9 an den Druckregler DPI520 angeschlossen, weitere Infos zu der Verbindungsseite Regler:
Terminator: CR LF
Mode: Printer
Baudrate: 19200
parity: none
output: computer
prn n value: 1
end device: yes
software handshake: off
checksum: none
dpi 510 emulation: no

weitere Infos COM1 des PCs:
19200
databits:8
parity: none
stopbit: 1
flow control: hardware
Fifo max

weitere Infos Funktionsbaustein aus Profilab mit dem Namen String empfangen:
COM1
19200
databits:8
parity: none
stopbit: 1
synchron-Zeichenbit: 13 10 , #0D 0A


Der Regler möchte folgendes serielles Kabel, benutze es auch:
PC(DTE) Regler(DCE)

(RLSD) 9 bbbaaa 1 (RLSD)

(RXD) 2 aaabbb 2 (TXD)

(TXD) 3 bbbaaa 3 (RXD)

(CTS) 7 bbbaaa 8 (RTS)

(RTS) 8 aaabbb 7 (CTS)

(GND) 5 ababab 5 (GND)

(DSR) 6 bbbaaa 6 (DSR)

1 und 4 nc 4 und 9 nc

Schönen Start in die Woche oder ein schönes WE. Grüßle

Nach oben


Mike D



Anmeldungsdatum: 03.07.2006
Beiträge: 236

Verfasst am: 01.02.2008 20:52 Titel:

--------------------------------------------------------------------------------

den Zielrechner versorgst du am einfachsten, indem du nicht das automatische Update nutzt sondern die Datei HIER runterlädst.
Wenn es ab und zu geht sind die meisten Schnittstellenparameter schon mal richtig.

"flow control: hardware" könnte das Problem sein

Mike

Nach oben


irrer polterer



Anmeldungsdatum: 10.01.2008
Beiträge: 12

Verfasst am: 11.02.2008 11:22 Titel: Zwischenstand

--------------------------------------------------------------------------------

Hallo vielen Dank für die Hilfe! Mit Euch habe ich die Situation eingrenzen und das wahre Problem erkennen können.

An der RS232-Verbindung liegt es nicht, daß der Empfang nicht klappt. Genauso wenig auch an Profilab, es ist egal welche Version, ich arbeite jetzt mit der aktuellen. Mit software-handshake geht es besser, die Kommunikation geht tatsächlich schneller. Jetzt sehe ich immer, was im Datenpuffer vom Meßgerät ist und die Synchronisierung ist nachwievor ein Thema.

update
Jetzt kann ich mehr als 18strings in einer Sendung schicken, mindestens 60, mein Respekt. Ich sende in der Regel 2 bis 5 strings, von daher für meine Anwendung momentan egal.

Das Problem liegt bei meinem an den Pc geschlossenen Meßgerät. Egal welches Kabel,egal welche Porteinstellungen und egal welches timing, es klappt nicht. Ich nehme jetzt zusätzliche Drucktransmitter oder den SPannungsausgang vom Meßgerät via Labjack U12, die mir alle 100ms den Druckwert liefern. Mein Druckregler hat keine Probleme mit dem Empfangen von Drucksollwerten via RS232 und von daher ist es eine passende Lösung.

Mittlerweile habe ich den Meßaufbau verfeinert. Statt einem Labjack verwende ich jetzt Keithley-Multimeter. Sie liefern mir das passende Auflösungsvermögen der Spannungswerte (echte Mikrovolt).

Auf gute Zusammenarbeit, ernsthaft.

Grüße
ABACOM support

Antworten

Zurück zu „Thema RS232“