Downloadbereich > Xsoft-CoDeSys

FB Stromstoßrelais mit reset

(1/1)

radar17892:
Hallo,
ein kleiner FB "Stromstoßrelais"
Wer den reset nicht braucht, lässt einfach die letzten drei Zeilen und den Eingang xRes weg.


--- Code: ---FUNCTION_BLOCK SSR (*Stromstoßrelais mit reset*)
VAR_INPUT
xToggle: BOOL; (*Tastereingang*)
xRes: BOOL; (*Reset*)
END_VAR
VAR_OUTPUT
xOut: BOOL; (*Speichernder Ausgang*)
END_VAR
VAR
Trigger: R_TRIG; (*Erkennung steigende Eingangsflanke*)
END_VAR
#################################################
Trigger(CLK:= xToggle, Q=> );
IF Trigger.Q THEN (*wenn Flanke erkannt, dann*)
IF xOut THEN (*ein oder ausschalten*)
xOut:= FALSE;
ELSE
xout:= TRUE;
END_IF
END_IF
IF xRes THEN (*Wenn reset, dann ausschalten*)
xout:= FALSE;
END_IF


--- Ende Code ---

Have a lot of fun!

weiss_nix:
Hi, ich würde das wie folgt lösen:
Spart Zykluszeit und Speicher.
Ist nicht als Kritik sondern als Ideenaustausch gedacht.
Gruß


--- Code: ---(* @NESTEDCOMMENTS := 'Yes' *)
(* @PATH := '' *)
(* @OBJECTFLAGS := '0, 8' *)
(* @SYMFILEFLAGS := '2048' *)
FUNCTION_BLOCK _SSR
VAR_INPUT
xToggle: BOOL;  (*Tastereingang*)
xRes: BOOL;   (*Reset*)
END_VAR
VAR_OUTPUT
xOut: BOOL;   (*Speichernder Ausgang*)
END_VAR
VAR
xStore : BOOL;   (*Zustand des Eingang speichern*)
END_VAR

(* @END_DECLARATION := '0' *)

IF xRes THEN
xOut := FALSE;
ELSIF xToggle AND NOT xStore THEN
xOut := NOT xOut;
END_IF
xStore := xToggle;

END_FUNCTION_BLOCK

--- Ende Code ---

radar17892:
Hallo weiss_nix,
danke für deine Version.
So sollte es sein! Vieleicht tragen wir hier doch noch ein paar nützliche Bausteine zusammen.

Was mich persönlich interessiert, wozu nutzt du die ersten vier auskommentierten Zeilen?

Gruß Thomas

weiss_nix:
Hallo Thomas,
ich habe lediglich die Funktion aus Codesys exportiert, die Zeilen werden vom System so ausgegeben.
Wegen der Funktionsbibliothek kann ich nur die "oscat_basic.lib" empfehlen, die bietet eine unzahl an nützlichen Funktionen.
Funktionen die diese Lib nicht bietet, sind sicherlich interessant zu entwickeln. Jedoch wäre dazu ein Input der User wichtig um zu sehen was gebraucht wird.

Gruß weiss_nix

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln