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 

ProbertyNode (RunVi) ignorieren wenn SubVi läuft



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!

22.08.2011, 07:53
Beitrag #1

Dom0503 Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: May 2011

2011
2011
EN


Deutschland
ProbertyNode (RunVi) ignorieren wenn SubVi läuft
Hallo Zusammen,

ich habe folgendes Problem. Ich möchte ein SubVi über verschiedene SubVi´s starten. Ich starte das SubVi über die Methode (RunVi). Da ich das SubVi zum Teil Zyklisch starte kommt es leider vor das es geöffnet wird obwohl es bereits läuft. Dann erhalte ich den Fehler

"Error 1000: The VI is not in a state compatible with this operation"

Ich hätte gerne das der Aufruf der Methode einfach ignoriert wird wenn das SubVi läuft.

Habe es bisher versucht das über die Proberty Node "Execution - State" abzufangen, nur komischerweise Funktioniert das nicht immer.

Hat einer ne idee bzw. nen Denkanstoß für mich?

LG Dom
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2011, 08:08
Beitrag #2

oenk Offline
LVF-Stammgast
***


Beiträge: 361
Registriert seit: May 2005

>= 7.1
2004
EN

3018
Schweiz
RE: ProbertyNode (RunVi) ignorieren wenn SubVi läuft
Wie wäre es mit einer FGV in der du ein flag "IsRunning" setzt, sobald das SubVI started/gestarted ist und es entfernst sobald es fertig ist.
Dann brauchst du auch nicht mit VI-Servern und Property-Nodes zu arbeiten, was das ganze einfacher und robuster macht...

In theory, there is no difference between theory and practice; In practice, there is.

Chuck Reid
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2011, 08:33 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2011 09:01 von Dom0503.)
Beitrag #3

Dom0503 Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: May 2011

2011
2011
EN


Deutschland
RE: ProbertyNode (RunVi) ignorieren wenn SubVi läuft
Danke erstmal!

Muss mich dann erstmal in die Thematig der Funktionalen Globalen Variable einlesen.

Wenn so ein Frischling ist kommt schon immer wieder viel neues und man kann ständig sein Programm neu strukturieren Wink
Hmm diese FGV gilt ja als eine Art Datenspeicher wenn ich das richtig verstanden habe. Und funktioniert somit ähnlich einer Globalen Variable.

Das Problem bei mir, das SubVi das aufgerufen wird, wird nicht fertig. Es handelt sich hierbei um eine Spannungsregelung die bei Bedarf an- und ausgeschaltet wird und in der "Running" Zeit kontinuierllich läuft.

Ich starte also die Regelung mit "RunVi" und schliesse sie wieder mit "Abort VI".

Wenn ich das Vi hart abbreche kann ich den Wert der FGV ja eigentlich nicht switchen oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2011, 09:04 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2011 09:10 von oenk.)
Beitrag #4

oenk Offline
LVF-Stammgast
***


Beiträge: 361
Registriert seit: May 2005

>= 7.1
2004
EN

3018
Schweiz
RE: ProbertyNode (RunVi) ignorieren wenn SubVi läuft
Zu meiner Schande muss ich gestehen, dass ich deinen Status über die Dauer der LabVIEW-Benutzung erst nach meiner Antwort gelesen habe....
FGV sind es auf jeden Fall wert zu lernen...aus dem Grund hab ich jetzt kein schlechtes Gewissen 2hands

Und wenn man es sich selber erarbeitet bleibts auch besser im Gedächtnis, als wenn man alles vorgekaut bekommt...
In diesem Sinne:
frohes lernen!

\c
(22.08.2011 08:33 )Dom0503 schrieb:  Ich starte also die Regelung mit "RunVi" und schliesse sie wieder mit "Abort VI".

Wenn ich das Vi hart abbreche kann ich den Wert der FGV ja eigentlich nicht switchen oder?

tstststs, sowas macht man aber auch nicht Smile

Anyways, solltest du es wirklich so machen wollen (wovon ich allerdings nur und mit Nachdruck abraten kann) kannst du die FGV auch nach dem "Abort VI" wieder rücksetzten, es muss ja nicht zwangsläufig im SubVI gesetzt werden...
Und ja, sie sind quasi wie globale Variablen, nur lässt sich mit ihnen RaceConditions vermeiden (wieder ein Stichwort, dass sich nachzuschlagen lohnt!)

Zu deinem Design:
versuche dein SubVI mit einer StateMachine umzusetzten und beende es definiert. Sonst bekommst du früher oder später echt Probleme (und eher früher als später)...

In theory, there is no difference between theory and practice; In practice, there is.

Chuck Reid
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2011, 10:04
Beitrag #5

Dom0503 Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: May 2011

2011
2011
EN


Deutschland
RE: ProbertyNode (RunVi) ignorieren wenn SubVi läuft
[/quote]

tstststs, sowas macht man aber auch nicht Smile


[/quote]
Schande über mein haupt

[/quote]
Zu deinem Design:
versuche dein SubVI mit einer StateMachine umzusetzten und beende es definiert. Sonst bekommst du früher oder später echt Probleme (und eher früher als später)...
[/quote]

Hmm damit ich das richtige verstehe......Die Spannungsregelung soll ich in eine Statemachine umwandeln (Momentan ist es eine größere Sequenz die nacheinander misst, Stellwert berechnet, Stellwert ausgibt)
Diese Statemachine kann ich dann über eine Statemachine im MainVi öffnen.

Was ich nicht so ganz verstehe... Bitte korrigier mich wenn ich da falsch liege.

Wieso gibt es Probleme wenn Parallel zu den MainVi eine SubVi starte. Und warum ist die Statemachine in dem Fall besser? Blockieren sich die Eventhandler nicht gegenseitig?

Sorry für die vielen dummen Fragen Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2011, 10:26 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2011 10:27 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.430
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: ProbertyNode (RunVi) ignorieren wenn SubVi läuft
Hallo Dom,

Zitat:Und warum ist die Statemachine in dem Fall besser?
Eine Statemachine kann man nach jedem Step abbrechen (bzw. auf Fehler reagieren), eine Sequenz nicht...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2011, 10:31 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2011 10:34 von Dom0503.)
Beitrag #7

Dom0503 Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: May 2011

2011
2011
EN


Deutschland
RE: ProbertyNode (RunVi) ignorieren wenn SubVi läuft
Zitat:Eine Statemachine kann man nach jedem Step abbrechen (bzw. auf Fehler reagieren), eine Sequenz nicht...

Stimmt Blush

Danke!


bzw. kann man schon mit der Brecheisen-Methode Wink

Aber ich versuch die mal zu vermeiden...soll ja nicht mein letztes LV Projekt sein und da sollte es halbwegs elegant sein (auch wenn man wahrscheinlich in 3 Monaten die Lust verspürt alles neu zu programmieren Wink)
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
  Array auf Doppelwerte prüfen und bestimmte dabei ignorieren sara2211 4 4.277 14.01.2017 13:13
Letzter Beitrag: sara2211
  While Schleife läuft nur wenn Taste gedrückt gehalten wird DocBader 7 4.901 20.01.2015 14:43
Letzter Beitrag: GerdW
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 8.121 25.08.2011 15:18
Letzter Beitrag: GerdW
  Programmteil nur ausführen, solange SubVI nicht läuft delirio 2 3.899 17.01.2011 12:49
Letzter Beitrag: unicorn
  Ereignis-gesteuerter Ablauf (wenn > dann > wenn > dann …) quarks 16 42.369 03.07.2010 10:14
Letzter Beitrag: IchSelbst
  SubVI läuft nicht im Mainprogramm BiliB 9 6.175 18.06.2010 13:33
Letzter Beitrag: cheeze

Gehe zu: