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!
20.11.2009, 13:33 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2009 13:33 von Lucki.)
' schrieb:Ist das nicht einfach ein optionaler Anschluss mit Standardwert 1???
Angnommen, es wäre so: Wie schafft es dann das Vi, sich in den beiden Fällen unterschiedlich zu verhalten:
a) Eingang nicht angeschlossen (oberes Bildhälfte)
b) Eingang angeschlossen, aber der angeschlossene Wert ist der Standardwert 1 (untere Bildhälfte)
Und außerdem: Den Standardwert kann ich u.a. feststellen, infem ich mit der rechten Maustaste eine Konstante erzeuge. Wenn es danach geht, dann wäre der Standardwert 0. Aber auch hier gilt: Wenn ich diesen vermutlichen Standardwert anschließe, macht das VI auch wieder etwas anderes als wenn nichts angeschlossen ist, nämlich: "nichts löschen".
Gruß Ludwig
NB. Habe LV2009 zwar installiert, aber kaum benutzt. Kann mir mal jemand auf die Schnelle sagen, wie ich aus den geposteten 2009-PNGs ein VI machen kann?
' schrieb:NB. Habe LV2009 zwar installiert, aber kaum benutzt. Kann mir mal jemand auf die Schnelle sagen, wie ich aus den geposteten 2009-PNGs ein VI machen kann?
Du speicherst dir das PNG irgendwo lokal und dann ziehste die Datei einfach ins BD.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
' schrieb:NB. Habe LV2009 zwar installiert, aber kaum benutzt. Kann mir mal jemand auf die Schnelle sagen, wie ich aus den geposteten 2009-PNGs ein VI machen kann?
Drag&Drop vom Explorer ins BD.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
' schrieb:In der neuen FGV vergleiche ich also die Werte im Cluster mit den Standardwerten, nur wenn die neuen Werte ungleich dem Standard sind, werden sie gespeichert (Bild5) ansonsten wird der Wert aus dem Shiftreg. der FGV behalten (Bild6).
Ist mir viel zu umständlich. Entweder ich nehm die Methode aus Bild#2 oder ich nehm zwei Eingänge: Einen Enumerator zur Auswahl der Variablen und einen Variant als Variablenwert.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:... oder ich nehm zwei Eingänge: Einen Enumerator zur Auswahl der Variablen und einen Variant als Variablenwert.
Wird das nicht auch umständlich (zumindes in meinem Bsp.) wenn du mehrere Werte in die FGV auf einmal speichern willst? Wenn ich das richtig sehe, müsstset du für jeden Wert den du dann speichern willst eine Kopie der FGV ins BD legen, da ja immer nur ein Wert geschrieben wird, oder?
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
20.11.2009, 14:18 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2009 19:19 von Lucki.)
' schrieb:Vielleicht hilft es dir, bestimmt kann man das eleganter lösen...
Ja, so ähnlich hatte ich es auch am Anfang vorgeschlagen. Es kommt hier eben darauf an, als Standardwert einen möglichst ausgefallenen Wert zu verwenden, der normal nicht benutzt wird. Wenn aber der zu speichernde Wert z.B ein Byte ist und alle 256 Zahlen benutzt werden sollen, dann geht das nicht.
Wenn man es aber so macht wie vorgeschlagen, dann könte man noch einen Schritt weiter gehen und auf den Selektor Init/Read/Write ganz verzichten.
Es könnte immer alles Dreies hintereinader gemacht werden:
1.) Init (nur falls erster Aufruf)
2.) Inputs lesen (nur die angeschlossenen Werte)
3.) Ausgabe (immer, tatsächlich verwendet natürlich nur wenn angeschlossen)
Übrigens: NI- LV-Programmierer können noch mehr, als wir einfachen Anwender können. z.B. bei den Fehlerausgängen. Da wird unterschieden, ob dort etwas angeschlossen ist oder nicht. Ist nichts angeschlossen, dann blockiert das ganze Programm und bringt im Fehlerfall eine Fehlermeldung. Ist dagegen ein Draht abgeschlossen, und sei es daß er als unbenutzter Blindstopfen an der nächsten Schleifen- oder Case-Struktur endet, dann kommt es zu keiner Programmunterbrechung im Fehlerfall.
' schrieb:Wenn ich das richtig sehe, müsstset du für jeden Wert den du dann speichern willst eine Kopie der FGV ins BD legen, da ja immer nur ein Wert geschrieben wird, oder?
Im Prinzip ja, aber:
Ich hab keine einzelnen Werte. Mehrere Werte sind immer zusammengefasst zu einem Cluster. Wo der eine Wert hin muss, geht immer der ganze Cluster hin.
Außerdem: Hätte ich mal 12 Einzelwerte, würde ich die vor dem FGV bundeln und einen Enumeratorwert "jetzt 12 spezielle" kreieren.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:Im Prinzip ja, aber:
Ich hab keine einzelnen Werte. Mehrere Werte sind immer zusammengefasst zu einem Cluster. Wo der eine Wert hin muss, geht immer der ganze Cluster hin.
Aber damit hast du doch wieder das Problem bei der Änderung von nur einem Wert innerhalb des Clusters. Zum erhalt der übrigen Werte musst du das Cluster ja vorher auslesen und nur den zu ändernden Wert überschreiben.
Funktioniert dann sonst ja nur, wenn du immer alle Werte des Clusters neu schreibst.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
' schrieb:Es kommt hier eben darauf an, als Standardwert einen möglichst ausgefallenen Wert zu verwenden, der normal nicht benutzt wird. Wenn aber der zu speichernde Wert z.B ein Byte ist und alle 256 Zahlen benutzt werden sollen, dann geht das nicht.
In dem Fall, könnte man einen U16 Anschluss verwenden, und als nichtangeschlossen einen wert > 256 setzen.
Sicher nicht optimal, aber geht.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Ich habe jetzt mal verschiedene Vorschläge ausprobiert und bin zu dem Schluss gekommen, dass eine Initialisierung aller Bedienelemente auf "indizierende" Werte (NaN, "", usw.) und Prüfung auf diese beim Schreibvorgang wohl das praktikabelste ist. Zumal es bei meinem konkreten Problem acht Eingänge gibt die in allen möglichen Kombinationen miteinander beschreibbar sein sollen und so die Lösung Case mit den Fällen "Write A", "Write A+B" usw. ausfällt.