LabVIEWForum.de
Problem mit Serieller Schnittstelle - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Problem mit Serieller Schnittstelle (/Thread-Problem-mit-Serieller-Schnittstelle)

Seiten: 1 2 3


Problem mit Serieller Schnittstelle - STG - 29.05.2007 09:42

' schrieb:Versuch doch mal mit dem Free Serial Port Monitor die Kommunikation mit deinem COM Port zu überprüfen.

Cu, katsumi

Hallo,
das habe ich heute gemacht. Ging ganz gut, nur leider bin ich jetzt erst recht richtig ahnungslos. :-)

Hab den Sensor mit Hyperterminal angesprochen und mit LabVIEW.

[attachment=6885]

Wie man sieht bekommt der Sensor immer dasselbe und sendet leider immer was unterschiedliches zurück.
Werd nicht schlau daraus. Vielleicht habt ihr ja auch wieder eine Idee.

In LabVIEW hab ich das Senden auch noch anders Prüfen können - am Serial-Kabel einfach Pin 2 und 3 gebrückt
und mein VI laufen lassen. Da kommt genau das Zurück was ich sende.

Wenn jemand noch ne Idee hat wäre ich sehr Dankbar.

MfG RIchard


Problem mit Serieller Schnittstelle - katsumi - 29.05.2007 12:27

' schrieb:[...]
Wie man sieht bekommt der Sensor immer dasselbe und sendet leider immer was unterschiedliches zurück.
Werd nicht schlau daraus. Vielleicht habt ihr ja auch wieder eine Idee.
[...]

Identischer kann es nicht sein. Softwaretechnisch scheint das Senden in Ordnung zu sein, aber der Empfang hakt. Ist dein Read VI vielleicht nicht ok ?

Cu, katsumi


Problem mit Serieller Schnittstelle - IchSelbst - 29.05.2007 12:39

' schrieb:Wenn jemand noch ne Idee hat wäre ich sehr Dankbar.
Das 0x15 in deinem Bild bedeutet NAK.

NAK heißt, dass der Empfänger ein ungültiges Telegramm (wie auch immer) bekommen hat. Im Prinzip müsstest du das Zeichen 0x15 auch mit dem Hyperterminal sehen/simulieren können. Sende anstelle eines "T" z.B ein "D", dann sollte, wenn alles "stimmt", auch hier ein 0x15 zusehen sein. Es sei denn, das Hyperterminal ist so konfiguriert, dass Steuerzeichen nicht angezeigt werden.

Im übrigen solltest du exakt das selben senden: Im Hyperterminal und in LV MT - anstelle von XT im LV (man weis ja nie).

Schau mal nach, ob im Hyperterminal eine Wartezeit nach jedem Sendezeichen eingestellt ist. Wobei ich hier davon ausgehen, dass du den String am Stück senden lässt (wie in LV) und nicht die Zeichen einzeln eintippst.


Problem mit Serieller Schnittstelle - STG - 29.05.2007 12:41

' schrieb:Identischer kann es nicht sein. Softwaretechnisch scheint das Senden in Ordnung zu sein, aber der Empfang hakt. Ist dein Read VI vielleicht nicht ok ?

Cu, katsumi


Mhh.. diese Möglichkeit bestünde aber habe es schon auf mehreren Rechnern probiert.

Glaube also nicht das es daran liegt. Werde es aber nochmal in ner anderen LabVIEW Version schreiben und Probieren.

Gruß Richard


Problem mit Serieller Schnittstelle - katsumi - 29.05.2007 12:52

' schrieb:Mhh.. diese Möglichkeit bestünde aber habe es schon auf mehreren Rechnern probiert.

Glaube also nicht das es daran liegt. Werde es aber nochmal in ner anderen LabVIEW Version schreiben und Probieren.

Gruß Richard

Verbinde doch mal den LV Rechner mit einem zweiten Rechner ueber den Com Port und starte beim zweiten Rechner den Hypertermimal auf lauschen. Vielleicht sieht man dann jeweils nen Unterschied ?

Vielleicht ist die Wartezeit von 250ms doch zu knapp und der Buffer wird nicht ganz ausgelesen, weshalb bei weiteren Sende-/Antwortversuchen es nicht klappt. Gibts nen Befehl, wo du den Buffer "entleeren" kannst (CLR?) ?

