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 

DAQ Digital I/O und AI



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!

30.08.2010, 14:40
Beitrag #1

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
DAQ Digital I/O und AI
Hallo an alle,

ich will eine Pumpensteuerung über LabVIEW machen. Die Steuerung sollte über Digitalausgänge meiner DAQ Karte realisiert werden.
(Digital I/O in LabVIEW über DAQ zu programmieren ist kein Problem.)

Wie die Pumpen gesteuert werden, hängen von den Daten ab, die (anhand der selben Messkarte über DAQ) erfasst werden. Diese sind Analogwerte (Beispielweise Druck und Temperatur) und sind bereits auch realisiert worden.

Mein Problem ist wie ich diese 2 Aufgaben zusammenbringe. Ich nenne ein kurze Beispiel:

Die Wassertemperatur wird anhand DAQ AI erfasst und bearbeitet. Wenn diese einen bestimmten Wert überschreitet, sollte anhand der Digital Output der Karte eine Pumpe geschaltet werden (entspricht High pegel).

Wie kann ich die Informationen die ich von AI bekomme, für die Steuerung der DO benutzen? (Locale Vari..,?)

Normal habe ich in meinem Programm eine DAQ Messschleife, wo die Kanäle konfiguriert werden und die daten gelesen werden. Für die entgültige Auswertung hab ich eine 2.Schleife, wobei die Daten per Queues in die 2.Schleife fliessen.

wäre dankbar für jeden Tipp,

Grüße,
Prince.

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 14:51 (Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2010 14:52 von Matze.)
Beitrag #2

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
DAQ Digital I/O und AI
Hallo,

lokale Variablen sollte man vermeiden, wo es nur geht.
Über die Queue kommunizierst du ja bereits zwischen beiden Schleifen.

Du könntest die Erfassungin in der ersten Schleife machen, wie bisher.
Wenn die Messdaten per Queue in die 2. Schleife kommen, kannst du diese dort auswerten (Werte vergleichen) und ggf. die digitalen Ausgänge ansteuern.

Oder was ist nun genau das Problem?

Theoretisch kannst du das auch mit einer Schleife lösen.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 14:59
Beitrag #3

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
DAQ Digital I/O und AI
' schrieb:Du könntest die Erfassungin in der ersten Schleife machen, wie bisher.
Wenn die Messdaten per Queue in die 2. Schleife kommen, kannst du diese dort auswerten (Werte vergleichen) und ggf. die digitalen Ausgänge ansteuern.

Oder was ist nun genau das Problem?




Theoretisch kannst du das auch mit einer Schleife lösen.

kann ich den Task für Digital I/O praktisch in die 2.Schleife erst öffnen, oder sollen alle DAQ Kanäle in der ersten schleife geöffnet bzw geschlossen werden?

hmm..ich habe eine ziemlich große datenmege. Mit nur einer Schleife ist irgedwann schluß mit der LV.Resources und CPU-Leistung.

Grüße,

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 15:01 (Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2010 15:01 von Matze.)
Beitrag #4

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
DAQ Digital I/O und AI
Gut, das kommt auf den Anwendungsfll an. Ich ging davon aus, dass sich die Temperaturwerte nicht schnell ändern.
Beispiel (sind eigene SubVIs, aber dennoch sollte das Prinzip klar werden):

   

Aber mit der Queue, die du nutzt, geht das doch auch.

Sonst solltest du deine Problemstellung noch etwas präzisieren (Hardware, Abtastrate, ...).

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 15:05 (Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2010 15:06 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
DAQ Digital I/O und AI
Der DO-Task kann doch vollkommen unabhängig in einer eigenen Schleife laufen, gerne auch Queue-gesteuert.

Ich würde zu Programmstart die DO-Tasks initialisieren und immer mitlaufen lassen, bzw. besser gesagt, nach Initialisierung wartet deine DO-Loop auf neue Events, die sie per Queue bekommt. Wenn dann was zu tun ist - was du in deiner Datenverarbeitungsschleife feststellst - dann löst du das entsprechende DO-Event per Queue aus.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 15:24
Beitrag #6

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
DAQ Digital I/O und AI
Dankeschön Tongue
ich werde es probieren und berichten. Die Benutzung von Queues wollte ich nochmal vermeiden, aber so gehts auch, oder mache ich wie in Bsp.

Viele Grüße,
Prince.

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Gehe zu: