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 

LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende



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!

21.10.2009, 14:13
Beitrag #1

angori Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2008

8.00
-
de

48520
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
Hallo miteinder

Ich habe ein Subvi erstellt, in welchem ich Signalwerte in einem Array zwischenspeichere.
Nun hat LV (Version 8.6) Probleme damit, wenn ich das Subvi zweimal verwende. Sprich es verwendet jeweils in beiden Subvi die eigenen und die Daten des anderen (Subvi's).

Hat jemand eine Idee an was das liegen kann?

Anbei das Subvi.


Bin für jeden Tipp dankbar!

Gruss
angori


Angehängte Datei(en)
Sonstige .vi  buffer.vi (Größe: 11,59 KB / Downloads: 259)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.10.2009, 16:12 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2009 16:15 von Achimedes.)
Beitrag #2

Achimedes Offline
LVF-Freak
****


Beiträge: 544
Registriert seit: Aug 2005

2011
2001
DE

72461
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
Hallo,

also schön ist dei code nicht.Smile

Aber das war nicht deine Frage.

Versuch mal Bei den Eigenschaften deines Vis (Datei/VI einstellungen ) Kategorie (Ausführung), Ablaufinvariante Ausführung zu wählen.
Vielleicht gehts damit.

Grüße

Wer Rechtschreibfehler findet .... darf sie behalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2009, 19:45
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
' schrieb:also schön ist dei code nicht.Smile
Vor allem, wenn man das VI einmal auf die Standard-Form eines FGV reduziert:
   

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.10.2009, 11:05
Beitrag #4

angori Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2008

8.00
-
de

48520
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
Hallo Besten Dank für den Tipp..doch es geht leider immer noch nicht...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.10.2009, 11:34
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
Lad mal ein Bsp-VI und das SubVI hoch, wo es nicht so funktioniert, wie du willst.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.10.2009, 13:12
Beitrag #6

angori Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2008

8.00
-
de

48520
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
Anbei ein Beispiel. Das Problem taucht nicht immer auf .. aber die Variable valueIN in buffer.vi scheint wohl Probleme zu machen. Auf jeden Fall sollte das eine Array immer nur 1 und das andere 0 enthalten...aber irgendwie werden die Werte durchmischt.

Danke schon mal für die Bemühungen.


Angehängte Datei(en)
Sonstige .vi  main.vi (Größe: 8,32 KB / Downloads: 185)

Sonstige .vi  buffer.vi (Größe: 11,94 KB / Downloads: 203)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.10.2009, 15:07
Beitrag #7

Achimedes Offline
LVF-Freak
****


Beiträge: 544
Registriert seit: Aug 2005

2011
2001
DE

72461
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
Main.Vi
dein Taster First sitzt auserhalb der schleife. wenn der True ist und du das programm startest bleibt die variable am schleifeneingang immer true egal ob dur "First" zurücksetzt oder nicht.
Pack das in die schleife.
Mach aus der Konstante die an dem Bedingungsanschlus auch einen taster, sonst läuft die ewig, zumindest solange du LV nicht mit dem Roten Knopf abwürgst (Was mann auser im Fehlerfall sowiso nie machen sollte).
Ändere dein Schaltferhalten des Tasters "First" (rechtsklick-schaltverhalten) dann musst du ihn nicht so furchtbar über eine lokale Variable zurücksetzten.

Buffer VI
stell es so ein wie ich es schon geschreiben hab (Ablaufinvariant) dann gehts.

Gruß Achimedes

Wer Rechtschreibfehler findet .... darf sie behalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.10.2009, 18:35
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
LV kommt nicht damit klar, wenn ich ein Subvi zweimal verwende
' schrieb:Hallo Besten Dank für den Tipp..doch es geht leider immer noch nicht...
Und wieso wurde keiner der Tipps umgesetzt?
Ich hab dir deinen Code verbessert, und Achimedes hat dir den wichtigen Hinweis mit der "Reentrant"-Funktionalität gegeben.
Nix, aber dann kommt die Aussage, geht immer noch nicht.Sad

Mal ein wenig LabVIEW-Hintergrund:

Ein normales VI existiert (zusammen mit seinem VI-eigenen Speicherbereich) zur Laufzeit nur einmal im Speicher von LabVIEW. Somit kann das, was du vorhast, nicht funktionieren. Beide SubVI-Aufrufe greifen auf denselben Speicherbereich zu, einmal setzt du einen Wert 0, dann gleich wieder 1, das kann nicht gehen (ganz zu schweigen von der dauernden Initialiserung, die du durchführst, dazu ist zu sagen: DATENFLUSS!).

Dieses Verhalten ist sehr nützlich, z.B. bei der Erstellung sogenannter "Funktionaler Globaler Variablen" oder FGV (Beispiele zu diesem Konzept im Forum).

Du willst aber den SubVI-Speicher 2x parallel verwenden. Auch das geht, ist aber nicht die Standard-Einstellung für ein SubVI. Hierzu geht man in die VI-Eigenschaften (Rechtsklick auf das VI-Icon->VI-Eigenschaften) und dann auf die Execution Seite. Dort Haken bei Reentrant setzen:
   
Jetzt ist jeder Aufruf des VIs unabhängig von anderen Aufrufen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
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
  woher kommt diese Meldung? gottfried 2 2.978 14.09.2020 14:48
Letzter Beitrag: gottfried
  Bestimmte Zeilen im Array löschen wenn Bedingung nicht erfüllt ist bachatero18 4 5.372 31.03.2020 14:49
Letzter Beitrag: bachatero18
  Aufgerufene SubVI nicht bedienbar L@BTR0N 2 4.163 02.03.2020 13:39
Letzter Beitrag: L@BTR0N
  Sequenz wird zweimal durchlaufen mprocket 7 5.740 21.01.2018 18:59
Letzter Beitrag: mprocket
  .NET Reference, Invoke Node - Wie damit umgehen thz89 6 5.051 09.08.2017 08:39
Letzter Beitrag: thz89
  Werte aus SubVI werden nicht aktualisiert McButch 24 13.757 13.10.2016 14:20
Letzter Beitrag: jg

Gehe zu: