LabVIEWForum.de - Rechtecksignal stockt bei Messung mit DMM

LabVIEWForum.de

Normale Version: Rechtecksignal stockt bei Messung mit DMM
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe bei meinem Programm ein Problem bei dem ich keine Lösung mehr finde:

Es handelt sich hierbei um eine Steuer- und Messaufgabe, in der Digitale Signale über ein USB-6008 angesteuert werden und Digital Mutlimeter Agilent U2741A über ein VISA Protokoll.

Soweit so gut. Lief bisher alles super (auf jedenfall für den Anwender).

Nun habe ich als Laufzeitüberwachung der Anwendung ein Watchdog-Relais eingebaut, welches über ein kontinuierliches Signal des NI USB-6008 am laufen gehalten wird. Das Signal wird in einem Parallel laufenden VI ausgeführt.

Leider steigt das Watchdog-Relais aus, wenn eine Messung der DMM durchgeführt wird (das Rechtecksignal fällt aus).
Bei Beobachtung des CPU-Verlaufs ist mir an besagter Stelle nichts besonderes aufgefallen (Auslastung kontinuierlich auf 20%).

Ich habe versucht das Problem mit Prioritäten bzw. unterschiedlichen Laufzeiten zu lösen, bin so aber nicht auf die Lösung gekommen.

Habt ihr noch eine Idee, wie das Problem zu lösen sein könnte?

LG

Dominik
Lad' mal Deine VIs hoch.

Gruß Markus
Das ist nicht ganz so einfach, da sich die betroffenen Vis in einem großen Projekt befinden. Ich lade mal die betroffenen Vi´s hoch. Hoffe ihr könnt damit ansatzweise was anfangen.
Hallo Dom,

ist schon schwierig mit den ganzen fehlenden subVIs...

- Wozu die Wartezeit in der TimedWhileLoop im Watchdog-VI? Die WhileLoop ist doch schon "getimed", wie der Name sagt...
- Leider sieht man nicht, wo dieses Watchdog.vi aufgerufen wird, man kann also nicht sehen, ob es dort Abhängigkeiten gibt...
- Leider ist das eigentliche NI-USB-6008-DO.vi nicht enthalten, man kann also nicht sehen, ob es dort Abhängigkeiten gibt...
- Kaum einer hier wird diese Agilent-ActiveX-Komponenten installiert haben, man kann also nicht sagen, ob es dort Abhängigkeiten gibt...
- Wozu FOR-Schleifen, die nur genau einmal durchlaufen werden?

Generell:
Verwende mehr ErrorCluster und weniger Sequenzen...

Idee:
Wirklich nur eine Idee: Du verwendest einen SingleCore-Rechner und die ActiveX-Aufrufe legen den Thread mit der TWL lahm...
Hi Gerd,

danke erstmal für die Antwort. Also das Watchdog (subvi) wird beim Start des Main-Programms über ein Proberty-Node "Vi starten" aufgerufen und läuft Parallel. Die Anwendung läuft auf einem Dual-Core Rechner. Aber da der Watchdog immer hängt wenn das Agilent aufgerufen wird, halte ich deine Vermutung aufjedenfall einen Versuch wret. aber hast du ne Ahnung wie ich da vorgehen kann?

Ps. die For-schleifen haben natürlich keinen Sinn Wink

Ist mein erstes Projekt, mit dem ich mich glaube ich von dem Umfang her ein bisschen verhoben habe Smile
LG Dom
Referenz-URLs