LabVIEWForum.de
Kontinuierliches Einlesen vom Parallel Port - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Kontinuierliches Einlesen vom Parallel Port (/Thread-Kontinuierliches-Einlesen-vom-Parallel-Port)



Kontinuierliches Einlesen vom Parallel Port - fuchsm01 - 20.07.2006 18:14

<div align="left">Hallo an alle LabVIEW User,

Ich habe folgendes Problem:
Um diverse Schaltzustände von Endschaltern in LabVIEW darstellen zu können, möchte ich den Parallel Port meines PC's in gewissen Abständen abfragen. Sagen wir mal alle 500ms. Jetzt könnte ich dies natürlich so lösen (wie in dem Example von LabVIEW), dass ich die Funktion "Wait Until Next ms Multiple" in eine Schleife reinhänge die mir die Werte ausliest. Da mir aber diese Funktion das restliche VI sperrt, ist sie für mich nicht zu gebrauchen. Ich möchte nämlich nach Benutzereingabe Werte nach draussen schreiben, und nicht warten müssen bis die 500ms abgelaufen sind.

In C auf dem Microcontroller würde ich das mit einem Timer-Interrupt lösen. Gibt es in LabVIEW eine solche oder eine ähnliche funktion die mir alle 500ms (bzw. nach einer Zeit die ich im Frontpannel einstelle) einen bestimmten Programmteil ausführt und anschließend wieder den normalen Programmfluss weiter abarbeitet??

Für eure Hilfe wäre ich sehr dankbar.

MFG
Fuchs Michael</div>


Kontinuierliches Einlesen vom Parallel Port - Mr.T - 20.07.2006 19:15

Versuche es doch mal mit einer zweiten while Schleife.

Da Dir C offenbar ein Begriff ist:

Die zweite Whileschleife ist im Prinzip ein zweiter thread, der quasiparallel läuft. Via Barriers (bei LV Rendevous genannt) oder Semaphores (bei LV auch Semaphores) kannst Du dann Datenaustausch zwischen den Schlefen (mit Shared Variables oder Functional Global Variables FGV) realisieren.

Somit ist dann eine Schleife immer betriebsklar, während die andere nur die Kommunikation aufrecht erhält.

Gruß!


Kontinuierliches Einlesen vom Parallel Port - fuchsm01 - 20.07.2006 21:06

<div align="left">Hallo,

Also deine Idee mit den Semaphore's und den Rendevous klingt nicht schlecht. Hab mich auch gleich mal durch die Examples vom LabVIEW 8 durchgearbeitet. Dort wird aber nur der Aufruf von Sub-VI's mit den beiden Funktionen behandelt.

Kennst du vielleicht eine Seite im Netz wo man über dieses thema mehr erfahren kann? z.B. ein kleines Tutorial für Semaphore und Rendevous (vielleicht sogar auf Deutsch wenn geht). Oder kannst du mal kurz ein Beispiel zusammenstellen wo der Austausch zwischen zwei Schleifen in einem VI gezeigt wird?

MFG
Fuchs Michael</div>


Kontinuierliches Einlesen vom Parallel Port - eg - 20.07.2006 21:37

http://www-wnt.gsi.de/lvug/techniken.htm


Kontinuierliches Einlesen vom Parallel Port - diplNisse - 21.07.2006 06:58

' schrieb:<div align="left">

In C auf dem Microcontroller würde ich das mit einem Timer-Interrupt lösen. Gibt es in LabVIEW eine solche oder eine ähnliche funktion die mir alle 500ms (bzw. nach einer Zeit die ich im Frontpannel einstelle) einen bestimmten Programmteil ausführt und anschließend wieder den normalen Programmfluss weiter abarbeitet??

Für eure Hilfe wäre ich sehr dankbar.

MFG
Fuchs Michael</div>

Du kannst doch den aktuellen zeitwert (in ms) an ein sub VI geben, und sagen, dass 500 ms später ein ausgang des sub VIs TRUE werden soll.

Im sub vi vergleichst du einfach laufend den aktuellen zeitwert mit dem gewünschten, und wenn die übereinstimmen (bzw, wenn der aktuelle größer/gleich ist) setzt du den ausgang. Das bremst den Rest des Programms nicht aus.

VI ist im anhang.