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 

Analogmessung auf einem Kanal im Hintergrund



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!

23.02.2010, 12:07
Beitrag #1

wernerIBN Offline
Datenflussumgeher
**


Beiträge: 124
Registriert seit: Sep 2009

8.6 und 2011
2000
DE

52425
Deutschland
Analogmessung auf einem Kanal im Hintergrund
Hallo,
ich benötige eine Idee zur Architektur.

Ich habe eine Erzeuger-Verbraucherstruktur, mit der kann ich eine Motorsteuerung von A nach B fahren lassen.
Das ist fertig und geht, nun soll folgendes hinzugefügt werden:

Von einem DAQ-MX-Gerät sollen dabei die ganze Zeit Analogmesswerte auf einem Kanal mit etwa 1kHz aufgenommen und live als Graph Oszilloskopmäßig angezeigt werden. Aus dem DAQ-MX VI kommt der Datentyp Signalverlauf raus.

Das würde ich gemäß dem Beispiel Acq&Graph Voltage-Int Clk-EveryN&DoneEvent.vi eventgesteuert realisieren, und einfach zusätzlich zur Erzeuger-Verbraucher-Struktur als parallelen Zweig in mein Blockdiagramm aufnehmen. Vermutlich geht das, oder ist es schlecht in einem Blockdiagramm zwei Event-Strukturen (einmal die der Erzeuger-verbraucher-Struktur, und einmal den ErfassungJedenNtenSamplesEvent) zu haben ?

Nun mein Problem, dazu fällt mir nix einfaches, logisches, gutes ein:

Ich möchte gerne mittendrinn, einfach per Button einschalten, die Messdaten in eine Datei laufen lassen, und per Button diese Aufzeichnung wieder ausschalten können. Und so im Laufe des Versuchs 10-20 Dateien aufnehmen um diese später auszuwerten.

Mir ist nicht klar, wie ich diese Analogdaten vom Datentyp Signalverlauf mal in eine Datei mit einem bestimmten Dateinamen umlenke, und mal nicht. Würde ich das mit den TDMS-VIs machen, so müsste ich ja beim Einschalten der Aufzeichnung den File mit Namen xy.dat anlegen und öffnen, dann irgendwie mehrere Events lang die Analogdaten vom Datentyp Signalverlauf reinlaufen lassen, und dann diesen File schliessen. Und da ich mehrere Files aufnehmen will, muss das ganze mehrfach während der Messung gehen.

Mein Problem ist der Punkt, wie ich diese Eventartig entstehenden Daten programmgesteuert in die Datenfiles laufen lassen kann, und das ganze mehrfach vom Benutzer wählbar.

Ich hatte auch schon die Idee, die Daten aus dem Graph zu nehmen: Vor Datenaufzeichnung lösch ich den Graph, dann lass ich die Daten reinlaufen, und beim Ende der Aufzeichung lege ich die messdatendatei an, kopier alles aus dem Graph (oder einem vorgelagerten Array, falls es das für den Datentyp Signalverlaufsdaten gibt) in die Datei rein und mach dann den File zu. Das wäre dann nur eine 3stufige Sequenz.

Oder gibt es für dieses Problem einen besseren Weg ?

Werner

Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2010, 12:50
Beitrag #2

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Analogmessung auf einem Kanal im Hintergrund
' schrieb:Das würde ich gemäß dem Beispiel Acq&Graph Voltage-Int Clk-EveryN&DoneEvent.vi eventgesteuert realisieren, und einfach zusätzlich zur Erzeuger-Verbraucher-Struktur als parallelen Zweig in mein Blockdiagramm aufnehmen. Vermutlich geht das, oder ist es schlecht in einem Blockdiagramm zwei Event-Strukturen (einmal die der Erzeuger-verbraucher-Struktur, und einmal den ErfassungJedenNtenSamplesEvent) zu haben ?
Ja, das Verwenden von mehr als einer Event-Struktur pro VI muss man unbedingt vermeiden!

Zitat:Ich möchte gerne mittendrinn, einfach per Button einschalten, die Messdaten in eine Datei laufen lassen, und per Button diese Aufzeichnung wieder ausschalten können. Und so im Laufe des Versuchs 10-20 Dateien aufnehmen um diese später auszuwerten.
Ich mach das so.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2010, 14:59
Beitrag #3

wernerIBN Offline
Datenflussumgeher
**


Beiträge: 124
Registriert seit: Sep 2009

8.6 und 2011
2000
DE

52425
Deutschland
Analogmessung auf einem Kanal im Hintergrund
Zitat:Ja, das Verwenden von mehr als einer Event-Struktur pro VI muss man unbedingt vermeiden!

Woher hast du die Information ? Ich habe eben meine LV6 Onlinehilfe durchsucht, aber nur gefunden, dass man keine 2 Event-Strukturen in einer Schleife verwenden soll.

In meinem TestbeispielLv86_img
Sonstige .vi  bolometer_5.vi (Größe: 65,94 KB / Downloads: 234)
scheint das Verwenden von 2 Eventsrukturen keine Probleme zu machen (winXP).

Zitat:Ich mach das so.
seh ich mir noch an, Danke !

Werner

Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2010, 15:05 (Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2010 15:06 von dimitri84.)
Beitrag #4

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Analogmessung auf einem Kanal im Hintergrund
' schrieb:Woher hast du die Information ? Ich habe eben meine LV6 Onlinehilfe durchsucht, aber nur gefunden, dass man keine 2 Event-Strukturen in einer Schleife verwenden soll.
Die Begründung dafür überlasse ich den Leuten mit dem grünen oder blauen Nicknamen. Stöber mal hier ein bisschen im Forum und du wirst sehen die einhellige Meinung ist, dass mehrere Eventstrukturen pro VI nur Ärger machen.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2010, 16:12
Beitrag #5

wernerIBN Offline
Datenflussumgeher
**


Beiträge: 124
Registriert seit: Sep 2009

8.6 und 2011
2000
DE

52425
Deutschland
Analogmessung auf einem Kanal im Hintergrund
Hi,

Zitat:Die Begründung dafür überlasse ich den Leuten mit dem grünen oder blauen Nicknamen. Stöber mal hier ein bisschen im Forum und du wirst sehen die einhellige Meinung ist, dass mehrere Eventstrukturen pro VI nur Ärger machen.

ich habe in allen Forenbeiträgen nach Eventstruktur und Ereignisstruktur gesucht, und soweit alles mal fix durchgelesen, aber nix zum Thema gefunden. Gerne würde ich von den Leuten mit dem grünen oder blauen Nicknamen dazu was hören, oder kannst du mir einen Forenbeitrag dazu nennen, dass man keine 2 Event-Strukturen in einer Schleife verwenden soll ?

Aber ich glaub dir schon. Dann werde ich mal alles in eine einzige Event-Struktur umändern, dazu im Erzeuger-Verbraucher Event die dynamische Ereignisregistrierung hinzufügen und die DAQ-MX Events dranverkabeln und sehen ob es läuft. Ich machte mir halt etwas Sorgen, dass die anderen Events die Messdaten-DAQ-MX events behindern könnten. Aber vermutlich werden die Events gequeued und gehen nicht verloren falls 2 Events gleichzeitig auftreten ? Darin sah ich den Vorteil der zweiten Eventstruktur nur für DAQ-MX: die hat dann nix anderes zu tun als die Messwerte in den Graphen zu schreiben - so muss nun eine Eventstruktur beides machen, Benutzerinterface und DAQ-MX.

Zitat:Ich mach das so.
Genial ! Ich ersetze den Button Record durch eine lokale Variable, und dann kann ichs genauso benutzen (hoff ich). Ganz toll.

Werner

Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2010, 16:23
Beitrag #6

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Analogmessung auf einem Kanal im Hintergrund
Offiziell ist es auch so, dass in einer While-Loop nur eine Event-Struktur sein soll:
http://zone.ni.com/reference/en-XX/help/37...evntstrctonelp/

Allerdings zeigt die Praxis hier im Forum und auch bei NI (bei Schulungen wird das immer gepredigt), dass es häufig zu Problemen kommen kann ("Verriegelung" von FP-Elementen,...), wenn man mehr als eine Event-Struktur pro VI verwendet. Deshalb sollte pro VI nur eine Event-Struktur verwendet werden.

Gruß Markus

' schrieb:Woher hast du die Information ? Ich habe eben meine LV6 Onlinehilfe durchsucht, aber nur gefunden, dass man keine 2 Event-Strukturen in einer Schleife verwenden soll.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.02.2010, 16:26
Beitrag #7

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Analogmessung auf einem Kanal im Hintergrund
' schrieb:Genial ! Ich ersetze den Button Record durch eine lokale Variable, und dann kann ichs genauso benutzen (hoff ich). Ganz toll.
Für geniale VIs sind ebenfalls die Leute mit den grünen/blauen Nicks zuständig. Hierbei handelt es sich um eine normale State-Machine.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2010, 16:55
Beitrag #8

