LabVIEWForum.de
Event-gesteuerte RS232 - 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: Event-gesteuerte RS232 (/Thread-Event-gesteuerte-RS232)

Seiten: 1 2


Event-gesteuerte RS232 - MIGU - 16.10.2006 18:20

Hallo alle zusammen,

habe eine kurze Frage zur Implementierung von RS232 in LabVIEW:

Wie ist es machbar, mittels einer Event-Strucktur eine RS232-Abfrage zu implementieren, um auf eingehende Daten zu reagieren? Es wird in meiner HW in unregelmäßigen Abständen ein String gesendet, den ich ohne viel CPU-Overhead mit LAbView parsen und dann ausgeben will. Die Abfrage der seriellen Schnittstelle soll außerdem bei Programmbeendigung ordnungsgemäß geschlossen werden.

Vielen Dank für die Hilfe,
MG. Blush


Event-gesteuerte RS232 - A.Berndsen - 16.10.2006 18:43

Hallo Migu,

Du kannst ja mit dem Eigenschaftsknoten "Bytes at Port" herausfinden, ob an der seriellen Schnittstelle Daten anstehen und dann darauf programmatisch reagieren.
Eine Eventstruktur ist da aus meiner Sicht nicht notwendig.

Wenn Du die Visa-Session schließt, mit der die serielle Schnittstelle ausgelesen wird, dann ist diese damit wieder freigegeben.

Gruß
Andreas


Event-gesteuerte RS232 - MIGU - 16.10.2006 19:49

Hallo Andreas,

habe mir im Forum mal ein Beispiel mit der Byte-Abfrage Instruction angesehen. Sie wurde von Admin gepostet und darin wird auf Zeichen am VISA gewartet. Solange nichts ankommt, wird im 250ms Takt gepollt, wie ich das verstanden habe. Kann man nicht mittels Event-Struktur auf die VISA-Komponente Reagieren???

Hat jemand da eine Idee/Beispiel?

Danke an alle,
MG.


Event-gesteuerte RS232 - eg - 16.10.2006 21:18

Ja, VISA Advanced Palette->Wait On Visa Event. Als Event kannst du Serial Character definieren. Dann wartest deine Task solange, bis ein Zeichen eintrifft. Ich denke, es ist das was du wolltest.

Gruss, Eugen


Event-gesteuerte RS232 - A.Berndsen - 16.10.2006 22:02

' schrieb:Wait On Visa Event
Da hab ich auch wieder was gelernt!

Grüße
Andreas


Event-gesteuerte RS232 - eg - 17.10.2006 00:38

' schrieb:Da hab ich auch wieder was gelernt!

Grüße
Andreas

Tja, wenn man früher in der FH Assembler gelernt und danach in C Mikrocontroller mit Interrupts programmiert hat, kann man nicht ohne solche Sachen leben.

Aber nicht vergessen, zuerst das Event einschalten (mit Enable) und dann darauf warten.

Die optimale Lösung befindet sich IMHO hier:

http://forum.ib-berger.com/viewtopic.php?t=29

(mit meiner Bemerkung, die i2dx leider nicht beachtet hat)

Gruss, Eugen


Event-gesteuerte RS232 - MIGU - 22.10.2006 20:33

jup! werde das mal in meiner Apps checken.

Danke.
MG.


' schrieb:Ja, VISA Advanced Palette->Wait On Visa Event. Als Event kannst du Serial Character definieren. Dann wartest deine Task solange, bis ein Zeichen eintrifft. Ich denke, es ist das was du wolltest.

Gruss, Eugen



RE: Event-gesteuerte RS232 - Mr. B - 31.01.2014 14:20

Hallo zusammen!

Das ist ja eine prima Lösung.
Nun habe ich eine Anwendung, bei der ich nicht weiß, wie viele Teilnehmer ich an den Coms habe - sprich, ob ich einen, zwei, drei oder X. Diese senden dann auch noch sporadisch etwas...welch Drama!

Ich frage mich, ob es möglich ist in einer Schleife auf X Teilnehmerevents zu warten - diese dann meinetwegen in eine query schieben, um sie dann nacheinander abzuarbeiten (denn die Daten können natürlich auch zeitgleich eintreffen).
Vielleicht geht es, nachdem die Anzahl der aktiven Teilnehmer "abgescannt" wurde und alle nötigen Ports geöffnet sind, ein Event zu bekommen, dass mir mitteilt, an welchem Port nun Daten abzuholen sind. Oder meint ihr, den Code von ib-berger in einer for Schleife ständig nacheinander zu durchwühlen ist gut genug?

Greez
B


RE: Event-gesteuerte RS232 - Lucki - 31.01.2014 18:44

(31.01.2014 14:20 )Mr. B schrieb:  Nun habe ich eine Anwendung, bei der ich nicht weiß, wie viele Teilnehmer ich an den Coms habe - sprich, ob ich einen, zwei, drei oder X.
Das kann ich Dir sagen: RS232 ist eine Punkt-zu-Punkt-Verbindung. Es gibt da zwei Teilnehmer.
Oder meinst Du RS485? Diese Schnittstelle ist busfähig, das Protokoll ist aber nicht genormt. Wenn ja, welches Protokoll wird da verwendet?


RE: Event-gesteuerte RS232 - Mr. B - 02.02.2014 16:43

Ah je...schlecht ausgedrückt...

Je Com natürlich nur ein Teilnehmer - aber die Anzahl der mit Teilnehmern belegten Coms ist flexibel.

Es könnten also beispielsweise zwei Teilnehmer angeschlossen sein - aber zur Laufzeit auch weniger oder mehr.