Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
' 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.
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.
' 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 ?
' 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.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' 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.
' 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?) ?
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.
Die Zeichen sende ich in Hyperterminal einzeln oder als Text. Beides Funktioniert.
' schrieb:Wie meinst Du das? Sorry wenn ich das nicht gleich verstehe - bin noch nicht so lang am LabVIEWen.
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.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' 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