02.03.2011, 19:18
Beitrag #1
|
dualsbiker
LVF-Gelegenheitsschreiber
Beiträge: 115
Registriert seit: Sep 2009
8.6 & 2010
2009
DE_EN
15745
Deutschland
|
Auf Daten Warten
Hallo, ich hab da mal 'ne Frage. Ich muss ein VI programmieren das Daten aus einem Controller ausliest. Dieser Controller sendet einmal pro Sekunde den aktuellen Wert. Es ist ein Controller für ein Vakuum Messgerät.
Nun muss das VI diesen Wert irgendwie lesen können. Ich hab es schon hinbekommen den Wert zu lesen. Allerdings ist es eher eine Glückssache den Wert als ganzes mitzubekommen. Oft fehlt die Hälfte. Einfach weil nicht in dem Moment gelesen wird, in dem der Wert gesendet wird.
Gibt es eine Möglichkeit auf den Wert zu warten um ihn ganz auslesen zu können ? Es gibt ja irgendwie die Funktion "auf Ereigniss warten". Wie funktioniert das. Kann mir da jemand helfen ?
|
|
|
02.03.2011, 20:09
Beitrag #2
|
|
|
02.03.2011, 20:13
Beitrag #3
|
|
|
02.03.2011, 20:25
Beitrag #4
|
|
|
02.03.2011, 20:28
Beitrag #5
|
dualsbiker
LVF-Gelegenheitsschreiber
Beiträge: 115
Registriert seit: Sep 2009
8.6 & 2010
2009
DE_EN
15745
Deutschland
|
RE: Auf Daten Warten
Die Schnittstelle ist eine USB-Schnittstelle, allerdings sitzt hinter der USB-Buchse nur ein RS232 to USB Converter. Das Gerät wird auch als serielle Schnittstelle im Gerätemanager angezeigt. Was du mit API meinst weiß ich nich.
|
|
|
02.03.2011, 20:59
Beitrag #6
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Auf Daten Warten
Hallo dualsbiker,
dann schau dir mal das "Basic Serial Read and Write"-Example an. Das dürfte für die Kommunikation mit deinem ungenannten Gerät ausreichen...
API: einfach mal Wikipedia konsultieren?
|
|
|
02.03.2011, 21:09
Beitrag #7
|
dualsbiker
LVF-Gelegenheitsschreiber
Beiträge: 115
Registriert seit: Sep 2009
8.6 & 2010
2009
DE_EN
15745
Deutschland
|
RE: Auf Daten Warten
Ja das kenne ich, ich habe auch schon so einige andere Geräte über RS232 betrieben. Bei denen musste ich allerdings einen Befehl senden um eine antwort zu bekommen. Bei dem jetztigen Gerät sende ich jedoch keine Befehle. Ich erhalte nur einmal pro Sekunde einen aktuellen Wert. Und jetzt muss ich irgendwie mein VI mit dem Gerät synchronisieren und dachte das einfach über die Funktion "auf ereigniss warten" machen zu können.
|
|
|
02.03.2011, 21:14
Beitrag #8
|
|
|
02.03.2011, 21:16
(Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2011 21:19 von GerdW.)
Beitrag #9
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Auf Daten Warten
Hallo dualsbiker,
was ist an der seriellen Kommunikation so problematisch?
Wenn alle 1,0s ein neuer String gesendet wird, dann einfach ein TimeOut von 1,5s beim VISA-Read verwenden... Diese Kommunikation sollte eh schon in einer parallelen Schleife laufen, also droht auch hier kein Ungemach mit zu langen Delays etc.! Und ob du nun einen neuen Wert explizit anfordern musst oder ihn ungefragt geliefert bekommst, macht auch keinen großen Unterschied!
RS232-Kommunikation läuft fast immer nach SchemaF: entweder man wartet auf eine bestimmte Anzahl Zeichen oder auf eine Zeichenkette mit bekanntem Endezeichen. Beides lässt sich einfach (wie im Example gezeigt) in LabVIEW umsetzen...
|
|
|
03.03.2011, 08:48
(Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2011 08:49 von Lucki.)
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Auf Daten Warten
Die ganz entscheidende Frage für die Programmierung ist: Werden die Nachrichten mit Terminierungszeichen abgeschlossen oder nicht, und wenn ja, mit welchem? Die Frage wurde Dir schon 2 oder 3 Mal gestellt, und solange Du die Frage übergehst, wirst Du mit den Antworten nicht glücklich werden können. (Terminierungszeichen sind in der Regel x0A oder x0D)
|
|
|
| |