LabVIEWForum.de
paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten (/Thread-paralleles-Abarbeiten-zweier-Schleifen-mit-Uebergabe-von-Daten)



paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - Benns - 22.08.2008 08:34

Hallo zusammen,

ich versuche eine Temperaturregelung für meinen Versuchsstand zu programmieren. Dazu frage ich in einer ersten While-Schleife mein "Thermometer" über die RS232 ab (2 mal pro Sekunde). Die Temperatur möchte ich dann in einer zweiten, parallel ablaufenden, While-Schleife (die schneller abläuft) in meinem PID-Regler verwenden. Dabei habe ich jedoch zwei Probleme:

1. Wie schaffe ich es, dass die beiden While-Schleifen gleichzeitig starten? Im Moment habe ich das Problem, dass immer erst die Temperaturmessung startet, erst wenn ich diese Schleife beende wird die Regelung gestartet.

2. Wie bekomme ich meine Messwerte aus der ersten in die zweite Schleife? Ich habe etwas mit lokalen Variablen im Hinterkopf (habe für meine Diplomarbeit schon einmal mit LV programmiert), aber bekomme es nicht merh hin.

Im Anhang mal ein Minimalbeispiel (LV8.0), welches meine Probleme aufzeigen soll.
[attachment=14112]

Vielen Dank schon mal für Tipps und HInweise

Schöne Grüße

Benjamin


paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - Y-P - 22.08.2008 08:39

Nimm doch 'ne "Queue"...

Gruß Markus


paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - blacky - 22.08.2008 08:42

wiso läuft deine PID schleife schneller als die erzeugerschleife?

Das macht doch keinen Sinn, denn dann hat der PID regler immer alte werte zum auswerten

mfg Blacky


paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - Y-P - 22.08.2008 08:42

Schau' auch mal hier.

Gruß Markus


paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - Benns - 22.08.2008 09:00

Hallo,

hier wird ja schnell geantwortet. Ich werde mal schauen was ich damit anfangen kann.

@blacky: Meine PID-Schleife läuft deshalb schneller, weil die externe Leistungsbeschaltung meiner Heizbänder (ich beheize einen Autoklaven, der aus etwa 15kg Edelstahl besteht) mit einer festen Frequenz Anweisungen erwartet. Leider kann ich mein Messgerät (Ahlborn Almemo 2290-8) nicht so schnell abfragen.

Benjamin


paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - LabProg - 24.09.2008 11:35

Zitat:Hallo,

hier wird ja schnell geantwortet. Ich werde mal schauen was ich damit anfangen kann.

@blacky: Meine PID-Schleife läuft deshalb schneller, weil die externe Leistungsbeschaltung meiner Heizbänder (ich beheize einen Autoklaven, der aus etwa 15kg Edelstahl besteht) mit einer festen Frequenz Anweisungen erwartet. Leider kann ich mein Messgerät (Ahlborn Almemo 2290-8) nicht so schnell abfragen.

Benjamin


Hallo,

also prinzipell würde ich die Datenübergabe auch über ein Queue realisieren.
Ich habe dein Beispiel mal etwas geändert...vielleicht kannst du es ja gebrauchen.
Lv80_img[attachment=14512]

Gruß
Andreas


paralleles Abarbeiten zweier Schleifen mit Übergabe von Daten - Lucki - 24.09.2008 12:54

Klassische Erzeger-Verbraucher-Struktur hier
Ob gleichzeitig gestartet oder nicht, ist übrigens egal, die Schleifen synchronisieren sich immer. Wird der Erzeuger zuerst gestartet, werden, wenn der Queue-Puffer nicht ausreicht, evtl. ältere Daten überschrieben. Wird der Verbraucher zuerst gestartet, wird bis zum Timeout auf Daten gewartet.
Bei eher langsamen Anwendungeng - und das ist im Verhätnis zu Geschwindigkeit moderner PCs fast timmer - reicht ein Melder, andernfalls Queue verweden.
Und hier Dein VI mit Melder:
Lv85_img[attachment=14513]
Wie gesagt, die Schleifen synchronisieren sich von selbst, weil der Empfänger wartet. Dort eine Wartefunktion einzufügen ist unnütz, ich würde sagen sogar schädlich.