Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
4 janvier 2011 2 04 /01 /janvier /2011 11:55

1- Introduction

Dans ce chapitre nous prendrons en exemple le langage « SYSWIN 3.2 » permettant la programmation des automates « OMRON-CQM1 » utilisés dans de nombreux systèmes automatisés. L’adressage (codage de variables d’entrées, de sorties et intermédiaires) et la définition de quelques instructions logiques sont présentés ci-après.

2– Structure de la zone de mémoire

3- Procédure fondamentale

Il existe plusieurs étapes fondamentales impliquées dans l’écriture d’un programme :

  • Dresser la liste de tous les périphériques d’E/S et des points d’E/S et préparer un tableau présentant le bit d’E/S attribué à chaque périphérique d’E/S.
  • Déterminer quels sont les mots disponibles pour les bits de travail et préparer un tableau d’attribution de ces derniers suivant leur utilisation.
  • Dessiner le schéma à contacts.
  • Entrer le programme dans l’unité centrale. L’utilisation de la console de programmation implique la conversion du programme en forme mnémonique.
  • Vérifier le programme pour les erreurs de syntaxe et les corriger.
  • Exécuter le programme pour vérifier les erreurs d’exécution et les corrige.
  • Après l’installation du système de commande complet et lorsqu’il est opérationnel, exécuter le programme et le mettre au point si nécessaire.

4- Terminologie de l’instruction

Il existe fondamentalement deux types d’instructions utilisées dans la programmation en schéma à contacts :

  • instructions correspondant aux conditions sur le schéma à contacts et utilisées sous la forme d’instruction uniquement lors de la conversion d’un programme en code mnémonique.
  • instructions utilisées sur la partie droite du schéma à contacts et exécutées selon les conditions se trouvant sur les lignes d’instruction.

5- Bases du schéma à contacts

Un schéma à contacts se compose d’une ligne descendant du côté gauche avec des lignes se branchant vers la droite. La ligne du côté gauche s’appelle la barre omnibus. Les lignes de branchement s’appellent les lignes d’instructions ou les échelons. Le long des lignes d’instructions sont situées les conditions conduisant à d’autres instructions du côté droit. Les combinaisons logiques de ces conditions déterminent quand et comment les instructions à droite sont exécutées. Un schéma à contacts est présenté ci-dessous :

5.1- Terminologie fondamentale

Chaque condition dans un schéma à contacts est à ON ou à OFF selon l’état du bit d’opérande lui étant attribué. Une condition normalement ouverte est à ON si le bit d’opérande est à ON ; à OFF si le bit d’opérande est à OFF. Une condition normalement fermée est à ON si le bit d’opérande est à OFF ; à OFF si le bit d’opérande est à ON.

Etats normalement ouvert et normalement fermé

5.2- Code mnémonique

Le schéma à contacts n’est pas directement entré dans l’API par l’intermédiaire d’une console de programmation. Pour l’entrer depuis une console de programmation, il est nécessaire de convertir le schéma à contacts en code mnémonique. Le code mnémonique fournit exactement les mêmes informations que le schéma à contacts, mais sous une forme pouvant être tapée directement dans l’API.

5.2.1- CHARGER (LOAD) et NON CHARGER (LOAD NOT)

La première condition commençant un bloc logique quelconque dans un schéma à contacts correspond à une instruction CHARGER ou NON CHARGER. Chacune de ces instructions demande une ligne de code mnémonique.

5.2.2- ET (AND) et NON ET (AND NOT)

Lorsque deux ou plusieurs conditions sont en série sur la même ligne d’instruction, la première correspond à une instruction CHARGER ou NON CHARGER ;

5.2.3- OU (OR) et NON OU (OR NOT)

Lorsque plusieurs conditions se trouvent dans des lignes d’instruction séparées mais parallèles et se rejoignant ensuite, la première condition correspond à une instruction CHARGER ou NON CHARGER ; le restant des conditions correspond à des instructions OU ou NON OU.

5.2.4- Combinaison des instructions ET (AND) et OU(OR)

Lorsque des instructions ET et OU sont combinées dans des schémas plus compliqués, elles sont parfois considérées individuellement, avec chaque instruction effectuant une opération logique sur la condition d’exécution et l’état du bit d’opérande.

5.2.5- SORTIE et NON SORTIE

La façon la plus simple d’émettre les résultats de conditions d’exécution combinées est de les sortir directement avec SORTIE (OUTPUT) et NON SORTIE (OUTPUT NOT). Ces instructions sont utilisées pour commander l’état du bit d’opérande désigné en fonction de la condition d’exécution.

5.2.6- L’instruction FIN

La dernière instruction nécessaire pour terminer un programme simple est l’instruction FIN (END). Lorsque l’unité centrale balaye le programme, elle exécute toutes les instructions jusqu’à la première instruction FIN avant de retourner au début du programme et de recommencer l’exécution.

5.2.7- Instructions de bloc logique

Les instructions de bloc logique ne correspondent pas aux conditions spécifiques du schéma à contacts ; elles décrivent plutôt les relations entre blocs logiques. L’instruction ET CHARGER effectue une comparaison logique ET des conditions d’exécution produites par deux blocs logiques. L’instruction OU CHARGER effectue une comparaison logique OU des conditions d’exécution produites par deux blocs logiques.

ET CHARGER (AND LOAD)

Bien que simple en apparence, le schéma ci-dessous demande une instruction ET CHARGER.

OU CHARGER (OR LOAD)

Le schéma suivant demande une instruction OU CHARGER entre le bloc logique du haut et le bloc logique du bas.

Combinaison de ET CHARGER (AND LOAD) et OU CHARGER (OR LOAD)

Schémas compliqués

Lorsqu’il s’agit de schémas compliqués, les blocs sont finalement codés en partant du haut à gauche et en descendant avant de traverser. Ceci veut généralement dire que, s’il existe un choix, OU CHARGER est codée avant ET CHARGER.

Le schéma suivant est décomposé en deux blocs et chacun d’entre eux est décomposé en deux blocs avant d’être codé. Comme indiqué ci-dessous, les blocs a et b demandent une ET CHARGER. Avant d’utiliser ET CHARGER, OU CHARGER est utilisée pour combiner les blocs du haut et du bas des deux côtés, c'est à dire pour combiner a1 et a2 ; b1 et b2.

5.2.8- Codage d’instructions multiples de droite

S’il y a plus d’une instruction de droite exécutée avec la même condition d’exécution, elles sont codés consécutivement en suivant la dernière condition sur la ligne d’instructions. Dans l’exemple suivant, la dernière ligne d’instructions contient une condition de plus correspondant à une ET (AND) avec l’IR 00004.

5.2.9- Lignes secondaires

Lorsqu’une ligne d’instructions se sépare en deux ou plusieurs autres lignes secondaires, il est parfois nécessaire d’utiliser des branchements ou des bits TR pour maintenir la condition d’exécution ayant existé au niveau de l’embranchement.

Le schéma B précédent est écrit comme indiqué ci-dessous pour assurer une exécution correcte. En code mnémonique, la condition d’exécution est sauvegardée au point d’embranchement en utilisant le bit TR comme l’opérande de l’instruction SORTIE

5.3- Commande de l’état des bits

Il existe 7 instructions fondamentales pouvant être utilisées en général pour commander l’état des bits individuels. Ce sont les instructions SORTIE (OUTPUT), NON SORTIE (OUTPUT NOT), PARAMETRAGE ON (SET), PARAMETRAGE OFF (RESET), CHANGEMENT D’ETAT FRONT MONTANT DIFFERENTIATE UP), CHANGEMENT D’ETAT FRONT DESCENDANT DIFFERENTIATE DOWN) et CONSERVER (KEEP). Toutes ces instructions apparaissent comme la dernière instruction dans une ligne d’instructions et prennent une adresse de bit comme opérande.

5.3.1- Paramétrage ON et Paramétrage OFF

PARAMETRAGE ON passe à ON le bit d’opérande lorsque la condition d’exécution devient ON, mais à la différence de l’instruction SORTIE, PARAMETRAGE ON ne passe pas à OFF le bit d’opérande lorsque la condition d’exécution devient OFF. PARAMETRAGE OFF passe à OFF le bit d’opérande lorsque la condition d’exécution devient OFF, mais au contraire de l’instruction NON SORTIE, RESET passe à ON le bit d’opérande lorsque la condition d’exécution passe à OFF.

5.3.2- Changement d'état front montant et Changement d'état front descendant

L’instruction CHANGEMENTD’ETAT FRONTMONTANT(DIFFERENTIATE UP) passe à ON le bit d’opérande pendant un cycle après que la condition d’exécution pour lui est passée de OFF à ON ; l’instruction CHANGEMENT D’ETAT FRONT DESCENDANT (DIFFERENTIATE DOWN) passe à ON le bit d’opérande pour un cycle après que la condition d’exécution pour lui soit passée de ON à OFF. Ces deux instructions demandent seulement une ligne de code mnémonique.

5.3.3- Conserver

L’instruction CONSERVER (KEEP) est utilisée pour maintenir l’état du bit d’opérande sur la base de deux conditions d’exécution. Pour ce faire, l’instruction CONSERVER est connectée à deux lignes d’instructions. Lorsque la condition d’exécution à la fin de la première ligne d’instructions est à ON, le bit d’opérande de l’instruction CONSERVER passe à ON. Lorsque la condition d’exécution à la fin de la seconde ligne d’instruction est à ON, le bit d’opérande de l’instruction CONSERVER passe à OFF.

5.3.4- Bits à auto-maintien (scellement)

Bien que l’instruction CONSERVER soit utilisée pour créer des bits à auto-maintien, il est parfois nécessaire de créer des bits à auto-maintien d’une autre façon de sorte qu’ils soient passés à OFF lorsqu’ils se trouvent dans une section verrouillée du programme.

5.4- Instructions de comptage et de temporisation

TIM et TIMH(15) sont des instructions de temporisation à retard à ON décrémentales nécessitant un numéro TIM/CNT et une valeur de réglage (SV). CNT est une instruction de comptage décrémental et CNTR(12) est une instruction de comptage ou de décomptage. Les deux instructions nécessitent un numéro TIM/CNT et une valeur de réglage SV. Les numéros TIM/CNT vont de 000 jusqu’à 511.

5.4.1- Temporisation - TIM

SV doit être comprise entre 000.0 à 999.9. Une temporisation est activée lorsque sa condition d’exécution est à ON. Elle est réinitialisée (à SV) lorsque sa condition d’exécution est à OFF. Une fois activé, TIM mesure des unités de 0,1 seconde à partir de SV.

5.4.2- Compteur – CNT

CNT est utilisé pour décompter, à partir de la SV et lorsque la condition d’exécution, CP, passe de OFF à ON. Autrement dit, la valeur courante (PV) est décrémentée de un à chaque instruction CNT, lorsque la condition d’exécution est à ON pour CP et que la dernière condition d’exécution était à OFF. Si la condition d’exécution est inchangée ou si elle n’est pas passée de ON à OFF, la PV de CNT reste inchangée. CNT est réinitialisé par l’entrée de réinitialisation, R. Lorsque R passe de OFF à ON, la PV est réinitialisée avec la valeur SV. La PV n’est pas décrémentée si R est à ON. Le décomptage à partir de SV est recommencé si R passe à OFF. La PV de CNT n’est pas réinitialisée dans une section de programme verrouillée ou par une interruption de l’alimentation.

Partager cet article
Repost0

commentaires