LabVIEWForum.de
Programmierung - Abfahren einer Produktionsstraße - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Programmierung - Abfahren einer Produktionsstraße (/Thread-Programmierung-Abfahren-einer-Produktionsstrasse)



Programmierung - Abfahren einer Produktionsstraße - nobody_knows - 27.02.2015 10:26

Hallo zusammen,

ich arbeite zur Zeit an einem Projekt, bei dem ich einem LEGO Mindstorm-NXT Roboter durch eine Produktionsstraße schicken möchte.

Die Projektaufgabe ist folgendermaßen definiert:
- Roboter soll auf einer Linie durch eine Produktionsstraße fahren und dabei unterschiedliche Stationen (1-5) anfahren
- an den Stationen muss der jeweils das transportierte Produkt ablegen und auch wieder aufnehmen.

Am Roboter sind folgende Sensoren angeschlossen Light, Ultrasonic, Touch, Color
Ebenfalls noch 3 Motoren (links/rechts Motor und einen um eine Transportgabel zu bewegen)

Ich habe Programmkonzept bereits erstellt, nur erhalte ich drei Fehlermeldungen, die ich mit meinem jetzigem Kenntnisstand nicht behoben bekomme.
Als Fehlermeldung bekomme ich:
- Case Structure: Selector values are not unique
2x - Case Structure: Selector values have wrong type

Vielleicht könnt ihr euch mal mein Programm ansehen und habt Tipps/Ideen, wie ich die Fehler behoben bekomme.


Viele Dank schon mal und Grüße,

nobody_knows


RE: Programmierung - Abfahren einer Produktionsstraße - GerdW - 27.02.2015 10:35

Hallo nobody,

Zitat:Als Fehlermeldung bekomme ich: Case Structure: Selector values are not unique
Du hast eine Case-Struktur mit den Cases "no color" und "no color, default". Welchen Fall soll LabVIEW ausführen, wenn am Selektor "no color" anliegt?

Zitat:2x - Case Structure: Selector values have wrong type
Du hast da eine Case-Struktur mit den Cases "False, Default" und "4", also einmal eine Zahl und einmal ein boolscher Wert (bzw. sogar String). Da LabVIEW eine streng typisierte Programmiersprache ist, kann das nicht gut gehen…

Tipp zum Umgang mit dem Fehlerdialog: Durch Doppelklick auf den Fehler zeigt dir LabVIEW direkt die fehlerhafte Stelle im Blockdiagramm an…

Nebenbei:
- Das Blockdiagramm ist groß. Sehr groß. Viel zu groß…
- Was soll der Unsinn, Werte in Terminals und gleich daneben in lokale Variablen eben dieses Terminals zu schreiben? Willst du sichergehen, dass der Wert auch wirklich im Terminal ankommt?
- THINK DATAFLOW! LabVIEW speichert Werte nicht in "Variablen", sondern in Drähten…
- Was soll dieser Unfug: [attachment=52250]


RE: Programmierung - Abfahren einer Produktionsstraße - nobody_knows - 27.02.2015 11:53

(27.02.2015 10:35 )GerdW schrieb:  Hallo nobody,

Zitat:Als Fehlermeldung bekomme ich: Case Structure: Selector values are not unique
Du hast eine Case-Struktur mit den Cases "no color" und "no color, default". Welchen Fall soll LabVIEW ausführen, wenn am Selektor "no color" anliegt?

Zitat:2x - Case Structure: Selector values have wrong type
Du hast da eine Case-Struktur mit den Cases "False, Default" und "4", also einmal eine Zahl und einmal ein boolscher Wert (bzw. sogar String). Da LabVIEW eine streng typisierte Programmiersprache ist, kann das nicht gut gehen…

Tipp zum Umgang mit dem Fehlerdialog: Durch Doppelklick auf den Fehler zeigt dir LabVIEW direkt die fehlerhafte Stelle im Blockdiagramm an…

Nebenbei:
- Das Blockdiagramm ist groß. Sehr groß. Viel zu groß…
- Was soll der Unsinn, Werte in Terminals und gleich daneben in lokale Variablen eben dieses Terminals zu schreiben? Willst du sichergehen, dass der Wert auch wirklich im Terminal ankommt?
- THINK DATAFLOW! LabVIEW speichert Werte nicht in "Variablen", sondern in Drähten…
- Was soll dieser Unfug:


Hallo GerdW,

danke für deine schnelle Antwort.

(27.02.2015 10:35 )GerdW schrieb:  Nebenbei:
- Das Blockdiagramm ist groß. Sehr groß. Viel zu groß…
- Was soll der Unsinn, Werte in Terminals und gleich daneben in lokale Variablen eben dieses Terminals zu schreiben? Willst du sichergehen, dass der Wert auch wirklich im Terminal ankommt?
- THINK DATAFLOW! LabVIEW speichert Werte nicht in "Variablen", sondern in Drähten…
- Was soll dieser Unfug:

Ich habe auch schon festgestellt, dass mein Blockdiagramm sehr groß geworden ist. Da ich noch ein ziemlicher Anfänger bei der Programmierung mit LabVIEW bin, habe ich wohl etwas zu groß gedacht...

Hättest du vielleicht irgendwelche Idee und Tipps, wie ich mein Blockdiagramm verkleinern kann, bzw. Vereinfachern?


Gruß,
nobody


RE: Programmierung - Abfahren einer Produktionsstraße - jg - 27.02.2015 18:56

(27.02.2015 11:53 )nobody_knows schrieb:  Hättest du vielleicht irgendwelche Idee und Tipps, wie ich mein Blockdiagramm verkleinern kann, bzw. Vereinfachern?
SubVIs und StateMachine anstatt FlatSequence.

Gruß, Jens