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 

Subvi gib nicht kontinuierlich Daten zurück



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!

19.10.2012, 14:21
Beitrag #1

Atilla Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2012

11
2012
DE


Deutschland
Question Subvi gib nicht kontinuierlich Daten zurück
Hallo.

Ich beschäftige mich erst seit kurzem mit Labview lv11_img und versuche es mir selber anhand von Lektüren und Internet beizubringen.

Meine Arbeit läuft darauf hinaus, dass ich eine Oberfläche für einen Mikrokontroller anfertigen muss. Da dieser jedoch nicht vorhanden ist, wollte ich mir vorerst einen Mikrokontroller simulieren. Dafür habe ich ein VI erstellt, welches mir einfach nur die Ein- und Ausgaben simuliert. Die eigentlich Werte spielen dabei keine große Rolle. Mir ist auch bewusst, dass manche Verbindungen unsinnig sind, aber ich brauche halt diese Ein-/Ausgänge.

Nun stellt sich mir die Frage, ob meine rangehensweise sinnvoll war. Denn als ich versucht habe das Vi in ein anderes Vi einzubinden, ergab sich für mich das Problem, dass das Subvi nur einmalig Wert zurück gab und ich auch nur einmalig Werte übergeben kann.
Aber ich brauche diesen ständigen Datenfluss. Ich habe auch alle Ein- und Ausgaben mit den Anschlüßen verbunden aber trotzdem ist alles nur einmalig. Auch wenn ich dann das SubVi in eine Schleife packe, werden die Werte wieder nur einmalig zurück gegeben.

Im Anhang befindet sich mein Subvi. die übergeordnete Instanz existiert noch nicht, da ich gerade nur dieses Problem lösen möchte.

Dabei möchte ich von oben auf alle Werte zugreifen und alle Werte abfragen können.

Warum gibt er nur einmalig einen Wert zurück, wenn ich doch im SubVi selbst doch kontinuierlich Werte erhalte? Bahn

gruß Atilla

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.10.2012, 16:40 (Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2012 16:41 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Subvi gib nicht kontinuierlich Daten zurück
Hallo Attila,

1) Du hast kein VI angehangen, sondern nur ein Bild eines BD eines VIs. Das ist ein gewaltiger Unterschied!

Zitat:Warum gibt er nur einmalig einen Wert zurück, wenn ich doch im SubVi selbst doch kontinuierlich Werte erhalte?
2) Dein VI besteht aus 3 Schleifen, die alle auf eine Abbruchbedingung warten. Erst wenn alle 3 Schleifen beendet sind, wird auch das VI beendet. Das nennt sich in LabVIEW DATAFLOW - und das ist das Grundprinzip von LabVIEW!

3) Du verwendest zuviele lokale Variablen. Wenn möglich, immer Drähte verwenden! (Siehe Punkt 2, DATAFLOW!)
4) Wenn du anderen deine VIs präsentierst, schadet es i.A. nicht, vorher mal den Aufräumknopf zu betätigen... Smile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2012, 19:05
Beitrag #3

Atilla Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2012

11
2012
DE


Deutschland
RE: Subvi gib nicht kontinuierlich Daten zurück
Vielen Danke für deine Antwort.

1) Ok, es tut mir leid, dass ich mich falsch ausgedrück habe, wäre es den hilfreicher, wenn ich das VI anhänge oder lässt sich mein Problem auch so erkennen?

2)Ok, das mit dem Dataflow wusste ich nicht. Nun oute ich mich als totalen Anfänger, dann werde ich mich nun die nächsten Tage mit weiter auseinader setzen.
Aber soll das nun heißen, dass die Werte erst übergeben werde, wenn die Schleifen beendet werden?

3)Ich habe mir gedacht, dass es so übersichtlicher wird. Ist es den Ok wenn ich alles verdrahte, anstatt Variablen zu benutzen. Das sind doch Lokale Variablen, die sind doch von außen nicht sicherbar.

4)Meinst du mit den Aufräumknöpfen, die in der oberen Leiste, welche für mich alles neu strukturieren? Ich habe es mal probbiert, fand aber das Ergebnis nicht sehr übersichtlicher.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2012, 22:34
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Subvi gib nicht kontinuierlich Daten zurück
Ich stand vor dem gleichen Problem, ein Mikrokontroller zu simulieren. Die Verbindung zwischen Mikrocontroller und PC ist original eine serielle Schnittstelle. Das habe ich beibehalten. Das Simulationprogramm kann sich auf anderen PC befinden, man kann aber auch alles auf einem PC machen, der muss dann nur 2 serielle Schnittstellen haben, die durch ein gekreuztes Kabel miteinader verbunden werden. Die beiden Programme - Simulation und Auswertung - laufen parallel.