wernerIBN Offline
Datenflussumgeher
**


Beiträge: 124
Registriert seit: Sep 2009

8.6 und 2011
2000
DE

52425
Deutschland
Analogmessung auf einem Kanal im Hintergrund
Zitat:Für geniale VIs sind ebenfalls die Leute mit den grünen/blauen Nicks zuständig. Hierbei handelt es sich um eine normale State-Machine.
spricht für dich. Jedenfalls ist deine Lösung eine wunderbar einfache und schlüssige Lösung für mein Problem, danke.

Zitat:Allerdings zeigt die Praxis hier im Forum und auch bei NI (bei Schulungen wird das immer gepredigt), dass es häufig zu Problemen kommen kann ("Verriegelung" von FP-Elementen,...), wenn man mehr als eine Event-Struktur pro VI verwendet. Deshalb sollte pro VI nur eine Event-Struktur verwendet werden.

Gruß Markus
Ok, danke für den Feedback. Ich muss allerdings nochmal genau nachhaken: pro VI nur eine Event-Struktur bedeutet vermutlich NICHT, dass du es für tolerierbar hälst, einfach 2 SUB-VIs mit je einer eigenen Eventsruktur zu machen, und die ausserhalb meiner Erzeuger-Verbraucherstruktur mit der dritten Event-Struktur zu platzieren ?

Sorry für die blöde NachfrageHehe, aber ich will nur sichergehen...

Vermutlich ist folgender Sachverhalt das, was du als empfehlenswert hälst: Deshalb sollte pro VI, inklusive weiterer Unter-VIs, nur eine Event-Struktur verwendet werden. richtig ?

Werner

Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2010, 18:09
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Analogmessung auf einem Kanal im Hintergrund
' schrieb:Sorry für die blöde NachfrageHehe, aber ich will nur sichergehen...

Vermutlich ist folgender Sachverhalt das, was du als empfehlenswert hälst: Deshalb sollte pro VI, inklusive weiterer Unter-VIs, nur eine Event-Struktur verwendet werden. richtig ?
Nein, die Empfehlung lautet wirklich pro VI max. 1 Event-Structure. In einem SubVI darf ruhig wieder eine Event-Structure sein, wenn sinnvoll. Beispiel: z.B. ein Dialogfenster.

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
24.02.2010, 08:46
Beitrag #10

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Analogmessung auf einem Kanal im Hintergrund
Wie Jens schon gesagt hat, ist es so, dass ein SubVI auch eine Event-Struktur haben kann.
Wenn dieses SubVI aufgerufen wird, kommt es dem aufrufenden VI nicht in die Quere.
Ich habe öfters mal ein Haupt-VI, welches ein SubVI aufruft, bei dem ich irgendwelche Einstellungen vornehmen möchte, irgendwas an ein Gerät schicken möchte oder wie auch immer. Dabei hat das SubVI auch z.B. auch eine Struktur wie eine "eventgesteuerte State Machine". Wenn das SubVI dann beendet wird, ist wieder die Event-Struktur des HauptVIs "scharf".
Nur wenn Du innerhalb eines VIs (auf die Hierarchieebene bezogen) 2 Eventstrukturen hast kriegst Du u.U. Probleme. Im VI darüber oder darunter kannst Du ruhig wieder eine Eventstruktur verwenden.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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
  Analogmessung und Lichtschranke Herri 4 2.804 09.12.2019 14:48
Letzter Beitrag: MarcoN
  DAQ Kanal erzeugen jodh14 11 6.846 21.03.2018 15:37
Letzter Beitrag: jodh14
Question DAQ - Task und Kanal Synchronisierung pandamir 20 20.694 04.09.2013 18:40
Letzter Beitrag: Spoony
  DAQmx - Kanal 2 Abtastrate abhängig von Kanal 1 DerJohannes 6 6.232 29.08.2013 17:50
Letzter Beitrag: DerJohannes
  Kanal in Task auswählen Sundypha 10 9.426 15.01.2013 11:07
Letzter Beitrag: Sundypha
  Samples pro Kanal und Zeiterfassung Mimo_LV002 6 7.040 15.12.2012 20:02
Letzter Beitrag: GerdW

Gehe zu: