Au Backe, hast Recht![]()
Gruß
Ralf
Wenn mich nicht alles täuscht machst Du ja auch 'ne Art Flankenabfrage (es bleibte einem ja auch nichts Anderes übrig).
Gibt einem ja schon die Logik her:
Wann soll geschaltet werden?
Wenn der Taster gedrückt wird. (nicht wenn der Taster gedrückt ist)
also bei Änderung von 0 auf 1 auf dem Tastereingang
... und das heißt bei positiver Flanke
Gruß
Ralf
Au Backe, hast Recht![]()
Gruß
Ralf
Code:O E 0.1 // Hier Fängt die Flankenabfrage an O E 0.2 O E 0.3 UN M 0.0 // Der kaum zu vermeidende Flankenmerker = M 0.1 // Ist bei Fl. Positiv 1 U M 0.1 // Wenn Fl. Posi UN A0.1 // Ist der Ausgang Aus S A 0.1 // mach an <-- setzen R M 0.1 // Ätsch (grins) U M 0.1 <-- gleiche Flanke U A0.1 // Ist der Ausgang an <-- gerade eingeschalten R A 0.1 // mach Aus <-- und wieder weg O E 0.1 // zweiter Teil der Flankenabfrage O E 0.2 O E 0.3 = M0.0 // Mach mir den Flankenmerker
Ja klar ists ne Art Flankenabfrage, aber eben mit Flipflop.
MfG
André Räppel
Widme mich jetzt dem Krombacher (s.o.)
Gruß
Ralf
auf den Regenwald![]()
Moin
@sps-concept
coole sache dein Progi da wär ich nie drauf gekommen KOMPLIMENT auch wenn ich 3 mal drüber nachgedacht hab.
Kommt mir vor wie ne Schrittkette.
MfG Balou
P.S. man sieht viele wege führen nach Rom
ähhh...
hat ihr euch den link bzw das beispiel von martin glarner angeshaut?
ich meine besser gehts nicht, oder?
Code://Für AWL U E1.0 FP M100.0 X A1.0 = A1.0
hallo allerseits
In SCL geht es auch
VAR_INPUT
a_In : BOOL; // Start Toggle
END_VAR
VAR_IN_OUT
Toggle_Out : BOOL; // 0 -> 1
FL_1 : BOOL;
END_VAR
VAR_TEMP
FL : BOOL;
END_VAR
BEGIN
FL := a_In AND NOT FL_1;
FL_1 := a_in;
IF FL = TRUE
THEN
Toggle_Out := Toggle_Out XOR A_IN;
END_IF;
mfG
hg
Bookmarks