Hallo miteinander,
ich verwende eine konstante Zahl sehr oft in meinem Programm, und möchte bei einer Änderung nicht jedes Mal jedes Element umschreiben müssen. Kann ich eine Konstante definieren, die ich mehrmals verwenden kann und die ihren Wert nur von einer numerischen Konstante erhält? Ich hab es über eine lokale Variable versucht, aber die kann ich ja nur mit einem Eingabe Element beschreiben.
Dann möchte ich in einer numerischen Eingabe einen Standardwert vorgeben der standardmäßig NICHT 0 ist, finde die EInstellung dafür nicht.
Vielen Dank für jede Hilfe..
1. Du kannst an eine lokale/globale/funktionale Variable natürlich eine Konstante anschließen. Wenn du diese Konstante VI-übergreifend benötigst, solltest du auf die funktionale globale Variable ausweichen. Such mal hier im LVF danach bzw. nach "functional global"
2. Wert eintragen...rechtsklick...Make current value default
1.
Wie Du selbst schon sagtest: Statt Konstante Bedienelement nehmen, und davon lokale Variablen (lesend) erzeugen.
(Tipps: a) Für Bedienelement kurzen Namen verwenden, als z.B "X", damit die lokalen Variablen nicht so groß in der Fläche sind, also ähnlich klein wie Konstanten. b) Bedienelement verbergen und/oder außerhalb der normalen Bedienfläche platzieren)
2.
Standardwert festlegen:
a) siehe Achim: rechte Maustaste /Datenoperationen--> aktuellen Wert als Standard (= für angeklicktes Bedienelement)
b) Menüleiste/bearbeiten/aktuelle Werte als Standard (= für allen Bedienlemente)
Ok, danke Jungs ..
dass man für eine Variable ein Bedienelement erstellen Muss find ich zwar nicht ganz sinvoll, aber wenn man das dann ausblenden kann ist ja auch nicht so schlimm.
Greetings insertcoin
Ich hätte noch eine Frage..
ich möchte später die Daten aus meinem Graphen/ und die enthaltenen Kurven als Bild speichern. Bezogen auf die Daten, welche Datentypen würdet ihr mir den empfehlen?? hab in den Beispielen gesehen, dass es über eine Excel, XML oder auch so eine TDMS geht. Ich hab einfach noch keine Erfahrungswerte mit LabVIEW, und würde gern wissen was ihr so verwendet.
(Ich weiß das gehört normal in einen anderen Thread, aber den hab ich ja jetzt eh schon angefangen).
' schrieb:Bezogen auf die Daten, welche Datentypen würdet ihr mir den empfehlen?? hab in den Beispielen gesehen, dass es über eine Excel, XML oder auch so eine TDMS geht.
Ich würde ganz einfach in *.txt-Dateien speichern, die kann man mit nahezu jedem anderen Programm importieren!
' schrieb:Ok, danke Jungs ..
dass man für eine Variable ein Bedienelement erstellen Muss find ich zwar nicht ganz sinvoll, aber wenn man das dann ausblenden kann ist ja auch nicht so schlimm.
Greetings insertcoin
Hallo insertcoin,
Versteckte Bedienelemente finde ich nicht so gut. Ein anderer der später das Programm erweitern soll kennt diese nicht und das macht es nicht leichter, Außerdem finde ich lokale Variablen auch nicht so toll. Du kannst auch ein SubVI erstellen dort die Konstante einfügen deinen Wert eintragen, ein Anzeigeelement anschließen und als Ausgang aus dem VI deklarieren. Diese VI kannst du dann als Konstante in deinem Projekt benutzen. (wurde weiter oben evtl. ich schon angesprochen)
Mike
' schrieb:Versteckte Bedienelemente finde ich nicht so gut. Ein anderer der später das Programm erweitern soll kennt diese nicht und das macht es nicht leichter,
Bei einem absolutem Anfänger könnte man so eine abwegige Meinung verstehen, aber bei Dir verstehe ich das nicht. Das Bedienelement ist doch nur im Frontpanel versteckt, damit wird verhindert, daß ein normaler Benutzer weder durch dessen Existenz irre gemacht wird, noch daß es von ihm bedient werden kann. Im Blockbild - und das ist das was den Programmierer berifft - ist es doch uneingeschränkt sichtbar.
Zitat:Außerdem finde ich lokale Variablen auch nicht so toll.
Vor allem sind sie deswegen nicht so toll, weil infolge Wettlaufeffekten unerwartete Resultate entstehen können. Dieses Argument entfällt aber hier, weil lediglich zu Programmbeginn eine Konstante eingespeist wird und dann nur noch in lesender Form auf die lokalen Variablen zugegriffen wird.
Zitat:Du kannst auch ein SubVI erstellen dort die Konstante einfügen deinen Wert eintragen, ein Anzeigeelement anschließen und als Ausgang aus dem VI deklarieren. Diese VI kannst du dann als Konstante in deinem Projekt benutzen.
Das Verückteste, was ich hier im Forum erlebt habe, war, daß jemand lokale Veriablen in ihrer negativen Bewertungskala gleichstellte mit dem berüchtigtam "Goto"-Befehl in textorientierten Programmiersprachen. Wer solche Meinungen mit sich herumträgt, der möge es bitte so machen. Der Aufruf eines Sub-Vis - auch wenn sie nur ein Konstante enthält - ist aber allemal langsamer als der Aufruf einer einfachen lokalen Variablen.
Der reine Puritaner wird es aber ohnehin anders machen. Er wird alle Konstanten in einem VI nur einmal deklarieren und dann zu allen Stellen, an denen er den Wert braucht, Dahtverbindungen hinziehen. Das Blockbild wird dann allerdings unübersichlich. Ich selbst schätzte Übersichtlichkleit mehr als die Verwirklichung einer reinen Lehre - aber das ist Ansichtssache. Und Du selbst argumentierst ja eingags auch, daß es wichtig ist, dass andere das Programm verstehen.
Hallo Lucki,
gute Argumente.
Ich denke einfach das niemand versteckte "Bedienelemente" benötigt, denn eigentlich sind sie ja zum bedienen da, aber wenn der Anwender es nicht sieht dann kann er es auch nicht bedienen. Ich denke das alle Werte die man benötigt in Schieberegistern, Queues, oder einfach im Draht gespeichert werden können.
Ich ziehe die Benutzung des Drahtes vor, den der Draht ist der Wert.
Die ursprüngliche Aussage war jedoch das insertcoin den Wert in seinem Programm benutzen möchte, das heißt nicht das es sich dabei um ein einzelnes VI handelt.
Der Draht ist die Variable und deshalb immer zu bevorzugen! Aufgrund der Übersichtlichkeit eine lokale/globale/... Variable zu benutzen ist in LabVIEW das schlechtest das man machen kann. Variablen von LabVIEW können icht mit Variablen von C oder anderen Text orientierten Sprachen verglichen werden.
Mike