LabVIEWForum.de
Array verändern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Array verändern (/Thread-Array-veraendern)

Seiten: 1 2


Array verändern - greglemond - 12.06.2009 10:03

Hallo,

Ausgangspunkt soll das unten angeführte VI sein, welches ein 4x10-Array zeigt, wobei jede Zelle durch ein Cluster beschrieben wird: Wert, Zustand, Zeitstempel, String. Dieses Cluster würde ich gern um eine Größe erweitern, nämlich in der Form, dass in jeder Zelle noch ein Pfeil (nach oben oder unten zeigend) eingefügt wird, je nach dem ob der aktuelle Wert größer oder kleiner als der Vorgängerwert ist. Dabei geht es nicht direkt um den Vergleich von aktuellem Wert und Vorgängerwert, der in einem temporären Array gespeichert werden würde, sondern vielmehr um die Umsetzung des Pfeils. Leider fehlt mir gerade der Ansatz zur Lösung. Könnt ihr mich dabei bitte unterstützen? Danke euch.

Lv86_img


Array verändern - schrotti - 12.06.2009 10:28

Hallo greglemond,

du kannst FP-Elemente Anpassen (Fortgeschritten -> Anpassen). Habs für dich gemacht. Wenn dir die Pfeile nicht gefallen kannst du sie einfach austauschen.

Lv86_img[attachment=19043]


Array verändern - greglemond - 12.06.2009 11:52

Danke, sieht gut aus. Nun möchte ich den Pfeil noch verändern. Dazu markiere ich den bestehenden Pfeil und klicke auf Fortgeschritten -> Anpassen. Und dann weis ich nicht weiter, habe alles durchgeschaut...


Array verändern - jg - 12.06.2009 12:10

Dann gehst du in den "Customize" Modus:
[attachment=19045]

Und dann kannst du die 4 Bilder des Bool-Control austauschen:
[attachment=19044]

Gruß, Jens

EDIT:
@schrotti: Schöne Pfeile, aus welche Bibliothek hast du die?


Array verändern - greglemond - 12.06.2009 15:51

' schrieb:Und dann kannst du die 4 Bilder des Bool-Control austauschen:
Und aus welcher Bibliothek kann ich neue Pfeile nehmen? Da gibt es doch sicher schon vordefinierte Sachen.Smile


Array verändern - schrotti - 12.06.2009 17:23

' schrieb:@schrotti: Schöne Pfeile, aus welche Bibliothek hast du die?
http://www.clker.com/search/icon/1
Die meisten Bildchen kann man meiner Meinung nach bedenkenlos in kommerziellen Projekten verwenden.


' schrieb:Und aus welcher Bibliothek kann ich neue Pfeile nehmen? Da gibt es doch sicher schon vordefinierte Sachen.Smile
Dir stehen alle Datenträger deines PC zur Verfügung. Was an Formaten so alles geht weiß ich nicht. Auf NI gibts auch eine Samlung an png, aber die Qualität ist nicht so prickelnd. Auf http://forums.lavag.org/ gibts jede Menge Threads, die sich nur mit dem Anpassen von Elementen beschäftigen. Aber deren Server ist schon seit mindestens 1 Tag down. Ansonsten bedien dich auf der Müllhalde.
Viel Spaß


Array verändern - greglemond - 12.06.2009 17:32

Ich habe mit der Umsetzung doch größere Probleme als zunächst vermutet. Also folgendes soll das VI ausführen:

1) Ist der gewürfelte Wert größer als "Schwelle", soll der Zustand der Zelle von grün auf rot umspringen. Ist der nächste gewürfelte Wert unterhalb der "Schwelle", soll der Zustand gelb werden.

2) Ist die relative Änderung von dem gewürfeltem Wert zu dem vorangegangenen Wert größer als "max Zunahme", soll ein nach oben zeigender Pfeil in der entsprechenden Zelle aufgeführt werden.

3) Ist die relative Änderung von dem gewürfeltem Wert zu dem vorangegangenen Wert kleiner als "max Abahme", soll ein nach unten zeigender Pfeil in der entsprechenden Zelle aufgeführt werden.



zu 1): läuft, wird in der oberen Case-Struktur abgehandelt

zu 2) und 3): hierfür müsste ich das Cluster um die beiden Pfeile erweitern. Hier weis ich nicht genau wie das geht. Man müsste dem Cluster ein weiteres Element zuweisen, um dieses dann in der mittleren und unteren Case-Struktur auswerten zu können. Bis jetzt steht da jeweils nur die kopierte obere Case-Struktur.

Vielen Dank für die Unterstützung.Smile

Lv86_img


Array verändern - schrotti - 12.06.2009 18:46

Du hast hier 3 Zustände. Den Pfeil kannst du leider nicht einfach verschwinden lassen. Auch kannst du nicht einfach was drüberlegen, dass transparent erscheint, sobald der Pfeil sichtbar sein soll. Der Hintergrund kann schließlich drei verschiedene Farben annehmen. Die einzige Lösung sehe ich in einem Bildelement.


Array verändern - greglemond - 13.06.2009 08:15

Optional könnte man statt dem nach unten oder nach oben zeigenden Pfeil ja auch 2 vertikal angeordnete LEDs an der Position des Pfeils anbringen, oder? Ist die Zunahme zweier aufeinander folgender Messwerte zu groß, leuchtet die obere LED rot auf, ist die Abnahme zu groß, leuchtet die untere LED rot auf. Das wäre besser umsetzbar, da die LEDs dann immer da sein könnten, nur der Zustand (Aufleuchten) würde sie gegebenenfalls ändern.

Nur wie bekomme ich die LEDs in jede Zelle rein? Danke euch noch mal.


Array verändern - schrotti - 14.06.2009 11:41

' schrieb:Nur wie bekomme ich die LEDs in jede Zelle rein? Danke euch noch mal.

Einfach eine LED aus der Palette reinziehen. Dem element noch einen sinnvollen Namen geben und fertig. Du musst das natürlich bei der Konstante als dem Anzeigelement machen.

Hier noch mal eine Version mit zwei Bool wie von dir Vorgeschlagen.

Lv86_img[attachment=19068]