INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

"Subroutinen" mit LabVIEW



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.04.2007, 13:24
Beitrag #1

David_Gilmour Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Apr 2007

8.2
2007
kA

38678
Deutschland
"Subroutinen" mit LabVIEW
Hallo, Leute!

Im Rahmen meiner Diplomarbeit setze ich mich seit etwa 2 Monaten auch mit LabVIEW auseinander. Die meisten Sachen klappen ganz gut. Allerdings habe ich noch folgendes Problem vor mir:

Soweit ich LabVIEW verstanden habe, arbeitet es das jeweilige Programm von "vorne" nach "hinten" ab und beginnt dann gegebenenfalls wieder von vorn. Das bedeutet ja, dass entsprechend auch alle SubVi's der Reihe nach einmal pro Durchlauf ausgeführt werden.

Ich möchte nun folgendes machen. Ein Programm(-teil) soll ständig Messwerte meiner Anlage erfassen. Ein anderes Programm soll einen Teil der Anlage bei eventuellen Sollwertabweichungen nachregeln, ohne aber das Messprogramm zu behindern (die Messwerterfassung soll nebenbei weiterlaufen). Ich stelle mir das prinzipiell so vor, dass das Regelprogramm als eine Art Subroutine in das Hauptprogramm eingebunden ist. Wie ich das aber in LabVIEW umsetze, ist mir leider nicht klar.

Ich hoffe, ihr habt mich verstanden und könnt mir weiterhelfen?!

Liebe Grüße...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.04.2007, 13:31
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
"Subroutinen" mit LabVIEW
Hi,

du könntest deine Regelung in eine Case-Struktur packen...der darin befindliche Code wird nur ausgeführt, wenn z.B. beim vorhergehenden Mess-Durchlauf eine Schwellbedingung (= Abweichung) überschritten wurde. Das wäre so ne Art 2Punkt-Regelung. Besser wäre es aber doch, kontinuierlich, d.h. parallel zur Messung nachzuregeln. Wenn du eine gepufferte Datenerfassung hast, sollte das kein Problem sein...wenn ein beliebiger Prozess in deinem Programm mal etwas länger braucht, gehen dann ja keine Messwerte verloren...

Alternativ könntest du deine Regelung in eine parallel laufende Schleife packen...

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2007, 13:36
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
"Subroutinen" mit LabVIEW
@Achim, ich glaube David will nur wissen wie man zwei Loops parallel laufen lässt, er ist doch erst ein Anfänger.

@David, geht wirklich einfach, zwei While Schleifen nebeneinander, aber bitte nicht miteinander verbinden. Die müssen wirklich getrennt sein. Wie du diese platzierst oben unten oder links rechts ist völlig egal. Da kommst aber nächstes Problem bei Anfängern, wie sollen die Schleifen miteinander reden. Das ist aber schon eine andere Geschichte.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2007, 13:49 (Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2007 13:53 von David_Gilmour.)
Beitrag #4

David_Gilmour Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Apr 2007

8.2
2007
kA

38678
Deutschland
"Subroutinen" mit LabVIEW
<<du könntest deine Regelung in eine Case-Struktur packen...der darin befindliche Code wird nur ausgeführt, wenn z.B. beim vorhergehenden Mess-Durchlauf eine Schwellbedingung (= Abweichung) überschritten wurde.>>

Problem bei der Regelung ist, dass sie sehr träge ist (Bei Betriebspunktänderungen bis über eine Stunde, bei kleineren Nachregelungen min einige Sekunden bis mehrere Minuten (einzuhaltende Totzeiten durch ein Badthermostat etc.))! Somit kann ich die Regelung nicht einfach als SubVi in das Hauptprogramm einbauen, da über das Hauptprogramm andere Sachen überwacht werden müssen.

Ich werde die Anlage mal etwas genauer beschreiben. Es handelt sich dabei um einen Brennstoffzellenprüfstand. Das zugeführte Brenngas soll befeuchtet werden. Den dafür nötigen Befeuchter zu bauen und zu regeln ist meine Aufgabe. Den Rest macht jemand anderes. Im Hauptprogramm sollen später die Brennstoffzellenparameter vorgegeben und überwacht werden sowie die Werte für die Gasfeuchte (von mir zu regeln) und auch der Gasvolumenstrom.

Würde ich jetzt meine Befeuchterregelung mit zum Teil sehr hohen Totzeiten einfach als SubVi in das Hauptprogramm einbinden, würde vor allem bei Betriebspunktänderungen die Anlagenüberwachung stillstehen. Deswegen suche ich nach einer anderen Lösung. Vielleicht sowas in der Art, wie Achim es schon meinte- das Hauptprogramm speichert die Werte irgendwo ab und die Regelroutine für den Befeuchter holt sich die entsprechenden Werte?! Aber kann ich denn mehrere Programme gleichzeitig laufen lassen?

Grüße...

@eg: ich weiß schon, was eine case-Struktur ist ;-)! Aber wie die 2 While-Schleifen kommunizieren können, würde mich wirklich interessieren bzw. wie meinst du das?!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: