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:

Kanal in Task auswählen



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!

14.01.2013, 18:55
Beitrag #1

Sundypha Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Aug 2012

2012
2012
DE

8750
Schweiz
Kanal in Task auswählen
Guten Abend allerseits.

Ich habe eine Frage:
Ist es möglich aus einem Task ein Kanal auszuwählen um den Kanal dann in einer FGV zu verwenden?

Die Idee ist, dass ich einen Task erstelle und dann z.B. bei einer Heizungs-FGV oder Klasse die Kanäle gebe, die die FGV/Klasse benutzen darf zum einlesen/ausgeben ihrer Daten.

Ich hab z.B. das Problem, dass ich im Moment in einer FGV die alten digitalen Ausgaben (alle Kanäle als Cluster) speichere und dann bei einer neuen Ausgabe, die alten abrufe und dann mit "Bundle by Name" die einzelnen Werte setze die ich möchte und dann wieder komplett alle Kanäle ausgebe.
Ist es irgendwie möglich wie bei einem Microchip die einzelnen Werte auf bestimmte Pins zu setzen?

mit freundlichen Grüssen

Sundypha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.01.2013, 09:12
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanal in Task auswählen
Hallo Sundypha,

- Warum packst du erst mehrere Kanäle in einen Task, wenn du sie einzeln benutzen möchtest?
- Warum bündelst du nicht die Ein-/Ausgabe-Operationen dieses Task an einer Stelle, statt sie auf verschiedene Instanzen zu verteilen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2013, 10:12 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2013 10:15 von Sundypha.)
Beitrag #3

Sundypha Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Aug 2012

2012
2012
DE

8750
Schweiz
RE: Kanal in Task auswählen
Ich habe hier Geräte von NI, die 6 bis 7 Tasks haben können. Also Bündle ich alle AI in ein AI-Task, AO in AO-Task, DI in DI-Task, DO in DO-Task und dann z.B. 3 Counter Task und dann sind alle Tasks hin. Ich habe meist mehr Geräte als Tasks.

nun möchte ich gerne die angesteurten Geräte abstrahieren um z.B. bei einem Testversuch in dem ich dann plötzlich 2 Heizungen benötige, nur eine neue Instanz der Klasse machen müsste und der Instanz dann die Kanäle und die Tasks geben kann über die die Instanz handeln kann.

oder gibt es da andere Frameworks, die ich für DAQmx verwenden kann?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2013, 10:19 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2013 10:19 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanal in Task auswählen
Hallo Sundypha,

ich würde nicht erst Tasks anlegen, um diese dann später aufwändig zu zerpflücken...

Ich persönlich bevorzuge eine andere Herangehensweise:
- Task anlegen, in eigenen VIs Daten vom Task lesen und in eine FGV packen
- Andere VIs (hier: deine zwei Heizungs-Steuerungen) holen sich die Werte, die sie brauchen, aus der FGV
- gleiche Herangehensweise bei AO/DO-Tasks: diese lesen die zu setzenden Werte aus einer FGV, die von anderen VIs befüllt wird.
Prima Trennung von Daten und Tasks, alle können Daten aus FGVs lesen, alle können Daten in FGVs schreiben, FGV hält Daten konsistent, weitere Funktionalitäten in der FGV, und viele weitere Vorteile...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2013, 10:27 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2013 10:31 von Sundypha.)
Beitrag #5

Sundypha Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Aug 2012

2012
2012
DE

8750
Schweiz
RE: Kanal in Task auswählen
Genau so mache ich dies bereits. Das Problem das ich dann immer habe, ist, dass ich dann bei einer Änderung der Kanäle im Task, das jeweilige FGV abändern muss, und dann bei z.B. der Heizung überprüfen, ob die Datenherkunft noch stimmt.

Ich möchte ein Framework aufbauen, um bei verschiedenen Projekten einfach auf neue IO's reagieren kann.

Edit: Wie kann man die Labview Version bei einem Upload anhängen?


Angehängte Datei(en)
0.0 .zip  AnalogAusgangsCluster.zip (Größe: 16,46 KB / Downloads: 269)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2013, 10:32
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanal in Task auswählen
Hallo Sundypha,

entweder man legt die Tasks nur mit den benötigten Kanälen an (sowas kann man dynamisch erledigen!) oder man nutzt alle zur Verfügung stehenden Kanäle und liest aus der FGV nur die, die einen interessieren (kann man auch dynamisch erledigen). ("Dynamisch" heisst "zur Laufzeit")

Wo ist das Problem?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.01.2013, 10:43
Beitrag #7

Sundypha Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Aug 2012

2012
2012
DE

8750
Schweiz
RE: Kanal in Task auswählen
Das Problem ist, dass ich die Werte "schön" über ein "Unbundle by Name" auslesen können möchte (damit der Code besser verständlich ist).
D.h. bei einer Änderung im Kanal, muss ich das Cluster im FGV auch abändern. Nun weiss ich nicht, wie LabView die Referenz hält. Ich meine damit, dass wenn ich ein Control im Cluster lösche, dass die restlichen "Referenzen" beim "Unbundle By Name" noch stimmen.

Gibt es ein Property oder eine Referenz von so einem Clustercontrol, damit ich in einer Klasse z.B. diese mitgeben kann, worüber diese dann die Werte aus der FGV mit bestimmten Clstercontrol auslesen kann?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2013, 10:53
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanal in Task auswählen
Hallo Sundypha,

meine FGVs arbeiten mit dem Namen des Kanals, wie er in einer (Excel-)Konfigurationsdatei vergeben wird.

Man kann solche Dinge mit LookupTables oder mit Variant-Attributen erledigen. Mit Referenzen auf Cluster in irgendwelchen Speicher-VIs würde ich gar nicht erst anfangen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2013, 10:57 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2013 10:58 von Sundypha.)
Beitrag #9

Sundypha Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Aug 2012

2012
2012
DE

8750
Schweiz
RE: Kanal in Task auswählen
Also du machst es so, dass ich der Klasseninstanz den Namen des Kanals übergebe, und dann im FGV nach dem Namen suche und entsprechend den Wert ausgebe?

Das würde ich im Textbasierten Programmieren mit einer MAP machen. Wie geht das in LabView?

Oder nein, du suchst nach dem Namen im Array von Signalverläufen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2013, 11:03
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanal in Task auswählen

Akzeptierte Lösung

Hallo Sundypha,

"MAP" soll wohl das gleiche bedeuten wie "LookupTable"?

Such mal auf Google nach "LabVIEW red-black-tree", da bekommst du gute Erläuterungen, wie man LookupTables bequem mit Variant-Attributen ersetzen kann.

VIs kann ich hierzu nicht anbieten, das ist alles Firmen-"Eigentum"!

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
  DAQ Kanal erzeugen jodh14 11 8.737 21.03.2018 15:37
Letzter Beitrag: jodh14
  Task, Kanal und Physikalische Namen Nordvestlys 1 6.429 11.02.2015 15:50
Letzter Beitrag: Nordvestlys
  Pro Kanal einen Task moeglich ? cDAQ 9171 mit NI 9237 Wurzelsepp 6 6.658 11.03.2014 16:38
Letzter Beitrag: Wurzelsepp
Question DAQ - Task und Kanal Synchronisierung pandamir 20 23.531 04.09.2013 18:40
Letzter Beitrag: Spoony
  DAQmx - Kanal 2 Abtastrate abhängig von Kanal 1 DerJohannes 6 7.103 29.08.2013 17:50
Letzter Beitrag: DerJohannes
  Samples pro Kanal und Zeiterfassung Mimo_LV002 6 8.056 15.12.2012 20:02
Letzter Beitrag: GerdW

Gehe zu: