Hallo zusammen, ich bin totaler Anfänger in der SPS programmierung, und suche schon seit ein paar Tagen im Forum und auch in anderern Foren nach der Programmierung eines Tasters.
Ich weiß dass man das mit der Flankenerkennung macht, allerdings nicht richtig wie!
Ein Motor soll in die eine Richtung drehen, wenn und solange ein Schalter gedrückt ist.
Er soll in die andere Richtung drehen, wenn und solange ein anderer Schalter gedrückt ist.
Wenn ich das richtig verstanden habe, soll der Motor nur so lange laufen, wie der Taster gedrückt wurde.
Dann könnte man das locker ohne Trigger realisieren.
Hallo zusammen, ich bin totaler Anfänger in der SPS programmierung, und suche schon seit ein paar Tagen im Forum und auch in anderern Foren nach der Programmierung eines Tasters.
Ich weiß dass man das mit der Flankenerkennung macht, allerdings nicht richtig wie!
Ein Motor soll in die eine Richtung drehen, wenn und solange ein Schalter gedrückt ist.
Er soll in die andere Richtung drehen, wenn und solange ein anderer Schalter gedrückt ist.
Hier der CODE:
VAR_INPUT
Taster_links: BOOL;
Taster_rechts: BOOL;
END_VAR
VAR
linksrum: R_TRIG;
rechtsrum: R_TRIG;
stellsignal: REAL;
endanschlag_links: REAL;
endanschlag_rechts: REAL;
END_VAR
linksrum.Q(CLK:=Taster_links)
IF linksrum.Q THEN
stellsignal:= endposition_links;
END_IF;
rechtsrum.Q(CLK:=Taster_rechts)
If rechtsrum.Q THEN
stellsignal:= endposition_rechts;
END_IF;
Ich hoffe meine Frage und der Code sind verständlich.
Wenn was unklar ist bitte schreiben, ich werde das dann weiter ausführen!
Hallo.
Wenn ich das richtig verstanden habe, soll der Motor nur so lange laufen, wie der Taster gedrückt wurde.
Dann könnte man das locker ohne Trigger realisieren.
Bsp.
Hier der CODE:
VAR_INPUT
Taster_links: BOOL;
Taster_rechts: BOOL;
END_VAR
VAR_Output
stellsignal_Linksrum;
stellsignal_Rechtsrum;
END_VAR
(Erst mal alles FALSE setzen)
stellsignal_Linksrum:= FALSE;
stellsignal_Rechtsrum:= FALSE;
IF (Taster_links and NOT Taster_rechts) THEN
stellsignal_Linksrum:= TRUE;
stellsignal_Rechtsrum:= FALSE;
END_IF;
If (NOT Taster_links and Taster_rechts) THEN
stellsignal_Linksrum:= FALSE;
stellsignal_Rechtsrum:= TRUE;
END_IF;
Gruß Schuero