Skip to main content

Binäre Schaltungen in Kontaktplan

Beispielsammlung von Programmierbausteinen in Kontaktplan

Beispiel 13. Beispiel: Taster schaltet Lampe

KOP-Baustein FB_AssignToLamp.fb.ld

_c4ld_img_tutorial_assign_to_lamp

Das Äquivalent in ST:

FUNCTION_BLOCK FB_AssignToLamp
VAR_INPUT    
    bPushButton : BOOL := FALSE;
END_VAR
VAR_OUTPUT
    bLamp : BOOL;
END_VAR
VAR
END_VAR
bLamp := bPushButton;


Beispiel 14. Beispiel Zähler-Baustein FB_StorageCounter

Der Zähler-Baustein FB_StorageCounter kapselt einen CTUD-Zähler (Vorwahl PV= 100).

_c4ld_img_tutorial_storage_counter.png


Beispiel 15. Beispiel: Start/Stopp-Baustein FB_Latch

xMotor := (xStart OR xMotor) AND NOT xStop

Der zweite Zweig der ParallelClosed-Verzweigung liest den eigenen Ausgang xMotor zurück (Selbsthaltung). xStop ist als Öffner in Reihe.

  • xStart kurz TRUE → xMotor bleibt an (hält sich selbst)

  • xStop TRUE → xMotor fällt ab.

_c4ld_img_tutorial_latch.png


Beispiel 16. Beispiel für Operator
  • Netzwerk 1: iSum := iValue1 + iValue2 über einen ADD-Operatorbaustein.

  • Netzwerk 2: xGreater := (iValue1 > iValue2) über einen GT-Operatorbaustein.

Beide Operatorbausteine haben den Freigabeeingang EN und den Freigabeausgang ENO. Eingänge sind iValue1 und iValue2. Ausgänge sind iSum und xGreater

PROGRAM PRG_CompareArithmetic
VAR
    iValue1  : INT := 10; // first operand
    iValue2 : INT := 5;  // second operand
    iSum     : INT;       // result iValue1 + iValue2
    xGreater : BOOL;      // TRUE if iValue1 > iValue2
END_VAR
_c4ld_img_tutorial_compare_arithmetic.png


Beispiel 17. Beispiel Set-/Reset-Spulen, SR-Latch PRG_SetReset
  • Netzwerk 1: xSet → Set-Spule (S) auf xLatch (Modifier.Storage = 1).

  • Netzwerk 2: xReset → Reset-Spule (R) auf xLatch (Modifier.Storage = 2).

xLatch bleibt nach xSet gespeichert TRUE und wird durch xReset zurückgesetzt.

FUNCTION_BLOCK FB_Latch
VAR_INPUT
    xStart : BOOL; // start button (NO)    
    xStop  : BOOL; // stop button (logic: TRUE = pressed)
END_VAR
VAR_OUTPUT
    xMotor : BOOL; // latched motor output
END_VAR
VAR
END_VAR
_c4ld_img_tutorial_prg_setreset.png


Beispiel 18. Beispiel Hauptprogramm PLC_PRG
  • Netzwerk 1:

    Instanziiert Storage1 : FB_StorageCounter und verdrahtet die Signaleingänge (xLightBarrierIn, xLightBarrierOut, xAck, xPreset) auf die Ausgänge für Meldeleuchten (xLampFull, xLampEmpty) und für die Anzeige (iDisplay).

  • Netzwerk 2:

    xLamp50 := (iDisplay >= 50) über einen GE-Vergleicher.

PROGRAM PLC_PRG
VAR
    Storage1   : FB_StorageCounter; // counter instance
    xLightBarrierIn  : BOOL; // infeed light barrier  -> xInfeed
    xLightBarrierOut : BOOL; // outfeed light barrier -> xOutfeed
    xAck       : BOOL; // acknowledge / reset   -> xReset
    xPreset    : BOOL; // preset to 100         -> xLoad
    xLampFull  : BOOL; // "storage full" lamp
    xLampEmpty : BOOL; // "storage empty" lamp
    xLamp50    : BOOL; // ">= 50% full" lamp
    iDisplay   : INT;  // stock display
END_VAR
_c4ld_img_tutorial_plc_prg.png