cu, katsumi


Problem mit Serieller Schnittstelle - STG - 29.05.2007 13:15

' schrieb:Das 0x15 in deinem Bild bedeutet NAK.

NAK heißt, dass der Empfänger ein ungültiges Telegramm (wie auch immer) bekommen hat. Im Prinzip müsstest du das Zeichen 0x15 auch mit dem Hyperterminal sehen/simulieren können. Sende anstelle eines "T" z.B ein "D", dann sollte, wenn alles "stimmt", auch hier ein 0x15 zusehen sein. Es sei denn, das Hyperterminal ist so konfiguriert, dass Steuerzeichen nicht angezeigt werden.

Im übrigen solltest du exakt das selben senden: Im Hyperterminal und in LV MT - anstelle von XT im LV (man weis ja nie).

Schau mal nach, ob im Hyperterminal eine Wartezeit nach jedem Sendezeichen eingestellt ist. Wobei ich hier davon ausgehen, dass du den String am Stück senden lässt (wie in LV) und nicht die Zeichen einzeln eintippst.

Danke erstmal für Deine Antwort,

Habe jetzt mit Hyperterminal ein falsches Telegramm gesendet - erhielt dann wie von Dir richtig vermutet bei Port den Wert 0x15 und vom Sensor die Normale Fehlermeldung zurück.

"Im übrigen solltest du exakt das selben senden: Im Hyperterminal und in LV MT - anstelle von XT im LV (man weis ja nie)."

Wie meinst Du das? Sorry wenn ich das nicht gleich verstehe - bin noch nicht so lang am LabVIEWen. Wink

Die Zeichen sende ich in Hyperterminal einzeln oder als Text. Beides Funktioniert.

Grüße Richard


Problem mit Serieller Schnittstelle - katsumi - 29.05.2007 13:19

' schrieb:"Im übrigen solltest du exakt das selben senden: Im Hyperterminal und in LV MT - anstelle von XT im LV (man weis ja nie)."

Wie meinst Du das? Sorry wenn ich das nicht gleich verstehe - bin noch nicht so lang am LabVIEWen. Wink


IchSelbst hat wohl im Bild das Feld mit Sende- und Leseanfrage verwechselt. Blush

cu, katsumi


Problem mit Serieller Schnittstelle - IchSelbst - 29.05.2007 13:46

' schrieb:Wie meinst Du das? Sorry wenn ich das nicht gleich verstehe - bin noch nicht so lang am LabVIEWen. Wink
Alles klar. XT heißt "Fehler", MT "alles ok". (Meiner Meinung nach sollte das anstelle von "Lese/Schreib-Anfrage" besser "Daten auf RxD" bzw. "Daten auf TxD" heißen).

Einen Versuch hätte ich schon noch: Stell mal anstelle von einem Stoppbit in LV zwei Stoppbits ein.


Problem mit Serieller Schnittstelle - STG - 29.05.2007 15:39

' schrieb:Einen Versuch hätte ich schon noch: Stell mal anstelle von einem Stoppbit in LV zwei Stoppbits ein.

Wußte nicht genau wie Du das meinst. Hab deswegen alle Varianten probiert.
Serielle Schnittstelle mit 2 Stopp Bits Konfiguriert und den String mit einem Stopp bit gesendet
Serielle Schnittstelle mit 2 Stopp Bits Konfiguriert und den String mit 2 Stopp bits gesendet /020T0049..
Serielle Schnittstelle mit 1 Stopp Bits Konfiguriert und den String mit einem Stopp bit gesendet
Serielle Schnittstelle mit 1 Stopp Bits Konfiguriert und den String mit 2 Stopp bits gesendet

Leider alles ohne Erfolg.

Gruß Richard


Problem mit Serieller Schnittstelle - IchSelbst - 29.05.2007 15:50

' schrieb:Wußte nicht genau wie Du das meinst.
Das da:
Zitat:Serielle Schnittstelle mit 2 Stopp Bits Konfiguriert

Da liegt bestimmt wieder so ein ganz blöder Fehler vor, wo sich jeder an den Kopf haut, wenn der denn erst gefunden ist. Tongue