précédent suivant haut Contents

Programmation directe en Grafcet


Certains automates sont prévus pour être programmés plus facilement à partir d'un Grafcet. C'est le cas du TSX (à l'aide d'une cartouche ROM) et du PB 15, mais pas du Micro1 par exemple. Mais ces implantations ne sont pas bien pratiques, c'est pourquoi on utilisera généralement (si on en a les moyens) une génération automatique du programme à l'aide d'un logiciel spécifique (en général sur PC).

PB APRIL 15

Chaque étape doit être représentée par une variable interne. On doit utiliser les premières (donc à partir de A00). Les variables internes suivantes peuvent être utilisées pour d'autres utilisations, par exemple pour un calcul de receptivité (on utilise en général les variables en décroissant à partir de A3F).

La première ligne du programme doit comporter l'instruction PRED, qui initialise le Grafcet. Puis on définit toutes les transitions : quelles est l'étape(s) précédente (antérieure), quelle est la variable contenant la receptivité puis quelle est l'étape(s) postérieure. Puis on affecte les sorties, et on boucle (sans bien sur repasser sur PRED qui réinitialiserait).

Exemple du grafcet 2 :

Choix des variables : étape i : A0i, entrée Ei : 00i , sortie Si : 02i

0C30 PRED
0C31 EANT A01     étape antérieure 1
     RCEP 001     réceptivité
     EPOS A02     2 étapes postérieures : 2 et 3
     EPOS A03

     EANT A03
     SI  002      calcul receptivité
     SI/ 003
     ET  A3F      mis dans une variable interne
     RCEP A3F
     EPOS A04

     EANT A04
     RCEP /002
     EPOS A03

     EANT A02     2 étapes antérieures
     EANT A03
     SI 003
     SI 002
     ET A3E
     EPOS A01

     SI A02       affectation des sorties
     OU 021
     SI A03
     OU 022
     SI A04
     OU 023

     SAUT C31     boucler apres PRED
Le langage vérifie toutes les règles du grafcet, et entre autre accepte plusieurs étapes actives simultanément, ou plusieurs grafcets simultanés (n'oubliez pas dans ce cas de numéroter différement les étapes). Par contre il nécessite une transcription du Grafcet, et n'est pas trop pratique pour le déboguage (quelles étapes sont actives à un instant donné ?)

Dernier point à élucider, PRED : Cet ordre remet les variables internes (et lesregistres de tempos et compteurs) dans le dernier état sauvé. Les variables internes sont mémorisées dans des mots 16 bits aux adresses 0C00 à 0C03. 0C00 contient A00 en bit de poids fort, jusqu'à A0F en bit de poids faible. Dans notre cas, mettre A01 à 1 et tout les autres à 0 revient donc à mettre 4000 (hexa) dans 0C00 et 0000 dans 0C01 à 0C03. On mémorise alors cet état en appuyant sur la touche MEM puis en validant par VAL/+.

sur TSX

Il faut tout d'abord dessiner le grafcet. Analysons le cas du grafcet 1 :

saut en PL7-3

Les traits verticaux vont de haut en bas uniquement. Par contre on peut remplacer un trait par 2 flèches, en précisant l'étape d'où l'on vient et où l'on va. C'est ce que l'on utilise pour une remontée. (ici pour aller de l'étape 2 à l'étape1). Cette notation ne respecte pas les règles du Grafcet (une laison est entre une étape et une transition) et peut nécessiter de rajouter une étape au niveau d'une convergence ou divergence.

Une fois le grafcet entré, on définit les transitions et les actions correspondant aux étapes. Pour ceci, placer le curseur sur une transition à définir, appuyer la touche ZM (zoom). Un réseau à contacts apparaît, avec une bobine représentant la transition. Il faut alors représenter le schéma qui, en fonction des capteurs, "allumera" la receptivité. On valide le réseau par ENT (touche ENTER). Pour les actions, il faut pointer une étape, appuyer ZM, donner le schéma qui allumera les bobines de sortie. On entre un réseau complet, on peut donc faire du combinatoire sur les sorties (test arrêt d'urgence) ou déclencher une tempo. Mais les sorties ne peuvent être activées que par une bobine <S>, ce qui force à désactiver la sortie par une bobine <R> l'étape suivante. Une autre possibilité (que je conseille fortement) est de gérer les actions grâce au "traitement postérieur", voir document complet sur le TSX

Soient : Capteurs m=I1,0, a=I1,1 Sortie L=O0,0. Les réseaux à entrer sont donc:

transition 1                            transition 2

    |  I1,0                      |          |  I1,1                      |
    |---||----------------< # >--|          |---||----------------< # >--|   
    |                            |          |                            |

étape 1                                 étape 2
              
    |                     O 0,0  |          |                     O 0,0  |
    |---------------------< R >--|          |---------------------< S >--|   
    |                            |          |                            |


précédent suivant haut Contents