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 

Anzeige von Werten aus SubVI im HauptVI



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!

13.11.2007, 14:54
Beitrag #1

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Anzeige von Werten aus SubVI im HauptVI
Das hab ich grad als PM gekriegt:


ich schlage mich erst seit kurzem mit LabVIEW rum und dass was ich am Basis Kurs gelernt habe, nutzt mir nichts. Also wie die meisten Anfänger kämpfe ich mit dem Problem der Werteübergabe von Variabeln von Main/SubVI's. Da Du ein LabVIEW Profi bist, kannst Du mir sicher weiter Helfen.


Kurz was ich machen möchte:
Meine Grundstruktur im Hauptprogramm ist eine State Machine. Jeder State ist eine Testablauf. Da ich immer wieder die gleichen Module verwenden möchte, habe ich für die Funktionen SubVI's programmiert. Bei den SubVI kann ich auch über Lokalevariablen die aktuellen Werte in die While Schleife importieren. Soweit so gut, soblad ich dies aber in das MainVI einpflanze bleibt es natürlich in der While Schleife stecken.

Die ganze Sicherheitslogik ist auch als SubVI programmiert. D.h. wenn ein einem SubVI die bedingungen für ein Notaus / Alarm erfüllt sind, muss die Boolean Variable an das Alarm SubVI übergeben werden.
Leider kann ich nicht bei jedem SubVI die While Loop weg lassen, damit es nicht hängen bleibt?

Gem. LabVIEW und Bücher ist die Verwendung von Lokalen- und Globalen Variablen ein Zeichen für einen schlechten Programmierstill.

Wäre super wenn Du mir da weiter helfen könntest.


Vielen Dank und Grüsse

HpK

"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
13.11.2007, 14:56
Beitrag #2

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Anzeige von Werten aus SubVI im HauptVI
Hi,

hast du also While-Schleifen in SubVI's?

A.

"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
13.11.2007, 15:08
Beitrag #3

HpK Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Sep 2007

8.2
2007
kA


Schweiz
Anzeige von Werten aus SubVI im HauptVI
' schrieb:Hi,

hast du also While-Schleifen in SubVI's?

A.

Für gewisse Funktion muss ich While - and For-Schleifen verwenden. Da das SubVI solange arbeiten muss, bis die Abbruchbedinung erfüllt ist bzw. bis die gewünschte Zahl von durchläufen erreicht ist. Wenn aber die bedingungen für ein Alarm /Error erfüllt sind, muss das SubVI abgebrochen sein und das Boolean an das Alaram / Error SubVI über geben werden.

Auch wenn ich auf das SubVI verzichten würde, müsste ich in der State Machine in jeweiligen State eine While bzw. For Schleife verwenden. Könnte dann aber Lokale Varibalen verwenden, aber nicht mehr Modular programmierung. (Benutzung der SubVI in mehren States)

Daher: Wie bekomme ich immer den aktuellen Wert von SubVI in meine Main State Maschine.
Im SubVI kann ich die Werte aus der Schleife mit Lokalen Variablen aktualliseren (Gem. NI Verwendung von Lokalen und Globalen Variblen zeugen von einem schlechten Programmierstill)

Danke und Gruss HP
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2007, 15:21
Beitrag #4

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Anzeige von Werten aus SubVI im HauptVI
Hi,

wenn du in einem State eine While-Schleife unterbringst - egal ob in nen SubVI oder direkt - wird die State-Machine nicht weiterlaufen! D.h. es wird auch keine Information aus dem SubVI im HauptVI weiterverarbeitet. Was du machen müsstest wäre folgendes:

Deine Main-State-Machine hat ja schon eine umgebende While-Schleife, die alles am Leben erhält. Du musst dann in einen State springen, dort ins SubVI und dieses 1x abarbeiten....dann wird das SubVI mit der Information "Nochmal" oder "Ende" wieder verlassen, je nach Bedingung...diese Information wird noch im State ausgewertet und dann springst du entweder wieder in diesen State (= "Nochmal") oder in den nächsten

A.

"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
13.11.2007, 15:53
Beitrag #5

HpK Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Sep 2007

8.2
2007
kA


Schweiz
Anzeige von Werten aus SubVI im HauptVI
' schrieb:Hi,

wenn du in einem State eine While-Schleife unterbringst - egal ob in nen SubVI oder direkt - wird die State-Machine nicht weiterlaufen! D.h. es wird auch keine Information aus dem SubVI im HauptVI weiterverarbeitet. Was du machen müsstest wäre folgendes:

