![]() |
DAQ Digital I/O und AI - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: DAQ Digital I/O und AI (/Thread-DAQ-Digital-I-O-und-AI) |
DAQ Digital I/O und AI - Prince Amir - 30.08.2010 14:40 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. DAQ Digital I/O und AI - Matze - 30.08.2010 14:51 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. DAQ Digital I/O und AI - Prince Amir - 30.08.2010 14:59 ' schrieb:Du könntest die Erfassungin in der ersten Schleife machen, wie bisher. 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, DAQ Digital I/O und AI - Matze - 30.08.2010 15:01 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): [attachment=29101] Aber mit der Queue, die du nutzt, geht das doch auch. Sonst solltest du deine Problemstellung noch etwas präzisieren (Hardware, Abtastrate, ...). DAQ Digital I/O und AI - jg - 30.08.2010 15:05 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 DAQ Digital I/O und AI - Prince Amir - 30.08.2010 15:24 Dankeschön ![]() 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. |