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 

Dieses Thema hat akzeptierte Lösungen:

Task auch während laufender Anwendung ändern?



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!

17.01.2018, 10:18
Beitrag #1

erzengelsamael Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: Aug 2012

12.0f3
2012
DE


Deutschland
Task auch während laufender Anwendung ändern?
Hallo Leute,

Ich möchte eine Universal Messdatenerfassungs Anwendung für meine Arbeitsstelle erstellen.

Diese soll Automatisch Ausgeführt werden.

In der Automatischen Ausführung, soll ein Task (der im NI-MAX erstellt wurde) manuell ausgewählt werden.
Und erst wenn ich den Task Starte über den DAQmx, soll die Messdatenerfassung starten.

Stoppe ich den DAQmx Task, soll es auch möglich sein, einen anderen Task auszuwählen und dann eine neue Messdatenerfassung zu starten,
ohne das die Anwendung neu gestartet werden muss.
Das heißt, die Hardware muss auch wieder frei gegeben werden.

Ich möchte in der Anwendung, Menü und Symbolleiste ausblenden.

Normalerweise muss man ja den Task vor der While-Schleife definieren.
Was dann aber kollidiert mit der Änderung des Task, während der Automatischen Ausführung.

Jeder Task aus NI-MAX kann unterschiedliche Geräte, Kanäle, Skalierungen usw besitzen.

Ich will mir selber die Arbeit damit erleichtern, und nicht für jede neue Prüfung eine neue Anwendung programmieren.

Als kleine Info, wir besitzen nur USB-6008, USB-6211 und cDaq-9184 mit unterschiedlichen Modulen.

Ich hoffe, ich konnte das einigermaßen gut erklären und mir kann jemand helfen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.01.2018, 11:02
Beitrag #2

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Task auch während laufender Anwendung ändern?
Hallo erzengelsamuel,

Zitat:Ich möchte in der Anwendung, Menü und Symbolleiste ausblenden.
Das kann man in VI Eigenschaften -> Fenstererscheinungsbild einstellen.

Ich würde Dir die Queue Verarbeitung empfehlen. Da kannst Du in den einzelnen While Schleifen alles unabhängig voneinander programmieren.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 11:04
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Task auch während laufender Anwendung ändern?

Akzeptierte Lösung

Hallo samael,

Zitat:Normalerweise muss man ja den Task vor der While-Schleife definieren. Was dann aber kollidiert mit der Änderung des Task, während der Automatischen Ausführung.
Da kommt das Konzept "Statemachine" wieder ins Spiel: du brauchst 3 States "DAQmx init", "DAQmx messen", "DAQmx freigeben"…

Zitat:Jeder Task aus NI-MAX kann unterschiedliche Geräte, Kanäle, Skalierungen usw besitzen.
Ich will mir selber die Arbeit damit erleichtern, und nicht für jede neue Prüfung eine neue Anwendung programmieren.
Als kleine Info, wir besitzen nur USB-6008, USB-6211 und cDaq-9184 mit unterschiedlichen Modulen.
Und da fangen evtl. die Probleme an:
Was machst du, wenn du hinterher verschiedene Modi für DAQmxRead/Write benutzen musst (z.B. AI, AO, Counter, DIO, Bridges, etc.)?
Die sind nicht notwendigerweise "kompatibel" zueinander…
Was machst du, wenn eine Hardware "hardware-timing" beim Sampling erlaubt, eine andere (wie z.B. die einfache USB6008) nicht?

- Ein anderer Ansatz könnte OOP sein: für jedes Gerät/Modul eine eigene Klasse, die alle von einer Elternklasse erben…
- Oder ohne OOP, aber mit einer eigenen Schleife pro verfügbarem Device: so habe ich das an unseren Prüfständen umgesetzt. Über eine Config-Datei kann dann der User definieren, welcher Messkanal auf welchem Gerät gemessen werden soll…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 16:26 (Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2018 16:27 von erzengelsamael.)
Beitrag #4

erzengelsamael Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: Aug 2012

12.0f3
2012
DE


Deutschland
RE: Task auch während laufender Anwendung ändern?
Danke erst einmal für die Antworten.

wie die Leisten ausgeblendet werden, weis ich.

AO, Counter, DIO, Bridges, etc. ist egal, geht nur über AI wo die Kanäle, Skalierung, Sample Rate und Hz aus dem NI-MAX Task genommen werden sollen.
Die Aufzeichnung der Daten regel ich intern, wie viel in Datei geschrieben werden soll.
Für eine Abschaltung nutze ich maximal 1 DigitalOut den ich, wenn benötigt, direkt über den Hardware-Kanal anspreche, wenn verfügbar.

Ich versuche das mal genauer zu erklären.

Ich starte die exe, die auch sofort automatisch ausgeführt wird.
Danach Task über DAQ I/O Element auswählen und dann mit Booleschen Objekt, die Erfassung starten.
Stoppe ich die Aufzeichnung, über das selbe Boolesche Objekt, kann ich einen neuen Task auswählen und gleich Starten.

Normalerweise, Start der exe, task auswählen und dann über die leiste auf ausführen.

Hoffe das Hilft mehr, für eine genauere Erklärung.

Für Screenshots, VI bsp, links wäre ich sehr dankbar.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 17:47
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Task auch während laufender Anwendung ändern?
Hallo samael,

Zitat:Ich starte die exe, die auch sofort automatisch ausgeführt wird.
Danach Task über DAQ I/O Element auswählen und dann mit Booleschen Objekt, die Erfassung starten.
Stoppe ich die Aufzeichnung, über das selbe Boolesche Objekt, kann ich einen neuen Task auswählen und gleich Starten.
Wo ist jetzt das Problem?
Mit der oben empfohlenen Statemachine benötigst du nur genau 3 States…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 20:53
Beitrag #6

erzengelsamael Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: Aug 2012

12.0f3
2012
DE


Deutschland
RE: Task auch während laufender Anwendung ändern?
(17.01.2018 17:47 )GerdW schrieb:  Hallo samael,

Zitat:Ich starte die exe, die auch sofort automatisch ausgeführt wird.
Danach Task über DAQ I/O Element auswählen und dann mit Booleschen Objekt, die Erfassung starten.
Stoppe ich die Aufzeichnung, über das selbe Boolesche Objekt, kann ich einen neuen Task auswählen und gleich Starten.
Wo ist jetzt das Problem?
Mit der oben empfohlenen Statemachine benötigst du nur genau 3 States…

Sorry, überlesen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.01.2018, 18:22
Beitrag #7

erzengelsamael Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: Aug 2012

12.0f3
2012
DE


Deutschland
RE: Task auch während laufender Anwendung ändern?
Danke noch einmal für die Hilfe.

Die Statemachine funktioniert wunderbar.

Ich werde morgen mal die VI anhängen, damit alle was von haben. Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2018, 20:24
Beitrag #8

erzengelsamael Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: Aug 2012

12.0f3
2012
DE


Deutschland
RE: Task auch während laufender Anwendung ändern?
So, hab mal die Funktionierende DAQmx AI State Machine, angehangen.

noch verbesserungswürdig. aber funktioniert im Grunde.


12.0 .vi  DAQmx AI State Machine.vi (Größe: 34,75 KB / Downloads: 268)
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
  Analogausgang kontinuierlich schreiben, während der Moes 7 9.017 18.12.2015 09:09
Letzter Beitrag: Moes
  Falsche werte im Array/ Anzahl auch falsch Meister Eder 2 4.342 17.01.2014 21:37
Letzter Beitrag: Meister Eder
  Timeout von Anwendung! erzengelsamael 3 4.266 16.01.2014 11:05
Letzter Beitrag: erzengelsamael
  Channels zu einem Task anzeigen/ändern daxel 14 12.121 16.08.2013 06:57
Letzter Beitrag: daxel
  Ändern von Sample/Rate bei cDAQ-9172 Task ugarcia 9 8.619 09.01.2013 21:53
Letzter Beitrag: rasta
  Messen während der Verarbeitung Eglito 3 4.202 25.04.2012 08:46
Letzter Beitrag: jg

Gehe zu: