Autor Thema: FB Stromstoßrelais mit reset  (Gelesen 6971 mal)

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
FB Stromstoßrelais mit reset
« 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!
Weil Einfach einfach Einfach ist!

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Re:FB Stromstoßrelais mit reset
« Antwort #1 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
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Re:FB Stromstoßrelais mit reset
« Antwort #2 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
Weil Einfach einfach Einfach ist!

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Re:FB Stromstoßrelais mit reset
« Antwort #3 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
« Letzte Änderung: November 13, 2014, 15:25:37 Nachmittag von weiss_nix »
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!