Hallo
Oh, diese Option ist noch besser.
Ein kleines Codebeispiel für einen UF-Block, der zwei Impulsrelais mit einem einzigen Eingang ansteuert. Ein kurzer Druck (weniger als 1 Sekunde) schaltet Ausgang 1, und ein langer Druck (mehr als 1 Sekunde) schaltet Ausgang 2.
(* 2-channel impulse relay with trigger (push button) and reset input *)
// Impulse relay 1 - push button falling edge before timer is on (short press).
Q01 := NOT I02 AND ( Q01 XOR ( NOT I01 AND M1 AND NOT T01Q1 ) ) ;
M1 := I01 ;
// Impulse relay 2 - timer rising edge (push button long press).
Q02 := NOT I02 AND ( Q02 XOR (T01Q1 AND NOT M2 ) ) ;
M2 := T01Q1 ;
// On-delayed timer to distinguish between short or long press.
T01 (
EN := I01, // Push button input (trigger).
RE := I02, // Reset input.
ST := ,
I1 := T#1000ms, // 1 sec on-delay.
I2 := ,
Q1 => ,
QV =>
);
Andrus
(übersetzt von DeepL Translate)