Eléments de logique Séquentielle
Fonctions logiques séquentielles
Les fonctions logiques séquentielles ont la particularité d’être dépendantes du temps dans leur évolution. Elles sont régies par plusieurs variables d’entrée, mais également par l’état mémorisé d’une ou de plusieurs variables. Elles sont souvent synthétisées par des bascules.
Afin d’illustrer l’intérêt des fonctions logique séquentielles, nous vous proposons quelques exemples de réalisation.
Quelques rappels de logique séquentielle :
Nous souhaitons activer la sortie %Q0 à l’appui sur un bouton poussoir %I1, la laisser activée jusqu’à l’appui sur le bouton poussoir %I0. En supposant que l’appui simultané sur %I0 et %I1 n’est pas possible, la table de vérité associée à ce fonctionnement est la suivante :
Lorsque les deux entrées sont à 0, il n’est pas possible de connaître l’état de la sortie %Q0. Pour la connaître, il est nécessaire de tenir compte du temps en faisant intervenir un effet mémoire, i.e. mémoriser l’état de la sortie %Q0 à l’instant précédent. La nouvelle table de vérité est la suivante :
Si aucune entrée n’est activée, l’état de la sortie %Q0 reste identique. La simplification de cette fonction conduit à :
Nous allons utiliser une variable mémoire %M0 afin de mémoriser l’état de la sortie :
Le code associé est le suivant :
Il est facile de visualiser l’importance du temps dans ces deux lignes de code, en particulier la manière de se servir des caractéristiques de l’outil (lecture du code de haut en bas de manière cyclique) pour la mise en œuvre du cahier des charges.
Il est toutefois possible d’utiliser les propriétés des automates programmables, et donc de PLC3000, pour réaliser plus simplement ces fonctionnalités. Plusieurs solutions existent et sont présentées par la suite.
- Auto-maintien
Grâce à ces propriétés, il n’est pas indispensable d’utiliser une mémoire intermédiaire (comme précédemment), mais tout simplement :
%Q0=%I1+%Q0
C’est à dire que l’état de la sortie %Q0 à l’instant t dépend implicitement de l’état de la sortie %Q0 à l’instant t-1.
L’inconvénient avec un auto-maintien est que la même commande perdure et ne peut être arrêtée ; l’activation de la sortie %Q0 reste vraie tout le temps. Il est donc nécessaire d’ajouter une condition à l’arrêt (avec priorité à l’arrêt) :
La table de vérité de cette nouvelle fonction est la suivante :
- Forçage
Une autre possibilité est l’utilisation des commandes non volatiles SET et RESET. La commande SET permet le forçage à 1 d’une variable; RESET le forçage à 0.
L’inconvénient du forçage d’une sortie est qu’elle reste toujours vraie. Ici aussi, il est nécessaire d’ajouter une condition à l’arrêt : RESET %Q0 si %I0
Remarque : Attention, car même si l’utilisation des ordres de forçage fonctionne, il n’est pas recommandé, pour des raisons de sécurité, de les employer pour commander des organes de puissance (presse, vérin, moteur, etc.). L’emploi de variables volatiles reste prioritaire.
Génération de bascules
Les bascules sont des composants électroniques dédiés aux systèmes séquentiels. Il en existe plusieurs, détaillées ci-après.
- Bascule RS
La bascule RS est la plus élémentaire. Elle permet de mémoriser la valeur d’un bit. Sa table de vérité est fournie ci-dessous.
Même si ce composant existe déjà, il est possible de le synthétiser à l’aide de portes logiques élementaires NOR :
Une seconde possibilité consiste à utiliser des portes logiques élementaires NAND selon le dispositif ci-après. Il est à noter que le fonctionnement correct de ce dispositif requiert des entrées complémentées.
- Bascule RS Temporisé
Les bascules offrent des fonctionnalités plus riches lorsqu’elles sont synchronisées sur un signal d’horloge H. Un signal périodique carré peut être généré à partir de deux timers.
Une bascule temporisée sur un signal d’horloge peut être synthétisée à partir des portes NAND, selon ce montage :
Il est également possible de considérer un Front Montant (resp. Descendant) pour le signal H.
- Bascule D
Une bascule D possède une entrée et est synchronisée sur un signal d’horloge H. Son comportement est régi par la table de vérité suivante :
Son montage consiste à inverser les deux entrées S et R d’une bascule RS :
L’utilisation de plusieurs bascules D permet la synthèse de registres, compteurs, décompteurs.
- Bascule JK
En mode synchrone, une bascule JK possède deux entrées synchrones sur un signal d’horloge H. Son comportement est régi par la table de vérité suivante :
Elle peut être synthétisée à partir d’une bascule RS :
L’utilisation de plusieurs bascules JK permet la synthèse de registres, compteurs, décompteurs, d’automates à états.