Der Datenaustausch zwischen PC und µp-Simulator innerhalb eines einzigen VI, dazu noch Datenautausch statt über Queues über lokale Variablen, die überhaupt keine gegenseitige Synchronisation erlauben, ist ein schlechter oder sogar unbrauchbarer Ansatz - würde ich sagen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.10.2012, 07:58 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2012 08:00 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Subvi gib nicht kontinuierlich Daten zurück
Hallo Attila,

Zitat:1) Ok, es tut mir leid, dass ich mich falsch ausgedrück habe, wäre es den hilfreicher, wenn ich das VI anhänge oder lässt sich mein Problem auch so erkennen?
Ich glaube, das Problem auch so erkannt zu haben, siehe Meldung #2. Es liegt an dir, dies auszutesten...

Zitat:2)Ok, das mit dem Dataflow wusste ich nicht. Nun oute ich mich als totalen Anfänger, dann werde ich mich nun die nächsten Tage mit weiter auseinader setzen. Aber soll das nun heißen, dass die Werte erst übergeben werde, wenn die Schleifen beendet werden?
Ja. DATAFLOW: Ein Knoten (Funktion, Struktur, etc) wird erst ausgeführt, wenn alle benötigten Daten bereitstehen! Auf dein VI bezogen: Erst wenn alle Schleifen beendet sind, wird das VI beendet. Erst wenn dein VI beendet ist, wird ein übergeordnetes MainVI weiterlaufen...

Zitat:3)Ich habe mir gedacht, dass es so übersichtlicher wird. Ist es den Ok wenn ich alles verdrahte, anstatt Variablen zu benutzen. Das sind doch Lokale Variablen, die sind doch von außen nicht sicherbar.
Mach dir nichts draus: typischer Anfängerfehler!
Grundprinzip: LabVIEW speichert Daten nicht in "Variablen", sondern in Drähten!
"Lokale Variablen" sind nur Kopien eines Bedienelements (und das im wahren Wortsinn: auch bei einem Arrayindicator wird eine volle Kopie des Arrays im Speicher gehalten!). Darüber hinaus führen Kopien zu RaceConditions!

Zitat:4)Meinst du mit den Aufräumknöpfen, die in der oberen Leiste, welche für mich alles neu strukturieren? Ich habe es mal probbiert, fand aber das Ergebnis nicht sehr übersichtlicher.
Das Aufräumtool ist nie perfekt, aber meist besser als der typische Anfänger Smile Z.B. verhindert es zuverlässig verdeckte und geknickte Drähte (hinderlich für den Dataflow Big Grin ) oder von rechts-nach-links verlaufende...

@Lucki:
Bist du dir sicher, dass deine Antwort hierher gehört?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.10.2012, 09:19 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2012 09:29 von Atilla.)
Beitrag #6

Atilla Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2012

11
2012
DE


Deutschland
RE: Subvi gib nicht kontinuierlich Daten zurück
@Lucki:
was wäre dann deiner Meinung nach ein besser Ansatz. Also ich brauche es ja nur zum testen, ob er überhaupt bei mir funktioniert. Gibt es den eine andere Möglichkeit, die Strings, welche ich über die Serielle Schnittstelle erhalte zu simulieren, die dann abzufangen, auf zu splitten und dann zu verarbeiten?

@GerdW
Danke für deine Tipps, ich werde sie versuchen zu beherzigen.

Aber im Grund kann ich sagen, mit meinem Ansatz, werde ich nicht weit kommen. Es ist gut für mich da ich nun etwas gelernt habe, aber für meine eigentliche Steuerung irrelevant.

Wäre es nicht möglich vll. das Problem mit einer Globalen Variable zu lösen? ICh weiß, das dies keine schöne Lösung ist, aber ich brauche einfach nur diese Werte in den höheren Instanzen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Aufgerufene SubVI nicht bedienbar L@BTR0N 2 3.718 02.03.2020 13:39
Letzter Beitrag: L@BTR0N
  Fehlermeldung 91 bei 2D Array umwandeln zu Variant und wieder zurück Tobzn 4 4.337 31.03.2018 21:05
Letzter Beitrag: Tobzn
  Daten werden nicht in die Tabelle geschrieben Lou_ders 6 4.314 03.11.2017 11:36
Letzter Beitrag: jg
  Werte aus SubVI werden nicht aktualisiert McButch 24 11.735 13.10.2016 14:20
Letzter Beitrag: jg
  Code funktioniert als SubVI nicht mehr!?! Labview Newbie 4 5.298 14.05.2016 11:26
Letzter Beitrag: IchSelbst
  Fehlerbehandlung funktioniert bei (GXML) SubVI nicht hansi9990 2 3.867 29.09.2015 18:50
Letzter Beitrag: hansi9990

Gehe zu: