Contents Up haut

Description succincte du TSX


Description succincte du TSX

P.TRAU, 24/3/97.

Les fonctions de base d'un automate

Un automate programmable permet de remplacer une réalisation câblée comportant des composants combinatoires (portes) et séquentiels (bascules, séquenceurs,...) par un programme. Un programme est une suite d'instructions, qui sont exécutées l'une après l'autre. Si une entrée change alors qu'on ne se trouve pas sur l'instruction qui la traite et que l'on ne repasse plus sur ces instructions, la sortie n'est pas modifiée. C'est la raison de la nécessité de bouclage permanent sur l'ensemble du programme.

Par rapport à un câblage, on a donc deux désavantages : temps de réponse (un changement des entrées sera pris en compte au maximum après le temps d'un passage sur l'ensemble du programme, c'est ce qu'on appelle le temps de scrutation, qui sera souvent de l'ordre de la milliseconde) et non simultanéité (on n'effectue qu'un instruction à la fois). Mais ces temps étant en général très inférieurs aux temps de réaction des capteurs et actionneurs (inertie d'un moteur par exemple), ceci n'est que rarement gênant. L'avantage est que c'est programmable, donc facilement modifiable.

Tout automate programmable possède :

Ce qui différencie les automates, c'est la capacité (entrées, sorties, mémoires internes, taille de programme, nombre de compteurs, nombre de temporisations), la vitesse mais surtout son adaptabilité (possibilité d'augmenter les capacités, de prendre en compte de l'analogique et numérique, de converser via un réseau...)

Le langage à contacts du TSX

C'est le langage de base des TSX. Il est nécessaire de le connaître même pour utiliser le langage PL7-2 (proche du Grafcet).

Sur le TSX, les sorties sont appelées Oi,0 à Oi,23 (i=numéro de carte d'entrée), les entrées Ii,0 à Ii,24. Les variables internes sont notées en décimal de B0 à B255 (B pour Bit interne ou Bobine).

La programmation se fait à l'aide de programmes graphiques : les réseaux. Ce sont des schémas qui sont exécutés l'un après l'autre, de haut en bas (et non suivant leur label). Chaque réseau est scruté par colonne de gauche à droite.

exemple :

label 1

Dans ce cas l'entrée B12 est l'ancienne valeur du bit interne (bobine) B12. Si l'on veut utiliser le résultat B12 de ce réseau, il faut utiliser B12 dans le réseau suivant.

On note un capteur par le signe label , un contact complémenté (vrai si 0) par contact.

Un bit interne est notée bobine , un bit interne inverse bobine inverse (commandée par un niveau 0).

Une bascule bistable est allumée par Set , éteinte par Reset .

Un saut à un autre réseau est noté Jump. Un saut est effectué immédiatement lors de son évaluation (les bobines en sortie dans le même réseau mais sur les lignes suivantes ne seront donc pas évaluées en cas de saut). On a intérêt de n'utiliser que des sauts avants (vers la fin du programme). L'exécution du dernier réseau sera automatiquement suivie de l'exécution du premier (sauf si sauts). L'automate fixe automatiquement les entrées au début de cycle et n'affecte les sorties qu'en fin de cycle (les variables internes sont évidement immédiatement modifiées). Il est nécessaire de refaire un cycle (c'est à dire passer du dernier réseau au premier) fréquemment (tous les 150 ms maximum).

Temporisation

On représente la tempo par le signe :

timer

Il existe sur les TSX 17 32 tempos (T0 à T31). E correspond à l'armement de la tempo, C au contrôle. D passe à 1 en fin de tempo, R est à 1 tant que la tempo est en cours. En appuyant la touche ZM, on peut donner : TB: la base de temps (1mn, 1s, 100ms, 10ms), PRESET: la durée (0 à 9999).

E doit être à 1 tout le temps du comptage, son passage à 0 met D à 0 et réinitialise le compteur. C (que l'on peut brancher sur E) valide le comptage (si C=0;, le compteur est bloqué mais pas remis à 0)

On dispose également de 8 tempos monostables M0 à M7, avec une seule entrée S, une seule sortie R valant 1 à durant le temps présélectionné, partir du front montant de S, indépendamment du moment de passage à 0 de S. Un nouveau front montant de S en cours de comptage relance le compteur à 0.

Compteur / décompteur

compteur

Il existe sur les TSX 17 32 compteurs (C0 à C31). R (reset) met le compteur et les sorties à 0. P (preset) met le compteur à la valeur finale et la sortie D (done) à 1 (sauf si R=1). U (up) incrémente le compteur, D (down) le décrémente. La sortie F (full) vaut 1 lors du passage du compteur (par U) de 9999 à 0, E (empty) lors du passage (par D) de 0 à 9999. Si U=D=1, le compteur est inchangé.
La valeur de préselection (Ci,P, entre 0 et 9999) se définit en "zoomant" sur le compteur.

Les autres fonctions disponibles (comparateurs, opérations arithmétiques et logiques, piles, registres à décalage, transcodage binaire, BCD, ASCII...) sont détaillées dans le chapitre 5 du document "Terminal TSX T407 Modes opératoires PL7-2", au chapitre 2 de "Langage PL7-2 Synthèse" ainsi qu'au chapitre B4 du manuel de référence du PL7-2.

Conclusion

Ces fonctions de base (tempo, compteur) sont présentes dans tous les automates (même si elles sont mises en oeuvre par des langages très différents), sauf les sauts qui peuvent être plus limités (au minimum bouclage automatique sur l'ensemble du programme, mais sans sauts dans le programme). Mais le principe reste valable quel que soit l'automate. Souvent, d'autres possibilités existent, en particulier temporisations, comptage, comparaisons,...

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) mais pas du MICRO1.

Il faut tout d'abord dessiner le Grafcet. Analysons le cas du Grafcet suivant :

Grafcet

choix des adresses et variables internes
  • entrées :
    • m : entrée I1,0
    • a : entrée I2,0
  • sortie L : O0,0

programme :

saut

On vient de l'étape 2

Les liaisons verticales vont de haut en bas uniquement. Par contre on peut remplacer une liaison par 2 flèches, en précisant l'étape d'où l'on vient et celle où l'on va. C'est ce que l'on utilise pour une remontée.

On va à l'étape 1

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 un bit interne représentant la transition. Il faut alors représenter le schéma qui, en fonction des capteurs, "allumera" la réceptivité. On valide le réseau par ENT (touche ENTER). Pour les actions, on peut (mais je ne le conseille pas) pointer une étape, appuyer ZM, donner le schéma qui allumera les bobines de sortie. Sur nos TSX, les sorties ne peuvent être activées que par un bit interne <S>, ce qui force à désactiver la sortie par un bit interne <R> l'étape suivante.

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

transition 1

label 1

transition 2

label 2

étape 1

label 3

étape 2

label 4

Une bien meilleure solution est de regrouper toutes les actions dans le "traitement postérieur". Attention, du fait que le TSX fige les entrées-sorties le temps d'un cycle, il ne faut mettre en place qu'une seule "équation" par sortie (sinon seule la dernière sera prise en compte). On n'oubliera donc pas de regrouper (en parallèle) les Xi allumant une sortie.

label

Une tempo (en secondes) est automatiquement liée à chaque étape, et permet de tester la durée depuis l'activation de l'étape par un opérateur de type -[ < ]- (comparaison) par la variable interne Xi,V (i numéro d'étape)

exemple de transition comportant une tempo :
tempo
label 6

Détails pratiques

Ce chapitre précise l'utilisation des claviers et les branchements à effectuer.

Allumez l'automate puis la console (touche ON). Mettez l'automate en mode STOP (sur la platine portant l'automate). Quand le menu principal est affiché, choisissez PRG (program) en appuyant la flèche qui se trouve sous cette option. Vous pouvez alors soit examiner le programme en mémoire, soit visualiser la suite des options du menu par la flèche sous le -/-. On choisit alors l'option CLM (clear memory), qui nous demande en quel langage on veut travailler (SEQ pour grafcet, LAD pour contacts). Puis après quelques secondes, on peut revenir au programme principal par la touche QUIT (qui remonte brutalement) ou 2 fois CLR (qui remonte avant la dernière commande effectuée).

Pour entrer le programme, choisir PRG puis SEQ ou LAD. On valide un réseau ou tout le programme par la touche ENT.

Pour faire tourner le programme, revenez au menu principal (QUIT), choisissez DBG (debug) puis R/S (run/stop), ou mettez en RUN par le contacteur RUN/STOP de la platine.. Quand le programme tourne, on peut revenir sous PRG pour le voir, mais pas le modifier. Les capteurs et les bobines sont alors représentées en pointillés si à 1, en trait plein si à 0.

Les modifications se font en revisualisant le programme sous PRG, choisir le bon réseau ou partie de Grafcet et choisir l'option MOD. En général, une modification nécessite d'effacer le capteur ou trait existant (touche SH + DEL) et remettre le nouveau, dans d'autres cas (traits horizontaux par exemple), on efface une entité en lui superposant une entité identique.

Un cycle de programme en langage Grafcet peut être précédé par un programme en langage à contacts (ladder) appelé traitement préliminaire, et suivi d'un taitement postérieur. La scrutation des entrées se faisant avant le traitement préliminaire, on peut y traiter des conditions sur les entrées préliminaires ou effectuer une partie d'un calcul au cas où un réseau ne suffirait pas pour une réceptivité. Le traitement postérieur se fait avant l'affectation des sorties, et peut donc modifier des sorties avant leur affectation définitive. Ces traitements peuvent utiliser l'état du Grafcet (par l'intermédiaire des bits Xi). On peut également les utiliser pour implanter le GEMMA (modes de marche et d'arrêt) sans modifier le Grafcet. A la mise en route de l'automate, tous les bits internes (sauf indication contraire) sont mùis à 0, sauf les étapes initiales.

Description des menus (utiles) sur la console T407


Contents Up haut

P. TRAU, 26/3/97