LabVIEWForum.de
LabView-Abbruch - ULx Create Channel - The value must refer to a valid task - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: Hardware (/Forum-Hardware)
+---- Forum: 3rd Party Hardware (/Forum-3rd-Party-Hardware)
+----- Forum: Meilhaus (/Forum-Meilhaus)
+----- Thema: LabView-Abbruch - ULx Create Channel - The value must refer to a valid task (/Thread-LabView-Abbruch-ULx-Create-Channel-The-value-must-refer-to-a-valid-task)



LabView-Abbruch - ULx Create Channel - The value must refer to a valid task - rgbg2011 - 17.06.2011 03:05

Hallo zusammen,

im Rahmen meiner Diplomarbeit an der Universität in Regensburg habe ich ein LabView-Programm -Version 8.5.1- erstellt, welches das Netzteil für einen Magneten steuert (per USB – DAC 4 * 16Bit RedLab 3103), eine Hall-Sonde abfragt (zur Messung des Magnetfeldes, per GPIB, F.W. Bell 9500 Gaussmeter) und per eingebauter ADC-Karte den Wert eines Lock-In Verstärkers ausliest.
Das Magnetfeld wird hier zum Testen einfach annähernd linear durchgefahren indem die Steuerspannung bei jedem Durchlauf einer while-schleife um einen bestimmten Wert erhöht wird. Am Anfang des Programms wird das Array erstellt, welches die Messwerte aufnehmen soll (CMeasurement::Init). Anhand des gemessenen Feldwertes wird der Index bestimmt, den der Lock-In-Messwert im Array einnehmen wird. Dieser Messwert wird mit dem bereits im Array vorhandenen Messwert verrechnet (gemittelt, CMeasurement::AddPoint).
Das Programm ist relativ einfach geschrieben und noch nicht poliert.

Zu meinem eigentlichen Problem:
[attachment=34292]
nach längerer Messung (ca. 4-5h) erscheint irgendwann plötzlich die Fehlermeldung "LabView 8.5.1 Development System has encountered a problem and needs to close." Diesen Fehler hatte ich nun bei drei Versuchen hintereinander. Kürzere Messungen funktionierten bisher problemlos. Mein Programm sollte von der Performance (z.B. Speicherbedarf) her völlig unabhängig von der Länge der Laufzeit sein und ich verstehe daher nicht ganz warum es abstürzt.

Könnte der Fehler (Magnet-Varian.vi) "ULx Create Channel (AO-Voltage-Basic).vi:1<ERR>Measurements: Value passed to the Task I/O In control is an empty I/O task. The value must refer to a valid task" die Ursache dafür sein oder ist dies eine Folge eines anderen Fehlers? Hat jemand Anregungen wie ich bei der Fehlersuche weiter vorgehen könnte?

Das Programm könnt ihr euch hier ansehen (dort dann Test.lvproj -> FMR Program V2.vi). Oder im Anhang.

Würde mich sehr freuen, wenn mir hier jemand helfen könnte. Debugging Anregungen (oder Hinweise wie ich den Fehler abfangen kann ohne dass Labview abschmiert) nehme ich dankend an.

Viele Grüße
-Christoph

[attachment=34291]

EDIT jg: Externer Bildlink gelöscht, externe Verlinkung gelöscht, Thema verschoben.


RE: LabView-Abbruch - ULx Create Channel - The value must refer to a valid task - Lucki - 17.06.2011 07:40

Es werden hier nicht Viele sein, die die Meilhaus-DAQ-VIs installiert haben und als Helfer in Frage kommen. Auf alle Fälle würde ich mich parallel dazu mit der Frage auch an Meilhaus selbst wenden.
Ich entsinne mich: Meilhaus gehörte mal zu den Sponsoren dieses Forums. Warum ist das jetzt nicht mehr? Hat Dennis die vergrault, mit nicht erfüllbaren Wünschen Blush?


RE: LabView-Abbruch - ULx Create Channel - The value must refer to a valid task - NWOmason - 17.06.2011 12:37

(17.06.2011 03:05 )rgbg2011 schrieb:  Mein Programm sollte von der Performance (z.B. Speicherbedarf) her völlig unabhängig von der Länge der Laufzeit sein und ich verstehe daher nicht ganz warum es abstürzt.

Hallo,
ich habe mir mal eben dein VI angesehen und ich bin mir nicht so ganz sicher, wie du sicherstellst, dass dir dein Speicher nicht volläuft. In deiner Hauptschleife wird permanent ein Array aufgebaut, in dem bei jedem Schliefendurchlaufe ein neuer Wert an das Array angehängt wird. Also wäre ich mir an dieser Stelle nicht so sicher Wink

(17.06.2011 03:05 )rgbg2011 schrieb:  Würde mich sehr freuen, wenn mir hier jemand helfen könnte. Debugging Anregungen (oder Hinweise wie ich den Fehler abfangen kann ohne dass Labview abschmiert) nehme ich dankend an.

Da, wie du bereits beschreiben hast, das Programm einige Zeit läuft, bis der Fehler auftritt, kommen die konventionellen Methoden (Highlight-Modus, Probe, Breakpoint..) wohl nicht in Frage. Ob der erkannte Fehler zum Absturz führt, kann ich nicht beurteilen, da ich die MeilhausVis nicht habe. Man sollte aber generell ein Errorhandling integrieren, welches entscheidet, ob das Programm weiterlaufen darf, oder ob es beendet werden muss. Da deine Messung mehrer Stunden läuft, wäre auch eine Art Logger denkbar, in dem du beim Fehlerfall die Fehlernummer wegschreibst.

Viel mehr kann ich jetzt gerade nicht beitragen, da ich vor allen auch mit Klassen in LV noch nicht arbeiten konnte.

Beste Grüße,
NWO