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 

Hochlaufende Min Max Anzeige



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!

24.01.2014, 23:26
Beitrag #1

klausinger86 Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Dec 2013

2015SP1-Base
2013
DE


Oesterreich
Hochlaufende Min Max Anzeige
Hallo,

ich habe ein, für mich recht tolles, SubVi erstellt mit dem ich einen hochlaufenden Min und Max Wert aus einem Kanal meiner DAQ über die gesamte Messdauer ermitteln kann. Es funktioniert auch gut, wenn man es alleine verwendet! Sobald man zwei von diesen SubVis betreibt gibt es Probleme. Der min- bzw. max-Wert wird vom anderen SubVi übertragen. Ich vermute es liegt an der Rückführung und der dadurch entstandenen globalen Variable. Womöglich verwenden beide SubVis die selben Variablen. Dies ist natürlich schlecht, den so können die einzelnen Kanäle nicht getrennt geprüft werden.

Welche Möglichkeiten gibt es noch, außer jedes zusätzlich SubVi des selben Typs umzubenennen?

Anbei mein Test-VI


Angehängte Datei(en)
13.0 .vi  Test hochlaufend min max R1.vi (Größe: 10,26 KB / Downloads: 156)

13.0 .vi  hochlaufend min max dynSignal.vi (Größe: 22,02 KB / Downloads: 176)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.01.2014, 23:44
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Hochlaufende Min Max Anzeige
Hallo Klaus,

(24.01.2014 23:26 )klausinger86 schrieb:  Ich vermute es liegt an der Rückführung und der dadurch entstandenen globalen Variable. ... Womöglich verwenden beide SubVis die selben Variablen.

Eine globale Variable entsteht ja nu nicht aus dem NIX!
Wenn du eine verwendest und mehrere VIs auf dieselbe Variable schreiben, dann überschreiben sie sich natürlich gegenseitig die Werte. (Ich muss dazu sagen, dass ich deine VIs nicht öffnen kann)
Ich vermute mal, dass du mit jedem SubVI einen Kanal prüfst. Ein Vorschlag wäre, die Werte nicht in eine glob. Var. zu schreiben sondern in eine Queue, die du so gestaltest, dass jedes Sub-VI in seinen eigenen Bereich schreiben kann. Parallel dazu kannst du in einem neuen Auswerte-VI die Daten aus der Queue lesen und deine Auswertung machen.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2014, 00:17
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Hochlaufende Min Max Anzeige
Liest sich wie der klassische Fall für ein reentrant VI.

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
25.01.2014, 00:26 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2014 00:26 von Trinitatis.)
Beitrag #4

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Hochlaufende Min Max Anzeige
@Jens
Aber wie isses denn, wenn die reentrant VI-Instanzen alle auf dieselbe glob. Var. schreiben?

Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2014, 08:44
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Hochlaufende Min Max Anzeige
@Marko:
Das kommt jetzt auf den Sourcecode an, kann ich mir gerade auch nicht anschauen.

Wenn wirklich eine globale Variable angelegt wurde, dann bleibt das Problem natürlich bestehen.

Wenn das Zitat "Rückführung" aber eine Feedback-Node meint, dann ist das keine globale Variable. Dann löst "Reentrant" das Problem.

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
25.01.2014, 09:29
Beitrag #6

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Hochlaufende Min Max Anzeige
Okay, dann ist meine LabView-Welt wieder zurechtgerückt Smile


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.01.2014, 10:08
Beitrag #7

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: Hochlaufende Min Max Anzeige
Dein SubVI gibt es übrigens auch als fertige Funktion, und die ist dann auch reentrant.

12.0 .vi  Test hochlaufend min max R1.WA.vi (Größe: 7,85 KB / Downloads: 205)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2014, 19:40
Beitrag #8

klausinger86 Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Dec 2013

2015SP1-Base
2013
DE


Oesterreich
RE: Hochlaufende Min Max Anzeige
Danke für den Tipp mit dem fertigen SubVi, ich dachte nur, dass so ein Array VI nicht bei dynamischen Daten funktioniert, deshalb habe ich es nicht mal versucht.
Ich hab es jetzt eingebaut und mit dynamischen Daten aus dem DAQ-Assistenten ausprobiert und es schein soweit zu funktionieren. Weitere Tests werden noch durchgeführt.

Ich selbst habe keine globale Variable erstellt.

Falls es sich noch jemand anschauen will stelle ich noch die VIs in einer älteren Version zur Verfügung.


Angehängte Datei(en) Thumbnail(s)
       

13.0 .vi  LV_10 SubVi hochlaufend min max dynSignal.vi (Größe: 22,08 KB / Downloads: 140)

13.0 .vi  LV_10 Test hochlaufend min max R1.vi (Größe: 10,36 KB / Downloads: 151)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2014, 09:35 (Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2014 09:37 von Lucki.)
Beitrag #9

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: Hochlaufende Min Max Anzeige
(25.01.2014 19:40 )klausinger86 schrieb:  Danke für den Tipp mit dem fertigen SubVi, ich dachte nur, dass so ein Array VI nicht bei dynamischen Daten funktioniert, deshalb habe ich es nicht mal versucht.

Bei der von mir vorgeschlagenen Funktion handelt es sich aber gerade nicht um ein "Array"-VI, sondern um das Gegenteil: ein "Point to Point" -VI. Eigentlich kann man das gar nicht übersehen, aber Du hast das irgendwie doch geschafft. Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.01.2014, 09:43
Beitrag #10

klausinger86 Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Dec 2013

2015SP1-Base
2013
DE


Oesterreich
RE: Hochlaufende Min Max Anzeige
Hallo Lucki,

jetzt habe ich entdeckt warum ich das Vi-nicht gefunden haben. Ich habe es nicht in der Bibliothek.
Also Danke für das Vi. Jetzt kann ich hoffentlich ein SubVi daraus machen.

lg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: