08.06.2005, 12:56
Beitrag #1
|
MOOD
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: Jun 2005
kA
|
Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs
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
|
|
|
08.06.2005, 15:43
Beitrag #2
|
florian
LVF-Grünschnabel
Beiträge: 25
Registriert seit: Apr 2005
7.1
2004
kA
Deutschland
|
Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs
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
|
|
|
09.06.2005, 09:49
Beitrag #3
|
MOOD
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: Jun 2005
kA
|
Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs
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
|
|
|
09.06.2005, 17:08
Beitrag #4
|
florian
LVF-Grünschnabel
Beiträge: 25
Registriert seit: Apr 2005
7.1
2004
kA
Deutschland
|
Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs
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
|
|
|
10.06.2005, 19:49
Beitrag #5
|
|
|
13.06.2005, 07:53
Beitrag #6
|
florian
LVF-Grünschnabel
Beiträge: 25
Registriert seit: Apr 2005
7.1
2004
kA
Deutschland
|
Unregelmäßiger Lauf beim parallelen Betrieb von zwei VIs
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
|
|
|
| |