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!
22.10.2011, 09:13 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2011 09:22 von Pitt.)
ich bin neu hier im Forum und dazu ein Labview anfänger. Inzwischen habe ich hier eine menge über Funktionale Globale Variablen gelesen und setze diese auch erfolgreich ein. Allerding habe ich oft gelesen, das es sich um nicht initialisierte Schieberegister handelt. z.B. hier: http://www.fu-net.de/lv/lv02/
Die meisten Beispiele hier im Forum werden aber mittels Enum beim ersten Aufruf initialisiert, was ich auch so übernommen habe. Nun meine Frage was "besser" ist, bzw. sinnvoller. Da ich ein 1280x960 Array und vier 640x480 Arrays mit meiner FGV verwalte fand ich das Initialisieren irgendwie besser, was ich aber auf meine c++ Erfahrung zurückführe da ich das da so gelernt hab immer und alles zu initialisieren.
Schon mal danke ich bin gespannt.
Meine FGV hänge ich auch mal dran!
PS: Da dies mein erster Beitrag ist und ich nicht weiß ob gleich meine LabVIEW Version angezeigt wird.
Studentenversion 9.0
Edit: Ups, vergessen auf Attachment hinzufügen zu klicken... einfach übersehen. Und das mit der Version hat sich ja dann auch erledigt
"Nicht-initialisiertes" Shift-Register bedeutete ganz konkret, dass du am "Eingang" (also am linken Rand der Schleife) keine Werte hineinführst.
Innerhalb eines FGV einen Init-Case einzubauen, bei dem dann das Schieberegister für weitere Verwendung vorbelegt wird ist ganz normal. Du hast also nichts falsch gemacht.
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!
Ein FGV-VI dient eigentlich nur zum VI-übergreifenden Austausch von Variablen. Darin außer der genannten Funktion noch zusätzlichen Code unterzubringen, ist nicht üblich - aber verboten ist es auch nicht. Ich würde diesen zusätzlichen Code in ein anderes SubVI auslagern.
Wie kommt du eigentlich darauf, daß mit der Binärisierung in 0 und 1 Speicherplatz gespart wird? Das Array bleibt gleich groß, wird aber bei dieser Gelegenheit von U8 nach I16 konvertiert. Das benötigt doppelt so viel Speicherplatz, nicht weniger. Die Inline-Operation verliert dann auch seinen Sinn.
23.10.2011, 19:26 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2011 19:29 von Pitt.)
@Lucki: Der Spruch mit dem Speicher war nur eine weitere notiz für mich selber und bezog sich nicht auf die Binärisierung, ich meinte damit Ursprünglich die FGV im allgemeinen, da ich zuerst immer meinen Speicher gefüllt habe bis nix mehr ging... Den Spruch hätte ich mal löschen sollen. Das Labview was Datentypen angeht manchmal etwas unflexibel ist, ist mir auch schon aufgefallen. Was den Code in der FGV angeht, dachte ich erst dadurch verdiehnt sie den Namenszusatz "Funktional".
Außerdem sieht mein Main.vi dadurch so schön aufgeräumt aus...
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: FGV - initialisieren oder nicht?
Inwieweit?
Gruß Markus
(23.10.2011 19:26 )Pitt schrieb: Das Labview was Datentypen angeht manchmal etwas unflexibel ist, ist mir auch schon aufgefallen.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
23.10.2011, 19:52 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2011 19:53 von Pitt.)
Naja, ich hatte meine gesamte Berechnung in U8 gehalten, da dies für die maximal 0-255 Graustufen völlig ausreichend ist. Dann wollte ich das Bild binärisieren, da ich später noch den Schwerpunkt berechne. Leider gibt es die Umwandlung von Bool=> Integer nur die 16bit ausgabe, hier wäre die Option "Darstellung" ebenfalls wünschenswert. Naja, kritik auf hohem niveau...
(23.10.2011 09:26 )Lucki schrieb: Ein FGV-VI dient eigentlich nur zum VI-übergreifenden Austausch von Variablen. Darin außer der genannten Funktion noch zusätzlichen Code unterzubringen, ist nicht üblich - aber verboten ist es auch nicht.
(23.10.2011 19:26 )Pitt schrieb: @Lucki: Was den Code in der FGV angeht, dachte ich erst dadurch verdiehnt sie den Namenszusatz "Funktional".
Außerdem sieht mein Main.vi dadurch so schön aufgeräumt aus...
Ich widerspreche Lucki. IMHO ist es natürlich erlaubt, in einem FGV auch Funktionalitäten unterzubringen, die nicht nur dem Datenaustausch dienen. Ob dieser Code dann noch in ein SubVI ausgelagert wird oder nicht, ist Ermessenssache.
(23.10.2011 19:26 )Pitt schrieb: Ach ja wie entknäule ich denn ein Vi??
Mein Tipp ist Handarbeit. Die Aufräum-Funktion bringt nur begrenzt übersichtlichere BDs zustande.
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!
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: FGV - initialisieren oder nicht?
Mach' mal in Deinem Blockdiagramm einen Rechtsklick auf "Boolean Array to Number", dann wähle "Properties" aus und dann wählst Du "Output Configuration". Da kannst Du den Datentyp dann umstellen.
Gruß Markus
(23.10.2011 19:52 )Pitt schrieb: Naja, ich hatte meine gesamte Berechnung in U8 gehalten, da dies für die maximal 0-255 Graustufen völlig ausreichend ist. Dann wollte ich das Bild binärisieren, da ich später noch den Schwerpunkt berechne. Leider gibt es die Umwandlung von Bool=> Integer nur die 16bit ausgabe, hier wäre die Option "Darstellung" ebenfalls wünschenswert. Naja, kritik auf hohem niveau...
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
das hatte ich bereits versucht, leider scheint es das bei mir nicht zu geben. Unter Eigenschaften kommt nur die Möglichkeit die Beschriftung ein und auszuschalten. siehe screenshot.
(24.10.2011 07:44 )Y-P schrieb: Mach' mal in Deinem Blockdiagramm einen Rechtsklick auf "Boolean Array to Number", dann wähle "Properties" aus und dann wählst Du "Output Configuration". Da kannst Du den Datentyp dann umstellen.
Gruß Markus
24.10.2011, 08:26 (Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2011 08:26 von Y-P.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: FGV - initialisieren oder nicht?
Komisch, hier tut's:
Gruß Markus
EDIT: Vielleicht geht' das erst seit den neueren Versionen.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------