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 

Auslesen mehrere Geräte / Allg. Aufbau?



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!

03.01.2015, 15:28
Beitrag #1

Timm Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2015

LabView 2011 Student
2012
EN



Auslesen mehrere Geräte / Allg. Aufbau?
Hallo zusammen,

mein Name ist Timm und ich bin neu hier Smile.

Da Forum hier hat mir schon öfters beim Durchlesen geholfen. Danke hierfür!
Nun ich habe bereits etwas Erfahrung in LabView gesammelt, allerdings nur in kleineren, weniger komplexen Programmen.

Ich habe nun die Aufgabe, im Rahmen einer Technikerarbeit mehrere Geräte auszulesen und anzusteuern:

Lineareinheit über COM-Schnittstelle , eine Pumpensteurung über NI-6009, Temperatursensor über NI-6009, Auswertung eines LeCroy Oszilloskops...

Daher die Frage.. wie gehe ich das am Besten an?
Das Programm soll einen automatischen Messablauf haben dieser wird über eine Tabellendatei gesteuert.
Dazu möchte ich gerne einen Manuellen Modus in dem die Geräte auch einzeln (wenn der Messablauf nicht aktiv ist) gesteuert bzw. ausgelesen werden können.

Welche Struktur eignet sich hier am Besten?
Ich habe jetzt mit einer "Event driven state Machine" eine Schleife für ein Geräte gemacht für den manuellen Modus. Wie kann ich Daten austauschen bzw der vorhanden Schleife durch eine andere sagen was zu tun ist? Ich habe gelesen das lokale Variabeln wohl nicht das beste sind.. Vllt habt ihr mir einen guten Rat Smile Danke!

Anbei ein Bild meines bisherigen Werkes Blink


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2015, 18:24
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Auslesen mehrere Geräte / Allg. Aufbau?
Hallo Timm,

herzlich willkommen!

Zitat:Lineareinheit über COM-Schnittstelle , eine Pumpensteurung über NI-6009, Temperatursensor über NI-6009, Auswertung eines LeCroy Oszilloskops...
Du verwendest also (mindestens) 3 verschiedene Schnittstellen, da würde ich dir auch 3 parallel laufende Schleifen (oder subVIs) empfehlen, die jeweils eine Schnittstelle (bzw. Gerät) bedienen…

Zitat:Das Programm soll einen automatischen Messablauf haben dieser wird über eine Tabellendatei gesteuert. Dazu möchte ich gerne einen Manuellen Modus
Eine Statemachine ist dafür perfekt! Gern auch als Kombination mit einer Eventstruktur und einer Queue als "Event-Driven Queued Message Handler"…
Schau dir mal das Actor-Framework an. Ich glaube, das ist bei LV2011 auch schon dabei (bin mir aber nicht sicher).

Zitat:Wie kann ich Daten austauschen bzw der vorhanden Schleife durch eine andere sagen was zu tun ist?
Durch Queues…

Zitat:Ich habe gelesen das lokale Variabeln wohl nicht das beste sind.
Spätestens, wenn du aus Übersichtlichkeits-Gründen eigene subVIs für deine Geräte verwendest, kannst du eh keine lokalen Variablen mehr nutzen.
Also: Queues, Notifier, FGVs aka ActionEngines (und auch mal die eine oder andere globale Variable)…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.01.2015, 13:53 (Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2015 13:54 von Timm.)
Beitrag #3

Timm Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2015

LabView 2011 Student
2012
EN



RE: Auslesen mehrere Geräte / Allg. Aufbau?
Hallo GerdW und danke!

Ja so habe ich mir das auch gedacht, dass ich für jedes Gerät eine eigene Schleife mache in der Init.. Messung.. Beenden.. alles drin ist was das Gerät eben machen soll.
Und ich würde eben jede als State-Machine aufbauen. Das Aktor Framework ist bei mir in LV2011 nicht vorhanden, oder ich finde es nicht Blush .

Es ist mir leider aber immer noch nicht klar wie ich das mit den Daten am Besten mache. Mal ein paar Beispiele um es zu verdeutlichen was ich nicht kapiere:

- Sagen wir ich habe eine "Master" Schleife, die einen Messablauf steuert, diese soll die Befehle an die anderen Schleifen weitergeben (Geräte) z.B. Messe Temperatur

- Wiederum möchte ich dann eben die Daten (Temperatur) der Geräteschleife haben um sie zu loggen o. anzuzeigen - ist das hier sinnvoll das überhaupt in der Masterschleife zu machen? Oder in einer Extra-Schleife?

- Da ich ja vllt in beide Richtungen Daten gebe, funktioniert dies mit Queues nicht oder?

- Und für den manuellen Handbetrieb sozusagen würde ich dann die einzelnen Schleifen eben wie gehabt mit einer Event gesteuerten State Machine machen.

Das Hauptproblem bei mir ist denke ich die Daten hin und her zu schieben and die richtige Schleife zu geben etc.

Hoffe Ihr könnt mir hier weiterhelfen.. ich wills ja vernünftig aufbauen Blush

Danke!

Gruß Timm
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.01.2015, 15:13
Beitrag #4

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Auslesen mehrere Geräte / Allg. Aufbau?
Hallo Timm,

grundsätzlich ist der Datenaustausch innerhalb von VIs in den meisten Fällen am elegantesten über Queues oder Melder zu machen. Melder können hierbei allerdings nur 1 Datum beliebiger Form enthalten, und Queues eben mehrere. Wenn du Daten bidirektional verschicken möchtest, nimm einfach für jede Richtung eine Queue.
Queues funktionieren auch drahtlos (referenziert über ihren Namen und Typ) über verschiedene VIs hinweg, sodass du deine einzelnen Aufgaben auch in Sub-VI unterteilen kannst.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.01.2015, 15:30
Beitrag #5

Timm Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2015

LabView 2011 Student
2012
EN



RE: Auslesen mehrere Geräte / Allg. Aufbau?
Hallo zusammen,
vielen Dank für die Vorschläge. Ich hab jetzt mal das Programm teils mit Queues umgesetzt.
Anbei ein Ausschnitt für die Ansteuerung einer DAQmx USB NI-6009...

Ich kann nun über Buttons meines Reiters "Manuell" auf dem Frontpanel alles durch die Event-Gesteuerte Schleife steuern.
In dieser wird in der Queue das auszuführende Element und eventuell Daten als Variant angefügt.

Im Timeout Case werden diese dann abgearbeitet. Dazu hätte ich ein paar Fragen Blush
- Ist das sinnvoll so?
- Die Timeout Zeit des Queue entfernen Elements könnte ich ja eig auf 0 setzen?

Allgemein habt ihr Ideen? Big Grin
Danke schonmal!
Gruß Timm


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.01.2015, 15:40
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Auslesen mehrere Geräte / Allg. Aufbau?
Hallo Timm,

Zitat:Im Timeout Case werden diese dann abgearbeitet. Dazu hätte ich ein paar Fragen
- Ist das sinnvoll so?
- Die Timeout Zeit des Queue entfernen Elements könnte ich ja eig auf 0 setzen?
Du hast den TimeOut auf 25ms gesetzt - und ebenso das TimeOut der ReadQueue-Funktion. Das passt so nicht…

Das Auslesen der Queue sollte in einer parallelen Schleife erfolgen: das Konzept nennt sich dann "Queue driven state machine"…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.01.2015, 15:46
Beitrag #7

Timm Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2015

LabView 2011 Student
2012
EN



RE: Auslesen mehrere Geräte / Allg. Aufbau?
Hallo GerdW,

heißt dann ich nehm das was ich gerade im Timeout-Case habe in eine extra while Schleife und in einer anderen Frage ich die Events ab?

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.01.2015, 15:47
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Auslesen mehrere Geräte / Allg. Aufbau?
Ja, so würde ich das machen.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.01.2015, 18:29
Beitrag #9

Timm Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jan 2015

LabView 2011 Student
2012
EN



RE: Auslesen mehrere Geräte / Allg. Aufbau?
Quasi so?

Gruß


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Rainbow VISA-Geräte zählen und finden Labwatcher 10 4.395 24.01.2024 13:55
Letzter Beitrag: hansi9990
  angeschlossene Geräte via VISA finden möglich? MKay 6 8.267 10.06.2015 07:52
Letzter Beitrag: Lucki
  Synchronisation 2er Geräte mit integrierter Strommessung Eliii 3 4.907 24.07.2014 12:48
Letzter Beitrag: GerdW
  Allg. Einbindung von non-NI-Hardware LabViewLuke 3 6.093 13.12.2011 09:37
Letzter Beitrag: Y-P
  Mehrere Schleifen - Auslesen über VISA de_pablo 1 4.051 28.10.2010 08:55
Letzter Beitrag: GerdW
  Gleichzeitiges Auslesen 2er Geräte über RS-232 Nils_D 5 5.243 13.07.2009 16:07
Letzter Beitrag: Nils_D

Gehe zu: