INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Array mit Case-Struktur verbinden



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!

08.06.2010, 14:25
Beitrag #1

matzimus Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Jun 2010

2010 SP1
2010
kA

7xxxx
Deutschland
Array mit Case-Struktur verbinden
Hallo zusammen,
bin noch nicht sehr erfahren mit LabVIEW und hab deshalb ne (hoffentlich) einfache Aufgabe für euch.
Mein Problem ist folgendes:

Mein Array:

001 xxx xxx
002 xxx xxx
003 xxx xxx

Nun möchte ich aus diesem Array einen bestimmten Wert auslesen (z.B. "001"). Dies habe ich mit "Array indizieren" gemacht. Meine Ausgabe war, wie erwünscht, "001".
Jetzt wollte ich als nächstes eine Case-Struktur anhängen, um verschiedene Alternativen für die verschiedenen Array-Elemente auszuführen.
Also:
Wenn "001" gewählt wird soll das Programm "x" ausgeführt, wenn "002" ausgewählt wird soll das Programm "y" ausfgeührt werden, usw.

Ich weiß schon, dass man ein Array und eine Case-Struktur eigentlich nicht verbinden kann, allerdings kann ich ja in der Case-Struktur nicht nur "True" und "False" anzeigen lassen, sondern auch (durch z.B. "Enum") "001", "002", "003".

Weiß jemand ne Lösung zu meinem Problem? Also das ich nach meiner "Array-Indizierung" die Ausgabe ("001") mit der Case-Struktur verbinden kann?

Danke,
Viele Grüße,
Matze
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.06.2010, 14:33 (Dieser Beitrag wurde zuletzt bearbeitet: 08.06.2010 14:33 von dimitri84.)
Beitrag #2

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Array mit Case-Struktur verbinden
Willst du denn immer diese eine Reihenfolge haben? Element_1, Element_2, Element_3, ...

   

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2010, 07:44 (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2010 07:47 von matzimus.)
Beitrag #3

matzimus Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Jun 2010

2010 SP1
2010
kA

7xxxx
Deutschland
Array mit Case-Struktur verbinden
Hallo Dimitri,
leider ist die Reihenfolge willkürlich.
Ich beschreibs grad noch mal kurz etwas genauer.
Ich habe ein Programm vorgelegt bekommen, welches Messungen durchführt und diese in eine Tabelle in folgender Form schreibt:

Messnummer___Name____Gerät_____Messwert____Einheit
___001_________xxx______xxx________240_______mA
___021_________yyy______yyy_________20_______mA
___342_________bbb______bbb_________23_______mA
____.____________.________.___________._________.
____.____________.________.___________._________.
____.____________.________.___________._________.


Jetzt soll geprüft werden, ob die einzelnen Messwerte in einem bestimmten Bereich liegen. Dieser Bereich ist durch die Messnummer definiert.

Das Programm soll nun folgendermaßen ablaufen:
- erste Messnummer wählen (001)
- dafür entsprechende Grenzwerte auswählen min/max (die in Case-Struktur stehen) und zu "Wertebereich prüfen und
erzwingen" senden)
- entsprechenden Messwert zur Messnummer wählen und ebenfalls, als "x-Wert", zu "Wertebereich prüfen und
erzwingen" senden
- nächste Messnummer auswählen bis keine Messnummern mehr vorhanden sind

Joa, das wärs. Der Mist will aber nicht so funktionieren wie ichs eben gern hätteSmile, ahhhhhhh.
Für Tipps bin ich sehr dankbar.

Grüße, Matze
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2010, 07:50 (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2010 07:53 von dimitri84.)
Beitrag #4

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Array mit Case-Struktur verbinden
' schrieb:leider ist die Reihenfolge willkürlich.
So wie du es beschrieben hast ist nicht die Rheihenfolge willkürlich, sondern die "Messnummer".

Du brauchst ein Array wo nur die Messnummern drin stehen und dann machst du's so wie im Bild gezeigt. Hast du mein Vorschlag überhaupt probiert?

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2010, 08:08
Beitrag #5

matzimus Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 80
Registriert seit: Jun 2010

2010 SP1
2010
kA

7xxxx
Deutschland
Array mit Case-Struktur verbinden
Mein Array ist pink. Die Verbindung geht dann so irgendwie nicht.
Die Messnummern variieren jenachdem was für ein Gerät angeschlossen wird, welches gemessen werden soll.
Mal steht 001 als erste Nummer da, mal ists die 023, 045, 245, ... .
Ich habs grad geschafft das Array mit der Case-Struktur zu verbinden.

Array -> Array indizieren (Mit Index 0, für erste Zeile) -> Array nach Cluster -> Aufschlüsseln -> Case-Struktur

Ich habe keine Ahnung was ich da gemacht habe, aber es funktioniertSmile.
Leider funktioniert das gleiche Spiel nicht wenn ich den Messwert (x-Wert) anwählen will. Er zeigt nen Fehler an, da ich jetzt einen Index für die Zeile (0, 1, 2, ...) und einen Index für die Spalte (3) habe. Irgendwie ists jetzt ein 2D-Array. Son Mist. Mit einer normalen Anzeige gibt er mir den richtigen Wert aus, ich kanns aber, warum auch immer, nicht mit dem Vergleichsteil verbinden.
Weißt du wie ich die verbinden könnte?
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2010, 08:10
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Array mit Case-Struktur verbinden
' schrieb:Messnummer___Name____Gerät_____Messwert____Einheit
___001_________xxx______xxx________240_______mA
___021_________yyy______yyy_________20_______mA
___342_________bbb______bbb_________23_______mA

Jetzt soll geprüft werden, ob die einzelnen Messwerte in einem bestimmten Bereich liegen. Dieser Bereich ist durch die Messnummer definiert.
Wenn die Messnummern innerhalb eines so großen Bereiches wie 1 bis 342 liegen, dann ist eine Case-Sequenz ungeeignet. Dann lieber ein Algorithmus, der auf einer Array-Struktur beruht (array of cluster(Nr,min,max,...).

Wenn es nur diese drei Messnummern sind, dann geht es auch mit einer Case-Struktur: Mach es so wie dimitri84 vorgeschlagen hat. Natürlich musst du zuvor die Tabelleneinträge scannen. Kannst du das?

Ob die Reihenfolge willkürlich ist oder nicht, ist unerheblich. Was auf den Case-Selector geht ist ja nicht der Index des Arrays, sondern der Inhalt an der Stelle des Indexes.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.06.2010, 08:15
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Array mit Case-Struktur verbinden
' schrieb:Ich habe keine Ahnung was ich da gemacht habe, aber es funktioniertSmile.
Das ist für einen Programmierer das Schlechteste, was es gibt.

Kannst du nicht ein VI posten?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2010, 08:16 (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2010 08:17 von dimitri84.)
Beitrag #8

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Array mit Case-Struktur verbinden
VI und Bild von BD hochladen ...

Edit: Hab' IchSelbst's Posts nicht gesehen.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2010, 08:21 (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2010 08:24 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Array mit Case-Struktur verbinden
Hallo matzimus,

"Array indizieren (Mit Index 0, für erste Zeile) -> Array nach Cluster -> Aufschlüsseln -> ..."

Was bitte soll denn das? Kannst du nicht das erste Array-Index entsprechend erweitern, um gleich das Einzelelement zu indizieren? Oder ein zweites IndexArray, das das "Aufschlüsseln" übernimmt? Das ArrayNachCluster wäre nur dann sinnvoll, wenn du auf einen typedef-Cluster konvertieren würdest...

"Mein Array ist pink."

Eleganter wäre hier eine Aussage wie "Ich benutze ein 2D-Array of Strings"...Smile(Es gibt auch LabVIEW-Programmierer mit Farbseh-Schwäche...) Wie schon vorgeschlagen, würde ein Array of Cluster hier sinnvoll sein. Da kann man nämlich verschiedene Datentypen mixen und trotzdem elegant "aufschlüsseln" (UnbundleByName)!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2010, 08:57
Beitrag #10

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Array mit Case-Struktur verbinden
Hint 1:

   

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 6.813 02.02.2021 15:05
Letzter Beitrag: Lucki
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 5.693 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 4.547 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Steuerung, Case-Struktur pixie_2 4 4.121 16.04.2020 14:30
Letzter Beitrag: GerdW
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.251 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Zwei VI's verbinden masch_18 11 9.120 12.10.2017 17:09
Letzter Beitrag: GerdW

Gehe zu: