BLIND_CONTROL

Begonnen von Jensen, 09. Mai 2016, 10:39:32

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Jensen

Hallo,
nachdem ich die Rollosteuerung hoffentlich im Griff habe, habe ich gleiches Schema für die Raffstores implementiert.
Eigentlich wurde nur BLIND_CONTROL_S gegen BLIND_CONTROL getauscht.
Nun wundere ich mich, daß BLIND_CONTROL den Status nicht durchreicht.
Am Eingang kann ich ihn noch sehen, am Ausgang steht eine 0.
Beim Fahren jedoch, wird der Status am BLIND_CONTROL korrekt ausgegeben.
Ist das so gewünscht? Mache ich wieder etwas falsch?
Gruß Jens

Omalik

Hallo Jensen

Habe auch gemerkt dass der Status nicht immer durchgereicht wird wie ich das erwarte. Im speziellen Feuer Regen Fenster als Beispiel zu nennen.
Hast du den Fehler gefunden?

Danke für dein Feedback

mattsches

Hallo ihr beiden,

das ist ein Fehler im BLIND_CONTROL. Ursache ist die letzte Zeile:


status := act.status;


Zeile löschen, dann geht es.

Omalik

Danke. Ich meinte im BLIND_CONTROL_S.
Da habe ich immer noch den Fehler. 


mattsches

Das würde ich so fixen:



(* check inputs and start state machine *)
IF UP  AND NOT DN THEN
(*  manual UP *)
rmp.IN := 255;
STATUS := 121;
ELSIF DN AND NOT UP THEN
(* manual DN *)
rmp.IN := 0;
STATUS := 122;
ELSIF NOT (UP OR DN) THEN
(* manual standby mode *)
rmp.IN := PI;
STATUS := S_IN;
ELSE
STATUS := S_IN;
END_IF;


Neu ist der letzte ELSE-Zweig (kann ich innerhalb des Code-Tags leider nicht farblich hervorheben.