PROGRAMMATION DES APIs «OMRON CQM1»

1- Présentation :

Le CQM1 est un Automate Programmable Industriel (API) OMRON compact, programmable avec le logiciel SYSWIN, composé d'une alimentation, d'une unité centrale (UC) et de cartes d'E/S. Toutes ces cartes se connectent sur le côté pour constituer un API unique qui se monte généralement sur un rail DIN.
Toutes les UC CQM1, à l'exception du CQM1-CPU11-E, sont équipées d'un port RS-232C qui peut être connecté directement à un ordinateur, un autre CQM1, ou d'autres appareils en série.

Les configurations possibles avec le CQM1

Figure 5.1 : Les configurations possibles avec le CQM1

modèles du API OMRON CQM1

Figure 5.2 : Les types d'UC du CQM1

Fonction interface ABS : L'UC CQM1-CPU44-E est équipé de deux interfaces ABS (interfaces de codeurs absolus) qui peuvent recevoir directement des entrées de codeurs absolus rotatifs (1 kHz max.).

2- programmation :

2 .1- Les consoles de programmation compatibles

Deux consoles de programmation peuvent être utilisées avec le CQM1: le CQM1-PRO01-E et le C200H-PRO27-E. Les fonctions fondamentales de ces consoles de programmation sont identiques.

consoles de programmation

Figure 5.2 : Les consoles de programmation du CQM1

2.2- Le logiciel SYSWIN :

Le logiciel SYSWIN 

Figure 5.2 : Le logiciel SYSWIN

Le logiciel « SYSWIN » permet 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.

3– Structure de la zone de mémoire

Zones mémoire pouvant être utilisées dans le CQM1

Figure 5.3: Zones mémoire pouvant être utilisées dans le CQM1

4- Procédure fondamentale

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

5- Terminologie de l’instruction

Il existe deux types d'instructions en schéma à contact :

La plupart des instructions possèdent au moins une opérande associée. Les opérandes fournissent des informations concernant l'exécution d'une instruction. Elles sont parfois entrées en valeurs numériques réelles mais correspondent généralement à des adresses de canaux de zones ou à des bits contenant des données à utiliser.

6- Les bases du schéma à contacts

Un schéma à contacts se compose d’une ligne descendante 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. 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 :

Un schéma à contacts

Figure 5.4: Exemple de schéma à contacts

6.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.

Conditions normalement ouvertes et normalement fermées

Figure 5.5: Conditions normalement ouvert et normalement fermé

6.2- Code mnémonique

Pour programmer un automate CQM1 par la console de programmation, il est nécessaire de convertir le schéma à contacts en mnémonique. Le code mnémonique fournit exactement les mêmes informations que le schéma à contacts mais sous une forme qui peut être directement entrée dans l'API. On peut programmer directement en code mnémonique mais cela n'est pas conseillé dans les cas de programmes complexes.
Quel que soit l'appareil de programmation, le programme est stocké en mémoire sous la forme mnémonique, d'où l'importance de ce code.

Le programme se présente dans la mémoire du programme sous la forme d'adresses. Chaque adresse contient une instruction et toutes les données d'opérande et opérandes nécessaires à cette instruction. Certaines instructions ne nécessitant pas d'opérandes et d'autres jusqu'à 3 opérandes. Les adresses de la mémoire programme commencent à 00000 et vont jusqu'à épuisement de la capacité.
Voici un exemple de code mnémonique ; les instructions utilisées seront décrites plus tard :

un exemple de code mnémonique OMRON CQM1

Figure 5.6: Exemple de code mnémonique de l'automate OMRON-CQM1

6.2.1- LOAD et LOAD NOT

La première condition d'un bloc logique dans un schéma à relais correspond à une instruction LOAD ou LOAD NOT. Chacune de ces instructions demande une ligne de code mnémonique.

LOAD et LOAD NOT

6.2.2- AND et AND NOT

Quand plusieurs conditions sont en série sur la même ligne, la première correspondà une instruction LOAD ou LOAD NOT et les autres aux instructions AND ou AND NOT. L'exemple suivant montre trois conditions correspondant de gauche à droite à des instructions LOAD, AND NOT et AND. Chacune de ces instructions demande une ligne de code mnémonique.

AND et AND NOT

6.2.3- OR et OR NOT

Lorsque plusieurs conditions sont présentes sur des lignes d'instruction séparées mais parallèles et se rejoignent, la première correspond à une instruction LOAD ou LOAD NOT ; le reste des conditions correspond à une instruction OR ou OR NOT. L'exemple suivant montre trois conditions correspondant de haut en bas à des instructions LOAD NOT, OR NOT et OR.

Instruction OR et OR NOT

6.2.4- Combinaison d'instructions AND et OR

Lorsque des instructions AND et OR sont combinées dans des schémas plus complexes, elles peuvent parfois être considérées individuellement, chaque instruction effectuant une opération logique sur la condition et sur l'état du bit d'opérande. Dans les schémas plus compliqués, il est toutefois nécessaire de considérer les blocs logiques avant de pouvoir déterminer la condition d'exécution de l'instruction finale

Combinaison d’instructions AND et OR

6.2.5- OUTPUT et OUTPUT NOT

La façon la plus simple de sortir les résultats d'une combinaison de conditions est de le faire directement avec OUTPUT et OUTPUT NOT. Ces instructions s'utilisent pour contrôler l'état du bit d'opérande désigné en fonction de la condition d'exécution. Avec l'instruction OUTPUT, le bit d'opérande passe respectivement à ON (ou OFF) aussi longtemps que la condition est à ON (ou OFF).

Instruction OUTPUT et OUTPUT NOT

6.2.6- L'instruction END

La dernière instruction d'un programme simple est END. Lorsque l'UC scrute le programme, elle exécute toutes les instructions jusqu'à la première instruction END et retourne au début du programme pour recommencer l'exécution. Bien qu'une instruction END puisse être placée à n'importe quel endroit du programme, ce qui se fait parfois lors de la mise au point, aucune instruction située au–delà de END ne sera exécutée. Le nombre qui suit l'instruction END en code mnémonique est son code de fonction, utilisé lors de l'entrée de la plupart des instructions dans l'API. L'instruction END n'a besoin d'aucune opérande et aucune condition ne peutêtre placée sur la même ligne. En l'absence d'instruction END dans le programme, celui–ci n'est pas exécuté.

instruction END

6.2.7- Les instructions en bloc logique

Les instructions en bloc logique ne correspondent à aucune condition spécifique sur le schéma à relais mais décrivent des relations existant entre blocs logiques. AND LOAD établit un AND logique entre les conditions d'exécution produites par deux blocs logiques ; OR LOAD établit un OR logique entre les conditions produites par deux blocs logiques.

AND LOAD

Bien que simple en apparence, le schéma ci–dessous nécessite une instruction AND LOAD. Les deux blocs logiques apparaissent en pointillés. Cet exemple montre
qu'une condition d'exécution ON est produite lorsque l'une des conditions situées dans le bloc de gauche est à ON (IR 00000 ou IR 00001 est à ON) et lorsque l'une des conditions du bloc de droite est à ON (IR 00002 est à ON ou IR 00003 est à OFF).

Instruction AND LOAD

OR LOAD

Le schéma suivant nécessite une instruction OR LOAD entre le bloc logique du haut et celui du bas. Une condition d'exécution ON est produite pour l'instruction de droite lorsque IR 00000 est à ON et IR 00001 à OFF ou lorsque IR 00002 et IR 00003 sont à ON. Le fonctionnement et le code mnémonique de OR LOAD sont exactement identiques à ceux de AND LOAD, à ceci près que la condition d'exécution en cours est reliée par OR avec la dernière condition non utilisée.

instruction OR LOAD

Combinaison de AND LOAD et OR LOAD

Le bloc b ci–dessous ne peut être codé sans qu'il soit séparé en deux blocs combinés par OR LOAD. Dans cet exemple, les trois blocs ont été codés en premier et OR LOAD a ensuite été utilisée pour combiner les deux derniers blocs, puis AND LOAD pour combiner la condition d'exécution produite par OR LOAD avec la condition d'exécution du bloc a.

Combinaison de AND LOAD et OR LOAD

Schémas compliqués

Lorsque l'on détermine les instructions logiques nécessaires au codage d'un schéma, il faut parfois diviser ce dernier en grands blocs puis diviser à leur tour ces blocs pour arriver à des blocs logiques pouvant être codés sans former d'instructions en blocs logiques. Ces blocs sont ensuite codés en combinant les petit blocs d'abord puis les blocs plus importants. AND LOAD ou OR LOAD est utilisée pour la combinaison des blocs : elles combinent toujours les deux dernières conditions d'exécution, qu'elles résultent d'une seule condition, de blocs logiques ou d'instructions à blocs logiques antérieures.
Dans les schémas compliqués, les blocs sont codés en partant de la partie supérieure gauche puis en descendant. Quand on a le choix, on code donc OR LOAD avant AND LOAD.

Le schéma suivant doit être séparé en deux blocs et chaque bloc en deux autres blocs avant le codage. Comme on le voit, les blocs a et b nécessitent une instruction AND LOAD. Avant AND LOAD, OR LOAD doit cependantêtre utilisée pour combiner les blocs du haut et du bas des deux côtés c'est- à-dire pour combiner a1 et a2 ainsi que b1 et b2.

Schémas compliqués

6.2.8- Codage des instructions multiples de droite

Dans le cas où plusieurs instructions de droite sont exécutées avec la même condition d'exécution, elles sont codées successivement à la suite de la dernière
condition de la ligne. Dans l'exemple suivant, la dernière ligne d'instruction contient une instruction supplémentaire correpondant à un AND avec IR 00004.

instructions multiples de droite

6.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.

Application avec deux bits TR

Dans cet exemple, TR 0 et TR 1 sont utilisés pour stocker les conditions d'exécution au point d'embranchement. Après l'exécution de l'instruction 1, la condition stockée dans TR 1 est chargée pour effectuer un AND avec l'état de IR 00003. La condition d'exécution stockée dans TR 0 est chargée deux fois, la première pour effectuer un AND avec l'état de IR 00004 et la deuxième avec l'état inversé de IR 00005.

6.3- Contrôle de l'état des bits

On peut utiliser 7 instructions de base pour contrôler individuellement l'état des bits : OUTPUT, OUTPUT NOT, SET, RESET, DIFFERENTIATE UP, DIFFERENTIATE
DOWN et KEEP. Toutes ces instructions apparaissent à la fin d'une ligne d'instructions et ont une adresse de bit comme opérande.

6.3.1- SET et RESET

Les instructions SET et RESET sont très similaires aux instructions OUTPUT et OUTPUT NOT, à ceci près qu'elles changent l'état de leurs bits d'opérande pour les conditions d'exécution à ON. Aucune de ces deux instructions n'affecte l'état de son bit d'opérande lorsque la condition d'exécution est à OFF.

Instruction SET et RESET

6.3.2- DIFFERENTIATE UP et DIFFERENTIATE DOWN

Les instructions DIFFERENTIATE UP (front montant) et DIFFERENTIATE DOWN (front descendant) s'utilisent pour placer le bit d'opérande à ON pour un tour de scrutation à la fois.

Ces deux instructions ne nécessitent qu'une ligne d'instruction en code mnémonique.

Instruction DIFFERENTIATE UP et DIFFERENTIATE DOWN

6.3.3- KEEP

KEEP s'utilise pour maintenir l'état du bit d'opérande résultant de deux conditions d'exécution. Pour ce faire, KEEP est connectée à deux lignes d'instruction. Lorsque la condition d'exécution de la fin de la première ligne est à ON (verrouillage), le bit d'opérande de KEEP est placé à ON (déverrouillage).
Lorsque la condition d'exécution de la fin de la deuxième ligne està ON, le bit d'opérande de KEEP est placé à OFF(verrouillage). Le bit d'opérande de KEEP maintient sont état ON ou OFF même s'il est situé dans un branchement. Le bit de déverrouillage est prioritaire sur le bit de verrouillage.

Instruction KEEP

6.4- Instructions de temporisation/comptage

TIM et TIMH(15) sont des instructions de temporisation de retard au travail en décrémentation nécessitant un numéro de TC et une valeur sélectionnée (SV).
STIM(––) s'utilise pour contrôler les tempo. cycliques qui servent à activer les sous–programmes d'interruption.
CNT est une instruction de compteur en décrémentation et CNTR est une instruction de compteur réversible. Toutes les deux nécessitent un numéro de TC et une SV ; elles sont connectées aux lignes d'instructions multiples et servent de signal d'entrée et de RAZ. CTBL(––), INT(––) et PRV(––) sont utilisées pour gérer le compteur rapide. INT(––) est également utilisée pour arrêter la sortie par impulsion.
Tout numéro de TC ne peut être défini deux fois, c'est–à–dire qu'une fois qu'il aété utilisé comme zone d'opérande dans une instruction de tempo. ou compteur,
il ne peut être ré–utilisé. Une fois définis, les numéros de TC peuvent être utilisés autant de fois qu'on le souhaite comme opérande dans les instructions autres
que tempo. ou compteur.
Les numéros de TC vont de 000 à 511. Aucun préfixe n'est nécessaire lorsque l'on utilise un numéro de TC comme donnée d'opérande dans une instruction de
tempo. ou compteur. Une fois défini comme temporisation, un numéro de TC peut porter le préfixe TIM pour être utilisé comme opérande dans certaines instructions. Le préfixe TIM s'utilise sans tenir compte de l'instruction de temporisation utilisée pour définir la temporisation. Une fois défini comme compteur, un numéro de TC peut porter le préfixe CNT pour être utilisé comme opérande dans certaines instructions. CNT s'utilise également sans tenir compte de l'instruction compteur utilisée pour définir le compteur.

6.4.1- TIMER – TIM

TIMER – TIM

SV est située entre 000,0 et 999,9. La virgule décimale n'est pas entrée. Chaque numéro de TC peut être utilisé comme donnée d'opérande dans une seule instruction TIMER ou COUNTER. Une temporisation s'active lorsque sa condition d'exécution passe à ON et est remise à zéro (à la SV) lorsque la condition passe à OFF. Une fois activée, TIM mesure par unités de 0,1 seconde à partir de la SV.

6.4.2- COUNTER – CNT

COUNTER – CNT

CNT s'utilise pour décompter à partir de la SV lorsque la condition de l'impulsion de comptage, CP, passe de OFF à ON, c'est–à–dire que la valeur en cours (PV) est décrémentée de un à chaque fois que CNT est exécutée avec une condition à ON pour la CP et que la condition de la dernière exécution était à OFF. Si la condition d'exécution n'a pas changé ou est passée de ON à OFF, la PV de CNT reste inchangée. Le drapeau de fin d'un compteur passe à ON lorsque la PV atteint zéro et y reste jusqu'à remise à zéro du compteur.
CNT est remis à zéro à l'aide d'une entrée de RAZ, R. Lorsque R passe de OFFà ON, la PV est remise à la valeur de la SV. La PV n'est pas décrémentée lorsque R est à ON. Le décomptage à partir de SV recommence lorsque R passe à OFF. La CP de CNT n'est pas remise à zéro dans les branchements ni en cas de coupure
de courant.

Voici une illustration de ce qui précède sous la forme d'un schéma et de codes mnémoniques correspondants :

Exemple de programme complet

7- Diagnostic rapide de l'API

On peut utilisez les diagrammes suivants pour résoudre les éventuels problèmes de fonctionnement.

Diagnostic rapide de l'API OMRON CQM1

OMRON CQM1 SYSWIN cours automate programmable programmation informatique industrielle structure automate Guide entrées sorties

Révisé le :18-11-2017 www.technologuepro.com Facebook Twitter RSS