LabVIEWForum.de - Druckwerte permanent und immer wieder aktualisiert anzeigen

LabVIEWForum.de

Normale Version: Druckwerte permanent und immer wieder aktualisiert anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich hab ein kleines Problem, das vielleicht jemand von euch lösen kann.
Mein Programm besteht aus mehreren Sequenzen. Beim Start des Programms werden Druckwerte außerhalb dieser Sequenzen eingelesen und am Frontpanel angezeigt. Danach springt das Programm in die Sequenzen und arbeitet diese ab. Dadurch werden nicht mehr die aktuellen Druckwerte sondern nur die vom Start des Programmes angezeigt.
Gibt es eine Möglichkeit diese Druckwerte permanent und immer wieder aktualisiert anzeigen zu lassen ohne die entsprechenden Express VI's in jede Sequenz einzubinden?

grüße Lukas
Lagere Deiner Sequenzstruktur eine Zweite Whileschleife parallel. Diese soll permanent Daten sammeln.
Via Shared Variables und semaphores kannst Du dann Daten zwischen Sequenz und Zweiter Schleife austauschen.
' schrieb:Lagere Deiner Sequenzstruktur eine Zweite Whileschleife parallel. Diese soll permanent Daten sammeln.
Via Shared Variables und semaphores kannst Du dann Daten zwischen Sequenz und Zweiter Schleife austauschen.

Danke für die Antwort, aber hast du ein Beispiel dazu? bin noch LabVIEW-Neuling und tu mich doch ein bißchen schwer jetztSmile

lg Lukas
' schrieb:Danke für die Antwort, aber hast du ein Beispiel dazu? bin noch LabVIEW-Neuling und tu mich doch ein bißchen schwer jetztSmile

lg Lukas
habe hier vor paar Tagen (solange bin ich ja noch nicht hier) einen Beitrag gelesen über das synchronisieren von *-Schleifen.
Schau mal in der Hilfe unter "Synchronize Timed Structure Starts". Funktion findest du unter Structures / Timed Structures. Habe es selber noch nie benutzt, aber ich könnte mir vorstellen, dass es das Richtige sein könnte.
also meiner Meinung nach ist das mit den zeitgesteuerten Schleifen nicht das, was ich suche. Das Problem ist, dass das Programm das ich programmiere ziemlich umfangreich ist (mit mehreren SubVI). Es ist mit mehreren Sequenzen aufgebaut und um die Druck- und Temperaturwerte (immerhin an die 10), die wiederum auch wieder mit Maximal- bzw. Sicherheitswerten verknüpft sind, permanent anzeigen und aktualisieren zu lassen müsste ich die in jede Sequenz nehmen, was aber für das Programm zu umfangreich werden würde. Die permanente Aktualisierung ist aber wichtig, da ich diese Daten ab dem Moment, an dem das Programm gestartet wird, in einer Datei aufzeichnen möchte.
Darum war meine Frage ob es möglich ist die Werte nicht in jede Sequenz reinzunehmen, sondern irgendwie in einer Schleife nebenher laufen zu lassen.
Ich krieg das nicht hin, denn sobald das Programm in die erste Sequenz springt, werden die Werte nicht mehr aktualisiert.

Ich stell hier mal ein kleineres VI rein, bei dem das auch noch nicht so ganz funktioniert wie ich das gerne hätte. Auch in dem VI sollten die Werte permanent angezeigt werden, was ich auch noch nicht so ganz hinbekommen habe.

Die Funktion des VIs "Start CK5" ist das beim Drücken des "Start CK5"- Buttons wird ein Motor gestartet, der eine Pumpe betreibt. Anschließend wird an ein COAX-Ventil ein Solldruckwert übergeben (dies wird nach dem Bestätigen mit dem "OK-Button" gemacht). Dann erst werden die Druckwerte angezeigt. Solange diese Schleife nicht beendet wird (mit dem STOPP-Button) kann die Pumpe und das COAX nicht mehr angesteuert werden, was logisch ist, aber genau das möchte ich nicht mehr.
Ich hätte gerne permanent aktualisierte Druckwerte und Kontrolle über die Pumpe.

