Strukturierter Text

bluebird277

Level-1
Beiträge
100
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

muss mich gerade in ST einarbeiten und habe nun ein kleines Verständniss problem. Aber ich denke für euch alte Hasen ist das kein problem :)

Also folgendes:

wenn ein sensor 2 sekunden nicht belegt ist soll ein ausgang gesetzt werden.

wird der sensor sicher für 1 sekunde belegt soll der Ausgang wieder zurückgesetzt werden.

das ganze kann sich ständig wiederholen

könnt ihr mir bitt eerklären wie das am besten geht?

Vielen Dank im voraus

lieben gruss
 
Du bekommst vom Sensor ein digitales Signal (High = belegt, Low = nicht belegt)?

Du nimmst zwei Timer:

Der eine läuft zwei Sekunden, wird durch die fallende Flanke des Sensors gestartet und wenn nach den zwei Sekunden das Signal immer noch low ist, wird der Ausgang gesetzt.

Der zweite Timer läuft eine Sekunde, wird durch die steigende Flanke des Sensors gestartet und wenn nach dieser Sekunde das Signal immer noch high ist, dann wird der Ausgang zurückgesetzt.

Gruß Cerberus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe es gerade gelöst scheint mir aber etwas kompliziert oder :)? was sagt ihr dazu?

IF NOT bFuellstand_Trommel THEN
Warten_bis_Teilemangel(IN:=TRUE , PT:=t#2s , Q=> , ET=> );
ELSIF bFuellstand_Trommel AND Warten_bis_Teilemangel.Q THEN
Warten_bis_teilemangel_beendet(IN:=TRUE , PT:=t#2s , Q=> , ET=> );
END_IF
IF Warten_bis_teilemangel_beendet.Q THEN
Warten_bis_Teilemangel(in:=FALSE);
Warten_bis_teilemangel_beendet(in:=FALSE);
END_IF
 
Die Timer könnte man auch direkt versorgen.
(* Nach 2 Sek. kein Signal wird .Q gesetzt *)
Warten_bis_Teilemangel(IN := NOT bFuellstand_Trommel , PT:=t#2s , Q=> , ET=> );
(* Nach 1 Sek. Signal wird .Q gesetzt *)
Warten_bis_teilemangel_beendet(IN := bFuellstand_Trommel , PT:=t#1s , Q=> , ET=> );
IF Warten_bis_Teilemangel.Q THEN
(* Hier jetzt Deinen Ausgang setzen *)
END_IF
IF Warten_bis_teilemangel_beendet.Q THEN
(* Hier jetzt Deinen Ausgang zurücksetzen *)
END_IF
 
Zurück
Oben