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 

reentrant Frage



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!

05.09.2010, 15:52
Beitrag #1

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
reentrant Frage
Hallo,

ich habe zur Datenerfassung mir z.B. ein VI geschrieben das kann mit dem Parameter

*Start (öffnet die Verbindung zum Kanal)
*process (liest die Werte)
*stop (schließt die Verbindung)

Zwischen den Aufrufen merkt sich das VI zB. den Port etc. intern

Jetzt möchte ich aber dieses VI mehrfach aufrufen - so einfach Reentrant setzten? ich rufe zB:

PortA VI-start VI-Process VI-Stop und parallell dazu
PortB VI-start VI-Process VI-Stop

Schätze LV macht dann bei jedem Aufruf eine eigene Instanz auf und die wissen nichts voneinander....?

Wie macht man so etwas dann?

Danke

Gottfried

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.09.2010, 18:49
Beitrag #2

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
reentrant Frage
Hallo Gottfried,

standardmäßig werden parallel aufgerufene, identische SubVIs nicht unabhängig voneinander ausgeführt. Wie LabVIEW das intern regelt, weiß ich nicht. Vermutlich wird erst das eine, dann das andere abgearbeitet. Zumindest wird nicht für jedes mehrfach verwendete SubVI ein eigener Speicherbereich angelegt.
Aber dieses Verhalten kannst du über die besagte Einstellung "reentrant" ändern:

SubVI öffnen:
File -> VI Properties -> Category: Execution -> "Reentrant execution"

Oder worum geht's dir genau?
Ich habe nicht genau verstanden, ob du genau das bereits probiert hast oder ob du diese Einstellung suchst.

Gerade bei der Messwerterfassung hat es bei mir auch immer ohne die Einstellung funktioniert:
Task erstellen mit diversen Parametern -> Messwerte einlesen (Task-Daten kommen über einen Draht vom Erstellen-SubVI -> Task beenden (Daten werden ebenfalls weitergereicht). Verdrahtung wie hier.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2010, 19:30
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
reentrant Frage
Hallo, Mechatronik-Ingenieur,
ich denke, es geht gottfried um Folgendes:
Er hat sich ein FGV-VI mit mehreren Zuständen geschrieben:
-Port öffnen
-lesen
-schreiben
-Port schließen

Port-Refnum u.ä. merkt er sich im Schieberegister des FGV.

So ein VI kann jetzt beliebig aufgerufen werden an verschiedenen Stellen aufgerufen werden, vor allem Lese/Schreibeaufrufe, sobald einmal der Port geöffnet ist.

Aber jetzt soll das Ganze parallel für 2 Ports laufen. Reentrant würde jetzt die Lösung lauten, aber das geht ja nicht, wegem dem FGV mit den verschiedenen States, die an verschiedenen Stellen im Programm aufgerufen werden...

@gottfried: Mir fällt gerade auch nichts Gescheites ein. Eine Idee wäre, sich im FGV ein "Array of Refnum" zu merken. Damit wäre dann die parallele Programmierung wieder möglich. Allerdings echt parallel ausgeführt wird es dann nicht.

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
07.09.2010, 08:37
Beitrag #4

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
reentrant Frage
Danke erst einmal, es gibt auch Sicherheit wenn andere auch keine Lösung finden.

Gottfried

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
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
  Reentrant VI´s debuggen NoWay 2 6.769 07.07.2015 13:59
Letzter Beitrag: Kiesch
  non-reentrant Sub-VIs in unabhängigen Applikationen Nordvestlys 2 2.751 02.03.2015 11:44
Letzter Beitrag: Nordvestlys
  Verständnisfrage zu reentrant VI´s NoWay 1 4.253 27.05.2014 09:50
Letzter Beitrag: gottfried
  reentrant und subpanel raeuberfisch 4 4.106 01.03.2013 06:56
Letzter Beitrag: raeuberfisch
  Reentrant Vis und Netzwerkvariablen zusammen nutzbar? phoenics 3 6.046 08.04.2010 06:59
Letzter Beitrag: cb
  Reentrant aber was ist mit den subVIs? gottfried 7 8.615 09.07.2009 09:09
Letzter Beitrag: gottfried

Gehe zu: