INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Probleme mit UART (serielle Kommunikation)



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!

28.07.2011, 09:34
Beitrag #1

Nobody Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2011

2009
2011
DE



Probleme mit UART (serielle Kommunikation)
Hallo,

ich habe einen Atmega über einen FTDI (USB-Seriell-Wandler) zur Kommunikation mit dem PC ausgerüstet, damit habe ich unter Windows XP einen Virtuellen Com-Port. Nun gibt er mit je nachdem, welchen Befehl ich ihm schicke seine Antwort zurück. So kann ich ihm folgenden String schicken:

Von mir: 1_1_1 und er gibt mir den entsprechnenden Messwert als Ascii zurück. Zum Beispiel 4111.

Das funktioniert auch mit einem Terminalprogramm super. Allerdings macht Labview es nur manchmal, es klappt nur ungefähr jedes 4te mal.

Folgende Szenarien:

- Es klappt
- Er gibt nichts aus und der Timeout von 10s meldet einen Fehler
- Der Timeout meldet einen Fehler und er gibt den richtigen Wert aus?!

Nun beruht mein Test auf dem basic serial write and read Beispiel von hier (NI).

Ich habe auch schon eine kleine Zeitverzögerung eingebaut, da mein Controller ein paar µs zur Bearbeitung benötigt.
Aber ohne Erfolg. Komisch ist halt nur, dass es manchmal geht.

Hatte jemand schon ähnliches, kennt den Fehler oder kann mir einen anderen Weg erklären?

Achja, habe es mit LabVIEW 2009 und 2010 getestet, gleiches Verhalten

Vielen Dank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.07.2011, 09:44
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Probleme mit UART (serielle Kommunikation)
Hast Du die richtigen Terminierungszeichen, die richtige Baudrate, Handshaking (falls vorhanden),.... eingestellt?
Wenn ja, dann lad' doch mal Dein VI hoch.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 09:58
Beitrag #3

Nobody Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2011

2009
2011
DE



RE: Probleme mit UART (serielle Kommunikation)
Nee, das ist alles korrekt eingestellt (geht beim Terminalprogramm ja auch)
9600baud, 8 Data, 1 Stop und no parity

Wobei er das Abschlusszeichen nicht richtig nimmt, mein Atmega reagiert auf (\n), allerdings gibt es mit dem automatischen von Labview Probleme, daher schicke ich hinter meinem Befehl noch \n manuell mit, so geht es dann.

Datei im Anhang (stammt von NI)


Angehängte Datei(en)
0 .vi  basic_serial_write_and_read.vi (Größe: 21,24 KB / Downloads: 313)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 10:04 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2011 10:06 von Y-P.)
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Probleme mit UART (serielle Kommunikation)
Das Abschlusszeichen gilt auch nur für's Lesen. Das steht in der Hilfe zu dem VI (VISA Configure Serial Port). Darum musst Du das auch noch mit anhängen.

Gruß Markus

EDIT: Wo ist eigentlich Deine Schleife um das VISA Write und VISA Read? So wie es jetzt ist, läuft Dein Programm nur einmal.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 10:20
Beitrag #5

Nobody Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2011

2009
2011
DE



RE: Probleme mit UART (serielle Kommunikation)
Okay, dass wusste ich nicht, Danke...

Nun geht es genau jedes 2te Mal, also erst Fehler dank Zeitüberschreitung und danach alles so wie es soll und wieder Zeitüberschreitung.

Ich will es erstmal nur einmal schicke und einmal empfangen, so soll es später auch im Programm ablaufen, ein Behehl soll geschcitk werden und dann soll der Messwert verarbeitet werden. Daher noch keine Schleife.


_____________________________________________________________
Anderer Weg:
Nun habe ich es nochmal mit der ExpressVI (Assistent für Instrument I/O) getestet. Dabei ist es jedesmal gleich. Er gibt ein Nachrichtenfenster, in dem nur Error steht. Nach dem Wegklicken gibt er aber trotzdem den richtigen Messwert aus -.-

Kann es sein, das er noch irgendwas bestimmtes haben möchte, damit das Lesen für ihn erfolgreich ist?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 10:24
Beitrag #6

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Probleme mit UART (serielle Kommunikation)
Hat die Antwort, die Du von Deinem Gerät kriegst, auch \n als Terminierungszeichen? Oder erwartet das Gerät nur \n bei der Ansteuerung?

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 10:32
Beitrag #7

Nobody Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2011

2009
2011
DE



RE: Probleme mit UART (serielle Kommunikation)
Vorher brauchte das Gerät nur \n als Abschluss, damit er merkt, wann der Strings vorbei ist. Nun schickt er aber auch hinter dem gesendeten String ein "\n" mit, habe es eben nachgerüstet, aber immernoch das obige Verhalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 10:38 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2011 10:40 von Y-P.)
Beitrag #8

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Probleme mit UART (serielle Kommunikation)
Schickt Dein Gerät mehr als 5 Byte? Mach' bei "Bytes to Read" mal den Wert größer, bzw. schließe gleich "Bytes at port" (per "PropertyNode") an?

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 10:56
Beitrag #9

Nobody Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2011

2009
2011
DE



RE: Probleme mit UART (serielle Kommunikation)
das habe ich auch probiert, sind zu wenig angegeben, liesst er halt nur die entsprechenden Buchstaben

nun habe ich mal das etwas komplexere Beispiel aus der Hilfe (Advanced serial write and read) genommen, damit funktioniert es, wenn ich bei read und write jeweils end with termination character angebe. Hängt also wohl irgendwie mit dem \n zusammen.
Jedenfalls werde ich den Advanced Code nun mal ein bisschen verkleinern und vereinfachen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2011, 11:53 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2011 11:53 von Y-P.)
Beitrag #10

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Probleme mit UART (serielle Kommunikation)
Hast Du etwa in Deinem String bei "Normal Display" das \n eingetragen?
Du musst den String vorher auf "Codes Display" umstellen.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Probleme bei der Kommunikation mit Modbus Mklei33s 15 9.018 26.05.2020 16:33
Letzter Beitrag: GerdW
Question Kommunikation Serielle Schnittstelle, System stürtzt ab Baron 1 3.235 13.12.2018 23:02
Letzter Beitrag: IchSelbst
  Serielle Kommunikation zwischen zwei Laptops Gerd Grote 34 19.657 19.09.2016 17:00
Letzter Beitrag: jg
  Probleme mit TCP Kommunikation zwischen Server & Client ChiefChill 3 6.180 10.03.2014 09:02
Letzter Beitrag: cb
  Kommunikation S5-95U mit LabVIEW über serielle Schnittstelle Ham 4 6.896 10.11.2013 22:33
Letzter Beitrag: Lucki
  Probleme bei Kommunikation OPC-Server Jooschtl 1 6.849 24.11.2010 19:27
Letzter Beitrag: Y-P

Gehe zu: