Comptage par TSX 37-22 et codeur incrémental
14/01/2004
 Patrick ABATI 
Liste des cours

TSX Micro


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.
schéma
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
nouveau



navigateur
Navigateur Application
Configuration matérielle
Double clic sur comptage
config



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
comptage

Navigateur Application
Configuration matérielle

Double clic sur comptage

Choisir Configuration
Compteur 0
Codeur incrémental
Contact statique


codeur
Choisir Réglage
 
réglage

Choisir Mise au point
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
compare



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
valid



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
sens



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
operate
Dans l'exemple ci-contre
la valeur de présélection est 200
mesure
Cette valeur est chargée dans la valeur courante
lors de l'activation de la sortie de présélection 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)
seuil


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

sortie



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 1



Phase 2
Démasquer les événements
  • Au niveau système

par le bit %S38 qui doit être positionné à 1

  • Au niveau de la tâche Mast

par l'instruction UNMASKEVT

unmask
  • 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

qw



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)

phase 3
evt
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