Lange Rede kurzer Sinn...
Vielleicht kann mir ja jemand nach dieser ausführlichen Erklärung helfen.

lg Lukas
Hi,

hier: http://www.LabVIEWforum.de/index.p...ost&p=11922

hab ich mal ne einfache State Machine gebastelt. Schau dir das mal an und überleg dir, ob dir diese Struktur nicht weiterhilft! Das ist jetzt relativ fest verdrahtet, aber man könnte weitere Befehlsschritte über eine Eventstruktur ins das enthaltene Schieberegister einfügen, z.B. auch die Stopp-Funktion!

Gruss
Achim
kannst du mir ein beispiel geben wie das in meinem Fall aussehen würde? Weil ich denke, dass das was da passiert nicht viel mit dem zu tun hat was ich gerne hätte.

ich kann auch noch das eigentliche Prüfprogramm online stellen. dann ist vielleicht besser verständlich was ich meine.

alle fieldpoint-express VIs, die in diesem Programm noch außerhalb stehen sollen permanent Werte liefern (auch während die Sequenzen innerhalb abgearbeitet werden). und ich hab keine Ahnung wie das gehen soll.

wenn mir jemand sagen kann wie das funktioniert, löst das einen riesigen Haufen Probleme und ich könnte das Programm endlich mal fertigstellen.

grüße Lukas
Hi,

also ich hab mir das Vi angesehen, und habs gleichmal wieder gelassen, weil ein Blockdiagramm, dass doppelt so groß wie mein Schirm (hab leider ne schlechte Auflösung) und eine Sequenz mit 16 Schritten, meinen Zeitrahmen hier sprengt.

Ich weiß, als LV Neuling ist das ungewohnt, aber versuch doch das ganze übersichtlicher zu gestalten.

All die Express Vi's haben einen Error Eingang und Ausgang. Wenn du den durch verbindest, dann erwingst du auch eine Reihenfolge. Dadurch sparst du dir die Sequenz. Zusätzlich bricht das Programm noch ab, sollte ein Fehler auftreten.

Um die Messwerte zu aktualisieren starte einfach eine while Schleife außerhalb! der Sequenz. Dann läuft beides parallel und du kannst dir die Messwerte ständig anzeigen lassen.
Benötigst du die Werte in deiner Sequenz, dann greif mittels lokaler Variable darauf zu.

Grüße
Danke für die Info...
das mit dem übersichtlicher ist so ne Sache, da ich das Programm auch nur übernommen habe. Ich mach grad ein Praktikum und darum wurde das Programm zur Vervollständigung an mich übergeben.

Ich habs auch schon mit den Schleifen versucht, werds mir jetzt aber auf jeden Fall nochmal genauer ansehn.

Die Error Ein/Ausgänge kann ich, meiner Meinung nach, später immer noch einbeziehn.
Und weil das Programm so groß ist hab ichs bis jetzt noch nicht gepostet. Hab ja vorher versucht zu erklären was ich eigentlich will.

Tja.. nochmal danke für die Tipps...

Lukas
Das mit Programmen übernehmen kenn ich. Meist sind die dann auch noch von Leuten geschrieben, die selbst wenig Ahnung hatten. Irgendwann kennt sich dann keiner mehr aus.
Oft ist hier neu schreiben die beste Lösung, wenn es nicht zu groß ist.

Der Vorteil der Error Sache ist, dass du dir dadurch zu großen Teilen die unübersichtliche Sequenz sparen kannst. Die Reihenfolge der Abarbeitung, die du durch die Sequenz erzwingst, entsteht dann ja dadurch, dass der Errordraht eine Reihenfolge erzwingt.

Ich hab dir mal ein kleines Beispiel angehängt, was prinzipiell zeigt, was mit 2 Schleifen parallel gemeint war.
Im Beispiel läuft oben eine Schleife und unten parallel eine Sequenz.
Vielleicht hilft es dir ja ein wenig.

So Feierabend!Wink
Grüße
Seiten: 1 2
Referenz-URLs