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 

Kommunikation/Datenaustausch MainVI und SubVI



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!

04.03.2018, 21:33
Beitrag #1

THenry14 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2015

17.0
2014
DE


Deutschland
Kommunikation/Datenaustausch MainVI und SubVI
Servus zusammen,

nach längerem grübeln komme ich einfach nicht weiter und wende mich mit meinem Problem an euch.

In dem Programm, welches ich zur Bearbeitung erhalten habe, geht es darum Prüfabläufe durchzuführen. Ungeachtet der Tatsache, dass es nicht soo gut programmiert wurde, habe ich meine Ergänzungen so vorgenommen das diese die Grundstruktur nicht verändern. Da ich das Programm nicht Abseits des Prüfstandes ausführen kann, habe ich mir eine vereinfachte Prüfumgebung rekonstruiert, welche alle relevanten Schritte durchführt und auch dieselben Fehler erzeugt, die ich auch während des Betriebs in der Prüfumgebung erhalten habe.

Zum eigentlichen Problem:
Ich habe einen Button und ein Cluster mit mehreren Bedienelementen im Hauptprogramm vorliegen, und diese nochmal in einem Tab als Kurzübersicht der wichtigsten Bedienelemente als SubVI in einem SubPanel eingebunden. Jetzt soll das SubVI alle 500ms die aktuellen Werte/Zustände des MainVI's abfragen und abholen. Bei Bedienung eines Bedienelements im SubPanel, soll diese Wertänderung auch im HauptVI übernommen werden. Dieses soll über einen Queue-Befehl erfolgen. Sollte ein Bedienelement im HauptVI betätigt werden (z.B. auch Stop), so soll ein Userereignis auf True gesetzt werden, welches im SubVI ausgelesen und ausgeführt wird. Hier erscheint mir immer ein Fehler für den falschen Input.
Ich habe so eine Kommunikation zwischen VIs eigentlich schon mal programmiert und denke auch 1:1 übernommen, jedoch sehe ich nicht warum ich diese Fehlermeldung erhalte.

Ich hoffe ich konnte mein Anliegen verständlich darstellen und hoffe auf eure Hilfe.

Beste Grüße
Alex


Angehängte Datei(en) Thumbnail(s)
       

0.0 .rar  Testumgebung Folder.rar (Größe: 269,48 KB / Downloads: 183)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2018, 22:23
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
(04.03.2018 21:33 )THenry14 schrieb:  und auch dieselben Fehler erzeugt, die ich auch während des Betriebs in der Prüfumgebung erhalten habe.
Z.B. muss im SubVI UserEventReg der Eingang Enum des SubVIs FGV_UserEvents auf Init stehen, nicht auf Receive.

Stürzt bei jemand anderem außer mir die Entwicklungsumgebung auch ab, wenn man auf Stop klickt ?? HuhHuh

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2018, 23:02
Beitrag #3

THenry14 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2015

17.0
2014
DE


Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
(04.03.2018 22:23 )IchSelbst schrieb:  
(04.03.2018 21:33 )THenry14 schrieb:  und auch dieselben Fehler erzeugt, die ich auch während des Betriebs in der Prüfumgebung erhalten habe.
Z.B. muss im SubVI UserEventReg der Eingang Enum des SubVIs FGV_UserEvents auf Init stehen, nicht auf Receive.

Ja stimmt, damit hatte ich nur ein bisschen rumgespielt um zu gucken ob das einen Unterschied macht.

Stürzt bei jemand anderem außer mir die Entwicklungsumgebung auch ab, wenn man auf Stop klickt ?? HuhHuh

In irgendeinem SubVI hängt er sich wohl auf nehme ich an aber konnte dem leider auch noch nicht auf die Spur kommen :/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2018, 08:25
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
Hallo THenry,

Zitat:Sollte ein Bedienelement im HauptVI betätigt werden (z.B. auch Stop), so soll ein Userereignis auf True gesetzt werden, welches im SubVI ausgelesen und ausgeführt wird. Hier erscheint mir immer ein Fehler für den falschen Input.
1. Ich halte es für nicht wirklich sinnvoll, bei einer FGV den relevanten Code in einer Case-Struktur zu verstecken, die nur bei "kein Fehler" ausgeführt wird. Wie willst du hier an einen gültigen Wert kommen, wenn vorher vielleicht ein Fehler aufgetreten ist???
2. Controls/Indicators sollten (aus Performancegründen) in einem subVI immer außerhalb aller Strukturen liegen, wenn sie im ConnectorPane verknüpft sind: auch das ist bei deiner FGV nicht gegeben…

Zitat:In irgendeinem SubVI hängt er sich wohl auf nehme ich an aber konnte dem leider auch noch nicht auf die Spur kommen :/
Wie siehts aus, wenn du mal debuggst? Sonden? Bedingte Sonden? Haltepunkte?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2018, 09:16
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
(04.03.2018 23:02 )THenry14 schrieb:  In irgendeinem SubVI hängt er sich wohl auf nehme ich an aber konnte dem leider auch noch nicht auf die Spur kommen
Ich befürchte, dass hier die Sache etwas komplizierter ist.

Ich befürchte, das liegt an dem SubVI, das das SubPanel und den VI-Server handhabt. Ich halte diese Vorgehensweise nicht für gut: Parallel(!) das VI ins SubPanel laden und gleichzeitig das VI starten bzw. stoppen? Bedenke: parallel, also gleichzeitig (was es aber gar nicht gibt), bei abhängigen Methoden birgt hohes Risiko. Mindestens würde ich diese beiden Vorgänge sequenzieren.

Stutzig macht mich, dass du dieses Verfahren bereits benutzt hast und es offensichtlich funktioniert.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2018, 20:36
Beitrag #6

THenry14 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2015

17.0
2014
DE


Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
Guten Abend zusammen,

vorab danke schon mal für eure Rückmeldungen. Ich kam heute leider noch nicht zum antworten.

Zitat:1. Ich halte es für nicht wirklich sinnvoll, bei einer FGV den relevanten Code in einer Case-Struktur zu verstecken, die nur bei "kein Fehler" ausgeführt wird. Wie willst du hier an einen gültigen Wert kommen, wenn vorher vielleicht ein Fehler aufgetreten ist???
2. Controls/Indicators sollten (aus Performancegründen) in einem subVI immer außerhalb aller Strukturen liegen, wenn sie im ConnectorPane verknüpft sind: auch das ist bei deiner FGV nicht gegeben…

zu 1. Werde den Ansatz mal so mitnehmen, klingt ja schlüssig. Bin bis jetzt so gut gefahren und kannte es nur nicht anders.
zu 2. Ok, alles klar. Inwiefern wird die Performance denn negativ beeinflusst?

Zitat:
Wie siehts aus, wenn du mal debuggst? Sonden? Bedingte Sonden? Haltepunkte?

Ich habe das Programm zum Beispiel mal mit der Highlightfunktion ausgeführt um wirklich jeden Schritt zu beobachten. Und wirklich, wenn ich den Stop-Button betätige, gibt es bis zum "Ereignis erzeugen" in meiner Verbraucherschleife keinen Fehler. Nachdem dort jedoch der Inputwert True gesetzt wird, erscheint danach ein Fehler. Einer der Fragen die sich mir auftun..

Zitat:Ich befürchte, das liegt an dem SubVI, das das SubPanel und den VI-Server handhabt. Ich halte diese Vorgehensweise nicht für gut: Parallel(!) das VI ins SubPanel laden und gleichzeitig das VI starten bzw. stoppen? Bedenke: parallel, also gleichzeitig (was es aber gar nicht gibt), bei abhängigen Methoden birgt hohes Risiko. Mindestens würde ich diese beiden Vorgänge sequenzieren.

Stutzig macht mich, dass du dieses Verfahren bereits benutzt hast und es offensichtlich funktioniert.

Ich habe nochmal nachgeschaut und tatsächlich hatte ich das doch bisher sequentiell gelöst..allerdings hat das mein Problem nicht behoben :/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.03.2018, 21:51
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
(05.03.2018 20:36 )THenry14 schrieb:  Nachdem dort jedoch der Inputwert True gesetzt wird, erscheint danach ein Fehler. Einer der Fragen die sich mir auftun..
Hast du mal kontrolliert, was ich in Beitrag 2 geschrieben habe?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2018, 22:42
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
Hallo THenry,

zu Punkt 2: der Compiler"bevorzugt" Controls außerhalb von Strukturen. Außerdem kann es zu unerwarteten Rückgabewerten kommen, wenn du deine aktuelle FGV mit einem Fehler als Input aufrufst...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2018, 05:33
Beitrag #9

THenry14 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2015

17.0
2014
DE


Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
(05.03.2018 21:51 )IchSelbst schrieb:  
(05.03.2018 20:36 )THenry14 schrieb:  Nachdem dort jedoch der Inputwert True gesetzt wird, erscheint danach ein Fehler. Einer der Fragen die sich mir auftun..
Hast du mal kontrolliert, was ich in Beitrag 2 geschrieben habe?

Entschuldige hatte den Punkt leider komplett vergessen..und vielen Dank das war es. Habe es gerade auf die schnelle getestet und erhalte jetzt keinen Fehler mehr beim "Ereignis erzeugen". Werde mich heute Abend dann ans umfängliche Testen mache und hoffe, dass sich damit die Kette an Problemen löst. Werde mich dann melden!

Zitat:
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2018, 21:48
Beitrag #10

THenry14 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2015

17.0
2014
DE


Deutschland
RE: Kommunikation/Datenaustausch MainVI und SubVI
Habe mich jetzt nochmal am Testen versucht.
Die vorige Lösung hat mein Problem innerhalb des Hauptprogramms behoben. Habe noch gesehen, dass meine MSG Queue FGV noch falsche Zuweisungen, was Send und Receive angeht, hatte.
Also das MainVI läuft an sich stabil und auch das SubVI. Nur die Kommunikation zwischen den Beiden will leider immer noch nicht so recht funktionieren..UndecidedUndecided
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
  Datenaustausch über Cluster in zwei While-Schleifen creo_123 5 4.523 04.03.2022 09:36
Letzter Beitrag: Kiesch
  Eventstruktur im SubVI - Datenaustausch TpunktN 5 3.566 01.07.2021 07:15
Letzter Beitrag: Zelos
  MainVI sucht nach gelöschter .lvlib Bibliothek kwz 5 4.102 04.05.2021 16:11
Letzter Beitrag: kwz
  Datenaustausch VisualBasic / LabView goetzi 4 4.428 02.03.2016 09:32
Letzter Beitrag: goetzi
  Wechsel SubVI/MainVI, FP öffnen/schließen; LV2010 m.werle 4 4.689 12.10.2015 12:54
Letzter Beitrag: m.werle
  MainVI erstellen karo_ass 1 3.622 05.01.2014 16:11
Letzter Beitrag: Trinitatis

Gehe zu: