| Comptage par TSX 37-22 et codeur incrémental |
14/01/2004 |
Patrick ABATI |
|
|
Les automates 37-22 intègrent des interfaces de comptage qui permettent de réaliser des fonctions de comptage, décomptage ou comptage/décomptage à une fréquence maximale de 10 KHz. Ces interfaces de comptage, accessibles par l'utilisateur à travers 2 connecteurs SUB-D 15 points standards (CNT1 et CNT2), comportent deux voies de comptage indépendantes (voie 11 et voie 12). Pour chaque voie, le paramétrage de la fonction (comptage, décomptage ou comptage/décomptage) est réalisé par configuration logicielle.
L'essai suivant explique la mise en oeuvre d'un codeur incrémental (RI58-0-00360 EK.42KB) associé à l'automate, via le connecteur CNT1 et le module de comptage intégré à la Base.
|
Liaisons entre
le codeur incrémental
et l'automate TSX 3722 |
Lancer PL7 Micro
Fichier
Nouveau
Processeur TSX 3722 V1.0
Aucune carte mémoire |
|
 |
Navigateur Application
Configuration matérielle
Double clic sur comptage |
|
Compteur 0
Comptage - MAST
Contact statique
Compteur 1
Comptage - MAST
Contact statique
Valider la configuration
Confirmer la configuration globale
Navigateur Application
Variables E/S
Les adresses du type
xx0.11 et xx0.12
apparaissent dans
la table des variables
|
 |
Navigateur Application
Configuration matérielle
Double clic sur comptage
Choisir Configuration
Compteur 0
Codeur incrémental
Contact statique
|
|
Choisir Réglage |
|
|
Choisir Mise au point

Relier le codeur
et vérifier le fonctionnement
dans les deux sens de rotation
Le sens de comptage
est donné par les signes + ou -
Les impulsions sont comptabilisées
dans la fenêtre Mesure courante
|
La valeur courante du compteur
peut être lue dans le mot %ID0.11
(compris entre -16 777 216 et +16 777 215)
Dans l'exemple ci-contre, la sortie Q1.1
est activée si la valeur courante
est supérieure à 5 |
|
La validation du compteur
peut être effectuée par %Q0.11.0
1 : compteur validé
0 : compteur inhibé
Dans l'exemple ci-contre
l'entrée %I1.1 active ou désactive %Q0.11.0 |
|
La détection du sens de rotation
peut être effectuée par lecture du bit %I0.11.9
Dans l'exemple ci-contre
quand le comptage s'effectue (sens +)
I0.11.9 = 1 : la sortie Q2.2 est activée |
 |
La présélection du compteur à une valeur
(comprise entre -16 777 216 et +16 777 215)
est faite par le mot %MD0.11.4

Dans l'exemple ci-contre
la valeur de présélection est 200
|
|
Cette valeur est chargée dans la valeur courante
lors de l'activation de la sortie de préselection directe %Q0.11.1 |
L'écriture de la valeur du seuil 0
se fait dans le mot %MD0.11.6
(compris entre -16 777 216 et +16 777 215) |
 |
Pour effectuer une comparaison
on peut utiliser l'entrée %I0.11.5 qui indique
1 si valeur du compteur >= valeur du seuil 0
0 si valeur du compteur < valeur du seuil 0
Dans l'exemple ci-contre la sortie %Q1.2
est activée si la valeur du compteur
est > ou = à la valeur du seuil 0
|
 |
Le traitement événementiel permet de minimiser le temps de réaction. Il peut être assimilé au traitement sur interruption que l'on trouve au niveau processeur. A chaque voie de comptage peut être associé un traitement événementiel dont la priorité est fonction de son numéro. Lors de l'apparition de l'événement, la tâche MAST est suspendue au profit du traitement événementiel. La mise en oeuvre de ce type de traitement se déroule en 3 phases :
Phase 1
Configurer l'événement
- seuils
- consignes
- présélection
Il s'agit d'associer
un traitement événementiel
à une voie de comptage (0)
et lui affecter un numéro (0) |
|
Phase 2
Démasquer les événements |
par le bit %S38 qui doit être positionné à 1
|
- Au niveau de la tâche Mast
par l'instruction UNMASKEVT
|
|
- Au niveau de la voie de comptage
par les bits de traitement des événements
par exemple %QW0.11.1:X5 doit être mis à 1
(par %I1.3 dans l'exemple ci-contre)
pour démasquer l'événement franchissement seuil 0
Par la suite le bit %IW0.11.3:X5
sera testé dans la tâche EVT
afin d'associer une action
au franchissement seuil 0
|
|
Phase 3
Créer le programme événementiel
Dans le Navigateur Application, sélectionner Evènements
Puis clic droit : Créer
Choisir le langage (LD) et donner un numéro d'événement (0)
Dans le cas où plusieurs sources d'événement
sont possibles sur une voie
l'origine de l'événement doit être identifiée
par le test à 1 de l'objet d'événement
Dans le programme ci-dessous
la sortie %Q1.1 est activée
si le bit d'événement %IW0.11.3:X5 est à 1
(franchissement du seuil 0) |
|
 |
Repère |
Symbole standard |
Signification |
%IWx.i.3:X5 |
THR0_EVT |
Evénement franchissement seuil 0 ou valeur zéro en décomptage |
%IWx.i.3:X6 |
THR1_EVT |
Evénement franchissement seuil 1 |
%IWx.i.3:X7 |
HISP_EVT |
Evénement franchissement consigne haute |
%IWx.i.3:X8 |
LOSP_EVT |
Evénement franchissement consigne basse |
|
|
Dans la tâche événementielle, il faut effectuer une RAZ de l'événement qui s'est produit, afin qu'un événement du même type puisse être traité ultérieurement. Cette mise à zéro est faite automatiquement, lorsqu'un autre événement se produit. |
Comparaisons disponibles en mode comptage/décomptage

Programme d'essai sous PL7 micro :
cahier des charges (PDF) - dossier(PDF) - programme(STX)
Bibliographie:
Logiciel PL7 Micro Manuel mise en oeuvre métiers tome 1
Automates TSX Micro Manuel de mise en oeuvre
Voir aussi:
Capteurs de vitesse et de position
Principe de fonctionnement des codeurs rotatifs