LabVIEWForum.de
Ampelsteuerung / Bedarfsanforderung /Nachtmodus - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Ampelsteuerung / Bedarfsanforderung /Nachtmodus (/Thread-Ampelsteuerung-Bedarfsanforderung-Nachtmodus)

Seiten: 1 2


RE: Ampelsteuerung / Bedarfsanforderung /Nachtmodus - Nowhere Man - 31.01.2020 16:16

Hallo Gerd,

Zitat:
spielt es denn eine wichtige Rolle wo ich den Nachtmodus in einem Case einfüge?

"Wo im case" oder "in welcher Case-Struktur soll der case angelegt werden"?

Das möchte ja ich gern von euch erfahren.....
Denn ich weiß es ja nicht.

Im Moment läuft ja alles stupide einer vorgegebenen Reihenfolge ab.
Wenn ich also mitdrin einen Nachtmodus rein setzte, wird doch der Ablauf gestört. Oder Nicht?

Zitat:
Dann ist noch die Frage wie bekomme ist die Gelbe LED im Cluster angesteuert für den Nachtmodus?

Genauso wie die rote und grüne auch: der jeweilige State gibt den Schaltzustand für alle Lichter vor…

Was ich damit eigentlich meinte: wie bringe ich die Gelbe LED im Cluster im Nachtmodus zum blinken ohne das ich den Cluster zerlegen muss um an die Gelbe LED zu kommen???

Ich weiß.... das sind mit Sicherheit Fragen die bestimmt blöd sind.... aber ich versteh zum großteil nur Bahnhof.


RE: Ampelsteuerung / Bedarfsanforderung /Nachtmodus - GerdW - 31.01.2020 18:53

Hallo Nowhere,

Zitat:m Moment läuft ja alles stupide einer vorgegebenen Reihenfolge ab.
Weil ihr einen festen Ablauf programmiert habt. Ihr habt zwar States definiert, aber bei euch fehlt ja noch komplett eine Abfrage von Übergangsbedingungen!
Z.B.: Soll jetzt mit dem dem "normalen" Ablauf weitergemacht werden oder soll etwas anderes (wie Fußgängerschaltung) gemacht werden?

Zitat:Wenn ich also mitdrin einen Nachtmodus rein setzte, wird doch der Ablauf gestört. Oder Nicht?
Der bisherige starre Ablauf wird gestört - aber den wollt ihr doch überhaupt nicht haben!
Ihr wollt doch anhand irgendwelcher Bedingungen entscheiden können, welcher State als nächstes dran ist…

Zitat:Was ich damit eigentlich meinte: wie bringe ich die Gelbe LED im Cluster im Nachtmodus zum blinken ohne das ich den Cluster zerlegen muss um an die Gelbe LED zu kommen???
Wenn du etwas "meinst", dann solltest du das auch schreiben Glas2

Zu den Clustern:
- alle Cluster sollten typdefiniert sein, alle Elemente im Cluster sollten ein aussagekräftiges Label haben!
- die Cluster speichern deinen aktuellen Zustand: da du den evtl. auch im nächsten State (d.h. nächste Iteration) brauchst, gehören diese Cluster in Schieberegister!

Blinken ist dann einfach: aktuellen Zustand (d.h. Cluster) lesen, per UnbundleByName die "GELB"-LED rausholen, negieren und wieder mit BundleByName in den Cluster schreiben. (Oder man nimmt eine Inplace-Struktur…)

Beispiel:
[attachment=60702]
Das Enum sollte muss auch typdefiniert werden, und dann überall eine Instanz dieser Typdefinition verwenden!
Die Items im Enum dürfen gern auch aussagekräftigere Bezeichnungen haben als nur "Phase1"-"Phase8", z.B. "Fußgänger an", "Auto Rot", "Auto Rot-Gelb", "Nachtschaltung", etc.…

Außerdem: Das Label von FP-Elementen zu löschen ist GANZ SCHLECHTER Programmierstil!


RE: Ampelsteuerung / Bedarfsanforderung /Nachtmodus - Nowhere Man - 31.01.2020 21:39

Hallo Gerd,

entschuldigung das ich mit meiner Erklärung der gelben blinkenden LED im Nachtmodus nicht präzise war. Blush

Ich habe deinen Vorschlag nun versucht nachzubauen. Leider kann ich bei dem Inplace keine "Elemente aufschlüsseln / bündeln" hinzufügen. Alle Auswahlmöglichkeiten sind grau.
Und das mit der Typdefinition erstellen der Cluster hat auch nicht so richtig geklappt. Huh

Könntest Du mir das VI mit allen Typdefinitionen so wie du es gemacht hast zur Verfügung stellen?
Das wäre so richtig cool... Big Grin

Grüße


RE: Ampelsteuerung / Bedarfsanforderung /Nachtmodus - GerdW - 02.02.2020 17:03

Hallo Man,

Zitat:Leider kann ich bei dem Inplace keine "Elemente aufschlüsseln / bündeln" hinzufügen. Alle Auswahlmöglichkeiten sind grau.
Keine Ahnung warum das bei dir nicht funktioniert, vielleicht hängt das mit der Studentenversion zusammen…
Benutze doch einfach (Un)BundleByName, wie auch schon genannt.

Zitat:Und das mit der Typdefinition erstellen der Cluster hat auch nicht so richtig geklappt.
Hast du das Thema in der LabVIEW-Hilfe nachgelesen?
Und einfach mal einen Rechtsklick auf den Cluster gemacht und "Create type definition" gewählt? Danach dann "open type definition" und alle Elemente im Cluster "ordentlich" anpassen, z.B. mit einem Label versehen…

Zitat:Könntest Du mir das VI mit allen Typdefinitionen so wie du es gemacht hast zur Verfügung stellen?
Nö, ihr wollt ja was lernen… Big Grin