LabVIEWForum.de - [split] Eigenschaftsknoten / DAQmx Kanäle skalieren

LabVIEWForum.de

Normale Version: [split] Eigenschaftsknoten / DAQmx Kanäle skalieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo scheichkind,

Zitat:OK, dann habe ich m.W. 2 Möglichkeiten: Entweder ich reserviere die entsprechenden Kanäle im NI-MAX und definiere dort einen Task oder ich mache das im Programm. Woher bekomme ich im Programm die passenden Gerätenamen auf verschiedenen Systemen, wenn ich sie nicht im Programm zur Auswahl anbiete?
Ich habe das so gelöst, dass ich in MAX genau definierte Gerätenamen vergeben habe: die AI-Kanäle 0-127 liegen zu je 32 Kanälen auf 4 Slots verteilt mit dem Namen S0-S3…
Der Kanalname selbst ist in DAQmx dann immer "ai*", sodass der vollständige Kanalnamen dann z.B. "S0/ai10" oder "S3/ai120" lautet.

Zitat:Klar, ich kann die Namen der vorhandenen Geräte auch abfragen, aber woher weiß ich, welches das "richtige" ist?
Da hast du mehrere Möglichkeiten:
- du vergibst eineindeutige Gerätenamen (s.o.)
- du liest die Gerätetypen per DAQmx-Propertynodes (oder Systemverwaltung) aus und ordnest darüber deine AI-Kanäle zu
- du liest (zusätzlich zum Gerätetyp) die Seriennummern der verbundenen DAQmx-Geräte aus und ordnest deine AI-Kanäle darüber zu. (Sowas mache ich bei mehreren USB6008-Boxen: die sind in kleinen DAQ-Kistchen verbaut und über die Seriennummer kann ich die passenden Kanäle zur zugehörigen Signalaufbereitung der Hardware zuordnen.)
Hallo Dirk,

das Problem ist aus meiner Sicht, dass du mit einem im MAX definierten Task anfängst. Ein Task ist aber so viel mehr als eine Kanaldefitinition.

Aus der LabVIEW-Hilfe:

Code:
[b]DAQmx Task Name [/b]
Owning Palette: DAQmx - Data Acquisition VIs and Functions
Installed With: NI-DAQmx
Lists all tasks you create and save by using the DAQ Assistant. You cannot use this constant to select multiple tasks. Right-click the constant, and select I/O Name Filtering from the shortcut menu to limit the tasks that the constant displays and to limit what you can enter in the constant.

If you right-click this constant and create a Property Node, [color=#FF0000][b]the Property Node is for the constant itself and is not a DAQmx Task Property Node.[/b][/color]

[b]Creating and Editing Tasks[/b]
You can launch the DAQ Assistant from a DAQmx task name constant to create a new task or to edit a saved task.

[b]Generating Code[/b]
You can use a DAQmx task name constant to generate code for tasks.

[b]Converting to an Express VI[/b]
You can convert a DAQmx task name constant to a DAQ Assistant Express VI.

Ich interpretiere das so, dass im vordefinierten DAQmx Task schon so viel steckt, dass du mit den normalen PropertyNodes nur noch bedingt bis gar nicht weiterkommst, was du gerade auch feststellst.

Ein möglicher Kompromiss zwischen dem Vorschlag von Gerd und deinem bisherigen Ansatz wären noch globale DAQmx Kanäle im MAX. Selbst wenn du diese dort inkl. Skalierung anlegst, hier kommst du per Eigenschaftsknoten weiter:
[attachment=61919]

Gruß, Jens
Vielen Dank Euch beiden, das hilft mir schon mal sehr weiter! Guru1

Ich werde es jetzt mal mit der ersten von Gerd vorgeschlagenen Varianten versuchen (Slots benennen und dann mit <Slotname>/ai* auf die Kanäle zugreifen). Das erscheint mir recht simpel und geht im Grunde in die gleiche Richtung dessen, was ich ursprünglich geplant hatte. So kann ich dann auch die Grundeinstellungen im NI MAX festlegen und so sicherstellen, dass es im Programm läuft.
Hallo scheichkind,

hier nochmal ein (älteres) Bild der Konfiguration eines (älteren) Prüfstandsrechners:
[attachment=61920]
Die SCXI-Box 1 enthält die AI-Karten ("Slots"), die SCXI-Box 2 die Ausgabekanäle (AO, DO).

Die Benennung der Komponenten ist über alle Prüfstände konsistent: selbst wenn ein neuerer Prüfstand eine andere AO-/DO-Karte verwendet, kann ich die aber trotzdem SC2AO1/R1 nennen…
Danke nochmals, habe es jetzt genau so gemacht (über die eindeutigen Gerätenamen) und es funktioniert prima! Thanx
Seiten: 1 2
Referenz-URLs