easy-forum

Downloadbereich => Xsoft-CoDeSys => Thema gestartet von: radar17892 am Oktober 25, 2014, 19:10:46 Nachmittag

Titel: FB Stromstoßrelais mit reset
Beitrag von: radar17892 am Oktober 25, 2014, 19:10:46 Nachmittag
Hallo,
ein kleiner FB "Stromstoßrelais"
Wer den reset nicht braucht, lässt einfach die letzten drei Zeilen und den Eingang xRes weg.

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


Have a lot of fun!
Titel: Re:FB Stromstoßrelais mit reset
Beitrag von: weiss_nix am Oktober 26, 2014, 15:42:10 Nachmittag
Hi, ich würde das wie folgt lösen:
Spart Zykluszeit und Speicher.
Ist nicht als Kritik sondern als Ideenaustausch gedacht.
Gruß

(* @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
Titel: Re:FB Stromstoßrelais mit reset
Beitrag von: radar17892 am November 04, 2014, 21:19:58 Nachmittag
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
Titel: Re:FB Stromstoßrelais mit reset
Beitrag von: weiss_nix am November 06, 2014, 12:14:37 Nachmittag
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