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!
(18.02.2011 14:23 )Sandisk schrieb: Beim Nachbauen bzw. nachvollziehen habe ich jetzt ein Problem mit den STRICT property nodes. Deine Property Node der Slide ist strict, bei mir nicht. Wie mache ich sie strict?
Hallo,
Im Sub-VI-Frontpanel Rechtsklick auf das Referenz-Element»Datentyp hinufügen und schon ist sie strict
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!
Danke. Aber bei mir stimmt was nicht, mein Property-Node der Slide im Sub-VI zeigt mir Value in orange an (also Double?) und im Bsp von JG ist es blau. Und ich kann es auch nicht ausführen weil ich die Reference im Hauptprogramm nicht mit dem Sub-VI Icon verbinden kann. Es kommt dann:
Wire: Class conflict
Ideen?
You have connected a refnum of one type to a refnum of another type and both types are members of some class hierarchy, but there is neither a simple up cast nor type cast between the two classes.
(18.02.2011 15:01 )Sandisk schrieb: Danke. Aber bei mir stimmt was nicht, mein Property-Node der Slide im Sub-VI zeigt mir Value in orange an (also Double?) und im Bsp von JG ist es blau.
orange = double/single
blau = Int/Unsigned
(18.02.2011 15:01 )Sandisk schrieb: Und ich kann es auch nicht ausführen weil ich die Reference im Hauptprogramm nicht mit dem Sub-VI Icon verbinden kann. Es kommt dann:
Wire: Class conflict
Ideen?
You have connected a refnum of one type to a refnum of another type and both types are members of some class hierarchy, but there is neither a simple up cast nor type cast between the two classes.
Klassenkonflikt. Richtige Klasse zum Element ausgewählt?
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!
Ich habe es gelöst, indem ich von der Referenz im Haupt-VI ein Create Control gemacht habe und dieses dann in mein Sub-VI gezogen habe. Dann hat es funktioniert, und auch VALUE wurde blau. Warum, keine Ahnung. Habe es vorher auch so nachgebaut, aber scheinbar was anderes damit erreicht als wie mit dem Create übers Hauptprogramm.
Im HauptVI (also da, wo der Fortschrittsbalken ist) per Rechtsklick->Create Referenz erst eine Refnum im BD erzeugen. Dann im BD Rechtsklick auf die Referenz -> Create->Control. Schon hast du eine typedefinierte Refnum, die du kopieren kannst.
Im SubVI ein allgemeines Refnum-Control anlegen. Dann im FP des HauptVI das Control auswählen und mit der Maus auf das Refnum-Control im SubVI ziehen. Es wird der korrekte Datentyp übernommen.
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!
Ich hätte noch eine allgemeine Frage: Ich habe im Sub-VI eine Schleife. In dieser Schleife wird immer ein Wert gelesen, mit Schleifenende erhalte ich ein Array mit allen gelesenen Werten. Soweit so gut. Ich möchte diese Werte aber während der Laufzeit im Hauptprogramm haben, sprich ich will diesen gelesenen Wert ins Hauptprogramm "durchgeben". (Es soll also eine Anzeige sein, die sich mit jeder Schleifeniteration ändert) Wie mache ich meinen gelesenen Wert zu einer Referenz?
Ich sollte noch anmerken dass mein "Wert" ein 1D Array ist, sprich er liest 1D Array N mal und gibt mir dann ein fertiges Array wo alle N Arrays drin sind. Ich will aber das einzeln gelesene 1D-Array zu jedem Schleifenlauf angezeigt bekommen, zur Kontrolle.
Danke Chris
Anzeige
18.02.2011, 16:48 (Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2011 16:49 von GerdW.)
Allgemeine Antwort: globale variable, Referenz auf Arrayindicator, FGV, Queue, Notifier,...
Noch allgemeiner: Suchbegriff = "Kommunikation zwischen parallel laufenden Schleifen"!
Ja mir ist beim Schreiben der Frage noch mehr eingefallen. Sorry! Und für "Kommunikation zwischen parallel laufenden Schleifen" gibt es keine Quellen. Aber ich denke Du wolltest mich damit nur auf den Arm nehmen!? ;-)
Ich hab inzwischen aber festgestellt dass mir das Array reicht, globale Variable ist unnötig.
(16.02.2011 11:12 )jg schrieb: Wird der Teil im "Hauptprogramm" auch wiederholt (also in einer eigenen Schleife) ausgeführt?
Du willst einen Fortschritt anzeigen, also laut Datenfluss muss auch immer wieder der Balken aktualisiert werden! Und das muss man auch so programmieren.
Gruß, Jens
EDIT: Mit Referenzen tust du dir wahrscheinlich leichter:
Habe gerade festgestellt dass Deine Lösung erst ab 10 Schleifendurchläufen funktioniert. Ich vermute ich muss die Scale Maximum vom Progressbar mittels Referenz ebenfalls nach oben reichen, damit es funktioniert (dann brauche ich auch keine Rechnung für den Bar, da ich das Scale Maximum auf das N meiner Schleife zuweisen werde)
18.02.2011, 18:00 (Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2011 18:02 von jg.)
(18.02.2011 17:31 )Sandisk schrieb: Habe gerade festgestellt dass Deine Lösung erst ab 10 Schleifendurchläufen funktioniert. Ich vermute ich muss die Scale Maximum vom Progressbar mittels Referenz ebenfalls nach oben reichen, damit es funktioniert (dann brauche ich auch keine Rechnung für den Bar, da ich das Scale Maximum auf das N meiner Schleife zuweisen werde)
Die Aussage ist so nicht ganz korrekt. Bis zum Schleifenindex 10 wird als Fortschritt 0% weitergegeben. Das Bsp ist halt ausgelegt auf 1000 Durchläufe und eine Anzeige in Prozent. (Der Slider ist als Standard ein U8, der kann sowieso nur bis 255 was darstellen).
Wenn du jeden einzelnen Index anzeigen willst, dann musst du den Datentyp ändern und wie gesagt das ScaleMaximum ändern.
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!