Hi Leute,
ich bin mir nicht ganz sicher, ob es möglich ist: Ich habe ein sehr komplexes LabVIEW-Programm übernommen, indem via Cluster und Case - Bundling diverse unterschiedliche AI Aufgaben in einem Task vereint werden. Ist das überhaupt möglich?
In meinem Fall werden Stromeingänge (über NI 9203) und Spannungseingänge (über NI 9215), die in einem cDAQ-9178 in stecken zusammen auf einen Task gelegt.
Ich bin in den VI's noch am Suchen, wo die richtige Stelle ist, an der mein Error -200220 erzeugt wird, wäre aber dankbar wenn ihr erstmal meine bisherige Fragen beantworten könntet. Gegebenenfalls muss ich mein entsprechendes VI dann später mal hochladen.
Wenn ich die NI Webseite richtig verstehe, liegt der Error daran, dass ich die Beschriftung der physikalischen Kanäle von "cDAQ1/ai0:10" z. B. auf "Dev1/ai0:10" ändern muss. (Quelle:
http://digital.ni.com/public.nsf/allkb/3...720055D0E4 )
Schöne Grüße,
Selectah
Hallo selectah,
Zitat:Ich habe ein sehr komplexes LabVIEW-Programm übernommen, indem via Cluster und Case - Bundling diverse unterschiedliche AI Aufgaben in einem Task vereint werden. Ist das überhaupt möglich?
So wie du es beschreibst, stelle ich mir das schwierig vor ("Case-Bundling"???). Wenn man einfache Strings verwendet, ist es (meist) kein Problem...
Zitat:In meinem Fall werden Stromeingänge (über NI 9203) und Spannungseingänge (über NI 9215), die in einem cDAQ-9178 in stecken zusammen auf einen Task gelegt.
Hier willst du aber Kanäle auf 2 verschiedenen Devices in einen Task legen. Dies dürfte problematisch sein. Welche Namen haben den deine Geräte/Module in MAX? Kannst du mal einen Screenshot von MAX anhängen?
Zitat:Wenn ich die NI Webseite richtig verstehe, liegt der Error daran, dass ich die Beschriftung der physikalischen Kanäle von "cDAQ1/ai0:10" z. B. auf "Dev1/ai0:10" ändern muss.
Dies bezieht sich aber auf ein physikalisches Gerät - das funktioniert leicht. Deine Module dürften aber als getrennte Geräte zählen - siehe meine Fragen nach dem MAX-Screenshot...
Hallo Gerd.
Ja, es wurde weitgehend mit Strings gearbeitet. Das ist richtig. Die globale Variable wurde hier bestückt:
[
attachment=42899]
und hier ausgelesen (was ich mit Case-Bundling beschrieben habe. Sorry für die umständliche Formulierung):
[
attachment=42900]
Hier nochmal mein MAX:
[
attachment=42898]
Momentan arbeite ich mit einem virtuellen Gerät, da ich die ersten Probleme von zuhause aus löse. Später wird das dann durch Hardware ersetzt.
Danke für deine schnelle Antwort.
Angeblich hat das Programm auch mal einwandfrei funktioniert. Das aber wohl unter einer älteren LabVIEW Version.
Sorry... ich korrigier mich nochmal:
hier wird die globale Variable bestückt. Auf dem anderen Screen wird sie lediglich ausgelesen.
[
attachment=42901]
Also soweit ich das jetzt noch weiter rausgefunden habe sollte es kein Problem sein, mehrere AI in einem Task zu vereinen. Dabei ist unrelevant ob es sich um ein Modul oder mehrere handelt, die in einem Task ausgelesen werden solange sie "Analog Inputs" sind.
Es sollte also somit auch problemlos möglich sein, Analoge Stromeingänge und Analoge Spannungseingänge zusammen auszulesen. Über den Task werden sie dann einfach gesammelt in z.B. einem Array zur Verfügung gestellt, dass die selbe Größe (also N-1, da Index 0 erstes Element) wie physikalische Kanäle haben muss.
Hallo Selectah,
Wissen:
9178 ist ein Device --> Für dieses Device gibt es die Tasks:
Analog-In, Analog-out, Digital-in, Digital-out, Counter-In, Counter-Out.
Lassen wir mal die Counter-Tasks außen vor. (Keine Erfahrung)
Für Analog-In, Analog-out, Digital-in, Digital-out müssen alle Kanäle in die jeweilige Task zusammengefasst werden.
Raten:
Auffällig bei dem MAX-Screenshot ist die Abweichung cDAQ1 beim Carrier Namen und cDAQ2Mod1/2/3/7/8 bei den Modulen.
Gruß
Ralf
Error -200220 ist gefunden!
Wie man in dem Photo sieht: [
attachment=42907]
habe ich vorher einen realen Device gehabt, und diesen gelöscht um den virtuellen Device an Stelle 1 rücken zu lassen. Dafür habe ich das cDAQ2 umbenannt zu cDAQ1. Allerdings habe ich die eingesteckten NI Module nicht umbenannt. Sie hießen also immer noch cDAQ
2ModX (X steht für die Modulnummer). Das führte zu der Fehlermeldung. Ich habe sie also alle zu cDAQ
1ModX umbenannt. Somit war die Fehlermeldung beseitigt.