LabVIEWForum.de - Daten erfassen,loggen und zur Ansteuerung verwenden

LabVIEWForum.de

Normale Version: Daten erfassen,loggen und zur Ansteuerung verwenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo LabVIEWForum,

ich versuche zu Beginn mal mein Vorhaben zu erklären, um anschließend mein Problem darzustellen.

Ich möchte mithilfe der LabVIEW SW Daten von Sensoren erfassen (Analoge Inputs), ein Teil dieser Daten (Wegsensor) benötige ich zur Ansteuerung eines Kreuztisches.
Zusätzlich hierzu möchte ich diese Daten in einer TDMS-Datei loggen.

Ich habe mir daher mal das Beispiel Projekt "Continuous Measurement and Logging" angeschaut und zum Teil bearbeitet.
Die Daten erhalte ich über DAQ. Sowie ich das verstanden habe, kann ich über einen Task einstellen, welche Analoge Daten ich abfrage (auch mehrere Sensoren möglich?). (1)
Nun wird im Beispiel Projekt eine DataQueue verwendet, kann ich in diese DataQueue mehrere Signale verwenden? Oder benötige ich hierzu ein Cluster aus Queues?(2) Ist das überhaupt umsetzbar?

Neben der Acquisition Message Loop, enthält das Projekt eine Logging Message Loop, die die Daten in einer TDMS speichert.

Wenn ich nun eine dritte Schleife baue, z.B. Control Loop, und ich dieser Schleife die DataQueue (Cluster aus DataQueue?) Und das Signal des Wegsensors auslese und damit Umrechnungen stattfinden um einen XYZ-Kreuztisch anzusteuern, (3) beißt sich dann nicht die Logging Loop mit der Control Loop? Denn in beiden Loops nehme ich Daten aus der Queue oder nicht? Wie könnte ich dies umgehen?

Die Ansteuerung des XYZ_Kreuztisches erfolgt über TCP.

Ich habe zur Verdeutlichung meine Fragen mit Nummern versehen.2hands
Hallo Florian,

Zitat:beißt sich dann nicht die Logging Loop mit der Control Loop? Denn in beiden Loops nehme ich Daten aus der Queue oder nicht?
Ja, das beißt sich.

Zitat:Wie könnte ich dies umgehen?
Indem du nicht an zwei verschiedenen Stellen Daten aus einer Queue liest!
Lösungen:
- eine neue Queue für die Control-Loop
- einen neuen Melder für die Control-Loop (falls sie nur den jeweils aktuellsten Messwert benötigt)
Hallo Gerd,

Zitat:- einen neuen Melder für die Control-Loop (falls sie nur den jeweils aktuellsten Messwert benötigt)
Der aktuellste Messwerte reicht für die Ansteuerung, somit würde der Notifier reichen, danke hierfür. Somit gebe ich der Acquisition Message Loop einen zusätzlichen Notifier. In dem Acquiriring Case gebe ich dann dem 2. Notifier und der Data Queue den Wert des Wegsensors?

Kannst du mir auch bei den Fragen zur Queue weiterhelfen?
Zitat:
(1) Sowie ich das verstanden habe, kann ich über einen Task einstellen, welche Analoge Daten ich abfrage (auch mehrere Sensoren möglich?). (1)
(2) Nun wird im Beispiel Projekt eine DataQueue verwendet, kann ich in diese DataQueue mehrere Signale verwenden? Oder benötige ich hierzu ein Cluster aus Queues? Ist das überhaupt umsetzbar?

Gruß
Florian
Hallo Florian,

1. Ja.
2. Ja, eine Queue kann auch mehrere Messwerte/Signal übertragen. (Das ist nur eine Frage des in der Queue verwendeten Datentyps.)
Hallo Gerd,

danke dir für die schnelle Beantwortung.

(22.10.2018 09:38 )GerdW schrieb: [ -> ]2. Ja, eine Queue kann auch mehrere Messwerte/Signal übertragen. (Das ist nur eine Frage des in der Queue verwendeten Datentyps.)

Den aktuellen Datentyp der Queue habe ich mal angehangen. Eine Array des Datentyps waveform. Somit müsste ich doch damit auch mehrere Signale queuen können?
Nur wie weiß ich, in welchem Element des Arrays welches Signal liegt? Ist dies durch die Taskerstellung geregelt? ( Plump gesagt: 1. Signal im Task = 1.Element im Array?)

Gruß
Florian
Hallo Florian,

Zitat:Plump gesagt: 1. Signal im Task = 1.Element im Array?
Ja.
Referenz-URLs