LabVIEWForum.de - Signalquelle und DAQ

LabVIEWForum.de

Normale Version: Signalquelle und DAQ
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hi Leute,
hab ein seltsames Problem mit einem kleinen Test-Prog und hoffe, dass mir einer von euch weiterhelfen kann:

Muss ein Magnetventil ansteuern, was ich über nen einzelnen Pin am Digitalen Ausgang des DAQs machen will (also eigentlich angesteuert wird ein Transistor, daher reicht 1/0 als Ausgangswert). Im Prog (8.5) nutze ich dazu das Signal-erzeugen-VI und mach mir ein Rechtecksignal . Über das Signal-mit-Skalar-Vergleichen bekomme ich einen booleschen Wert, der immer beim Highpegel des Rechtecks auf 1 wechselt. Diesen 1/0-Wechsel nutze ich für eine Case-Unterscheidung, die dann den Ausgang des DAQ auf 1 oder auf 0 setzt. Ich hoffe das kapiert man so etwa. Auf jeden Fall funktioniert das Prog soweit und steuert den Transistor an. Wenn ich aber zusätzlich ein DAQ-Daten-erfassen-VI mit in das Programm aufnehmen will, macht der Rechteckgenerator nix mehr und damit verbunden der Rest auch nicht!
Kann mir da einer sagen warum bzw. was ich ändern könnte, damit ich gleichzeitig Werte mit der Signalquelle erzeugen und mit dem DAQ ausgeben und einlesen kann???

Thxxx
Hallo, herzlich Willkommen im LVF!

Normalerweise geht das schon. Könntest du bitte dein VI oder einen Screenshot davon anhängen?
Ich denke, es ist für alle dann einfacher, den Fehler zu finden.
So, nachdem meine Netzwerkkarte abgeraucht ist bin ich endlich wieder online.
Daher wird mein Problem mit dem DAQ aber sicher nicht kommen, deshalb mal das Prog im Anhang zum anschauen. Vielleicht klappts ja bei einem von euch...

Lv85_img
Ganz zu schweigen davon, dass mir in diesem "VI" zu viele Express-VIs und DAQ-Assis sind, habe ich drei Rückfragen:
1. Verrate uns auch deine DAQ-Hardware.
2. Läuft dieses VI jetzt bei dir? Sollte auf den ersten Blick.
3. Läuft es nicht mehr, wenn du einen weiteren DAQ-Assi für AI hinzufügst?

Gruß, Jens
Sorry, die Hardwarebezeichnung hab ich ganz vergessen: Ist ein NI USB-6008.
Das VI läuft leider immer noch nicht. Wenn ich den linken DAQ (analog einlesen) rausnehme, geht es. Wenn ich den wieder ins Programm reinnehme klappt es nicht mehr !?!

Was spricht denn gegen die Verwendung der Express-VIs ?
Und DAQ-Assis brauch ich ja irgendwie 2, weil ich ja nicht mit einem gleichzeitig einlesen und Werte rausgeben kann (oder doch?).

Gruß
Chris
' schrieb:Was spricht denn gegen die Verwendung der Express-VIs ?
Siehe hier + Folgebeitrag von Jens inkl. dem eingefügten Link.
Du meinst, das hier geht, wie du dir denkst?
[attachment=28126]
Und mit dem zweiten Assi nicht mehr?

Dann schau dir mal an: CPU-Auslastung und den SchleifenIndex der beiden Varianten.
Variante wie im Bild: CPU-Auslastung 100% eines CPU-Kerns. Was du da machst, ist über eine so schnell wie möglich laufende Schleife einen DO so setzen. Naja...

Bei Variante 2 läuft dein AI parallel innerhalb derselben Loop. Konfiguriert mit Datenrate 1kHz und immer 1000 Samples auf einmal lesen. Somit dauert es nun 1 Sekunde, bis die Loop wieder von vorne startet.

Was könnte man ändern? Eine Idee: Parallel und unabhängig laufende Prozesse programmiert man in LabVIEW auch gerne parallel, also in zwei unabhängigen Loops:
Lv85_img[attachment=28124]
Beachte weiterhin, dass die CPU-Auslastung auch in dieser Version gnadenlos hoch geht. Schau dir auch an, wie unterschiedlich schnell die Schleifen-Indices hochlaufen.

So, und wenn man dann anfängt, mal den ersten DAQ-Assi rauszuschmeißen, dann wird es schon ein bisschen übersichtlicher:
Lv85_img[attachment=28125]
CPU-Auslastung ist weiterhin eine Katastrophe.
Aber mit dem weiteren Eindampfen und Verbessern darfst du oder jemand anders weitermachen.

Gruß, Jens
' schrieb:Du meinst, das hier geht, wie du dir denkst?
Und mit dem zweiten Assi nicht mehr?
Jep, genau so.

' schrieb:CPU-Auslastung ist weiterhin eine Katastrophe.
Aber mit dem weiteren Eindampfen und Verbessern darfst du oder jemand anders weitermachen.
CPU rennt mit 40% Auslastung- könnte besser sein, aber es funktioniert immerhin soweit, dass ich die maximal mögliche Schaltfrequenz am Ventil durchtesten kann.
Mit dieser Frequenz geht es dann in das eigentliche Programm, das zur Ansteuerung eines selbstgebauten Flussreglers verwendet werden soll. Mal schauen wie weit es da noch klappt...

Thx soweit
' schrieb:CPU rennt mit 40% Auslastung- könnte besser sein, ...
Aber auch nur, weil du mind. eine Zwei-Kern-Prozessor hast. Einer sollte zu 100% ausgelastet sein. Und das ist nicht gut.
So wie du das momentan aufziehst, läuft die Digital-Out-Loop ohne irgendwelches Timing, einfach so schnell, wie es der Rechner hergibt.Sad

Ziehen wir es mal anders auf: Was für max. Schaltfrequenzen hast du denn. Kann mir nicht vorstellen, dass das bei einem Magnetventil so hoch ist.

Gruß, Jens
' schrieb:Was für max. Schaltfrequenzen hast du denn. Kann mir nicht vorstellen, dass das bei einem Magnetventil so hoch ist.
Also die Frequenz muss ziemlich hoch sein, da damit der geschaltete Luftstrom so gut wie möglich konstant gehalten werden soll. Das Ventil macht momentan Schaltfrequenzen bis ca. 60 Hz mit.
Bastel aber gerade an einem neuen Setup, bei dem das evtl. verändert wird- je nach Ergebnis...
Seiten: 1 2
Referenz-URLs