Deine Main-State-Machine hat ja schon eine umgebende While-Schleife, die alles am Leben erhält. Du musst dann in einen State springen, dort ins SubVI und dieses 1x abarbeiten....dann wird das SubVI mit der Information "Nochmal" oder "Ende" wieder verlassen, je nach Bedingung...diese Information wird noch im State ausgewertet und dann springst du entweder wieder in diesen State (= "Nochmal") oder in den nächsten

A.

Ich denke, dass die äusserste While Schleife auch nicht störrt, da ja alles in diese rein gepackt wird. Über ein Shift-Register wird ja auch der aktuelle State rausgeben, wenn das SubVI abgearbeitet ist. Die State Machine funktioniert auch und die Funktionweise der State Machine habe ich auch verstanden. Aber ich mit dem Austausch der sich änderen Variablen im SubVI zum MainVI (State) bzw. in mein Sicherheits VI (probiert als parallele While Schleife bzw. als SubVI ohne While Schleife) happert es leider.
Im SubVI kann ich die Variablen über eine Lokale Varibale aus der While Schleife auslesen, aber sobald im Main intergriert muss ich das Frontpanel vom SubVI öffnen und die Variabeln ändern, damit die Variablen im SubVI geändert werden.

Da ich immer wieder die gleichen Funktionen verwende, habe ich diese als SubVI erstellt und nun im jeweilgen State eingepflanzt. Leider muss ich im SubVI zum Teil While-Schleifen bzw. For Schleifen verwenden. Ich könnte auf die SubVI's Verzichten und es Flach im State programmieren und nur über Bedingungen ein wechsel in einen neuen State realisieren, was aber einen riesigen Programmieraufwand bedeute.

Ich dachte bei LabVIEW ist ein Vorteil, dass man sich Module (SubVI's) programmieren kann, und diese immer wieder verwenden kann.

Lange Rede kurzer Sinn: Was für Möglichkeiten habe ich Werte von Variablen von Schleifen zu Schleifen bzw. von SubVI's zu MainVI's etc. zu Übergeben, oder was für Programmstrukuten muss ich verwenden, dass diees möglich ist?

Ganz Wichtig: Ich möchte dass wenn die Bedingung für ein Alarm / Error eintreten sofort eine Aktion haben und nicht erste wenn die Schleife bzw. das SubVI abgearbeitet ist.

Vielen Dank und Grüsse

Hp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2007, 16:01 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2007 16:37 von Achim.)
Beitrag #6

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Anzeige von Werten aus SubVI im HauptVI
' schrieb:Da ich immer wieder die gleichen Funktionen verwende, habe ich diese als SubVI erstellt und nun im jeweilgen State eingepflanzt. Leider muss ich im SubVI zum Teil While-Schleifen bzw. For Schleifen verwenden. Ich könnte auf die SubVI's Verzichten und es Flach im State programmieren und nur über Bedingungen ein wechsel in einen neuen State realisieren, was aber einen riesigen Programmieraufwand bedeute.

Ich dachte bei LabVIEW ist ein Vorteil, dass man sich Module (SubVI's) programmieren kann, und diese immer wieder verwenden kann.

So ist es...das geht aber auch in anderen Programmierumgebungen.

Wie kriegen deine SubVI's denn Daten, die sie verarbeiten? Wenn du mal ein paar Screenshots deines Programms zeigen würdest, könnten wir besser helfen...ich hab so das Gefühl, dass wir aneinander vorbei reden...

"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
Anzeige
13.11.2007, 16:34 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 14:33 von jg.)
Beitrag #7

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Anzeige von Werten aus SubVI im HauptVI
Probiere bitte das mal aus, vielleicht wird es dir gefallen und passen. Ich persönlich verwende diese (ähnliche) Struktur in meinen Programmen.

eg

(VIs LV 8.0)


Angehängte Datei(en)
Sonstige .vi  Statemachine.vi (Größe: 21,27 KB / Downloads: 248)

Sonstige .vi  SubVI.vi (Größe: 18,99 KB / Downloads: 272)

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  SUB-VI über Referenzen - Elemente im HauptVI goekhan1985 5 6.075 07.04.2015 20:37
Letzter Beitrag: GerdW
  Übergabe einer Referenz vom HauptVI in das SubVI alan 1 3.737 09.03.2015 16:11
Letzter Beitrag: jg
  SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) dereinzug 6 6.116 28.08.2012 16:55
Letzter Beitrag: Falk
  Schleife in SubVI, Stopp-Knopf in HauptVI DrHoas 1 3.982 12.07.2012 09:42
Letzter Beitrag: GerdW
  Eventstruktur im HauptVi und SubVi möglich? Topia 8 8.610 29.09.2011 10:14
Letzter Beitrag: A.Berndsen
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 8.845 25.08.2011 15:18
Letzter Beitrag: GerdW

Gehe zu: