Skip to main content

Circuits binaires dan le schéma de contact

Exemple de sélection de points d'utilisation dans le schéma de contact

Exemple 13. Exemple : Un bouton-poussoir allume une lampe

Bloc LD : FB_AssignToLamp.fb.ld

_c4ld_img_tutorial_assign_to_lamp

Équivalent en ST :

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


Exemple 14. Exemple de bloc de compteur : FB_StorageCounter

Le bloc de comptoir FB_StorageCounter encapsule un compteur CTUD (présélection : PV = 100).

_c4ld_img_tutorial_storage_counter.png


Exemple 15. Exemple de bloc de démarrage/arrêt : FB_Latch

xMotor := (xStart OR xMotor) AND NOT xStop

La deuxième ligne de branche de la ParallelClosed La branche relit sa propre sortie xMotor (auto-tenir). xStop fait partie de la série en tant qu'épisode d'ouverture.

  • xStart brièvement TRUE→ xMotor reste en place (se maintient en place)

  • xStop TRUE → xMotor s'arrête.

_c4ld_img_tutorial_latch.png


Exemple 16. Exemple d'opérateur
  • Réseau 1: iSum := iValue1 + iValue2 à propos d'un ADD-Bloc opérateur.

  • Réseau 2: xGreater := (iValue1 > iValue2) à propos d'un GT-Bloc opérateur.

Les deux blocs d'opérateurs ont le EN activer la saisie et le ENO Activer la sortie. Les entrées sont iValue1 et iValue2 Les résultats sont iSum et 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


Exemple 17. Exemple : Bobines de mise à réinitialisation, verrou SR PRG_SetReset
  • Réseau 1: xSet → Régler la bobine (S) sur xLatch (Modifier.Storage = 1).

  • Réseau 2: xReset → Réinitialiser la bobine (R) à xLatch (Modifier.Storage = 2).

xLatch reste après xSet économies TRUE et est réinitialisé par xReset.

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


Exemple 18. Exemple de programme principal : PLC_PRG
  • Réseau 1:

    Instancie Storage1 : FB_StorageCounter et connecte les entrées de signal (xLightBarrierIn, xLightBarrierOut, xAck, xPreset ) aux sorties pour les lampes de signalisation (xLampFull, xLampEmpty ) et pour l'affichage (iDisplay).

  • Réseau 2:

    xLamp50 := (iDisplay >= 50) via un comparateur GE.

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