LabVIEWForum.de
Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs (/Thread-Unregelmaessiger-Lauf-beim-parallelen-Betrieb-von-zwei-VIs)



Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs - MOOD - 08.06.2005 12:56

Hallo!

Ich mache gerade meine Studienarbeit und muss unter anderem eine Ansteuerung für ein Ventil mit LabVIEW schreiben. Ich gebe ein digitales Signal über Out1 aus (GeneratePulseTrain.vi) und zusätzlich noch ein analoges zur Aufzeichnung. Mein Problem ist, dass dies auch wunderbar funktioniert, solange nicht die Anlagensteuerung mit läuft (auch LabVIEW). Ich habe daher versucht, mein Programm in die Anlagensteuerung als SubVI zu integrieren, allerdings tritt dann der selbe Fehler auf.

Der Fehler macht sich auf verschiedene Weise bemerkbar.
- bei einer einminütigen Aufzeichnung der Anlagensteuerung, wobei jede Sekunde ein Wert gespeichert werden soll, werden nur 40 Werte gespeichert, wenn mein Programm mitläuft. Ist mein Programm inaktiv, so sind es 60 Werte.
- Ich hatte als Kontrolle die Schleifen-Iterationen mit ausgeben lassen, die wiederum bei gleichzeitigem Betrieb sehr unregelmäßig liefen (blieben ca. jede Sekunde kurz stehen).
- Die Soll und Ist Werte weichen weit voneinander ab (bei analoger Ansteuerung ohne LabVIEW stimmen die Werte)

Hat jemand von euch eine Idee was ich falsch gemacht haben könnte?


Schon mal Danke im Voraus für eure Mühen...

Gruß,
Hendrix

PS: Es wird nicht von beiden Programmen gleichzeitig auf den selben Aus-/Eingang zugegriffen – hab ich schon gecheckt


**********************
LabVIEW 6


Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs - florian - 08.06.2005 15:43

Hallo,

mit welcher Funktion hast du das Warten in der Schleife realisiert? - Wenn du die funktion 'Warten ms' benutzt hast, dann kann es passieren dass das Abarbeiten deiner Funktion etwas länger geht und die Zeit dann anschließend gestoppt wird. Versuchs mal mit Absoluten Zeiten.

Gruß, Florian


Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs - MOOD - 09.06.2005 09:49

Hallo Florian,

Vielen Dank für die schnelle Antwort.
Ja, ich arbeite (sogar recht viel) mit der Funktion 'Warten ms'. Ich wusste nicht, dass die so problembehaftet ist…
Entschuldige bitte meine Unkenntnis – aber wie realisiere ich das ganze „mit Absoluten Zeiten“?

Gruß,
Hendrix


Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs - florian - 09.06.2005 17:08

Ich bin mir nicht 100% sicher ob es wirklich das Problem ist. Aber ein Verusch wäre es wert.
Also du liest zu beginn deiner Schliefe den Timer-Wert aus. Zu diesem zählst du dann deine Gewünschte Wartezeit dazu. In der Schleife liest du wieder die Zeit und vergleichst diese mit der Berechneten. Sind die beiden Zeiten gleich oder ist die zuletzt gelesen Größer, so ist nun deine Zeit abgelaufen und du kannst die Messung starten. Beim nächsten Durchlauf nimmst du wieder die Berechnete Zeit und addierst zu dieser wieder die gewünschte Wartezeit. So ist sichergestellt, dass auch wenn einmal eine Messung aus welchen gründen auch immer, etwas später beginnt oder länger dauert, die nächste Messung dann wieder im richtigen Takt ist.
Im Betrieb können wir mit dieser Methode (im Moment) 10 Geräte (sogut wie) zur selben Zeit Testen.
Es gibt für das glaube ich aber sogar eine Funktion. Auf Timer-Ereigniss warten oder so ähnlich. Musst mal schauen.

Dein Problem ist, glaube ich, dass LabVI wartet, anschließend die Messung startet und dann wieder die Exakte Zeit wartet. Irgendwann passt das nicht mehr zusammen, denn Es kommt ja bei jedem durchlauf die Zeit der Messung dazu.
Was vielleicht auch noch sein kann ist, dass ein Programm die kompletten Systemresourcen benötigt. Das kannst du aber prüfen, indem du den Windows Task-Manager mitlaufen läst.

Hoffe ich konnte dir helfen,

Gruß, Florian


Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs - MOOD - 10.06.2005 19:49

Servus Florian!

Hab mal das alles so gemach, wie ich dich verstanden habe.
Funktioniert aber trotzdem nicht wirklich.
Vielleicht liegt es ja auch an der Art und Weise, wie ich programmiert habe.
Ich habe mir nicht wirklich Zeit genommen, um LabVIEW zu verstehen und habe daher ziemlich umständlich programmiert…
Wenn du Lust hast, würde ich mich freuen wenn du mal kurz über mein Programm rüberschauen könntest.
Vielleicht fällt dir ja direkt ein grober Fehler auf…

Gruß,
Hendrix


Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs - florian - 13.06.2005 07:53

Also ich habe mir das Programm mal angeschaut. Stimmt schon, ist zwar etwas unkonventionell gelöst, aber das ist ja egal. Fehler hab ich aber leider keinen gefunden. Bei mir konnte ich aber auch die Ausgabe über den 'GeneratePulsTrain.vi' nicht realisieren. Warscheinlich weil mir die Hardware fehlt. Aber ohne dieses VI läuft dein Programm bei mir wunderbar.
Was evt. auch noch sein kann ist, dass das SubVI LabVI blockiert. Das sollte eigentlich nicht passieren, da die Messung ja in einer anderen schleife läuft, und somit einen anderen Treat hat, aber ich hatte so ein ähnliches Problem als ich auf einen Serielle Schnittstelle zugreifen wollte, die es nicht an meinem System gab. LabVI reagierte dann einige Sekunden gar nicht mehr.

Mehr weiß ich leider auch nicht,
Gruß, Florian