Manuel du propriétaire | Omron CPM2A Manuel utilisateur

Ajouter à Mes manuels
564 Des pages
Manuel du propriétaire | Omron CPM2A Manuel utilisateur | Fixfr
Cat. No. W353-E1-1
SYSMAC
CPM1/CPM1A/CPM2A/CPM2C/SRM1(-V2)
Automate programmable
MANUEL DE
PROGRAMMATION
AUTOMATES PROGRAMMABLES
CPM1/CPM1A/CPM2A/CPM2C/SRM1(-V2)
Manuel de Programmation
Réalisé en Mai 1999
Avis :
Les produits OMRON sont conçus pour être utilisés par un opérateur qualifié, en respectant des procédures appropriées et uniquement dans le cadre de ce qui est précisé dans ce document.
Dans ce manuel, les conventions suivantes permettent de spécifier et de classer les conseils d’utilisation. Toujours faire très attention aux informations qui sont données. Le non--respect des conseils
d’utilisation stipulés peut blesser des personnes ou endommager des biens.
! DANGER
Indique une situation dangereuse imminente qui, si elle n’est pas évitée, peut entraîner des
blessures graves ou mortelles.
! AVERTISSEMENT
! Attention
Indique une situation potentiellement dangereuse qui, si elle n’est pas évitée, peut
provoquer des blessures graves ou mortelles.
Indique une situation potentiellement dangereuse qui, si elle n’est pas évitée, peut provoquer
de légères ou moyennes blessures ou endommager des biens.
Références des produits OMRON
Dans ce manuel, tous les noms de produits OMRON sont écrits en majuscules. Le mot “ unité ” désigne
un produit OMRON, que la désignation de ce produit apparaisse ou nom dans le texte.
L’abréviation “Ch,” qui figure sur certains affichages et sur certains produits OMRON signifie souvent
“ word ” (“ mot ”) et, dans la documentation, il est souvent remplacé par l’abréviation “Wd”.
L’abréviation “API” signifie Automate programmable industriel et n’est jamais utilisée comme abréviation d’un autre système, composant ou élément.
Aides visuelles
Les intitulés suivants apparaissent dans la colonne de gauche du manuel, pour vous aider à trouver
différents types d’informations.
Rem. Désigne des informations particulièrement intéressantes pour utiliser le produit
de façon pratique et efficace.
1, 2, 3...
1. Indique une ou des listes de différents types, par exemple procédures,
checklists, etc
! OMRON, 1999
Tous droits réservés. Aucune partie de cette publication ne peut être, stockée dans un système à mémoire ou transmise,
sous aucune forme et par aucun moyen mécanique, électronique, photocopie, enregistrement sans l’accord écrit préalable
d’OMRON.
L’utilisation des informations contenues ci--après ne peut engendrer aucune responsabilité. De plus, la mesure où
OMRON travaille constamment à l’amélioration de ses produits de haute qualité, les informations contenues dans ce manuel sont soumises à changement sans avis préalable. Toutes les précautions ont été prises dans l’élaboration de ce manuel.
Toutefois, OMRON ne peut être tenu responsable des erreurs ou omissions. Les dommages résultant de l’utilisation des
informations contenues dans cette publication ne peuvent engendrer aucune responsabilité.
v
TABLE DES MATIERES
CONSEILS D’UTILISATION . . . . . . . . . . . . . . . . . . . . .
1 Personnel concerné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Conseils généraux d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Conseils de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Conseils relatifs à l’environnement d’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Conseils d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 1
Configuration de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1
1-2
Le Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctionnement de l’API de base et traitement des E/S . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 2
Caractéristiques spécifiques . . . . . . . . . . . . . . . . . . . . . . .
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
Fonctions d’interruption des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compteurs à grande vitesse du CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions d’interruption du CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions d’interruption du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de sortie d’impulsions du CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de la sortie d’impulsions du CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement) . . . . . . . . . . . . .
Fonctions analogiques d’E/S (CPM1/CPM1A/CPM2A uniquement) . . . . . . . . . . . . . . . .
Fonctions esclave d’E/S du CompoBus/S (CPM1A/CPM2A uniquement) . . . . . . . . . . .
Fonctions maître d’E/S du CompoBus/S (SRM1(-V2) uniquement) . . . . . . . . . . . . . . . .
Commandes analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entrées de capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonction de la macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calcul avec les données binaires signées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Détections de fronts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d’expansion (CPM2A/CPM2C/SRM1(-V2) uniquement) . . . . . . . . . . . . . . .
Utilisation de la fonction d’horloge des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 3
Utilisation des modules d’extension . . . . . . . . . . . . . . . . .
3-1
3-2
Modules d’E/S analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unité de liaison d’E/S CompoBus/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 4
Fonctions de communication . . . . . . . . . . . . . . . . . . . . . . .
4-1
4-2
4-3
4-4
4-5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication du CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication du CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes de communication à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 5
Zones mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1
5-2
5-3
5-4
Fonctions des zones mémoire des CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions des zones mémoire des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de la zone mémoire du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mémoire flash du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
xiv
xiv
xiv
xv
xvi
1
2
19
27
28
43
76
96
99
134
137
149
149
149
151
153
158
159
161
162
164
167
168
177
183
184
185
189
221
236
261
262
266
272
275
vii
TABLE DES MATIERES
CHAPITRE 6
Programmation en schéma à contacts . . . . . . . . . . . . . . .
6-1
6-2
6-3
6-4
6-5
6-6
6-7
CHAPITRE 7
Ensemble d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . .
7-1
7-2
7-3
7-4
7-5
7-6
7-7
7-8
7-9
7-10
7-11
7-12
7-13
7-14
7-15
7-16
7-17
7-18
7-19
7-20
7-21
7-22
7-23
7-24
7-25
7-26
7-27
7-28
viii
278
278
279
299
301
303
305
307
Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zones de données, valeurs utilisées comme bits de définition et drapeaux . . . . . . . . . . .
Instructions sur changement d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Codages des instructions à droite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tableaux d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmation en schémas à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de commande de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NO OPERATION -- NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
END -- END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INTERLOCK et INTERLOCK CLEAR -- IL(02) et ILC(03) . . . . . . . . . . . . . . . . . . . . . .
JUMP et JUMP END -- JMP(04) et JME(05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions relatives aux erreurs d’utilisation : FAILURE ALARM AND RESET -- FAL(06)
et SEVERE FAILURE ALARM -- FALS(07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de définition d’étapes : STEP DEFINE et
STEP START--STEP(08)/SNXT(09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de temporisation et de comptage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de décalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de transfert de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de calcul sur les valeurs BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de calcul binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d’incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de commande d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 8
Opérations exécutées par les API et temps de traitement
8-1
8-2
8-3
277
Procédure fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terminologie des instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Les bases du schéma à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande de l’état des bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bits de travail (Relais internes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conseils d’utilisation à la programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exécution des programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A . . . . . . . . . . . . . . . . . .
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S . . . . . . . . . . . . . . . . . . .
Temps de cycle et temps de réponse des E/S du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . .
310
310
310
312
313
316
323
324
328
328
328
330
332
333
335
352
360
370
377
401
411
415
421
424
426
429
452
457
463
464
476
493
TABLE DES MATIERES
CHAPITRE 9
Recherche de pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-1
9-2
9-3
9-4
9-5
9-6
9-7
9-8
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs de fonctionnement de la console de programmation . . . . . . . . . . . . . . . . . . . . . .
Erreurs de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs définies par l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Journal d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs de liaison à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organigrammes de dépannage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . .
505
506
506
507
508
509
511
513
513
555
ix
A propos de ce manuel :
Veuillez lire ce manuel attentivement et s’assurer d’avoir bien compris les informations qu’il apporte avant
de tenter d’installer et d’utiliser l’API.
La Chapitre 1 explique le Setup de l’API. Le Setup de l’API est utilisé pour définir les paramètres de fonctionnement.
La Chapitre 2 explique les caractéristiques spécifiques à l’API.
La Chapitre 3 décrit comment utiliser l’Unité d’E/S analogique du CPM1A-MAD01 et l’Unité de liaison
d’E/S CompoBus/S du CPM1A-SRT21.
La Chapitre 4 décrit comment utiliser les fonctions de communications fournies par les API.
La Chapitre 5 décrit la structure des zones mémoire de l’API et explique comment les utiliser. Les précisions sur certaines zones sont fournies dans l’Annexe C en fin de ce manuel.
La Chapitre 6 explique les étapes et concepts de base impliqués dans l’écriture du programme de diagrame d’échelle de base. Elle débute par la présentation des instructions utilisées pour construire la
structure de base du diagramme d’échelle et pour contrôler son exécution.
La Chapitre 7 explique individuellement les instructions et fournit le symbole en schéma à contacts, les
zones de données et les drapeaux utilisés pour chacun.
La Chapitre 8 explique le traitement de l’API interne, ainsi que le temps nécessaire pour le traitement et
l’exécution du programme.
La Chapitre 9 décrit comment diagnostiquer et corriger les défauts matériels et les erreurs du logiciel
pouvant survenir au cours du fonctionnement.
Les recherches de références sont accessibles depuis certaines Annexes. Se reporter à la table des
matières traitant des annexes.
!
AVERTISSEMENT :
Omettre de lire et comprendre les informations contenues dans ce manuel
peut entraîner la mort, des blessures corporelles, l’endommagement du produit ou des pannes. Lire chaque chapitre, ainsi que les chapitres auxquels il
est fait référence dans leur totalité et s’assurer d’une bonne compréhension
des informations qui y sont contenues avant la mise en oeuvre des procédures ou fonctionnalités décrites.
xi
CONSEILS D’UTILISATION
L’objet de cette partie est de présenter les conseils d’utilisation généraux de l’automate programmable (API) et des dispositifs
s’y rattachant. Les informations contenues dans cette partie sont très importantes pour la sécurité et la fiabilité d’exploitation de l’automate programmable. Ce chapitre doit être lu et les informations qu’il contient comprises avant
toute tentative de mise en oeuvre ou d’utilisation d’un système API.
1 Personnels concernés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Conseils généraux d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Conseils de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Conseils relatifs à l’environnement d’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Conseils d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiv
xiv
xiv
xv
xvi
xiii
3
Conseils de sécurité
1
Personnel concerné
Ce manuel est destiné aux personnels mentionnés ci--après, qui doivent posséder des connaissances suffisantes dans le domaine des systèmes électriques
(niveau ingénieur électricité ou équivalent).
! Personnels responsables de l’installation des systèmes automatisés.
! Personnels responsables de la conception de systèmes automatisés.
! Personnels responsables de la gestion de systèmes automatisés et des
locaux.
2
Conseils généraux d’utilisation
Consulter votre correspondant OMRON avant toute utilisation du produit dans
des conditions non décrites dans ce manuel ou avant de l’exploiter dans le cadre
de systèmes de contrôle nucléaire, de systèmes ferroviaires, de systèmes aéronautiques, de véhicules, de systèmes de combustion, d’équipements médicaux, de machines d’attraction ou d’équipements de sécurité ou associé à tout
autre système, machine ou équipement susceptible de mettre des vies ou la
propriété en péril en cas de mauvaise utilisation.
S’assurer que les caractéristiques et capacités du produit sont bien adaptées
aux systèmes, machines et équipements et que ces systèmes, machines et
équipements, sont assortis de mécanismes de sécurité doubles.
Les informations contenues dans ce manuel sont destinées à la programmation
et à l’utilisation de l’unité. Bien lire ce manuel avant toute utilisation du logiciel et
le conserver à portée de main pour en permettre l’utilisation en cours d’exploitation.
! DANGER Il est extrêmement important d’utiliser l’API et toutes les unités API pour ce à
quoi ils sont destinés et ceci dans les conditions spécifiées, particulièrement
dans le cas d’applications pouvant provoquer la mort. Consulter votre
correspondant OMRON avant toute utilisation du système API pour des
applications mentionnées ci--dessus.
3
Conseils de sécurité
! DANGER Ne jamais tenter de démonter une Unité sous tension sous peine de s’exposer à
un choc électrique sérieux ou à une électrocution.
! DANGER Eviter tout contact avec les borniers sous tension sous peine de s’exposer à un
choc électrique sérieux ou à une électrocution.
! DANGER Prévoir des mesures de sécurité pour les circuits extérieurs (c’est--à--dire en
dehors de l’automate programmable), y compris dans les articles suivants, afin
d’assurer la sécurité du système si une anomalie intervient à la suite d’un
dysfonctionnement de l’API ou d’un autre facteur externe affectant le
fonctionnement de l’automate. Le non--respect de cet avertissement peut se
traduire par des accidents graves.
! Des circuits d’arrêt d’urgence, des circuits à verrouillage réciproque, des limiteurs et des mesures de sécurité similaires doivent être mis en place sur tous
les circuits de pilotage externes.
xiv
Conseils relatifs à l’environnement d’exploitation
4
! L’API met toutes ses sorties à l’état OFF lorsque sa fonction de diagnostic intégrée détecte une erreur ou bien à l’exécution d’une instruction d’alarme de
défaillance grave (FALS). Pour se protéger contre ces erreurs, des mesures
de sécurité externes doivent être prises pour assurer la sécurité du système.
! Les sorties de l’automate peuvent rester sur ON ou OFF du fait de l’encrassement ou du brûlage des relais de sortie ou de la destruction des transistors de
sortie. Pour se prémunir contre ce type de problèmes, des mesures de sécurité externes doivent être prises pour assurer la sécurité du système
! Lorsque la sortie 24 V continus (alimentation électrique de service de l’automate) est surchargée ou court--circuitée, il peut y avoir une baisse de tension
et, par suite, les sorties passent à l’état OFF. Pour se prémunir contre ce type
de problèmes, des mesures de sécurité externes doivent être prises pour
assurer la sécurité du système.
! DANGER Lors de la manipulation de la pile de sauvegarde de la mémoire, ne pas la laisser
tomber, ni la démonter, ni la déformer, ni la recharger, ni la chauffer à une
température supérieure à 100_C, ni la jeter dans le feu. La pile risque d’exploser,
de prendre feu ou de fuir si elle est malmenée de quelque manière que ce soit.
! Attention Pour exécuter une édition en ligne, s’assurer d’abord que cette opération n’aura
pas d’effets néfastes par suite de l’allongement de la durée des cycles. Sinon
des modifications inattendues ou inappropriées dans le fonctionnement du
système de commande risquent de survenir.
! Attention Lors du transfert des programmes à d’autres stations ou lors de modification de
la mémoire des E/S, s’assurer de la sécurité de la station de destination avant de
faire le transfert. Autrement, cela risquerait de blesser.
! Attention Serrer les vis du bornier de l’unité d’alimentation en courant alternatif en
respectant le couple spécifié dans le manuel d’exploitation. Des vis mal serrées
risque de mettre le feu ou de provoquer un dysfonctionnement.
4
Conseils relatifs à l’environnement d’exploitation
! Attention Ne pas exploiter le système de commande dans les conditions suivantes :
! Endroits recevant directement la lumière du soleil.
! Endroits présentant des températures ou une humidité à l’extérieur de la plage
figurant dans les spécifications.
! Endroits présentant de la condensation provoquée par de fortes variations de
la température.
! Endroits soumis à des gaz corrosifs ou inflammables.
! Endroits poussiéreux (en particulier limaille de fer) ou contenant des sels.
! Endroits exposés à l’eau, à l’huile ou à des produits chimiques.
! Endroits soumis à des chocs ou à des vibrations.
! Attention Prendre des contres mesures de protection ad hoc et suffisantes lors de
l’installation des systèmes dans les endroits suivants :
! Endroits présentant de l’électricité statique ou d’autres formes de bruits.
xv
5
Conseils d’utilisation
! Endroits soumis à des champs électromagnétiques puissants.
! Endroits susceptibles d’être soumis à de la radioactivité.
! Endroits proches d’alimentations électriques.
! Attention L’environnement d’exploitation du Système API peut avoir des conséquences
importantes sur la durée de vie et la fiabilité du système. Des environnements
d’exploitation inadéquats peuvent provoquer des dysfonctionnements, pannes
et autres problèmes imprévisibles au niveau du Système API. S’assurer que
l’environnement d’exploitation répond aux conditions spécifiées lors de
l’installation et continue à y répondre pendant toute la durée de vie du système.
5
Conseils d’utilisation
Respecter les conseils d’utilisation suivants lors de l’utilisation du Système API.
! Attention Le non respect des conseils d’utilisation suivants peut amener à provoquer des
erreurs de fonctionnement de l’API ou du système, ou encore à endommager
l’API ou ses unités. Toujours tenir compte de ces recommandations.
Conception des circuits ou réalisation de programmes d’échelle
! Des mesures “Fail–safe” doivent être prises par le client pour assurer la sécurité en présence de signaux manquants, incorrects ou anormaux provoqués
par une rupture de lignes de transmission de signaux, par des coupures courtes du courant ou d’autres causes.
! Réaliser un circuit de commande et de contrôle de façon que l’alimentation
des circuits d’E/S ne puisse pas passer sur ON avant l’alimentation de l’unité.
Si l’alimentation des circuits d’E/S passe sur ON avant l’alimentation de l’unité,
le fonctionnement normaI risque d’être interrompu provisoirement.
! Si le mode opératoire RUN ou MONITOR passe en mode PROGRAM, avec le
bit de maintien IOM sur ON, la sortie va rester dans l’état le plus récent. Dans
ce cas, s’assurer que la charge externe ne dépasse pas la valeur figurant dans
les spécifications. Si l’exploitation est arrêtée à la suite d’une erreur de fonctionnement générés par des instructions FALS, les valeurs se trouvant dans la
mémoire interne de l’UC seront conservées, mais les sorties passent toutes à
l’état OFF.
! Pour les modèles avec un seul super condensateur, les contenus de la zone
valide READ/WRITE de la zone DM, de la zone HR, de la zone AR et de la
zone de données CNT risquent d’être endommagés si l’alimentation est désactivée pendant longtemps. Pour éviter cela, appliquer un programme
d’échelle qui vérifiera l’AR 1314 s’assurant que le système est bien opérationnel.
! La durée de vie des relais est très variable en fonction des conditions de commutations. S’assurer de tester les conditions d’exploitation à l’aide des unités
proprement dites et d’utiliser le produit en respectant la quantité spécifique
des commutations définie afin de ne provoquer aucune altération des performances. Au risque, lors d’emploi de ce produit avec des performance altérées,
d’obtenir une isolation défectueuse entre les circuits ou de détériorer les relais.
Installation
! Installer les unités correctement comme indiqué dans le(s) manuel(s)
concerné(s).
! Ne pas installer l’API ou ses unités là où elles risquent d’être agressées par
trop de parasites. Sinon cela risquerait de provoquer un dysfonctionnement.
xvi
5
Conseils d’utilisation
! Installer les unités correctement afin qu’elles ne tombent pas.
! S’assurer que toutes les vis de montage, celles des bornes et des connecteurs
de câbles soient serrées au couple spécifié dans les manuels applicables. Un
serrage avec un couple incorrect peut provoquer un dysfonctionnement.
! Installer le capot du connecteur de l’unité d’E/S d’expansion sur la dernière
unité d’E/S d’expansion pour la protéger de la poussière ou de substances
étrangères. Sinon cela risquerait de provoquer un dysfonctionnement.
! Vérifier que les borniers, les câbles d’extension et les autres pièces équipées
de dispositifs de verrouillage soient bien fixés. Une mauvaise fixation risquerait de provoquer des dysfonctionnements.
Câblage et connexion
! S’assurer d’utiliser des câbles comme le(s) manuel(s) concerné(s) l’indique(nt).
! Installer des disjoncteurs externes et recourir à d’autres mesures de sécurité
contre d’éventuels courts--circuits dans le câblage externe. Des mesures de
sécurité insuffisantes contre les courts--circuits risquent de détériorer les circuits.
! Lors du câblage des liaisons de signaux, ne jamais les placer dans les mêmes
gaines que les lignes à haute tension ou que les lignes d’alimentation. Sinon
cela risquerait de provoquer des dysfonctionnements.
! Vérifier que les borniers et les connecteurs soient connectés dans la direction
spécifiée et que les polarités soient bien conformes. Toute anomalie peut provoquer un dysfonctionnement.
! Lors du câblage, laisser les étiquettes attachées aux unités CPM1 ou CPM2A
pour éviter que des morceaux de fils coupés pénètrent dans l’unité.
! Attacher les étiquettes fournies avec les unités CPM1A ou CPM2C, ou encore
tous autres types de protection, lors du câblage afin d’empêcher la poussière
ou les morceaux de fils coupés d’entrer dans les unités.
! Lorsque le câblage est terminé, enlever les étiquettes pour assurer une bonne
dissipation thermique. Laisser des étiquettes risquerait de provoquer un dysfonctionnement.
! S’assurer que toutes des vis de montage, des bornes et des connecteurs de
câbles soient serrées au couple spécifié dans les manuels concernés. un serrage à un couple incorrect risquerait de provoquer un dysfonctionnement.
! Utiliser les connecteurs et les matériaux de câblage indiqués dans les
manuels concernés.
! S’assurer de câbler selon les manuels concernés. Un mauvais câblage risquerait de détériorer les circuits.
! Toujours se connecter à la terre avec une résistance d’au plus 100 " lors de
l’installation des unités.
Connexion des E/S et démarrage du système
! Déconnecter la borne terre lors de tests de rigidité.
! Toujours utiliser les tensions d’alimentation indiquées dans le(s) manuel(s)
d’exploitation.
! Effectuer les mesures nécessaires pour s’assurer que l’alimentation spécifiée
à la tension nominale et à la fréquence voulue est bien fournie. Attention tout
particulièrement là où l’alimentation est instable.
! Ne pas appliquer des tensions ou connecter des charges aux bornes de sortie
au delà de la tension d’entrée nominale. Des tensions excessives risqueraient
de détériorer les circuits.
xvii
5
Conseils d’utilisation
! Ne pas appliquer des tensions ou connecter des charges aux bornes de sortie
au delà du maximum de la capacité des commutateurs. Des tensions ou des
charges excessives risqueraient de détériorer les circuits.
! Effectuer un double contrôle de tous les câblages et réglages de commutateurs avant de mettre l’alimentation sur ON.
! Vérifier l’exécution du programme utilisateur avant de le faire tourner sur
l’unité. La non vérification du programme peut être à l’origine d’un fonctionnement imprévisible.
Conseils d’utilisation lors de manipulation
! Lors de l’utilisation, de la sauvegarde ou du transport du produit, rester
conforme aux indications listées dans le(s) manuel(s) concerné(s).
! Ne pas tenter de démonter, réparer ou changer les unités.
! Un dysfonctionnement ou un choc électrique risque de survenir si l’alimentation de l’API n’est pas sur OFF avant d’effectuer une des opérations présentée
ci--dessous :
! Montage des unités.
! Connexion ou déconnexion des unités d’E/S d’expansion.
! Connexion ou câblage des câbles.
! Connexion ou déconnexion des connecteurs.
! Réglage des commutateurs DIP.
! Changement de pile.
! S’assurer que le système ne sera pas perturbé avant de lancer une des opérations de la liste ci--dessous. Le non respect de cette règle peut être à l’origine
d’un fonctionnement imprévisible.
! Changer le mode opératoire de l’API.
! Réglage/RAZ forcé d’un bit en mémoire.
! Changer la valeur actuelle d’un mot quelconque ou de n’importe quelle
valeur configurée en mémoire.
! Avant de toucher à l’unité, penser en premier à tenir un objet métallique relié à
la terre pour le décharger de toute électricité statique. Ne pas le faire risquerait
d’entraîner un dysfonctionnement ou des dégâts.
! Ne pas toucher le câble de connexion de l’unité d’E/S d’expansion tant que
l’alimentation est toujours active afin d’éviter tout dysfonctionnement dû à
l’électricité statique.
! Ne pas exercer de tractions et ne pas plier les câbles au--delà des limites qu’ils
peuvent naturellement supporter. Sinon les câbles tirés ou pliés risquent de
rompre.
! Ne poser aucun objet sur les câbles. Sinon les câbles risquent de rompre.
! Lors de l’installation des unités ou autres produits, le faire conformément aux
réglementations et lois en vigueur dans le pays.
Maintenance
! Lorsque des pièces sont remplacées, vérifier que les caractéristiques nominales des pièces neuves sont correctes. Une différence dans ces caractéristiques peut provoquer un dysfonctionnement ou la brûlure des circuits.
! Lorsque l’unité centrale est remplacée, ne remettre en route qu’après avoir
transféré dans la nouvelle unité centrale les contenus des zones DM et HR
nécessaires pour l’exploitation. Sinon un fonctionnement inattendu risque de
se produire.
xviii
Conseils d’utilisation
5
Transport et sauvegarde
! Lors du transport des unités, utiliser des boîtes d’emballage spéciales. Ne pas
exposer les unités ou tous autres produits à des vibrations excessives ou à des
chocs durant le transport et surtout ne pas les faire tomber.
! Sauvegarder les unités en respectant les plages de températures et d’humidité suivantes :
Température de sauvegarde : -25 à 65#C
Humidité de sauvegarde :
25% à 85% (sans glace ni condensation)
xix
CHAPITRE 1
Configuration de l’API
Ce chapitre décrit les caractéristiques propres au Setup de l’API dans les API CPM1, CPM1A, CPM2A, CPM2C et
SRM1(-V2). Le Setup de l’API permet de commander les paramètres de fonctionnement. Pour modifier le Setup de l’API,
se reporter au Manuel de programmation de l’API au chapitre concernant les procédures de la Console de Programmation.
Si les API d’OMRON ou le programme en schéma à contacts ne vous sont pas familiers, lire la Configuration API 1--1pour
obtenir une vue générale des paramètres de fonctionnement disponibles pour les CPM1/CPM1A, CPM2A/CPM2C et
SRM1(-V2). De plus, les Chapitre 5 -- Zones mémoire, Chapitre 6 -- Programmation en schéma à contacts et les instructions
s’y rapportant se trouvant au Chapitre 7 -- Configuration d’instructions qui précède ce chapitre 1 peuvent vous êtres utiles.
1-1
1-2
Le Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1-1 Modifier le Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1-2 Configurations du Setup de l’API des CPM1/CPM1A . . . . . . . . . . . . . . . . . . . .
1-1-3 Configuration du Setup de l’API des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . .
1-1-4 Configuration du Setup de l’API du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . .
Fonctionnement de l’API de base et traitement des E/S . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-1 Mode démarrer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-2 Etat du bit de maintien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-3 Mémoire du programme protégé en écriture . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-4 Temps d’utilisation du port RS-232C (CPM2A/CPM2C/SRM1(-V2)
uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-5 Temps d’utilisation du port périphérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-6 Temps de surveillance de cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-7 Temps de cycle minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-8 Constantes de temps d’entrée (filtrage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-2-9 Configurations du journal d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
3
9
15
19
19
20
20
21
21
22
23
23
24
1
Chapitre
Le Setup de l’API
1-1
1-1
Le Setup de l’API
Le Setup de l’API se compose de différents paramètres commandant le fonctionnement de l’API. Il est possible de personnaliser le Setup de l’API afin d’utiliser au mieux les capacités de l’API selon les conditions d’exploitation, telles que
l’utilisation des fonctions d’interruption du traitement et des fonctions de communications.
Lors de la livraison du produit, les conditions générales de fonctionnement sont
réglées par défaut afin que l’API soit opérationnel sans avoir à modifier les configurations. Cependant il vous est fortement recommandé de vérifier ces valeurs
par défaut avant de le faire fonctionner.
Valeurs par défaut
Les valeurs par défaut du Setup de l’API sont 0000 pour tous les mots (sauf pour
la validation de l’erreur batterie faible dans les bits 12 à 15 de la zone DM 6655
des unités centrales CPM2A). Les valeurs par défaut sont réinitialisables à tout
moment en activant le SR 25210 du mode PROGRAM.
! Attention Lorsque tous les périphériques de programmation sont effacés de la zone
mémoire de données (DM), les réglages du Setup de l’API seront tous configurés à zéro.
1-1-1 Modifier le Setup de l’API
Les configurations du Setup de l’API sont accessibles à différents moments
selon les types de configurations, comme précisé ci--dessous :
! les zones de DM 6600 à DM 6614 : Accessible seulement lorsque
l’alimentation de l’API est sur ON.
! les zones de DM 6615 à DM 6644 : Accessible seulement lorsque
le lancement du programme débute.
! les zones de DM 6645 à DM 6655 :Accessible généralement lorsque
l’alimentation est sur ON.
Les modifications apportées au Setup de l’API ne devenant effectives qu’aux
moments indiqués ci--dessus, l’API devra être redémarré pour que les modifications dans les zones de DM 6600 à DM 6614 soient enregistrées et le lancement
de programme devra également être redémarré pour que les modifications
apportées aux zones de DM 6615 à DM 6644 soient enregistrées.
Lorsque les bits 00 à 03 de la zone DM 6602 sont réglés pour protéger la
mémoire du programme, la zone DM 6602 n’est pas modifiable à partir des fonctions de configuration du logiciel dans le Setup de l’API. Pour modifier la zone
DM 6602, utiliser la surveillance d’E/S ou la fonction Edition de la zone DM.
Effectuer les modifications
à partir des éléments de
programmation
Le Setup de l’API est en lecture seule à partir du programme utilisateur. Pour
écrire, utiliser un périphérique de programmation.
Bien que le Setup de l’API soit sauvegardé dans les zones de DM 6600 à DM
6655, les configurations ne s’effectuent et ne se modifient qu’avec un périphérique de programmation (ex. : SSS ou Console de programmation). Les zones de
DM 6600 à DM 6644 ne sont configurables ou modifiables qu’en mode PROGRAM. Les zones de DM 6645 à DM 6655 sont configurables à partir des deux
modes PROGRAM ou MONITOR.
Les configurations suivantes s’effectuent en mode PROGRAM à partir des
fonctions du menu du SSS. Toutes les autres configurations doivent s’effectuer
à l’aide de fonctions de réglage hexadécimale.
! Mode Démarrer (DM 6600)
! Etat du bit de maintien d’E/S et du bit de maintien d’état forcé (DM 6601)
! Temps réel du cycle automate (DM 6618)
2
Chapitre
Le Setup de l’API
1-1
! Temps de cycle (DM 6619)
! Configurations du port RS-232C (de DM 6645 à DM 6649)
Rem. Les configurations du port RS-232C (de DM 6645 à DM 6649) ne sont pas utilisées dans les API CPM1/CPM1A car ces API ne sont pas équipés de port
RS-232C.
Erreurs dans le Setup de
l’API
Si une mauvaise configuration du Setup de l’API est identifiée, une erreur non
fatale (code d’erreur 9B) sera générée, le drapeau d’erreur correspondant (de
AR 1300 à AR 1302) sera activé et la configuration par défaut remplacera le
réglage imprécis.
1-1-2 Configurations du Setup de l’API des CPM1/CPM1A
Le Setup de l’API se divise en quatre catégories : 1) les configurations concernant le fonctionnement de base de l’API et le traitement des E/S, 2) les configurations concernant le temps de cycle, 3) les configurations concernant les interruptions et 4) les configurations concernant les communications ; ce chapitre
décrit les configurations selon cette classification.
Le tableau ci--dessous présente les configurations pour les API CPM1/CPM1A.
Se reporter au numéro des pages de la dernière colonne pour de plus amples
informations sur le paramétrage.
Mot(s)
Bit(s)
Fonction
Page
Traitement Démarrer (de DM 6600 à DM 6614)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6600
19
00 à 07 Mode Démarrer (enregistré lorsque les bits de 08 à 15 sont réglés sur 02).
00 : PROGRAM ; 01 : MONITOR 02 : RUN
08 à 15 Indication mode Démarrer
00 : Commutateur de Console de Programmation
01 : Dernier mode utilisé, poursuit son fonctionnement avant l’interruption de
l’alimentation (Voir Rem. 1.)
02 : Configuré de 00 à 07
DM 6601
00 à 07
Inutilisés.
08 à 11
Etat du bit de maintien IOM (SR 25212) au démarrage
0 : Réinitialiser ; 1 : Conserver (Voir Rem. 3.)
Etat du bit de maintien d’état forcé (SR 25211) au démarrage
0 : Réinitialiser ; 1 : Conserver (Voir Rem. 3.)
Protéger en écriture la mémoire du programme
0 : Mémoire du programme non protégé
1 : Mémoire du programme protégé en écriture (sauf la zone DM 6602 elle--même)
12 à 15
DM 6602
00 à 03
04 à 07
20
20
08 à 15
Langue d’affichage de la Console de programmation
0 : Anglais ; 1 : Japonais
Inutilisés.
DM 6603
00 à 15
Inutilisés.
DM 6604
00 à 07
00 : Si les données ne peuvent pas être enregistrées avec le condensateur intégré (AR 1314
ON), l’erreur mémoire ne sera pas générée.
08 à 15
de DM 6605 00 à 15
à DM 6614
01 : Si les données ne peuvent pas être enregistrées avec le condensateur intégré (AR 1314
ON), l’erreur mémoire sera générée.
Inutilisés.
Inutilisés.
3
Chapitre
Le Setup de l’API
Mot(s)
Bit(s)
Fonction
1-1
Page
Configurations du temps de cycle (de DM 6615 à DM 6619)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6615,
00 à 15 Inutilisés.
DM 6616
DM 6617
21
00 à 07 Temps d’utilisation du port périphérique
(enregistré lorsque les bits de 08 à 15 sont réglés sur 01)
00 à 99 (BCD) : Pourcentage du temps de cycle utilisé pour la gestion du périphérique.
DM 6618
DM 6619
4
08 à 15
Validation de la configuration du temps d’utilisation du port périphérique
00 : 5% du temps de cycle
01 : Utilise le temps de 00 à 07.
00 à 07
Temps de surveillance de cycle (enregistré lorsque les bits de 08 à 15 sont réglés sur
01, 02 ou 03)
00 à 99 (BCD) : Configuration (voir 08 à 15)
08 à 15
Valide la surveillance de cycle (configuration de 00 à 07 x unité ; 99 s max.)
00 : 120 ms (configuration en bits de 00 à 07 désactiver)
01 : Configuration de l’unité : 10 ms
02 : Configuration de l’unité : 100 ms
03 : Configuration de l’unité : 1 s
00 à 15
Temps de cycle
0000 : Variable (aucun minimum)
0001 à 9999 (BCD) : Temps minimal en ms
22
23
Chapitre
Le Setup de l’API
Mot(s)
Bit(s)
Fonction
1-1
Page
Traitement d’interruption (de DM 6620 à DM 6639)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6620
23
00 à 03 Constante d’entrée pour l’IR 00000 à l’IR 00002
0 : 8 ms ; 1 : 1 ms ; 2 : 2 ms ; 3 : 4 ms ; 4 : 8 ms ; 5 : 16 ms ; 6 : 32 ms ; 7 : 64 ms ; 8 :
128 ms
04 à 07
08 à 11
12 à 15
DM 6621
DM 6622
DM 6623
DM 6624
DM 6625
DM 6626 à
DM 6627
DM 6628
00 à 07
Constante d’entrée pour l’IR 00003 et l’IR 00004
(Configuration identique à celle des bits de 00 à 03)
Constante d’entrée pour IR 00005 et l’IR 00006
(Configuration identique à celle des bits de 00 à 03)
Constante d’entrée pour IR 00007 à l’IR 00011
(Configuration identique à celle des bits de 00 à 03)
Constante d’entrée pour l’IR 001
00 : 8 ms ; 01 : 1 ms ; 02 : 2 ms ; 03 : 4 ms ; 04 : 8 ms ; 05 : 16 ms ; 06 : 32 ms ; 07 : 64
ms ; 08 : 128 ms
08 à 15
Constante d’entrée pour l’IR 002 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour l’IR 003 (Configuration identique à l’IR 001).
08 à 15
Constante d’entrée pour l’IR 004 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour l’IR 005 (Configuration identique à l’IR 001).
08 à 15
Constante d’entrée pour l’IR 006 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour l’IR 007 (Configuration identique à l’IR 001).
08 à 15
Constante d’entrée pour l’IR 008 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour l’IR 009 (Configuration identique à l’IR 001).
08 à 15
Inutilisés.
00 à 15
Inutilisés.
00 à 03
Sélection de l’entrée d’IR 00003 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
Sélection de l’entrée d’IR 00004 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
Sélection de l’entrée d’IR 00005 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
Sélection de l’entrée d’IR 00006 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
Inutilisés.
04 à 07
08 à 11
12 à 15
79
DM 6629 à
00 à 15
DM 6641
Configurations du compteur à grande vitesse (de DM 6640 à DM 664)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6640 à
00 à 15 Inutilisés.
DM 6641
DM 6642
87
00 à 03 Mode compteur à grande vitesse
0 : Mode compteur incrémental/décrémental ; 4 : Mode compteur d’incrémentation
04 à 07 Mode réinitialisation du compteur à grande vitesse
0 : Phase Z et réinitialisation par programme ; 1 : Réinitialisation par programme uniquement
DM 6643,
DM 6644
08 à 15
Valide compteur à grande vitesse
00 : N’utilise pas le compteur à grande vitesse ; 01 : Utilise le compteur à grande
vitesse avec les paramétrages de 00 à 07
00 à 15
Inutilisés.
5
Chapitre
Le Setup de l’API
Mot(s)
Bit(s)
Fonction
1-1
Page
Configurations de port périphérique
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6645 à
00 à 15 Inutilisés.
DM 6649
DM 6650
00 à 07 Paramétrage du port
00 : Standard (1 bit de lancement, données en 7 bits, parité paire, 2 bits d’arrêt,
9 600 bps)
01 : Configurations dans la zone DM 6651
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
08 à 11
12 à 15
Zone de liaison pour liaison Inter API via le port périphérique :
0 : de LR 00 à LR 15
Modes de communication
0 : Liaison à l’ordinateur (SYSMAC--WAY) ; 2 : 1 :1 Liaison API esclave ; 3 : 1 :1 Liaison API maître ; 4 : 1 :1 Liaison NT
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
DM 6651
00 à 07
Débit en bauds
00 : 1,2 K, 01 : 2,4 K, 02 : 4,8 K, 03 : 9,6 K, 04 : 19,2 K, de 05 à 07 : Inutilisable (Voir
Rem. 2)
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
08 à 15
Format de trame
Lancement
00 :
1 bit
01 :
1 bit
02 :
1 bit
03 :
1 bit
04 :
1 bit
05 :
1 bit
06 :
1 bit
07 :
1 bit
08 :
1 bit
09 :
1 bit
10 :
1 bit
11 :
1 bit
Longueur
7 bits
7 bits
7 bits
7 bits
7 bits
7 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
Arrêt
1 bit
1 bit
1 bit
2 bits
2 bits
2 bits
1 bit
1 bit
1 bit
2 bits
2 bits
2 bits
Parité
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
DM 6652
DM 6653
DM 6654
6
00 à 15
00 à 07
Délais de transmission (Liaison à l’ordinateur (SYSMAC--WAY)) (Voir Rem. 4.)
de 0000 à 9999 : en ms.
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
Numéro de station (Liaison à l’ordinateur (SYSMAC--WAY))
00 à 31 (BCD)
08 à 15
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
Inutilisés.
00 à 15
Inutilisés.
184
Chapitre
Le Setup de l’API
Mot(s)
Bit(s)
Fonction
1-1
Page
Configurations du journal d’erreur (DM 6655)
Les sélections suivantes sont affectives après leur transfert à l’API.
DM 6655
00 à 03 Style
0 : Décalage après 7 enregistrements d’erreurs
1 : Mémorise seulement les 7 premiers enregistrements (sans changement)
2 à F : Ne mémorise pas les enregistrements
04 à 07 Inutilisés.
08 à 11
Valide la surveillance du temps de cycle
0 : Détecte les cycles longs en tant qu’erreurs non fatales
1 : Ne détecte pas les cycles longs
12 à 15
Inutilisés.
Rem.
24
1. Lorsque le mode démarrer est réglé pour que le dernier mode de fonctionnement utilisé avant la désactivation se poursuive, ce mode de fonctionnement sera conservé par le condensateur intégré. Mais les données risquent
d’être perdues, si l’alimentation reste désactivée au delà du temps de sauvegarde du condensateur. Pour plus d’informations sur le temps de maintien, se reporter au Manuel de programmation du CPM1A ou à celui du
CPM1.
2. Ne pas régler “05” à “07”, sinon les CPM1/CPM1A ne fonctionneront pas
correctement et le drapeau d’erreur du Setup de l’API RUN (AR 1302 ON)
ne sera pas activé.
3. Maintien de l’état du bit de maintien IOM (SR 25212)
Lorsque l’“Etat du bit de maintien IOM au démarrage” (DM 6601, bits de 08 à
11) est réglé sur “Conserve” avec le bit de maintien IOM (SR 25212) d’activé, le programme peut être lancé avec l’état de la mémoire des E/S (E/S,
IR, LR) dans l’état où il se trouvait avant d’être désactivé. La zone d’entrée
est régénérée au démarrage, cependant la plus récente mise à jour de l’état
d’entrée écrase la précédente.
Maintien de l’état du bit de maintien d’état forcé (SR 25211)
Si l’“Etat du bit de maintien d’état forcé au démarrage” (DM 6601, bits de 12
à 15) est réglé sur “Conserve” avec le bit de maintien d’état forcé (SR 25211)
d’activé, le programme peut être lancé avec l’état régler/réinitialiser forcé
dans l’état où il se trouvait avant d’être désactivé. Cependant lorsque le
mode RUN est lancé, l’état initialiser/réinitialiser forcé est effacé.
Même si l’“Etat du bit de maintien IOM au démarrage” ou l’“Etat du bit de
maintien d’état forcé au démarrage” est réglé sur “Conserve”, le bit de maintien IOM (SR 25212) ou l’état du bit de maintien d’état forcé (SR 25211) est
effacé lorsque l’alimentation est désactivée pendant une durée supérieure
au temps de sauvegarde du condensateur intégré. Pour plus d’informations
sur le temps de maintien, se reporter au Manuel de programmation du
CPM1A ou à celui du CPM1. A ce moment--là, la mémoire des E/S sera également effacée, régler donc le système afin que la suppression de la
mémoire des E/S n’entraîne aucun problème.
4. Le délai de transmission correspond au délai survenant entre la transmission précédente et la transmission suivante.
Ordinateur
Commande
Contrôleur programmable
Commande
Réponse
Réponse
Durée du délai de
transmission
7
Le Setup de l’API
Chapitre
1-1
5. Lorsqu’une valeur est réglée en dehors des limites, re--régler la valeur afin
de rester dans la plage autorisée. Sinon les conditions de communications
seront les suivantes :
Modes de communication :
Liaison à l’ordinateur (SYSMAC--WAY)
Format de communications :
Configurations standard
(1 bit de lancement, données à 7 bits ;
parité paire, 2 bits d’arrêt, 9 600 bps)
Délai de transmission :
Aucun
Numéro de station :
00
8
Chapitre
Le Setup de l’API
1-1
1-1-3 Configuration du Setup de l’API des CPM2A/CPM2C
Le Setup de l’API se divise en quatre catégories : 1) les configurations concernant le fonctionnement de base de l’API et le traitement des E/S, 2) les configurations concernant les fonctions de sortie d’impulsions, 3) les configurations
concernant les interruptions et 4) les configurations concernant les communications. Ce chapitre décrit les configurations selon cette classification.
Le tableau ci--dessous présente les configurations selon la zone de DM. Pour de
plus amples informations, se reporter au numéro des pages.
Mots(s)
Bit(s)
Fonction
Page
Traitement démarrer (DM 6600 à DM 6614)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6600
19
00 à 07 Mode démarrer (enregistré lorsque les bits de 08 à 15 sont réglés sur 02).
00 : PROGRAM ; 01 : MONITOR ; 02 : RUN
08 à 15 Indication mode Démarrer
00 : En fonction du commutateur de configuration de port de communications et de la
connexion du port périphérique (Voir le tableau au bas de cette page)
01 : Dernier mode utilisé, poursuit son fonctionnement avant l’interruption de
l’alimentation.
02 : Configuration de 00 à 07
DM 6601
20
00 à 07 Inutilisés.
08 à 11
12 à 15
DM 6602
00 à 03
04 à 07
Etat du bit de maintien IOM (SR 25212) au démarrage
0 : Réinitialiser à 0 ; 1 : Conserver l’état précédent
Etat du bit de maintien d’état forcé (SR 25211) au démarrage
0 : Réinitialiser à 0 ; 1 : Conserver l’état précédent
Protéger en écriture la mémoire du programme
0 : Mémoire du programme non protégé
1 : Mémoire du programme protégé en écriture (sauf la zone DM 6602 elle--même)
08 à 11
Langue d’affichage de la Console de programmation
0 : Anglais ; 1 : Japonais
Attribution de code de fonction d’instruction d’expansion
0 : Configuration par défaut
1 : Personnalisation de l’utilisateur
20
163
12 à 15
Inutilisés.
DM 6603
00 à 15
Inutilisés.
DM 6604
00 à 07
00 : Une erreur mémoire ne sera pas générée lorsque la batterie ne peut pas conserver les
données.
01 : Une erreur mémoire sera générée lorsque la batterie ne peut pas conserver les données.
DM 6605 à
DM 6614
08 à 15
Inutilisés.
00 à 15
Inutilisés.
Rem. Le mode d’exploitation Démarrer décrit dans le tableau suivant correspond aux
bits 08 à 15 de la zone DM 6600 réglés sur 00.
Port périphérique
connecté à
Commutateur de configuration des ports de
communications
Broche 2 OFF
Broche 2 ON
Aucun
PROGRAM
RUN
Console de
programmation
Mode régler sur le
commutateur en mode
Console de programmation
PROGRAM (Le CPM2C ne
pourra pas communiquer
avec une console de
programmation)
Autres
périphériques de
programmation
PROGRAM (Le CPM2C ne
pourra pas communiquer
avec un autre périphérique
de programmation)
PROGRAM
9
Chapitre
Le Setup de l’API
Mots(s)
Bit(s)
Fonction
1-1
Page
Configurations du temps de cycle (DM 6615 à DM 6619)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6615
00 à 15
Inutilisés.
DM 6616
00 à 07
Temps d’utilisation du port RS-232C (enregistré lorsque les bits de 08 à 15 sont réglés
sur 01)
00 à 99 (BCD) : Pourcentage du temps de cycle utilisé pour la gestion du port
RS-232C.
Valide le temps d’utilisation du port RS-232C
00 : 5% du temps de cycle
01 : Utilise le temps des bits de 00 à 07.
21
00 à 07
Temps d’utilisation pour port périphérique (enregistré lorsque les bits de 08 à 15 sont
réglés sur 01)
00 à 99 (BCD) : Pourcentage du temps de cycle utilisé pour la gestion de périphérique.
21
08 à 15
Validation de la configuration du temps d’utilisation du port périphérique
00 : 5% du temps de cycle
01 : Utilise le temps des bits 00 à 07.
00 à 07
Temps de surveillance de cycle (enregistré lorsque les bits de 08 à 15 sont réglés sur
01, 02 ou 03)
00 à 99 (BCD) : Configuration (Voir bits 08 à 15, en bas.)
08 à 15
DM 6617
DM 6618
22
Une erreur fatale est générée et l’exploitation de l’API s’arrête lorsque le temps de
cycle est supérieur au temps de surveillance de cycle défini ici.
DM 6619
08 à 15
Valide la surveillance de cycle (configuration de 00 à 07" unités ; 99 s max.)
00 : 120 ms (configuration en bits 00 à 07 désactivés)
01 : Configuration des unités : 10 ms
02 : Configuration des unités : 100 ms
03 : Configuration des unités : 1 s
00 à 15
Temps de cycle minimal
0000 : Variable (aucun minimum)
0001 à 9999 (BCD) : Temps minimal en ms
23
Traitement d’interruption (DM 6620 à DM 6639)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6620
00 à 03
Constante d’entrée pour l’IR 00000 à l’IR 00002
0 : 10 ms ; 1 : 1 ms ; 2 : 2 ms ; 3 : 3 ms ; 4 : 5 ms ; 5 : 10 ms ; 6 : 20 ms ; 7 : 40 ms ; 8 :
80 ms
04 à 07
Constante d’entrée pour l’IR 00003 et l’IR 00004 (Configuration identique à celle des
bits de 00 à 03)
Constante d’entrée pour l’IR 00005 et l’IR 00006 (Configuration identique à celle des
bits de 00 à 03)
Constante d’entrée pour l’IR 00007 à l’IR 00011 (Configuration identique à celle des
bits de 00 à 03)
Constante d’entrée pour IR 001
00 : 10 ms
01 : 1 ms
02 : 2 ms
03 : 3 ms
04 : 5 ms
05 : 10 ms
06 : 20 ms
07 : 40 ms
08 : 80 ms
08 à 11
12 à 15
DM 6621
DM 6622
DM 6623
DM 6624
DM 6625
DM 6626 à
DM 6627
10
00 à 07
08 à 15
Constante d’entrée pour IR 002 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour IR 003 (Configuration identique à l’IR 001).
08 à 15
Constante d’entrée pour IR 004 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour IR 005 (Configuration identique à l’IR 001).
08 à 15
Constante d’entrée pour IR 006 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour IR 007 (Configuration identique à l’IR 001).
08 à 15
Constante d’entrée pour IR 008 (Configuration identique à l’IR 001).
00 à 07
Constante d’entrée pour IR 009 (Configuration identique à l’IR 001).
08 à 15
Inutilisés.
00 à 15
Inutilisés.
23
Chapitre
Le Setup de l’API
Mots(s)
DM 6628
Bit(s)
00 à 03
04 à 07
08 à 11
Fonction
Sélection de l’entrée d’IR 00003 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
Sélection de l’entrée d’IR 00004 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
Sélection de l’entrée d’IR 00005 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
1-1
Page
30
(Régler à 0 dans les unités centrales CPM2C ayant 10 points d’E/S)
12 à 15
Sélection de l’entrée d’IR 00006 (0 : Entrée normale ; 1 : Entrée d’interruption ;
2 : Capture)
(Cette entrée n’existe pas dans les unités centrales CPM2C ayant 10 points d’E/S)
DM 6629
00 à 03
04 à 07
08 à 15
Système de coordination PV pour sortie d’impulsion 0
0 : Coordonnées relatives ; 1 : Coordonnées absolues
Système de coordination PV pour sortie d’impulsion 1
0 : Coordonnées relatives ; 1 : Coordonnées absolues
Inutilisés.
104
DM 6630 à 00 à 15 Inutilisés.
DM 6641
Configurations du compteur à grande vitesse (DM 6640 à DM 6644)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6640 à 00 à 15 Inutilisés.
DM 6641
DM 6642
46, 55
00 à 03 Mode compteur à grande vitesse
0 : Mode bidirectionnel (5 kHz)
1 : Impulsion + mode d’entrée de direction (20 kHz)
2 : Mode d’entrée incrémental/décrémental (20 kHz)
4 : Mode incrémental (20 kHz)
DM 6643,
DM 6644
04 à 07
Mode réinitialisation du compteur à grande vitesse
0 : Phase Z et réinitialisation par programme ; 1 : Réinitialisation par programme uniquement
08 à 15
Compteur à grande vitesse/Commande d’impulsion synchronisée pour l’IR 00000 à
l’IR 00002
00 à 15
00 : Utilise aucune fonction.
01 : S’utilise comme un compteur à grande vitesse
02 : S’utilise pour synchroniser la commande d’impulsion (10 à 500 Hz).
03 : S’utilise pour synchroniser la commande d’impulsion (20 Hz à 1 kHz).
04 : S’utilise pour synchroniser la commande d’impulsion (300 Hz à 20 kHz).
Inutilisés.
11
Chapitre
Le Setup de l’API
Mots(s)
Bit(s)
Fonction
1-1
Page
Configurations du port de communication RS-232C
Les sélections suivantes sont effectives après leur transfert vers l’API.
Lorsque le commutateur des communications de l’unité centrale du CPM2A est sur ON, les communications transmises
par le port RS-232C du CPM2A dépendent de la configuration par défaut (tout à 0) indépendamment de la configuration
de la zone allant de DM 6645 à DM 6649.
Lorsque la broche 2 du micro--interrupteur de l’unité centrale du CPM2C est sur ON, les communications transmises
par le port RS-232C du CPM2C dépendent de la configuration par défaut (tout à 0) indépendamment de la configuration
de la zone allant de DM 6645 à DM 6649.
DM 6645
00 à 03
Paramétrage du port
0 : Standard (1 bit de lancement, données en 7 bits, parité paire, 2 bits d’arrêt,
9 600 bps)
1 : Configurations de la zone DM 6646
184
(Toute autre configuration provoquerait une erreur non fatale et l’AR 1302 serait activé)
04 à 07
Paramétrage de la commande de CTS
0 : Commande CTS non valide ; 1 : Commande CTS valide
(Toute autre configuration provoquerait une erreur non fatale et l’AR 1302 serait activé)
08 à 11
12 à 15
Mots de liaison pour 1 :1 liaison de données
0 : LR 00 à LR 15 (Toutes les autres configurations sont inopérantes)
Modes de communication
0 : Liaison à l’ordinateur (SYSMAC--WAY) ; 1 : Sans protocole ; 2 : 1 :1 Liaison API
esclave ; 3 : 1 :1 Liaison API maître ; 4 : Liaison NT
(Toute autre configuration provoquerait une erreur non fatale et l’AR 1302 serait activé)
DM 6646
00 à 07
08 à 15
Débit en bauds
00 : 1 200 bps ; 01 : 2 400 bps ; 02 : 4 800 bps ; 03 : 9 600 bps ; 04 : 19 200 bps
Format de trame
Lancement
Longueur
Arrêt
Parité
00 :
1 bit
7 bits
1 bit
Paire
01 :
1 bit
7 bits
1 bit
Impaire
02 :
1 bit
7 bits
1 bit
Aucune
03 :
1 bit
7 bits
2 bits
Paire
04 :
1 bit
7 bits
2 bits
Impaire
05 :
1 bit
7 bits
2 bits
Aucune
06 :
1 bit
8 bits
1 bit
Paire
07 :
1 bit
8 bits
1 bit
Impaire
08 :
1 bit
8 bits
1 bit
Aucune
09 :
1 bit
8 bits
2 bits
Paire
10 :
1 bit
8 bits
2 bits
Impaire
11 :
1 bit
8 bits
2 bits
Aucune
184
(Pour toute autre configuration préciser les configurations standard (1 bit de lancement, données en 7 bits ; parité paire, 2 bits d’arrêt, 9 600 bps), et toute autre configuration provoquerait une erreur non fatale et l’AR serait activé).
DM 6647
00 à 15
Délai de transmission (le BCD de 0000 à 9999 règle un délai de 0 à 99 990 ms.)
184
(Pour toute autre configuration préciser un délai de 0 ms, sinon cela provoquerait une
erreur non fatale et l’AR 1302 serait activé)
DM 6648
00 à 07
08 à 11
12 à 15
Numéro de station (Liaison à l’ordinateur (SYSMAC--WAY))
00 à 31 (BCD)
(Pour toute autre configuration préciser le numéro de station à 00, sinon cela provoquerait une erreur non fatale et l’AR 1302 serait activé)
Sélection du code de démarrage pour les communications sans protocole
0 : Code de démarrage désactivé ; 1 : Code de démarrage valide dans la DM 6649
(Pour toute autre configuration, désactiver le code de démarrage, sinon cela provoquerait une erreur non fatale et l’AR 1302 serait activé)
Sélection du code de Fin pour les communications sans protocole
0 : Code de fin désactivé ; 1 : Code de fin valide dans la DM 6649 ; 2 : Code de fin de
CR, LF réglé.
(Pour toute autre configuration, désactiver le code de fin, sinon cela provoquerait une
erreur non fatale et l’AR 1302 serait activé)
12
184
Chapitre
Le Setup de l’API
Mots(s)
DM 6649
Bit(s)
00 à 07
Fonction
Code de démarrage (00 à FF)
1-1
Page
184
(Cette configuration est valable uniquement lorsque les bits 8 à 11 de la DM 6648 sont
réglés sur 1).
08 à 15
Lorsque les bits 12 à 15 de la DM 6648 sont réglés sur 0 :
Régler le nombre d’octets à recevoir (00 : 256 octets ; 01 à FF : 1 à 255 octets).
Lorsque les bits 12 à 15 de la DM 6648 sont réglés sur 1 :
Régler le code de fin (00 à FF).
Configurations des communications du port de périphérique
Les configurations suivantes sont enregistrées après leur transfert à l’API.
Lorsque le commutateur des communications de l’unité centrale du CPM2A est sur ON, les communications transmises par le port RS-232C du CPM2A dépendent de la configuration par défaut (paramétrage usine) indépendamment
de la configuration de la zone allant de DM 6645 à DM 6649.
La configuration du commutateur des communications du CPM2A n’a aucun effet sur les communications avec la
Console de programmation connectée au port périphérique ou avec le logiciel réglé pour des communications de bus
périphérique. L’unité centrale CPM2A détectera automatiquement l’un ou l’autre des périphériques de programmation
et établira automatiquement les communications.
Le sélecteur 1 du micro--interrupteur de l’unité centrale du CPM2C doit être sur OFF et le sélecteur 2 doit être sur ON
afin que les communications transmises par le port périphérique du CPM2C dépendent bien de la configuration de la
zone de DM 6650 à DM 6654.
Lorsque le sélecteur 2 est sur OFF, les communications transmises par le port périphérique du CPM2C dépendent du
protocole de la Console de programmation. Lorsque les sélecteurs 1 et 2 des micro--interrupteurs de l’unité centrale du
CPM2C sont sur ON, les communications transmises dépendent des configurations des liaisons à l’ordinateur (SYSMAC--WAY) standard (1 bit de lancement, données en 7 bits, parité paire, 2 bits d’arrêt, 9 600 bps).
DM 6650
00 à 03
Paramétrage du port
00 : Standard (1 bit de lancement, données en 7 bits, parité paire, 2 bits d’arrêt,
9 600 bps)
01 : Configuration dans la DM 6651
184
(Pour toute autre configuration, spécifier les configurations par défaut, sinon cela provoquerait une erreur non fatale et l’AR 1302 serait activé)
04 à 11
Inutilisés.
12 à 15
Modes de communication
0 : Liaison à l’ordinateur (SYSMAC--WAY) ; 1 : Sans protocole (ASCII)
(Pour toute autre configuration, spécifier la liaison à l’ordinateur (SYSMAC--WAY),
sinon cela provoquerait une erreur non fatale et l’AR 1302 serait activé)
DM 6651
00 à 07
08 à 15
Pour connecter un logiciel de passage de l’ordinateur à un CPM2C, désactiver le
sélecteur 1 et activer le sélecteur 2 à partir du commutateur de configuration des communications et régler les zones de DM 6650 à 0001. L’unité centrale modifiera automatiquement les modes de communication série pour le bus périphérique. Il s’avérera
impossible de communiquer à partir du port périphérique en configuration par défaut.
Débit en bauds
00 : 1 200 bps ; 01 : 2 400 bps ; 02 : 4 800 bps ; 03 : 9 600 bps ; 04 : 19 200 bps
Format de trame
Lancement
Longueur
Arrêt
Parité
00 :
1 bit
7 bits
1 bit
Paire
01 :
1 bit
7 bits
1 bit
Impaire
02 :
1 bit
7 bits
1 bit
Aucune
03 :
1 bit
7 bits
2 bits
Paire
04 :
1 bit
7 bits
2 bits
Impaire
05 :
1 bit
7 bits
2 bits
Aucune
06 :
1 bit
8 bits
1 bit
Paire
07 :
1 bit
8 bits
1 bit
Impaire
08 :
1 bit
8 bits
1 bit
Aucune
09 :
1 bit
8 bits
2 bits
Paire
10 :
1 bit
8 bits
2 bits
Impaire
11 :
1 bit
8 bits
2 bits
Aucune
(Pour toute autre configuration, préciser les configurations standard (1 bit de lancement, données en 7 bits ; parité paire, 2 bits d’arrêt, 9 600 bps), et toute autre configuration provoquerait une erreur non fatale et l’AR serait activé).
13
Chapitre
Le Setup de l’API
Mots(s)
DM 6652
Bit(s)
00 à 15
Fonction
Délai de transmission (le BCD de 0000 à 9999 règle un délai de 0 à 99 990 ms.)
1-1
Page
184
(Pour toute autre configuration, préciser un délai de 0 ms, sinon cela provoquerait une
erreur non fatale et l’AR 1302 serait activé)
DM 6653
00 à 07
08 à 11
Numéro de station (Liaison à l’ordinateur (SYSMAC--WAY))
00 à 31 (BCD)
184
(Pour toute autre configuration, préciser le numéro de station à 00, sinon cela provoquerait une erreur non fatale et l’AR 1302 serait activé)
Démarrer la sélection du code pour les communications sans protocole
0 : Désactive le code de démarrage ; 1 : Valide le code de démarrage dans la
DM 6649
(Pour toute autre configuration, désactiver le code de démarrage, sinon cela provoquerait une erreur non fatale et l’AR 1302 serait activé)
12 à 15
Sélection du code de fin pour les communications sans protocole
0 : Désactive code de fin ; 1 : Valide code de fin dans la DM 6649 ; 2 : Règle code de
fin de CR, LF.
(Pour toute autre configuration, désactiver le code de fin, sinon cela provoquerait une
erreur non fatale et l’AR 1302 serait activé)
DM 6654
00 à 07
Code de démarrage (00 à FF)
184
(Cette configuration est valable uniquement lorsque les bits 8 à 11 de la DM 6648 sont
réglés sur 1).
08 à 15
Lorsque les bits 12 à 15 de la DM 6648 sont réglés sur 0 :
Régler le nombre d’octets à recevoir (00 : 256 octets ; 01 à FF : 1 à 255 octets).
Lorsque les bits 12 à 15 de la DM 6648 sont réglés sur 1 :
Régler le code de fin (00 à FF).
Configurations du journal d’erreur (DM 6655)
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6655
00 à 03 Style
0 : Décalage après 7 enregistrements d’erreurs
1 : Mémorise seulement les 7 premiers enregistrements (sans changement)
2 à F : Ne mémorise pas les enregistrements
04 à 07 Inutilisés.
08 à 11
Valide la surveillance du temps de cycle
0 : Génère une erreur non fatale pour un temps de cycle trop long
1 : Ne génère pas d’erreur non fatale
12 à 15
Active l’erreur batterie faible
0 : Génère une erreur non fatale pour une détection de batterie faible
1 : Ne génère pas d’erreur non fatale
La détection d’erreur batterie faible est désactivée (ex. : régler sur 1) par défaut dans
l’unité centrale ne possédant pas d’horloge. Lorsque le Setup de l’API est effacé, la
configuration passe à 0 et l’erreur batterie faible peut survenir.
Les bits 12 à 15 devraient toujours être réglés sur 0 lors du montage du
CPM2C-BAT01 optionnel.
14
24
Chapitre
Le Setup de l’API
1-1
1-1-4 Configuration du Setup de l’API du SRM1(-V2)
Le Setup de l’API se divise en quatre catégories : 1) les configurations concernant le fonctionnement de base de l’API et le traitement des E/S, 2) les configurations concernant le temps de cycle, 3) les configurations concernant les interruptions et 4) les configurations concernant les communications. Ce chapitre
décrit les configurations selon cette classification.
Le tableau ci--dessous présente les configurations pour les API SRM1(-V2). Se
reporter au numéro des pages de la dernière colonne pour de plus amples informations sur le paramétrage.
Mots(s)
Bit(s)
Fonction
Page
Traitement démarrer (DM 6600 à DM 6614)
Les sélections suivantes sont effectives après leur transfert vers l’API et uniquement après un redémarrage de l’API.
DM 6600
19
00 à 07 Mode démarrer (enregistré lorsque les bits de 08 à 15 sont réglés sur 02).
00 : PROGRAM ; 01 : MONITOR ; 02 : RUN
08 à 15 Indication mode Démarrer
00 : Commutateur de Console de Programmation
01 : Dernier mode utilisé, poursuit son fonctionnement avant la désactivation de
l’alimentation
02 : Paramétré de 00 à 07
DM 6601
00 à 07
Inutilisés.
08 à 11
Etat du bit de maintien IOM (SR 25212)
0 : Réinitialiser ; 1 : Conserver (Voir Attention page 20)
Etat du bit de maintien d’état forcé (SR 25211)
0 : Réinitialiser ; 1 : Conserver
Protéger en écriture la mémoire du programme
0 : Mémoire du programme non protégé
1 : Mémoire du programme protégé en écriture (sauf pour la DM 6602 elle--même)
12 à 15
DM 6602
00 à 03
04 à 07
08 à 11
12 à 15
DM 6603
DM 6604
20
20
Langue d’affichage de la Console de programmation
0 : Anglais ; 1 : Japonais
Instructions d’expansion
0 : Configuration par défaut ; 1 : Configuration d’utilisateur
Inutilisés.
00 à 03
Nombre maximum de périphériques du CompoBus/S
0 : Max. 32
1 : Max. 16
04 à 07
Paramétrage du mode communications CompoBus/S (V2 uniquement)
0 : Communications à grande vitesse
1 : Communications longue distance
08 à 15
Inutilisés.
00 à 07
00 : Si les données ne peuvent pas être sauvegardées lors d’une interruption d’alimentation
(AR 1314 ON), l’erreur mémoire ne sera pas générée.
01 : Si les données ne peuvent pas être sauvegardées lors d’une interruption d’alimentation
(AR 1314 ON), l’erreur mémoire sera générée.
Inutilisés.
08 à 15
DM 6605 à 00 à 15 Inutilisés.
DM 6614
Configurations du temps de cycle (DM 6615 à DM 6619)
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6615
00 à 15 Inutilisés.
DM 6616
00 à 07
21
Temps d’utilisation du port RS-232C
(enregistré lorsque les bits de 08 à 15 sont réglés)
00 à 99 (BCD) : Pourcentage du temps de cycle utilisé pour la gestion du port RS-232C
08 à 15
Validation du temps d’utilisation du port RS-232C
00 : 5% du temps de cycle
01 : Utilise le temps de 00 à 07.
15
Chapitre
Le Setup de l’API
Mots(s)
DM 6617
DM 6618
DM 6619
Bit(s)
Fonction
00 à 07
Temps d’utilisation du port périphérique (enregistré lorsque les bits de 08 à 15 sont
réglés sur 01)
00 à 99 (BCD) : Pourcentage du temps de cycle utilisé pour la gestion du périphérique
08 à 15
Validation de la configuration du temps d’utilisation du port périphérique
00 : 5% du temps de cycle
01 : Utilise le temps de 00 à 07.
00 à 07
Temps de surveillance de cycle
(enregistré lorsque les bits de 08 à 15 sont réglés sur 01, 02 ou 03)
00 à 99 (BCD) : Paramétrage (voir 08 à 15)
08 à 15
Valide la surveillance de cycle (Paramétrage de 00 à 07 x unité ; 99 s max.)
00 : 120 ms (paramétrage en bits de 00 à 07 hors service)
01 : Configuration de l’unité : 10 ms
02 : Configuration de l’unité : 100 ms
03 : Configuration de l’unité : 1 s
00 à 15
Temps de cycle
0000 : Variable (aucun minimum)
0001 à 9999 (BCD) : Temps minimal en ms
1-1
Page
21
22
23
DM 6620 à 00 à 15 Inutilisés.
DM 6644
Configuration du port de communication RS-232C
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6645
00 à 03 Paramétrage du port
0 : Standard (1 bit de lancement, données en 7 bits, parité paire, 2 bits d’arrêt,
9 600 bps)
1 : Configurations de la zone DM 6646
04 à 07 Paramétrage de la commande de CTS
0 : Désactive ; 1 : Valide
08 à 11
Pour l’utilisation de mots de liaison pour 1 :1 liaison de données : définir la zone de
liaison pour 1 :1 liaison API.
0 : LR 00 à LR 15
Non 0 : Désactive
Lors de l’utilisation d’une 1 : N liaison NT : définir le nombre maximal de station TOP.
1à7
12 à 15
Modes de communication
0 : Liaison à l’ordinateur (SYSMAC--WAY) ; 1 : Sans protocole ; 2 : 1 :1 Liaison API
esclave ; 3 : 1 :1 Liaison API maître ; 4 : 1 :1 Liaison NT ; 5 : 1 : Liaison N NT
(Toute autre configuration spécifique du mode liaison à l’ordinateur (SYSMAC--WAY),
provoquerait une erreur non fatale et l’AR 1302 serait activé)
1 : Liaison N NT n’est supportée que par le SRM1-C02-V2.
16
221
Chapitre
Le Setup de l’API
Mots(s)
DM 6646
Bit(s)
00 à 07
08 à 15
Fonction
1-1
Page
Débit en bauds
00 : 1,2 K, 01 : 2,4 K, 02 : 4,8 K, 03 : 9,6 K, 04 : 19,2 K
Format de trame
Lancement
Longueur
Arrêt
Parité
00 :
1 bit
7 bits
1 bit
Paire
01 :
1 bit
7 bits
1 bit
Impaire
02 :
1 bit
7 bits
1 bit
Aucune
03 :
1 bit
7 bits
2 bits
Paire
04 :
1 bit
7 bits
2 bits
Impaire
05 :
1 bit
7 bits
2 bits
Aucune
06 :
1 bit
8 bits
1 bit
Paire
07 :
1 bit
8 bits
1 bit
Impaire
08 :
1 bit
8 bits
1 bit
Aucune
09 :
1 bit
8 bits
2 bits
Paire
10 :
1 bit
8 bits
2 bits
Impaire
11 :
1 bit
8 bits
2 bits
Aucune
Autre : 1 bit
7 bits
2 bits
Paire
L’AR 1302 sera activé pour indiquer une erreur configuration de système non--fatale
lorsque aucune valeur n’est paramétrée entre 00 et 11.
DM 6647
00 à 15
Délai de transmission (Liaison à l’ordinateur (SYSMAC--WAY))
0000 à 9999 (BCD) : défini dans les unités à 10 ms, ex. : paramétrage de 0001 égal à
10 ms
DM 6648
00 à 07
Numéro de station (Liaison à l’ordinateur (SYSMAC--WAY), enregistré lorsque les bits
de 12 à 15 de la DM 6645 sont réglés sur 0.)
00 à 31 (BCD)
08 à 11
Valide le code de démarrage (RS-232C, enregistré lorsque les bits de 12 à 15 de la
DM 6645 sont réglés sur 1).
0 : Désactivé; 1 : Défini
12 à 15
Valide le code de fin (RS-232C, enregistré lorsque les bits de 12 à 15 de la DM 6645
sont réglés sur 1).
0 : Désactivé (nombre de bits reçus)
1 : Défini (code fin spécifié)
2 : CR, LF
00 à 07
Code de démarrage (RS-232C)
00 à FF (binaire)
Lorsque les bits 12 à 15 de la DM 6648 sont réglés sur 0 :
Nombre de bits reçus :
00 : Configuration par défaut (256 octets)
01 à FF : 1 à 255 octets
DM 6649
08 à 15
221
Lorsque les bits 12 à 15 de la DM 6648 sont réglés sur 1 :
Code de fin (RS-232C)
00 à FF (binaire)
17
Chapitre
Le Setup de l’API
Mots(s)
Bit(s)
Fonction
1-1
Page
Configurations de port périphérique
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6650
00 à 03 Paramétrage du port
00 : Standard (1 bit de lancement, données sur 7 bits, parité paire, 2 bits d’arrêt,
9 600 bps)
01 : Configurations de la zone DM 6651
221
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
DM 6651
04 à 07
Inutilisés.
08 à 11
Inutilisés.
12 à 15
Modes de communication
0 : Liaison à l’ordinateur (SYSMAC--WAY) ; 1 : Sans protocole
00 à 07
08 à 15
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
Débit en bauds
00 : 1,2K, 01 : 2,4K, 02 : 4,8K, 03 : 9,6K, 04 : 19,2K
Format de trame
Lancement
Longueur
Arrêt
Parité
00 :
1 bit
7 bits
1 bit
Paire
01 :
1 bit
7 bits
1 bit
Impaire
02 :
1 bit
7 bits
1 bit
Aucune
03 :
1 bit
7 bits
2 bits
Paire
04 :
1 bit
7 bits
2 bits
Impaire
05 :
1 bit
7 bits
2 bits
Aucune
06 :
1 bit
8 bits
1 bit
Paire
07 :
1 bit
8 bits
1 bit
Impaire
08 :
1 bit
8 bits
1 bit
Aucune
09 :
1 bit
8 bits
2 bits
Paire
10 :
1 bit
8 bits
2 bits
Impaire
11 :
1 bit
8 bits
2 bits
Aucune
Autre : 1 bit
7 bits
2 bits
Paire
L’AR 1302 sera sur ON pour indiquer une erreur configuration de système non fatale
lorsque la valeur n’est pas définie entre 00 et 11.
DM 6652
DM 6653
00 à 15
00 à 07
08 à 11
12 à 15
18
Délai de transmission (Liaison à l’ordinateur (SYSMAC--WAY))
0000 à 9999 (BCD) : Défini dans les unités à 10 ms.
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
Numéro de station (Liaison à l’ordinateur (SYSMAC--WAY))
00 à 31 (BCD)
(Les autres configurations provoqueraient une erreur non fatale et l’AR 1302 serait
activé).
Valide le code de démarrage (RS-232C, enregistré lorsque les bits de 12 à 15 de la
DM 6650 sont réglés sur 1)
0 : Désactive
1 : Valide
Valide le code de fin (RS-232C, enregistré lorsque les bits de 12 à 15 de la DM 6650
sont réglés sur 1.)
0 : Désactive (nombre d’octets reçus)
1 : Valide (code de fin spécifié)
2 : CR, LF
221
Chapitre
Fonctionnement de l’API de base et traitement des E/S
Mots(s)
DM 6654
Bit(s)
00 à 07
08 à 15
Fonction
1-2
Page
Code de démarrage (enregistré lorsque les bits de 08 à 11 de la DM 6650 sont réglés
sur 1).
00 : 256 octets
01 à FF : 1 à 255 octets
Code de fin
221
Lorsque les bits 12 à 15 de la DM 6653 sont réglés sur 0 :
00 : 256 octets
01 à FF : 1 à 255 octets
Lorsque les bits 12 à 15 de la DM 6653 sont réglés sur 1 :
Configuration : 00 à FF (binaire)
Configuration du journal d’erreurs (DM 6655)
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6655
00 à 03 Style
0 : Décalage après 7 enregistrements d’erreurs
1 : Mémorise seulement les 7 premiers enregistrements
24
2àF
04 à 07
Les erreurs ne sont pas mémorisées si d’autres valeurs sont valides.
Inutilisé.
08 à 11
Valide la surveillance de temps de cycle
0 : Détecte les cycles longs en tant qu’erreurs non fatales
1 : Ne détecte pas les cycles longs
12 à 15
Valide l’erreur batterie faible
0 : Génère une erreur non fatale pour une détection de batterie faible
1 : Ne génère pas d’erreur non fatale
Rem. Lorsqu’une valeur est paramétrée en dehors des limites, réinitialiser la valeur
afin de rester dans la plage autorisée. Il en résulte les conditions des communications suivantes :
Modes de communication :
Format des communications :
Délai de transmission :
Numéro de station :
1-2
Liaison à l’ordinateur (SYSMAC--WAY)
Configurations standard
(1 bit de lancement, données en 7 bits ;
parité paire, 2 bits d’arrêt, 9 600 bps)
Aucun
00
Fonctionnement de l’API de base et traitement des E/S
Ce chapitre explique la configuration du Setup de l’API en ce qui concerne le
fonctionnement de base et le traitement des E/S.
1-2-1 Mode démarrer
Dans ce mode de fonctionnement, l’API démarrera dès que l’alimentation est
activée et il se paramètre comme indiqué ci--dessous :
Bit 15
0
DM6600
Appellation mode démarrer
00 : Sélecteur de mode console de programmation
(Si non connecté : mode RUN )
01 : Dernier mode de fonctionnement utilisé avant la désactivation de l’alimentation
02 : Mode réglé en bits 00 à 07
Mode démarrer
(Bits 08 à 15 : Valide lorsque les bits 00 à 07 sont réglés sur 02)
00 : mode PROGRAM
01 : mode MONITOR
02 : mode RUN
Par défaut : est réglé sur le sélecteur de mode console de programmation ou le mode
RUN lorsque la console de programmation n’est pas connectée.
19
Chapitre
Fonctionnement de l’API de base et traitement des E/S
1-2
Rem. Lorsque “l’indication mode démarrer” est réglé sur 00 et que le sélecteur 2 du
micro--interrupteur de l’unité centrale du CPM2C est sur ON, le CPM2C entre
automatiquement en mode RUN indépendamment de la configuration des commutateurs du mode Console de programmation.
1-2-2 Etat du bit de maintien
Effectuer les sélections ci-dessous afin de déterminer si les bits de maintien
d’état forcé (SR 25211) et/ou les bits de maintien IOM (SR 25212) doivent retenir l’état effectif des bits à la coupure de tension ou si cet état doit être effacé.
Bit 15
DM6601
0
0
0
Configuration
Toujours 00
SR 25211
0 : Etat supprimé
1 : Etat conservé
Configuration SR 25212
0 : Etat supprimé
1 : Etat conservé
Par défaut : Supprimés tous les deux
Le bit de maintien d’état forcé (SR 25211) détermine si l’état de réglage/réinitialisation forcé est ou non conservé lors du changement du mode PROGRAM au
mode MONITOR.
Le bit de maintien IOM (SR 25212) détermine si l’état des bits IR et des bits LR
est ou non conservé lorsque l’API démarre puis est arrêté.
! Attention Ne pas utiliser les bits d’état (DM 6601) (bit de maintien E/S et bit de maintien
d’état forcé) si la coupure de l’alimentation du micro API excède le temps de
sauvegarde de la mémoire alimentée par l’intermédiaire d’un condensateur
interne. Si ce temps est dépassé, l’état de la mémoire est instable, même si les
états bit de maintien E/S et bit de maintien d’état forcé sont utilisés. Si un fonctionnement en état de mémoire instable est tenté, des résultats imprévisibles
peuvent apparaître.
Rem.
1. La durée de sauvegarde de la mémoire du condensateur interne varie selon
la température ambiante, mais est de 20 jours à 25_C. Se reporter aux
caractéristiques techniques du matériel pour plus d’informations.
2. La durée de sauvegarde de la mémoire suppose que le condensateur
interne soit entièrement chargé avant la coupure de l’alimentation. Le chargement total du condensateur nécessite qu’il soit alimenté par l’unité centrale pendant au moins 15 minutes.
1-2-3 Mémoire du programme protégé en écriture
Dans les API CPM1, CPM1A, CPM2A et CPM2C la mémoire du programme est
protégée en paramétrant les bits 00 à 03 des zones de DM 6602 à 0. Les bits 04
20
Chapitre
Fonctionnement de l’API de base et traitement des E/S
1-2
à 07 déterminent si les messages de la Console de programmation doivent s’afficher en anglais ou en japonais.
Bit 15
DM6602
0
0
0
Toujours 00
Messages de la Console
de programmation
0 : Anglais
1 : Japonais
Mémoire du programme
0 : Non protégé en écriture
1 : Protégé en écriture
Par défaut : Affiche l’anglais, non protégé en écriture
Rem. La zone DM 6602 peut toujours être modifiée après que la mémoire de programme soit protégée en écriture en paramétrant les bits 04 à 07 des zones
DM 6602 à 1.
1-2-4 Temps d’utilisation du port RS-232C (CPM2A/CPM2C/SRM1(-V2)
uniquement)
Les configurations suivantes sont utilisées pour déterminer le pourcentage de
temps de cycle consacré à l’utilisation du port RS-232C.
Bit 15
0
DM6616
Valide paramétrage temps d’utilisation
00 : Désactivé (5% utilisé)
01 : Valide (configuration en bits 00 à 07 utilisés)
Temps d’utilisation
(%, valide avec les bits 08 à 15 sur 01)
00 à 99 (BCD, deux digits)
Par défaut : 5% du temps de cycle
Exemple : Si la DM 6616 est réglée sur 0110, le port RS-232C interviendra pour
10% du temps de cycle.
Le temps d’utilisation sera de 0,34 ms minimum.
La totalité du temps d’utilisation ne sera pas utilisée à moins que le traitement le
nécessitant existe.
1-2-5 Temps d’utilisation du port périphérique
Les configurations suivantes servent à déterminer le pourcentage de temps de
cycle consacré à l’utilisation du port périphérique.
Bit 15
0
DM6617
Valide paramétrage du temps d’utilisation
00 : Désactive (5% utilisé)
01 : Valide (configuration en bits 00 à 07 utilisés)
Temps d’utilisation
(%, valide avec les bits 08 à 15 sur 01)
00 à 99 (BCD, deux digits)
Par défaut : 5% du temps de cycle
21
Chapitre
Fonctionnement de l’API de base et traitement des E/S
1-2
Exemple : Si la DM 6617 est réglée sur 0115, le port périphérique interviendra
pour 15% du temps de cycle.
Le temps d’utilisation sera de 0,34 ms minimum.
La totalité du temps d’utilisation ne sera pas utilisée à moins que le traitement le
nécessitant existe.
1-2-6 Temps de surveillance de cycle
Bit 15
0
DM6618
Valide temps de surveillance de cycle
00 : Désactive la configuration (temps fixé à 120 ms)
01 : Valide paramétrage en 00 à 07 ; unités :10 ms
02 : Valide paramétrage en 00 à 07 ; unités :100 ms
03 : Valide paramétrage en 00 à 07 ; unités :1 s
Configuration temps de surveillance de cycle
(Lorsque les bits 08 à 15 ne sont pas 00)
00 à 99 (2 digits BCD ; unités définies en bits 08 à 15).
Par défaut : 120 ms.
Le temps de surveillance de cycle est utilisé pour vérifier les temps de cycle
extrêmement longs qui peuvent survenir lorsque le programme effectue une
boucle ininterrompue. Lorsque le temps de cycle dépasse la valeur paramétrée
de surveillance de cycle, une erreur fatale (FALS 9F) est générée.
Rem.
22
1. Les unités utilisées pour les temps de cycle maximaux et actuels enregistrés dans la zone AR (AR 14 et AR 15) sont déterminées par la configuration
du temps de surveillance de cycle dans la DM 6618, comme indiqué ci--dessous :
Bits 08 à 15 réglés sur 01 :
0,1 ms
Bits 08 à 15 réglés sur 02 :
1 ms
Bits 08 à 15 réglés sur 03 :
10 ms
2. Le temps de cycle est d’1 s ou plus, la lecture du temps de cycle provenant
des périphériques de programmation sera de 999,9 ms. Les bons temps de
cycle maximaux et actuels seront enregistrés dans la zone AR.
Exemple
Si 0230 est réglé dans la DM 6618, une erreur FALS 9F ne surviendra pas tant
que le temps de cycle ne dépasse pas 3 s. Si le temps de cycle actuel est de
2,59 s, le temps de cycle actuel mémorisé dans la zone AR sera de 2590 (ms),
mais la lecture du temps de cycle provenant des périphériques de programmation sera de 999,9 ms.
Une erreur “fin de temps de cycle” (non fatale) est générée lorsque le temps de
cycle dépasse 100 ms à moins que la détection des temps de cycle long soit
désactivée depuis la configuration de la DM 6655.
Chapitre
Fonctionnement de l’API de base et traitement des E/S
1-2
1-2-7 Temps de cycle minimal
Effectuer les configurations décrites ci--dessous pour standardiser le temps de
cycle et pour éliminer les variations de temps de réponse des E/S en paramétrant le temps de cycle au minimum
Bit 15
0
DM6619
Temps de cycle
(4 digits BCD)
0000 : Temps de cycle variable
0001 à 9999 : Temps de cycle minimal
(Unité : 1 ms)
Par défaut : Temps de cycle variable
Lorsque le temps de cycle réel est plus court que le temps de cycle minimum, le
déroulement attendra jusqu’à l’expiration du temps de cycle minimal. Par
contre, lorsque le temps de cycle réel est plus long que le temps de cycle minimum, le déroulement poursuivra selon le temps de cycle réel. L’AR 2405 sera
activé si le temps de cycle minimum est dépassé.
1-2-8 Constantes de temps d’entrée (filtrage)
Effectuer la configuration présentée ci--dessous afin de régler le temps à partir
du moment où les entrées réelles provenant de l’unité d’entrée c.c. sont activées
ou non jusqu’au moment où les bits d’entrée correspondant sont miss à jour.
En augmentant la constante de temps d’entrée cela réduit les effets des perturbations et parasites externes.
Entrée telle qu’un fin de
course
Etat du bit d’entrée
t
t Constante de temps d’entrée
La configuration du SRM1(-V2) est différente.
Les API CPM1/CPM1A
Régler les constantes de temps d’entrée pour les entrées des CPM1/CPM1A
provenant de périphérique de programmation.
Constantes de temps d’entrée pour IR 000
Bit 15
0
DM 6620
Constante de temps pour IR 00007 à IR 00011 (1 digit BCD ; voir ci--dessous)
Constante de temps pour IR 00005 à IR 00006 (1 digit BCD ; voir ci--dessous)
Constante de temps pour IR 00003 à IR 00004 (1 digit BCD ; voir ci--dessous)
Constante de temps pour IR 00000 à IR 00002 (1 digit BCD ; voir ci--dessous)
Par défaut : 0000 (8 ms pour chacun)
23
Chapitre
Fonctionnement de l’API de base et traitement des E/S
1-2
Constantes de temps d’entrée pour IR 001 à IR 009
DM 6621 : IR 001 et IR 002
DM 6622 : IR 003 et IR 004
DM 6623 : IR 005 et IR 006
DM 6624 : IR 007 et IR 008
DM 6625 : IR 009
Bit 15
0
DM 6621 à DM 6625
Constante de temps pour IR 002, IR 004, IR 006, et IR 008
Constante de temps pour IR 001, IR 003, IR 005, IR 007, et IR 009
Par défaut : 0000 (8 ms pour chacun)
Les neuf configurations possibles pour la constante de temps d’entrée sont présentées ci--dessous. Régler seulement au digit le plus proche pour chaque
paramétrage du IR 000.
00 : 8 ms
01 : 1 ms
02 : 2 ms
03 : 4 ms
04 : 8 ms
05 : 16 ms
06 : 32 ms
07 : 64 ms
08 : 128 ms
Le temps de réponse d’E/S des CPM1/CPM1A est la constante de temps d’entrée (de 1 ms à 128 ms ; par défaut à 8 ms) + le temps de cycle.
Pour plus d’informations se reporter au paragraphe 8-1 Temps de cycle des
CPM1/CPM1A et temps de réponse d’E/S.
Les API CPM2A/CPM2C
Régler les constantes de temps d’entrée pour les entrées des CPM2A/CPM2C
provenant des périphériques de programmation.
Constantes de temps d’entrée pour IR 000
Bit 15
0
DM 6620
Constante de temps pour IR 00007 à IR 00011 (1 digit BCD ; voir ci--dessous)
Constante de temps pour IR 00005 à IR 00006 (1 digit BCD ; voir ci--dessous)
Constante de temps pour IR 00003 à IR 00004 (1 digit BCD ; voir ci--dessous)
Constante de temps pour IR 00000 à IR 00002 (1 digit BCD ; voir ci--dessous)
Par défaut : 0000 (10 ms pour chacun)
Constantes de temps d’entrée pour IR 001 à IR 009
DM 6621 : IR 001 et IR 002
DM 6622 : IR 003 et IR 004
DM 6623 : IR 005 et IR 006
DM 6624 : IR 007 et IR 008
DM 6625 : IR 009
Bit 15
0
DM 6621 à DM 6625
Constante de temps pour IR 002, IR 004, IR 006, et IR 008
Constante de temps pour IR 001, IR 003, IR 005, IR 007, et IR 009
Par défaut : 0000 (10 ms pour chacun)
Les neuf configurations possibles pour la constante de temps d’entrée sont présentées ci--dessous. Régler seulement au digit le plus proche pour chaque
paramétrage du IR 000.
00 : 10 ms
01 : 1 ms
02 : 2 ms
03 : 3 ms
04 : 5 ms
05 : 10 ms
06 : 20 ms
07 : 40 ms
08 : 80 ms
1-2-9 Configurations du journal d’erreurs
Détection d’erreur et fonctionnement du journal d’erreurs (DM 6655)
Effectuer la configuration présentée ci--dessous pour déterminer si une erreur
non fatale a ou non été générée lorsque le temps de cycle dépasse 100 ms ou
24
Chapitre
Fonctionnement de l’API de base et traitement des E/S
1-2
lorsque la tension de la batterie intégrée chute (CPM2A/CPM2C uniquement),
et régler le moyen de mémoriser les enregistrements dans le journal d’erreurs
lorsque des erreurs surviennent.
Bit 15
DM6655
Détection de tension batterie faible
0 : Détecte
1 : Ne détecte pas
0
0
Toujours
0
Détection de fin de temps de cycle
0 : Détecte
1 : Ne détecte pas
Méthode de mémorisation du journal d’erreurs
0 : Enregistrement d’erreurs concerne toujours la mémorisation des 7 dernières
erreurs (anciennes erreurs détectées).
1 : Seulement les 7 premiers enregistrements d’erreurs mémorisés (aucune erreur
mémorisée au--delà de ce point).
2 à F : Enregistrement d’erreurs non mémorisé.
Par défaut : Tension de batterie faible et temps de cycle concernant la détection d’erreurs et l’enregistrement d’erreurs mémorisés pour les 7 erreurs les plus récentes.
Erreurs de batterie et erreurs de dépassement de temps de cycle sont des
erreurs non fatales.
Pour plus d’informations sur le journal d’erreurs, se reporter au Chapitre 9
Dépannage.
Rem. L’erreur batterie faible concerne uniquement les CPM2A/CPM2C. Ce digit n’est
pas utilisé dans les API CPM1/CPM1A/SRM1(-V2) qui ne sont pas équipés
d’une batterie.
25
CHAPITRE 2
Caractéristiques spécifiques
Ce chapitre explique les caractéristiques spécifiques aux CPM1, CPM1A, CPM2A, CPM2C et SRM1(-V2).
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
Fonctions d’interruption des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-1-1 Entrées d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-1-2 Interruptions par temporisation cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compteurs à grande vitesse du CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-2-1 Utilisation des compteurs à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-2-2 Entrées d’interruption en mode compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions d’interruption du CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-3-1 Types d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-3-2 Entrées d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-3-3 Masquage de toutes les interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-3-4 Interruptions par temporisation cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-3-5 Interruptions du compteur à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions d’interruption du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-4-1 Types d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-4-2 Interruptions par temporisation cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de sortie d’impulsions du CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-5-1 Utilisation des sorties d’impulsions monophasées sans accélération
ni décélération (Rapport cyclique fixe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-5-2 Utilisation des sorties d’impulsions avec rapport cyclique variable (PWM) . . .
2-5-3 Utilisation des sorties d’impulsions avec accélération et décélération
trapézoïdales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de la sortie d’impulsions du CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-6-1 Exemple de programmation en mode continu . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-6-2 Exemple de programmation en mode indépendant . . . . . . . . . . . . . . . . . . . . . . .
2-6-3 Utilisation des instructions de la sortie d’impulsions . . . . . . . . . . . . . . . . . . . . .
2-6-4 Modification de la fréquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-6-5 Interruption de la sortie d’impulsions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement) . . . . . . . . . . . . .
Fonctions analogiques d’E/S (CPM1/CPM1A/CPM2A uniquement) . . . . . . . . . . . . . . . .
Fonctions esclave d’E/S du CompoBus/S (CPM1A/CPM2A uniquement) . . . . . . . . . . .
Fonctions maître d’E/S du CompoBus/S (SRM1(-V2) uniquement) . . . . . . . . . . . . . . . .
Commandes analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-11-1 Commandes analogiques CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-11-2 Commandes analogiques du CPM2A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entrées de capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-12-1 Entrées de capture des CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-12-2 Entrées de capture des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonction de la macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calcul avec les données binaires signées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-14-1 Définition de données binaires signées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-14-2 Drapeaux arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-14-3 Réception des données binaires signées en utilisant les valeurs décimales . . . .
Détections de fronts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d’expansion (CPM2A/CPM2C/SRM1(-V2) uniquement) . . . . . . . . . . . . . . .
2-16-1 Les instructions d’expansion du CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . .
2-16-2 Instruction d’expansion du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la fonction d’horloge des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . .
2-17-1 Mots de zone de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-17-2 Configuration du temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
30
37
43
46
67
76
76
79
84
85
87
96
96
96
99
104
115
120
134
135
135
135
136
136
137
149
149
149
151
151
152
153
153
155
158
159
160
160
160
161
162
163
164
164
164
165
27
Fonctions d’interruption des CPM2A/CPM2C
2-1
Chapitre
2-1
Fonctions d’interruption des CPM2A/CPM2C
Des interruptions peuvent être désactivées temporairement lorsque l’édition en
ligne est effectuée pendant le fonctionnement, ou lorsque le STUP(-- --) est exécuté pour modifier des configurations. Les CPM2A et les CPM2C permettent les
types de traitement d’interruption suivants :
Entrées d’interruption
Les programmes d’interruption sont exécutés lorsque les entrées de l’unité centrale (00003 à 00006*) passent de l’état OFF à ON. Les numéros 000 à 003* des
sous--programmes d’interruption sont attribués aux points d’entrée 00003 à
00006*.
Types d’interruptions
Rem. *Les points d’entrée 00005 et 00006 n’existent pas dans les unités centrales de
CPM2C ne comportant que 10 points d’entrée/sortie. Dans ces unités centrales
les numéros 000 et 001 des sous--programmes d’interruption sont attribués aux
points d’entrée 00003 et 00004.
Interruption par temporisation cyclique
Les programmes d’interruption par temporisation cyclique sont exécutés avec
une précision de 0,1 ms. Les numéros 000 à 049 des sous--programmes d’interruption sont attribués par instructions.
Nombre d’interruptions en utilisant les entrées d’interruption (mode
compteur)
Les signaux d’entrée de l’unité centrale (00003 à 00006*) sont comptés à
grande vitesse (2 kHz). Dès la détection du comptage, le programme normal est
arrêté et un programme d’interruption est exécuté. Les numéros 000 à 003* des
sous--programmes d’interruption sont attribués pour entrer les points 00003 à
00006*.
Rem. *Les points d’entrée 00005 et 00006 n’existent pas dans les unités centrales de
CPM2C ne comportant que 10 points d’entrée/sortie. Dans ces unités centrales
les numéros 000 et 001 des sous--programme d’interruption sont attribués pour
entrer les points 00003 et 00004.
Vérification du nombre des interruptions en utilisant le compteur à
grande vitesse
Les entrées d’impulsion aux points d’entrée de l’unité centrale (00000 à 00002)
sont comptées à grande vitesse (20 kHz/5 kHz), et un programme d’interruption
est exécuté lorsque la valeur en cours atteint la valeur recherchée (consigne) ou
se situe dans un intervalle fixé. Les numéros 000 à 049 des sous--programmes
d’interruption sont attribués par des instructions.
Programmes
d’interruptions d’écriture
28
Les programmes d’interruption sont définis comme sous--programmes d’interruption dans le programme utilisateur. Un sous--programme d’interruption est
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
défini par SBN(92) et RET(93), simplement comme un sous--programme ordinaire. Il est écrit à la fin du programme normal.
Programme
normal
Programme
d’interruption
Sous--programme
FIN
1, 2, 3...
Une nouvelle interruption peut être définie dans un sous--programme d’interruption, et une interruption existante peut être annulée.
Pour tout sous--programme d’interruption donné, il est impossible d’écrire
un autre sous--programme pour traiter une autre interruption. Ne pas imbriquer un autre sous--programme d’interruption entre les instructions
SBN(92) et RET(93).
Il est impossible d’écrire un sous--programme dans un sous--programme
d’interruption. Ne pas imbriquer un sous--programme normal entre les instructions SBN(92) et RET(93).
Il est impossible d’écrire un sous--programme d’interruption dans un sous-programme normal. Ne pas imbriquer un sous--programme d’interruption
entre les instructions SBN(92) et RET(93).
Lorsqu’un sous--programme d’interruption est défini, une erreur SBS UNDEFD
se produit pendant le contrôle de programme mais l’exécution sera normale.
! Attention Bien que l’IORF(97) puisse être utilisé dans des sous--programmes
d’interruption, faire attention à l’intervalle entre les exécutions de l’IORF(97).
Lorsque l’IORF(97) est exécuté trop fréquemment, une erreur fatale du
système peut se produire (FALS 9F), arrêtant le fonctionnement. L’intervalle
entre les exécutions de l’IORF(97) devrait être au moins de 1,3 ms + le temps
d’exécution total du sous--programme d’interruption.
L’ordre de priorité pour des interruptions est le suivant :
Ordre de priorité des
interruptions
Entrées d’interruption
=
Numéro d’interruptions
>
Interruption par temporisation cyclique
=
Compteur à grande
vitesse vérifiant le
nombre d’interruptions
Lorsqu’une interruption avec une priorité plus élevée se produit pendant l’exécution du programme d’interruption, l’interruption actuellement traitée s’arrête
et la nouvelle interruption est traitée en priorité. L’interruption initiale sera alors
reprise après le traitement d’interruption de haute--priorité.
Lorsque des interruptions de la même priorité sont produites simultanément,
elles sont traitées dans l’ordre suivant :
Entrée 0 d’interruption ! Entrée 1 d’interruption ! Entrée 2 d’interruption !
Entrée 3 d’interruption (incluant le mode nombre d’interruptions)
29
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Interruption par temporisation cyclique ! interruptions compteur à grande
vitesse
2-1-1 Entrées d’interruption
En basculant les points d’entrée intégrés de l’unité centrale de l’état OFF en ON,
le programme normal s’arrête et le programme d’interruption est exécuté. Les
entrées d’interruption sont attribuées à quatre points (00003 à 00006*).
Rem. *Les points d’entrée 00005 et 00006 n’existent pas dans des unités centrales de
CPM2C ne comportant que 10 points d’entrée/sortie.
Entrée
d’interruption
Programme
normal
Programme
d’interruption
Sous--programme
FIN
Numéros
d’entrées
(Rem. 1)
Rem.
30
Numéro
d’inter-ruptions
00003
0
Numéro de
sous-programme
(Rem. 2)
000
00004
1
001
00005
2
002
00006
3
003
Largeur
minimale du
signal
d’entrée
50 "s
Temps de
réponse
d’interruption
0,3 ms (à partir du
moment où
ll’entrée
entrée passe à
ON jusqu’ à
l’exécution du
programme)
1. Les numéros d’entrée de 00003 à 00006 peuvent être utilisés pour n’importe laquelle des
fonctions suivantes : entrées d’interruption, entrées d’interruption (mode compteur), ou
interruption de capture. Ces numéros peuvent être également utilisées en tant qu’entrées
normales, s’ils ne sont pas déjà utilisés pour ces entrées d’interruption.
2. Les sous--programme de 000 à 003 sont les numéros de sous--programmes des entrées
d’interruption qui ont été générés. Ces numéros peuvent être également utilisées en tant
qu’entrées normales, s’ils ne sont pas utilisés pour ces entrées d’interruption.
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Le tableau suivant montre les liens entre les entrées d’interruption et d’autres
fonctions des API CPM2A/CPM2C.
Fonction
Rem.
Entrées d’interruptions
(mode compteur)
Commande d’impulsion synchronisée
Peut être utilisé simultanément
Entrées d’interruptions
Voir Rem. 1.
Interruptions par temporisation
cyclique
Peut être utilisé simultanément
Compteurs à grande vitesse
Peut être utilisé simultanément
Entrées d’interruptions (mode
compteur)
Voir Rem. 1.
Sorties d’impulsion
Peut être utilisé simultanément
Entrée de capture
Voir Rem. 1.
Constante de temps de sortie
Voir Rem. 2.
Horloge
Peut être utilisé simultanément
1. Le même numéro d’entrée (de 00003 à 00006) ne peut pas être utilisé pour
plus d’une des fonctions suivantes : entrées d’interruption, entrées d’interruption (mode compteur) ou interruption de capture.
2. Lorsque les entrées de 00003 à 00006 sont définies comme entrées d’interruption (mode compteur), les constantes de temps d’entrée pour les entrées
appropriées sont désactivées. Les constantes de temps d’entrée persistent
cependant, pour les valeurs afin de rafraîchir la zone appropriée de relais
d’entrée.
Procédure pour l’utilisation des entrées d’interruption
Définir le numéro
d’entrée d’interruption
Câblage des entrées
Lancer le Setup de l’API (DM 6628)
Créer un programme en
schéma à contacts
Numéro d’entrées : 00003 à 00006
Utiliser comme entrées d’interruption (mode d’entrée
d’interruption ou mode compteur)
INT(89) : Pour les entrées d’interruption masquées et non masquées.
SBN(92) et RET(93) : Pour la création de sous--programmes d’interruption.
31
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
Entrée
d’interruption
2-1
Génération de
l’interruption
Entrée 0
d’interruption
Programme en schéma à contacts
Exécution de sous--programme
spécifé
Instruction INT(89)
(92)
Autorisation d’utiliser
l’entrée d’interruption
Entrée 1
d’interruption
(93)
Entrée 2
d’interruption
Entrée 3
d’interruption
Setup de l’API
DM 6628
Configuration du numéro
d’entrée d’interruption
Pour les entrées d’interruption (mode entrée d’interruption), le numéro des
sous--programmes exécutés pour les numéros d’entrée sont fixés.
Numéro d’entrées
Numéro d’interruption
00003
0
Numéro de
sous--programmes
000
00004
1
001
00005
2
002
00006
3
003
Le même numéro d’entrée (de 00003 à 00006) ne peut pas être utilisé pour plus
d’une des fonctions suivantes : entrées d’interruption, entrées d’interruption
(mode compteur) ou interruption de capture.
Câblage des entrées
Avec un CPM2A, câbler les bornes d’entrée comme montré dans l’illustration
suivante.
Numéro d’entrée 00003 : Entrée 0 d’interruption
Numéro d’entrée 00004 : Entrée 1 d’interruption
Numéro d’entrée 00005 : Entrée 2 d’interruption
Numéro d’entrée 00006 : Entrée 3 d’interruption
32
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Avec un CPM2C, câbler les bornes d’entrée comme montré dans l’illustration
suivante :
Numéros de bornes du
bornier des entrées
Numéros de broches du
connecteur des entrées
00006
00005
00004
00003
00006
00005
00004
00003
Rem. Se reporter au manuel de programmation de votre unité centrale pour plus d’informations sur le câblage.
Setup de l’API
Le tableau ci--après présente la configuration des zones du Setup de l’API,
concernant l’utilisation des entrées d’interruption.
Mots
DM 6628
Bits
00 à 03
04 à 07
08 à 11
12 à 15
Fonction
Configuration
d’interruption pour
l’entrée 00003
Configuration
d’interruption pour
l’entrée 00004
Configuration
d’interruption pour
l’entrée 00005*
Configuration
d’interruption pour
l’entrée 00006*
0 : Entrée normale
Para-métrage
1
1 : Entrée d’interruption
(mode d’interruption ou
mode compteur)
2 : Entrée capture
Rem. *Les points d’entrée de 00005 et 00006 existent pour les unités centrales du
CPM2C ne comportant que 10 points d’entrée/sortie.
Les configurations seront effectives au changement de mode (passage du
mode PROGRAM au mode MONITOR/RUN) ou lorsque l’alimentation du
CPM2A/CPM2C est sur ON.
Programmation en
schéma à contacts
Le tableau suivant montre le fonctionnement des instructions par rapport à la
commande d’entrée d’interruption.
33
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
Instruction
Commande
(@)INT(89)
Masquage / non
masquage des entrées
d’interruption
Suppression des
entrées d’interruption
Lecture de l’état du
masque en cours
Masquage de toutes les
interruptions
Non masquage de
toutes les interruptions
2-1
Fonctionnement
Interdit ou autorise des interruptions
spécifiques.
Supprime la cause d’une entrée
d’interruption interdite.
Lit l’état d’autorisation/interdiction d’une
entrée d’interruption.
Interdit toutes les interruptions, y compris
les entrées d’interruption, les interruptions
par temporisations cycliques, les
compteurs à grande vitesse, etc.
Autorise toutes les interruptions, y compris
les entrées d’interruption, les interruptions
par temporisations cycliques, les
compteurs à grande vitesse, etc.
Masquage ou non masquage des entrées d’interruptions
Cette fonction est utilisée pour masquer ou ne pas masquer les numéros d’entrée de 00003 à 00006 (l’entrée d’interruption de 0 à 3).
(@)INT(89)
000
000
C2
Appellation de commande d’interruption
(000 : Masquage / non masquage des entrées d’interruption)
Fixé à 000.
Vérification des mots de données
Personnalise/mémorise 0
Personnalise l’entrée 00006 (entrée 3 d’interruption)
Personnalise l’entrée 00005 (entrée 2 d’interruption)
Personnalise l’entrée 00004 (entrée 1 d’interruption)
Personnalise l’entrée 00003 (entrée 0 d’interruption)
0 : Suppression du masque (entrée d’interruption autorisée)
1 : Définition du masque (entrée d’interruption interdite)
Toutes les entrées d’interruption sont interdites au début du fonctionnement (en
mode de PROGRAM ou en mode RUN/MONITOR). Pour utiliser des entrées
d’interruption, utiliser INT(89) l’autorisant.
Suppression des entrées d’interruption
Cette fonction est utilisée pour supprimer les nombres d’entrée de 00003 à
00006 (entrées d’interruption entre 0 à 3). Puisque des entrées d’interruption
sont enregistrées, les interruptions masquées sont traitées après que le masque soit enlevé, à moins qu’elles soient d’abord supprimées. Utiliser INT(89)
pour supprimer la cause des entrées d’interruption afin qu’elles ne soient pas
34
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
exécutées lorsque des entrées d’interruption sont autorisées (c.--à--d. lorsque le
masque est enlevé).
(@)INT(89)
001
000
C2
Appellation de commande d’interruption
(001 : Suppression des entrées d’interruption)
Fixé à 000.
Vérification des mots de données
Personnalise/mémorise 0
Personnalise l’entrée 00006 (entrée 3 d’interruption)
Personnalise l’entrée 00005 (entrée 2 d’interruption)
Personnalise l’entrée 00004 (entrée 1 d’interruption)
Personnalise l’entrée 00003 (entrée 0 d’interruption)
0 : Conserve la cause de l’entrée d’interruption
1 : Supprime la cause de l’entrée d’interruption
Une cause est enregistrée pour chaque entrée d’interruption, à chaque entrée
d’interruption masquées.
Lecture de l’état du masque en cours
Cette fonction est utilisée pour lire l’état du masque en cours pour les numéros
d’entrée de 00003 à 00006 (entrées d’interruption de 0 à 3).
(@)INT(89)
002
000
C2
Appellation de commande d’interruption
(002 : Lecture de l’état du masque en cours)
Fixé à 000
Vérification des mots de données
Personnalise/mémorise 0
Personnalise l’entrée 00006 (entrée 3 d’interruption)
Personnalise l’entrée 00005 (entrée 2 d’interruption)
Personnalise l’entrée 00004 (entrée 1 d’interruption)
Personnalise l’entrée 00003 (entrée 0 d’interruption)
0 : Masque supprimé (entrée d’interruption autorisée)
1 : Masque défini (entrée d’interruption interdite)
Masquage ou non masquage de toutes les interruptions
Cette fonction est utilisée pour masquer ou ne pas masquer tout traitement d’interruption, y compris les entrées d’interruption (mode entrée d’interruption et
mode compteur), les interruptions par temporisations cycliques et les compteurs à grande vitesse. Des entrées masquées sont enregistrées, mais ignorées.
35
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Masquage de toutes les interruptions
(@)INT(89)
1,0
000
000
Appellation de commande d’interruption
(1,0 : Masquage de toutes les interruptions)
Fixé à 000.
Fixé à 000.
Non masquage de toutes les interruptions
(@)INT(89)
200
000
000
Appellation de commande d’interruption
(200 : Non masquage de toutes les interruptions)
Fixé à 000.
Fixé à 000.
Le masquage ou le non masquage de toutes les interruptions peut ne pas être
exécuté dans un sous--programme d’interruption.
Si les causes pour des interruptions se produisent tandis que toutes les interruptions sont masquées, les causes seront enregistrées pour chaque interruption
mais le traitement d’interruption ne sera pas exécuté. Lorsque le “non masquage de toutes les interruptions” est exécuté, le traitement est alors suivi selon
l’état du masque d’interruption du moment.
Les masques d’interruption ne peuvent pas être supprimés simplement en exécutant le “non masquage de toutes les interruptions”. L’exécution du “non masquage de toutes les interruptions” restaure simplement l’état qui était effectif
avant l’exécution du “masquage de toutes les interruptions”.
Rem. INT(89) doit être utilisé d’abord avec le “masquage de toutes les interruptions”
puis avec le “non masquage de toutes les interruptions”.
Exemple de fonctionnement
Explication
Dans cet exemple, un sous--programme d’interruption est exécuté en basculant
l’entrée 00003 de l’état OFF à l’état ON. Le sous--programme d’interruption
ajoute 1 à DM 0000.
Câblage
Le schéma suivant montre le câblage d’entrée dans le CPM2A.
Périphérique
d’entrée
36
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Le schéma suivant montre le câblage d’entrée dans le CPM2C.
Bornier d’entrée
Connecteur d’entrée
Périphérique
d’entrée
Périphérique
d’entrée
Setup de l’API
15
DM 6628
0
0
0
0
1
L’entrée 00003 est utilisée comme entrée d’interruption
(les entrées 00004 à 00006 sont utilisées en tant qu’entrées normales).
Programmation
Sur ON pour 1 cycle au début
du fonctionnement
Efface la zone de l’incrément (DM 0000).
(89)
Autorise les interruptions pour l’entrée 0 d’interruption
(entrée 00003).
Toujours ON
Exécuté lorsque l’entrée 00003 passe de l’état
OFF à ON.
2-1-2 Interruptions par temporisation cyclique
Une temporisation cyclique (précision : 0,1 ms.) est maintenue et peut être
réglée de 0,5 ms à 319 968 ms. Il existe deux modes d’interruption : le mode à
une impulsion, pour lequel une interruption simple est exécutée lorsque la
37
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
période de temps est révolue, et le mode interruption planifiée pour lequel des
interruptions sont exécutées à intervalles réguliers.
Interruption par temporisation cyclique
Programme
normal
Sous--programme
Programme
d’interruption
FIN
Mode à une impulsion
Fonctionnement
Installation
Temps de
réponse de
l’interruption
Mode interruption planifiée
L’interruption est exécutée
L’interruption est exécutée à
lorsque le temps s’est écoulé.
intervalles réguliers.
0,5 à 316 968 ms (Unité : 0,1 ms)
0,3 ms (à partir du temps écoulé jusqu’ à l’exécution du
programme)
Le tableau suivant montre les liens entre les interruptions par temporisations
cycliques et les autres fonctions des API CPM2A/CPM2C.
Fonction
38
Commande d’impulsion synchronisée
Interruptions par temporisations
cycliques
Peut être utilisé simultanément
Entrées d’interruptions
Peut être utilisé simultanément
Interruptions par temporisations
cycliques
Compteur à grande vitesse
---
Entrées d’interruptions (mode
compteur)
Sorties d’impulsion
Peut être utilisé simultanément
Entrée de capture
Peut être utilisé simultanément
Constante de temps de sortie
Peut être utilisé simultanément
Horloge
Peut être utilisé simultanément
Peut être utilisé simultanément
Peut être utilisé simultanément
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Procédure pour l’emploi des interruptions par temporisations cycliques
Sélectionner le mode
L’un ou l’autre mode : mode à une impulsion ou mode à interruption
planifiée
Programmation en schéma à contacts
STIM(69)
Temporisation
cyclique
L’interruption est
exécutée
Programme en schéma à contacts
STIM(69)
Le sous--programme indiqué
est exécuté.
Instructions de
l’INTERVAL TIMER
SBN(92)
Début du temporisation
Mode à 1 impulsion
Mode interruption planifiée
RET(93)
Lecture du temps écoulé
Sélection du mode
Sélectionner l’un ou l’autre des modes, à une impulsion ou à interruption
planifiée.
Mode à une impulsion
programme normal
Programme normal
Programme d’interruption
Interruption par temporisation cyclique
Fonction temporisation cyclique
Début de la temporisation
Mode interruption planifiée
Programme normal
Programme d’interruption
Interruption par temporisation cyclique
Fonction temporisation cyclique
Début de la temporisation
Dans le mode interruption planifiée, la temporisation est remise à zéro chaque
fois que le programme d’interruption est appelé à la fin du temps écoulé et la
temporisation refonctionne.
39
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Faire attention au temps d’exécution du programme d’interruption et à l’interruption par temporisation cyclique planifiée. Lorsque le temps d’exécution du programme d’interruption excède la temporisation cyclique de l’installation, les
interruptions planifiées ne peuvent pas être correctement exécutées.
Programmation en
schéma à contacts
Le tableau suivant montre les fonctions d’instruction liées à la commande d’entrée d’interruption :
Instruction
Commande
(@)STIM(69)
Début de la
temporisation d’une
impulsion
Début de la
temporisation d’une
interruption planifiée
Lecture de la
temporisation de la PV
Arrêt de la temporisation
(@)INT(89)
Masquage de toutes les
interruptions
Non masquage de
toutes les interruptions
Fonctionnement
Commence la temporisation en mode à
une impulsion
Commence la temporisation cyclique en
mode interruption planifiée
Lit la temporisation de la PV
Arrête le fonctionnement de
temporisations
Interdit toutes les interruptions, y compris
les entrées d’interruption, les
interruptions par temporisation cyclique,
les compteurs à grande vitesse, etc.
Autorise toutes les interruptions, y
compris les entrées d’interruption, les
interruptions par temporisation cyclique,
les compteurs à grande vitesse, etc.
Début des temporisations
Cette fonction définit le mode (à une impulsion ou à interruption planifiée) et la
SV du temporisateur, et lance la temporisation cyclique.
Mode à une impulsion
(@)STIM(69)
000
C2
C3
Désignation de la commande
(000 : Début de la temporisation d’une impulsion)
Premier mot de la temporisation SV
Numéro de sous--programme (4 digits BCD : 0000 à 0049)
Mode interruption planifiée
(@)STIM(69)
003
C2
C3
Désignation de la commande
(003 : Début de la temporisation d’interruption planifiée)
Premier mot de la temporisation SV
Numéro de sous--programme (4 digits de BCD) : 0000 à 0049
C2
Décrémentation d’après la valeur initiale (4 digits Hex) : 0000 à 9999
C2+1
Décrémentation de la temporisation cyclique
(4 digits BCD ; unité : 0,1 ms) : 0005 à 0320 (0,5 à 32 ms)
L’intervalle à compter de l’exécution de STIM(69) jusqu’à l’écoulement de la
durée définie est calculé comme suit :
(Contenu de mot C2) x (Contenu des mots C2 + 1) x 0,1 ms
(0,5 à 319 968 ms)
Lorsqu’une constante est définie pour le C2, cette valeur est prise comme valeur
initiale pour la décrémentation, et la temporisation cyclique décrémentée commence à 10 (1 ms). La SV est simplement indiquée telle quelle, en unité ms).
40
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Lecture de la PV de la temporisation
Cette fonction lit les temporisations cycliques de la PV.
(@)STIM(69)
006
Désignation de la commande
(006 : Lecture de la temporisation de la PV)
C2
C3
C2
C2+1
C3
Le nombre de décrémentation de la temporisation
(4 digits Hex)
Intervalle de temps décrémenté
(4 digits BCD ; unité : 0,1 ms)
Temps écoulé depuis la dernière décrémentation
(4 digits BCD ; unité : 0,1 ms)
Arrêt de la temporisation
Cette fonction arrête la temporisation cyclique.
(@)STIM(69)
010
Désignation de la commande (010 : Arrêt temporisation)
000
Fixé : 000
Fixé : 000
000
Masquage ou non masquage de toutes les interruptions
Pour plus d’informations sur maquage / non masquage de toutes les interruptions, se reporter aux paragraphes 2-1-1 Entrées d’interruption et 7-12 Instructions commande d’interruption.
41
Chapitre
Fonctions d’interruption des CPM2A/CPM2C
2-1
Exemple de fonctionnement
Mode à une impulsion
Explication
Dans cet exemple, la temporisation commence lorsque l’état d’exécution
(00005) passe de OFF à ON. Lorsque le temps (approx. 1 s) s’est écoulé, le
sous--programme d’interruption est exécuté une fois. Lorsque le sous--programme d’interruption est exécuté, 1 est ajouté à DM 0000.
Temps écoulé : 100 x 100 x 0,1 = 1 000 ms
Programme
ON pour 1 cycle au début du
fonctionnement
Efface la zone de l’incrément (DM 0000).
Configuration de la décrémentation du
compteur
Compteur : 100 (0000 à 9999 BCD)
Configuration de l’intervalle de comptage
(69)
(Conditions
d’exécution)
Configuration de l’intervalle de
comptage : 10 ms (0005 à 0320
BCD)
Commence la temporisation cyclique en mode
à une impulsion.
Toujours ON
Exécute l’interruption qu’une
fois le temps écoulé.
42
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Mode interruption planifiée
Explication
Dans cet exemple, la temporisation commence lorsque l’état d’exécution
(00005) passe de OFF à ON. Le sous--programme d’interruption est exécuté à
chaque fois que le temps défini (approx. 1 s) est écoulé. A chaque fois que le
sous--programme d’interruption est exécuté, 1 est ajouté à DM 0000.
Temps écoulé : 100 x 100 x 0,1 = 1 000 ms
Programme
ON pour 1 cycle au début du
fonctionnement
Efface la zone de l’incrément (DM 0000).
Configuration de la décrémentation du compteur
Compteur : 100 (0000 à 9999 BCD)
Configuration de l’intervalle de comptage
(69)
(Conditions
d’exécution)
Configuration intervalle de
comptage :
10 ms (0005 à 0320 BCD)
Commence la temporisation cyclique
en mode interruption planifiée
Toujours ON
Exécute l’interruption à chaque fois
que le temps est écoulé
2-2
Compteurs à grande vitesse du CPM2A/CPM2C
Les unités centrales CPM2A et la plupart des unités centrales CPM2C ont cinq
points pour les compteurs à grande vitesse : un point pour un compteur à grande
vitesse avec une fréquence de réponse maximale de 20 kHz, et quatre points
pour des entrées d’interruption (mode compteur).
Les unités centrales des CPM2C avec 10 points d’entrée--sortie ont quatre
points pour les compteurs à grande vitesse : un point pour un compteur à grande
vitesse avec une fréquence de réponse maximale de 20 kHz, et trois points pour
des entrées d’interruption (mode compteur).
Compteurs à grande
vitesse
Compteur à
grande vitesse
Pas
d’interruptions
1 point
Interruptions
vérification
décompte
Entrées d’interruptions
(mode compteur)
4 points
(2 dans l’UC du CPM2C avec 10
points d’E/S)
de
de
Interruptions
de
comparaison de
valeur à atteindre
Interruptions de
comparaison de
plage.
Pas
d’interruptions
Décompte des
interruptions
43
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Le CPM2A/CPM2C fournit un compteur à grande vitesse intégré et les entrées
d’interruption intégrées.
Types de compteurs à
grande vitesse
Compteur à grande vitesse
Le compteur à grande vitesse intégré est un compteur basé sur les entrées intégrées aux points 00000 à 00002 de l’unité centrale. Le compteur à grande
vitesse possède lui--même un point, et il peut fournir une incrémentation/décrémentation ou simplement un décompte d’incrémentation selon le paramétrage
du mode.
Numéro
d’entrée.
(Voir Rem.)
00000
00001
00002
Fréquence
de réponse
5 kHz
20 kHz
Mode entrée
(valeur de décompte)
Mode entrée bidirectionnelle
(-8388608 à 8388607)
Mode entrée d’impulsion et de
sens
(-8388608 à 8388607)
Méthode de
commande
Interruptions de
comparaison
de
p
valeur à atteindre
Interruptions de
comparaison de plage
Mode entrée d’impulsion
avance/retour
(-8388608 à 8388607)
Mode incrément
(0 à 16777215)
Rem. Les points d’entrée non utilisés pour des entrées de décompte peuvent être utilisés en tant qu’entrées normales.
Entrées d’interruption (Mode compteur)
Les entrées d’interruption (mode compteur) sont des compteurs basés sur des
entrées aux points intégrées 00003 à 00006 de l’unité centrale (00003 à 00005
dans les unités centrales de CPM2C avec 10 points d’entrée--sortie). Ces
compteurs ont quatre points, et ils peuvent fournir un décompte d’incrémentation ou de décrémentation selon le paramétrage du mode. Puisque cette fonction utilise des entrées d’interruption pour le comptage, il est impossible d’utiliser les mêmes entrées pour d’autres entrées d’interruption.
Numéro
d’entrée
(Voir Rem.)
00003
00004
00005
00006
Rem.
Fréquence
de réponse
2 kHz
Mode d’entrée
(valeur de décompte)
Compteur
p
incrémental
(
(0000
à FFFF)
Méthode de
commande
Décompte
p des
i
interruptions
i
Compteur décrémental
(0000 à FFFF)
1. Les points d’entrée non utilisés pour des entrées de décompte sont utilisés en
tant qu’entrées normales.
2. Les points d’entrée 00005 et 00006 n’existent pas dans les UC de CPM2C avec
10 points d’E/S.
Interruptions de compteur à grande vitesse
Interruptions par le compteur à grande vitesse (Interruptions de vérification de décompte)
Interruptions de comparaison de valeur à atteindre
Le décompte actuel est comparé à chaque valeur à atteindre dans l’ordre de leur
enregistrement dans le tableau. Lorsque le décompte est identique à la valeur
courante à atteindre, un sous--programme d’interruption est exécuté. Jusqu’à
44
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
16 valeurs à atteindre et sous--programmes d’interruption peuvent être enregistrés dans le tableau dans le sens incrémental ou décrémental.
Décompte actuel
Valeurs à atteindre dans le
sens incrémental
Valeurs à atteindre dans le
sens décrémental
Correspond à la valeur à
atteindre pendant l’incrémentation du décompte
Correspond à la valeur à
atteindre pendant la décrémentation du décompte
Temps
Le traitement d’interruption peut être exécuté lorsque le décompte actuel atteint
une valeur à atteindre dans le sens incrémental ou décrémental.
Interruptions de comparaison de plage
Le tableau de comparaison de plage contient jusqu’à huit plages dont chacune
est définie par une limite inférieure et une limite supérieure, ainsi que par leurs
nombres correspondants de sous--programme. Le sous--programme correspondant est appelé et est exécuté lorsque le décompte courant (la PV du compteur) est inclus dans la plage indiquée.
Décompte de PV
Limite 1 supérieure
Limite 1 inférieure
Limite 2 supérieure
Limite 2 inférieure
Remplit la
condition 2 de
comparaison
de plage.
Remplit la
condition 1 de
comparaison
de plage.
Remplit la
condition 1 de
comparaison
de plage.
Remplit la
condition 2 de
comparaison
de plage.
Le traitement d’interruption s’exécute lorsqu’une condition de comparaison de plage est satisfaite. En outre, lorsque la PV du compteur est dans la plage entre une limite supérieure et une
limite inférieure, les bits correspondants (de 0 à 7) dans l’AR 11 seront activés.
Décompte des d’interruptions par les entrées d’interruption (mode compteur)
Un sous--programme d’interruption est exécuté chaque fois que la condition de
décompte de PV égale à la SV du compteur est remplie (en mode incrémental
mode) ou 0 (en mode décrémental).
45
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
2-2-1 Utilisation des compteurs à grande vitesse
L’unité centrale de CPM2A/CPM2C possède un canal intégré pour un compteur
à grande vitesse qui peut compter des entrées à une vitesse maximale de
20 kHz. Utiliser celui--ci en même temps que la fonction d’interruption permet de
lancer la commande de comparaison de valeur à atteindre ou de comparaison
de plage à exécuter sans déviation de la durée de cycle.
Entrées compteur
Entrée des mise à zéro
Capteur
Codeur rotatif
Mode entrée
Bidirectionnelle
Numéro
d’entrées
00000
Impulsion et sens
Entrée Phase-A
Entrée
Incrément
incrémental/décré
mental
Entrées CW
Entrée des
impulsions
Entrées CCW
Voir Rem. 1.
Entrées
d’impulsions
Entrée Phase-B
Entrées de
direction
Entrée Phase-Z (Entrée des mise à zéro) (Voir Rem. 1)
00001
00002
Méthode d’entrée
Fréquence de réponse
Entrée
bidirectionnelles
(4X)
5 kHz
Entrée des phases
Entrée des phases
Entrée des phases
Valeur du compteur
--8388608 to 8388607
20 kHz
20 kHz
20 kHz
Destination de stockage de PV de
décompte (Voir Rem. 2.)
Interruptions Comparaison de la
valeur à atteindre
Comparaison de
plages
Méthode de mise à zéro du
compteur
Mots de SR 248 (digit à l’extrême droite) et de SR 249 (digit à l’extrême gauche)
0 à 16777215
Jusqu’à 16 valeurs à atteindre et nombres de sous--programme d’interruption
peuvent être enregistrés dans le sens incrémental ou décrémental
Jusqu’à huit plages (avec des limites supérieures et inférieures) et nombres de
sous--programme peuvent être enregistrés.
Signal Phase--Z + remise à zéro par programme : Le compteur est remis à zéro si
l’IR 00002 est activé alors que le SR 25200 est déjà sur ON.
Remise à zéro par programme : Le compteur est remis à zéro lorsque le SR 25200
est activé.
Rem.
1. Les points d’entrée non utilisés pour des entrées de décompte peuvent être utilisés en tant qu’entrées normales.
2. S’ils ne sont pas utilisés pour la destination de stockage de PV de décomptes,
ces mots peuvent être utilisés en tant que mots IR normaux.
3. Le SR 25200 est lu une fois pour chaque cycle. Jusqu’à un cycle peut être exigé
pour qu’une remise à zéro se produise sur le bord de la phase Z.
Le tableau suivant montre les liens existant entre le compteur à grande vitesse
et les autres fonctions du CPM2A/CPM2C.
46
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Fonction
2-2
Commande d’impulsion synchronisée
Interruptions par temporisations
cycliques
inutilisable simultanément
Entrées d’interruptions
utilisable simultanément
Interruptions par temporisations
cycliques
Compteur à grande vitesse
utilisable simultanément
Entrées d’interruptions (mode
compteur)
Sorties d’impulsion
utilisable simultanément
Entrée de capture
utilisable simultanément
Constante de temps d’entrée
Voir Rem.
Horloge
utilisable simultanément
------
utilisable simultanément
Rem. Lorsque les entrées de 00000 à 00002 sont définies comme compteur à grande
vitesse, les constantes de temps d’entrée pour les entrées appropriées sont
désactivées.
Exemple de fonctionnement
Définir le mode d’entrée et la
méthode de réinitialisation
Mode d’entrée : Entrée bidirectionnelle, impulsion + entrée de direction, entrée
incrémental/décrémental, ou incrémentale
Méthode de réinitialisation : Phase--Z + réinitialisation par programme,
ou réinitialisation par programme
Aucune interruption (lecture de la PV du compteur à grande vitesse, ou
lecture des résultats de comparaison de plage)
Définir les interruptions à utiliser
Interruptions de comparaison de valeur à atteindre
Interruptions de comparaison de plage
Câblage des entrées
Numéros d’entrées : 00000, 00001, 00002
Configuration du compteur à grande vitesse
Lancer le Setup de l’API (DM 6642)
Mode d’entrée : Entrée bidirectionnelle, impulsion + entrée de direction, entrée
incrémental/décrémental, ou incrémentale
Méthode de réinitialisation : Phase--Z + réinitialisation par programme,
ou réinitialisation par programme
Créer un programme en
schéma à contacts
CTBL(63) : Enregistrer le tableau de comparaison, démarrage de la
comparaison
INI(61) : Changer la PV, démarrage de la comparaison
PRV(62) : Lire la PV du compteur à grande vitesse, lire la condition de comparaison du compteur à grande vitesse, lire les résultats de comparaison de plage.
SBN(92) et RET(93) : Créer le programme de sous--programme
d’interruption (lorsque les interruptions de vérification de
décompte sont utilisées).
47
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Fonction compteur
grande vitesse
Mode entrée
Entrées
codeur
2-2
Setup de l’API
DM 6642, bits 08 à 15
Génération des interruptions de vérification de décompte
Compteur
E* phase bidirectionnelle
Programmation en schéma à contacts
Impulsion et direction E*
Entréeincré./décré.
CTBL(63)
Entrée incrémentale
Instruction REGISTER
COMPARISON TABLE
Sous--programme indiqué exécuté
(lorsque les interruptions de vérification de décompte sont utilisés).
SBN(92)
Tableau de comparaison de registre
Comparaison de
démarrage
Setup de l’API
DM 6642, bits
00 à 03
INI(61)
Instruction MODE
COMMANDE
Changer la PV
RET(93)
Démarrage/arrêt de
comparaison
Chaque balayage
Chaque fois
PV du compteur
PRV(62)
SR 249 SR 248
Instruction LECTURE DE
LA PV DU COMPTEUR À
GRANDE VITESSE
Lire la PV
Résultats de comparaison de plage
AR 1100 à AR 1107
Lire l’condition de comparaison
Lire les résultats de comparaison de
plage
*E = entrée
Sélection du mode Entrée et de la méthode de réinitialisation
Mode entrée
Choisir le mode entrée pour le compteur à grande vitesse selon le type de signal.
Mode entrée bidirectionnelle
En mode entrée bidirectionnelle, le décompte est incrémenté ou décrémenté
selon deux signaux bidirectionnels avec une multiplication par 4 (phase A et
phase B).
Fréquence maximale : 5 kHz
ON
Phase A
OFF
ON
Phase B
OFF
Compteur
Nms ! Fréquence =
1 000
Nx4
48
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Mode implusion+signal d’entrée de direction
En mode implusion+signal d’entrée de direction, des signaux d’impulsion et les
signaux de sens sont enregistrés, et le décompte est incrémenté ou décrémenté selon l’état du signal de direction.
Fréquence maximale : 20 kHz
ON
Entrées
d’impulsions OFF
ON
Entrées de
sens
OFF
Compteur
1 000
Nms ! Fréquence =
N
Mode entrée d’impulsion avance/retour
En mode entrée d’impulsion avance/retour, les signaux CW (impulsions hautes)
et les signaux CCW (impulsions basses) sont enregistrés, et le décompte est
incrémenté ou décrémenté en conséquence.
Fréquence maximale : 20 kHz
ON
Entrées CW
OFF
ON
Entrées
CCW
OFF
Compteur
Incrémental
Nms ! Fréquence =
Décrémental
1 000
N
Mode incrémental
En mode incrémental, des signaux d’impulsion sont enregistrés et le décompte
est incrémenté avec chaque impulsion. L’IR 00001 peut s’utiliser comme entrée
normale.
Fréquence maximale : 20 kHz
ON
Entrées d’impulsions
OFF
Compteur
Nms ! Fréquence =
1 000
N
Lorsque le mode entrée bidirectionnelle est utilisé, les entrées doivent être les
entrées bidirectionnelles 4X. Lorsqu’un codeur est relié à ce mode, le nombre de
décomptes par révolution sera quatre fois la résolution du codeur incrémental.
Choisir un codeur en fonction du nombre de décomptes possibles.
Valeurs de décompte
La plage des nombres décomptés par le compteur à grande vitesse est seule-
49
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
ment en mode linéaire. Lorsque le décompte est en dehors de la plage permise,
un dépassement ou un dépassement négatif en résultera. La PV deviendra
0FFFFFFF si un dépassement se produit, ou FFFFFFFF si un dépassement
négatif se produit, et la comparaison sera arrêtée.
Mode entrée
bidirectionnelle
Mode impulsion+signal
d’entrée de direction
Mode entrée
d’impulsion
avance/retour
Mode incrémental
Dépassement
(0FFFFFFF)
Dépassement négatif
(FFFFFFFF)
Dépassement (0FFFFFFF)
Pour re--activer le décompte suivant un dépassement ou un dépassement
négatif, remettre à zéro la PV. La PV est automatiquement remise à zéro toutes
les fois que l’opération est commencée ou arrêtée.
Méthode de remise à zéro
L’une ou l’autre des deux méthodes suivantes peut être choisie pour remettre à
zéro la PV du compteur.
Signal de Phase-Z (Entrée de remise à zéro) + remise à zéro par programme
La PV est remise à zéro lorsqu’un signal de phase--Z (c.--à--d. une entrée de
remise à zéro) est activé tandis que le drapeau de remise à zéro du compteur à
grande vitesse (25200) est activé.
1 balayage
Phase Z
Remise à zéro
Remise à zéro
Pas de remise à zéro
Remise à zéro
Pas de remise à zéro
Remise à zéro par programme
La PV est remise à zéro lorsque le drapeau de remise à zéro du compteur à
grande vitesse (25200) est activé.
1 balayage
Remise à zéro
Pas de
remise
à zéro
Pas de
remise
à zéro
Pas de
remise
à zéro
Le drapeau de remise à zéro du compteur à grande vitesse (25200) est réactualisé à chaque balayage, ainsi il doit rester sur ON pendant au moins une durée
de cycle pour être certain qu’il soit lu.
Même lorsque la PV est remise à zéro, l’état répertorié au tableau de comparaison, l’état d’exécution de comparaison, et les résultats des comparaisons de
plage sont maintenus comme ils étaient avant la remise à zéro de la PV. Si une
comparaison était en cours avant la remise à zéro de la PV, cette comparaison
est poursuivie sans le changement après la remise à zéro.
Après la remise à zéro, le drapeau de remise à zéro du compteur à grande vitesse (25200) doit être arrêté afin de pouvoir exécuter la prochaine remise à zéro.
50
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Pour être certain qu’il soit arrêté, il doit être resté sur OFF pendant au moins une
durée de cycle.
Sélection des interruptions à utiliser
Interruption du compteur
de grande vitesse
Les interruptions du compteur à grande vitesse emploient un tableau de comparaison et exécutent un contrôle de décompte par l’une ou l’autre des méthodes
décrites ci--dessous (c.--à--d. comparaison de valeur à atteindre ou comparaison de plage). Si les conditions sont remplies, alors une interruption se produit.
Pour plus d’informations concernant les priorités d’interruption, se reporter à
l’ordre des priorités pour les interruptions dans le paragraphe 2--1 Interruptions.
Lorsqu’une interruption se produit pendant l’exécution d’une des instructions du
compteur, c.--à--d. C TBL(63), INI(61) ou PRV(62), ces instructions ne s’éxécutent pas dans le programme d’interruption.
Interruptions de comparaison de valeur à atteindre
Jusqu’à 16 combinaisons des états de comparaison (valeur à atteindre et sens
de décompte) et des nombres de sous--programme d’interruption peuvent être
répertoriées dans le tableau de comparaison. Le sous--programme indiqué est
exécuté lorsque la PV du compteur atteint une valeur du tableau de comparaison.
Tableau de comparaison
Valeur à atteindre : 5 000
Sens du décompte :
Incrémental
Nombre de sous-programme : 10
Valeur à atteindre : 1 000
Sens du décompte :
Incrémental
Nombre de sous-programme : 8
Valeur à atteindre : 3 000
Sens du décompte :
Décrémental
Nombre de sous-programme : 9
PV
Sens
incrémental
Sens
décrémental
Sens
incrémental
Temps
Interruption
8 Sous--programmes
exécutés
Interruption
10 Sous--programmes
exécutés
Interruption
9 Sous--programmes
exécutés
Le lien entre la vérification du décompte de la comparaison de la valeur à atteindre et le tableau de comparaison est différent pour le CPM1/CPM1A. Se reporter aux différents manuels pour plus de détails.
Il est impossible d’indiquer plus d’un état de sens de comparaison pour la même
valeur à atteindre dans le tableau de comparaison.
La comparaison de valeur à atteindre ou celle de la plage peut l’une ou l’autre
être utilisée pour des interruptions de compteurs à grande vitesse.
Interruptions de comparaison de plage
Jusqu’à 8 combinaisons des états de comparaison (limites supérieures et inférieures) et de nombres de sous--programme d’interruption peuvent être répertoriées dans le tableau de comparaison. Le sous--programme indiqué est exécuté
51
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
une fois que la PV du compteur est supérieur ou égal à la limite inférieure, et
inférieur ou égal à la limite supérieure dans le tableau de comparaison.
Tableau de comparaison
PV
Limite inférieure : 1 000
Limite supérieure : 4 000
Nombre de sous-programmes : 10
Limite inférieure : 3 000
Limite supérieure : 5 000
Nombre de sous-programmes : 9
Temps
Interruption
Interruption Interruption
Interruption
10 Sous-programmes
exécutés
9 Sous-9 Sous-programmes programmes
exécutés
exécutés
10 Sous-programmes
exécutés
Si deux états ou plus de comparaison sont satisfaits simultanément (dans le
même cycle), l’interruption pour l’état le plus proche du début du tableau de
comparaison sera exécutée.
La comparaison de valeur à atteindre ou celle de la plage peut s’utiliser pour des
interruptions de compteurs à grande vitesse.
Lorsqu’une interruption s’est produite pendant l’exécution d’une des instructions du compteur, c.--à--d. C TBL(63), INI(61) ou PRV(62), ces instructions ne
sont pas exécutées dans le programme d’interruption.
Si une interruption s’est produite pendant l’exécution d’une instruction commandant le compteur à grande vitesse dans la zone de programme normale, les instructions des CTBL(63), INI(61) et PRV(62), ne seront pas exécutées dans le
programme d’interruption. Cette situation peut être évitée par la programmation
suivante.
1ère méthode
2ème méthode
Interdire les interruptions
dans la zone de programme normale tout en
exécutant l’instruction.
Dans la zone de programme
normale, exécuter de nouveau l’instruction qui n’a pas
pu être exécutée.
Zone de programme normale
Zone de programme
d’interruption
Les sous--programmes de traitement d’interruption sont définis par SBN(92) et
RET(93), simplement comme des sous--programmes normaux.
Une erreur de SBS UNDEFD se produira pendant le contrôle de programme
lorsqu’un sous--programme de traitement d’interruption sera défini, mais l’exécution sera normale.
52
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Câblage des entrées
2-2
Câbler les entrées selon la représentation des illustrations suivantes, en fonction du mode d’entrée et de la méthode de remise à zéro.
Entrées CPM2A
Mode entrée bidirectionnelle
Mode entrée impulsion avance/retour
00000 : Entrée CW
00001 : Entrée CCW
00002 : Entrée de remise à zéro
00000 : Entrée Phase-A
00001 : Entrée Phase-B
00002 : Entrée Phase-Z
Mode entrée d’impulsion et de sens
00000 : Entrée d’impulsion
00001 : Entrée de sens
00002 : Entrée de remise à zéro
Mode incrémental
00000 : Entrée d’impulsion
00002 : Entrée de remise à zéro
Entrée CPM2C
Mode entrée bidirectionnelle
Bornier d’entrée
Connecteur d’entrées
00002 : Entrée phase-Z
00001 : Entrée phase-B
00000 : Entrée phase-A
00002 : Entrée phase-Z
00001 : Entrée phase-B
00000 : Entrée phase-A
53
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Mode entrée impulsion avance/retour
Bornier d’entrée
Connecteur d’entrées
00002 : Entrée de remise à zéro
00001 : Entrée CCW
00000 : Entrée CW
00002 : Entrée de remise à zéro
00001 : Entrée CCW
00000 : Entrée CW
Mode entrée d’impulsion et de sens
Connecteur d’entrées
Bornier d’entrée
00002 : Entrée de remise à zéro
00001 : Entrée de sens
00000 : Entrée d’impulsion
00002 : Entrée de remise à zéro
00001 : Entrée de sens
00000 : Entrée d’impulsion
Mode incrémental
Bornier d’entrée
Connecteur d’entrées
00002 : Entrée de remise à zéro
00000 : Entrée d’impulsion
00002 : Entrée de remise à zéro
00000 : Entrée d’impulsion
Lorsque les entrées phase--Z et de remise à zéro ne sont pas utilisées, 00002
peut être utilisé comme entrée normale.
54
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Setup de l’API
2-2
Définir les zones du Setup de l’API liées au compteur à grande vitesse comme
suit :
Utilisation du compteur
à grande vitesse
Mots
DM 6642
DM 6642, bits 08 à 15
Mode entrée
DM 6642, bits 00 à 03
Méthode de remise à zéro
(utilisation ou non de 00002
comme entrée normale)
DM 6642, bits 04 à 07
Bits
00 à 03
Fonction
Configuration du mode d’entrée compteur à
grande vitesse
Paramé-trage
0, 1, 2 ou 4
0 : Entrée bidirectionnelle
5 kHz
1 : Impulsion+signal d’entrée de direction
20 kHz
2 : Point incrémental/décrémental
20 kHz
4 : Incrémental
20 kHz
04 à 07
08 à 15
Configuration de la méthode de remise à
zéro du compteur à grande vitesse
0 : Signal phase Z + remise à zéro par
programme
1 : Remise à zéro par programme
Configuration de l’utilisation du compteur à
grande vitesse
0 ou 1
01
00 : Ne pas utiliser
01 : Utiliser comme compteur à grande
vitesse
02 : Utiliser comme commande de
synchronisation d’impulsion
(10 Hz à 500 Hz)
03 : Utiliser comme commande de
synchronisation d’impulsion
(20 Hz à 1 kHz)
04 : Utiliser comme commande de
synchronisation d’impulsion
(300 Hz à 20 kHz)
Les nouvelles configurations pour le Setup du système sont effectifs lorsque le
fonctionnement débute (lorsque le mode PROGRAM est changé en mode
MONITOR ou RUN), ou lorsque l’alimentation de CPM2A/CPM2C est rétablie.
55
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Programmation en
schéma à contacts
2-2
Le tableau suivant montre les instructions liées au compteur à grande vitesse :
Instruction
(@)CTBL(63)
(@)INI(61)
Commande
Répertorie le tableau de comparaison de
la valeur à atteindre
Répertorier le tableau
de comparaison de
plage et démarrage de
la comparaison
Début de comparaison
Répertorie le tableau de comparaison de
plage et démarre la comparaison
Arrêt de comparaison
Modifier la PV
(@)PRV(62)
(@)
( )
(@)INT(89)
Fonctionnement
Répertorier le tableau
de comparaison de la
valeur à atteindre
Répertorier le tableau
de comparaison de
plage
Répertorier le tableau
de comparaison des
valeurs à atteindre et
démarrage de la
comparaison
Répertorie le tableau de comparaison de
plage
Répertorie le tableau de comparaison
des valeurs à atteindre et démarre la
comparaison
Commence la comparaison avec le
tableau de comparaisons répertoriées
Arrête la comparaison
Lire la PV
Modifie la PV du compteur à grande
vitesse
Lit la PV du compteur à grande vitesse
Lire le status
Lit l’état du compteur à grande vitesse
Lire les résultats de
comparaison de plage
Masquer toutes les
interruptions
Lit les résultats de comparaison de plage
Ne pas masquer toutes
les interruptions
Interdit toutes les interruptions, y compris
les entrées d’interruption, les
interruptions par temporisation cyclique,
les compteurs à grande vitesse, etc.
Autorise toutes les interruptions, y
compris les entrées d’interruption, les
interruptions par temporisation cyclique,
les compteurs à grande vitesse, etc.
Le tableau suivant montre les zones de données liées à la commande de compteur à grande vitesse :
Mots
Bits
248
249
00 à 15
252
AR11
Dénomination
Contenu
PV du compteur
p
à grande
g
vitesse
i
Lit la PV du compteur
p
à
grande
d vitesse
i
00
Remise à zéro du compteur
à grande vitesse
Quand ce bit est activé, une
remise à zéro par
programme est déclenchée
pour le compteur à grande
vitesse.
00 à 07
Résultat de la comparaison
du compteur à grande
vitesse
Comparaison du compteur à
grande vitesse
PV dépassement/
dépassement négatif du
compteur à grande vitesse
ON : Condition satisfaite
OFF : Condition non
satisfaite
ON : Comparaison en cours
OFF : Comparaison arrêtée
ON : Dépassement/
dépassement négatif
OFF : Normal
00 à 15
08
09
Répertorier le tableau de comparaison de la valeur à atteindre
Répertorier le tableau de comparaison de la valeur à ateindre et démarre
la comparaison
Ces fonctions répertorient un tableau de comparaison du CPM2A/CPM2C pour
vérifier le décompte de la comparaison de la valeur à atteindre. Il est également
56
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
possible de commencer la comparaison en même temps que l’enregistrement
au répertoire.
Répertorier le tableau de comparaison de la valeur à atteindre
(@)CTBL(63)
000
002
S
Spécificateur de port (000 : Compteur à grande vitesse)
Désignation de mode (002 : Répertorie le tableau de
comparaison de la valeur à atteindre uniquement)
Début du mot du tableau de comparaison
Répertorier le tableau de comparaison de la valeur à atteindre et démarrer
la comparaison
(@)CTBL(63)
000
000
S
Spécificateur de port (000 : Compteur à grande vitesse)
Désignation de mode (000 : Répertorie le tabeau de comparaison de
la valeur à atteindre et démarre la comparaison)
Début du mot de la table de comparaison
Tableau de comparison de la valeur à atteindre
Nombre de comparaisons
0001 à 0016 BCD
Nombre de comparaisons
Valeur à atteindre 1
(extrême droite)
Valeur à atteindre 1
(extrême gauche)
Valeur à atteindre (extrême droite, extrême gauche)
Arrangement de la comparaison 1
N_ de sous--programme
Enregistrer la valeur du compteur à comparer.
Le digit à l’extrême gauche montre le signe (+/--).
Mode entrée bidirectionnelle
Valeur à atteindre 2
(extrême droite)
Valeur à atteindre 2
(extrême gauche)
Arrangement de la comparaison 2
Mode impulsion+signal d’entrée de direction
Mode entrée d’impulsions avance/retour
F8388608 à 08388607
Mode incrément
00000000 à 16777215
N_ de sous--programme
Nombre de sous--programme
Enregistrer le sens de la comparaison et du nombre de sous-programme à exécuter quand il y a une correspondance.
Sens d’incrément : 0000 à 0049
Sens de décrementation : F000 à F049
Il est impossible d’indiquer plus d’un état de sens de comparaison pour la même
valeur à atteindre dans le tableau de comparaison.
Une fois qu’un tableau de comparaison est enregistré, il sera répertorié dans le
CPM2A/CPM2C tant qu’aucun autre tableau de comparaison ne soient répertoririé et le mode n’est pas modifié en mode PROGRAM (et cela tant que l’alimentation n’est pas coupée).
Répertorier le tableau de comparaison de plage
Répertorier le tableau de comparaison de plage et démarrer la comparaison
Ces fonctions répertorient un tableau de comparaison du CPM2A/CPM2C afin
vérifier le calcul dans la comparaison de plage. Il est également possible de
démarrer la comparaison par l’enregistrement du registre.
Répertorier le tableau de comparaison de plage
(@)CTBL(63)
000
003
S
Spécificateur de port (000 : Compteur à grande vitessse)
Mode appellation (003 : Répertorie seulement le tableau de comparaison de plage).
Premier mot du tableau de comparaison
57
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Répertorier le tableau de comparaison de plage et démarrer la comparaison
(@)CTBL(63)
000
001
S
Spécificateur de port (000 : Compteur à grande vitesse)
Désignation de mode (001 : Répertorie le tableau de comparaison de plage et démarrer la comparaison)
Premier mot du tableau de comparaison
Tableau de comparaison de plage
Huit états de comparaison de plage se composant des limites supérieures
et inférieures, et les nombres de sous--programmes doivent être définis.
Limite inférieure 1 (droite)
Limite inférieure 1 (gauche)
Limite supérieure 1 (droite)
État 1 de comparaison de plage
Limites supérieures et inférieures (extrême droite, extrême gauche)
Répertorier les limites supérieures et inférieures.
Le digit à l’extrême gauche affiche le signe (+/--).
Limite supérieure 1 (gauche)
Mode entrée bidirectionnelle
Mode impulsion+signal d’entrée de direction
No de sous programme
Mode entrée d’impulsion avance/retour
F8388608 à 08388607
Mode incrémentation
00000000 à 16777215
Nombre de sous--programme
Répertorier le numéro de sous--programme à exécuter
quand l’condition de comparaison de plage est satisfaite.
Limite inférieure 8 (droite)
Limite inférieure 8 (gauche)
Limite supérieure 8 (droite)
0000 à 0049
État 8 de comparaison de plage
Si les valeurs d’ensemble n’atteignent pas 8, définir FFFF.
Limite supérieure 8 (gauche)
No de sous programme
Si deux états ou plus de comparaison sont satisfaits simultanément (dans le
même cycle), l’interruption pour l’état le plus proche du début du tableau de
comparaison sera exécutée.
Dès qu’un tableau de comparaison est enregistré, il est sauvegardé dans le
CPM2A/CPM2C tant qu’aucun autre tableau de comparaison ne sera enregistré et le mode n’est pas modifié en mode PROGRAM (et cela tant que l’alimentation n’est pas coupée).
La comparaison de démarrage/d’arrêt
La comparaison peut être démarrée ou arrêtée selon le tableau qui a été déjà
répertorié au CPM2A/CPM2C par CTBL(63).
Commencer la comparaison
(@)INI(61)
000
Spécificateur de port (000 : Compteur à grande vitesse)
000
Désignation de la commande (000 : Commencer la comparaison)
Fixé : 000
000
Arrêter la comparaison
(@)INI(61)
000
58
001
Spécificateur de port (000 : Compteur à grande vitesse)
Désignation de la commande (001 : Arrêter la comparaison)
000
Fixé : 000
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Changer la PV
Cette fonction modifie la PV du compteur à grande vitesse.
(@)INI(61)
000
Spécificateur de port (000 : Compteur à grande vitesse)
002
Désignation de commande (002 : Changer la Pv)
Premier mot des données de la PV à changer
C2
4 digits
à l’extrême droite
4 digits
à l’extrême gauche
C2
C2+1
Données de PV à changer (extrême droite et extrême gauche)
Répertorier les données de PV à changer.
Le digit à l’extrême gauche affiche le signe (+/--).
Mode entrée bidirectionnelle
Mode impulsion+signal d’entrée de direction
Mode entrée d’impulsion avance/retour
F8388608 à 08388607
Mode incrémentation
00000000 à 16777215
Aucune interruption ne se produira pendant une comparaison de valeur à atteindre même si la valeur à atteindre répertoriée dans le tableau de comparaison est
changée par INI(61).
Lire la PV
Cette fonction lit la PV du compteur à grande vitesse.
Utilisation d’une instruction
(@)PRV(62)
000
Spécificateur de port (000 : Compteur à grande vitesse)
000
Désignation de commande (000 : Lire la Pv)
Premier mot pour la mémorisation de la PV
C2
D
4 digits
à l’extrême droite
D+1
4 digits
à l’extrême gauche
PV (extrême droite et extrême gauche)
La PV lue sera mémorisée ici.
Le digit à l’extrême gauche affiche le signe (+/--).
Mode entrée bidirectionnelle
Mode impulsion+signal d’entrée de direction
Mode entrée d’impulsion avance/retour
F8388608 à 08388607
Mode incrémentation
00000000 à 16777215
Utilisation des régions de données
La PV du compteur à grande vitesse est sauvegardée dans les mots 248 et 249
comme montré ci--dessous.
SR 248
Pv (mot à l’extrême droite)
SR 249
Pv (mot à l’extrême gauche)
Les mots 248 et 249 sont rafraîchis avec chaque balayage, il peut donc y avoir
un écart avec la PV exacte à un moment donné.
Quand le compteur à grande vitesse n’est pas utilisé, les mots 248 et 249 peuvent être utilisés comme mots de travail.
Quand la PV est lue en exécutant PRV(62), les mots 248 et 249 sont rafraîchis
en même temps.
59
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Etat de lecture
Cette fonction lit l’état du compteur à grande vitesse, comme si une opération de
comparaison est en cours ou si un dépassement positif / négatif s’est produit
Utilisation d’une instruction
(@)PRV(62)
000
Spécificateur de port (000 : Compteur à grande vitesse)
001
Désignation de commande (001 : Etat lu)
D
Mot pour la mémorisation de l’état
Dépassement positif/négatif
0 : Normal
1 : Dépassement positif/négatif
Comparaison
0 : Arrêté
1 : En marche
Utilisation des zones de données
L’état est sauvegardé dans l’AR 1108 et l’AR 1109 comme montré ci--dessous.
Dépassement positif/négatif
0 : Normal
1 : Dépassement positif/négatif
Comparaison
0 : Arrêté
1 : En marche
L’AR 1108 et l’AR 1109 sont rafraîchis à chaque balayage, il peut donc y avoir un
écart avec l’état exact à un moment donné.
Lorsque l’état est lu en exécutant PRV(62), l’AR 1108 et l’AR 1109 sont rafraîchis en même temps.
Lire le résultat de comparaison de plage
Cette fonction lit le résultat d’une comparaison de plage montrant si la PV est, ou
non, dans la plage.
Utilisation d’une instruction
(@)PRV(62)
000
002
D
Spécificateur de port (000 : Compteur à grande vitesse)
Désignation de commande (002 : Lire le résultat de comparaison de
plage)
Premier mot pour mémoriser le résultat de comparaison de la plage
Atteint, avec la 1ère condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 2ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 3ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 4ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 5ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 6ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 7ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 8ème condition (0 : Non atteint ; 1 : Atteint)
60
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Utilisant des régions de données
Le résultat de comparaison de plage est sauvegardé dans l’AR 1100 jusqu’à
l’AR 1107, comme montré ci--dessous :
Atteint, avec la 1ère condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 2ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 3ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 4ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 5ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 6ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 7ème condition (0 : Non atteint ; 1 : Atteint)
Atteint, avec la 8ème condition (0 : Non atteint ; 1 : Atteint)
L’AR 1100 jusqu’à l’AR 1107 sont rafraîchis à chaque balayage, il peut donc y
avoir un écart avec le résultat exact de comparaison de plage de la PV à un
moment donné.
Lorsque le résultat de comparaison de plage est lu en exécutant PRV(62),
l’AR 1100 à l’AR 1107 sont rafraîchis en même temps.
Masquage/Non masquage de toutes les interruptions
Pour plus de détails concernant le masquage et le non masquage de toutes les
interruptions, se reporter au paragraphe 2--1--1 Entrées d’interruption.
Exemples d’applications
Comparaison de valeur à atteindre
Explication
Dans cet exemple, des sous--programmes spécifiques d’interruption sont exécutés en confrontant la PV du compteur à grande vitesse avec cinq valeurs de
consigne comme tableau de comparaison de valeur à atteindre. Pour chaque
interruption, les données en DM 0000 à DM 0004 sont incrémentées par un.
Câblage (CPM2A)
Orange
E6B2-CWZ6C
Codeur rotatif
Blanc
Noir
Bleu
Marron
61
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Câblage (CPM2C)
Bornes d’entrée
Bleu
Codeur rotatif
Marron
Orange
Blanc
Noir
Connecteur d’entrée
Bleu
Codeur rotatif
Marron
Orange
Blanc
Noir
Setup de l’API
15
DM 6642
0
0
1
0
0
0 : Entrée bidirectionnelle
0 : Remise à zéro par le signal de phase Z
+ remise à zéro par programme
01 : Utilisation comme compteur à grande vitesse
62
2-2
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Programmation
Sur ON pour 1 cycle au début
de l’opération
(71)
(63)
Repertorier le tableau de comparaison de valeur à atteindre et commencer
la comparaison
Compteur à grande vitesse
Répertorier le tableau de comparaison de valeur à atteindre et commencer la comparaison
Premier mot du tableau de comparaison
Nombre de comparaisons : 5
(92)
Val. à atteindre :
0001,000
Toujours ON
(38)
Comparaison 2
Comparaison 1
Increment, sous--programme 049
Val. à atteindre :
00003000
Comparaison 2
Increment, sous programme 040
Val. à atteindre :
00000000
(93)
Comparaison 3
Décrément, sous programme 010
(92)
Val. à atteindre :
00003000
Toujours ON
Comparaison 4
Décrément, sous programme 041
(38)
Comparaison 4
Val. à atteindre : Comparaison
00010000
Deécrément, sous programme 048
5
(93)
(92)
Toujours ON
(38)
Comparaison 5
(93)
(92)
Toujours ON
(38)
Comparaison 1
(93)
(92)
Toujours ON
(38)
Comparaison 3
(93)
(01)
63
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Comparaison de plage
Explication
Dans cet exemple, des sous--programmes d’interruption spécifiques sont exécutés en confrontant la PV du compteur à grande vitesse avec une plage de cinq
valeurs de consigne comme un tableau de comparaison de plage. A chaque
interruption, les données de DM 0000 à DM 0004 sont incrémentées par un.
Câblage (CPM2A)
Orange
E6B2-CWZ6C
Codeur rotatif
Blanc
Noir
Bleu
Marron
64
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Câblage (CPM2C)
Bornes d’entrée
Blue
Codeur rotatif
Marron
Orange
Blanc
Noir
Connecteur d’entrée
Bleu
Codeur rotatif
Marron
Orange
Blanc
Noir
Setup de l’API
15
DM 6642
0
0
1
0
0
0 : Entrée bidirectionnelle
0 : Remise à zéro par le signal de phaseZ
+ remise à zéro par programme
01 : Utilisation en tant que compteur à grande vitesse
65
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Programmation
Sur ON pour 1 cycle au début
de l’opération
(71)
(63)
Répertorier le tableau de comparaison de plage et commencer la comparaison
Compteur à grande vitesse
Répertorier le tableau de comparaison de plage et commencer la comparaison
Premier mot du tableau de comparaison
Limite inf : 9 000
(92)
Comparaison 1
Toujours ON
Limite sup : 10 000
(38)
Comparaison 1
Sous programme 040
Limite inf : 7 000
(93)
Comparaison 2
Limite sup : 8 000
(92)
Toujours ON
Sous programme 041
Limite inf : 3 000
(38)
Comparaison 2
Comparaison 3
Limite sup : -3 000
(93)
Sous programme 010
Limite inf : -8 000
(92)
Comparaison 4
Toujours ON
Limite sup : 7 000
(38)
Comparaison 3
Sous programme 042
Limite inf : -10 000
(93)
Comparaison 5
Limite sup : 9 000
(92)
Sous programme 043
Toujours ON
(38)
Comparaison 4
Comparaison 6
Non utilisée.
Comparaison 7
Non utilisée.
Comparaison 8
Non utilisée
(93)
(92)
Toujours ON
(38)
(93)
(01)
66
Comparaison 5
2-2
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
2-2-2 Entrées d’interruption en mode compteur
Les quatre entrées intégrées d’interruption de l’unité centrale du
CPM2A/CPM2C peuvent être utilisées en mode compteur comme entrées
jusqu’à 2 kHz. Ces entrées peuvent être utilisées pour incrémenter ou décrémenter des compteurs, déclenchant une interruption (c.--à--d. exécutant un
sous--programme d’interruption) lorsque le comptage atteint la valeur de consigne.
Entrée du
compteur
E* du compteur
Programme
normal
Programme
d’interruption
Sous-programme
*E = Entrée
Numéro
d’entrée
(Rem. 2)
00003
00004
Rem.
Compte
0 à 65535
(
(0000
à FFFF)
Numéro
Numéro de
d’interrup sous--program
tion
me (Note 3)
0
000
1
001
00005
2
002
00006
3
003
Frequence de
résponse
2 kHz
1. Les numéro d’entrée 00005 et 0006 ne peuvent pas être utilisés dans l’unité centrale du
CPM2C avec 10 points d’entrée--sortie.
2. Les numéros d’entrée 00003 à 0006 peuvent être utilisés pour n’importe laquelle des fonctions suivantes : les entrées d’interruption, les entrées d’interruption (en mode compteur) ou
les entrées de capture. Lorsqu’elles ne sont pas utilisées dans ces cas précis, elles peuvent
être utilisées en tant qu’entrées ordinaires.
3. Les numéros de sous--programme 000 à 003 sont les numéros de sous--programme pour
des programmes d’interruption commencés lorsque des entrées d’interruption ou le nombre
d’interruptions pour les entrées d’interruption (en mode compteur) sont générés. S’ils ne
sont pas utilisés à cette fin, ils peuvent être utilisés en tant qu’entrées ordinaires.
67
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
! Attention Bien que l’IORF(97) puisse être utilisé dans des sous--programmes d’interruption, faire attention à l’intervalle entre les exécutions d’IORF(97). Si l’IORF(97)
est exécuté trop fréquemment, une erreur fatale du système peut se produire
(FALS 9F), arrêtant l’opération. L’intervalle entre les exécutions d’IORF(97)
devrait être d’au moins 1,3 ms + le temps d’exécution total du sous--programme
d’interruption.
Le tableau suivant montre les rapports entre les entrées d’interruption (en mode
compteur) et d’autres fonctions des CPM2A/CPM2C :
Fonction
Commande d’impulsions
synchronisée
Entrées d’interruption
Rem.
68
Entrées d’interruption (mode
compteur)
Utilisable simultanément.
Voir Rem. 1.
Interruptions par temporisation
cyclique
Compteurs à grande vitesse
Utilisable simultanément.
Entrées d’interruption (mode
compteur)
Sorties d’impulsions
Voir Rem. 1.
Entrées à capture
Voir Rem. 1.
Constante de temps d’entrée
Voir Rem. 2.
Horloge
Utilisable simultanément.
Utilisable simultanément.
Utilisable simultanément.
1. Le même nombre d’entrée (de 00003 à 00006) ne peut pas être utilisé pour plus d’une des
fonctions suivantes : les entrées d’interruption, les entrées d’interruption (en mode compteur) ou les entrées de capture.
2. Lorsque les entrées 00003 à 00006 ne sont pas définies pour être utilisées comme entrées
d’interruption (en mode compteur), les constantes de temps d’entrée pour les entrées appropriées sont désactivées. Cependant, les constantes de temps d’entrée demeurent actives
pour rafraîchir les valeurs de la zone de relais d’entrée appropriée.
Compteurs à grande vitesse du CPM2A/CPM2C
Chapitre
2-2
Procédure pour l’utilisation des entrées d’interruption en mode compteur
Définir le numéro d’entrée
d’interruption.
Selectionner un compte à incrémentation ou à décrémentation.
Câbler les entrées.
Setup de l’API (DM 6628)
Créer un programme
en schéma à contacts
Numéro d’entrées : 00003 à 00006 (00003 ou 00004 pour les unités
centrales CPM2C avec 10 points d’entrée/sortie)
1 : Utiliser comme entrée d’interruption
(mode entrée d’interruption ou mode compteur)
INI(61) : Change la PV du compteur
INT(89) : Rafraichit la SV du compteur*
PRV(62) : Lit la PV du compteur
SBN(92) et RET(93) : Pour créer des sous--programmes d’interruption.*
*Utilisé seulement pour le nombre d’interruptions.
69
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
E* d’interrupt. (mode compteur)
Compteur (2 kHz) 0
2-2
Interruption générée
Sous--programme spécifié éxécuté (utilisé
seulement pour le nb d’interruptions)
Programme en schéma à contacts
SBN(92)
InstructionCOMMANDE
D’INTERRUPTION
INT(89)
Compteur (2 kHz) 1
RET(93)
Change la SV (incrémente/
décrémente)
Compteur (2 kHz) 2
SV Compteur
Compteur 0
Compteur 1
Compteur 2
Compteur 3
Compteur (2 kHz) 3
Setup de l’API
INI(61)
DM 6628
SR 240
SR 241
SR 242
SR 243
Instruction
COMMANDE DE MODE
Change la PV
Chaque balayage
SV Compteur
Compteur 0
Compteur 1
Compteur 2
Compteur 3
Configuration du numéro
d’entrée d’interruption
SR 244
SR 245
SR 246
SR 247
Immédiatement
Instruction
LECTURE DE LA PV
DU COMPTEUR À
PRV(62) GRANDE VITESSE
Lit la PV du compteur
Avec des entrées d’interruption en mode compteur, le sous--programme à exécuter est déterminé par l’interruption correspondant au numéro d’entrée.
Numéro d’entrée
Numéro d’interruption
Numéro de
sous--programme
00003
0
000
00004
1
001
00005*
2
002
00006*
3
003
Rem. *Les numéros d’entrées 00005 et 00006 ne peuvent pas être utilisés pour des
unités centrales CPM2C avec 10 points d’entrée--sortie.
Le même numéro d’entrée (de 00003 à 00006) ne peut pas être utilisé pour plus
d’une des fonctions suivantes : les entrées d’interruption, les entrées d’interruption (en mode compteur), ou les entrées de capture.
Choix de compteur à
incrémentation ou à
décrémentation
70
Un compteur à incrémentation ou à décrémentation peut être utilisé avec des
entrées d’interruption en mode compteur.
Mode compteur à incrémentation
Lorsque la valeur de consigne (SV) est rafraîchie, le comptage est incrémenté
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
depuis 0 et le sous--programme d’interruption est exécuté lorsque la valeur en
cours (PV) correspond à la SV.
PV
Le sous--programme est exécuté lorsque le compte
est croissant et que la PV est remise à 0.
SV
Incrémentation
Incrémentation
Temps
Interruption
Interruption
Retour
Sous--programme éxécuté.
Sous--programme éxécuté.
Mode compteur à décrémentation
Lorsque la valeur de consigne (SV) est rafraîchie, le compte est décrémenté
vers 0, et le sous--programme d’interruption est exécuté lorsque la valeur en
cours (PV) atteint 0.
PV
Le sous--programme est exécuté lorsque le compte
est croissant et que la PV est réinitialisée à SV.
SV
Décrémentation
Décrémentation
Temps
Interruption
Sous--programme éxécuté
Câblage des entrées
Interruption
Retour
Sous--programme éxécuté
Avec le CPM2A, câbler les bornes d’entrée comme montré dans l’illustration
suivante :
Entrée 00003 : Entrée d’interruption (Mode compteur) 0
Entrée 00004 : Entrée d’interruption (Mode compteur) 1
Entrée 00005 : Entrée d’interruption (Mode compteur) 2
Entrée 00006 : Entrée d’interruption (Mode compteur) 3
71
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Avec le CPM2C, câbler les bornes d’entrée comme montré dans l’illustration
suivante :
Bornes d’entrée
00004 : Entrée d’interruption (Mode compteur) 1
00003 : Entrée d’interruption (Mode compteur) 0
Connecteur d’entrée
00006 : Entrée d’interruption (Mode compteur) 3
00005 : Entrée d’interruption (Mode compteur) 2
00004 : Entrée d’interruption (Mode compteur) 1
00003 : Entrée d’interruption (Mode compteur) 0
Rem. Les entrées 00006 et 00005 ne
peuvent pas être utilisées avec
les unités centrales ayant
seulement 10 points d’entrée-sortie.
Setup de l’API
Le tableau suivant montre les configurations dans la zone de Setup de l’API liée
à l’utilisation d’entrée d’interruption :
Mot
DM 6628
Bits
00 à 03
04 à 07
08 à 11
12 à 15
Fonction
Configuration de
l’entrée
d’interruption
00003
Configuration de
l’entrée
d’interruption
00004
Configuration de
l’entrée
d’interruption
00005*
Configuration de
l’entrée
d’interruption
00006*
0 : Entrée normale
Paramétrage
1
1 : Entrée d’interruption
(Mode entrée d’interruption
ou mode compteur)
2 : Entrée à capture
Rem. *Les numéros d’entrées 00005 et 00006 ne peut pas être utilisés dans les unité
centrale CPM2C avec 10 points d’entrée--sortie.
La configuration sera effective lorsque le mode sera changé (de PROGRAM à
MONITOR/RUN) ou lorsque l’alimentation des CPM2A/CPM2C passera sur
ON.
72
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
Programmation en
schéma à contacts
2-2
Le tableau suivant montre les opérations d’instruction liées à la commande
d’entrée d’interruption (mode compteur) :
Instruction
(@)INT(89)
Commande
Fonctionnement
Rafraîchir la SV du
compteur à
incrémentation
Rafraîchir la SV du
compteur à
décrémentation
Masquer toutes les
interruptions
Régénère la SV du compteur et
commence le comptage incrémental.
Régénère la SV du compteur et
commence le comptage décrémental.
Démasquer toutes les
interruptions
(@)INI(61)
Changement de la PV
(@)PRV(62) Lecture de la PV
Interdit toutes les interruptions, dont les
entrées d’interruption, les interruptions par
temporisation cyclique, les compteurs à
grande vitesse, etc.
Autorise toutes les interruptions, dont les
entrées d’interruption, les interruptions de
temporisateur cyclique, les compteurs à
grande vitesse, etc.
Change la PV du compteur.
Lit la PV du compteur.
Les fonctions liées aux entrées d’interruption (en mode compteur) sont exécutées selon les zones de données montrées dans le tableau suivant :
Mot
Bits
240
00 à 15
241
00 à 15
242
00 à 15
243
00 à 15
244
00 à 15
245
00 à 15
246
00 à 15
247
00 à 15
Dénomination
Zone SV pour l’entrée d’interruption
(Compteur mode) 0
Zone SV pour l’entrée d’interruption
(Compteur mode) 1
Zone SV pour l’entrée d’interruption
(Compteur mode) 2
Zone SV pour l’entrée d’interruption
(Compteur mode) 3
Zone PV pour l’entrée d’interruption
(Compteur mode) 0
Zone PV pour l’entrée d’interruption
(Compteur mode) 1
Zone PV pour l’entrée d’interruption
(Compteur mode) 2
Zone PV pour l’entrée d’interruption
(Compteur mode) 3
Contenu
Mémorise la
valeur de
consigne du
compteur (SV).
Mémorise la
valeur en cours
du compteur
(PV).
Rafraîchissement de la SV du compteur à incrémentation / Rafraîchissement de la SV du compteur à décrémentation
Ces fonctions mémorisent les valeurs de consigne du compteur dans des zones
de données et les régénèrent au moyen d’INT(89). De cette façon, elles commencent l’opération de compte pour des entrées d’interruption (en mode compteur) et elles permettent des interruptions.
Mémorisation des valeurs de consigne dans des zones de données
Les valeurs de consigne du compteur sont mémorisées dans les mots 240, 241,
242 et 243.
SR 240
SV pour les entrées d’interruption (mode compteur) 0 : 0000 à FFFF
SR 241
SV pour les entrées d’interruption (mode compteur) 1 : 0000 à FFFF
SR 242
SV pour les entrées d’interruption (mode compteur) 2 : 0000 à FFFF
SR 243
SV pour les entrées d’interruption (mode compteur) 3 : 0000 à FFFF
73
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Démarrage de la fonction de comptage et autorisation d’interruptions
Compteur à incrémentation
(@)INT(89)
004
000
C2
Intitulé de la commande d’interruption
(004 : Rafraîchit la SV du compteur à incrémentation)
Fixe : 000
Mot de donnée de commande
Compteur à décrémentation
(@)INT(89)
003
000
C2
Intitulé de la commande d’interruption
(003 : Rafraîchit la SV du compteur à décrémentation)
Fixe : 000
Mot de donnée de commande
Spécifier et mémoriser 0
Spécifier l’entrée d’interruption (Compteur mode) 3
Spécifier l’entrée d’interruption (Compteur mode) 2
Spécifier l’entrée d’interruption (Compteur mode) 1
Spécifier l’entrée d’interruption (Compteur mode) 0
0 : Rafraîchit la SV
1 : Ne rafraîchit pas la SV
Rem. Lorsque l’INT(89) est exécuté pour masquer des interruptions pendant l’opération de comptage (intitulé de la commande d’interruption 000), l’opération de
comptage est arrêtée et la PV du compteur est remise à zéro. Pour utiliser le
compteur à nouveau, recommencer l’opération de comptage comme décrit ci-dessus.
Changement de la PV
Cette fonction rafraîchit la valeur en cours du compteur (PV).
(@)INT(89)
P
002
C2
Spécificateur de port (100. 102, 102, 103 : Entrées d’interruption (Mode compteur 0 à 3)
Intitulé de la commande (002 : Change la PV)
Changer le mot de donnée de la PV
C2
Changer la donnée de la PV
Enregistre la donnée de la PV à changer.
0000 à FFFF
Lecture de la PV
Cette fonction lit la valeur en cours du compteur (PV).
74
Chapitre
Compteurs à grande vitesse du CPM2A/CPM2C
2-2
Utilisation d’une instruction
(@)PRV(62)
P
000
D
Spécificateur de port (100. 102, 102, 103 : Entrées d’interruption (Mode compteur 0 à 3)
Intitulé de la commande (000 : Lire la PV)
Mot pour mémoriser la PV
D
Lire la donnée de la PV
La PV lue est mémorisée ici.
0000 à FFFF
Utilisation des zones de données
La valeur en cours du compteur à grande vitesse (PV) est mémorisée dans les
mots SR 244 à SR 247 comme montré ci--dessous :
SR 244
PV
Entrée d’interruption (Mode compteur) 0
SR 245
PV
Entrée d’interruption (Mode compteur) 1
SR 246
PV
Entrée d’interruption (Mode compteur) 2
SR 247
PV
Entrée d’interruption (Mode compteur) 3
Les mots SR 244 à SR 247 sont rafraîchis à chaque balayage, il peut donc y
avoir une anomalie par rapport à la PV exacte à un moment donné.
Les mots SR 244 à SR 247 ne peuvent pas être utilisés comme mots de travail
même lorsque les entrées d’interruption (en mode compteur) ne sont pas utilisées.
Lorsque la PV est lue en exécutant PRV(62), les mots 244 à 247 sont rafraîchis
en même temps.
Masquage/démasquage de toutes les interruptions
Pour plus d’information concernant le masquage et démasquage de toutes les
interruptions, se reporter au paragraphe 2-1-1 Entrées d’interruption.
Exemple d’application
Explication
Dans cet exemple, la PV est décrémentée chaque fois que l’entrée 00003 passe
sur ON et DM 0000 est incrémenté de 1 par un sous--programme d’interruption
toutes les 100 fois (64 Hex) que cette entrée 00003 passe sur ON.
Câblage
Le schéma suivant montre le câblage d’entrée dans le CPM2A.
Périphérique d’entrée
75
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Le schéma suivant montre le câblage d’entrée dans le CPM2C.
Bornes d’entrée
Connecteur d’entrée
Périphérique d’entrée
Périphérique d’entrée
Setup de l’API
15
DM 6628
0
0
0
0
1
Indique le bit 00003 comme entrée d’interruption (en mode compteur). Les entrées 00004 à 00006 sont utilisées comme entrées
ordinaires.
Programmation
Sur ON pour 1 cycle au début
du fonctionnement
Efface la zone d’incrément (DM 0000).
Configuration du compteur à décrémentation
SV du compteur : 64 Hex (100 fois)
Mémorise la SV dans le mot 240.
(89)
Démarre le compteur avec le bit 00003 comme
entrée d’interruption (Mode compteur).
Rafraîchit la SV du compteur (Compteur à décrémentation).
Toujours 000.
Indique le bit 00003 (les autres sont masqués).
Exécuté une fois lorsque la valeur de consigne est atteinte.
2-3
Fonctions d’interruption du CPM1/CPM1A
Ce chapitre explique les configurations et les méthodes pour l’utilisation des
fonctions d’interruption du CMP1/CPM1A.
2-3-1 Types d’nterruptions
Le CPM1/CPM1A a trois types de traitement d’interruptions décrits ci-dessous.
76
Fonctions d’interruption du CPM1/CPM1A
Chapitre
2-3
Entrée d’interruption
Les API du CPM1/CPM1A ont deux ou quatre entrées d’interruption. Le traitement d’interruption est exécuté quand l’une de ces entrées est passée sur ON
depuis une source extérieure.
Interruptions par temporisation cyclique
Le traitement d’interruption est exécuté par une temporisation cyclique avec
une précision de 0,1 ms.
Interruptions des compteurs à grande vitesse
Le compteur à grande vitesse compte des entrées d’impulsion dans l’un des bits
00000 à 00002 de l’unité centrale. Le traitement d’interruption est exécuté
quand le comptage atteint la valeur de consigne d’un compteur à grande vitesse
intégré.
Priorité d’interruption
Lorsqu’une interruption se produit, le programme de traitement d’interruption
indiqué est exécuté. Les interruptions ont le niveau de priorité suivant :
Entrées d’interruption > Interruptions cycliques = Interruptions de compteur
à grande vitesse
Lorsqu’une interruption avec une priorité plus élevée est reçue pendant le traitement d’interruption, les traitements courants sont arrêtés et l’interruption nouvellement reçue est traitée à la place. Dès que le programme a été complètement exécuté, le traitement de l’interruption précédente est repris.
Lorsqu’une interruption avec une priorité inférieure ou égale est reçue pendant
le traitement d’interruption, elle est traitée dès que l’interruption actuellement
traitée est complètement exécutée.
Lorsque deux interruptions avec une priorité égale sont reçues en même temps,
elles sont exécutées dans l’ordre suivant :
Entrée d’interruption 0 > Entrée d’interruption 1 > Entrée d’interruption 2 >
Entrée d’interruption 3
Interruption cyclique > Interruption de compteur à grande vitesse
Conseils d’utilisation des
programmes d’interruption
1, 2, 3...
Observer les conseils d’utilisation suivants lors de l’utilisation de programmes
d’interruption :
Une nouvelle interruption peut être définie dans un programme d’interruption. En outre, une interruption peut être effacée dans un programme d’interruption.
Un autre programme d’interruption ne peut pas être écrit dans un programme d’interruption.
Un sous-programme ne peut pas être écrit dans un programme d’interruption. Ne pas écrire une instruction SUBROUTINE DEFINE, SBN(92), dans
un programme d’interruption.
Un programme d’interruption ne peut pas être écrit dans un sous-programme. Ne pas écrire un programme d’interruption entre une instruction
SUBROUTINE DEFINE (SBN(92)) et une instruction RETURN (RET(93)).
Les entrées utilisées comme interruption ne peuvent pas être utilisées comme
entrées normales.
Instructions et
interruptions de compteur
à grande vitesse
Les instructions suivantes ne peuvent pas être exécutées dans un sous-programme d’interruption quand une instruction qui commande les compteurs à
grande vitesse est exécutée dans le programme principal :
INI(61), PRV(62) ou CTBL(63)
77
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Les méthodes suivantes peuvent être utilisées pour éviter cette limitation :
Méthode 1
Tout traitement d’interruption peut être masqué lorsque l’instruction est exécutée.
@INT(89)
1,0
000
000
INI(61)
000
000
000
@INT(89)
200
000
000
Méthode 2
Exécuter l’instruction de nouveau dans le programme principal.
1, 2, 3...
Voici la section de programme du programme principal :
@PRV(62)
000
002
DM 0000
LR 0000
CTBL(63)
000
000
DM 0000
RSET LR 0000
Voici la section de programme du sous-programme d’interruption :
SBN(92) 000
25313
@CTBL(63)
000
000
DM 0000
25503
Rem.
78
LR
0000
1. Définir les programmes d’interruption à la fin du programme principal avec les instructions
SBN(92) et RET(93), comme des sous-programmes normaux.
2. Lors de la définition d’un programme d’interruption, une erreur de “SBS UNDEFD” se produira pendant l’opération de contrôle du programme, mais le programme sera exécuté normalement.
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
2-3-2 Entrées d’interruption
Les unités centrales à 10 points (CPM1-10CDR-j et CPM1A-10CDR-j) ont
deux entrées d’interruption (00003 et 00004).
Les unités centrales à 20, 30 et 40 points (CPM1-20CDR-j, CPM1A-20CDRj, CPM1-30CDR-j(-V1), CPM1A-30CDR-j et CPM1A-40CDR-j) ont quatre entrées d’interruption (00003 à 00006).
Il existe deux modes pour des entrées d’interruption : le mode d’entrée d’interruption et mode compteur.
Les API de CPM1
00004
00003
00004
00005
00006
UC 20 et 30 points (CPM1-20CDR-j et
CPM1-30CDR-j(-V1))
00003
UC 10 points
(CPM1-10CDR-j)
NC
24VDC
Les API de CPM1A
UC 20n 30 et 40 points
(CPM1A-20CDR-j, CPM1A-30CDR-j et
CPM1A-40CDR-j)
UC 10 points
(CPM1A-10CDR-j)
UC
Entrée
Numéro
d’interrup
d’i
tion
CPM1-10CDR-j
CPM1A 10CDj j
CPM1A-10CDj-j
00003
00
00004
01
CPM1-20CDR-j
CPM1A 20CDj j
CPM1A-20CDj-j
00003
00
00004
01
CPM1-30CDR-j(-V1)
CPM1
30CDR j( V1)
CPM1A-30CDj-j
CPM1A
30CDj j
00003
02
CPM1A-40CDj-j
00004
03
Temps de réponse
Mode
d’interruption
0,3
, ms max.
Mode compteur
1 kHz
(Temps jusqu
jusqu’à
à
la fn
d’exécution du
programme
p g
d’interruption)
Rem. Si des entrées d’interruption ne sont pas utilisées, utiliser les entrées 00003 à
00006 en tant qu’entrées courantes.
Configuration de l’entrée
d’interruption
Les entrées 00003 à 00006 doivent être définies comme entrées d’interruption
en DM 6628 lorsqu’elles doivent être utilisées pour des entrées d’interruption
dans le CPM1/CPM1. Définir le digit correspondant à 1 lorsque l’entrée doit être
utilisée comme entrée d’interruption (entrée d’interruption ou mode compteur) ;
la définir à 0 lorsqu’elle doit être utilisée comme entrée courante.
79
Chapitre
Fonctions d’interruption du CPM1/CPM1A
Mot
Paramétrage
DM 6628
0 : Entrée normale (paramètre par
défaut)
1 : Entrée d
d’interruption
interruption
2 : Entrée à capture
Bit 15
2-3
0
DM 6628
Configuration pour l’entrée 00006 : Défini à 1
Configuration pour l’entrée 00005 : Défini à 1
Configuration pour l’entrée 00004 : Défini à 1
Configuration pour l’entrée 00003 : Défini à 1
00003 à 0006 sont les numéros d’interruption assignés 000 à 003 et appellent
les sous-programmes 000 à 003. Si les entrées d’interruption ne sont pas utilisées, les sous-programmes 000 à 003 peuvent être utilisés comme sous-programmes normaux.
Sous-programmes
d’interruption
Numéro d’entrées
Rafraîchissement d’entrée
Numéro
d’interruption
00003
0
Numéro de
sous-programme
000
00004
1
001
00005
2
002
00006
3
003
Si le rafraîchissement d’entrée n’est pas utilisé, l’état du signal d’entrée dans le
programme d’interruption ne sera pas fiable. Selon la constante de temps d’entrée, les signaux d’entrée pourraient ne pas continuer même si le rafraîchissement d’entrée est utilisé. Ceci inclut l’état du bit d’entrée d’interruption ayant
activé l’interruption.
Par exemple, IR 00000 ne serait pas sur ON dans un programme d’interruption
pour l’entrée d’interruption 0 à moins qu’elle ait été rafraîchie. Dans ce cas, utiliser le drapeau Toujours ON, SR 25313 dans programme d’interruption au lieu
d’IR 00000.
Mode entrée d’interruption
Lorsqu’un signal d’entrée d’interruption est reçu, le programme principal est
interrompu et le programme d’interruption est exécuté immédiatement, indépendamment du point dans le cycle où l’interruption est reçue. Le signal doit être
sur ON pour 200 " ou plus pour être détecté.
Programme principal
Programme principal
Programme d’interruption
Entrée d’interruption
Utiliser les instructions suivantes pour programmer des entrées d’interruption
en utilisant le mode entrée d’interruption.
80
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Masquage/démasquage des interruptions
Avec l’instruction INT(89), définir ou effacer les masques d’entrée d’interruption
comme requis.
(@)INT(89)
000
Configurer avec le mot D des bits 0 à 3, correspondant aux
entrées d’interruption 0 à 3.
0 : Masque effacé (entrée d’interruption activée).
000
1 : Masque défini (entrée d’interruption désactivée).
D
Toutes les entrées d’interruption sont masquées quand le fonctionnement de
l’API commence. Si le mode d’entrée d’interruption est utilisé, s’assurer de permettre les entrées en exécutant INT(89) comme montré ci-dessus.
Effacement des interruptions masquées
Si le bit correspondant à une entrée d’interruption passe sur ON alors qu’il est
masqué, cette entrée d’interruption sera enregistrée dans la mémoire et exécutée dès que le masque sera effacé. Afin que cette entrée d’interruption ne soit
pas exécutée quand le masque est effacé, l’interruption doit être effacée de la
mémoire.
Seul un signal d’interruption sera sauvé dans la mémoire pour chaque numéro
d’interruption.
Avec l’instruction INT(89), effacer l’entrée d’interruption de la mémoire.
Si les bits D 0 à 3, correspondant aux entrées d’interruption 0 à
3, sont définis à “1”, alors les entrées d’interruption seront effacées de la mémoire.
(@)INT(89)
001
000
0 : Entrée d’interruption conservée.
D
1 : Entrée d’interruption effacée.
Lecture de l’état du masque
Avec l’instruction INT(89), lire l’état du masque de l’entrée d’interruption.
L’état du digit à l’extrême droite des données enregistrées dans
le mot D (bits 0 à 3) indique l’état du masque.
(@)INT(89)
002
0 : Masque effacé (entrée d’interruption activée).
000
1 : Masque défini (entrée d’interruption désactivée).
D
Exemple de programme
Lorsque l’entrée 00003 (interruption numéro 0) est sur ON, le traitement se
déplace immédiatement au programme d’interruption avec le sous-programme
numéro 000. Les entrées pour DM 6628 ont été définies à 0001.
25315 Premier drapeau de cycle
Sur ON pour 1 cycle
@INT(89)
000
Masquage/démasquage des entrées d’interruption.
000
#000E
SBN(92)
Démasque 00003 (entrée d’interruption 0), masque
les autres.
000
Programme d’interruption
RET(93)
Mode compteur
Les entrées de signal externes sont comptées à grande vitesse et une interruption est produite quand le comptage atteint la valeur de consigne. Quand une
81
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
interruption est générée, le programme principal est interrompu et le programme d’interruption est exécuté. Des signaux jusqu’à 1 kHz peuvent être
comptés.
Programme principal
Programme principal
Programme d’interruption
Entrée d’interruption
Valeur de consigne
Utiliser les étapes suivantes pour programmer des entrées d’interruption en utilisant le mode compteur.
1, 2, 3...
Ecrire les valeurs de consigne pour le fonctionnement du compteur aux
mots SR montrés dans le tableau suivant. Les valeurs de consigne sont
écrites entre 0000 et FFFF (0 à 65 535). Une valeur de 0000 neutralise
l’opération de comptage jusqu’à ce qu’une nouvelle valeur soit définie et
l’étape 2, ci-dessous, est répétée.
Interruption
Mot
Entrée d’interruption 0
SR 240
Entrée d’interruption 1
SR 241
Entrée d’interruption 2
SR 242
Entrée d’interruption 3
SR 243
Les mots SR utilisés dans le mode compteur (SR 240 à SR 243) contiennent des données hexadécimales, pas BCD. Si le mode compteur n’est pas
utilisé, ces mots peuvent être utilisés comme bits de travail.
Rem. Ces mots SR sont effacés au début de l’opération et doivent être
écrits par le programme.
Avec l’instruction INT(89), rafraîchir la valeur de consigne du mode compteur et permettre les interruptions.
(@)INT(89)
003
000
D
Si les bits D 0 à 3, correspondant aux entrées d’interruption
0 à 3, sont définis à “0”, alors la valeur de consigne sera
rafraîchie et les interruptions seront autorisées.
0 : Valeur de consigne du mode compteur rafraîchie et
masque effacé.
1 : Non rafraîchie.
S’assurer de placer le bit correspondant à 1, si une entrée d’interruption
n’est pas commandée.
L’entrée d’interruption pour laquelle la valeur de consigne est rafraîchie sera
permise en mode compteur. Quand le compteur atteint la valeur de consigne,
une interruption se produira, le compteur sera remis à zéro et comptage/interruptions continueront jusqu’à ce que le compteur soit arrêté.
Rem.
82
1. Si l’instruction INT(89) est utilisée pendant le comptage, la valeur en cours (PV) reviendra à
la valeur de consigne (SV). La forme différenciée de l’instruction doit être utilisée ou une
interruption ne peut jamais se produire.
2. La valeur de consigne sera définie lors de l’exécution de l’instruction INT(89). Si des interruptions sont déjà en fonction, alors la valeur de consigne ne sera pas changée juste en changeant le contenu de SR 240 à SR 243, c.--à--d. si le contenu est changé, la valeur de consigne
doit être rafraîchie en exécutant de nouveau l’instruction INT(89).
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Des interruptions peuvent être masquées en utilisant le même processus
qu’avec le mode d’entrée d’interruption, mais si les interruptions masquées son
effacées en utilisant le même processus, les interruptions fonctionneront en
mode d’entrée d’interruption et non en mode compteur.
Les signaux d’interruption reçus pour des interruptions masquées peuvent également être effacés en utilisant le même processus que pour le mode d’entrée
d’interruption.
PV du compteur en mode compteur
Quand des entrées d’interruption sont utilisées en mode compteur, la PV du
compteur sera mémorisée dans le mot SR correspondant aux entrées d’interruption 0 à 3. Les valeurs sont 0000 à FFFE (0 à 65 534) et égaleront la PV du
compteur moins un.
Interruption
Mot
Entrée d’interruption 0
SR 244
Entrée d’interruption 1
SR 245
Entrée d’interruption 2
SR 246
Entrée d’interruption 3
SR 247
Exemple : La valeur en cours pour une interruption dont la valeur de consigne
est 000A sera enregistrée en tant que 0009 juste après qu’INT(89) soit exécutée.
Rem. Même si des entrées d’interruption ne sont pas utilisées dans le mode compteur,
ces bits SR ne peuvent pas être utilisés comme bits de travail.
83
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Exemple de programme
Lorsque l’entrée 00003 (numéro d’interruption 0) passe 10 fois à l’état ON, le
fonctionnement se déplace immédiatement au programme d’interruption avec
le sous-programme numéro 000. Le tableau suivant montre où les valeurs de
consigne et les valeurs en cours du compteur --1 sont mémorisées. Les entrées
pour DM 6628 sont définies à 0001.
Interruption
Mot contenant SV
Entrée 00003
(entrée d’interruption 0)
Entrée 00004
(entrée d’interruption 1)
Entrée 00005
(entrée d’interruption 2)
Entrée 00006
(entrée d’interruption 3)
SR 240
Mot contenant
PV--1
SR 244
SR 241
SR 245
SR 242
SR 246
SR 243
SR 247
25315 Premier drapeau de cycle
Sur ON pour 1 cycle
MOV(21)
#000A
Définit la SV à 10 (0000 à FFFF)
240
Mot contenant la SV (SR 240)
003
Rafraîchir les SV du compteur.
@INT(89)
000
#000E
SBN(92)
Rafraîchit la SV de 00003 (entrée d’interruption 0)
seulement.
000
Programme d’interruption
RET(93)
2-3-3 Masquage de toutes les interruptions
Toutes les interruptions, y compris les entrées d’interruption, les interruptions
par temporisation cyclique et les interruptions de compteur à grande vitesse,
peuvent être masquées ou non en tant que groupe au moyen de l’instruction
INT(89). Ce masquage est en supplément de tous les masques sur les différents types d’interruptions individuelles. En outre, effacer les masques pour que
toutes les interruptions n’efface pas les masques pour les types d’interruptions
individuelles, mais les réactualise aux conditions masquées qui existaient avant
qu’INT(89) soit exécutée pour les masquer en tant que groupe.
Ne pas utiliser INT(89) pour masquer des interruptions à moins qu’il soit necessaire de masquer temporairement toutes les interruptions et toujours utiliser les
instructions INT(89) par paires pour le faire, en utilisant la première instruction
INT(89) pour masquer la seconde pour démasquer les interruptions.
INT(89) ne peut pas être utilisée pour masquer et démasquer toutes les interruptions dans des programmes d’interruptions.
Interruptions de masquage
Utiliser l’instruction INT(89) pour désactiver toutes les interruptions.
(@)INT(89)
1,0
000
000
84
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Si une interruption est générée tandis que des interruptions sont masquées, le
traitement d’interruption ne sera pas exécuté mais l’interruption sera entregistrée pour l’entrée, la temporisation cyclique et les interruptions de compteur à
grande vitesse. Les interruptions seront alors activées dès que les interruptions
seront démasquées.
Interruptions de démasquage Utiliser l’instruction INT(89) pour démasquer les interruptions comme suit :
(@)INT(89)
200
000
000
2-3-4 Interruptions par temporisation cyclique
Le CPM1/CPM1A est équipé d’une temporisation cyclique. Durant un délai d’attente de la temporisation cyclique, le programme principal est interrompu et le
programme d’interruption est exécuté immédiatement, indépendamment du
point dans le cycle.
Deux modes de fonctionnement de la temporisation cyclique existent, le mode à
une impulsion pour lequel seulement une interruption sera exécutée à l’expiration du temps et le mode d’interruption programmée pour lequel l’interruption est
répétée à intervalle fixe.
La valeur de consigne de la temporisation cyclique peut être placée n’importe où
de 0,5 à 319968 ms, par unités de 0,1 ms.
Utiliser l’instruction suivante pour activer et commander la temporisation cyclique.
Fonctionnement
Démarrage en mode à une impulsion
Utiliser l’instruction STIM(69) pour commencer la temporisation cyclique en
mode à une impulsion.
(@)STIM(69)
C1
1, 2, 3...
C1 : Tempor. cyclique, mode à une impulsion (000)
C2
C2 : Val. de consigne de tempor. (adresse du 1er mot)
C3
C3 : Nº du sous-prog. (4 digits BCD) : 0000 à 0049
Lorsque C2 est écrit comme une adresse de mots :
C2 : Valeur de consigne du compteur à décrémentation (4 digits BCD) : 0000
à 9999
C2 + 1 : Intervalle de temps de décrémentation (4 digits BCD ; unité :
0,1 ms) : 0005 à 0320 (0,5 ms à 32 ms)
Chaque fois que l’intervalle indiqué dans le mot C2 + 1 s’écoule, le compteur
à décrémentation décroît la valeur en cours de un. Lorsque la PV atteint 0, le
sous-programme indiqué n’est appelé qu’une fois et la temporisation
s’arrête.
Le temps depuis l’instruction STIM(69) jusqu’à écoulement du temps est
calculé comme suit :
(Contenu de C2) # (Contenu de C2 + 1) # 0,1 ms = (0,5 à 319 968 ms)
Lorsque C2 est entré comme constante :
La valeur de consigne du compteur à décrémentation égalisera la constante
indiquée (en ms) et l’intervalle de temps de décrémentation vaut 10 (1 ms).
85
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Démarrage en mode d’interruption programmée
Utiliser l’instruction STIM(69) pour commencer la temporisation cyclique en
mode d’interruption programmée.
(@)STIM(69)
1, 2, 3...
C1
C1 : Horloge, mode interruption programmée (003)
C2
C2 : Val. de consigne de temporisation (Nº de mot de tête)
C3
C3 : Nº de sous-prog. (4 digits BCD) : 0000 à 0049
Lorsque C2 est écrit comme une adresse de mot :
C2 : Valeur de consigne du compteur à décrémentation (4 digits BCD) :
0000 à 9999
C2 + 1 : Intervalle de temps de décrémentation (4 digits BCD ; unité :
0,1 ms) : 0005 à 0320 (0,5 ms à 32 ms)
Les significations de la configurations sont les mêmes que pour le mode à
une impulsion, mais en mode à interruption programmée la PV de la temporisation sera réinitialisée à la valeur de consigne et la décrémentation
recommencera dès que le sous-programme aura été appelé. En mode d’interruption programmée, les interruptions continueront à être répétées à
intervalles fixes jusqu’à ce que l’opération soit arrêtée.
Lorsque C2 est entré comme constante :
La configuration est la même que pour le mode à une impulsion, mais les
interruptions continueront à être répétées à intervalles fixes jusqu’à ce que
le fonctionnement soit arrêté.
Lecture du temps écoulé de la temporisation
Utiliser l’instruction STIM(69) pour lire le temps écoulé de la temporisation.
(@)STIM(69)
C1
C2
C3
C1 : Lecture du temps écoulé (006)
C2 : Mot de tête du paramètre 1
C3 : Paramètre 2
C2 : Nombre de fois où le compteur à décrémentation a été dérémenté (4 digits
BCD)
C2 + 1 : Intervalle de temps du compteur à décrémentation (4 digits BCD ; unité :
0,1 ms)
C3 : Temps écoulé depuis la décrémentation précédente (4 digits BCD ; unité :
0,1 ms)
Le temps entre le départ de la temporisation cyclique et l’exécution de cette instruction est calculé comme suit :
{(Contenu de C2) # (Contenu de C2+1) + (Contenu de C3)} # 0,1 ms
Si la temporisation cyclique indiquée est arrêtée, alors “0000” sera mémorisé.
Arrêt de la temporisation
Utiliser l’instruction STIM(69) pour arrêter la temporisation cyclique.
(@)STIM(69)
C1
000
000
86
C1 : Arrêt de l’horloge (010)
Chapitre
Fonctions d’interruption du CPM1/CPM1A
Exemple d’application
(Mode à une impulsion)
2-3
Dans cet exemple, une interruption est produite 2,4 ms (0,6 ms # 4) après que
l’entrée 00005 est sur ON ; l’interruption exécute le sous-programme d’interruption numéro 23.
25315 Premier drapeau de cycle
Sur ON pour 1 cycle
MOV(21)
#0004
DM 0010
Définit la valeur de consigne du compteur à
décrémentation à 4 (BCD : 0000 à 9999)
MOV(21)
#0006
DM 0011
Définit l’intervalle de temps de décrémentation
à 0,6 ms (BCD : 0005 à 0320)
00005
@STIM(69)
000
DM 0010
#0023
Démarre l’horloge en mode à une impulsion.
Indique le premier contenant la valeur de
consigne.
Indique le numéro de sous-programme (23).
SBN(92)
023
Programme d’interruption
RET(93)
Exemple d’application
(Mode d’interruption
programmée)
Dans cet exemple, une interruption est produite toutes les 4,0 ms (1,0 ms # 4)
après que l’entrée 00005 passe sur ON ; les interruptions exécutent le sous-programme d’interruption numéro 23.
25315 Premier drapeau de cycle
Sur ON pour 1 cycle
MOV(21)
#0004
DM 0010
Définit la valeur de consigne du compteur à
décrémentation à 4 (BCD : 0000 à 9999)
MOV(21)
#0010
DM 0011
Définit l’intervalle de temps de décrémentation
à 1,0 ms. (BCD : 0005 à 0320)
00005
@STIM(69)
003
DM 0010
#0023
Démarre l’horloge en mode d’interruption programmée.
Indique le premier contenant la valeur de
consigne.
Indique le numéro de sous-programme (23).
SBN(92)
023
Programme d’interruption
RET(93)
2-3-5 Interruptions du compteur à grande vitesse
Les API du CPM1/CPM1A ont une fonction compteur à grande vitesse qui peut
être utilisée en mode incrémentation ou en mode incrémental/décrémental. Le
compteur à grande vitesse peut être combiné avec des entrées d’interruption
pour effectuer le contrôle de valeur à atteindre ou de zone de comparaison qui
n’est pas affectée par la durée du cycle de l’API.
87
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Les signaux du compteur à grande vitesse peuvent être entrés dans les bits
00000 à 00002 de l’unité centrale.
00002
00001
00000
API CPM1
NC
24VDC
API CPM1A
Mode
Fonctions d’entrée
Méthode
d’entrée
Incrémental/
décrémental
00000 : Entrée phase A
00001 : Entrée phase B
00002 : Entrée phase Z
Différence de
phase, 4#
entrées
Incrémentation
00000 : Entrée
compteur
00001 : Voir Rem.
00002 : Entrée
réinitialisation
Entrées
individuelles
Fréqu. de
comptage
Plage
de
comptage
2,5 kHz max. --32767
à
32767
5,0 kHz max. 0
à
65535
Méthodes de commande
Commande de valeur à atteindre :
jusqu’à 16 valeurs à atteindre et
les numéros de sous-programmes
d’interruption peuvent être
mémorisés.
Commande de comparaison de
zone :
jusqu’à 8 ensembles de valeurs
limites supérieures, valeurs limites
inférieures et les numéros de
sous-programmes d’interruption
peuvent être mémorisés.
Rem. En mode incrémentation, l’entrée 00001 peut être utilisée comme entrée normale. Le compteur peut être remis à zéro par programme, alors l’entrée 00002
peut être utilisée comme entrée normale. Il est possible d’effectuer une RAZ du
compteur non seulement par le programme mais aussi par le signal de phase Z
du codeur ; dans ce cas, l’état d’entrée est reflété dans 00002 de la mémoire
d’entrée/sortie.
Paramétrage du
compteur à grande
vitesse
88
Le paramétrage suivant doit être fait en DM 6642 lors de l’utilisation de la fonction compteur à grande vitesse du CPM1/CPM1A.
Chapitre
Fonctions d’interruption du CPM1/CPM1A
Bits
DM 6642
00 à 03
04 à 07
Paramètres
Fonction
Incrémentation
Définit le mode compteur :
2-3
4
0 : Incrémental/décrémental
4 : Incrémentation
Définit la méthode de remise 0 ou 1
à zéro :
Incré./
décré.
0
Non
utilisé
0 ou 4
0 ou 1
0 ou 1
01
00
0 : Réinitialisation phase Z +
programme
1 : Réinitialisation par
programme
08 à 15
Définit le compteur :
01
00 : Compteur non utilisé.
01 : Compteur utilisé.
Plage de compteur
Le compteur à grande vitesse du CPM1/CPM1A utilise l’opération linéaire et le
comptage (valeur en cours) est mémorisé en SR 248 etSR 249. Les quatre digits supérieurs sont sauvegardés en SR 249 et les quatre digits inférieurs sont
sauvegardés en SR 248.
Mode
Count range
Incrémental/
décrémental
F003 2767 à 0003 2767 (--32 767 à 32 767)
Le digit le plus à gauche en SR 248 détermine le signe, F est négatif,
0 est positif.
0000 0000 à 00,6 5535 (0 à 65 535)
Incrémentation
Un dépassement se produira si le comptage dépasse la limite supérieure dans
la plage de comptage et un dépassement négatif se produira si le comptage va
au-dessous de la limite inférieure dans la plage de comptage
Erreur
Dépassement
Dépassement
négatif
Traitement
Incrémentation
Intervient lorsque le
comptage est incrémenté
depuis 65 535.
---
Incrémental/décrémental
Intervient lorsque le
comptage est incrémenté
depuis 32 767.
Intervient lorsque le
comptage est décrémenté
depuis -32 767.
Valeur en
cours
0FFF FFFF
FFFF FFFF
Deux types de signaux peuvent être réceptionnés d’un codeur d’impulsion. Le
mode de comptage utilisé pour le compteur à grande vitesse dépend du type de
signal. Le mode de comptage et le mode de remise à zéro sont définis en
DM 6642 ; ces paramètres deviennent effectifs lorsque l’alimentation est activée ou lorsque le fonctionnement de l’API est démarré.
Mode incrémental/décrémental :
une différence de phase égale à 4 x le signal à deux phases (phases A et B)
et une phase Z sont utilisées pour les entrées. Le comptage est incrémenté
ou décrémenté selon les différences des signaux à 2 phases.
89
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Mode incrémental :
un signal d’impulsion à une phase et un signal de remise à zéro du comptage sont utilisés pour les entrées. Le comptage est incrémenté en fonction
du signal à phase unique.
Mode incrémental
Mode incrémental/décrémental
ON
ON
Entrée
d’impulsion OFF
Phase A
OFF
ON
Phase B
OFF
Comptage
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0 --1 --2
Incrémentation
Comptage
1
2
3
4
Incrémentation uniquement
Decrémentation
Rem. Il faut obligatoirement utiliser une des méthodes suivantes pour remettre à zéro
le compteur lorsqu’on le relance. Il est automatiquement remis à zéro au départ
ou à l’arrêt de l’exécution du programme.
Les transitions de signaux suivantes sont traitées comme des impulsions d’incrémentation : front montant de phase A vers front montant de phase B vers
front descendant de phase A vers front descendant de phase B. Les transitions
de signaux suivantes sont traitées comme des impulsions de décrémentation :
front montant de phase B vers front montant de phase A vers front descendant
de phase B vers front descendant de phase A.
Le mode incrémental/décrémental utilise toujours une entrée égale à 4 x la différence de phase. Le nombre de comptages pour chaque tour de codeur est égal
à 4 fois la résolution du compteur. Sélectionner le codeur en fonction des gammes de comptage possibles.
Méthodes de remise à zéro
L’une ou l’autre des deux méthodes décrites ci-dessous peut être choisie pour
redéfinir la PV du comptage (c.--à--d. la mettre à 0).
Remise à zéro par signal de phase Z + par programme :
La PV est remise à zéro lorsque le signal de phase Z (entrée de remise à
zéro) passe sur ON tandis que le bit de remise à zéro du compteur à grande
vitesse (SR 25200) est sur ON.
Remise à zéro par programme :
La PV est remise à zéro lorsque le bit de remise à zéro du compteur à
grande vitesse (SR 25200) passe sur ON.
Réinitialisation par signal phase Z + par programme
Rafraîchissement d’entrée/sortie
Traitement commun,
entretien des communications, etc.
1 cycle
Traitement de l’UC
Exéc.
du prog.
Exéc.
du prog.
(3)
(4)
(5)
Réinit.
Réinit.
Exéc.
du prog.
Exéc.
du prog.
(2)
Exéc.
du prog.
25200
(1)
Phase Z
Non réinit.
90
Non réinit.
Non réinit.
Exéc.
du prog.
Chapitre
Fonctions d’interruption du CPM1/CPM1A
Nº
Temporisation des commandes
(1)
Le signal phase Z passe sur ON
lorsque SR 25200 passe sur OFF.
Le signal phase Z passe sur ON dans
le cycle suivant celui où SR 25200
passe sur ON.
Le signal phase Z passe sur ON
après qu’au moins un cycle se soit
écoulé après que SR 25200 passe
sur ON.
Le signal phase Z passe sur ON dans
le cycle suivant celui où SR 25200
passe sur OFF.
SR 25200 passe sur ON lorsque le
signal phase Z est ON.
(2)
(3)
(4)
(5)
2-3
Réinitialisation
Non réinitialisé.
Non réinitialisé.
Réinitialisé avec le bord d’attaque de
la phase Z.
Réinitialisé avec le bord d’attaque de
la phase Z.
Non réinitialisé.
Rem. Le bit de remise à zéro du compteur à grande vitesse (SR 25200) est rafraîchi
une fois par cycle, et afin qu’il soit lu correctement il doit être sur ON pendant au
moins un cycle.
Le “Z” dans “phase Z” est une abbréviation de “Zéro.” Ce signal indique la position zéro du codeur;
Comptage d’interruption du compteur à grande vitesse
Pour les interruptions du compteur à grande vitesse 0, un tableau de comparaison est utilisé au lieu d’un “comptage”. Le contrôle de comptage peut être effectué par l’une ou l’autre des deux méthodes décrites ci-dessous. Les états de
comparaison (pour comparer à la PV) et les combinaisons de programmes d’interruption sont enregistrés dans le tableau de comparaison.
Valeur à atteindre :
Un maximum de 16 états de comparaison (valeurs à atteindre et sens de
comptage) et des combinaisons de programmes d’interruption sont enregistrés dans le tableau de comparaison. Lorsque la PV du compteur et les
sens de comptage correspondent aux condition de comparaison, alors le
programme d’interruption indiqué est exécuté.
Comparaison de plage (zone) :
Huit états de comparaison (limites supérieures et inférieures) et combinaisons de programmes d’interruption sont enregistrés dans le tableau de
comparaison. Lorsque la PV est supérieure ou égale à la limite inférieure et
inférieure ou égale à la limite supérieure, le programme d’interruption indiqué est exécuté.
Le comptage en cours est comparé aux valeurs à atteindre dans l’ordre où les
valeurs à atteindre sont placées dans le tableau de comparaison et des interruptions sont produites lorsque le comptage égale chaque valeur à atteindre. Une
fois que le comptage a égalé toutes les valeurs à atteindre dans le tableau, le
cycle recommence...
Comparaisons de
valeurs à atteindre
Comptage
Interruptions
Tableau de comparaison
Valeur à atteindre 1
Valeur à atteindre 2
Valeur à atteindre 3
Valeur à atteindre 4
Valeur à atteindre 5
Valeur
intiale
Valeur à atteindre
1
2
3
4
5
91
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
Le comptage en cours est comparé de manière cyclique à toutes les plages en
même temps et des interruptions sont générées, basées sur les résultats de
comparaison.
Comparaisons de plage
Tableau de comparaison
0
Comptage
1
3
2
Conf. de plage 1
Conf. de plage 2
Conf. de plage 3
Conf. de plage 4
4
Rem. En effectuant des comparaisons de valeur à atteindre, ne pas utiliser à plusieurs
reprises l’instruction INI pour changer la valeur courante du comptage et commencer l’opération de comparaison. L’opération d’interruption peut ne pas fonctionner correctement si l’opération de comparaison est commencée juste après
un changement de la valeur en cours depuis le programme (L’opération de comparaison revient automatiquement à la première valeur à atteindre une fois
qu’une interruption est produite pour la dernière valeur à atteindre. L’opération
répétitive est possible simplement en changeant la valeur en cours).
Utiliser les étapes suivantes pour programmer le compteur à grande vitesse.
Le compteur à grande vitesse commence l’opération de comptage lorsque le
Setup de l’API est correctement configuré, mais les comparaisons ne seront
pas effectuées avec le tableau de comparaison et des interruptions ne seront
pas générées à moins que l’instruction CTBL(63) soit exécutée.
Le compteur à grande vitesse est remis à “0” lorsque l’alimentation passe sur
ON et lorsque l’opération commence.
La valeur en cours du compteur à grande vitesse est maintenue en SR 248 et
SR 249.
Programmation
Contrôle des interruptions du compteur à grande vitesse
1, 2, 3...
Utiliser l’instruction CTBL(63) pour enregistrer le tableau de comparaison
dans le CPM1/CPM1A et commencer les comparaisons.
(@)CTBL(63)
P
C
TB
C : (3 digits BCD)
000 :
Définit tableau de valeurs spécifiées et démarre comparaison
001 :
Définit tableau de comparaison et démarre comparaison
002 :
Définit seulement tableau de valeurs spécifiées
003 :
Définit seulement tableau de comparaison
TB : Premier mot du tableau de comparaison
Lorsque C est défini à 000, les comparaisons sont effectuées par la
méthode de correspondance de valeur spécifiée ; lorsqu’il est défini à 001,
elles sont effectuées par la méthode de comparaison de plage. Le tableau
de comparaison est enregistré et, lorsque l’opération de sauvegarde est terminée, les comparaisons commencent. Tandis que des comparaisons sont
exécutées, des interruptions à grande vitesse sont exécutées selon le tableau de comparaison. Pour plus d’informations sur le contenu des tableaux
de comparaison sauvegardés, se reporter à l’explication de l’instruction
CTBL(63) au Chapitre 7 Ensemble d’instructions..
Rem. Les résultats de comparaison sont normalement mémorisés dans
les AR 1100 à AR 1107 tandis que la comparaison de plage est
exécutée.
Lorsque C est défini à 002, les comparaisons sont faites par la méthode de
correspondance de valeur spécifiée ; lorsqu’il est défini à 003, elles sont
effectuées par la méthode de comparaison de plage. Pour l’une ou l’autre de
92
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
ces configurations, le tableau de comparaison sera sauvegardé, mais les
comparaisons ne commenceront pas, et l’instruction INI(61) doit être utilisée pour démarrer les comparaisons.
Pour arrêter des comparaisons, exécuter l’instruction INI(61) comme montré ci-dessous :
(@)INI(61)
000
001
000
Pour recommencer les comparaisons, placer le deuxième opérande à “000”
(exécuter la comparaison) et exécuter l’instruction INI(61).
Une fois qu’un tableau a été sauvegardé, il est maintenu dans le
CPM1/CPM1A lors du fonctionnement (c.--à--d. pendant l’exécution du programme) aussi longtemps qu’aucun autre tableau n’est sauvegardé.
Lecture de la PV
Deux manières sont possibles pour lire une PV. La première est de la lire depuis
les SR 248 et SR 249 et la seconde d’utiliser l’instruction PRV(62).
Lecture de SR 248 et SR 249
La PV du compteur à grande vitesse est sauvegardée en SR 248 et SR 249
comme cela est montrée ci-dessous. Le bit le plus à gauche est F pour les
valeurs négatives
4 digits
ext. gauche
SR 249
Rem.
4 digits
ext. droite
SR 248
Mode incrémental/
décrémental
F0032767 à 00032767
(--32767)
Mode incrémental
00000000 à 00065535
1. Ces mots sont rafraîchis seulement une fois par cycle, il peut donc y avoir une différence
avec la PV en cours.
2. Lorsque le compteur à grande vitesse n’est pas utilisé, les bits dans ces mots peuvent être
utilisés comme bits de travail.
Utilisation de l’instruction PRV(62)
Lire la PV du compteur à grande vitesse en utilisant l’instruction PRV(62).
(@)PRV(62)
000
P1 : Premier mot de la PV
000
P1
La PV du compteur à grande vitesse est mémorisée comme montré ci-dessous.
Le bit le plus à gauche est F pour les valeurs négatives
4 digits
ext. gauche
P1+1
4 digits
ext. droite
P1
Mode incrémental/
décrémental
Mode incrémental
F0032767 à 00032767
(--32767)
00000000 à 00065535
La PV est lue lorsque l’instruction PRV(62) est réellement exécutée.
Changement de la PV
Deux manières sont possibles pour changer la PV du compteur à grande
vitesse. La première est de la remettre à zéro en utilisant les méthodes de réinitialisation (dans ce cas la PV est remise à zéro). La deuxième manière est d’utiliser l’instruction INI(61).
93
Chapitre
Fonctions d’interruption du CPM1/CPM1A
2-3
La méthode utilisant l’instruction INI(61) est expliquée ici. Pour une explicatioin
de la méthode de réinitialisation, se reporter au début de cette description du
compteur à grande vitesse.
Changer la PV de la temporisation en utilisant l’instruction INI(61) comme montré ci-dessous :
(@)INI(61)
000
D : 1er mot pour mémoriser les données de
changement de PV
002
D
4 digits
ext. gauche
D1+1
4 digits
ext. droite
Mode incrémental/
décrémental
F0032767 à 00032767
D
Mode incrémental
00000000 à 00065535
Pour indiquer qu’un nombre négatif est en mode incrémental/décrémental, mettre à F le digit le plus à gauche.
Exemple d’application
(Mode incrémental)
Cet exemple montre un programme qui utilise le compteur à grande vitesse
avec des entrées monophases en mode incrémentation, faisant des comparaisons au moyen de la méthode valeur spécifiée.
Les conditions de comparaison (valeur à atteindre et sens de comptage) sont
mémorisées dans le tableau de comparaison avec les nombres de sous-programmes. Jusqu’à 16 valeurs à atteindre peuvent être mémorisées. Le sousprogramme correspondant est exécuté lorsque la PV du compteur atteint la
valeur à atteindre.
Les données suivantes sont mémorisées dans le tableau de comparaison :
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
DM 0006
0002
1000
0000
0030
2000
0000
0001
Nombre de conditions de comparaison : 2
Valeur à atteindre 1 : 1000
Nº prog. d’interruption pour la comparaison 1 : 30
Valeur à atteindre 2 : 2000
Nº prog. d’interruption pour la comparaison 2 : 31
Le schéma suivant montre l’exemple de schéma à contacts. DM 6642 doit être
réglé à 01j4, lorsque j est la méthode de remise à zéro pouvant être réglée à 0
ou 1.
25315 (Sur ON pour le premier cycle)
CTBL(63)
000
000
DM 0000
SBN(92)
Mémorise le tableau de comparaison, mode
valeur à atteindre
Premier mot du tableau de comparaison
030
Programme d’interruption 30
RET(93)
SBN(92)
001
Programme d’interruption 31
RET(93)
94
Chapitre
Fonctions d’interruption du CPM1/CPM1A
Exemple d’application
(Mode incrémental/
décrémental)
2-3
Cet exemple montre un programme utilisant le compteur à grande vitesse avec
des entrées à différence de phase en mode incrémental/décrémental, faisant
des comparaisons au moyen de la méthode de comparaison de plage.
Les conditions de comparaison (limites supérieures et inférieures des plages)
sont mémorisées dans le tableau de comparaison avec les numéros de sousprogrammes. Jusqu’à 8 plages séparées peuvent être définies. Le sous-programme correspondant est exécuté lorsque la PV du compteur est dans la
plage.
Rem. Toujours définir 8 plages. Lorsque moins de 8 plages sont nécessaires, placer
les numéros restants de sous-programme à FFFF. La valeur FFFF indique
qu’aucun sous-programme ne doit être exécuté.
Les données suivantes sont mémorisées dans le tableau de comparaison :
DM 0000
1500
DM 0001
0000 Limite inférieure 1 : 1 500 comptages
DM 0002
3000
DM 0003
0000 Limite supérieure 1 : 3 000 comptages
DM 0004
0040 Nº prog. d’interruption pour la plage 1 : 40
DM 0005
7500
DM 0006
0000 Limite inférieure 2 : 7 500 comptages
DM 0007
0000
DM 0008
0001 Limite supérieure 2 : 10 000 comptages
DM 0009
0041 Nº prog. d’interruption pour la plage 2 : 41
DM 0010
0000
DM 0011
0000
DM 0012
0000
DM 0013
0000
DM 0014
FFFF Prog. d’interruption de la plage 3 non exécuté
.
.
.
.
.
.
.
.
.
.
.
.
DM 0035
0000
DM 0036
0000
DM 0037
0000
DM 0038
0000
DM 0039
FFFF Prog. d’interruption de la plage 8 non exécuté
Le schéma suivant montre l’exemple de schéma à contacts. DM 6642 doit être
réglé à 01j0, lorsque j est la méthode de remise à zéro pouvant être réglée à 0
ou 1.
25315 (Sur ON pour le premier cycle)
CTBL(63)
000
001
DM 0000
SBN(92)
Mémorise le tableau de comparaison, mode
valeur à atteindre
Premier mot du tableau de comparaison
040
Programme d’interruption 40
RET(93)
SBN(92)
001
Programme d’interruption 41
RET(93)
95
Chapitre
Fonctions d’interruption du SRM1(-V2)
2-4
2-4
Fonctions d’interruption du SRM1(-V2)
Ce chapitre explique les configurations et les méthodes pour l’utilisation des
fonctions d’interruption SRM1(-V2).
2-4-1 Types d’interruptions
Le SRM1(-V2) a seulement un type de traitement d’interruption, comme décrit
ci-dessous.
Interruptions par temporisation cyclique
Le traitement de l’interruption est exécuté par une temporisation cyclique avec
une précision de 0,1 ms.
2-4-2 Interruptions par temporisation cyclique
Le SRM1(-V2) est équipé d’une temporisation cyclique. Lorsque la temporisation cyclique s’arrête, le programme principal est interrompu et le programme
d’interruption est exécuté immédiatement, indépendamment du point dans le
cycle.
Deux modes existent pour le fonctionnement de la temporisation cyclique, le
mode à une impulsion, pour lequel seulement une interruption est exécutée à
l’expiration du temps, et le mode d’interruption programmée pour lequel l’interruption est répétée à intervalle fixe.
La valeur de consigne de la temporisation cyclique peut être définie n’importe
quand de 0,5 à 319 968 ms, par unités de 0,1 ms.
Utiliser les instructions suivantes pour activer et commander la temporisation
cyclique.
Fonctionnement
Démarrage en mode à une impulsion
Utiliser l’instruction STIM(69) pour commencer la temporisation cyclique en
mode à une impulsion.
(@)STIM(69)
C1
1, 2, 3...
C1 : Horloge, mode à une impulsion (000)
C2
C2 : Valeur de consigne de la temporisation (adresse du premier mot)
C3
C3 : Sous-programme Nº (4 digits BCD) : 0000 à 0049
Lorsque C2 est écrit comme une adresse de mot :
C2 : Valeur de consigne du compteur à décrémentation (4 digits BCD) :
0000 à 9999
C2 + 1 : Intervalle de temps de décrémentation (4 digits BCD ; unité :
0,1 ms) : 0005 à 0320 (0,5 ms à 32 ms)
Chaque fois que l’intervalle indiqué dans le mot C2 + 1 s’écoule, le compteur
à décrémentation décrémentera la valeur en cours de un. Lorsque la PV
atteint 0, le sous-programme indiqué est appelé juste une fois et la temporisation s’arrête.
Le temps depuis l’exécution de l’instruction STIM(69) jusqu’à l’écoulement
du temps est calculé comme suit :
(Contenu de C2) # (Contenu de C2 + 1) # 0,1 ms = (0,5 à 319 968 ms)
Lorsque C2 est entré comme constante :
La valeur de consigne du compteur à décrémentation égalisera la constante
indiquée (en ms) et l’intervalle de temps de décrémentation est de 10
(1 ms).
96
Chapitre
Fonctions d’interruption du SRM1(-V2)
2-4
Démarrage en mode interruption programmée
Utiliser l’instruction STIM(69) pour démarrer la temporisation cyclique en mode
d’interruption programmée.
(@)STIM(69)
C1
C2
C3
1, 2, 3...
C1 : Horloge, mode d’interruption programmée (003)
C2 : Valeur de consigne de la temporisation (nº du premier mot)
C3 : Sous-programme Nº (4 digits BCD) : 0000 à 0049
Lorsque C2 est écrit comme une adresse de mot :
C2 : Valeur de consigne du compteur à décrémentation (4 digits BCD) :
0000 à 9999
C2 + 1 : Intervalle de temps de décrémentation (4 digits BCD ; unité :
0,1 ms) : 0005 à 0320 (0,5 ms à 32 ms)
Les raisons de paramétrage sont les mêmes que pour le mode à une impulsion, mais en mode d’interruption programmée la PV de la temporisation est
réinitialisée à la valeur de consigne et la décrémentation recommence
après l’appel du sous-programme. En mode d’interruption programmée, les
interruptions continuent à être répétées à intervalles fixes jusqu’à ce que le
fonctionnement soit arrêté.
Lorsque C2 est entré comme constante :
Les paramètres sont les mêmes que pour le mode à une impulsion, mais les
interruptions continuent à être répétées à intervalles fixes jusqu’à ce que
l’opération soit arrêté.
Lecture du temps écoulé de la temporisation
Utiliser l’instruction STIM(69) pour lire le temps écoulé de la temporisation.
(@)STIM(69)
C1
C2
C3
C1 : Lecture du temps écoulé (006)
C2 : Premier mot du paramètre 1
C3 : Paramètre 2
C2 : Nombre de fois où le compteur à décrémentation a été décrémenté (4 digits
BCD)
C2 + 1 : Intervalle de temps du compteur à décrémentation (4 digits BCD ;
unité : 0,1 ms)
C3 : Temps écoulé depuis la décrémentation précédente (4 digits BCD ;
unité : 0,1 ms)
Le temps depuis le départ de la temporisation cyclique jusqu’à l’exécution de
cette instruction est calculé comme suit :
{(Contenu de C2) # (Contenu de C2+1) + (Contenu de C3)} # 0,1 ms
Si la temporisation cyclique indiquée est arrêté, alors “0000” est mémorisée.
Arrêt de la temporisation
Utiliser l’instruction STIM(69) pour arrêter la temporisation cyclique. La temporisation cyclique sera arrêtée.
(@)STIM(69)
C1
C1 : Arrêt de l’horloge (010)
000
000
97
Chapitre
Fonctions d’interruption du SRM1(-V2)
Exemple d’application
(Mode à une impulsion)
2-4
Dans cet exemple, une interruption est produite 2,4 ms (0,6 ms # 4) après que
l’entrée 00005 soit passée sur ON ; l’interruption exécute le sous-programme
d’interruption numéro 23.
25315 Premier drapeau de cycle
Sur ON pour 1 cycle
MOV(21)
#0004
DM 0010
Définit la valeur de consigne du compteur à 4
(BCD : 0000 à 9999)
MOV(21)
#0006
DM 0011
Définit l’intervalle de temps de décrémentation
à 0,6 ms (BCD : 0005 à 0320)
00005
@STIM(69)
000
DM 0010
#0023
Démarre l’horloge en mode à une impulsion.
Indique le premier mot contenant la valeur de
consigne.
Indique le numéro de sous-programme (seulement les octets inférieurs sont effectifs).
SBN(92)
023
Programme d’interruption
RET(93)
Exemple d’application
(Mode d’interruption
programmée)
Dans cet exemple, une interruption est produite toutes les 4,0 ms (1,0 ms # 4)
après que l’entrée 00005 soit passée sur ON ; les interruptions exécutent le
sous-programme d’interruption numéro 23.
25315 Premier drapeau de cycle
Sur ON pour 1 cycle
MOV(21)
#0004
DM 0010
Définit la valeur de consigne du compteur à
décrémentation à 4 (BCD : 0000 à 9999)
MOV(21)
#0010
DM 0011
Définit l’intervalle de temps de décrémentation
à 1,0 ms. (BCD : 0005 à 0320)
00005
@STIM(69)
DM 0010
Démarre l’horloge en mode d’interruption programmée.
#0023
Indique le premier mot contant la valeur de consigne.
003
Indique le numéro de sous-programme (seulement
les octets inférieurs sont effectifs).
SBN(92)
023
Programme d’interruption
RET(93)
98
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
2-5
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Le CPM2A/CPM2C possède deux sorties d’impulsions. En effectuant une
sélection dans le Setup de l’API, ces sorties peuvent être utilisées en tant que
deux sorties monophasées sans accélération ni décélération, deux sorties
PWM (rapport cyclique fixe) ou deux sorties d’impulsions avec accélération/décélération trapézoïdale (une impulsion + sortie de direction et une sortie d’impulsions avance/retour). Le système de coordonnées de la PV de la sortie d’impulsions est défini dans le Setup de l’API comme relatif ou absolu.
Les deux modes sorties d’impulsions sont : le mode indépendant, où les sorties
sont arrêtées à une quantité prédéfinie d’impulsions, et le mode continu où les
sorties sont arrêtées par une instruction.
Rem. Pour utiliser les sorties d’impulsions, il est nécessaire d’utiliser une unité centrale avec des sorties transistor, c’est--à--dire : soit un CPM2A-jjCDT-D soit un
CPM2A-jjCDT1-D.
Le schéma suivant présente la configuration d’un CPM2A, c’est la même configuration pour un CPM2C
Moteur pas à pas
Contrôleur
du moteur
Sorties d’impulsions
99
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Sorties
d’impulsions
monophasées
sans
accél./décél.
Instructions d’exécution
Sorties
d’impulsions à
rapport
cyclique
variable
2-5
Sorties d’impulsions monophasées avec
accélération/décélération trapézoïdale
Sorties d’impulsions
et de direction
Sorties d’impulsions
Avance/Retour
PULS(65) et
SPED(64)
Sortie
d’impulsions 0
(Voir Rem. 1.)
PWM(----)
PULS(65) et ACC(----)
Sortie
d’impulsions 0
(Voir Rem. 1.)
Sortie
d’impulsions 1
(Voir Rem. 1.)
Sortie
d’impulsions 1
(Voir Rem. 1.)
Sortie
d’im-pulsion
p
0
Plage de fréquence de
sortie
Pas
10 Hz à 10 kHz
0,1 à 999,9 Hz
10 Hz à 10 kHz
10 Hz à 10 kHz
10 Hz
0,1 Hz
10 Hz
10 Hz
Pas fréquence
Avance/Retour
Pas de la vitesse de
démarrage
Mode sortie
---
---
10 Hz (Voir Rem. 2.)
10 Hz (Voir Rem. 2.)
---
---
10 Hz
10 Hz
Continu,
Indépendant
1 à 16777215
Continu
Continu, Indépendant
Continu, Indépendant
---
!1 à 16777215
!1 à 16777215
50%
0 à 100%
50%
50%
Oui
Non
Oui
Oui
Non
Non
Oui
Oui
Non
Non
Oui
Oui
Non
Oui
Non
Non
Numéro
de sortie
01000
01001
Nombre
d’impulsions
Rapport cyclique
(Voir Rem. 3.)
Méthode Caractéristique
de com-- du mouvement
mande
Caractéristique
d’accél/décél
Caractéristique
de vitesse de
démarrage
Caractéristique
PWM
Rem.
100
Sortie
d’impulsions
Sortie de
direction
Sortie
d’im-pulsion
p
0
Sortie
d’impulsions
CW
Sortie
d’impulsions
CCW
1. Avec les sorties d’impulsions monophasées, les sorties d’impulsions 0 et 1
peuvent chacune être une sortie indépendante l’une de l’autre.
2. Les sorties d’impulsions sont accélérées ou décélérées avec une fréquence
minimum de 10 Hz toutes les 10 ms.
3. Les impulsions réelles dépendent du temps de réponse ON de sortie transistor (20 "s max.) et du temps de réponse OFF (40 "s max.).
Le tableau suivant présente le lien existant entre le compteur à grande vitesse et
les autres fonctions du CPM2A/CPM2C.
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Interruptions par temporisation
cyclique
Inutilisable simultanément.
Commande d’impulsions
synchronisée
Entrées d’interruption
Utilisable simultanément.
Interruptions par temporisation
cyclique
Compteurs à grande vitesse
Utilisable simultanément.
Entrées d’interruption (mode
compteur)
Sorties d’impulsions
Utilisable simultanément.
Entrées à capture
Utilisable simultanément.
Constante de temps d’entrée
Utilisable simultanément.
Horloge
Utilisable simultanément.
Utilisable simultanément.
Voir Rem.
Rem. Le nombre de sorties simultanées varie en fonction du type de sortie d’impulsions, comme le tableau suivant le résume :
PWM
Combinaison
Ratio fixe
Sortie
d’impulsions
monophasée
p
s
Ratio variable
Sortie
Sortie
d’impulsions et de
d’impulsions
direction
Avance/Retour
Inutilisable.
Inutilisable.
Ratio fixe
Utilise deux points
simultanément
(indépendamment).
Utilise un point à la fois
(indépendamment).
Ratio
variable
Utilise un point à la fois
(indépendamment).
Utilise deux points
simultanément
(indépendamment).
Inutilisable.
Inutilisable.
Inutilisable.
Inutilisable.
Inutilisable.
Inutilisable.
Inutilisable.
Inutilisable.
Inutilisable.
Inutilisable.
Sortie d’impulsions et de
direction
Sortie d’impulsions
Avance/Retour
Jusqu’à deux points transmettent simultanément avec seulement des sorties
d’impulsions monophasées, ainsi une sortie de deux points est possible lorsque
le rapport cyclique fixe et le rapport cyclique variable sont combinés.
Les sorties sont possibles pour un seul point à la fois avec les sorties d’impulsions et de direction et les Sorties d’impulsions avance/retour, ainsi aucune
autre impulsion ne peut être transmise.
Types de sorties
d’impulsions
Trois types de sorties d’impulsions existent : les sorties d’impulsions monophasées sans accélération ni décélération, les sorties d’impulsions à rapport cyclique variable et les sorties d’impulsions monophasées sans accélération ni
décélération trapézoïdale.
Sorties d’impulsions monophasées sans accélération ni décélération
# Fréquence :
10 Hz à 10 kHz (définie par unités de 10 Hz.)
# Destination de sortie :
Numéro de sortie 01000 (Mot 010, bit 00)
Numéro de sortie 01001 (Mot 010, bit 01)
(Les impulsions se transmettent simultanément et
indépendamment de deux points).
# Mode sortie :
Continu ou indépendant
# Nombre d’impulsions : 1 à 16 777 215
101
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Chapitre
2-5
PULS(65) et SPED(64)
# Instructions :
# Avec PULS(65), le nombre d’impulsions est défini pour chaque point (en
mode indépendant uniquement).
# Avec SPED(64), le mode sortie et la fréquence à atteindre sont définis
pour chaque point et les impulsions sont émises.
Exécution d’instruction : PULS(65) + SPED(64) (Mode indépendant)
Mode indépendant
Nombre d’impulsions défini
Les sorties s’arrêtent automatiquement lorsque le nombre défini d’impulsions est transmis.
Exécution d’instruction : SPED(64) (Mode continu)
Mode continu
Les impulsions sont émises toujours à la fréquence définie jusqu’à ce qu’une instruction les arrête.
Sorties PWM
# Rapport cyclique :
# Fréquence :
# Destination de sortie :
0% à 100% (Défini par unité de 1%)
0,1 à 999,9 Hz (Défini par unité de 0,1 Hz)
Numéro de sortie 01000 (Mot 010, bit 00)
Numéro de sortie 01001 (Mot 010, bit 01)
(Les impulsions se transmettent simultanément et
indépendamment de deux points).
Continu
# Mode sortie :
PWM(----)
# Instruction :
Avec PWM(----), les impulsions sont émises avec un rapport cyclique variable.
Exécution d’instruction : PWM(----)
Les impulsions sont émises à la fréquence définie jusqu’à ce qu’elles soient arrêtées.
Rapport cyclique (D) =
ton
T
Sorties d’impulsions monophasées avec accélération/décélération
trapézoïdale
10 Hz à 10 kHz (Défini par unité de 10 Hz)
# Fréquence :
# Rapport accélération/décélération : 10 Hz/10 ms à 10 kHz/10 ms (Défini par
unité de 10 Hz)
Sorties d’impulsions et de direction
# Pour une sortie en sens horaire (CW) :
Numéro de sortie 01001 (Mot 010, bit 01) est basculé sur OFF.
Sortie d’impulsions du numéro de sortie 01000 (Mot 010, bit 00).
# Pour une sortie en sens anti horaire (CCW) :
Numéro de sortie 01001 (Mot 010, bit 01) est basculé sur ON.
Sortie d’impulsions du numéro de sortie 01000 (Mot 010, bit 00).
01000
Sorties d’impulsions
01001
Sorties de direction
(OFF : fonctionnement CW ;
ON : fonctionnement CCW)
102
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Sorties d’impulsions Avance/Retour
# Pour une sortie CW :
Les impulsions sortent du numéro de sortie 01000 (mot 010, bit 00).
# Pour une sortie CCW :
Les impulsions sortent du numéro de sortie 01001 (mot 010, bit 01).
01000
Fonctionnement
CW
01001
Fonctionnement
CCW
Continu et indépendant
# Mode sortie :
# Nombre d’impulsions : 1 à 16 777 215
PULS(65) et ACC(----)
# Instructions :
# Avec PULS(65), le nombre d’impulsions est défini (en mode indépendant
uniquement).
# Avec ACC(----), le mode sortie, la fréquence de démarrage, la fréquence à
atteindre et le rapport accélération/décélération sont définis, et les sorties
d’impulsions sont lancées. A partir du moment où les sorties d’impulsions
démarrent jusqu’a ce qu’elles s’arrêtent, elles sont commandées à un
changement de fréquence de rapport constant.
Mode Indépendant
Fréquence de sortie d’impulsions
Exécution d’instruction : PULS(65) + ACC(----) (Mode independant)
Fréquence
à atteindre
Fréquence de
démarrage
Temps
0 Hz
Accélération
Démarrer
Décélération
ACC(----)
Mode continu
Fréquence de sortie d’impulsions
Exécution d’instruction : ACC(----) (Mode continu)
Fréquence 2 à
atteindre
Fréquence 3 à
attteindre
Fréquence 1
à ateindre
0 Hz
Temps
Démarrage
d’accélération/
décélération
Accélération/décélération
Accélération ou
décélération
Accélération/décélération
Accélération ou
décélération
ACC(----)
ACC(----)
ACC(----)
103
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
2-5-1 Utilisation des sorties d’impulsions monophasées sans
accélération ni décélération (Rapport cyclique fixe)
Sélectionner le numéro de sortie
d’impulsions.
Numéro de sortie d’impulsions 0 ou 1
Câbler des sorties.
Numéros de sortie : 01000 et 01001
Système de coordonnées de la PV pour les numéros de sortie d’impulsions 0 et 1
Lancer le Setup de l’API (DM 6629)
Créer un programme
en schéma à contacts
PULS(65) : Pour paramétrer le nombre d’impulsions de sortie.
SPED(64) : Pour la commande de sortie d’impulsions sans accélération ni décélération.
INI(61) : Pour interrompre les sorties d’impulsions et modifier la PV de sortie
d’impulsions.
PRV(62) : Pour la lecture de la PV de sortie d’impulsions et de l’état.
Sorties d’impulsions monophasées
PULS(65)
Instruction
DEFINIT LES
IMPULSIONS
Spécifie des impulsions
relative ou absolue.
SV de la sortie d’impulsions (8 digits BCD)
INI(61)
SPED(64)
Instruction
SORTIE
VITESSE
Sortie d’impulsions 0
Sortie d’impulsions 1
Mode sortie : Continu ou
Indépendant
Fréq. à atteindre : 10 Hz à 10 kHz
Démarrer les S. d’impulsions.
InstructionMODE
COMMANDE
Chaque
balayage
Chaque
balayage
Etat de S. d’impulsions
Arrête les S. d’impulsions.
AR 11
Modifie la PV S. d’impulsions.
AR 12
PV de S. d’impulsions
SR 228
SR 229
SR 230
SR 231
Immédiatement
Instruction LECTURE de
la PV du COMPTEUR
A GRANDE VITESSE
PRV(62)
Lecture PV S.
d’impulsions.
Setup de l’API
DM
6629,
bits 04 à 07
Sélection du numéro de
sortie d’impulsions
Sélection de l’un des numéros d’impulsions 0 ou 1.
Numéro de sortie
104
Numéro de sortie d’impulsions
01000
0
01001
1
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Câblage des sorties
Chapitre
2-5
Câbler les sorties du CPM2A comme l’illustration suivante l’indique. Les impulsions sortent indépendamment des sorties d’impulsions 0 et 1.
Sortie 01000 : Sortie d’impulsions 0 (sortie monophasée)
Sortie 01001 : Sortie d’impulsions 1 (sortie monophasée)
Câbler des sorties CPM2C comme l’illustration suivante l’indique. Les impulsions sortent indépendamment des sorties d’impulsions 0 et 1.
Connecteur de sortie
01000 : Sortie d’impulsions 0 (sortie mono-phase)
01001 : Sortie d’impulsions 1 (sortie monophasées)
Setup de l’API
Effectuer les configurations suivantes dans le Setup de l’API.
105
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Mot
DM 6629
DM 6642
Bits
Fonction
00 à 03
Impulsion 0 système
de coordonnées de la
PV
04 à 07
Impulsion 1 système
de coordonnées de la
PV
08 à 15
Configuration du
compteur à grande
vitesse
0 : Système de
coordonnées relatif
2-5
Paramé-trage
Soit 0 soit 1
1 : Système de
coordonnées absolu
00 : Ne pas utiliser
01 : Utiliser comme un
compteur à grande
vitesse
Soit 00 soit
01
02 : Utiliser comme
une commande
d’impulsions
synchronisée (10 à
500 Hz).
03 : Utiliser comme
une commande
d’impulsions
synchronisée (20 Hz à
1 kHz).
04 : Utiliser comme
une commande
d’impulsions
synchronisée (300 Hz
à 20 kHz).
Lorsque des impulsions absolues sont définies avec PULS(65), s’assurer de
régler le système de coordonnées absolu (1).
La commande d’impulsions synchronisée est inutilisable simultanément.
Les configurations prendront effet lors du changement de mode (de PROGRAM
à MONITOR/RUN) ou lorsque l’alimentation de l’API est basculée sur ON.
Programme en schéma à
contacts
Le tableau suivant présente les fonctionnements d’instruction concernant les
sorties d’impulsions sans accélération ni décélération (rapport cyclique fixe).
Instruction
(@)PULS(65)
(@)SPED(64)
Commande
Définit le nombre d’impulsions à sortir en
mode indépendant.
Définit la fréquence des sorties en mode
indépendant ou en mode continu, et
démarre les sorties d’impulsions.
Modifier la fréquence
Modifie la fréquence des sorties en
mode indépendant ou en mode continu.
Interrompt les sorties d’impulsions (en
modifiant la vitesse pour une fréquence
de 0 Hz).
Interrompre les sorties
d’impulsions
(@)INI(61)
(@)PRV(62)
Fonctionnement
Définir le nombre
d’impulsions
Définir la fréquence et
démarrer les sorties
d’impulsions
Interrompre les sorties
d’impulsions
Modifier la PV de sortie
d’impulsions
Lecture de la PV de
sortie d’impulsions
Lecture de l’état de
sortie d’impulsions
Interrompt les sorties d’impulsions.
Modifie la PV de sortie d’impulsions.
Lit la PV de sortie d’impulsions.
Lit l’état de sortie d’impulsions.
Le tableau suivant présente les instructions pouvant être exécutées durant les
sorties d’impulsions sans accélération ni décélération.
106
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
PULS(65)
Mode continu
Non
Mode indépendant
Non
SPED(64)
Oui
(Voir Rem. 2)
Oui
(Voir Rem. 2)
Rem.
INI(61)
Oui
(Voir Rem. 1)
Oui
(Voir Rem. 1)
PRV(62)
ACC(----)
2-5
PWM(----)
Oui
Non
Non
Oui
Non
Non
1. Cette instruction s’exécute seulement lorsque les sorties d’impulsions sont
interrompues. La PV n’est pas modifiable tant que les impulsions sortent. Si
la PV nécessite d’être modifiée, s’assurer d’interrompre d’abord la sortie
d’impulsions.
2. Cette instruction s’exécute seulement pour modifier une fréquence et interrompre une sortie d’impulsions. Elle est inutilisable pour basculer du mode
indépendant au mode continu.
Le tableau suivant présente les mots et les bits concernant les sorties d’impulsions sans accélération ni décélération (rapport cyclique fixe).
Bits
Dénomination
Contenu
228
Mot
00 à 15
229
00 à 15
230
00 à 15
Inutilisable comme bits
de travail même
lorsqu’ils sont utilisés
é
comme sorties
d’impulsions
d’impulsions.
231
00 à 15
252
04
PV de sortie d’impulsions 0, les 4 digits
à l’extrême droite
PV de sortie d’impulsions 0, les 4 digits
à l’extrême gauche
PV de sortie d’impulsions 1, les 4 digits
à l’extrême droite
PV de sortie d’impulsions 1, les 4 digits
à l’extrême gauche
PV de sortie d’impulsions 0
ré--initialisée
PV de sortie d’impulsions 1
ré--initialisée
dépassement positif/dépassement
négatif
Nombre d’impulsions défini pour la
sortie d’impulsions 0
14
Sortie d’impulsions terminée pour la
sortie d’impulsions 0
ON : Terminé (par
SPED(64))
OFF : Pas terminé
15
Sortie d’impulsions en cours pour la
sortie d’impulsions 0
ON : En cours (par
SPED(64))
OFF : Interrompu
12
dépassement positif/dépassement
négatif
Nombre d’impulsions définies pour la
sortie d’impulsions 1
ON : Se produit
OFF : Normal
ON : Défini (par
PULS(65))
OFF : Non défini
14
Sortie d’impulsions terminée pour la
sortie d’impulsions 1
ON : Terminé (par
SPED(64))
OFF : Non terminé
15
Sortie d’impulsions en cours pour la
sortie d’impulsions 0
ON : En cours (par
SPED(64))
OFF : Interrompu
05
AR 11
12
13
AR 12
13
Supprime la PV 0
lorsqu’il est actif.
Supprime la PV 1
lorsqu’il est actif.
ON : Se produit
OFF : Normal
ON : Défini (par
PULS(65))
OFF : Non défini
107
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Chapitre
2-5
Définir le nombre d’impulsions
Précise le nombre d’impulsions à transmettre en mode indépendant.
(@)PULS(65)
P
Spécificateur de port (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
D
Drapeau de sortie d’impulsions (000 : Impulsion relative ; 001 : Impulsion absolue) (Voir Rem.)
Début du mot du paramétrage pour le nombre d’impulsions
N
N
Nombre d’impulsions (digit à l’extrême droite, à l’extrême gauche)
4 digits à
l’extrême droite
4 digits à
l’extrême gauche
N+1
Inscrire le nombre d’impulsions à définir.
96 777 215 à 16 777 215 (soit de --16 777 215 à 16 777 215)
Les nombres négatifs s’expriment en basculant sur
ON le bit à l’extrême gauche.
Drapeau de sortie d’impulsions
000 : Impulsions relatives (SV pour le nombre d’impulsions = Nombre d’impulsions déplacé)
001 : Impulsions absolues (SV pour le nombre d’impulsions = la PV de la sortie d’impulsions + le
nombre d’impulsions déplacées)*
*Les impulsions absolues sont seulement précisées par le PULS(65) lorsque la PV du
système de coordonnées du Setup de l’API est réglé pour un système de coordonnées
absolu.
Définir la fréquence et démarrer les sorties d’impulsions
Modifier la fréquence
Ces fonctions définissent le numéro de la sortie d’impulsions, le mode sortie et
la fréquence, et commencent les sorties d’impulsions. Elles peuvent également
être utilisées pour modifier la fréquence si les sorties d’impulsions sont déjà en
cours.
(@)SPED(64)
M
Spécificateur de port (000 : Sortie d’impulsions 0; 010 : Sortie d’impulsions 1)
Mode appelation (000 : Indépendant; 001 : Continu)
F
Mot de données de fréquence à atteindre
P
F
Fréquence à atteindre
Inscrire les données de fréquence à atteindre et à définir.
#0001 à #1000 (4 digits BCD) : 10 Hz à 10 kHz
#0000 : Sortie d’impulsions interrompue
Modifier la PV de la sortie d’impulsions
Reconfigurer la PV de la sortie d’impulsions
Cette fonction modifie la sortie d’impulsions de la valeur en cours (PV). La PV
peut également être créée en utilisant la SR 25204 et la SR 25205.
(@)INI(61)
P
004
C2
C2
C2+1
Spécificateur de port (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
Appellation de la commande (004 : Modifie la PV de la sortie d’impulsions )
Commence le mot pour les données à changer de la PV
4 digits
à l’extrême droite
4 digit
à l’extrême gauche
Modifie les données de la PV
(digits à l’extrême droite, extrême gauche)
Répertorie les données de la PV à modifier.
96 777 215 à 16 777 215
Les nombres négatifs s’expriment en basculant sur ON le bit à l’extrême gauche.
La PV de la sortie d’impulsions n’est modifiable ou réinutilisable que lorsque les
sorties d’impulsions sont interrompues. S’assurer que les drapeaux d’évolution
de la sortie d’impulsions (AR 1115 et AR 1215) ont été mis sur OFF.
108
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Interrompre les sorties d’impulsions
Cette fonction interrompt les sortie d’impulsions.
Utilisation du SPED(64)
(@)SPED(64)
P
M
F
Spécificateur de port (000 : Sortie d’impulsions 0; 010 : Sortie d’impulsions 1)
Mode appelation (000 : Indépendant; 001 : Continu)
Mot de données de fréquence à atteindre
F
#0000
Précise une fréquence de 0 Hz.
Utilisation du INI(61)
(@)INI(61)
P
003
000
Spécificateur de port (000 : Sortie d’impulsions 0; 010 : Sortie d’impulsions 1)
Intitulé de commande (003 : Interruption des sorties d’impulsions)
Fixé : 000
En plus de l’exécution des instructions présentée ci--dessus, il est également
possible d’interrompre les sorties d’impulsions en interrompant le fonctionnement (mode PROGRAM).
Lecture de la PV de la sortie d’impulsions
Cette fonction lit la PV de la sortie d’impulsions.
Utilisation d’une instruction
(@)PRV(62)
P
003
D
D
D+1
Spécificateur de port (000 : Sortie d’impulsions 0; 010 : Sortie d’impulsions 1)
Intitulé de commande (003 : Lecture de la PV de la sortie d’impulsions)
Premier mot pour les données à changer de la PV
4 digits
à l’extrême droite
4 digits
à l’extrême gauche
PV de la sortie d’impulsions (digit à l’extrême droite, à l’extrême gauche)
Les données de la PV qui sont lues, sont mémorisées ici.
96 777 215 à 16 777 215
Les nombres négatifs s’expriment en basculant sur ON le bit à l’extrême gauche.
Utilisation des zones de données
Comme l’illustration suivante le montre, la PV de la sortie d’impulsions 0 est
mémorisée dans les mots 228 et 229, et la PV de la sortie d’impulsions 1 est
mémorisée dans les mots 230 et 231.
Sortie d’impulsions 0
Mot 228
Mot 229
Sortie d’impulsions 1
PV
Mot 230
(Extrême droite)
PV
Mot 231
(Extrême gauche)
PV (Extrême droite)
PV (Extrême gauche)
Les mots 228 à 231 sont actualisés à chaque balayage c’est pourquoi, parfois
une différence apparaît avec la PV exacte à un moment donné.
Les mots 228 à 231 ne sont pas utilisés en tant que mots de travail même lorsque les sorties d’impulsions sont utilisées.
Lorsque la PV est lue par l’exécution du PRV(62), les mots 228 à 231 sont actualisés avec la même synchronisation.
Lecture de l’état de la sortie d’impulsions
Cette fonction lit l’état de la sortie d’impulsions.
109
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Utilisation d’une instruction
(@)PRV(62)
P
001
D
Spécificateur de port (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
Intitulé de commande (001 : Lecture de l’état de la sortie d’impulsions)
Mot pour mémoriser l’état de la sortie d’impulsions
Etat de la sortie
d’impulsions
0 : Vitesse constante ;
1 : Accélération/décélération
Dépassement positif/négatif
de la PV de la sortie d’impulsions
0 : Normal ; 1 : Se produit un
dépassement positif ou négatif
Nombres d’impulsions
0 : Non défini
1 : Défini
Achèvement de sortie d’impulsions
Sortie d’impulsions en cours 0 : Non achevée
1 : Achevée
0 : Interrompu
1 : Sortie en cours
Utilisation des zones de données
Comme l’illustration suivante le montre, l’état de la sortie d’impulsions 0 est
mémorisée dans l’AR 11 et l’état de la sortie d’impulsions 1 est mémorisée dans
l’AR 12.
AR 11 : Sortie d’impulsions 0
AR 12 : Sortie d’impulsions 1
Etat de la sortie d’impulsions :
0 : Vitesse constante ;
Sortie d’impulsions en cours
1 : Accélération/décélération
0 : Interrompu
Dépassement positif/négatif de la
1 : Sortie en cours
PV de la sortie d’impulsions
Achèvement de sortie d’impulsions
0 : Normal
0 : Non achevée
1 : Se produit un dépassement posi1 : Achevée
Nombre d’impulsions
tif ou négatif
0 : Non défini
1 : Défini
Rem. Les drapeaux en AR 11 et en AR 12 sont actualisés à chaque cycle c’est pourquoi les valeurs de ces mots ne reflètent pas toujours l’état réel durant chaque
cycle, mais les drapeaux en AR 11 et en AR 12 sont actualisés lorsque l’état est
lu avec le PRV(62).
Relations entre l’état et le fonctionnement
Mode indépendant (sans accélération ni décélération)
Fréquence
Temps
Exécution du PULS(65)
Exécution du SPED(64)
Sortie en cours
Sortie achevée
Nombre défini d’impulsions
110
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Mode continu
Fréquence
Temps
Exécution du SPED(64)
Exécution du INI(61)
Sortie en cours
Sortie achevée
Nombre défini d’impulsions
Interruption de la sortie en mode indépendant (sans accélération ni décélération)
Fréquence
Temps
Exécution du PULS(65)
Exécution du SPED(64)
Exécution du INI(61)
Sortie en cours
Sortie achevée
Nombre défini d’impulsions
Exemples d’application
Positionnement
Explication
Dans cet exemple, lorsque la condition d’exécution (00005) passe sur ON, 100
impulsions sortent de la sortie 01000 (sortie d’impulsions 0) à une fréquence de
60 Hz.
Fréquence
60 Hz
Nombre d’impulsions
Condition d’exécution
(00005)
111
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Câblage
Câbler le CPM2A au pilote du moteur comme l’illustration suivante le montre.
Pilote du moteur
Câbler le CPM2C au pilote du moteur comme l’illustration suivante le montre.
Dans ce cas, une unité centrale avec des sorties de transistor récepteur est utilisée.
Connecteur de sortie
Pilote de
moteur
24 Vc.c.
Setup de l’API
15
0
0
DM 6629
DM 6642
0
0
Définit le système de coordonnées pour la
sortie d’impulsions 0 comme relatif.
Définit pour une commande d’impulsions autre que
synchronisée.
(Réglé à 01jj lors de l’utilisation du compteur à
grande vitesse).
112
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Programmation
00005 (Condition d’exécution)
(13)
Détecte la mise sur ON de la condition d’exécution.
PLUS(65) Définit le nombre d’impulsions.
Sortie d’impulsions 0
Impulsions relatives
DM 0000
Premier mot pour les données SV d’impulsions
DM 0001
SPED(64) Définit la fréquence et démarre la sortie d’impulsions.
Nombre
d’impulsions : 100
Sortie d’impulsions 0
Mode indépendant
Fréquence : 60 Hz
Fonctionnement pas à pas (JOG)
Explication
Dans cet exemple, lorsque la condition d’exécution (00005) est mise sur ON, les
impulsions JOG sortent à la fréquence de 100 Hz depuis la sortie 01000 (sortie
d’impulsions 0) ou la sortie 01001 (sortie d’impulsions 1). Lorsque la condition
d’exécution (00005) est sur OFF, la sortie est interrompue. Pour basculer entre
la sortie 01000 (sortie d’impulsions 0) et la sortie 01001 (sortie d’impulsions 1),
utiliser le désignateur de direction (00006).
Fréquence
(sens)
Temps
Condition d’exécution (00005)
Désignateur de direction (00006)
Câblage
Câbler le CPM2A au pilote du moteur comme l’illustration suivante le montre :
Pilote du moteur
113
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Câbler le CPM2C au pilote du moteur comme l’illustration suivante le montre.
Dans ce cas, une unité centrale avec des sorties de transistor récepteur est utilisée.
Connecteur de sortie
Pilote
du
moteur
24 Vc.c.
Rem. Se reporter à la page du manuel de programmation pour plus d’informations sur
le câblage des sorties.
Setup de l’API
15
0
DM 6629
DM 6642
0
0
0
0
Définit le système de coordonnées pour les
sorties d’impulsions 0 et 1 comme relatif.
Définie pour une commande d’impulsions autre que
synchronisée.
(Réglé à 01jj lors de l’utilisation du compteur à
grande vitesse).
Programmation
00005 (Condition d’exécution)
(Designateur de direction)
(13)
Détecte la mise sur ON de la condition d’exécution.
(14)
Détecte la mise sur OFF de la condition d’exécution.
SPED(64)
SPED(64)
Sortie sens horaire
Sortie d’impulsions 0
Mode continu
Fréquence de sortie : 100 Hz
Sortie sens anti horaire
Sortie d’impulsions 1
Mode continu
Fréquence de sortie : 100 Hz
INI(61)
Interrompt les sorties d’impulsions 0 et 1.
INI(61)
010
114
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
2-5-2 Utilisation des sorties d’impulsions avec rapport cyclique variable
(PWM)
Définit le numéro de
sortie d’impulsions.
Numéro de sortie d’impulsions 0 ou 1
Câble les sorties.
Numéros de sortie : 01000 et 01001
PWM(----) : Pour configurer la fréquence et le rapport cyclique.
Crée un programme en
schéma à contacts.
INI(61) : Pour interrompre les sorties d’impulsions.
PRV(62) : Pour lire l’état de sortie d’impulsions.
Sortie d’impulsions avec rapport cyclique variable
PWM(----)
Instruction
IMPULSION AVEC
RAPPORT CYCLIQUE VARIABLE
Sortie d’impulsions 0
Sortie d’impulsions 1
Fréquence à atteindre : 0,1 à 999,9 Hz
Rapport cyclique : 0 à 100%
Démarre sorties d’impulsions
(Rem. : le rapport cyclique est le
rapport de temps ON par fréquence d’impulsions)
Chaque balayage
INI(61)
Instruction COMMANDE MODE
Arrêt Sorties d’impulsions
Définition du numéro de
sortie d’impulsions
Câblage des sorties
Chaque balayage
Etat sortie d’impulsions
AR 11
(soit 01000 ou 01001
utilisable)
Immédiatement
Instruction
LECTURE PV
COMPTEUR A
PRV(62)
GRANDE VITESSE
AR 12
Lecture de l’état de
sortie d’impulsions.
Sélectionne l’une des sorties d’impulsions 0 ou 1.
Numéro de sortie
Numéro de sortie d’impulsions
01000
0
01001
1
Les impulsions sortent indifféremment des sorties d’impulsions 0 et 1. Câbler
les sorties du CPM2A comme le montre l’illustration suivante :
Sortie 01000 : Sortie d’impulsions 0 (sortie monophasée)
Sortie 01001 : Sortie d’impulsions 1 (sortie monophasée)
115
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Les impulsions sortent indifféremment des sorties d’impulsions 0 et 1. Câbler
lessorties du CPM2C comme le montre l’illustration suivante :
Connecteur de sortie
01000 : Sortie d’impulsions 0 (sortie monophasée)
01001 : Sortie d’impulsions 1 (sortie monophasée)
Setup de l’API
Effectuer les configurations suivantes dans le Setup de l’API :
Mot
DM 6642
Bits
08 à 15
Fonction
Configura-tion du
compteur à
grande
vitesse
00 : Ne pas utiliser.
Paramé-trage
00 ou 01
01 : Utilisé comme compteur à
grande vitesse
02 : Utilisé comme commande
d’impulsions synchronisée
(10 à 500 Hz).
03 : Utilisé comme commande
d’impulsions synchronisée
(20 Hz à 1 kHz).
04 : Utilisé comme commande
d’impulsions synchronisée
(300 Hz à 20 kHz).
Les commandes d’impulsions synchronisées ne peuvent pas être utilisées
simultanément.
Les configurations seront effectives lorsque le mode sera modifié (de PROGRAM à MONITOR/RUN) ou lorsque l’alimentation est mise sur ON vers l’API.
Programme en schéma à
contacts
Le tableau suivant présente les fonctionnements des instructions concernant
les sorties d’impulsions avec rapport cyclique variable :
Instruction
Commande
(@)PWM(----)
Sortie d’impulsions avec
rapport cyclique variable
Définit la fréquence et le rapport
cyclique et démarre les sorties
d’impulsions.
Modification du rapport
cyclique
Modifie le rapport cyclique pendant
l’impulsion lorsque les sorties
d’impulsions avec rapport cyclique
variable sont déjà en cours.
Interrompt les sorties d’impulsions.
(@)INI(61)
(@)PRV(62)
Interruption des sorties
d’impulsions
Lecture de l’état de la
sortie d’impulsions
Fonctionnement
Lit l’état de la sortie d’impulsions
(pendant les sorties d’impulsions).
Le tableau suivant montre quelles instructions sont exécutables pendant les
sorties d’impulsions sans accélération ni décélération :
116
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
PULS(65)
SPED(64)
Non
Non
INI(61)
Oui
(Voir Rem. 1)
PRV(62)
ACC(----)
Oui
Non
2-5
PWM(----)
Oui
(Voir Rem. 2)
1. Cette instruction s’utilise seulement pour interrompre les sorties d’impulsions.
Rem.
2. Cette instruction s’utilise seulement pour modifier le rapport cyclique. La fréquence n’est pas modifiable alors que les impulsions sortent. Si la fréquence
doit être modifiée, s’assurer d’abord d’interrompre la sortie d’impulsions.
Le tableau suivant montre les mots et les bits propres aux sorties d’impulsions
avec rapport cyclique variable :
Mot
Bit
Dénomination
Contenu
AR 11
15
Sortie d’impulsions en
cours pour la sortie
d’impulsions 0
ON : En cours (par SPED(64),
ACC(----) ou PWM(----))
OFF : Interrompu
AR 12
15
Sortie d’impulsions en
cours pour la sortie
d’impulsions 1
ON : En cours (par SPED(64),
ACC(----) ou PWM(----))
OFF : Interrompu
Sortie d’impulsions avec rapport cyclique variable
Modification du rapport cyclique
Ces fonctions définissent la position pour les impulsions en sortie (01000,
01001), la fréquence et le rapport cyclique, et démarre les sorties d’impulsions.
En modifiant les paramètres du rapport cyclique et en exécutant à nouveau le
PWM(----) , il est également possible de modifier le rapport cyclique alors que les
sorties d’impulsions avec rapport cyclique variable sont déjà en cours.
(@PWM(----)
P
F
Spécificateur de port (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
Mot de données de fréquence à atteindre
D
Mot de données du rapport cyclique
Fréquence à atteindre
Répertorie la fréquence à atteindre et à définir.
F
#0001 à #9999 (4 digits BCD) : 0,1 Hz à 999,9 Hz
Rapport cyclique
D
Répertorie le rapport cyclique à définir.
#0000 à #0100 (4 digits BCD) : 0% à 100%
La fréquence d’impulsions n’est pas modifiable lorsque les impulsions sont
transmises.
Interruption des sorties d’impulsions
Cette fonction interrompt les sorties d’impulsions.
(@)INI(61)
P
003
000
Spécificateur de port (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
Intitulé de commande (003 : Interruption des sorties d’impulsions)
Fixé : 000
Rem. Les sorties d’impulsions peuvent également être interrompues en basculant
l’API en mode PROGRAM.
Lecture de l’état de la sortie d’impulsions
Cette fonction lit l’état de la sortie d’impulsions.
117
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Utilisation d’une instruction
(@)PRV(62)
P
001
D
Spécificateur de port (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
Intitulé de commande (001 : Lecture de l’état de la sortie d’impulsions)
Premier mot pour mémoriser l’état des sorties d’impulsions
Sortie d’impulsions en cours
0 : Interrompu
1 : Sortie en cours
Utilisation des zones de données
Comme l’illustration suivante le montre, l’état de la sortie d’impulsions 0 est
mémorisé dans l’AR 1115 et l’état de la sortie d’impulsions 1 est mémorisé dans
l’AR 1215.
AR 11 : Sortie d’impulsions 0
AR 12 : Sortie d’impulsions 1
Sortie d’impulsions en cours
0 : Interrompu
1 : Sortie en cours
Rem. L’AR 1115 et l’AR 1215 sont actualisés une fois par cycle ainsi les valeurs de ces
mots ne reflètent pas toujours l’état réel au cours de chaque cycle, mais l’AR
1115 et l’AR 1215 sont actualisés lorsque l’état est lu avec le PRV(62).
Relations entre l’état et le fonctionnement
Mode continu (Sortie d’impulsions avec rapport cyclique variable)
Fréquence
Temps
Exécution du PWM(----)
Exécution du INI(61)
Sortie en cours
Achèvement de la sortie
Définit le nombre d’impulsions
Exemple d’application
Explication
Dans cet exemple, lorsque la condition d’exécution (00005) bascule sur ON, les
impulsions cyclique variable sortent de la sortie 01000 (sortie d’impulsions 0) à
la fréquence de 100 Hz. Le rapport cyclique peut à ce moment--là être modifié en
tournant la roue codeuse à 0.
118
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Câblage
Câbler le CPM2A au pilote du moteur et à la roue codeuse comme l’illustration
suivante le montre :
Pilote du moteur
Câbler le CPM2C au pilote du moteur et à la roue codeuse comme l’illustration
suivante le montre. Dans ce cas, l’unité centrale avec des sorties transistor
récepteur est utilisée.
Connecteur de sortie
Numéros de broches du
connecteur des entrées
Pilote du
moteur
Roue codeuse
24 Vc.c.
Rem. Se reporter au manuel de programmation pour plus d’informations sur le
câblage.
Setup de l’API
15
DM 6642
0
0
0
Compteur à grande vitesse non utilisé.
(Définir pour des commandes d’impulsions autres
que synchronisées).
119
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Chapitre
Programmation (Exemple CPM2A)
00005 (Condition d’exécution)
(14)
DIV(33)
Détecte le passage sur OFF de la condition d’exécution.
Modifie la valeur 0 de la commande analogique en une valeur de 0 à 100.
Valeur du SR 250 (Commande analogique 0 dans les API CPM2A) (Voir Rem.)
Divise la valeur par 2.
Configuration du rapport cyclique
PWM(----) Sortie d’impulsions avec cyclique variable
Sortie d’impulsions 0
Fréquence de sortie : 100 Hz
Configuration du rapport cyclique
INI(61)
Interrompt la sortie d’impulsions 0.
Rem. Le CPM2C n’est pas fourni avec
une commande analogique. Pour
les configurations externes, préciser le mot d’entrée connecté à la
roue codeuse.
2-5-3 Utilisation des sorties d’impulsions avec accélération et
décélération trapézoïdales
Définit la méthode de
commande de direction
Sortie d’impulsions et de direction ou sortie d’impulsions avance/retour
Définit le numéro de
la sortie d’impulsions.
Sortie d’impulsions numéro 0
Câble les sorties
Setup de l’API (DM 6629)
Crée un programme
en schéma à contacts.
Numéros de sortie : 01000 et 01001
Le système de coordonnées de la PV
pour la sortie d’impulsions numéro 0
PULS(65) : Pour paramétrer le nombre d’impulsions en sortie.
ACC(----) : Pour contrôler les sorties d’impulsions avec accélération et
décélération trapézoïdales.
INI(61) : Pour arrêter les sorties d’impulsions et modifier la PV de la sortie
d’impulsions.
PRV(62) : Pour lire la PV et l’état de la sortie d’impulsions.
120
2-5
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Sorties d’impulsions avec accélération et décélération trapézoïdale
PULS(65) Instruction
ACC(----)
DEFINIT LES
IMPULSIONS
Précise impulsions
relatives ou absolues.
Instruction COMMANDE
D’ACCELERATION
Impulsion, CW
Direction, CCW
Mode appellation
Fréq. de démarrrage : 0 Hz à 10 kHz
Nb. d’impul. en S.
val. déf. (8 digits BCD)
Fréq. à atteindre : 10 Hz à 10 kHz
INI(61) Instruction
MODE
COMMANDE
Interrompt les S. d’impul..
Modifie la PV de la S. d’impu.
Rapport d’accél./de décél. :
10 ms aug./dim. 10 Hz à 10 kHz
Démarre les S. d’impulsions.
Immédiatement
Instruction
Chaque balayage Chaque
LECTURE PV
balayage
COMPTEUR A
Etat des S. d’impul.
PV d’impul. de S. PRV(62) GRANDE VITESSE
SR 228
AR 11
Setup de l’API
SR 229
Lire PV de S. d’impul.
Lire état S. d’impul.
DM 6629, bits
00 à 03
*S. = sortie et E. = entrée
Sélection de la méthode
de commande de la
direction
Sélectionner la méthode de commande de la direction de sortie d’impulsions
selon le type de signal utilisé.
Sorties d’impulsions et de direction
Sélection du numéro de
sortie d’impulsions
Sortie d’impulsions avance/retour
Sélectionne la sortie d’impulsions 0.
Numéro de sortie
01000
Numéro de sortie d’impulsions
0
01001
Câblage des sorties
Câbler les sorties de CPM2A comme montré dans l’illustration suivante :
Sorties d’impulsions et de direction
Sorties d’impulsions avance/retour
Sortie 01000 : Sortie d’impulsions
Sortie 01000 : sortie CW
Sortie 01001 : Sortie de direction
Sortie 01001 : sortie CCW
121
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Câbler les sorties de CPM2C comme montré dans l’illustration suivante :
Sorties d’impulsions et de direction
Sorties d’impulsions avance/retour
Connecteur de sortie
Connecteur de sortie
01000 : Sortie d’impulsions
01000 : Sortie CW
01001 : Sortie de direction
01001 : Sortie CCW
Setup de l’API
Effectuer le paramétrage suivant dans le Setup de l’API :
Mot
Bits
Fonction
DM 6629
00 à 03
Système de
coor-données de
PV de
l’impulsion 0
0: Système de coordonnées
relatives
1: Système de coordonnées
absolues
DM 6642
08 à 15
Paramé-trage du
compteur à
grande
vitesse
00: Ne pas utiliser.
01: Utiliser en tant que
compteur à grande vitesse
02: Utiliser comme commande
d’impulsions synchronisée (10 à
500 Hz).
03: Utiliser comme commande
d’impulsions synchronisée
(20 Hz à 1 kHz).
04: Utiliser comme commande
d’impulsions synchronisée
(300 Hz à 20 kHz).
Paramé-trage
0 ou 1
00 ou 01
Si des impulsions absolues sont indiquées avec PULS(65), s’assurer de définir
le système de coordonnées absolu (1).
La commande d’impulsions synchronisée ne peut pas être utilisée simultanément.
Le paramétrage ne serat effectif que lorsque le mode sera modifié (du PROGRAM au MONITOR/RUN) ou lorsque l’alimentation de l’API sera sur ON.
122
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Programme en schéma à
contacts
2-5
Le tableau suivant présente les fonctions d’instruction liées aux sorties d’impulsions avec accélération et décélération trapézoïdales (rapport cyclique fixe).
Instruction
(@)PULS(65)
(@)ACC(----)
Commande
Fonction
Définir le nombre
d’impulsions
Définir la fréquence et
démarrer les sorties
d’impulsions
Définit le nombre d’impulsions à
produire en mode indépendant.
Définit la fréquence à atteindre, la
fréquence de démarrage, et le taux
d’accélération/de décélération pour des
sorties en mode indépendant ou en
mode continu, et démarre les sorties
d’impulsions.
Modifie la fréquence pendant la sortie
d’impulsions en mode continu pour
l’accélération ou la décélération selon le
taux indiqué d’accélération/de
décélération.
Modifier la fréquence
Interrompre les sorties
d’impulsions
(@)INI(61)
(@)PRV(62)
Décélération des sorties d’impulsions
jusqu’à l’arrêt selon le taux indiqué
d’accélération/de décélération.
Interrompre les sorties
Interrompt les sorties d’impulsions.
d’impulsions (interruption
de décélération)
Modifier la PV de la
sortie d’impulsions
Lire la PV de la sortie
d’impulsions
Lire l’état de la sortie
d’impulsions
Modifie la PV de la sortie d’impulsions.
Lit la PV de la sortie d’impulsions.
Lit l’état de la sortie d’impulsions.
Le tableau suivant montre quelles instructions s’exécutent pendant les sorties
d’impulsions avec accélération et décélération trapézoïdales :
PULS(65)
SPED(64)
INI(61)
PRV(62)
ACC(----)
PWM(----)
Mode continu
Non
Non
Oui (Voir Rem. 1.) Oui
Non
Mode indépendant
Non
Non
Oui (Voir Rem. 1.) Oui
Oui (Voir Rem. 2.) Non
Rem.
Non
1. Cette instruction s’exécute seulement lorsque les sorties d’impulsions sont
interrompues. La PV n’est pas modifiable tant que des impulsions sont produites. Si la PV a besoin d’être modifiée, s’assurer d’abord que la sortie
d’impulsions est interrompue.
2. Cette instruction s’utilise seulement pour modifier la fréquence et interrompre la sortie d’impulsions. Elle ne peut pas être utilisée pour commuter entre
le mode indépendant et le mode continu. D’ailleurs, ACC(-- --) ne peut pas
être reçu pendant la décélération ou l’accélération.
Le tableau suivant montre les mots et les bits liés aux sorties d’impulsions avec
accélération et décélération trapézoïdales (rapport cyclique fixe) :
123
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Mot
Bits
Dénomination
228
00 à 15
PV de la sortie d’impulsions 0, les 4
digits à l’extrême doite
229
00 à 15
PV de la sortie d’impulsions 0, les 4
digits à l’extrême gauche
252
04
AR 11
11
Remise à zéro de la PV de la sortie
d’impulsions 0
Etat de la sortie d’impulsions 0
12
13
14
15
PV de la sortie d’impulsions 0
dépassement positif/négatif
Nombre d’impulsions défini pour la
sortie d’impulsions 0
Sortie d’impulsions achevée pour la
sortie d’impulsions 0
Sortie d’impulsions en cours pour la
sortie d’impulsions 0
2-5
Contenu
Ne peut pas être utilisé
comme bits de travail
même lorsque non
utilisé comme sortie
d’impulsions.
Supprime la PV 0
lorsqu’il est actif.
ON : Accélération ou
décélération
OFF : Vitesse
constante
ON : Se produit
OFF : Normal
ON : Défini
OFF : Non défini
ON : Achevé
OFF : Non achevé
ON : En cours (avec
SPED(64), ACC(----) ou
PWM(----))
OFF : Interrompu
Définir le nombre d’impulsions
Indiquer le nombre d’impulsions à produire en mode indépendant.
(@)PULS(65) 000
D
N
Fixé à 000 : Sortie d’impulsions 0
Drapeau de sortie d’impulsions (000 : Impulsions relatives ; 001 : Impulsions absolues) (Voir Rem.)
Premier mot du paramétrage pour le nombre d’impulsions
N
N+1
4 digits
à l’extrême droite
4 digits
à l’extrême gauche
Nombre d’impulsions (digits à l’extrême droite et gauche)
Répertorie le nombre d’impulsions à définir.
96 777 215 à 16 777 215 (soit de -- 16 777 215 à 16 777 215)
Les nombres négatifs sont obtenus en activant le bit à l’extrême gauche.
Drapeau de sortie d’impulsions
000 : Impulsions relatives (SV pour nombre d’impulsions = Nombre d’impulsions sorties)
001 : Impulsions absolues (SV pour nombre d’impulsions = PV de la sortie d’impulsions + nombre
d’impulsions sorties)*
*Les impulsions absolues sont seulement indiquées par PULS(65) lorsque le système
de coordonnées de la PV dans le Setup de l’API est défini pour un système de coordonnées absolu.
124
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Définir la fréquence et démarrer la modification de la fréquence de sorties
d’impulsions
Ces fonctions définissent le mode sortie, la fréquence à atteindre, la fréquence
de démarrage et le taux d’accélération/décélération, et elles commencent les
sorties d’impulsions. Elles peuvent également être utilisées pour modifier la fréquence, en accélérant ou décélérant au taux indiqué d’accélération/décélération, si les sorties d’impulsions déjà en cours sont en mode continu.
Configuration des fréquences, de l’accélération/décélération et du
démarrage des sorties d’impulsions en mode indépendant
(@)ACC(----)
000
M
T
M
Fixé à 000 : Sortie d’impulsions 0
Appellation du mode sortie
Premier mot du tableau de configuration
Mode sortie
Précise le mode sortie.
000 : Sorties d’impulsions avance/retour, mode indépendant
002 : Sorties d’impulsions et de direction, mode indépendant
T
Taux d’accélération/décélération (#0001 à #1000 BCD : 10 Hz à 10 kHz)
T+1
Fréquence à atteindre (#0001 à #1000 BCD : 10 Hz à 10 kHz)
T+2
Fréquence de démarrage (#0000 à #1000 BCD : 0 à 10 kHz)
Répertorie les données de chaque fréquence.
Le taux d’accélération/décélération correspond à l’augmentation ou à la diminution de fréquence toutes les 10 ms.
Fréquence de sortie d’impulsions
Fréquence
à atteindre
Fréquence de
démarrage
0 Hz
Nombre
d’impulsions
Temps
En mode indépendant, les points d’accélération et de décélération sont
déterminés selon le nombre d’impulsions, le taux d’accélération/décélération, la fréquence à atteindre et la fréquence de démarrage.
125
Fonctions de sortie d’impulsions du CPM2A/CPM2C
Chapitre
2-5
Configuration de la fréquence et de l’accélération/décélération, démarrage des sorties d’impulsions et modification de la fréquence en mode
continu
(@)ACC(----)
M
Fixé à 000 : Sortie d’impulsions 0
Intitulé du mode sortie
T
Premier mot du tableau de configuration
000
M
Mode sortie
Préciser le mode sortie.
010 : Sortie d’impulsions avance/retour, CW, mode continu
011 : Sortie d’impulsions avance/retour, CCW, mode continu
012 : Sortie d’impulsions et de direction, CW, mode continu
013 : Sortie d’impulsions et de direction, CCW, mode continu
T
Taux d’accélération/décélération (#0001 à #1000 BCD : 10 Hz à 10 kHz)
T+1
Fréquence à atteindre (#0001 à #1000 BCD : 10 Hz à 10 kHz)
T+2
Fréquence de démarrage (#0000 à #1000 BCD : 0 à 10 kHz)
Répertorie les données pour chaque fréquence.
Le taux d’accélération/décélération correspond à l’augmentation ou à la diminution de la fréquence toutes les 10 ms.
Fréquence de sortie d’impulsions
Fréquence
à atteindre
Fréquence
de
démarrage
0 Hz
Temps
En mode continu, les impulsions se produisent à la fréquence à atteindre
jusqu’à ce quelles soient interrompues. L’instruction ACC(----) suivante ne
peut être reçue que lors d’accélération ou de décélération.
Modifier la PV de la sortie d’impulsions
Cette fonction modifie la PV de la sortie d’impulsions.
(@)INI(61)
000
004
C2
C2
C2+1
Fixé à 000 : Sortie d’impulsions 0
Intitulé de commande (004 : Modifie la PV de la sortie d’impulsions)
Premier mot pour la modification de la PV en données
4 digits
à l’extrême droite
4 digits
à l’extrême gauche
Modifie les données de la PV (digits à l’extrême : droite et gauche)
Répertorie les données de la PV à modifier.
96 777 215 à 16 777 215 (soit de -- 16 777 215 à 16 777 215)
Les nombres négatifs sont obtenus en activant le bit à l’extrême gauche.
Rem. La PV de la sortie d’impulsions se modifie seulement lorsque la sortie d’impulsions est interrompue.
126
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Interrompre les sorties d’impulsions,
Ralentir et interrompre les sorties d’impulsions
Ces fonctions interrompent les sorties d’impulsions.
Interrompre les sorties d’impulsions
(@)INI(61)
000
Fixé à 000 : Sortie d’impulsions 0
003
Intitulé de commande (003 : Interrompre les sorties d’impulsions)
000
Fixé à 000
Ralentir et interrompre les sorties d’impulsions
(@)ACC(----)
000
000
T
Fixé à 000 : Spécificateur de port
Mode appellation
Premier mot du tableau de configuration
T
Taux d’accélération/décélération (N_0001 à N_1000 BCD : 10 Hz à 10 kHz)
T+1
Fréquence à atteindre (N_0000 à N_1000 BCD : 0 Hz à 10 kHz)
T+2
Fréquence de démarrage (N_0000 à N_1000 BCD : 0 à 10 kHz)
Répertorie les données de chaque fréquence.
Le taux d’accélération/décélération correspond à l’augmentation ou à la diminution en fréquence toutes les 10 ms.
Rem. Les sorties d’impulsions peuvent également être interrompues en commutant
l’API au mode PROGRAM.
Lecture de la PV de la sortie d’impulsions
Cette fonction lit la PV de la sortie d’impulsions.
Utilisation d’une instruction
(@)PRV(62)
000
003
D
D
D+1
Fixé à 000 : Sortie d’impulsions 0
Intitulé de commande (003 : Lecture de la PV de la sortie d’impulsions)
Premier mot pour mémoriser la PV de la sortie d’impulsions
4 digits
à l’extrême droite
4 digits
à l’extrême gauche
PV de la sortie d’impulsions (digits à l’extrême : droite et gauche)
Les données de la PV lue sont mémorisées ici.
96 777 215 à 16 777 215 (soit --16 777 215 à 16 777 215)
Les nombres négatifs sont obtenus en activant le bit à l’extrême gauche.
Utilisation des zones de données
Comme montré dans l’illustration suivante, la PV de la sortie d’impulsions 0 est
mémorisée dans les mots 228 et 229 :
Sortie d’impulsions 0
Mot 228
PV (Extrême droite)
Mot 229
PV (Extrême gauche)
Rem. La SR 228 et la SR 229 sont rafraîchies une fois à chaque cycle, ainsi les valeurs
dans ces mots ne reflètent pas toujours l’état réel pendant chaque cycle, mais la
SR 228 et la SR 229 sont rafraîchies immédiatement lorsque leur valeur est lue
avec PRV(62).
127
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Lecture de l’état de la sortie d’impulsions
Cette fonction lit l’état de la sortie d’impulsions.
En utilisant une instruction
(@)PRV(62)
000
Fixé à 000 : Sortie d’impulsions 0
001
Intitulé de commande (001 : Lecture de l’état de la sortie d’impulsions)
Mot pour mémoriser l’état de la sortie d’impulsions
D
Etat de la sortie d’impulsions
0 : Taux constant
1 : Accélération ou décélération
Dépassement positif/négatif
de la PV de la sortie d’impulsions
0 : Normal ; 1 : Dépassement positif/
négatif survenu
Nombre d’impulsions
0 : Non défini
1 : Defini
Achèvement de la sortie d’impulsions
0 : Non achevé
1 : Achevé
Sortie d’impulsions en cours
0 : Interrompu
1 : Sortie en cours
Utilisation des zones de données
Comme montré dans l’illustration suivante, l’état de la sortie d’impulsions 0 est
mémorisé dans AR 1111 à AR 1115 :
AR 11 : Sortie d’impulsions 0
Sortie d’impulsions en cours
0 : Interrompu
1 : Sortie en cours
Achèvement de la sortie
d’impulsions
0 : Non achevé
1 : Achevé
Etat de la sortie d’impulsions
0 : Taux constant
1 : Accélération ou décélération
Dépassement positif/négatif de la PV de la sortie d’impulsions
0 : Normal
1 : Dépassement positif ou négatif survenu
Nombre d’impulsions
0 : Non défini
1 : Défini
Rem. Les zones de AR 1111 à AR 1115 sont rafraîchies une fois à chaque cycle, ainsi
les valeurs de ces drapeaux ne reflètent pas toujours l’état réel, mais ces drapeaux sont rafraîchis immédiatement lorsque leur état est lu avec PRV(62).
Relation entre l’état et le fonctionnement
Mode indépendant avec accélération et décélération
Fréquence
Temps
Exécution PULS(65)
Exécution ACC(----)
Sortie 0 en cours
Sortie 1 en cours
Achèvement de la Sortie
Etat de la sortie
Nombre défini d’impulsions
Rem. Sortie 0 : sortie d’impulsions.
Sortie 1 : sortie direction.
128
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Mode continu avec accélération et décélération 1
Fréquence
Temps
Exécution ACC(----) (1)
Exécution ACC(----) (2)
Exécution INI(61)
Sortie 0 en cours
Sortie 1 en cours
Achèvement de la Sortie
Etat de la sortie
Nombre défini d’impulsions
Mode continu avec accélération et décélération 2
Fréquence
Temps
Exécution ACC(----) (Interruption)
Sortie 0 en cours
Sortie 1 en cours
Achèvement de la Sortie
Etat de la sortie
Nombre défini d’impulsions
Interruption des sorties en mode continu avec l’accélération et la décélération 1
Fréquence
Temps
Exécution PULS(65)
Exécution ACC(----)
Exécution INI(61)
Sortie 0 en cours
Sortie 1 en cours
Achèvement de la Sortie
Etat de la sortie
Nombre défini d’impulsions
129
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Interruption des sorties en mode continu avec l’accélération et la décélération 2
Fréquence
Temps
Exécution PULS(65)
Exécution ACC(----)
Exécution ACC(----)
Sortie 0 en cours
Sortie 1 en cours
Achèvement de la Sortie
Etat de la sortie
Nombre défini d’impulsions
Exemple d’application
Positionnement
Explication
Dans cet exemple, quand la condition d’exécution (00005) est sur ON, 1 000
impulsions sont produites à partir de la sortie 01000 (sortie d’impulsions 0) dans
un modèle d’accélération/décélération trapézoïdal comme montré dans le
schéma suivant :
Fréquence (Hz)
Taux d’accélération/décélération
500
10 Hz
10 ms
200
Nombre d’impulsions
Condition d’exécution (00005)
Câblage
Câbler le CPM2A au pilote du moteur comme montré dans l’illustration suivante :
Pilote du moteur
130
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Câbler le CPM2C au pilote du moteur comme montré dans l’illustration suivante.
Dans ce cas, une unité centrale avec les sorties de transistor récepteur est utilisée.
Connecteur de sortie
Pilote du
moteur
24 Vc.c.
Rem. Se reporter au manuel de programmation pour plus d’informations sur le câblage.
Setup de l’API
15
0
0
DM 6629
DM 6642
0
Définit le système de coordonnées pour la sortie d’impulsions 0 comme relatif.
Compteur à grande vitesse non utilisé. (Définit pour
une commande d’impulsions autre que synchronisé).
0
Programmation
00005 (Condition d’exécution)
(13)
Détecte l’activation de la condition d’exécution.
PULS(65) Définit le nombre d’impulsions.
Sortie d’impulsions 0
Impulsions relatives
d’impulsions
ACC(----)
Nombre d’impulsions : 1 000
Définit la fréquence et démarre les sorties d’impulsions.
Sortie d’impulsions 0
Mode indépendant, sortie d’impulsions avance/retour
Premier mot du
Taux d’accélération/décélération : 10 Hz/10 ms
tableau de configuFréquence à atteindre : 500 Hz
ration
Fréquence de démarrage : 200 Hz
131
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Fonctionnement pas à pas
Explication
Dans cet exemple, quand la condition d’exécution (00005) est ON, les impulsions pas à pas (JOG) sont produites à une fréquence de 100 Hz de l’une ou
l’autre des sorties 01000 (sens CW) ou 01001 (sens CCW). Lorsque la condition
d’exécution (00005) est OFF, la sortie est interrompue. Comme montré dans le
schéma suivant, les impulsions JOG sont accélérées et décélérées au démarrage et à l’interruption de la fonction. Le basculement entre les sorties 01000
(sens CW) et 01001 (sens CCW) est exécuté au moyen de l’indicateur de direction (00006).
Fréquence (Hz)
Taux accélération/décélération
Temps
10 Hz
10 ms
Condition d’exécution (00005)
Indicateur de direction (00006)
Câblage
Câbler le CPM2A au pilote du moteur comme montré dans l’illustration suivante :
Pilote du moteur
132
Chapitre
Fonctions de sortie d’impulsions du CPM2A/CPM2C
2-5
Câbler le CPM2C au pilote du moteur comme montré dans l’illustration suivante.
Dans ce cas, une unité centrale avec les sorties transistor récepteur est utilisée.
Connecteur de sortie
Pilote
du moteur
24 Vc.c.
Rem. Se reporter au manuel de programmation pour plus d’informations sur le
câblage.
Setup de l’API
15
0
0
DM 6629
DM 6642
0
0
Définit le système de coordonnées pour la sortie d’impulsions 0 comme relatif.
Compteur à grande vitesse non utilisé (Défini pour une commande d’impulsions autre que synchronisée).
Programmation
00005 (Condition d’exécution)
(Indicateur de direction)
(13)
Détecte l’activation de la condition d’exécution.
(14)
Détecte la désactivation de la condition d’exécution.
AR1115
ACC(----)
Sortie en sens CW
Sortie d’impulsions 0
Mode continu, impulsions avance/retour, sens CW
Premier mot du tableau de configuration
ACC(----)
Sortie en sens CCW
Sortie d’impulsions 1
Mode continu, impulsions avance/retour, sens CCW
Premier mot du tableau de configuration
Taux d’accélération/décélération : 10 Hz/10 ms
Fréquence à atteindre : 500 Hz
Fréquence de démarrage : 200 Hz
(Indicateur de
direction)
(14)
ACC(----)
Interruption de décélération
Sortie d’impulsions 0
Premier mot du tableau de configuration
Taux d’accélération/décélération : 10 Hz/10 ms
Fréquence à atteindre : 0 Hz
133
Chapitre
Fonctions de la sortie d’impulsions du CPM1A
2-6
2-6
Fonctions de la sortie d’impulsions du CPM1A
Les API du CPM1A avec des sorties transistors ont une fonction de sortie d’impulsions capable de produire une impulsion de 20 Hz à 2 kHz (monophasées).
L’une ou l’autre des zones IR 01000 ou IR 01001 peut être sélectionnée pour la
sortie d’impulsions et la sortie d’impulsions peut être définie soit pour le mode
continu, où la sortie est interrompue par une instruction, soit pour le mode indépendant, où la sortie est interrompue après un nombre prédéfini d’impulsions (1
à 16 777 215).
Se reporter au manuel de programmation du CPM1A pour plus d’informations
sur des raccordements de matériel aux points et aux ports de sorties.
Les impulsions sont transmises à une fréquence précise jusqu’à leurs interruptions.
Mode continu
La sortie d’impulsions s’interrompt automatiquement lorsque le
nombre précisé d’impulsions a été transmis.
Mode indépendant
Nombre précisé d’impulsions
Moteur pas à pas
Moteur pas à pas
Entrée de commande
Contrôleur
du moteur
Sortie de commande CW/CCW
Sortie d’impulsions
(sortie monophasée)
IR 01000 ou IR 01001
Rem.
1. Le CPM1A utilise une sortie d’impulsions monophasée. Le signal de commande pour le sens de la rotation (CW/CCW) du pilote du moteur doit être
écrit dans le programme.
2. S’assurer d’utiliser une unité centrale avec des sorties transistors.
134
Chapitre
Fonctions de la sortie d’impulsions du CPM1A
2-6
2-6-1 Exemple de programmation en mode continu
Dans cet exemple de programme, la sortie d’impulsions commence à IR 01000
lorsque l’entrée IR 00004 passe sur ON et s’arrête lorsque l’entrée IR 00005
passe sur ON.
SPED(64) est utilisé pour interrompre ou démarrer la sortie d’impulsions. En utilisant SPED(64) dans ce but, indiquer N_ 0000 (contenu dans la constante ou le
mot) comme fréquence d’impulsions.
00004 (Etat de sortie d’impulsions)
@SPED(64)
000
001
#0100
00005 (Etat d’interruption de la sortie
d’impulsions)
@INI(61)
Démarre la sortie d’impulsions.
Sortie du 01000
Mode continu
Fréquence d’impulsions : 1 kHz
Interrompt la sortie d’impulsions.
000
003
000
2-6-2 Exemple de programmation en mode indépendant
Dans cet exemple de programme, la sortie d’impulsions commence à IR 01000
lorsque l’entrée IR 00004 passe sur ON, et s’arrête dès que le nombre indiqué
d’impulsions a été produit. La quantité d’impulsions est définie en DM 0100 et
DM 0101.
00004 (Etat de la sortie d’impulsions)
@PULS(65)
Définit le nombre d’impulsions.
000
000
DM 0100
Paramètre le nombre d’impulsions
00004 (Etat de la sortie d’impulsions)
@SPED(64)
000
000
#0100
Démarre la sortie
d’impulsions.
Mode indépendant
Fréquence d’impulsions : 1 kHz
2-6-3 Utilisation des instructions de la sortie d’impulsions
Paramétrage du nombre
d’impulsions
Avant le lancement de la sortie d’impulsions à partir du mode indépendant, utiliser PULS(65) comme montré ci--dessous pour définir le nombre d’impulsions à
produire. Ce paramétrage n’est pas exigé pour le mode continu.
@PULS(65)
000
000
N
Dans N, définir l’adresse du premier mot des mots où le nombre d’impulsions est
défini. Mémoriser le nombre d’impulsions dans les mots N et N+1, dans huit
digits BCD, avec les quatre digits à l’extrême gauche dans N+1 et les quatre
digits à l’extrême droite dans N.
Effectuer le paramétrage dans une plage de 00000001 à 16777215 (BCD).
135
Chapitre
Fonctions de la sortie d’impulsions du CPM1A
2-6
Avec SPED(64), définir la position du bit pour les sorties d’impulsions (IR 01000
ou IR 01001), le mode sortie (indépendant, continu) et la fréquence d’impulsions
pour démarrer la sortie d’impulsions.
Démarrage de la sortie
d’impulsions
@SPED(64)
P
M
F
P (3 digits BCD)
M (3 digits BCD)
F (4 digits BCD)
Rem.
000 : Produit vers IR 01000
010 : Produit vers IR 01001
000 : Mode indépendant
001 : Mode continu
Pour la première fréquence de sortie d’impulsions,
indiquer les contenus de la constante ou du mot. La
valeur indiquée et la fréquence définie sont :
Valeur indiquée :
0002 à 0200
Fréquence définie : 20 à 2 000 Hz
1. Les impulsions ne se produisent qu’à partir d’un seul bit à la fois.
2. Lorsque la sortie d’impulsions est commencée en mode indépendant, le
nombre d’impulsions est lu dès que SPED(64) est exécuté. PULS(65) n’est
pas utilisable pour modifier le nombre d’impulsions quand les impulsions
sont produites.
2-6-4 Modification de la fréquence
Pour modifier la fréquence pendant la sortie d’impulsions, modifier la configuration de la fréquence avec SPED(64). A ce moment--là, paramétrer les opérandes autres que celui de la fréquence aux mêmes valeurs de sélection qu’au
début de la sortie par impulsion.
@SPED(64)
P
M
F
P (3 digits BCD)
M (3 digits BCD)
F (4 digits BCD)
Identique à la première sortie d’impulsions.
Identique à la première sortie d’impulsions.
Pour la fréquence de sortie d’impulsions modifiée,
indiquer les contenus de la constante ou du mot. La
valeur indiquée et la fréquence définie sont :
Valeur indiquée :
0002 à 0200
Fréquence définie : 20 à 2 000 Hz
2-6-5 Interruption de la sortie d’impulsions
Lorsque des impulsions sont produites en mode indépendant, la sortie d’impulsions s’arrêtera automatiquement dès que le nombre d’impulsions indiquées
par PULS(65) sera produit. Lorsque des impulsions sont produites en mode
continu, l’une ou l’autre des deux méthodes suivantes s’utilise pour interrompre
la sortie d’impulsions :
1. Utiliser SPED(64) pour définir la fréquence à 0.
2. Utiliser INI(61) pour interrompre la sortie d’impulsions.
Utilisation de SPED(64)
136
La première méthode consiste à utiliser SPED(64) pour interrompre la sortie
d’impulsions en paramétrant la fréquence à 0. Pour plus d’informations, se
reporter au paragraphe 2--6--4 Modification de la fréquence.
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Chapitre
2-7
La deuxième méthode consiste à utiliser INI(61) pour interrompre la sortie d’impulsions, comme suit :
Utilisation de INI(61)
@INI(61)
000
003
000
2-7
Commande d’impulsions synchronisée (CPM2A/CPM2C
uniquement)
En combinant la fonction du compteur à grande vitesse de CPM2A/CPM2C
avec la fonction de sortie d’impulsions, la fréquence d’impulsions de sortie peut
être commandée comme un multiple de la fréquence d’impulsions d’entrée indiquée.
Rem. Une unité centrale avec des sorties transistors est exigée afin d’utiliser la commande d’impulsions synchronisée : soit un CPM2A-jjCDT-D, soit un
CPM2A-jjCDT1-D.
Le schéma suivant présente la configuration pour un CPM2A, la configuration
pour un CPM2C est identique.
Entrée du compteur
Entrée d’impulsions
00000 ou 00001
Moteur principal
Codeur rotatif
Pilote du
moteur
Sortie d’impulsions 01000 ou
01001 (sortie monophasée)
137
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Chapitre
2-7
Mode entrée
Mode entrée
bidirectionnelle
Numéro
d’entrée
00000
Entrée phase A
00001
Entrée phase B
Mode entrée
d’impulsions et
de direction
Mode entrée
d’impulsions
avance/retour
Entrée du
compteur
Entrée de direction
Entrée CW
Entrée CCW
Entrée du
compteur
(Voir Rem. 1)
Entrée de
monophase
Entrée de
monophase
Entrée de
monophase
Méthode d’entrée
Entrée
bidirectionnelle
(4X)
Plage de fréquence d’entrée
10 à 500 Hz (précision !1 Hz)
20 Hz à 1 kHz (précision !1 Hz)
300 Hz à 20 kHz (précision ! 25 Hz) (Voir Rem. 2)
Numéro de
sortie (Voir
Rem. 3.)
01000
Sortie d’impulsions 0
01001
Sortie d’impulsions 1
Méthode de sortie
Sortie monophasée
Plage de fréquence de sortie
10 Hz à 10 kHz (précision 10 Hz)
Taux de fréquence
1% à 1 000% (indiqué par unité de 1%)
Cycle de commande synchronisé
10 ms
Rem.
Mode incrémental
1. Peut être utilisé comme entrée ordinaire.
2. Lorsque de 10 kHz ou moins, la précision est de +10 Hz.
3. L’une ou l’autre peut être sélectionnée en tant que numéro de sortie, en utilisant SYNC(-- --).
Les sens des entrées d’impulsions sont tous ignorés. La fréquence d’une impulsion reçue est lue, indépendamment du sens.
Le tableau suivant montre les relations entre la commande d’impulsions synchronisée et les autres fonctions du CPM2A :
Fonction
Commande d’impulsions
synchronisée
Commande d’impulsions
synchronisée
---
Entrées d’interruption
S’utilise simultanément.
Interruptions d’horloge
S’utilise simultanément.
Compteurs à grande vitesse
Ne s’utilise pas simultanément.
Entrées d’interruption (mode
compteur)
S’utilise simultanément.
Sorties d’impulsions
Ne s’utilise pas simultanément.
Entrées de capture
S’utilise simultanément.
Constant de temps d’entrée
Voir Rem.
Horloge
S’utilise simultanément.
Rem. Lorsque les entrées 00000 et 00001 sont définies pour être utilisées comme des
entrées de commande d’impulsions synchronisée, le paramétrage de la constante de temps d’entrée des entrées concernées est désactivé. Cependant les
constantes de temps d’entrée demeurent opérationnelles, pour les valeurs actualisant la zone de données d’entrée appropriée.
138
Chapitre
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
2-7
La relation entre la fréquence d’entrée d’impulsions et la fréquence de sortie
d’impulsions est présentée ci--dessous :
Fréquence d’entrée
d’impulsions
X Taux de fréquence =
Esquisse de la fréquence de sortie d’impulsions
Valeurs arrondies en unité de 10 Hz.
10 à 500 Hz
Une valeur inférieure à 10 Hz est considérée être à 0 Hz.
20 Hz à 1 kHz
Une valeur supérieure à 10 Hz est considérée être à 10 kHz.
300 Hz à 20 kHz
Fréquence de sortie
d’impulsions
(10 Hz à 10 kHz)
Le cycle de commande du facteur de mise à l’échelle est de 10 ms et la fréquence de la sortie d’impulsions est modifiée à intervalles de 10 ms en fonction
de la fréquence d’entrée d’impulsions.
Fréquence
Temps
Utilisation de la commande d’impulsions synchronisée
Définit le mode d’entrée.
Définit la fréquence d’entrée de
synchronisation d’impulsions.
Câble les entrées et les sorties
Setup de l’API (DM 6642)
Crée un programme en
schéma à contacts.
Mode entrée d’impulsions bidirectionnelle , mode entrée d’impulsions et de direction, mode entrée d’impulsions avance/retour, mode
incrémental
Fréquence d’entrée : 10 Hz à 500 Hz ; 20 Hz à 1 kHz ; 300 Hz à 20 kHz
Numéros d’entrées : 00000, 00001 et 0002
Numéros de sorties : 01000 et 01001
Configuration de la commande d’impulsions synchronisée : mode entrée, fréquence d’entrée
SYNC(----) : Pour la première commande d’impulsions synchronisée et la modification du
facteur de mise à l’échelle.
INI(61) : Pour interrompre la commande d’impulsions synchronisée.
PRV(62) : Pour lire la fréquence du compteur à grande vitesse et l’état de la commande
d’impulsions synchronisée.
139
Chapitre
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Commande d’impulsions synchronisée
2-7
Setup de l’API
DM 6642, bits 08 à 15
10 Hz à 500 Hz
20 Hz à 1 kHz
300 Hz à 20 kHz
l’un ou l’autre
Entrées
du
codeur
Mode entrée
Compter
Sortie d’impulsions 0
Sortie d’impulsions 1
E. bidirectionnelle
Programme en schéma à contacts
E. d’impul. et de dir.
Entrée avance/retour
Instruction COMMANDE
SYNC(----) D’IMPULSIONS
Entrée d’incrément
SYNCHRONISEE
Démarre la com.
d’impul. synch.
Modif. facteur de
mise à l’échelle
Setup de l’API
DM 6642, bits
00 à 03
Instruction COMMANDE
INI(61)
DE MODE
Interruption de la com.
d’impul. synch.
Chaque balayage
PV de la fréquence du compteur
SR 249
*E. = entrée
Immédiatement
PRV(62)
SR 248
Chaque balayage
Instruction LECTURE DE
LA PV DU COMPTEUR A
GRANDE VITESSE
Lecture de la fréq. du
compteur à grande vitesse
Lecture de l’état de la
com. d’impul. synch.
Etat de la com. d’impul. synch.
AR 1100 à AR 1107
La fréquence de la sortie d’impulsions n’est pas lisible.
Sélection du mode
entrée
Sélectionner le mode entrée bidirectionnelle, mode entrée d’impulsions et de
direction, le mode entrée d’impulsions avance/retour, ou le mode incrémental.
Ces modes sont expliqués ci--dessous.
Sélection de la fréquence
d’entrée de
synchronisation
d’impulsions
Sélectionner une des plages de fréquence d’entrée suivantes : 10 Hz à 500 Hz,
20 Hz à 1 kHz ou 300 Hz à 20 kHz. Pour plus d’informations sur les fréquences
d’entrée, se reporter aux schémas suivants.
Mode entrée bidirectionnelle
En mode entrée bidirectionnelle, le compteur est incrémenté ou décrémenté
selon deux signaux bidirectionnels (phase A et phase B) avec un facteur de multiplication de 4.
ON
Phase A
OFF
ON
Phase B
OFF
Nms $ Fréquence =
1 000
N
Mode d’impulsions et de direction
En mode entrée d’impulsions et de direction, des signaux d’impulsions et des
140
Chapitre
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
2-7
signaux de direction sont reçus et le compteur est incrémenté ou décrémenté
selon l’état du signal de direction.
ON
Entrées
d’impulsions OFF
Entrées
de direction
ON
OFF
Nms $ Fréquence =
1 000
N
Mode entrée d’impulsions avance/retour
En mode entrée d’impulsions avance/retour, des signaux CW (impulsions vers
le haut) et des signaux CCW (impulsions vers le bas) sont reçus et le compteur
est incrémenté ou décrémenté en conséquence.
ON
Entrées CW
OFF
ON
Entrées
CWW
OFF
Incrémenté
Nms $ Fréquence =
Décrémenté
1 000
N
Mode incrémental
En mode incrémental, des signaux d’impulsions sont reçus et le compteur est
incrémenté à chaque impulsion. Des entrées de phase B peuvent être utilisées
en tant qu’entrées ordinaires.
ON
Entrées
d’impulsions OFF
Nms $ Fréquence =
1 000
N
141
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Chapitre
Câblage des entrées
Câblage d’entrée
Câbler les entrées du CPM2A comme montré dans le schéma suivant :
Mode entrée bidirectionnelle
Mode entrée d’impulsions avance/retour
00000 : Entrée phase A
00001 : Entrée phase B
00002 : Entrée phase Z
Mode entrée d’impulsions et de direction
00000 : Entrée CW
00001 : Entrée CCW
Mode incrémental
00000 : Entrée d’impulsions
00001 : Entrée de direction
142
00000 : Entrée d’impulsions
2-7
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Chapitre
2-7
Câbler les entrées du CPM2C comme montré dans le schéma suivant.
Mode d’entrée bidirectionnelle
Mode d’entrée d’impulsions avance/retour
Numéros de broches du
connecteur des entrées
Numéros de broches
du connecteur des entrées
00002 : Entrée de phase Z
00001 : Entrée de phase B
00001 : Entrée CCW
00000 : Entrée de phase A
00000 : Entrée CW
Mode d’impulsions et de direction
Mode incrémental
Numéros de broches du
connecteur des entrées
Numéros de broches du
connecteur des entrées
00001 : Entrée de direction
00000 : Entrée d’impulsions
00000 : Entrée d’impulsions
Câblage de sorties
Câbler les sorties du CPM2A comme montré dans le schéma suivant :
Câblage de sorties
01000 : Sortie d’impulsions 0
01001 : Sortie d’impulsions 1
143
Chapitre
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
2-7
Câbler les sorties du CPM2C comme montré dans le schéma suivant.
Connecteur de sortie
01000 : Sortie d’impulsions 0
01001 : Sortie d’impulsions 1
Setup de l’API
La configuration du Setup de l’API concernant la commande d’impulsions synchronisée est présentée dans le tableau suivant :
Mot
DM 6642
Bits
00 à 03
Fonction
Configuration du mode entrée du compteur à
grande vitesse
Paramé-trage
0, 1, 2 ou
4
0 : Entrée bidirectionnelle
5 kHz
1 : Entrée d’impulsions et de direction
20 kHz
2 : Entrée avance/retour
20 kHz
4 : Incrémental
20 kHz
04 à 07
Configuration de la méthode de réinitialisation
du compteur à grande vitesse
0 ou 1
0 : Signal de phase Z ou bit de RAZ
1 : Bit de RAZ uniquement
08 à 15
Configuration du compteur à grande vitesse
02, 03, 04
00 : Ne pas utiliser.
01 : Utiliser pour un compteur à grande
vitesse
02 : Utiliser pour une commande d’impulsions
synchronisée
(10 Hz à 500 Hz)
03 : Utiliser pour une commande d’impulsions
synchronisée
(20 Hz à 1 kHz)
04 : Utiliser pour une commande d’impulsions
synchronisée
(300 Hz à 20 kHz)
Les configurations sont effectives dès que le mode est modifié (de PROGRAM à
MONITOR/RUN) ou dès que l’alimentation est activée pour l’API.
144
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Programme en schéma à
contacts
Chapitre
2-7
Le tableau suivant montre les fonctions d’instruction liées à la commande d’impulsions synchronisée :
Instruction
Commande
(@)SYNC(----)
Fonction
Démarrer la commande
synchronisée
Précise le facteur de mise à l’échelle
des fréquences et du port de sortie, et
des sorties impulsions.
Modifier le facteur de
mise à l’échelle des
fréquences
Modifie le facteur de mise à l’échelle des
fréquences pendant les sorties
d’impulsions.
(@)INI(61)
Interrompre la
commande
synchronisée
Interrompt la sortie d’impulsions.
(@)PRV(62)
Lecture de la fréquence
d’entrée
Lecture de l’état de la
commande
synchronisée
Lit la fréquence d’entrée.
Lit l’état de la commande synchronisée.
Le tableau suivant montre les mots et les bits liés à la commande d’impulsions
synchronisée :
Mot
Bits
248
00 à 15
249
00 à 15
AR 11
15
AR 12
15
Dénomination
PV de la fréquence d’entrée, digits
à l’extrême droite
PV de la fréquence d’entrée, digits
à l’extrême gauche
Sortie d’impulsions en cours pour
Sortie d’impulsions 0
Sortie d’impulsions en cours pour
Sortie d’impulsions 1
Contenu
Lit la PV de la
fréquence
d’entrée.
q
ON : Sortie en cours
OFF : Interrompu
p
Démarrer la commande de fréquence
Cette fonction indique les bits pour les sorties d’impulsions (01000, 01001) et le
facteur de mise à l’échelle des fréquences (1% à 1 000%) et démarre la sortie
d’impulsions.
(@)SYNC(----)
000
P2
C
C
Intitulé du port d’entrée d’impulsions (000 : Compteur à grande vitesse)
Intitulé du port de sortie d’impulsions (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
Configuration du facteur de mise à échelle des fréquences
Facteur de mise à échelle des fréquences
Répertorie le facteur de mise à l’échelle des fréquences à définir.
N_0001 à N_1000 (4 digits BCD) : 1 à 1 000%
Rem. En utilisant SYNC(-- --) pour indiquer un facteur de mise à l’échelle des fréquences, s’assurer de garder la fréquence de la sortie d’impulsions inférieure à
10 kHz.
Modifier le facteur de mise à l’échelle des fréquences
Cette fonction modifie le facteur de mise à l’échelle des fréquences pendant la
commande synchronisée (durant la sortie d’impulsions) en indiquant les bits
pour les sorties d’impulsions (01000, 01001) et le facteur de mise à l’échelle des
fréquences (1% à 1 000%) et en exécutant SYNC(-- --).
145
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Chapitre
2-7
Interrompre la commande synchronisée
Cette fonction interrompt les sorties d’impulsions.
(@)INI(61)
005
Spécificateur de port (000 : Compteur à grande vitesse)
Intitulé de commande (005 : Interrompre la commande synchronisée)
000
Fixé : 000
000
Rem. La sortie d’impulsions peut également être arrêtée en basculant l’API au mode
PROGRAM.
Lire la fréquence d’entrée
Cette fonction lit la PV de la fréquence d’entrée.
Utilisation d’une instruction
(@)PRV(62)
000
000
D
Fixé : 000
Intitulé de commande (000 : Lire la fréquence d’entrée du compteur à grande vitesse)
Premier mot pour la mémorisation de la PV de la fréquence d’entrée
D
4 digits à l’extrême droite
D+1
4 digits à l’extrême gauche
00000000 à 00020000 (8 digits BCD)
Utilisation des zones de données
Comme montré dans l’illustration suivante, la fréquence d’entrée est mémorisée dans les mots 248 et 249 :
Mot 248
PV de la fréquence d’entrée (Extrême droite)
Mot 249
PV de la fréquence d’entrée (Extrême gauche)
Les mots 248 et 249 sont rafraîchis à chaque balayage, ainsi un écart peut toujours exister par rapport à la PV exact à un moment donné.
Lorsque la PV est lue en exécutant PRV(62), les mots 248 et 249 sont rafraîchis
pendant l’instruction.
Lire l’état de la commande synchronisée
Cette fonction lit l’état de la commande synchronisée.
Utilisation d’une instruction
(@)PRV(62)
000
Spécificateur de port (000 : Sortie d’impulsions 0 ; 010 : Sortie d’impulsions 1)
001
Intitulé de commande (001 : Lire l’état de la commande synchronisée)
Premier mot pour mémoriser l’état de la commande synchronisée
D
# Spécificateur de port : 000
Etat de la sortie d’impulsions 0
0 : Interrompu
1 : Sortie d’impulsions en cours
# Spécificateur de port : 010
Etat de la sortie d’impulsions 1
0 : Interrompu
1 : Sortie d’impulsions en cours
146
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
Chapitre
2-7
Utilisation des zones de données
Comme l’illustration suivante le montre, l’état de la sortie d’impulsions 0 est
mémorisé dans AR 1115 et l’état de la sortie d’impulsions 1 est mémorisé dans
AR 1215.
AR 11
Etat de la sortie d’impulsions 0
0 : Interrompu
1 : Sortie en cours
AR 12
Etat de la sortie d’impulsions 1
0 : Interrompu
1 : Sortie en cours
AR 1115 et AR 1215 sont rafraîchis une fois à chaque cycle, ainsi un écart peut
toujours exister avec la PV exacte à un moment donné.
Lorsque la PV est lue en exécutant PRV(62), AR 1112 et AR 1212 sont rafraîchis
immédiatement.
Relation entre l’état et le fonctionnement
Fréquence
Impulsions d’entrée
Temps
Fréquence
Impulsions de sortie
Temps
Exécution SYNC(----)
Exécution INI(61)
Sortie 0 en cours
Sortie 1 en cours
Exemple d’application
Explication
Dans cet exemple, lorsque la condition d’exécution (00005) passe sur ON, la
commande d’impulsions synchronisée est démarrée et des impulsions sont produites à partir de la sortie 01000 (sortie d’impulsions 0) en fonction des impulsions entrées par le compteur à grande vitesse. C’est à ce moment là que le
facteur de mise à l’échelle des fréquences peut être modifié au moyen de la
commande analogique 0. Lorsque la condition d’exécution (00005) passe sur
OFF, la commande d’impulsions synchronisée est interrompue.
147
Chapitre
Commande d’impulsions synchronisée (CPM2A/CPM2C uniquement)
2-7
Câblage
Câbler le CPM2A comme montré dans l’illustration suivante :
Orange
Blanc
Noir
Bleu
Codeur rotatif
Marron
Pilote du moteur
Câbler le CPM2C comme montré dans l’illustration suivante. Dans ce cas, une
unité centrale avec des sorties de transistor récepteur est utilisée.
Numéros de broches
du connecteur des
entrées
Connecteur de sortie
Pilote du
moteur
Bleu
Codeur rotatif
Marron
COM
Orange
24 Vc.c.
Blanc
Noir
Rem. Pour plus d’informations concernant le câblage du pilote du moteur aux sorties
et le câblage au codeur rotatif aux entrées, se reporter au Manuel de programmation du CPM2A/CPM2C.
Setup de l’API
15
DM 6642
0
0
2
0
0
0 : Entrée bidirectionnelle
02 : Utilise une sortie de synchronisation de phase
148
Chapitre 2-10
Fonctions maître d’E/S du CompoBus/S (SRM1(-V2) uniquement)
Programmation
00005 (Condition d’exécution)
DIFD(14) 20000
Détecte le passage sur OFF de la condition d’exécution.
MOV(21)
250
DM0000
Déplace la valeur de la commande analogique 0 en DM 0000.
CMP(20)
Définit DM 0000 à “1” lorsque la commande analogique 0 est réglée à “0.”
MOV(21)
(Les commandes analogiques sont intégrées dans
les API du CPM2A, mais pas dans ceux du CPM2C)
SYNC(----) L’execution de la COMMANDE D’IMPULSIONS SYNCHRONISEE
Compteur à grande vitesse
Port de sortie d’impulsions 0
Premier mot du facteur de mise à l’échelle de la fréquence
INI(61)
2-8
Interrompt la commande d’impulsions synchronisée
Fonctions analogiques d’E/S (CPM1/CPM1A/CPM2A
uniquement)
Jusqu’à 3 unités d’E/S analogiques se connectent à l’API pour fournir des E/S
analogiques. Une unité d’E/S analogique permet 2 entrées analogiques et 1 sortie analogique. Pour plus d’informations se reporter au paragraphe 3--1 Unité
analogique.
2-9
Fonctions esclave d’E/S du CompoBus/S (CPM1A/CPM2A
uniquement)
L’API du CPM2A fonctionne comme une unité esclave par rapport à l’unité maître CompoBus/S (ou de l’unité de commande maître du CompoBus/S de SRM1)
lorsqu’une unité de liaison d’E/S du CompoBus/S est connectée. Se reporter,
pour plus d’informations, au paragraphe 3--2 Unité de liaison d’E/S du CompoBus/S.
2-10 Fonctions maître d’E/S du CompoBus/S (SRM1(-V2)
uniquement)
Nombre maximal de stations Un maximum de 16 ou 32 stations CompoBus/S sont connectables.
Mode communication
Mode g
grande vitesse
Mode longue
g distance
N_
_ de stations
définies
16
Temps de réponse des
communications
0,5 ms
32
0,8 ms
16
4,0 ms
32
6,0 ms
Le mode communication et le nombre maximal de stations sont définis dans le
Setup de l’API et présentés dans le tableau suivant :
149
Chapitre 2-10
Fonctions maître d’E/S du CompoBus/S (SRM1(-V2) uniquement)
Mot
Bit(s)
DM 6603 00 à 03
Fonction
Paramétrage
Nombre maximal de stations CompoBus/S
0 ou 1
04 à 07
0 : 32 stations
1 : 16 stations
Mode communication du CompoBus/S
0 ou 1
08 à 15
0 : Communications à grande vitesse
1 : Communications longue distance
Non utilisés.
00
Rem. Lorsque des modifications sont effectuées dans ces configurations, toujours
désactiver et réactiver l’alimentation pour rendre le nouveau paramétrage effectif.
Les bits d’entrée de IR 000 à IR 007 et les bits de sortie de IR 010 à IR 017 sont
utilisés en tant qu’interruption dans les borniers d’E/S du CompoBus/S. Les
interruptions de bornier d’E/S du CompoBus/S (IN 0 à 15 et OUT 0 à 15) sont
attribués comme le tableau suivant le précise :
Interruptions esclaves
Bit
Mot
15 14 13 12 11 10 9
Entrée
Sortie
Rem.
8
7
6
5
4
3
IR 000
IN1
IN0
IR 001
IN3
IN2
IR 002
IN5
IN4
IR 003
IN7
IN6
IR 004
IN9
IN8
IR 005
IN11
IN10
IR 006
IN13
IN12
IR 007
IN15
IN14
IR 010
OUT1
OUT0
IR 011
OUT3
OUT2
IR 012
OUT5
OUT4
IR 013
OUT7
OUT6
IR 014
OUT9
OUT8
IR 015
OUT11
OUT10
IR 016
OUT13
OUT12
IR 017
OUT15
OUT14
2
1
0
1. Lorsque le nombre maximal de stations CompoBus/S est défini à 16, IN8 à
IN15 sont utilisés comme bits de travail.
2. Les borniers du CompoBus/S ayant moins de 8 points ont des adresses de
bit allouées 0 ou 8.
3. Les borniers du CompoBus/S ayant 16 points sont définis pour les adresses
à nombre pair seulement.
4. Les borniers analogiques sont définis pour les adresses à nombre pair seulement.
150
Chapitre 2-11
Commandes analogiques
L’état des communications entre les borniers du CompoBus/S est produit par
les drapeaux d’ajouts esclaves AR04 à AR07 et les drapeaux d’erreurs de communications esclaves.
Drapeaux d’état
Bits supérieurs :
Drapeaux d’erreurs de communications esclaves
Mot
Bits inférieurs : Drapeaux d’ajouts esclaves
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
AR04
OUT
7
OUT
6
OUT
5
OUT
4
OUT
3
OUT
2
OUT
1
OUT
0
OUT
7
OUT
6
OUT
5
OUT
4
OUT
3
OUT
2
OUT
1
OUT
0
AR05
IN7
IN6
IN5
IN4
IN3
IN2
IN1
IN0
IN7
IN6
IN5
IN4
IN3
IN2
IN1
IN0
AR06
OUT
15
OUT
14
OUT
13
OUT
12
OUT
11
OUT
10
OUT
9
OUT
8
OUT
15
OUT
14
OUT
13
OUT
12
OUT
11
OUT
10
OUT
9
OUT
8
AR07
IN15
IN14
IN13
IN12
IN11
IN10
IN9
IN8
IN15
IN14
IN13
IN12
IN11
IN10
IN9
IN8
Rem.
1. IN0 à IN15 sont les borniers d’entrée et OUT0 à OUT15 sont les borniers de
sorties.
2. Lorsque le nombre maximal des unités CompoBus/S est défini à 16, IN8 à
IN15 et OUT8 à OUT15 ne sont pas utilisables.
3. Le drapeau d’ajout esclave passe sur ON lorsqu’un esclave se joint aux
communications. Lorsque l’alimentation de l’unité centrale passe sur OFF
puis de nouveau sur ON, tous les bits passeront sur OFF.
4. Le drapeau d’erreurs de communications esclaves passe sur ON lorsqu’un
esclave membre du réseau est séparé du réseau. Le bit passe alors sur
OFF lorsque l’esclave réintègre le réseau.
2-11 Commandes analogiques
Les API des CPM1/CPM1A et CPM2A sont équipés de commandes analogiques qui transfèrent automatiquement les configurations des commutateurs de
réglage de l’unité centrale aux mots de la mémoire d’E/S de l’unité centrale.
Cette fonction est très utile lorsque les valeurs nécessitent un réglage précis au
cours du fonctionnement. Ces valeurs définies sont modifiables en tournant tout
simplement les commutateurs de réglage de l’unité centrale.
2-11-1 Commandes analogiques CPM1/CPM1A
Configurations CPM1/CPM1A Les API du CPM1/CPM1A ont deux commandes de réglage analogiques. Le
schéma suivant montre les commandes de réglage et indique les mots SR correspondants contenant les arrangements de réglage. Utiliser un tournevis cruciforme pour régler les paramètres.
La configuration analogique pour la commande
0 se trouve dans SR 250.
La configuration analogique pour la commande
1 se trouve dans SR 251.
Rem. Le schéma ci--dessus montre le CPM1, les configurations sont les mêmes pour
le CPM1A.
151
Chapitre 2-11
Commandes analogiques
! Attention Les différences de température peuvent modifier la configuration analogique.
Ne pas utiliser les commandes analogiques de réglage pour les applications
exigeant une configuration précise et fixée.
Exemple de programme du CPM1/CPM1A
Le programme à contacts suivant utilise les configurations analogiques de
CPM1/CPM1A. La configuration analogique en SR 250 (BCD 0000 à 0200) est
déterminée en réglant la commande analogique 0 de réglage. Cette valeur est
utilisée pour régler la valeur de consigne de la temporisation de 0,0 à 20,0
secondes.
Etat de démarrage
TIM
000
TIM 000
SR 250 est désigné
comme valeur de
consigne de temporisation.
01003
2-11-2 Commandes analogiques du CPM2A
Le CPM2A a deux commandes analogiques pouvant être utilisées pour une
large plage pour les configurations de temporisation et de compteur analogique.
Pendant que ces commandes sont activées, les valeurs de 0 à 200 (BCD) sont
mémorisées dans la zone SR.
Utiliser un tournevis cruciforme
pour régler les commandes.
Commande analogique 0
Commande analogique 1
Zone de mémorisation
Commande analogique 0
SR 250
Commande analogique 1
SR 251
valeur de consigne
(BCD)
0000 à 0200
La zone de mémorisation est rafraîchie une fois à chaque cycle de CPM2A.
Rem. La modification de la température ambiante peut affecter les valeurs réglées par
les commandes analogiques, ainsi, utiliser les commandes analogiques pour
des applications où les valeurs définies n’exigent pas une grande précision.
152
Chapitre 2-12
Entrées de capture
Utilisation des commandes analogiques
Effectue la configuration analogique.
Utiliser un tournevis cruciforme pour régler les commandes.
Connecter un périphérique de programmation tel que la console de programmation et vérifier les valeurs mémorisées dans le SR 250 et le SR 251.
Crée un programme en
schéma à contacts.
Lire les valeurs en SR 250 et SR 251 avec le programme en schéma à contacts
Commande analogique 0
Effectuer la
configuration analogique
Commande analogique 1
SR 251
Commande analogique 1 valeur de consigne (SV)
SR 250
Commande analogique 0 valeur de consigne (SV)
Utiliser un tournevis cruciforme pour régler les commandes analogiques. Les
valeurs définies sont vérifiées en connectant un périphérique de programmation
tel qu’une console de programmation et en lisant les valeurs mémorisées en
SR 250 et SR 251.
Commande analogique 0
Programme en schéma à
contacts
Commande analogique 1
Le tableau suivant montre les mots et les bits où les configurations analogiques
sont mémorisées :
Mot
Bit
SR 250
00 à 15
SR 251
00 à 15
Dénomination
Commande analogique 0 zone de
mémorisation de SV
Commande analogique 1 zone de
mémorisation de SV
Valeur
0000 à 0200
((BCD))
Dans l’exemple de programme suivant, la SV de la commande analogique
(0000 à 0200 BCD) mémorisée en SR 250 est définie comme temporisation. La
plage définie de la temporisation est 0,0 s à 20,0 s.
Bit de démarrage
Détermine SR 250 pour la SV de temporisation
Rem. Les temps de fonctionnement pour la temporisation analogique montré dans
l’exemple ci--dessus changeront selon la modification apportée à la température ambiante. Ne pas utiliser ce programme pour des applications où des opérations précises sont exigées.
2-12 Entrées de capture
2-12-1 Entrées de capture des CPM1/CPM1A
Les CPM1/CPM1A ont des entrées de capture utilisables pour valider les
signaux entrant plus courts que le temps de cycle API.
153
Chapitre 2-12
Entrées de capture
Toutes les unités centrales de 10 points ont 2 bornes d’entrée de capture et les
unités centrales de 20, 30 et 40 points ont 4 bornes d’entrée de capture. Ces
mêmes bornes sont utilisées pour les entrées rapides et les entrées d’interruption.
Programme en schéma à
contacts
Les entrées de capture ont un tampon interne, ainsi les signaux d’entrée plus
court qu’un cycle peuvent être détectés. Les signaux avec une largeur d’impulsions aussi courte que 0,2 ms peuvent être détectés, quelle que soit leur place
dans le cycle de l’API.
Suveillance Exécution
Rafraîchis- Suveillance Exécution
Rafraîchisdes traite- du
pro- sement des des traite- du
pro- sement des
ments
gramme
E/S
ments
gramme
E/S
Signal d’entrée (00003)
IR 00003
Un cycle
Unité centrale
Configuration des entrées
de capture
Bits d’entrée
UC à10 points
IR 00003 à IR 00004
UC à 20, 30, 40 points
IR 00003 à IR 00006
Largeur min. des
entrées d’interruption
0,2
, ms
les bits d’entrée du tableau ci--dessus peuvent être définis comme des entrées
de capture en DM 6628, comme le montre le tableau suivant :
Mot
DM 6628
Paramétrage
0 : Entrée normale
1 : Entrée d’interruption
2:E
Entrée
té d
de capture
t
(C fi
(Configuration
i par défaut
déf
: 0)
Bit 15
0
DM 6628
Paramétrage pour entrée 00006 : Défini à 2
Paramétrage pour entrée 00005 : Défini à 2
Paramétrage pour entrée 00004 : Défini à 2
Paramétrage pour entrée 00003 : Défini à 2
Example de programme
Dans cet exemple, DM 6628 a été défini à 0002.
Premier drapeau de cycle 25315
sur ON pour 1 cycle
@INT(89)
000
000
Masquage/non masquage des entrées d’interruption.
#000E
Non masque 00003 (entrée d’interruption 0),
masque d’autres.
154
Chapitre 2-12
Entrées de capture
2-12-2 Entrées de capture des CPM2A/CPM2C
Quatre des entrées des CPM2A et CPM2C sont utilisées pour des entrées de
capture (partagées avec des entrées d’interruption et de compteur à grande
vitesse 2 kHz). Avec les entrées de capture, les signaux modifiés dans un cycle
peuvent être reçus en maintenant un tampon interne.
Traitement
partagé
Traitement
de calcul
Rafraîchi
ssement
d’E/S
Traitement
partagé
Traitement
de calcul
Rafraichissement d’E/S
Borne
d’entrée
(00003)
00003
1 cycle
Numéro d’entrée (Voir Rem.)
Largeur minimale du signal d’entrée
50 "s
"
00003
00004
00005
00006 (Voir Rem. 2)
Rem.
1. Les numéros d’entrée de 00003 à 00006 peuvent être utilisés comme
entrées d’interruption, entrées à grande vitesse 2 kHz ou entrées de capture. Si elles ne sont utilisées pour aucune de ces fonctions, elles peuvent
être utilisées en tant qu’entrées ordinaires.
2. Le numéro d’entrée 00006 n’existe pas dans les unités centrales avec
10 points d’entrée/sortie du CPM2C.
Le tableau suivant montre les rapports entre les entrées de capture et les autres
fonctions des CPM2A/CPM2C :
Fonction
Commande d’impulsions
synchronisée
Entrées d’interruption
Rem.
Interruption de temporisation
cyclique
Utilisable simultanément.
Voir Rem. 1.
Interruptions d’horloge
Utilisable simultanément.
Compteur à grande vitesse
Utilisable simultanément.
Entrées d’interruption (mode
compteur)
Sorties d’impulsions
Voir Rem. 2.
Entrée de capture
Voir Rem. 3.
Constante de temps d’entrée
Voir Rem. 4.
Horloge
Utilisable simultanément.
Utilisable simultanément.
1. Les entrées de capture utilisent la fonction d’entrée d’interruption, ainsi,
dans le Setup de l’API, le même numéro d’entrée de 00003 à 00006 ne peut
pas être affecté à la fois à une entrée de capture et à une entrée d’interruption.
2. Une entrée de capture et une interruption en mode compteur ne peuvent pas
se voir affectées le même numéro d’entrée dans le Setup de l’API.
3. Les numéros d’entrée affectés aux entrées de capture sont de 00003 à
00006. Ces entrées peuvent être définies et actionnées comme des entrées
de capture.
4. Les constantes de temps d’entrée sont désactivées pour toutes les entrées
définies comme des entrées de capture.
155
Chapitre 2-12
Entrées de capture
Utilisation des entrées de capture
Câbler les entrées.
Setup de l’API (DM 6628)
Entrées de
capture
Numéros d’entrée : 00003, 00004, 00005 et 00006
2 : Utiliser les entrées de capture
Entrée de capture 0
Capture
Entrée de capture 1
Entrée de capture 2
Entrée de capture 3
Setup de l’API
DM 6628
Câblage des entrées
Câbler les entrées du CPM2A comme montré dans le schéma suivant :
Entrée 00003 : Entrée de capture 0
Entrée 00004 : Entrée de capture 1
Entrée 00005 : Entrée de capture 2
Entrée 00006 : Entrée de capture 3
Câbler les entrées de CPM2C comme montré dans le schéma suivant :
Unités centrales avec 10 points d’E/S
156
Chapitre 2-12
Entrées de capture
Numéros de bornes
du bornier des entrées
Entrée 00004 : Entrée de capture 1
Entrée 00003 : Entrée de capture 0
Numéros de broches du
connecteur des entrées
00004 : Entrée de capture 1
00003 : Entrée de capture 0
Unités centrales avec 20 points d’E/S
Numéros de broches du
connecteur des entrées
00006 : Entrée de capture 3*
00005 : Entrée de capture 2*
00004 : Entrée de capture 1
00003 : Entrée de capture 0
Setup de l’API
Pour utiliser des entrées de capture avec le CPM2C ou le CPM2A, effectuer les
configurations suivantes dans la zone de configuration du système (DM 6628)
du périphérique de programmation :
157
Chapitre 2-13
Fonction de la macro
Mot
DM 6628
Bits
00 à 03
Fonction
Configuration
d’interruption pour
l’entrée numéro 3
04 à 07
Configuration
d’interruption pour
l’entrée numéro 4
08 à 11
Configuration
d’interruption pour
l’entrée numéro 5*
12 à 15
Configuration
d’interruption pour
l’entrée numéro 6*
0 : Entrée normal
Paramé
--trage
2
1 : Entrée d’interruption
(mode entrée
d’interruption ou mode
compteur)
2 : Entrée de capture
Rem. *Les numéros d’entrée 00005 et 00006 n’existent pas dans les unités centrales
du CPM2C avec 10 points d’entrée/sortie.
Les configurations seront effectives lorsque le mode sera modifié (de PROGRAM en MONITOR/RUN) ou que l’alimentation de l’API sera passée sur ON.
2-13 Fonction de la macro
La fonction de la macro permet à un simple sous--programme (modèle de programmation) d’être utilisé en modifiant seulement le mot d’entrée/sortie. Un certain nombre de sections semblables du programme peuvent être gérées avec
juste un sous--programme, réduisant ainsi considérablement le nombre d’étapes dans le programme et en rendant le programme plus facile à comprendre.
Utilisation des macros
Pour utiliser une macro, appeler un sous--programme au moyen de l’instruction
MACRO, MCRO(99), comme montré ci--dessous, au moyen de SBS(91) (SUBROUTINE ENTRY).
MCRO(99)
N_ sous--programme
1er mot d’entrée
1er mot de sortie
Lorsque MCRO(99) est exécutée, l’opération poursuivra comme suit :
1, 2, 3...
158
1. Les contenus des quatre mots sucessifs commençant par le premier mot
d’entrée seront transférés de SR 232 à SR 235.
2. Le sous--programme indiqué sera exécuté jusqu’à ce que RET(93) (retour
de sous--programme) soit exécuté.
3. Le contenu de SR 236 à SR 239 (résultats de l’exécution du sous--programme) sera transféré aux quatre mots successifs commençant par le
premier mot de sortie.
4. MCRO(99) sera alors finie.
Lorsque MCRO(99) est exécutée, le même modèle d’instruction peut être utilisé
tout simplement en changeant le première mot d’entrée ou le premier mot de
sortie.
Les restrictions suivantes s’appliquent lorsque la fonction de la macro est utilisée :
# Les seuls mots pouvant être utilisés pour chaque exécution de la macro sont
les quatre mots successifs commençant par le premier numéro de mot d’entrée (lors de réception) et les quatre mots successifs commençant par le premier mot de sortie (lors d’émission).
# Les entrées et les sorties indiquées doivent correspondre exactement aux
mots utilisés dans le sous--programme.
Chapitre 2-14
Calcul avec les données binaires signées
# Même lors de l’utilisation de la méthode de sortie directe pour des émissions,
les résultats des sous--programmes se reflèteront réellement dans les mots
de sortie indiqués uniquement lorsque le sous--programme sera accompli
(étape 3 ci--dessus).
Rem. SR 232 à SR 239 sont utilisés comme bits de travail lorsque MCRO(99) n’est
pas utilisée.
Le premier mot d’entrée et le premier mot de sortie ne sont pas qualifiés par les
bits d’entrée/sortie, mais par d’autres bits (tels que les bits HR, les bits de travail,
etc.) ou par des mots DM.
Des sous--programmes appelés par MCRO(99) sont définis par SBN(92) et
RET(93), tout comme le sont les sous--programmes ordinaires.
Exemple d’application
Lorsqu’une macro est utilisée, le programme peut être simplifié comme montré
ci--dessous :
Macro non utilisée
Macro utilisée
25313 (toujours sur ON)
00000
20001
MCRO(99)
20000
030
20000
000
200
00001
00002
MCRO(99)
20001
00200
030
002
20501
205
20500
MCRO(99)
20500
030
00201
005
00202
20501
00500
210
MCRO(99)
21001
21000
030
010
21000
220
00501
00502
SBN(92)
21001
01000
23200
22001
23601
23600
22000
23600
22000
00101
030
00102
22001
Sous--programme
utilisé pour définir
une macro
23201
23202
23201
RET(93)
2-14 Calcul avec les données binaires signées
Les CPM1/CPM1A/CPM2A/SRM1(--V2) permettent des calculs sur des données binaires signées. Les instructions suivantes traitent les données binaires
signées en utilisant le complément de 2.
Instructions
CPM2A/CPM2C et
SRM1(-V2)
Les instructions binaires signées suivantes sont disponibles dans les API de
CPM2A, de CPM2C et de SRM1(--V2) :
# BINARY ADD -- ADB(50) (ADDITION BINAIRE)
# BINARY SUBTRACT -- SBB(51) (SOUSTRACTION BINAIRE)
# 2’S COMPLEMENT -- NEG(----) (COMPLEMENT DE 2)
159
Chapitre 2-14
Calcul avec les données binaires signées
Instructions des
CPM1/CPM1A
Les instructions binaires suivantes sont disponibles dans les API de
CPM1/CPM1A :
# BINARY ADD -- ADB(50) (ADDITION BINAIRE)
# BINARY SUBTRACT -- SBB(51) (SOUSTRACTION BINAIRE)
Calcul des données signées
Addition
Soustraction
7 + 3 = 10
7 -- 3 = 4
(--7) + 3 = --4
(--7) -- 3 = --10
7 + (--3) = 4
7 -- (--3) = 10
(--7) + (--3) = --10
(--7) -- (--3) = --4
2-14-1 Définition de données binaires signées
Les données binaires signées sont traitées en utilisant un complément de 2 et le
bit 15 est utilisé comme bit de signe. La plage des données s’exprimant en utilisant un mot est comme suit : --32 767 à --32 768 (8000 hexadécimal à 7FFF).
Le tableau suivant montre des équivalences existantes entre les données décimales et hexadécimales :
Décimale
32 767
32 766
...
2
1
0
--1
--2
...
--32 767
--32 768
Hexadecimale
à 4 digits
7FFF
7FFE
...
0002
0001
0000
FFFF
FFFE
...
8001
8000
2-14-2 Drapeaux arithmétiques
Les résultats d’exécution des instructions binaires signées sont représentés
dans les drapeaux arithmétiques. Les drapeaux et les conditions pour lesquels il
passera sur ON sont donnés dans le tableau suivant. Les drapeaux seront
éteints lorsque ces conditions ne seront pas atteintes.
Drapeau
Achemine le drapeau (SR 25504)
Conditions ON
Réalise une addition.
Résultat négatif lors de soustraction.
Egualise le drapeau (SR 25506)
Le résultat de l’addition, de la soustraction, de
la multiplication ou de la division est 0.
Résultat de la conversion de complément de 2
est 0.
2-14-3 Réception des données binaires signées en utilisant les valeurs
décimales
Bien que les calculs des données binaires signées utilisent des expressions
hexadécimales, les entrées de la console de programmation ou du SSS sont
possibles en utilisant des entrées décimales et mnémoniques pour les instructions. Les procédures à suivre lors de l’utilisation de console de programmation
pour réceptionner en utilisant des valeurs décimales sont développées dans :
Manuel de programmation de CPM1, Manuel de programmation de CPM1A,
160
Chapitre 2-15
Détections de fronts
Manuel de programmation de CPM2A, Manuel de programmation de CPM2C et
Manuel de programmation d’unité de commande maître du SRM1. Se reporter
au Manuel de programmation du SSS : API série C pour plus d’informations
concernant l’utilisation du SSS.
Instructions d’entrée
Se reporter au Manuel de programmation du CPM1, Manuel de programmation
du CPM1A, Manuel de programmation du CPM2C, Manuel de programmation
du CPM2A et Manuel de programmation d’unité du commande maître du SRM1
pour plus d’informations concernant les instructions d’entrée de la console de
programmation.
2-15 Détections de fronts
La console de programmation connectée aux CPM1/CPM1A, CPM2A//CPM2C
et SRM1(--V2) peut détecter les transitions de ON à OFF et de OFF à ON dans
le bit précisé. Lorsque la transition précisée à lieu, la transition est indiquée sur
l’affichage et une alarme sonore permettant une identification facile de la transition est signalée.
161
Chapitre 2-16
Instructions d’expansion (CPM2A/CPM2C/SRM1(-V2) uniquement)
2-16 Instructions d’expansion (CPM2A/CPM2C/SRM1(-V2)
uniquement)
Un ensemble d’instructions d’expansion est disponible pour le CPM2A, le
CPM2C et le SRM1(--V2) afin de particier aux besoins de la programmation spéciale. Jusqu’à 18 instructions d’expansion peuvent se voir attribuer des codes
de fonction pour pouvoir les utiliser dans les programmes. Ceci permet à l’utilisateur de choisir les instructions nécessaires pour chaque programme du
CPM2A, du CPM2C ou du SRM1(--V2) afin d’utiliser plus efficacement les
codes de fonction requis pour les instructions d’entrée.
Les mnémoniques des instructions d’expansion sont suivies du “(----)” comme le
code de fonction pour indiquer qu’elles doivent être des codes de fonction attribués par l’utilisateur dans le tableau d’instructions avant qu’elles puissent être
utilisées dans la programmation (à moins qu’elles soient utilisées en configuration par défaut).
Toutes les instructions dont les codes de fonction ne sont pas attribués auront
besoin que des codes de fonction leurs soient attribués dans le tableau d’instructions utilisé par le périphérique de programmation et les CPM2A/CPM2C ou
le SRM1(--V2) avant qu’elles puissent être utilisées dans la programmation.
L’attribution des instructions d’expansion dans le tableau d’instructions modifiera la signification des instructions et des opérandes, s’assurer de définir le
tableau d’instructions avant la programmation et de transférer le bon tableau
d’instructions aux CPM2A/CPM2C ou à SRM1(--V2) avant l’exécution du programme.
Exemple : les API des CPM2A/CPM2C
Les instructions caractéristiques utilisées dans l’exemple suivant sont valables
pour les CPM2A/CPM2C. Les concepts sont les mêmes pour le SRM1(--V2).
Code de fonction 61
INI
Code de fonction 61
SPED
Code de fonction 64
PULS
SPED
Code de fonction 64
MIN
SUM
Lors du transport, les codes de fonctions sont
attribués comme présenté ci--dessus. Dans
cet exemple, les instructions sont toutes liées
aux sortie d’impulsions.
Rem.
PULS
MAX
MAX
Code de fonction 65
INI
Code de fonction 65
MIN
SUM
Lorsque les sorties d’impulsions ne sont pas
utilisées et lorsque les valeurs maximales,
minimales et les aditions sont requises, le
fonctionnement des instructions de configuration est utilisé comme ci--dessus pour une
réattribution des instructions dans le tableau
d’instructions.
1.Définir le modèle d’API à “CQM1” lors de la configuration des instructions d’expansion du SRM1(--V2) ou des CPM2A/CPM2C vers le SSS.
2. Le Setup de l’API doit être défini pour les codes de fonction d’instruction d’expansion déterminés par l’utilisateur afin d’affecter les codes de fonction. Donner
la valeur 0100 à DM 6602 (BCD).
162
Instructions d’expansion (CPM2A/CPM2C/SRM1(-V2) uniquement)
Chapitre 2-16
2-16-1 Les instructions d’expansion du CPM2A/CPM2C
Les 18 codes de fonction suivants peuvent être utilisés pour les instructions
d’expansion : 17, 18, 19, 47, 48, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69 et
89. Les affectations de code de fonction peuvent être modifiées par une console
de programmation ou par le logiciel SYSWIN.
Se reporter au paragraphe 4--4--5, Attribution de codes de fonction d’instruction
d’expansion du Manuel de programmation du CPM2C ou du CPM2A concernant le traitement de la console de programmation.
Les instructions d’expansion utilisables sont énumérées ci--dessous, avec les
codes de fonction affectés par défaut lors du transport de l’API.
Mnémonique
Code de fonction
ASFT
17
TKY
18
MCMP
19
RXD
47
TXD
48
CMPL
60
INI
61
PRV
62
CTBL
63
SPED
64
PULS
65
SCL
66
BCNT
67
BCMP
68
STIM
69
INT
89
ACC
---
AVG
---
FCS
---
HEX
---
HMS
---
MAX
---
MIN
---
NEG
---
PID
---
PWM
---
SCL2
---
SCL3
---
SEC
---
SRCH
---
STUP
---
SUM
---
SYNC
---
TIML
---
TMHH
---
ZCP
---
ZCPL
---
163
Chapitre 2-17
Utilisation de la fonction d’horloge des CPM2A/CPM2C
2-16-2 Instruction d’expansion du SRM1(-V2)
Les 18 codes suivants de fonction peuvent être utilisés pour des instructions
d’expansion : 17, 18, 19, 47, 48, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69 et
89. Les affectations de code de fonction peuvent être modifiées par une console
de programmation ou par le logiciel SYSWIN.
Se reporter au paragraphe 4--2--6 Configuration des instruction d’expansion du
Manuel de programmation d’unité de commande du SRM1 pour le traitement de
la console de programmation.
Les instructions d’expansion utilisables sont énumérées ci--dessous, avec les
codes de fonction affectés par défaut lors du transport du SRM1(--V2).
Mnémonique
Code fonction
ASFT
17
RXD
47
TXD
48
CMPL
60
SCL*
66
BCNT
67
BCMP
68
STIM
69
FCS
---
HEX
---
NEG*
---
PID*
---
STUP
---
ZCP*
---
Rem. *Seules les unités centrales du SRM1-C0j-V2 accueillent le SCL(66), le
NEG(-- --), le PID(-- --) et le ZCP (-- --).
2-17 Utilisation de la fonction d’horloge des CPM2A/CPM2C
Les API du CPM2A et certains API du CPM2C ont une fonction d’horloge intégrée. Ce chapitre explique comment utiliser l’horloge.
2-17-1 Mots de zone de données
L’illustration suivante montre la configuration des mots (AR 17 jusqu’à AR 21)
utilisés avec l’horloge. Ces mots peuvent être lus et utilisés comme nécessaire.
AR 17 est fourni pour que l’heure et la minute puissent être consultées rapidement.
15
AR 17
AR 18
AR 19
AR 20
AR 21
Heure
Minute
Date
Année
8 7
0
Minute
Seconde
Heure
Mois
2 digits BCD chaque.
(affiche seulement les 2
derniers chiffres de l’année)
Jour de la semaine
00 à 06 : Dimanche à samedi
AR 2115 Bit définission de l’horloge
AR 2114 Bit arrêt d’horloge
AR 2113
164
Bit réglage à 30 secondes
Utilisation de la fonction d’horloge des CPM2A/CPM2C
Chapitre 2-17
2-17-2 Configuration du temps
Pour régler l’heure, utiliser un périphérique de programmation comme suit :
Configuration de tout
1, 2, 3...
1. Activer l’AR 2114 (bit arrêt d’horloge) pour arrêter l’horloge et permettre à
l’AR 18 jusqu’à l’AR 21 d’être écrasés.
2. En utilisant un périphérique de programmation, régler l’AR 18 jusqu’à
l’AR 20 (minute/seconde, date/heure et année/mois) et l’AR 2100 jusqu’à
AR 2107 (jour de la semaine).
3. Activer l’AR 2115 (bit définition de l’horloge) dès que le temps réglé à l’étape
2 est atteint. Le fonctionnement de l’horloge démarrera à partir du temps
réglé et lorsque le bit arrêt d’horloge ainsi que le bit réglage d’horloge seront
passés automatiquement en état OFF.
Configuration seulement des secondes
Il est également possible, en utilisant l’AR 2113, de régler tout simplement les
secondes à “00” sans avoir à passer par un procédé compliqué. Lorsque
l’AR 2113 est activé, l’horloge est modifiée comme suit :
Losque le paramétrage des secondes va de 00 à 29, les secondes seront réinitialisées “00” et la configuration des minutes demeurera la même.
Lorsque le paramétrage des secondes va de 30 à 59, les secondes seront réinitialisées à “00” et le paramétrage des minutes avancera de un.
Lorsque la configuration du temps est achevée, l’AR 2113 basculera automatiquement sur OFF.
Rem. L’horloge peut être réglée facilement en utilisant les fonctions du menu d’une
console de programmation.
165
CHAPITRE 3
Utilisation des modules d’extension
Ce chapitre décrit l’utilisation du module d’E/S analogique CPM1A-MAD01 et de l’unité de liaison d’E/S CompoBus/S
CPM1A-SRT21.
3-1
3-2
Modules d’E/S analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unité de liaison d’E/S CompoBus/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
168
177
167
Chapitre
Modules d’E/S analogiques
3-1
3-1
Modules d’E/S analogiques
Un maximum de 3 modules d’extension, y compris des modules d’E/S analogiques CPM1A-MAD01, peuvent être connectés à un API CPM2A. Un module
d’E/S analogique permet l’utilisation de 2 entrées analogiques et d’une sortie
analogique. Lorsque les 3 modules d’E/S analogiques sont connectés, il est
possible de disposer de 6 entrées et de 3 sorties analogiques.
! La plage d’entrée analogique peut être définie à 0 -- 10 V c.c., 1-- 5 V c.c. ou 4 -20 mA avec une résolution de 1/256 (la fonction de détection de circuit ouvert
peut être utilisée avec les plages 1 -- 5 V c.c. et 4 -- 20 mA).
! La plage de sortie analogique peut être définie à 0 -- 10 V c.c., 4 -- 20 mA ou
--10 -- 10 V c.c.. La sortie a une résolution de 1/256 lorsque la plage sélectionnée est 0 -- 10 V c.c. ou 4 -- 20 mA ; elle a une résolution de 1/512 lorsque la
plage sélectionnée est --10 -- 10 V c.c..
3 modules d’extension max. doivent être connectés
Unité centrale
Module d’E/S
d’extension
CPM1A-20EDR1
Module d’E/S
d’extension
CPM1A-8ED
Module d’E/S
d’extension
CPM1A-MAD01
168
2 entrées analogiques
1 sortie analogique
1 sortie analogique
Chapitre
Modules d’E/S analogiques
Elément défini
Partie
E é
Entrées
analog
analog.
Partie
S i
Sortie
analog.
(Voir
Rem. 1)
E/S de tension
E/S de courant
Nombre d’entrées
2
Plage de signaux d’entrée
0 à 10 V/1 à 5 V
4 à 20 mA
Entrée max. spécifiée
Impédance d’entrée externe
"15 V
1 M# min.
"30 mA
Nominal 250 #
Résolution
1/256
Précision
1,0% de la pleine échelle
Conversion A/N
Valeur binaire de 8 bits
Nombre de sorties
1
Plage de signaux de sortie
0 à 10 V ou
--10 à 10 V
5 mA
4 à 20 mA
---
350 #
Courant max. de sortie externe
Résistance admissible de la charge
externe en sortie
Résolution
---
Précision
1/256 (1/512 lorsque la plage de signaux de sortie est --10 -10 V)
1,0% de la pleine échelle
Valeur de consigne
Valeur binaire signée de 8 bits
Temps de conversion
10 ms max. par moldule (Voir Rem. 2)
Méthode d’isolation
Isolation par photocoupleur entre les délimiteurs d’E/S et les
signaux de l’API. Aucune isolation entre les signaux d’E/S.
Rem.
3-1
1. Avec les sorties analogiques, il est possible d’utiliser en même temps les
deux sorties de tension et les deux sorties de courant. Dans ce cas, toutefois, la valeur totale de courant de sortie ne doit pas dépasser 21 mA.
2. Le temps de conversion est la durée totales de conversion de 2 entrées analogiques et d’une sortie analogique.
Plage de signaux d’E/S analogiques
Plage de signaux d’entrée analogiques
Entrées 0 à 10 V
Valeur de conversion
Entrées 1 à 5 V
Valeur de conversion
1V
Signal d’entrée
Entrées 4 à 20 mA
Valeur de conversion
3V
Signal d’entrée
Signal d’entrée
169
Chapitre
Modules d’E/S analogiques
Plage de signaux de sortie analogiques
Sorties 0 à 10 V
Sortie --10 à +10 V
Valeur de consigne
Valeur de consigne
Sorties 4 à 20 mA
Valeur de consigne
Utilisation des E/S anlogiques
Définir la plage d’E/S
Connecter le module
Câbler le module d’E/S analogique
Entrées analogiques :
0 à 10 V, 1 à 5 V ou 4 à 20 mA
Sorties analogiques :
0 à 10 V, --10 à +10 V ou 4 à 20 mA
Connecter le module d’E/S analogique
Connecter un équip. d’entrée analogique
Ecrire le code de plage
Créer en programme à contacts
Entrée analogique : lire données converties
Sortie analogique : écrire valeur de consigne
170
3-1
Chapitre
Modules d’E/S analogiques
3-1
Entrées analogiques
Unité centrale
Module d’E/S analogique
Programme à contacts
(n + 1) mots
(21) Instruction MOVE
Ecrit le code de plage.
Code de plage
(m + 1) mots
Valeur de conversion de
l’entrée analogique 1
(m + 2) mots
Valeur de conversion de
l’entrée analogique 2
Lit la valeur de conversion.
Equipements analogiques
Sonde de température
“m” est le dernier mot en entrée et “n” le dernier
mot en sortie affecté à l’unité centrale ou au
module d’extension précédent.
Capteur de pression
Capteur de vitesse
Capteur de début
Voltmètre/ampèremètre
Sorties analogiques
Unité centrale
Module d’E/S analogique
Programme à contacts
(Voir Rem.)
(n + 1) mots
Code de plage
Valeur de consigne
(21) Instruction MOVE
de sortie analogique
Ecrit le code de plage.
Ecrit la valeur de consigne
Equipements analogiques
Equipement de réglage
“n” est le dernier mot en sortie affecté à l’unité
centrale ou au module d’extension précédent.
Servocontrôleur
Equipement à vitesse variable
Enregistreur
Autre
Rem. Mot (n + 1) peut être utilisé soit pour le code de plage, soit pour la valeur de consigne de la sortie analogique.
171
Chapitre
Modules d’E/S analogiques
Définition de la plage de
signaux d’E/S
3-1
La plage de signaux d’E/S est définie en connectant la borne d’E/S et en transférant le code de plage dans le mot de sortie du module d’E/S analogique.
Configuration des délimiteurs d’E/S
Rem. Pour l’utilisation de courants d’entrée, relier les délimiteurs V IN1 et I IN1 et les délimiteurs V IN2 with I IN2.
V OUT
Sortie de tension
I OUT
Sortie de courant
COM
Commun de sortie
V IN1
Entrée de tension 1
I IN1
Entrée de courant 1
COM1
Commun d’entrée 1
V IN2
Entrée de tension 2
I IN2
Entrée de courant 2
COM2
Commun d’entrée 2
Code de plage
Le code de plage doit être défini pour que le module d’E/S analogique puisse
effectuer la conversion des données.
Les 8 codes de plages représentent 8 combinaisons de plages de signaux d’entrée analogique et de sortie analogique, comme indiqué par le tableau suivant :
Code
de
plage
Plage de signaux de Plage de signaux de
l’entrée analogique 1 l’entrée analogique 2
Plage de signaux de
sortie analogique
FF00
0 à 10 V
0 à 10 V
0 à 10 V ou 4 à 20 mA
FF01
0 à 10 V
0 à 10 V
--10 à 10 V ou 4 à 20 mA
FF02
1 à 5 V ou 4 à 20 mA
0 à 10 V
0 à 10 V ou 4 à 20 mA
FF03
1 à 5 V ou 4 à 20 mA
0 à 10 V
--10 à 10 V ou 4 à 20 mA
FF04
0 à 10 V
1 à 5 V ou 4 à 20 mA
0 à 10 V ou 4 à 20 mA
FF05
0 à 10 V
1 à 5 V ou 4 à 20 mA
--10 à 10 V ou 4 à 20 mA
FF06
1 à 5 V ou 4 à 20 mA
1 à 5 V ou 4 à 20 mA
0 à 10 V ou 4 à 20 mA
FF07
1 à 5 V ou 4 à 20 mA
1 à 5 V ou 4 à 20 mA
--10 à 10 V ou 4 à 20 mA
Ecrire le code de plage dans le mot de sortie du module d’E/S analogique (n+1)
au cours du premier cycle d’exécution du programme
Drapeau du 1er cycle SR 25315
Sur ON sur 1 cycle
(21)
Entrée analogique 1 : 1 à 5 V/4 à 20 mA
Entrée analogique 2 : 0 à 10 V
Sortie analogique
: 0 à 10 V/4 à 20 mA
(n + 1)
Code de plage (valeur hexadécimale à 4 digits)
172
Chapitre
Modules d’E/S analogiques
3-1
Le module d’E/S analogique ne commence à convertir les valeurs d’E/S analogiques que lorsque le code de plage a été défini.
Une fois le code de plage défini, il n’est pas possible de le modifier lorsque le
CPM2A est sous tension. Pour modifier la plage d’E/S, mettre le CPM2A hors
tension puis de nouveau sous tension.
Rem. Si un code de plage autre que ceux spécifiés dans le tableau ci-dessus est écrit
dans n+1, il ne sera pas reçu par le module d’E/S analogique et la conversion
des E/S analogiques ne pourra avoir lieu.
Connexion du module
d’E/S analogique
Ce chapitre décrit la connexion du module d’E/S analogique à l’unité centrale.
Un maximum de 3 modules d’extension, y compris les modules d’E/S analogiques, peuvent être connectés à un API CPM2A. Lorsque le module d’E/S analogique est utilisé avec d’autres modules d’extension, il n’existe aucune restriction
quant à l’ordre des connexions.
Unité centrale
Module d’E/S analogique
Affectation des E/S
L’affectation des E/S du module d’E/S analogique s’effectue de la même façon
que pour les autres modules d’extension, à partir du mot qui suit le dernier mot
affecté à l’unité centrale ou au module d’extension précédent. Si “m” étatit le dernier mot d’entrée et “n” le dernier mot alloué à l’unité centrale ou au dernier module d’extension, les E/S sont affectées de la façon suivante :
Module d’E/S analogique
(m + 1) : Bits 00 à 15
(m + 2) : Bits 00 à 15
Entrées : 32 points
Sorties : 16 points
(n + 1) : Bits 00 à 15
Par exemple, sur le schéma suivant, un module d’E/S analogique est connecté
à une unité centrale CPM2A à 30 points d’E/S.
Adresse d’entrée
IR 000
IR 001
Unité centrale à
30 points
Adresse de sortie
IR 010
IR 011
IR 002
IR 003
Module d’E/S
analogique
IR 012
173
Chapitre
Modules d’E/S analogiques
3-1
Câblage d’équipement d’E/S analogiques
Câblage des entrées analogiques
Câble à paire torsadée
à 2 âmes
Sortie de
tension de
l’équip. de
sortie
analog.
Module d’E/S analogique
250 #
10 k#
Sortie
de courant de
l’équip.
de sortie
analog.
250 #
10 k#
Câblage des sorties analogiques
Sorties de tension
Module d’E/S analogique
Câble à paire torsadée à
2 âmes
Entrée de
tension de
l’équip.
d’entrée
analog.
Sorties de courant
Module d’E/S analogique
Câble à paire torsadée
à 2 âmes
Entrée
de courant de
l’équip.
d’entrée
analog.
Pour les sorties analogiques, il est possible d’utiliser en même temps les deux
sorties de tension et les deux sorties de courant, mais la valeur totale du courant
de sortie ne doit pas dépasser 21 mA.
Rem.
1. Utiliser des câbles à paires torsadées blindés à 2 âmes.
2. Rester à distance des conducteurs (fils d’alimentation secteur, etc...).
3. Pour toute entrée non utilisée, relier V IN et I IN à la borne COM.
4. Utiliser des bornes à sertir (serrer les bornes selon un couple de 0,5 N$m).
5. Pour les entrées de courant, relier V IN à I IN.
6. Si l’alimentation est bruyante, installer un filtre de bruit dans la partie d’entrée et le module d’alimentation.
174
Chapitre
Modules d’E/S analogiques
3-1
Programme à contacts
Définition du code de plage
Définir la plage de signaux d’E/S en transférant, depuis le programme à contacts, le code de plage dans le mot de sortie du module d’E/S au cours du premier cycle d’exécution du programme. Le module d’E/S analogique ne commence à convertir les valeurs d’E/S analogiques que lorsque le code de plage a
été défini.
Lorsque le code de plage est transféré dans le mot de sortie du module d’E/S
analogique, ce mot de sortie est “n+1”, “n” étant le dernier mot alloué à l’unité
centrale ou au module d’extension précédent dans la configuration.
(n + 1)
Code de plage (valeur hexadécimale à 4 digits)
Code
de
plage
Signaux de l’entrée
analogique 1
Signaux de l’entrée
analogique 2
Plage de signaux de
sortie analogique
FF00
0 à 10 V
0 à 10 V
0 à 10 V ou 4 à 20 mA
FF01
0 à 10 V
0 à 10 V
--10 à 10 V ou 4 à 20 mA
FF02
1 à 5 V ou 4 à 20 mA
0 à 10 V
0 à 10 V ou 4 à 20 mA
FF03
1 à 5 V ou 4 à 20 mA
0 à 10 V
--10 à 10 V ou 4 à 20 mA
FF04
0 à 10 V
1 à 5 V ou 4 à 20 mA
0 à 10 V ou 4 à 20 mA
FF05
0 à 10 V
1 à 5 V ou 4 à 20 mA
--10 à 10 V ou 4 à 20 mA
FF06
1 à 5 V ou 4 à 20 mA
1 à 5 V ou 4 à 20 mA
0 à 10 V ou 4 à 20 mA
FF07
1 à 5 V ou 4 à 20 mA
1 à 5 V ou 4 à 20 mA
--10 à 10 V ou 4 à 20 mA
Lecture des valeurs d’entrée analogiques converties
Un programme à contacts peut être utilisé pour lire la zone mémoire dans
laquelle sont enregistrées les données converties. Ces valeurs sont transférées
dans les deux mots (m+1, m+2) qui suivent le dernier mot d’entrée (m) affecté à
l’unité centrale ou au module d’extension précédent.
(m + 1)
Entrée analog. 1
Drapeau de détection de circuit
ouvert
0 : Normal
1 : Circuit ouvert
Valeur de conversion de l’entrée
analog. 1 (Hex : 00 à FF)
Entrée analog. 2
Drapeau
de
détection de circuit ouvert
0 : Normal
1 : Circuit ouvert
Valeur de conversion de l’entrée
analog. 2 (Hex : 00 à FF)
(m + 2)
Rem. Le drapeau de détection de circuit ouvert passe à l’état ON lorsque la plage de
signaux d’entrée est définie à “1 à 5 V ou 4 à 20 mA” et que le signal d’entrée est
inférieur à 1 V ou 4 mA (les circuits ouverts ne sont pas détectés lorsque la plage
de signaux d’entrée est définie à “0 à 10 V”).
175
Chapitre
Modules d’E/S analogiques
3-1
Ecriture des valeurs de consigne de sortie analogique
Un programme à contacts peut être utilisé pour transférer des données au mot
de sortie dans lequel est enregistrée la valeur de consigne. Le mot de sortie est
“n+1”, “n” étant le dernier mot de sortie alloué à l’unité centrale ou au module
d’extension précédent.
(n + 1)
Bit de signe
(utilisé quand la plage du
signal de sortie = --10 à 10 V).
1, 2, 3...
Valeur de consigne (Hex : 00 à FF)
1. La plage de valeurs de consigne est 0000 à 00FF lorsque la plage de signaux de sortie est “0 à 10 V/4 à 20 mA”.
2. La plage de valeurs de consigne est divisée en deux parties : 80FF à 8000
(--10 à 0V) et 0000 à 00FF (0 à 10V) lorsque la plage de signaux de sortie est
“--10 à 10V”.
Exemple
Exemple de programme d’entrée analogique
Connexion du module d’E/S analogique
Dans cet exemple, un module d’E/S analogique est connecté à une unité centrale à 30 points d’E/S. Les mots d’E/S sont affectés au module d’E/S analogique à partir du mot qui suit les derniers mots alloués à l’unité centrale.
IR 000
IR 001
Mots d’entrée
Unité centrale à
30 points d’E/S
IR 010
IR 011
Mots de sortie
IR 002
IR 003
Module d’E/S
analogique
IR 012
Câblage des E/S analogiques
Utilisation de l’entrée 1 analog. comme entrée de tension
Commun (--)
Entrée de tension 1 (+)
Utilisation de la sortie analog. comme sortie de tension
Sortie de tension (+)
Commun (--)
176
Utilisation de l’entrée 2 comme entrée de courant
Entrée de courant 2 (+)
Commun (--)
Chapitre
Unité de liaison d’E/S CompoBus/S
3-2
Définition des E/S analogiques
Plage de signaux de l’entrée 1 : 0 à 10 V
Plage de signaux de l’entrée 2 : 4 à 20 mA
Plage de signaux de sortie :
0 à 10 V
Code de plage :
FF04
IR 012
Code de plage : FF04
Programme
SR 25135
(1er drapeau sur ON)
(21)
4
Transfère le code de plage (FF04) au module.
Condition d’exécution
(21)
Lit la valeur convertie de l’entrée analog. 1.
Condition d’exécution
(21)
Lit la valeur convertie de l’entrée analog. 2.
Condition d’exécution
(21)
Le contenu de DM0010 est transféré au mot de sortie
comme valeur de consigne de sortie analogique.
3-2
Unité de liaison d’E/S CompoBus/S
L’API CPM2A peut être utilisé comme Esclave vis-à-vis d’une unité Maître CompoBus/S (ou d’un contrôleur Maître CompoBus/S SRM1) lorsqu’une unité de
liaison d’E/S CompoBus/S lui est connectée. Cette dernière établit une liaison
d’E/S à 8 entrées et 8 sorties entre l’unité Maître et le CPM2A. Jusqu’à 3 modules d’extension peuvent également être reliés à une unité centrale CPM2A.
Unité Maître CompoBus/S
(ou contrôleur Maître CompoBus/S SRM1)
Unité centrale CPM2A
Unité de liaison
d’E/S CompoBus/S
CPM1A-SRT21
Câble plat spécial ou câble VCTF
177
Chapitre
Unité de liaison d’E/S CompoBus/S
3-2
Vus de l’unité centrale, les 8 bits d’entrée et les 8 bits de sortie affectés à l’unité
de liaison d’E/S CompoBus/S sont identiques aux bits d’entrée et de sortie
alloués aux autres modules d’E/S d’extension, bien qu’en fait l’unité de liaison
d’E/S CompoBus/S ne contrôle pas les entrées et les sorties entre le CPM2A et
l’unité Maître. Elle représente une liaison d’E/S entre le CPM2A et l’autre unité
centrale connectée à l’unité Maître.
API Maître (séries CS1)
Unité centrale
CPM2A
Unité Maître
CompoBus/S
Unité centrale à 30 points
d’E/S
Mémoire d’E/S
Mémoire d’E/S
Unité n% 0
8 bits
Sortie
2000
Entrée
2004
8 bits
8 bits
8 bits
Spécifications
Elément défini
Entrée
IR 002
Unité de liaison
d’E/S CompoBus/S
CPM1A--SRT21
Numéro de
stations : 0
Sortie
IR 012
Caractéristiques
Numéro de modèle
CPM1A-SRT21
Maître/esclave
Esclave CompoBus/S
Nombre de points d’E/S
8 points d’entrée, 8 points de sortie
Nombre de mots occupés
dans la mémoire d’E/S du
CPM2A
1 mot d’entrée, 1 mot de sortie
Numéro de station
Défini à l’aide du micro-interrupteur
(Attribués de la même manière que les autres unités
d’expansion)
(Défini avant la mise sous tension de l’alimentation de
l’unité centrale).
Voyants LED
Voyant
Etat
Signification
COMM
(j
(jaune)
)
ON
Communications en cours.
OFF
ERR
(
(rouge)
)
ON
Les communications sont arrêtées ou une erreur s’est
produite.
Une erreur de communication s’est produite.
OFF
Indique des communications normales ou l’état de veille.
Procédure à utiliser
Connecter le module.
Déterminer l’adresse de station de l’unité
de liaison d’E/S CompoBus/S I/O Link
Unit et positionner le micro-interrupteur.
Connecter à la ligne de transmission
CompoBus/S.
178
Connecter l’unité de liaison d’E/S CompoBus/S.
Le numéro de station doit être un numéro unique entre 0 et 15.
Utiliser le micro-interrupteur pour définir le numéro de station de l’unité
de liaison d’E/S CompoBus/S, le mode communication et l’état des
données de sortie en présence d’une erreur de communication.
Connecter l’unité de liaison d’E/S CompoBus/S à une ligne
de transmission CompoBus/S.
Chapitre
Unité de liaison d’E/S CompoBus/S
Connecter l’unité de
liaison d’E/S
CompoBus/S
3-2
Connecter l’unité de liaison d’E/S CompoBus/S à l’unité centrale. Une seule liaison d’E/S peut être connectée. Lorsque d’autres modules d’extension sont
également connectés, ils peuvent être reliés dans n’importe quel ordre à l’unité
centrale.
Unité de liaison
d’E/S CompoBus/S
Unité centrale
Affectation des E/S
Les mots d’E/S sont affectés à l’unité de liaison d’E/S CompoBus/S de la même
façon que pour les autres modules d’extension, à savoir que les mots alloués
sont les mots d’entrée et de sortie qui suivent. “m” étant le dernier mot d’entrée
et “n” le dernier mot de sortie, le mot d’entrée de l’unité de liaison d’E/S CompoBus/S devient “m+1” et son mot de sortie “n+1”.
Unité de liaison d’E/S CompoBus/S
Mot m+1
bits 00 à 07
8 entrées
8 sorties
Mot n+1
bits 00 à 07
Dans l’exemple suivant, une unité de liaison d’E/S CompoBus/S est connectée
à une unité centrale à 30 points d’E/S.
Mots d’entrée
Mots de sortie
IR 000
IR 001
IR 002
Unité centrale à
30 points d’E/S
Unité de liaison
d’E/S CompoBus/S
IR 010
IR 011
IR 012
Le mot d’entrée (m+1) contient les 8 bits de données de l’unité Maître et deux
drapeaux de communications CompoBus/S.
15
09 08 07
00
Mot m+1
Données de l’unité Maître
Drapeau d’état des erreurs du CompoBus/S
0 : Normal ; 1 : Erreur
Drapeau d’état des communications du
CompoBus/S
0 : Stop ; 1 : Communication
Ecrire les données à transmettre à l’unité Maître dans le mot de sortie (n+1).
15
07
00
Mot n+1
Données à transférer à l’unité Maître
179
Chapitre
Unité de liaison d’E/S CompoBus/S
3-2
Les 8 bits de données d’E/S ne sont pas toujours transmis en même temps. En
d’autres termes, 8 bits de données transférés simultanément depuis l’unité
Maître ne parviennent pas toujours en même temps à l’unité centre CPM2A, et 8
bits de données transférés simultanément depuis le CPM2A ne parviennent pas
toujours en même temps à l’unité Maître.
Lorsque les 8 bits de données d’entrée doivent être lus en même temps, modifier le programme à contacts dans l’unité centrale recevant les données ; par
exemple, pour lire les données d’entrée deux fois de suite et ne les accepter que
lorsque les deux valeurs concordent.
Les bits non utilisés dans le mot de sortie de l’unité de liaison d’E/S CompoBus/
S peuvent être utilisés comme bits de travail, mais pas les bits non utilisés dans
les esclaves en sortie.
Les bits non utilisés dans le mot d’entrée ne peuvent pas être utilisés comme
bits de travail.
Définition du numéro de station à l’aide du micro-interrupteur
Numéro de station
L’unité de liaison d’E/S CompoBus/S est une unité esclave à 8 bits d’entrée et 8
bits de sortie. Le numéro de station est défini à l’aide du micro-interrupteur ; les
entrées et les sorties ont le même numéro de station.
La plage de numéros de stations possibles est déterminée par le type d’API sur
lequel est montée l’unité Maître. Pour de plus amples informations, se reporter
au Manuel d’utilisation du CompoBus/S.
Paramètres définis à l’aide du micro-interrupteur
Utiliser le micro-interrupteur pour définir le numéro de station de la liaison d’E/S
CompoBus/S, le mode communication et l’état de données de sortie en présence d’une erreur de communications.
Broches
1à4
Contenu
Définition du numéro de station :
Broche
4321
Broche
4321
0:
1:
2:
3:
4:
5:
6:
7:
0000
0001
0010
0011
0100
0101
0110
0111
8:
9:
10 :
11 :
12 :
13 :
14 :
15:
1000
1001
1010
1011
1100
1101
1110
1111
“1” = ON, “0” = OFF
5
6
Rem.
180
ON
Mode communication longue distance (Voir Rem. 2)
OFF
Mode communication à grande vitesse
ON
Préserve les sortie après une erreur de communications.
OFF
Supprime les sorties après une erreur de communications.
1. Veiller à mettre hors tension le CPM2A avant de modifier les paramètres
définis à l’aide du micro-interrupteur.
Chapitre
Unité de liaison d’E/S CompoBus/S
3-2
2. Le mode communication longue distance ne peut être utilisé que lorsqu’une
des unités Maîtres suivantes est connectée : C200HW-SRM21-V1,
CQM1-SRM21-V1 ou SRM1-C0j-V2.
Connexion du chemin de
communication
CompoBus/S
Connecter le chemin de communication CompoBus/S comme indiqué dans le
schéma suivant :
NC
NC (BS+)
(BS +)
(BS--)
Ces délimiteurs ne sont pas utilisés. Ils
peuvent l’être cependant comme délimiteurs de relais d’alimentation des communications.
(BS --)
Connecter un câble de communication CompoBus/S.
181
CHAPITRE 4
Fonctions de communication
Ce chapitre décrit l’utilisation des fonctions de communication des API CPM1, CPM1A, CPM2A, CPM2C et SRM1(-V2).
4-1
4-2
4-3
4-4
4-5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1-1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1-2 Câblage des ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication du CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2-1 Communications à l’ordinateur CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . .
4-2-2 Communications entre un NT et un API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2-3 Communication Inter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication du CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-1 Communications à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-2 Communications sans protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-3 Communications entre un NT et un API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3-4 Communications Inter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-1 Communications à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-2 Communications sans protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-3 Communications entre un NT et un API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-4 Communications NT 1 à N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-4-5 Communications Inter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes de communication à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-1 LIRE ZONE IR/SR ---- RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-2 LIRE ZONE LR ---- RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-3 LIRE ZONE HR ---- RH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-4 LIRE PV ---- RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-5 LIRE ETAT TC ---- RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-6 LIRE ZONE DM ---- RD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-7 LIRE ZONE AR ---- RJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-8 ECRIRE ZONE IR/SR ---- WR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-9 ECRIRE ZONE LR ---- WL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-10 ECRIRE ZONE HR ---- WH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-11 ECRIRE PV ---- WC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-12 ECRIRE ETAT TC ---- WG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-13 ECRIRE ZONE DM ---- WD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-14 ECRIRE ZONE AR ---- WJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-15 LIRE 1 SV ---- R# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-16 LIRE 2 SV ---- R$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-17 CHANGER 1 SV ---- W# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-18 CHANGER 2 SV ---- W$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-19 LIRE ETAT ---- MS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-20 ECRIRE ETAT ---- SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-21 LIRE ERREUR ---- MF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-22 AFFECTATION FORCEE ---- KS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-23 REINITIALISATION FORCEE ---- KR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-24 AFFECTATION/REINITIALISATION FORCEE MULTIPLE ---- FK . . . . . . . .
4-5-25 ANNULER AFFECTATION/REINITIALISATON FORCEE ---- KC . . . . . . . .
4-5-26 LIRE MODELE API ---- MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-27 TEST---- TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-28 LIRE PROGRAMME ---- RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-29 ECRIRE PROGRAMME ---- WP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-30 COMMANDE COMPOSEE ---- QQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-31 INTERROMPRE ---- XZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-32 INITIALISER ---- :: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-33 REPONSE TXD ---- EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5-34 COMMANDE NON DEFINE ---- IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
184
184
184
185
185
186
187
189
189
206
215
217
221
221
226
231
232
234
236
236
237
237
237
238
239
239
240
241
241
242
242
243
244
244
245
246
247
248
249
250
251
252
253
255
255
256
256
257
257
259
259
260
260
183
Chapitre
Introduction
4-1
4-1
Introduction
4-1-1 Généralités
Communications du
CPM1/CPM1A
Le CPM1/CPM1A peut exécuter un ensemble de communications par l’intermédiaire de son port périphérique, via une interface RS-232C ou RS-422.
Communications à l’ordinateur
Les API CPM1/CPM1A sont compatibles avec le système de communication à
l’ordinateur (SYSMAC-WAY), qui permet de contrôler jusqu’à 32 API depuis un
ordinateur. Une interface RS-232C sert aux communications Inter API et une
interface RS-422 associée à l’interface B500-AL004 sert aux communications
1:N.
Un CPM1/CPM1A doté d’une interface RS-232C peut également communiquer
avec un terminal programmable opérateur en liaison NT-Link (40 Kbds) et en
adressage direct.
Communications Inter API
Une liaison de données peut être créée avec une zone de données d’un autre
API CPM1, CPM1A, CPM2A, CPM2C, CQM1 ou C200HS. Une interface
RS-232C permet de réaliser la connexion Inter API.
Communications entre un NT et un API
En utilisant la communication en un NT et un API, l’API CPM1/CPM1A peut être
connecté au terminal programmable (interface de communication NT) par l’intermédiaire d’une interface RS-232C.
Communications du
CPM2A/CPM2C
Les types de communication suivants peuvent être exécutés par les ports du
CPM2A/CPM2C :
! Communications avec un ordinateur maître
! Communications RS-232C avec un ordinateur ou un autre périphérique
! Communications Inter API avec un autre API
! Communications entre un NT et un API avec des terminaux programmables
Ce chapitre décrit la configuration de l’API, ainsi que les méthodes permettant
d’utiliser ces différents types de communication.
Communications du
SRM1(-V2)
Les types de communication suivants peuvent être exécutés par les ports du
SRM1(-V2) :
! Communications avec un ordinateur maître
! Communications RS-232C avec un ordinateur ou un autre périphérique
! Communications Inter API avec un autre API (C200H/CS1/CQM1/CPM1/2A)
! Communications entre un NT et un API avec des terminaux programmables
Rem. Les communications entre un NT et un API sont impossibles avec le
SRM1-C01, qui n’est doté que d’un port périphérique. Le SRM1-C01 peut être
connecté à un PT (terminal opérateur programmable, TOP) par l’intermédiaire
d’une interface RS-232C en mode communications à l’ordinateur.
4-1-2 Câblage des ports
Se reporter aux Manuel de programmation du CPM1, Manuel de programmation du CPM1A, Manuel de programmation du CPM2A, Manuel de programmation du CPM2C ou Manuel de programmation des unités de commande maîtres
SRM1 pour de plus amples informations concernant le câblage des ports de
communication.
184
Chapitre
Fonctions de communication du CPM1/CPM1A
4-2
4-2
Fonctions de communication du CPM1/CPM1A
4-2-1 Communications à l’ordinateur CPM1/CPM1A
Ce type de communication a été développé par OMRON pour la connexion d’un
ordinateur et d’un ou plusieurs API par câble RS-232C et pour le contrôle des
communications API à partir de l’ordinateur. En temps normal, l’ordinateur
envoie une commande à l’API et celui-ci renvoie automatiquement une
réponse. Les communications sont ainsi effectuées sans que les API soient
activement impliqués, mais les API ont généralement la capacité de commencer la transmission de données lorsqu’un engagement direct est nécessaire.
En général, il est possible de mettre en oeuvre des communications à l’ordinateur de deux manières. L’une est basée sur des commandes en mode C, l’autre
sur des commandes FINS (mode CV). Le CPM1/CPM1A ne prend en charge
que les communications en mode C. Pour en savoir davantage sur les communications à l’ordinateur, se reporter à 4-5 Commandes de communication à l’ordinateur.
Les paramètres du port périphérique du CPM1/CPM1A doivent être définis correctement pour pouvoir utiliser les communications à l’ordinateur, comme dans
le tableau suivant :
Setup de l’API
Mot
Bit
Fonction
DM 6650
00 à 07
Configuration du port1
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire, 9 600 bps)
01 : Paramètres dans DM 6651
08 à 11
Zone de liaison pour liaison Inter API via un port périphérique
0 : LR 00 à LR 15
0
(Toutes
val. OK)
12 à 15
Modes communications1
0 : Liaison à l’ordinateur ; 2 : Liaison Inter API esclave ; 3 : Liaison Inter API Maître ;
4 : Liaison entre un NT et un API
0
00 à 07
Débit en Baud1
00 : 1,2K, 01 : 2,4K, 02 : 4,8K, 03 : 9,6K, 04 : 19,2K
00
(Toutes
val. OK)
08 à 15
Format de trame1
Départ
Longueur
Arrêt
00 :
1 bit
7 bits
1 bit
01 :
1 bit
7 bits
1 bit
02 :
1 bit
7 bits
1 bit
03 :
1 bit
7 bits
2 bit
04 :
1 bit
7 bits
2 bit
05 :
1 bit
7 bits
2 bit
06 :
1 bit
8 bits
1 bit
07 :
1 bit
8 bits
1 bit
08 :
1 bit
8 bits
1 bit
09 :
1 bit
8 bits
2 bit
10 :
1 bit
8 bits
2 bit
11 :
1 bit
8 bits
2 bit
Délai de transmission (Liaison à l’ordinateur)1
0000 à 9999: In ms.
Numéro de station (Liaison à l’ordinateur)1
00 à 31 (BCD)
Non utilisés.
DM 6651
DM 6652
00 à 15
DM 6653
00 à 07
08 à 15
Rem.
Parité
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paramètres
00
00
(Toutes
val. OK)
0000
00 à 31
00
(Toutes
val. OK)
1. En cas d’utilisation d’un paramètre incorrect, une erreur non fatale se produit, AR 1302 sera activé et le paramètre par défaut (0, 00 ou 0000) sera
utilisé.
185
Chapitre
Fonctions de communication du CPM1/CPM1A
4-2
2. Pour de plus amples informations concernant les paramètres de communications à l’ordinateur d’un autre API OMRON, se reporter au Manuel de
programmation de celui-ci.
3. Lorsqu’une valeur hors limite est définie, il en résulte les conditions de communication suivantes. Dans ce cas, réinitialiser la valeur pour qu’elle soit
dans la plage autorisée.
Exemple de programme
Modes communication :
Liaison à l’ordinateur
Format de communications :
Parmètres standard
(1 bit de départ, 7 bits de données, 2 bits
d’arrêt, parité paire, 9 600 bps)
Retard de transmission :
Non
Numéro de station :
00
Cet exemple illustre un programme BASIC qui lit l’état des entrées du CPM1
dans IR 000. Pour de plus amples informations, se reporter à 4-5 Commandes
de communication à l’ordinateur.
Aucune séquence de vérification de trame (FCS) n’est réalisée sur les données
des réponses reçues dans ce programme. Vérifier que le port RS-232C de l’ordinateur est correctement configuré avant d’exécuter le programme.
1010
1020
1030
1040
1050
1060
1070
1080
1090
1100
1110
1120
1130
1140
1150
1160
1170
1180
’CPM1 SAMPLE PROGRAM
’SET THE COMMAND DATA
S$=”@00RR00000001”
FCS=0
FOR I=1 TO LEN(S$)
FCS=FCS XOR ASC(MID$(S$,I,1))
NEXT I
FCS$=(FCS):IF LEN(FCS$)=1 THEN FCS$=”0”+FCS$
CLOSE 1
CLS
PRINT ”SENDING COMMAND”
OPEN ”COM:E73” AS #1
PRINT #1,S$ + FCS + CHR$(13);
CLS
PRINT ”RECEIVING RESPONSE DATA”
LINE INPUT #1,A$
PRINT A$
END
4-2-2 Communications entre un NT et un API
En utilisant la communication entre un NT et un API, l’API du CPM1/CPM1A
peut être connecté au terminal programmable (interface de communication NT)
par l’intermédiaire d’un convertisseur RS-232C.
API du CPM1
Convertisseur RS-232C
Terminal Opérateur Programmable
UC CPM1
CPM1 CPU
Câble RS-232C
186
Chapitre
Fonctions de communication du CPM1/CPM1A
4-2
API du CPM1A
Convertisseur
RS-232C
Terminal Opérateur Programmable OMRON
UC CPM1A
Câble RS-232C
Les paramètres concernant les communications API entre un NT et un API doivent être définis comme dans le tableau suivant :
Setup de l’API
Mot
Bit
DM 6650
00 à 07
Fonction
Paramètres
Configuration du port1
00
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire, 9 600 bps) (Toutes
val. OK)
01 : Réglage en DM 6651
08 à 11
Zone de liaison pour liaison API Inter API via un port périphérique
0 : LR 00 à LR 15
0
(Toutes
val. OK)
12 à 15
Modes communications1
0 : Liaison à l’ordinateur ; 2 : Liaison Inter API esclave ; 3 : Liaison Inter API Maître ;
4 : Liaison entre un NT et un API
4
Rem.
1. En cas d’utilisation d’un paramètre incorrect, une erreur non fatale se produit, AR 1302 sera activé et le paramètre par défaut (0 ou 00) sera utilisé.
2. Pour de plus amples informations concernant les paramètres de communications NT d’un autre API OMRON, se reporter au Manuel de programmation de celui-ci.
3. Lorsqu’une valeur est définie hors limite, il en résulte les conditions de communication suivantes. Dans ce cas, réinitialiser la valeur pour qu’elle soit
dans la plage autorisée.
Modes communication :
Liaison à l’ordinateur
Format de communications :
Parmètres standard
(1 bit de départ, 7 bits de données, 2 bits
d’arrêt, parité paire, 9 600 bps)
Retard de transmission :
Non
Numéro de station :
00
4-2-3 Communication Inter API
Dans une communication Inter API, un CPM1/CPM1A est connecté à un autre
API CPM1/CPM1A, CPM2A/CPM2C, CQM1 ou C200HS par l’intermédiaire
d’une interface RS-232C et d’un câble RS-232C standard. L’un des API fait
fonction de maître et l’autre d’esclave. La communication Inter API peut connecter jusqu’à 256 bits (LR 0000 à LR 1515) dans les deux API.
187
Chapitre
Fonctions de communication du CPM1/CPM1A
4-2
Le schéma suivant illustre une communication Inter API entre deux API CPM1.
Se reporter au Manuel de programmation du CPM1A pour y trouver les informations relatives au CPM1A.
Communications Inter API
CPM1/CPM1A
Câble RS-232C
Convertisseur RS-232C
UC CPM1
Convertisseur RS-232C
UC CPM1
Les mots utilisés pour la communication Inter API se trouvent ci-après :
Maître
Esclave
LR00
Données
d’écriture
Données
de lecture
LR00
Zone d’écriture
LR07
LR08
Zone de lecture
Zone de lecture
Zone d’écriture
LR15
LR07
LR08
LR15
Données
de lecture
Données
d’écriture
Limitations des
communications Inter API
avec un CPM1/CPM1A
Seuls les 16 mots LR de LR 00 à LR 15 peuvent être reliés dansle
CPM1/CPM1A ; il convient donc de n’utiliser que ces 16 mots dans le CQM1 ou
le C200HS lorsqu’une communication Inter API est réalisée avec l’un de ces
API. Une communication Inter API ne peut être réalisée avec un API
CPM1/CPM1A en utilisant les mots LR 16 à LR 63 dans le CQM1 ou le C200HS.
Setup de l’API
Les paramètres concernant les communications Inter API doivent être définis
comme dans le tableau suivant :
Mot
Bit
DM 6650
00 à 07
08 à 11
12 à 15
Fonction
Param.
(Maître)
Configuration du port1
00
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire, (Toute
val. OK)
9 600 bps)
01 : Paramètres dans DM 6651
Zone de liaison pour liaison Inter API via un port périphérique
0
0 : LR 00 à LR 15
Param.
(Esclave)
00
(Toute
val. OK)
Modes communication1
3
0 : Liaison à l’ordinateur ; 2 : Liaison Inter API esclave ; 3 : Liaison Inter API
Maître ; 4 : Liaison entre un NT et un API
2
Rem.
188
0
(Toute
val. OK)
1. En cas d’utilisation d’un paramètre incorrect, une erreur non fatale se produit, AR 1302 sera activé et le paramètre par défaut (0 ou 00) sera utilisé.
2. Pour de plus amples informations concernant les paramètres de communications Inter API d’un autre API OMRON, se reporter au Manuel de programmation de celui-ci.
3. Lorsqu’une valeur est définie hors limite, il en résulte les conditions de communication suivantes. Dans ce cas, réinitialiser la valeur pour qu’elle soit
dans la plage autorisée.
Modes communication :
Liaison à l’ordinateur
Format de communications :
Parmètres standard
(1 bit de départ, 7 bits de données, 2 bits
d’arrêt, parité paire, 9 600 bps)
Retard de transmission :
Non
Chapitre
Fonctions de communication du CPM2A/CPM2C
Numéro de station :
Exemple de programme
00
Cet exemple illustre des programmes à contacts qui copient l’état de IR 000
dans chaque CPM1/CPM1A vers SR 200 dans l’autre CPM1/CPM1A.
Programme dans le Maître
25313 (Toujours ON)
Programme dans l’Esclave
25313 (Toujours ON)
MOV(21)
MOV(21)
000
000
LR00
LR08
MOV(21)
LR00
IR 000
SR 200
Zone d’écriture
Ecriture
Lecture
LR07
LR08
Zone de lecture
MOV(21)
LR08
LR00
200
200
Zone de lecture
Zone d’écriture
LR15
4-3
4-3
LR00
Ecriture
SR 200
Lecture
IR 000
LR07
LR08
LR15
Fonctions de communication du CPM2A/CPM2C
Ce chapitre décrit l’utilisation des fonctions de communication du CPM2A/
CPM2C. La lire dans le cas d’utilisation des communications de type à l’ordinateur, sans protocole, entre un NT et un API ou Inter API.
4-3-1 Communications à l’ordinateur
Les communications à l’ordinateur utilisent un protocole de communication de
type conversationnel, dans lequel l’API envoie des réponses aux commandes
envoyées par un ordinateur, avecla possibilité de lire ou d’écrire des données
dans les zones de données de l’API et d’en contrôler certaines opérations. Il
n’est pas nécessaire que l’API soit doté d’un programme de communication.
Les communications à l’ordinateur peuvent être effectuées par port de périphérique ou le port RS-232C du CPM2A/CPM2C.
CPM2A
Commandes
Ordinateur
Réponses
189
Chapitre
Fonctions de communication du CPM2A/CPM2C
Communications Inter API du CPM2A
Réponses
Commandes
Réponses
Commandes
Terminal Opérateur Programmable OMRON
Connexion de port RS-232C du
CPM2A (voir Rem.)
Connexion de port RS-232C du
CPM2A (voir Rem.)
Rem. Lors de la connexion au port périphérique, un convertisseur RS-232C ou un
câble de connexion à un ordinateur (CQM1-CIF01 ou CQM1-CIF02) est
nécessaire.
Communications Inter API du CPM2C
Commandes
Commandes
Terminal Opérateur Programmable OMRON
connexion* RS-232C du CPM2C
Réponses
Réponses
connexion* RS-232C
du CPM2C
Rem. *Lors de la connexion au port périphérique, un convertisseur RS-232C ou un câble
de connexion à un ordinateur (CQM1-CIF01, CQM1-CIF02) est nécessaire.
190
4-3
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Réponses
Commandes
Communications 1:N du CPM2A
Connexion de port
RS-232C du CPM2A
Convertisseur
NT-AL001 RS-232C/RS-422
Convertisseur de liaison
B500-AL004
Connexion de port périphérique du CPM2A
Convertisseur CPM1-CIF01 RS-422
Responses
Convertisseur de liaison
B500-AL004
CPM2C
(Connexion RS-232C)
Convertisseur
NT-AL001 RS-232C/RS-422
Commandes
Communications 1:N du CPM2C
CPM2C
(Connexion périphérique)
Convertisseur CPM1-CIF01 RS-422
CPM2C
(Connexion périphérique)
Convertisseur de liaison
B500-AL004
191
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Emission et réception de trame
Dans les communications à l’ordinateur, l’ordinateur dispose en général du privilège d’émission et déclenche les communications. Ensuite le CPM2A/CPM2C
renvoie automatiquement une réponse.
Les commandes et les réponses s’échangent dans l’ordre décrit par l’illustration
ci-après Le bloc de données transféré dans une émission s’appelle une “trame”.
Une trame est constituée d’un maximum de 131 caractères de données. Le droit
d’émettre une trame s’appelle “droit d’émission”. L’unité disposant du droit d’émission est cele qui peut envoyer une trame à un moment donné. Le droit d’émission est négocié dans un sens, puis dans l’autre, entre l’ordinateur et le
CPM2A/CPM2C, chaque fois qu’une trame est envoyée. Le droit d’émission
passe de l’unité émettrice à celle qui reçoit dès qu’un caractère d’arrêt (le code
marquant la fin d’une commande ou d’une réponse) ou un délimiteur (le code qui
délimite les trames) est reçu.
Bloc (commande)
Bloc (commande)
Num. unité
Premier code
Num. unité
Premier code
Texte
Texte
FCS
Final
FCS
Final
Ordinateur
Transmission du prochain
bloc possible (c’est--à--dire
droit d’émission négocié)
Num. unité
Premier code
Dernier code
Num. unité
Premier code
Dernier code
Texte
Texte
CPM2A/CPM2C
FCS
Final
FCS
Final
Bloc (réponse)
Bloc (réponse)
Communications par un
esclave
Les transmissions de données de l’API vers l’ordinateur peuvent être déclenchées par l’UC par l’instruction TXD(48).
Ordinateur
Il n’y a pas de réponse
de l’ordinateur
Num. unité
Premier code
CPM2A/CPM2C
Texte
FCS
Final
Bloc (réponse)
192
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Formats de commande et de réponse
Ce chapitre décrit les formats des commandes et des réponses échangés dans
les communications à l’ordinateur.
Pour émettre une commande à partir de l’ordinateur, préparer les données
dansle format ci-dessous :
Format de commande
@
x 101 x 100
N_ de
station
*
Code
titre
Texte
FCS
"
Caractère
d’arrêt
@
Un symbole “@” doit être placé au début.
N_
_ de station
Identifie l’API CPM2A/CPM2C communiquant avec l’ordinateur.
Indiquer le numéro de station CPM2A/CPM2C dans la configuration de l’API
(DM 6648, DM 6653).
Code titre
Définir le code de commande à 2 caractères.
Texte
Définir les paramètres de commande.
FCS
Définir un code de séquence de vérification de trame (FCS) à 2 caractères. Se
reporter à la commande FCS décrite un peu plus loin dans ce chapitre.
Caractère d’arrêt
Définir deux caractères, “*” et le retour chariot (CHR$(13)) pour indiquer la fin de
la commande.
La réponse émise par le CPM2A/CPM2C est au format ci-dessous. Préparer le
programme de manière à ce que les données de la réponse puissent être interprétées et traitées.
Format de réponse
@
x 101 x 100
N_ de
station
x 161 x 160
Code
titre
Code de
fin
*
Texte
FCS
"
Caractère
d’arrêt
_ de station, Code titre
@, N_
Un contenu identique à celui de la commande est retourné.
Code de fin
L’état de fin de la commande (par ex., s’il s’est produit une erreur ou non) est
retourné.
Texte
Du texte est retourné uniquement lorsque des données telles que des données
en lecture existent.
FCS
Le code de séquence de vérification de trame (FCS) défini à 2 caractères est
retourné.
Caractère d’arrêt
Définir deux caractères, “*” et le retour chariot (CHR$(13)) pour indiquer la fin de
la réponse.
Transmissions longues
Le bloc de données le plus long pouvant être émis dans une seule trame est de
131 caractères. Une commande ou une réponse de 132 caractères ou plus doit
193
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
être divisée en plusieurs trames avant d’être émise. En cas de division d’une
émission, les fins de la première trame et des trames intermédiaires sont marquées par un délimiteur et non par un caractère d’arrêt.
Vision des commandes
Lors de l’émission de chaque trame par l’ordinateur, celui-ci attend que le délimiteur soit émis à partir du CPM2A/CPM2C avant d’envoyer la trame suivante.
Cette procédure se répète jusqu’à ce que toute la commande ait été envoyée.
Ordinateur
Bloc 3 (commande)
Bloc 2 (commande)
Bloc 1 (commande)
Num. unité
Premier code
Texte
Texte
Texte
FCS
Final
FCS
Final
FCS
Final
Délimiteur
CPM2A/CPM2C
Délimiteur
Num. unité
Premier code
Dernier code
Texte
FCS
Final
Bloc (réponse)
Vision des réponses
Lors de la réception de chaque trame par l’ordinateur, un délimiteur est envoyé
au CPM2A/CPM2C avant que ce dernier n’envoie pas la trame suivante. Cette
procédure se répète jusqu’à ce que toute la réponse ait été envoyée.
Bloc (commande)
Num. unité
Premier code
Ordinateur
Texte
FCS
Final
Délimiteur
Num. unité
Premier code
Dernier code
CPM2A/CPM2C
Texte
FCS
Final
Bloc 1 (réponse)
194
Délimiteur
Texte
Texte
FCS
Final
FCS
Final
Bloc 2 (réponse)
Bloc 3 (réponse)
Chapitre
Fonctions de communication du CPM2A/CPM2C
Lors de la division des commandes telles que WR, WL, WC ou WD qui exécutent des opérations d’écriture, veiller à ne pas séparer dans plusieurs trames des
données qui doivent être écrites en un seul mot. Comme le montre l’illustration
ci-dessous, vérifier que les trames sont divisées de sorte qu’elles coïncident
avec les divisions entre les mots.
Conseils d’utilisation
pour les transmissions
longues
Trame 1
@
4-3
(131 caractères maximum)
0
0
x101 x100
W
Données
D
"
Code
titre
N_ de
station
FCS
Un mot de données
Déimiteur
Les données d’un même mot ne sont pas divisées.
Trame 2 (128 caractères maximum)
Données
"
*
Un mot de données
Caractère
d’arrêt
FCS
Les données d’un même mot ne sont pas divisées.
FCS (séquence de vérification de trame)
Lorsqu’une trame est émise, une FCS est placée juste devant le délimiteur ou le
caractère d’arrêt afin de vérifier si des erreurs se sont produites. La FCS est
constituée de données de 8 bits converties en deux caractères ASCII. Les données 8 bits sont le résultat d’un EXCLUSIVE OR (ou exclusif) exécuté sur les
données de début de la trame jusqu’à la fin du texte de celle-ci (c.--à--d. juste
avant la FCS). Le fait de calculer la FCS à chaque réception de trame et de vérifier le résultat par rapport à la FCS incluse dans la trame, permet de contrôler si
celle-ci contient des erreurs de données.
@
1
0
R
R
0
0
Code titre
N_ de station
0
Texte
1
4
2
FCS
*
"
Caractère
d’arrêt
Plage de calcul FCS
Extrême
gauche
Code ASCII
@
#
40
#
0100
Extrême
droite
0000
XOR
1
#
31
#
0011
0001
XOR
0
#
30
#
0011
0000
XOR
R
#
52
#
0101
0010
XOR
0
#
30
#
0011
0000
XOR
0
#
30
#
0011
0000
XOR
à
0
#
30
#
0011
0000
XOR
1
#
Résultats de calcul
31
#
0011
0100
$
$
4
2
0001
0010
Converti en hexadécimal.
Manipulé comme caractère ASCII.
195
Fonctions de communication du CPM2A/CPM2C
Exemple de programme
pour FCS
Chapitre
Cet exemple illustre un sous-programme BASIC permettant d’exécuter une
vérification FCS sur une trame reçue par l’ordinateur.
Les données de réception normales incluent la FCS, le délimiteur ou le
caractère d’arrêt, et ainsi de suite. Lorsqu’une erreur de transmission se produit,
il se peut que la FCS ou d’autres données soient absentes. S’assurer que la programmation du système prenne en compte cette éventualité.
---------------------------------------------------------------------------400 *FCSCHECK
410 L = LEN ( RESPONSE$ ) ’ ......................... Données transmises et reçues
420 Q = 0 : FCSCK$ = ” ”
430 A$ = RIGHT$ ( RESPONSE$ , 1)
440 PRINT RESPONSE$ , A$ , L
450 IF A$ = ”*” THEN LENGS = LEN ( RESPONSE$ ) - 3
ELSE LENGS = LEN ( RESPONSE$ ) - 2
460 FCSP$ = MID$ ( RESPONSE$ , LENGS + 1 , 2 ) ’ ........ Données FCS reçues
470 FOR I = 1 TO LENGS ’ .................... Nombre de caractères dans le FCS
480
Q = ASC ( MID$ ( RESPONSE$ , I , 1 ) ) XOR Q
490 NEXT I
500 FCSD$ = HEX$ ( Q )
510 IF LEN ( FCS0$ ) = 1 THEN FCSD$ = ” 0 ” + FCSD$ ’ ... Résultats du FCS
520 IF FCSD$ < > FCSP$ THEN FCSCK$ = ” ERR ”
530 PRINT ” FCSD$ = ” ; FCSD$ , ” FCSP$ = ” ; FCSP$ , ” FCSCK$ = ” ; FCSCK$
540 RETURN
----------------------------------------------------------------------------
196
4-3
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Commandes
Mode de fonctionnement du
CPM2A/CPM2C
Code
titre
e
RUN
MONITOR
Nom
Page
PROGRAM
RR
Valide
Valide
Valide
IR/WR/SR AREA READ
236
RL
Valide
Valide
Valide
LR AREA READ
237
RH
Valide
Valide
Valide
HR AREA READ
237
RC
Valide
Valide
Valide
TC PV READ
237
RG
Valide
Valide
Valide
TC STATUS READ
238
RD
Valide
Valide
Valide
DM AREA READ
239
RJ
Valide
Valide
Valide
AR AREA READ
239
WR
Invalide
Valide
Valide
IR/WR/SR AREA WRITE
240
WL
Invalide
Valide
Valide
LR AREA WRITE
241
WH
Invalide
Valide
Valide
HR AREA WRITE
241
WC
Invalide
Valide
Valide
TC PV WRITE
242
WG
Invalide
Valide
Valide
TC STATUS WRITE
242
WD
Invalide
Valide
Valide
DM AREA WRITE
243
WJ
Invalide
Valide
Valide
AR AREA WRITE
244
R#
Valide
Valide
Valide
SV READ 1
244
R$
Valide
Valide
Valide
SV READ 2
245
W#
Invalide
Valide
Valide
SV CHANGE 1
246
W$
Invalide
Valide
Valide
SV CHANGE 2
247
MS
Valide
Valide
Valide
STATUS READ
248
SC
Valide
Valide
Valide
STATUS WRITE
249
MF
Valide
Valide
Valide
ERROR READ
250
KS
Invalide
Valide
Valide
FORCED SET
251
KR
Invalide
Valide
Valide
FORCED RESET
252
FK
Invalide
Valide
Valide
MULTIPLE FORCED SET/RESET
253
KC
Valide
Valide
Valide
FORCED SET/RESET CANCEL
255
MM
Valide
Valide
Valide
PC MODEL READ
255
TS
Valide
Valide
Valide
TEST
256
RP
Valide
Valide
Valide
PROGRAM READ
256
WP
Invalide
Invalide
Valide
PROGRAM WRITE
257
QQ
Valide
Valide
Valide
COMPOUND COMMAND
257
XZ
Valide
Valide
Valide
ABORT (commande seulement)
259
**
Valide
Valide
Valide
INITIALIZE (commande seulement)
259
EX
Valide
Valide
Invalide
TXD RESPONSE (réponse seulement)
260
IC
---
---
---
Undefined command (réponse seulement)
260
Rem. --- : Remarque dépendant du mode.
197
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Codes de réponse
Code
de fin
00
Contenu
Cause probable
Mesures de correction
Exécution normale
---
---
01
Non exécutable en mode RUN
La commande envoyée ne peut
pas être exécutée lorsque l’API est
en mode RUN.
Vérifier les relations entre les commandes et le mode de l’API.
02
Non exécutable en mode
MONITOR
La commande envoyée ne peut
pas être exécutée lorsque l’API est
en mode MONITOR.
04
Dépassement d’adresse
L’adresse la plus haute de zone de
programmation utilisateur a été
dépassée.
Vérifier le programme.
0B
Non exécutable en mode
PROGRAM
La commande envoyée ne peut
pas être exécutée lorsque l’API est
en mode PROGRAM.
Ce code n’est pas utilisé actuellement.
13
Erreur FCS
La FCS est fausse : soit le calcul
de la FCS est erroné, soit les parasites influent défavorablement.
Vérifier la méthode de calcul de la
FCS. S’il y a une influence de parasites, transférer la commande à
nouveau.
14
Erreur de format
Le format de commande est mauvais.
Erreur de données de numéro d’en- La spécification de la zone de lectrée
ture/écriture est mauvaise.
Commande non reconnue
La commande spécifiée n’existe
pas à l’adresse indiquée (lecture de
la SV, etc...).
Vérifier le format et transférer la
commande à nouveau.
Corriger les zones et transférer la
commande à nouveau.
Vérifier l’adresse et l’instruction.
18
Erreur longueur de trame
19
Non exécutable
La longueur maximum de trame a
été dépassée.
Objets à lire non enregistrés pour
une commande composite (QQ).
Diviser la commande en plusieurs
trames.
Exécuter QQ pour enregistrer les
objets à lire avant d’essayer de lire
par lot.
23
Mémoire utilisateur protégée en
écriture
Annulation due à une erreur FCS
dans la transmission de données
Annulation due à une erreur de format dans la transmission de données
La mémoire est protégée en écriture dans le Setup de l’API.
L’erreur a été générée lorsqu’une
commande s’étendant sur plus
p
d’une trame a été
é é exécuté.
é é
Changer la configuration du Setup
de l’API (DM 6602).
Vérifier les trames corrompues, corriger
g si nécessaire et essayer
y de la
transférer
é à nouveau.
15
16
A3
A4
A5
Annulation due à une erreur de
données de numéro d’entrée dans
la transmission de données
A8
Annulation due à une erreur de longueur de trame dans la transmission de données
Other
---
198
Rem. : Les données au-dessus de
ce point ont déjà été écrites dans la
zone appropriée de l’UC.
Une influence de bruit a été reçue.
Transférer la commande à nouveau.
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Procédure d’application
Configuration du commutateur
de communications de l’UC.
Connexion des câbles.
Paramétrer le commutateur de communications de
l’UC du CPM2A ou le micro-interrupteur de l’UC du
CPM2C.
Effectuer les connexions Inter API ou 1:N.
Commandes issues de l’ordinateur.
Réglage du commutateur
de communication
Programme à contacts
(Communications initiées par
le CPM2A/CPM2C)
Les communications du CPM2A sont contrôlées par le commutateur de communication situé à l’avant de l’UC et les communications du CPM2C sont
contrôlées par le micro-interrupteur situé à l’avant de l’UC.
Paramètres du commutateur de communication du CPM2A
Lorsque le commutateur de communication est sur OFF, les communications
par le port périphérique et le port RS-232C sont régies par les paramètres de
configuration de l’API.
Lorsque le commutateur de communication est sur ON, les communications par
le port périphérique et le port RS-232C sont régies par les paramètres de communications à l’ordinateur standard (1 bit de début, 7 bits de données, 2 bits
d’arrêt, parité paire et débit en Baud 9600).
Rem. Lorsqu’une console de programmation est connectée au port périphérique, les
communications avec celle-ci ne sont influencées ni par le commutateur de
communication ni par les paramètres de configuration de l’API.
Commutateur de
communication
Prot périphérique
Port RS-232C
Une interface RS-232C est nécessaire pour réaliser des communications à l’ordinateur à partir d’un port périphérique.
Paramètres du micro-interrupteur du CPM2C
Lorsque le sélecteur 2 du micro-interrupteur est sur OFF, les communications
par le port périphérique sont définies sur le protocole de la console de pro-
199
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
grammation, quels que soient les paramètres du sélecteur 1 ou de configuration
de l’API.
Micro-interrupteur
Lorsque le sélecteur 2 est sur ON, la position du sélecteur 1 détermine si les
communications par le port périphérique et le port RS-232C sont régies par les
paramètres de configuration de l’API ou par les paramètres standard (1 bit de
début, 7 bits de données, 2 bits d’arrêt, parité paire et débit en Baud 9600).
Configuration des
sélecteurs
Sél. 1
Sél. 2
OFF
OFF
OFF
ON
ON
OFF
ON
ON
Communications du port
périphérique
Protocole de la console de programmation
Commandé par le Setup de l’API
(DM 6650 à DM 6654)
Protocole de la console de programmation
Commandé par la configuration
standard
Communications du port
RS-232C
Commandé par le Setup de
l’API
(DM 6645 à DM 6649)
Commandé par la configuration
standard
Un convertisseur RS-232C est nécessaire pour réaliser des communications à
l’ordinateur à partir d’un port périphérique.
Connexion des câbles
Ce chapitre décrit les connexions RS-232C.
Connexions Inter API
Le port RS-232C de l’ordinateur et le port RS-232C du convertisseur RS-232C
du CPM2A/CPM2C ou du CPM1-CIF01 sont connectés comme dans le
schéma ci-après en l’absence de contrôle CTS sur le port RS-232C. Avec les
CPM2C, CPM2C-CN111 et CS1W-CN118, il est possible d’utiliser des câbles
de connexion à la place du convertisseur RS-232C.
IBM PC/AT ou compatible
Signal
Sél. n_
Port RS-232C
Signal
Sél. n_
Capot
200
Chapitre
Fonctions de communication du CPM2A/CPM2C
Connexions un à N
Régler le micro-interrupteur
RS-232C/RS-422.
de
l’adaptateur
d’interface
4-3
NT-AL001
Normalement ON
ON lorsque l’unité est à la fin du chemin de transmission. OFF dans tous les autres cas.
Utilisé comme méthode à 4 conducteurs (les deux commutateurs sur OFF)
Conformément au contrôle CTS RS-232C (5 : OFF, 6 : ON)
Le port RS-232C avec le convertisseur de liaison NT-AL001 RS-232C/RS-422
et le port RS-232C du convertisseur RS-232C du CPM2A/CPM2C ou du
CPM1-CIF01 sont connectés comme dans le schéma ci-après en l’absence de
contrôle CTS sur le port RS-232C. Une alimentation de 5 V c.c. est fournie au
convertisseur de liaison RS-232C/RS-422. Avec les CPM2C, CPM2C-CN111 et
CS1W-CN118, il est possible d’utiliser des câbles de connexion à la place du
convetisseur RS-232C.
Convertisseur de liaison
NT-AL001 RS-232C/RS-422
Signal
Sél. n_
Port RS-232C
Signal
Sél. n_
Capot
Rem. Ne connecter aucun périphérique externe que le convertisseur de liaison NTAL001 à l’alimentation 5 V c.c. du sélecteur 6 du port RS-232C du CPM2A/
CPM2C. Le CPM2A/CPM2C ou le périphérique externe risquent d’être endommagés.
Paramètres de l’API
Les paramètres de l’API nécessaires varient suivant qu’un port périphérique ou
qu’un port RS-232C est utilisé.
Paramètre du port RS-232C
Mot
DM 6645
Bit
00 à 03
Fonction
Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Paramètres dans DM 6646
Paramètre
Correspond
aux
paramètres de
l’ordinateur
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut sera utilisée et l’AR 1302 passera sur ON).
04 à 07
08 à 11
12 à 15
Paramètres de contrôle CTS
0 : Désactivé ; 1 : Configuré
Mots de liaison pour une liaison Inter API
0 : LR 00 à LR 15 ; Autres : non effectifs
Modes communication
0 : Liaison à l’ordinateur (par défaut) ; 1 : RS-232C (sans protocole) ;
2 : Liaison Inter API esclave ; 3 : Liaison Inter API Maître ; 4 : Liaison entre
un NT et un API
0 ou 1
Tous
0
(D’autres configurations causeront une erreur non fatale, la configuration de
la liaison à l’ordinateur sera utilisée et l’AR 1302 passera sur ON)
201
Fonctions de communication du CPM2A/CPM2C
Mot
DM 6646
Bit
00 à 07
Chapitre
Fonction
Débit en bauds :
00 : 1 200 bps 01 : 2 400 bps 02 : 4 800 bps 03 : 9 600 bps 04 : 19 200 bps
DM 6647
08 à 15
Format de trame
Départ
Longueur
Arrêt
Parité
00 :
1 bit
7 bits
1 bit
Paire
01 :
1 bit
7 bits
1 bit
Impaire
02 :
1 bit
7 bits
1 bit
Aucune
03 :
1 bit
7 bits
2 bit
Paire
04 :
1 bit
7 bits
2 bit
Impaire
05 :
1 bit
7 bits
2 bit
Aucune
06 :
1 bit
8 bits
1 bit
Paire
07 :
1 bit
8 bits
1 bit
Impaire
08 :
1 bit
8 bits
1 bit
Aucune
09 :
1 bit
8 bits
2 bit
Paire
10 :
1 bit
8 bits
2 bit
Impaire
11 :
1 bit
8 bits
2 bit
Aucune
(D’autres configurations causeront une erreur non fatale, les paramètres par
défaut (03) seront utilisés et l’AR 1302 passera sur ON)
00 à 15
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms, par exemple, un paramètre
de 0001 vaut 10 ms
4-3
Paramètre
Correspond
aux
paramètres de
l’ordinateur
0000 à 9999
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0000) sera utilisée et l’AR 1302 passera sur ON)
DM 6648
00 à 07
08 à 11
12 à 15
00 à 31 (BCD) : Numéro de station (Liaison à l’ordinateur)
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (00) sera utilisée et l’AR 1302 passera sur ON)
Activation du code de départ (RS-232C)
0 : Désactivé ; 1 : Utiliser le code de départ en DM 6649.
Activation du code de fin (RS-232C)
0 : Désactivé (nombre d’octets reçus)
1 : Utiliser le code de fin en DM 6649.
2 : CR, LF
00 à 31
Tous
Tous
(D’autres configurations causeront une erreur non fatale, la configuration
désactivée sera utilisée et l’AR 1302 passera sur ON)
DM 6649
00 à 07
00 à 15
Code de départ (01 à FF)
(Sans protocole, effectif lorsque les bits 8 à 11 de DM 6648 sont à 1)
Nombre d’octets de données reçus
(Sans protocole, effectif lorsque les bits 12 à 15 de DM 6648 sont à 0)
00 : 256 octets
01 à FF: 1 à 255 octets
Code de fin (00 à FF)
(Sans protocole, effectif lorsque les bits 12 à 15 de DM 6648 sont à 1)
Tous
Tous
Paramètres du port périphérique
Mot
DM 6650
Bit
00 à 03
Fonction
Configuration du port
0 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
1 : Paramètres dans DM 6651
Paramètre
Correspond
aux
paramètres de
l’ordinateur
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0) sera utilisée et l’AR 1302 passera sur ON)
04 à 11
Non utilisés.
0
12 à 15
Modes communication
0 : Liaison à l’ordinateur ; 1 : Sans protocolee
0
(D’autres configurations causeront une erreur non fatale, la configuration de
la liaison à l’ordinateur (0) sera utilisée et l’AR 1302 passera sur ON)
202
Chapitre
Fonctions de communication du CPM2A/CPM2C
Mot
DM 6651
Bit
00 à 07
Fonction
Paramètre
00 : 1 200 bps, 01 : 2 400 bps, 02 : 4 800 bps, 03 : 9 600 bps, 04 : 19 200 bps
Correspond
aux
paramètres de
l’ordinateur
Débit en Baud :
08 à 15
Format de trame
00:
01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
DM 6652
00 à 15
4-3
Départ
1
1
1
1
1
1
1
1
1
1
1
1
Longueur
7
7
7
7
7
7
8
8
8
8
8
8
Arrêt
1
1
1
2
2
2
1
1
1
2
2
2
Parité
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
(D’autres configurations causeront une erreur non fatale, les paramètres par
défaut (03) seront utilisés et l’AR 1302 passera sur ON)
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms.
0000 à 9999
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0000) sera utilisée et l’AR 1302 passera sur ON)
DM 6653
00 à 07
Numéro de station (Liaison à l’ordinateur)
00 à 31 (BCD)
00 à 31
(D’autres configurations causeront une erreur non fatale, les paramètres par
défaut (03) seront utilisés et l’AR 1302 passera sur ON)
08 à 11
Activation du code de début (port périphérique)
0 : Désactivé
1 : Utiliser le code de départ en DM 6654.
Tous
12 à 15
Activation du code de fin (port périphérique)
0 : Désactivé (nombre d’octets reçus)
1 : Utiliser le code de fin en DM 6654.
2 : CR, LF
Tous
(D’autres configurations causeront une erreur non fatale, la configuration
désactivée (0) sera utilisée et l’AR 1302 passera sur ON)
DM 6654
00 à 07
Code de démarrage
(Port périphérique, effectif lorsque les bits 08 à 11 de DM 6653 sont mis à 1)
01 à FF (Hex)
Tous
08 à 15
Nombre d’octets de données reçus
(Port périphérique, effectif lorsque les bits 12 à 15 de DM 6653 sont mis à 0)
00 : 256 octets
01 à FF : 1 à 255 octets
Code de fin (00 à FF)
(Port périphérique, effectif lorsque les bits 12 à 15 de DM 6653 sont mis à 1.)
Tous
Cet exemple illustre un programme BASIC qui lit l’état des entrées du
CPM2A/CPM2C dans IR 000. Pour de plus amples informations, se reporter à
4-5 Commandes de communication à l’ordinateur.
Aucune séquence de vérification de trame (FCS) n’est réalisée sur les données
des réponses reçues dans ce programme.
Vérifier que le port RS-232C de l’ordinateur est correctement configuré avant
d’exécuter le programme.
1000 ’ ---------------------------------------------------------------------1010 ’ CPM2A/CPM2C Sample Program for PC-9801 N88-BASIC
1020 ’
1050 ’ ---------------------------------------------------------------------1060 ’ ---Set value RS-232C SPEED:9600BPS,PARITY:EVEN,DATA:7,STOP:2--1070 OPEN ”COM:E73” AS #1
Envoi de commandes à
partir d’un ordinateur
203
Fonctions de communication du CPM2A/CPM2C
Chapitre
4-3
1080 *REPEAT
1090 ---Transmission data input----------------------------------------------1100 INPUT ” send data
: ”,send$
1110 ’ ---FCS Calculation----------------------------------------------1120 FCS=0
1130 FOR IFCS = 1 TO LEN ( send$ )
1140
FCS = FCS XOR ASC( MID$ ( SEND$ , IFCS , 1 ) )
1150 NEXT
1160 FCS$ = RIGHT$ ( ”0” + HEX$ ( FCS ) , 2 )
1170 ’ ---Communications execute----------------------------------------------1180 ZZZ$ = SEND$ + SCS$ + ”*” + CHR$(13)
1190 PRINT #1 , ZZZ$ ;
1200 ’ ---réponse check----------------------------------------------1210 RECCNT = 0 : TMP$ - ””
1220 *DRECLOOP
1230 IF LOC ( 1 ) < > 0 THEN *DREC1
1240 RECCNT = RECCNT + 1
1250 IF RECCNT = 5000 THEN *DRECERR ELSE *DRECLOOP
1260 *DREC1
1270 TMP$ = TMP$ + INPUT$ ( LOC (1 ) , #1 )
1280 IF RIGHT$ ( TMP$ , 1 ) = CHR$ (13) THEN *DRECEND ELSE RECCNT = 0 : GOTO *
DRECLOOP
1290 *DRECERR
1300 TMP$ = ” No response !! ” + CHR$ ( 13 )
1310 *DRECEND
1320 PRINT ” receive data : ” ; RECV$
1340 ’ ---Go à transmission data input---------------------------------------1350 GOTO *REPEAT
1360 ’ ---Processing complete----------------------------------------------1370 CLOSE #1
1380 END
Programme à contacts
(Mnémoniques)
204
Les communications à l’ordinateur inattendues sont exécutées en utilisant
TXD(48).
MnémoContrôle
nique
(@)TXD(48) Sortie du port de
communications
Contenu
Lit les données depuis la mémoire E/S et
les transmet dans le format de trame
spécifié.
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Les communications à l’ordinateur sont commandées avec les drapeaux de
registre d’adresse suivants :
Mot
Bit(s)
Contenu
AR 08
00 à 03
Code d’erreur du port RS-232C
0 : Exécution normale
1 : Erreur de parité
2 : Erreur de trame
3 : Erreur de dépassement
04
Drapeau d’erreur de communications RS-232C
ON : Une erreur de communication avec le port RS-232C est
survenue
OFF : Normal
Drapeau Prêt à transmettre sur RS-232C
ON : L’API est prêt à transmettre des données.
Code d’erreur du port périphérique
0 : Exécution normale
1 : Erreur de parité
2 : Erreur de trame
3 : Erreur de dépassement
05
08 à 11
12
Drapeau d’erreur de communications sur le port périphérique
ON : Une erreur de communication avec le port périphérique
est survenue
Drapeau Prêt à transmettre sur le port périphérique
ON : L’API est prêt à transmettre des donées.
13
Communications inattendues
Une transmission de données vers l’ordinateur est déclenchée par l’API.
(@)TXD(48)
S
S : Première adresse des données à transmettre
C
C : Données de contrôle
N
N : Nombre d’octects à transmettre (BCD : 0001 à 0061)
Port de communicationst
0 : Port RS-232 ; 1 : Port périphérique
Lorsque des communications à l’ordinateur sont utilisées, TXD(48) convertit en
ASCII les N octets de données en commençant par S, ajoute le titre de la communication à l’ordinateur, la FCS et le caractère d’arrêt et émet ces données
comme une trame de communication à l’ordinateur.
La trame de communication à l’ordinateur émise se présente comme dans le
schéma ci-après :
Converti en ASCII.
N octets
N_ de
station
Données (ASCII)
"
205
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Dans l’exemple de programme suivant, TXD(48) sert à transmettre des données d’un port RS-232C vers un ordinateur. Si AR 0805 (de drapeau RS-232C
prêt à émettre) est sur ON lorsque IR 00100 passe à ON, les dix octets de données (DM 0100 à DM 0104) seront transmis à l’ordinateur en commençant par
les octets de gauche.
(48)
Première adresse des données à transmettre
Spécification du port RS-232C
10 octets
4-3-2 Communications sans protocole
Généralités
Lorsque des communications sans protocole sont utilisées, des données peuvent être échangées avec des périphériques série tels que des lecteurs de codes
barres et des imprimantes série en utilisant TXD(48) et RXD(47). Les communications sans protocole s’utilisent indifféremment avec un port RS-232C ou un
port périphérique.
206
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Connexions du CPM2A
UC CPM2A
Périphériques RS-232C
Lecteur de code barre
Imprimante série
Autre
Port RS-232C
Convertisseur RS-232C CPM1-CIF01
(Contrôle CTS inutilisable).
UC CPM2A
Périphériques RS-232C
Lecteur de code barre
Imprimante série
Autre
Port périphérique
Périphériques RS-232C
Convertisseur RS-232C CQM1-CIF01/02
(Contrôle CTS inutilisable).
UC CPM2A
Lecteur de code barre
Imprimante série
Autre
Port périphérique
Connexions du CPM2C
UC CPM2C
Périphériques RS-232C
Lecteur de code barre
Imprimante série
Autre
Rem. *Le convertisseur RS-232C du CPM1-CIF01 peut également être utilisée pour
les communications sans protocole par le port périphérique.
Configuration des données de transmission
Lorsque des communications sans protocole sont utilisées, TXD(48) sert à
envoyer les données et RXD(47) à les recevoir. La quantité maximale de données pouvant être envoyées ou reçues est de 259 octets, y compris les codes
de début et de fin.
207
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Pas de code de début ou de fin :
Données (Nombre d’octets spécifié)
Code de début seulement :
ST
Données (Nombre d’octets spécifié)
Code de fin seulement :
Données (256 octets max.)
ED
Code de début et de fin :
ST
ED
Données (256 octets max.)
Code de fin de CR, LF :
Données (256 octets max.)
CR
LF
Données (256 octets max.)
CR
LF
Code de début 00-FF/code de fin CR, LF :
ST
Rem.
1. Les codes de début et de fin sont définis de DM 6648 à DM 6649 (RS-232C)
ou de DM 6653 à DM 6654 (port périphérique) dans les paramètres de
l’API.
2. Lorsque plusieurs codes de début ou de fin sont présents dans la transmission, c’est le premier de chaque qui est reconnu.
3. Lorsque le code de fin est accidentellement dupliqué dans les données de
transmission et que celle-ci est interrompue dans son déroulement, utiliser
CR et LF comme code de fin.
4. Les codes de début et de fin ne sont ni envoyés ni reçus.
Drapeaux de transmission
Lors de l’envoi des données à partir du CPM2A/CPM2C, vérifier que le drapeau
d’autorisation d’émission est sur ON pour l’exécution de l’instruction TXD(48).
Le drapeau d’autorisation d’émission passera sur OFF pendant l’émission des
données, puis à nouveau sur ON lorsqu’elle sera terminée.
Lorsque le CPM2A/CPM2C a reçu les données, le drapeau d’autorisation de
réception passe à ON. Lorsque l’instruction RXD(47) est exécutée, les données
réçues sont écrites vers les mots spécifiés et le drapeau de fin de réception
passe sur OFF.
Drapeau
Port périphérique
Port RS-232C
Drapeau Prêt à transmettre
AR 0813
AR 0805
Drapeau Réception terminée
AR 0814
AR 0806
Rem. Le CPM2A/CPM2C débute et termine la réception des données aux points suivants :
Début de la réception :
Code de début désactivé :
Continuellement disponible en réception
Code de début activé :
Après réception du code de début
Fin de la réception :
A la réception du code de fin, du nombre d’octets spécifié ou de 256 octets.
208
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Procédure d’application
Paramétrage du commutateur
de communications
Connexion des câbles
Paramétrer le commutateur de communications de l’UC
CPM2A CPU ou le micro-interrupteur de l’UC CPM2C.
Effectuer la connexion du RS-232C avec le périphérique série.
Programme à contacts
Réglage ou commutateur
de communication
Les communications du CPM2A sont contrôlées par le commutateur de communication situé à l’avant de l’UC et les communication du CPM2C sont
contrôlées par le micro-interrupteur situé à l’avant de l’UC.
Paramètres du commutateur de communication du CPM2A
Placer sur OFF le commutateur de communication dans le cas des communications sans protocole. Les communications sans protocole seront impossibles si
le commutateur de communication est sur ON.
Commutateur de communications
Port périphérique
Port RS-232C
Rem. Un convertisseur RS-232C est nécessaire dans le cas des communications
sans protocole sur le port périphérique.
Paramètres du micro-interrupteur du CPM2C
Placer sur OFF le sélecteur 1 du micro-interrupteur dans le cas des communications sans protocole de telle sorte que les communications par le port RS-232C
soient régies par les paramètres de configuration de l’API (DM 6645 à
209
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
DM 6649). Dans le cas de communications sans protocole par le port périphérique, placer également le sélecteur 2 sur ON.
Commutateur de paramétrage du port de communications
Config. des
sélecteurs
Sél. 1
Sél. 2
OFF
OFF
OFF
ON
ON
OFF
ON
ON
Communications du port
périphérique
pé
p é que
Communications du port
RS-232C
S 3 C
Protocole de la console de programmation
Commandé par le Setup de l’API
(DM 6650 à DM 6654)
Protocole de la console de programmation
Commandé par les paramètres
standard
Commandé par le Setup de l’API
((DM 6645 à DM 6649))
Commandé par les paramètres
standard
Rem. Un convertisseur RS-232C est nécessaire dans le cas des communications
sans protocole sur port périphérique.
Connexion des câbles
Ce chapitre décrit les connexions RS-232C.
Le port RS-232C du périphérique série et le port RS-232C du convertisseur
RS-232C du CPM2A/CPM2C ou du CPM1-CIF01 sont connectés comme dans
le schéma suivant. Avec les CPM2C, CPM2C-CN111 et CS1W-CN118, il est
possible d’utiliser des câbles de connexion à la place du convertisseur
RS-232C.
Port RS-232C
Signal
Sél. n_
Périphérique série RD (réception de données)
Périphérique série SD (émission de données)
Périphérique série SG (masse du signal)
Capot
Paramètres de l’API
210
Les paramètres de l’API nécessaires varient suivant qu’un port périphérique ou
qu’un port RS-232C est utilisé.
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Paramètres du port RS-232C
Mot
DM 6645
Bit
00 à 03
Fonction
Paramètre
Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Réglage en DM 6646
Comme
requis
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut sera utilisée et l’AR 1302 passera sur ON)
04 à07
08 à 11
12 à 15
Paramètres de contrôle CTS
0 : Désactivé ; 1 : Défini
Mots de liaison pour une liaison Inter API
0 : LR 00 à LR 15 ; Autres : Sans effet
Modes communication
0 : Liaison à l’ordinateur ; 2 : Liaison Inter API esclave ; 3 : Liaison Inter API
Maître ; 4 : Liaison entre un NT et un API
Tous
1
(D’autres configurations causeront une erreur non fatale, la configuration de la
liaison à l’ordinateur sera utilisée et l’AR 1302 passera sur ON)
DM 6646
00 à 07
Débit en Baud
00 : 1 200 bps ; 01 : 2 400 bps ; 02 : 4 800 bps ; 3 : 9 600 bps ; 04 : 19 200 bps
08 à 15
00 :
01 :
02 :
03 :
04 :
05 :
06 :
07 :
08 :
09 :
10 :
11 :
Format de trame
Départ
Longueur
1
7
1
7
1
7
1
7
1
7
1
7
1
8
1
8
1
8
1
8
1
8
1
8
Arrêt
1
1
1
2
2
2
1
1
1
2
2
2
Comme
requis
Parité
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
(D’autres configurations causeront une erreur non fatale, les paramètres par
défaut (03) seront utilisés et l’AR 1302 passera sur ON)
DM 6647
00 à 15
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms, par ex., un paramètre à 0001
équivaut à 10 ms.
0000 à
9999
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0000) sera utilisée et l’AR 1302 passera sur ON)
DM 6648
00 à 07
08 à 11
12 à 15
00 à 31 (BCD) : Numéro de station (Liaison à l’ordinateur)
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut(00) seront utilisés et l’AR 1302 passera sur ON)
Activation du code de départ (RS-232C)
0 : Désactivé ; 1 : Utiliser le code de début en DM 6649.
Activation du code de fin (RS-232C)
0 : Désactivé (nombre d’octets reçus)
1 : Utiliser le code de fin en DM 6649.
2 : CR, LF
Comme
requis
0 ou 1
0à2
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0) serra utilisée et l’AR 1302 passera sur ON)
DM 6649
00 à 07
08 à 15
Code de début (00 à FF)
(Sans protocole, effectif lorsque les bits 8 à 11 de DM 6648 sont mis à 1)
Nombre d’octets de données reçus
(Sans protocole, effectif lorsque les bits 12 à 15 de DM 6648 sont mis à 0)
00 : 256 octets
01 à FF: 1 à 255 octets
Code de fin (00 à FF)
(Sans protocole, effectif lorsque les bits 12 à 15 de DM 6648 sont mis à 1)
00 à FF
00 à FF
00 à FF
211
Fonctions de communication du CPM2A/CPM2C
Chapitre
4-3
Paramètres du port périphérique
Mot
DM 6650
Bit
00 à 03
Fonction
Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Réglage en DM 6651
Paramètre
Comme
requis
(D’autres configurations causeront une erreur non fatale, la configuration par défaut
(0) sera utilisée et l’AR 1302 passera sur ON)
04 à 11
Non utilisés.
0
12 à 15
Modes communication
0 : Liaison à l’ordinateur ; 1 : Sans protocole
1
(D’autres configurations causeront une erreur non fatale, la configuration de la
liaison à l’ordinateur sera utilisée et l’AR 1302 passera sur ON)
DM 6651
00 à 07
08 à 15
DM 6652
00 à 15
Débit en Baud
00 : 1 200 bps ; 01 : 2 400 bps ; 02 : 4 800 bps ; 03 : 9 600 bps ; 04 : 19 200 bps
Format de trame
Départ
Longueur
Arrêt
Parité
00 :
1
7
1
Paire
01 :
1
7
1
Impaire
02 :
1
7
1
Aucune
03 :
1
7
2
Paire
04 :
1
7
2
Impaire
05 :
1
7
2
Aucune
06 :
1
8
1
Paire
07 :
1
8
1
Impaire
08 :
1
8
1
Aucune
09 :
1
8
2
Paire
10 :
1
8
2
Impaire
11 :
1
8
2
Aucune
(D’autres configurations causeront une erreur non fatale, la configuration par défaut
(03) sera utilisée et l’AR 1302 passera sur ON)
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms.
Comme
requis
q
0000 à
9999
(D’autres configurations causeront une erreur non fatale, la configuration par défaut
(0000) sera utilisée et l’AR 1302 passera sur ON)
DM 6653
00 à 07
08 à 11
12 à 15
00 à 31 (BCD) : Numéro de station (Liaison à l’ordinateur)
Comme
(D’autres configurations causeront une erreur non fatale, la configuration par défaut requis
(00) sera utilisée et l’AR 1302 passera sur ON)
Activation du code de début (Port périphérique)
0 ou 1
0 : Désactivé
1 : Use start code in DM 6654.
Activation du code de fin (Port périphérique)
0 : Désactivé (nombre d’octets reçus)
1 : Use end code in DM 6654.
2 : CR. LF
0à2
(D’autres configurations causeront une erreur non fatale, a configuration par défaut
(0) sera utilisée et l’AR 1302 passera sur ON)
DM 6654
00 à 07
08 à 15
212
Code de début (00 à FF)
(Port périphérique, effective when bits 8 à 11 de DM 6653 sont mis à 1).
Nombre d’octets de données reçus
(Port périphérique, effectif lorsque les bits 12 à 15 de DM 6653 sont mis à 0).
00 : 256 octets
01 à FF: 1 à 255 octets
Code de fin (00 à FF)
(Port périphérique, effectif lorsque les bits 12 à 15 de DM 6653 sont mis à 1).
00 à FF
00 à FF
00 à FF
Chapitre
Fonctions de communication du CPM2A/CPM2C
Programme
4-3
Les instructions suivantes sont utilisées dans les communications sans protocole :
Mnémonique
(@)TXD(48)
Contrôle
(@)RXD(47)
Contenu
Sortie du port de
communications
Lit les données de la mémoire E/S et les
transmet dans le format de trame spécifié (les
codes de début et de fin peuvent être
activés/désactivés).
Entrée du port de
communications
Reçoit les données dans le format de trame
spécifié (les codes de début et de fin peuvent
être activés/désactivés) et enregistre seulement
les données en mémoire E/S.
Les communications sans protocole sont commandées avec les drapeaux de
registre d’adresse suivants :
Mot
Bit(s)
AR 08
00 à 03
Code d’erreur du port RS-232C
0 : Exécution normale ;
1 : Erreur de parité ;
2 : Erreur de trame ;
3 : Erreur de dépassement
04
Code d’erreur de communications sur RS-232C
ON : Une erreur de communications sur le port RS-232C s’est
produite.
OFF : Normal
Drapeau Prêt à transmettre sur RS-232C
ON : L’API est prêt à transmettre des données.
Drapeau Réception terminée sur RS-232C
ON : L’API a terminé la lecture des données.
Drapeau de dépassement positif de réception sur
RS-232C
ON : Un dépassement positif de réception s’est produit.
05
06
07
Contenu
08 à 11
Code d’erreur du port périphérique
0 : Exécution normale ;
1 : Erreur de parité ;
2 : Erreur de trame ;
3 : Erreur de dépassement
12
Drapeau d’erreur de communications du port périphérique
ON : Une erreur de communications sur le port périphérique
s’est produite.
OFF : Normal
13
Drapeau Prêt à transmettre du port périphérique
ON : L’API est prêt à transmettre des données.
Drapeau Réception terminée du port périphérique
ON : L’API a terminé la lecture des données.
Drapeau de dépassement positif de réception sur le port
périphérique
14
15
AR 09
00 à 15
ON : Un dépassement positif de réception s’est produit.
Compteur de réception du port RS-232C (4 digits BCD)
AR 10
00 à 15
Compteur de réception du port périphérique (4 digits BCD)
213
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Emission de données sans protocole
TXD(48) permet d’envoyer des données vers des périphériques RS-232C.
(@)TXD(48)
S
S : Première adresse de données à transmettre
C
C : Données de contrôle
N
N : Nombre d’octets à transmettre (BCD : 0001 à 0256)
Ordre de sauvegarde
0 : Les octets les plus à gauche d’abord
1 : Les octets les plus à droite d’abord
Port de communications
0 : Port RS-232C 1: Port périphérique
Lorsque des communications sans protocole sont utilisées, TXD(48) envoie N
octets de données en commençant par S.
Réception de données sans protocole
RXD(47) permet de recevoir des données à partir des périphériques RS-232C.
(@)RXD(47)
S
S : Première adresse de données à transmettre
C
C : Données de contrôle
N
N : Nombre d’octets à transmettre (BCD : 0001 à 0256)
Ordre de sauvegarde
0 : Les octets les plus à gauche d’abord
1 : Les octets les plus à droite d’abord
Port de communications
0 : Port RS-232C 1: Port périphérique
L’exemple de programme suivant s’applique aux communications sans protocole réalisées par un port RS-232C avec les instructions TXD(48) et RXD(47).
Si AR 0805 (le drapeau RS-232C Prêt à transmettre) est sur ON lorsque 00100
passe à ON, les données de DM 0100 à DM 0104 sont émises des octets les
plus à gauche aux octets les plus à droite. Lorsque AR 0806 (le drapeau Réception terminée) passe à ON, 256 octets de données reçues sont lus et écrits vers
DM 0200 des octets les plus à gauche aux octets les plus à droite.
00100
DIFU(13)
Début des communications sans protocole
00101
00101
AR 0805
@TXD(48)
DM 0100
#0000
#0010
Premier mot contenant des données à envoyer.
Utiliser le port RS-232C, transmettre
les données des octets les plus à
gauche aux octets les plus à droite
Transmet 10 octets.
AR 0806
RXD(47)
DM 0200
#0000
#0256
214
Premier mot pour sauvegarder les données reçues
Utiliser le port RS-232C, transmettre
les données des octets les plus à
gauche aux octets les plus à droite
Reçoit 256 octets.
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
4-3-3 Communications entre un NT et un API
La communication NT permet de connecter directement un API CPM2A/
CPM2C à un terminal programmable OMRON. il n’est pas nécessaire que l’API
soit doté d’un programme de communication. La communication NT peut être
utilisée avec un port RS-232C.
Connexion du CPM2A
UC CPM2A
Câble RS-232C
Terminal opérateur programmable OMRON
Port RS-232C
Connexion entre un NT et un API du CPM2C
UC CPM2C
Port RS-232C
Port RS-232C
Câble RS-232C
Terminal opérateur programmable OMRON
Port périphérique
Câble à utilisation double ou
CS1W-CN118
Procédure d’application
Paramétrage des communications.
Connexion des câbles
Paramétrage du
commutateur de
communication
Utiliser les paramètres du Setup de l’API (DM6645 à DM 6649)
pour les communications RS-232C.
(Mettre sur OFF le commutateur de communications sur l’UC du
CPM2A ou le sélecteur 1 du micro-interrupteur sur l’UC du
CPM2C).
Connecter à un Terminal opérateur programmable.
Les communications du CPM2A sont contrôlées par le commutateur de communication situé à l’avant de l’UC et les communications du CPM2C sont
contrôlées par le micro-interrupteur situé à l’avant de l’UC.
215
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Paramètres du commutateur de communications du CPM2A
Placer sur OFF le commutateur de communication dans le cas des communications entre un NT et un API. Les communications entre un NT et un API seront
impossibles si le commutateur de communication est sur ON.
Commutateur de communications
ON
OFF
Port RS-232C
Paramètres du micro-interrupteur du CPM2C
Placer sur OFF le sélecteur 1 du micro-interrupteur dans le cas des communications entre un NT et un API de telle sorte que les communications par le port
RS-232C soient régies par les paramètres de configuration de l’API (DM 6645 à
DM 6649).
Micro-interrupteur
Config. des
sélecteurs
216
Sél. 1
Sél. 2
OFF
OFF
OFF
ON
ON
OFF
ON
ON
Communications du port
périphérique
pé
p é que
Protocole de la console de programmation
Commandé par le Setup de l’API
(DM 6650 à DM 6654)
Protocole de la console de programmation
Commandé par les paramètres
standard
Communications du port
RS-232C
S 3 C
Commandé par le Setup de
l’API
(DM 6645 à DM 6649)
Commandé par les paramètres
standard
Chapitre
Fonctions de communication du CPM2A/CPM2C
Lorsqu’une communication NT est utilisée avec un API CPM2A/CPM2C, les
paramètres suivants doivent figurer dans la configuration de l’API (DM 6645) en
utilisant un périphérique de programmation.
Setup de l’API
Mot
DM 6645
Bit
00 à 03
4-3
Fonction
Paramètre
Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Réglage en DM 6646
Tous
(D’autres configurations causeront une erreur non fatale, la configuratin par défaut
(00) sera utilisée et l’AR 1302 passera sur ON).
04 à 07
Paramètres de contrôle CTS
0 : Désactivés
1 : Définis
Tous
08 à 11
Mots de liaison pour les liaisons Inter API
0 : LR 00 à LR 15
Tous
12 à 15
(Autres configurations : Désactivé)
Modes communication
4
0 : Liaison à l’ordinateur ; 1: Sans protocole ; 2 : Liaison Inter API Esclave ; 3 : Liaison
Inter API Maître ; 4 : Liaison entre un NT et un API
(D’autres configurations causeront une erreur non fatale, la configuration de la
liaison à l’ordinateur sera utilisée et l’AR 1302 passera sur ON).
Pour de plus amples informations concernant les paramètres de la communication entre un NT et un API d’un terminal programmable OMRON, se reporter au
Manuel de programmation de celui-ci.
Connexion des câbles
Ce chapitre décrit les connexions RS-232C.
Le port RS-232C du terminal programmable et le port RS-232C de l’interface
RS-232C du CPM2A/CPM2C ou du CPM1-CIF01 sont connectés comme dans
le schéma suivant en l’absence de contrôle CTS sur le port RS-232C. Avec les
CPM2C, CPM2C-CN111 et CS1W-CN118, des câbles de connexion sont utilisés.
TOP OMRON
Signal
Sél. n_
Port RS-232C
Sél. n_
Signal
Câbles recommandés :
XW2Z-200T :
2m
XW2Z-500T :
5m
TOP
CPM2
4-3-4 Communications Inter API
Une communication Inter API jusqu’à 256 bits (LR0000 à LR1515) peut être
créée avec la zone de données d’un autre API CPM2A/CPM2C, CQM1, CPM1,
CPM1A, SRM1(-V2) ou C200HX/HE/HG, dans lequel l’un sert de maître et
l’autre d’esclave. Il n’est pas nécessaire que l’API soit doté d’un programme de
communications.
La communication Inter API peut être utilisée avec un port RS-232C.
217
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Communications Inter API entre deux API du CPM2A
UC CPM2A
Port RS-232C
UC CPM2A
Port RS-232C
Maître
Esclave
Bits de liaison
Bits de liaison
LR00
Ecriture
LR07
LR08
Lecture
LR00
Zone
d’écriture
Zone de
lecture
Zone de
lecture
Zone
d’écriture
LR15
Communication Inter API
du CPM2A/CPM2C
Lecture
LR07
LR08
Ecriture
LR15
La zone de relais de liaison des API CPM2A/CPM2C ne dépasse pas 16 mots,
de LR00 à LR15. Dans le cas d’une communication Inter API avec un API
CPM2A/CPM2C et un CQM1, C200HS ou C200HX/HE/HG, utiliser les 16 mots
correspondants, de LR00 à LR15 sur l’API CQM1, C200HS ou C200HX/HE/
HG. Une communication Inter API avec un API CPM2A/CPM2C est impossible
avec les mots LR16 à LR 63.
Procédure d’applicaton
Configuration des communications.
Connexion des câbles
Réglage du commutateur
de communication
218
Utiliser les paramètres du Setup de l’API (DM6645 à DM 6649)
pour les communications RS-232C.
(Mettre sur OFF le commutateur de communications de l’UC du
CPM2A ou le sélecteur 1 du micro-interrupteur de l’UC du
CPM2C).
Connecter une liaison Inter API avec un autre API.
Les communications du CPM2A sont contrôlées par le commutateur de communication situé à l’avant de l’UC et les communications du CPM2C sont
contrôlées par le micro-interrupteur situé à l’avant de l’UC.
Chapitre
Fonctions de communication du CPM2A/CPM2C
4-3
Paramètres du commutateur de communication du CPM2A
Placer sur OFF le commutateur de communication dans le cas des communications Inter API. Les communications Inter API seront impossibles si le commutateur de communication est sur ON.
Commutateur de communications
ON
OFF
Port RS-232C
Paramètres du micro-interrupteur du CPM2C
Placer sur OFF le sélecteur 1 du micro-interrupteur dans le cas des communications Inter API de telle sorte que les communications par le port RS-232C soient
régies par les paramètres de configuration de l’API (DM 6645 à DM 6649).
Micro-interrupteur
Config. des
sélecteurs
Sél. 1
Sél. 2
OFF
OFF
OFF
ON
ON
OFF
ON
ON
Communications du port
périphérique
pé
p é que
Communications du port
RS-232C
S 3 C
Protocole de la console de programmation
Commandé par le Setup de l’API
(DM 6650 à DM 6654)
Protocole de la console de programmation
Commandé par les paramètres
standard
Commandé par le Setup de l’API
((DM 6645 à DM 6649))
Commandé par les paramètres
standard
219
Chapitre
Fonctions de communication du CPM2A/CPM2C
Lors de la création d’une communication Inter API avec un API
CPM2A/CPM2C, utiliser un périphérique de programmation afin de définir les
paramètres suivants dans la configuration de l’API (DM 6645) pour le maître et
l’esclave.
Setup de l’API
Mot
DM 6645
Bit
00 à 03
4-3
Fonction
Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité
paire, 9 600 bps)
01 : Réglage en DM 6646
Config.
Maître
Tous
Config.
Esclave
Tous
(D’autres configurations causeront une erreur non fatale, la configuration
par défaut (00) sera utilisée et l’AR 1302 passera sur ON).
04 à 07
Paramètres du contrôle CTS
0 : Désactivés
1 : Définis
0
0
08 à 11
Mots de liaison pour la liaison Inter API
0 : LR 00 à LR 15
0
0
3
2
12 à 15
(Autres configuration : Désactivé)
Modes communication
0 : Liaison à l’ordinateur ; 1: Sans protocole ; 2 : Liaison Inter API
Esclave ; 3 : Liaison Inter API Maître ; 4 : Liaison entre un NT et un API
(D’autres configurations causeront une erreur non fatale, la configuration
de la liaison à l’ordinateur sera utilisée et l’AR 1302 passera sur ON).
Pour de plus amples informations concernant les paramètres de la communication Inter API d’un autre API OMRON, se reporter au Manuel de programmation
de celui--ci.
Connexion des câbles
Ce chapitre décrit la connexion RS-232C.
Le câble RS-232C utilisé pour les communications Inter API est un câble d’interconnexion. En l’absence de contrôle CTS sur le port RS-232C, la connexion est
réalisée comme dans le schéma ci--après. Avec les CPM2C, CPM2C-CN111 et
CS1W-CN118, des câbles de connexion sont utilisés.
Port RS-232C
Port RS-232C
Signal
Signal
Sél. n_
Sél. n_
Câbles recommandés :
XW2Z-200T :
XW2Z-500T :
Capot
220
2m
5m
Chapitre
Fonctions de communication SRM1(-V2)
4-4
4-4
Fonctions de communication SRM1(-V2)
4-4-1 Communications à l’ordinateur
Les communications à l’ordinateur ont été développées par OMRON dans le but
de connecter des API et un ou plusieurs ordinateurs au moyen d’un câble
RS-232C et de contrôler les communications API à partir de l’ordinateur. En
règle générale, l’ordinateur envoie une commande à l’API qui renvoie automatiquement une réponse, de sorte que les communications s’effectuent sans la
participation active des API. Ces derniers ont également la capacité de
déclencher des transmissions de données lorsque leur participation directe est
nécessaire.
En général, il est possible de mettre en oeuvre des communications à l’ordinateur de deux manières. L’une est basée sur des commandes en mode C, l’autre
sur des commandes FINS (mode CV). Le SRM1(-V2) ne prend en charge que
les commandes en mode C. Pour en savoir davantage sur les communications
à l’ordinateur, se reporter à 4-5 Commandes de communications à l’ordinateur.
Les paramètres du port périphérique et du port RS-232C du SRM1(-V2) doivent
être défins correctement pour pouvoir utiliser les communications à l’ordinateur,
comme dans le tableau suivant :
Setup de l’API
Mot
Bit
Fonction
Config.
Configuration du port périphérique
Les sélections suivantes sont effectivess après leur transfert vers l’API.
DM 6650
00 à 03 Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Réglage en DM 6651
DM 6651
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0) sera utilisée et l’AR 1302 passera sur ON).
Pour correspondre
aux
paramètres à l’ordinateur
04 à 07
Non utilisés.
0
08 à 11
Non utilisés.
0
12 à 15
Modes communication
0 : Liaison à l’ordinateur ; 1: Sans protocole
0 : Liaison
à l’ordinateur
00 à 07
08 à 15
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0) sera utilisée et l’AR 1302 passera sur ON).
Débit en Baud
00 : 1,2K, 01 : 2,4K, 02 : 4,8K, 03 : 9,6K, 04 : 19,2K
Format de trame
Début
00 :
1 bit
01 :
1 bit
02 :
1 bit
03 :
1 bit
04 :
1 bit
05 :
1 bit
06 :
1 bit
07 :
1 bit
08 :
1 bit
09 :
1 bit
10 :
1 bit
11 :
1 bit
Longueur
7 bits
7 bits
7 bits
7 bits
7 bits
7 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
Arrêt
1 bit
1 bit
1 bit
2 bit
2 bit
2 bit
1 bit
1 bit
1 bit
2 bit
2 bit
2 bit
Parité
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Pour correspondre
aux
paramètres à l’ordinateur
Pour correspondre
aux
paramètres à l’ordinateur
(D’autres configurations causeront une erreur non fatale, la configuration par défaut
(00) sera utilisée et l’AR 1302 passera sur ON).
221
Chapitre
Fonctions de communication SRM1(-V2)
Mot
DM 6652
Bit
00 à 15
Fonction
Config.
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms.
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0000) sera utilisée et l’AR 1302 passera sur ON).
DM 6653
00 à 07
08 à 11
12 à 15
DM 6654
4-4
Numéro de station (Liaison à l’ordinateur)
00 à 31 (BCD)
Pour correspondre
aux
paramètres à l’ordinateur
00 à 31
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0000) sera utilisée et l’AR 1302 passera sur ON).
Activation du code de début (RS-232C, effectif lorsque les bits 12 à 15 de DM 6650
sont mis à 1).
0 : Désactivé
1 : Défini
Activation du code de fin (RS-232C, effectif lorsque les bits 12 à 15 de DM 6650
sont mis à 1).
0 : Désactivé (nombre d’octets reçus)
1 : Défini (code de fin spécifié)
2 : CR, LF
Tous
Tous
00 à 07
Code de début (effectif lorsque les bits 08 à 11 de DM6650 sont mis à 1).
00 : 256 octets
01 à FF : 1 à 255 octets
Tous
08 à 15
Code de fin (sans protocole)
Tous
Lorsque les bits 12 à 15 de DM6653 sont mis à 0 :
00 : 256 octets
01 à FF : 1 à 255 octets
Lorsque les bits 12 à 15 de DM6653 sont mis à 1 :
Configuration : 00 à FF (Hex)
Rem. Lorsqu’une valeur hors limite est utilisée, il en résulte les conditions de communication suivantes. Dans ce cas, réinitialiser la valeur pour qu’elle soit dans la
plage autorisée.
Modes communication :
Format de communications :
Retard de transmission :
Numéro de station :
222
Liaison à l’ordinateur
Paramètres standard
(1 bit de départ, 7 bits de données, 2 bits
d’arrêt, parité paire, 9 600 bps)
Non
00
Chapitre
Fonctions de communication SRM1(-V2)
Mot
Bit
Fonction
4-4
Config.
Configurations du port RS-232C
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6645
00 à 03
Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Réglage en DM 6646
Pour correspondre
aux
paramètres à l’ordinateur
04 à 07
Paramètres de contrôle CTS
0 : Désactivés ; 1 : Définis
Lors de l’utilisation d’une liaison Inter API : définit les mots de liaison pour une
liaison Inter API.
0 : LR 00 à LR 15
Non 0 : Désactivé
0
08 à 11
12 à 15
Lors de l’utilisation d’une liaison NT 1:N : définit le numéro de station TOP maximum.
1à7
Communications mode
0 : Liaison à l’ordinateur ; 1 : Sans protocole ; 2 : Liaison Inter API Esclave ;
3 : Liaison Inter API Maître ; 4 : Liaison entre un NT et un API ; 5 : Liaison NT 1:N
0
(Toutes les autres définitions spécifiées en mode Liaison à l’ordinateur produisent
une erreur non fatale et l’AR 1302 passera sur ON).
La liaison NT 1:N est supportée seulement par SRM1-C02-V2.
DM 6646
00 à 07
Débit en Baud
00 : 1,2K, 01 : 2,4K, 02 : 4,8K, 03 : 9,6K, 04 : 19,2K
08 à 15
Format de trame
Début
00 :
1 bit
01 :
1 bit
02 :
1 bit
03 :
1 bit
04 :
1 bit
05 :
1 bit
06 :
1 bit
07 :
1 bit
08 :
1 bit
09 :
1 bit
10 :
1 bit
11 :
1 bit
Longueur
7 bits
7 bits
7 bits
7 bits
7 bits
7 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
Arrêt
1 bit
1 bit
1 bit
2 bit
2 bit
2 bit
1 bit
1 bit
1 bit
2 bit
2 bit
2 bit
Pour correspondre
aux
paramètres à l’ordinateur
Parité
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Paire
Impaire
Aucune
Pour correspondre
aux
paramètres à l’ordinateur
DM 6647
00 à 15
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms, par ex., définition de 0001
identique à 10 ms
Pour correspondre
aux
paramètres à l’ordinateur
DM 6648
00 à 07
Numéro de station (Liaison à l’ordinateur, effectif lorsque les bits 12 à 15 de
DM 6645 sont définis à 0)
00 à 31 (BCD)
00 à 31
08 à 11
Activation du code de début (RS-232C, effectif lorsque les bits 12 à 15 de DM 6645
sont définis à 1).
0 : Désactivé ; 1 : Défini
Tous
12 à 15
Activation du code de fin (RS-232C, effectif lorsque les bits 12 à 15 de DM 6645
sont définis à 1).
0 : Désactivé (nombre d’octets reçus)
1 : Défini (code de fin spécifié)
2 : CR, LF
Tous
223
Chapitre
Fonctions de communication SRM1(-V2)
Mot
DM 6649
Bit
Fonction
4-4
Config.
00 à 07
Code de début (RS-232C)
00 : 256 octets
01 à FF : 1 à 255 octets
Tous
08 à 15
Code de fin activé (RS-232C)
Tous
00 à FF (BIN)
Rem. Lorsqu’une valeur hors limite est utilisée, il en résulte les conditions de communication suivantes. Dans ce cas, réinitialiser la valeur pour qu’elle soit dans la
plage autorisée.
Modes communication :
Format de communications :
Retard de transmission :
Numéro de station :
224
Liaison à l’ordinateur
Paramètres standard
(1 bit de départ, 7 bits de données, 2 bits
d’arrêt, parité paire, 9 600 bps)
Non
00
Fonctions de communication SRM1(-V2)
Exemple de programme
Chapitre
4-4
Cet exemple illustre un programme BASIC qui lit l’état des entrée du
SRM1(--V2) dans IR 000. Pour de plus amples informations, se reporter à 4-5
Commandes de communications à l’ordinateur.
Aucune séquence de vérification de trame (FCS) n’est réalisée sur les données
des réponses reçues dans ce programme. Vérifier que le port RS-232C de l’ordinateur est correctement configuré avant d’exécuter le programme.
1000 ’
1010 ’SRM1 Sample Program for PC-9801 N88-BASIC
1020 ’
1050 ’
1060 ’
Set value RS-232C SPEED:9600BPS,PARITY:EVEN,DATA:7,STOP:2
1070 OPEN ”COM:E73” AS #1
1080 *REPEAT
1090 ’
Transmission data input
1100 INPUT ”send data:”,SEND$
1110 ’
FCS Calculation
1120 FCS=0
1130 FOR IFCS=1 TO LEN(SEND$)
1140 FCS=FCS XOR ASC(MID$(SEND$;IFCS,1)
1150 NEXT
1160 FCS$=RIGHT$(”0”+HEX$(FCS),2)
1170 ’
Communications execute
1180 ZZZ$=SEND$+FCS$+”*”+CHR$(13)
1190 PRINT #1,ZZZ$;
1200 ’
réponse check
1210 RECCNT=0:TMP$=””
1220 *DRECLOOP
1230 IF LOC(1)<>0 THEN *DREC1
1240 RECCNT=RECCNT+1
1250 IF RECCNT=5000 THEN *DRECERR ELSE *DRECLOOP
1260 *DREC1
1270 TMP$=TMP$+INPUT$(LOC(1),#1)
1280 IF RIGHT$(TMP$,1)=CHR$(13) THEN *DRECEND ELSE
RECCNT=0:GOTO *DRECLOOP
1290 *DRECERR
1300 TMP$=”No response!!”+CHR$(13)
1310 *DRECEND
1320 RECV$=TMP$
1330 PRINT ”receive data:”;RECV$
1340 ’
Go à transmission data input
1350 GOTO *REPEAT
1360 ’
Processing complete
1370 CLOSE #1
1380 END
225
Chapitre
Fonctions de communication SRM1(-V2)
4-4
4-4-2 Communications sans protocole
Ce chapitre décrit les communications sans protocole (RS-232C). Les communications sans protocole permettent d’échanger des données avec des périphériques RS-232C standards tels que des imprimantes et des lecteurs de codes
barres. Les données peuvent être imprimées sur une imprimantes ou lues par
un lecteur de codes barres. La confirmation de connexion n’est pas prise en
charge dans les communications sans protocole.
Procédure de communication
Emissions
1, 2, 3...
1. Vérifier que AR 0805 (le drapeau d’autorisation d’émission du port
RS-232C) est passé sur ON.
2. Utiliser l’instruction TXD(48) pour émettre les données.
(@)TXD(48)
S : Numéro du premier mot de données à transmettre
S
C : Données de contrôle
C
N : Nombre d’octets à transmettre (4 digits BCD), 0000 à 0256
N
Depuis l’exécution de cette instruction jusqu’à la fin de l’émission des données,
AR 0805 (ou AR 0813 pour le port périphérique) demeure sur OFF (il repassera
sur ON à la fin de l’émission des données).
Les codes de début et de fin ne sont pas inclus lorsque le nombre d’octets à
émettre est précisé. La transmission la plus longue ne peut être envoyée avec
ou sans code de débit et de fin en 256 octets, N se trouvera entre 254 et 256
suivant les désignations des codes de début et de fin. Si le nombre d’octets à
émettre est sur 0000, seuls les codes de début et de fin seront envoyés.
256 octets max.
Code de début
Données
Code de fin
Pour réinitialiser le port RS-232C (c.--à--d. pour restaurer son état d’origine),
passer SR 25209 sur ON. Pour réinitialiser le port périphérique, passer
SR 25208 sur ON. Ces bits repasseront automatiquement sur OFF après réinitialisation.
Réceptions
1, 2, 3...
1. Vérifier que AR 0806 (drapeau Réception terminiée RS-232C) ou AR 0814
(drapeau de fin de réception de périphérique) est sur ON.
2. Utiliser l’instruction RXD(47) pour recevoir les données.
(@)RXD(47)
D
C
N
D : Numéro du premier mot pour l’enregistrement des données de réception
C : Données de contrôle
Bits 00 à 03
0 : Les octets les plus à gauche d’abord
1 : Les octets les plus à droite d’abord
Bits 12 à 15
0 : Port RS-232C
1 : Port périphérique
N : Nombre d’octets enregistrés (4 digits BCD), 0000 à 0256
226
Chapitre
Fonctions de communication SRM1(-V2)
4-4
3. Les résultats de la lecture des données sont sauvegardés dans la zone de
registre d’adresse. Vérifier que l’opération s’est déroulée avec succès. Le
contenu de ces bits sera réinitialisé à chaque opération de l’instruction
RXD(47).
Port
RS-232C
AR 0800 à
AR 0803
Port périphérique
AR 0808 à
AR 0811
Erreur
AR 0804
AR0812
Erreur de communications
AR 0807
AR0815
Drapeau de dépassement de réception (après la fin
de la réception, les données suivantes ont été
reçues avant que les données aient été lues au
moyen de l’instruction RXD(47)).
AR 09
AR10
Nombre d’octets reçus.
Code d’erreur du port RS-232C (1 digit BCD)
0 : Exécution normale 1 : Erreur de parité 2 : Erreur
de trame 3 : Erreur de dépassement
Pour réinitialiser le port RS-232C (c.--à--d. pour restaurer son état d’origine),
passer SR 25209 à ON. Pour réinitialiser le port périphérique, mettre SR 25208
sur ON. Ces bits repasseront automatiquement à OFF après réinitialisation.
Le code de début et le code de fin ne sont pas inclus dans AR 09 ou AR 10
(nombre d’octets reçus).
Les données se présenteront sour la forme : “31323132313231323132CR LF”
Paramètres du port
périphérique
Mot
Lorsque le port périphérique sert aux communications sans protocole, les
paramètres suivants doivent être définis par le périphérique de programmation
de DM 6650 à DM 6653 dans le SRM1(-V2).
Bit
Fonction
Config.
Configuration du port périphérique
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6650
00 à 03 Configuration du port
00 : Standard (1 bit de départ, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Réglage en DM 6651
Comme
requis
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0) sera utilisée et l’AR 1302 passera sur ON).
DM 6651
04 à 07
Non utilisés.
0
08 à 11
Non utilisés.
0
12 à 15
Modes communication
0 : Liaison à l’ordinateur ; 1 : Sans protocole
1 : Sans
protocole
00 à 07
08 à 15
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0) sera utilisée et l’AR 1302 passera sur ON).
Débit en Bauds
00 : 1,2K, 01 : 2,4K, 02 : 4,8K, 03 : 9,6K, 04 : 19,2K
Format de trame
Début
Longueur
Arrêt
Parité
00 :
1 bit
7 bits
1 bit
Paire
01 :
1 bit
7 bits
1 bit
Impaire
02 :
1 bit
7 bits
1 bit
Aucune
03 :
1 bit
7 bits
2 bit
Paire
04 :
1 bit
7 bits
2 bit
Impaire
05 :
1 bit
7 bits
2 bit
Aucune
06 :
1 bit
8 bits
1 bit
Paire
07 :
1 bit
8 bits
1 bit
Impaire
08 :
1 bit
8 bits
1 bit
Aucune
09 :
1 bit
8 bits
2 bit
Paire
10 :
1 bit
8 bits
2 bit
Impaire
11 :
1 bit
8 bits
2 bit
Aucune
Comme
requis
Comme
requis
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (00) sera utilisée et l’AR 1302 passera sur ON).
227
Chapitre
Fonctions de communication SRM1(-V2)
Mot
DM 6652
Bit
00 à 15
Fonction
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms.
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0000) sera utilisée et l’AR 1302 passera sur ON).
DM 6653
00 à 07
08 à 11
12 à 15
DM 6654
Numéro de station (Liaison à l’ordinateur)
00 à 31 (BCD)
4-4
Config.
Pour correspondre
aux
paramètres à l’ordinateur
00 à 31
(D’autres configurations causeront une erreur non fatale, la configuration par
défaut (0000) sera utilisée et l’AR 1302 passera sur ON).
Activation du code de départ (RS-232C, effectif lorsque les bits 12 à 15 de
DM 6650 sont définis à 1).
0 : Désactivé
1 : Défini
Activation du code de fin (RS-232C, effectif lorsque les bits 12 à 15 de DM 6650
sont définis à 1).
0: Désactivé (nombre d’octets reçus)
1 : Défini (code de fin spécifié)
2 : CR, LF
Comme
requis
Comme
requis
00 à 07
Code de début (effectif lorsque les bits 08 à 11 de DM6650 sont définis à 1).
00 : 256 octets
01 à FF : 1 à 255 octets
Comme
requis
08 à 15
Code de fin (Sans protocole)
Comme
requis
Lorsque les bits 12 à 15 de DM6653 sont définis à 0 :
00 : 256 octets
01 à FF : 1 à 255 octets
Lorsque les bits 12 à 15 de DM6653 sont définis à 1 :
Configuration : 00 à FF (Hex)
Rem. Lorsqu’une valeur hors limite est définie, il en résulte les conditions de communication suivante. Dans ce cas, réinitialiser la valeur pour qu’elle soit dans la
plage autorisée.
Modes communication :
Liaison à l’ordinateur
Format de communication :Paramètres standard
(1 bit de début, 7 bits de données, 2 bits d’arrêt,
parité paire, 9 600 bps)
Paramètres du port
RS-232C
Mot
Bit
Retard de transmission :
Non
Numéro de station :
00
Lorsque le port RS-232C sert aux communications sans protocole, les
paramètres suivants doivent être définis par le périphérique de programmation
de DM 6645 à DM 6649 dans le SRM1(-V2).
Fonction
Config.
Configuration du port RS-232C
Les sélections suivantes sont effectives après leur transfert vers l’API.
DM 6645
00 à 03 Configuration du port
0 : Standard (1 bit de début, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
1 : Réglage en DM 6646
04 à 07 Paramètres de contrôle CTS
0 : Désactivé ; 1 : Défini
228
Comme
requis
Chapitre
Fonctions de communication SRM1(-V2)
Mot
Bit
08 à 11
Fonction
Lors de l’utilisation d’une liaison Inter API : Définit les mots de liaison pour une
liaison Inter API
0 : LR 00 à LR 15
Non 0 : Désactivé
4-4
Config.
0
Lors de l’utilisation d’une liaison NT 1:N : Définit le numéro de station TOP
maximum.
1à7
La liaison NT 1:N est supportée par SRM1-C02-V2 seulement.
12 à 15
Modes communication
0 : Liaison à l’ordinateur ; 1 : Sans protocole ; 2 : Liaison Inter API Esclave ;
3 : Liaison Inter API Maître ; 4 : Liaison entre un NT et un API ; 5 : Liaison NT 1:N
1
(Toutes les autres configurations spécifient un mode Liaison à l’ordinateur,
produisent une erreur non fatale et mettent l’AR 1302 sur ON).
La liaison NT 1:N est supportée par SRM1-C02-V2 seulement.
DM 6646
00 à 07
08 à 15
Débit en Bauds
00 : 1,2K, 01 : 2,4K, 02 : 4,8K, 03 : 9,6K, 04 : 19,2K
Format de trame
Début
Longueur
Arrêt
Parité
00 :
1 bit
7 bits
1 bit
Paire
01 :
1 bit
7 bits
1 bit
Impaire
02 :
1 bit
7 bits
1 bit
Aucune
03 :
1 bit
7 bits
2 bit
Paire
04 :
1 bit
7 bits
2 bit
Impaire
05 :
1 bit
7 bits
2 bit
Aucune
06 :
1 bit
8 bits
1 bit
Paire
07 :
1 bit
8 bits
1 bit
Impaire
08 :
1 bit
8 bits
1 bit
Aucune
09 :
1 bit
8 bits
2 bit
Paire
10 :
1 bit
8 bits
2 bit
Impaire
11 :
1 bit
8 bits
2 bit
Aucune
Délai de transmission (Liaison à l’ordinateur)
0000 à 9999 (BCD) : Défini par unités de 10 ms, par ex., un paramètre de 0001
équivaut à 10 ms
Comme
requis
Comme
requis
DM 6647
00 à 15
DM 6648
00 à 07
Numéro de station (Liaison à l’ordinateur, effectif lorsque les bits 12 à 15 de
DM 6645 sont définis à 0).
00 à 31 (BCD)
Comme
requis
08 à 11
Activation du code de début (RS-232C, effectif lorsque les bits 12 à 15 de DM 6645
sont définis à 1).
0 : Désactivé ; 1 : Défini
Comme
requis
12 à 15
Activation du code de fin (RS-232C, effectif lorsque les bits 12 à 15 de DM 6645
sont définis à 1).
0 : Désactivé (nombre d’octets reçus)
1 : Défini (code de fin spécifié)
2 : CR, LF
00 à 07
Code de début (RS-232C)
00 : 256 octets
01 à FF : 1 à 255 octets
08 à 15
Code de fin activé (RS-232C)
DM 6649
Comme
requis
00 à FF (BIN)
Rem. Lorsqu’une valeur hors limite est définie, il en résulte les conditions de communication suivantes. Dans ce cas, réinitialiser la valeur pour qu’elle soit dans la
plage autorisée.
Modes communication :
Liaison à l’ordinateur
Format de communication :Paramètres standard
(1 bit de début, 7 bits de données, 2 bits d’arrêt,
parité paire, 9 600 bps)
Retard de transmission : Non
Numéro de station :
00
229
Chapitre
Fonctions de communication SRM1(-V2)
Configuration des
données de transmission
4-4
Lorsque des communications sans protocole sont utilisées, TXD(48) sert à
envoyer les données et RXD(47) à les recevoir. La quantité maximale de données pouvant être envoyées ou reçues est de 259 octets, y compris les codes
de début et de fin.
! Pas de code de début ou de fin :
Données (256 octets max.)
! Code de début seulement :
ST
Données (256 octets max.)
! Code de fin seulement :
Données (256 octets max.)
ED
! Code de début et de fin :
ST
Données (256 octets max.)
ED
! Code de fin de CR, LF :
Données (256 octets max.)
CR
LF
CR
LF
! Code de début 00-FF/code de fin CR, LF :
ST
Rem.
Drapeaux de
transmission
Données (256 octets max.)
1. Les codes de début et de fin sont définis de DM 6648 à DM 6649 et de
DM 6653 à DM 6654 dans les paramètres de l’API.
2. Lorsqu’il y a plusieurs codes de début et de fin, la première partie de chacun
est prise en compte.
3. Lorsque le code de fin duplique les données de transmission et que celle-ci
est interrompue dans son déroulement, utiliser CR ou LF comme code de
fin.
4. Les codes de début et de fin ne sont pas sauvegardés.
Lors de l’envoi de données à partir du SRM1(--V2), vérifier que le drapeau d’autorisation d’émission est sur ON pour l’exécution de l’instruction TXD(48). Le
drapeau d’autorisation d’émission passera sur OFF pendant la transmission
des données, puis à nouveau sur ON lorsqu’elle sera terminée.
Lorsque le SRM1(-V2) a reçu des données, le drapeau d’autorisation de réception passe à ON. Lorsque l’instruction RXD est exécutée, les données reçues
sont écrites dans les mots spécifiés et le drapeau de fin de réception passe sur
OFF.
Drapeau
Drapeau Transmission
possible
Drapeau Réception terminée
Port périphérique
Port RS-232C
AR 0813
AR 0805
AR 0814
AR 0806
Rem. La durée qui sépare le début de la fin de la réception des données pour le
SRM1(--V2) est indiquée ci-après :
230
Chapitre
Fonctions de communication SRM1(-V2)
4-4
Début de la réception :
Sans code de début : Etat de réception normale
Avec code de début : Après réception du code de début.
Fin de la réception :
A la réception du code de fin, du nombre d’octets spécifié ou de 256 octets.
Exemple de programme
L’exemple de programme qui suit s’applique aux communications sans protocole réalisées par un port RS-232C avec les instructions TXD(48) et RXD(47).
Si AR 0805 (drapeau d’autorisation d’émission) est sur ON lorsque 00100 est
sur ON, les données de DM0100 à DM0104 sont envoyées, des valeurs les plus
élevées aux valeurs les plus basses. Lorsque AR 0806 (drapeau d’autorisation
de réception) passe à ON, 256 octets de données reçues sont lus et écrits dans
DM 0200 des valeurs les plus élevées aux valeurs les plus basses.
00100
DIFU(13)
Début des communications sans protocole
00101
00100
AR0805
@TXD
DM0100
#0000
#0010
AR0806
Premier mot contenant les données à envoyer.
Utiliser le port RS-232C, transmettre les
données des octets les plus à gauche
aux octets les plus à droite.
10 octets transmis
@RXD
DM0200
#0000
256
Premier mot pour enregistrer les données reçues.
Utiliser le port RS-232C, transmettre les
données des octets les plus à gauche
aux octets les plus à droite.
256 octets transmis
4-4-3 Communications entre un NT et un API
En utilisant la communication entre un NT et un API, l’API SRM1(--V2) peut être
connecté au terminal programmable (interface de communication NT). Le port
RS-232C peut être utilisé pour la communication entre un NT et un API.
SRM1
Terminal Opérateur Programmable
La communication entre un NT et un API n’est possible qu’avec les API
SRM1-C02-V1/-V2, qui sont dotés d’un port RS-232C.
231
Chapitre
Fonctions de communication SRM1(-V2)
Les paramètres concernant les communications entre un NT et un API doivent
être définis comme dans le tableau suivant :
Setup de l’API
Mot
DM 6645
4-4
Bit
Fonction
Config.
port1
00 à 03
Configuration du
00 : Standard (1 bit de début, 7 bits de données, 2 bits d’arrêt, parité paire, 9 600 bps)
01 : Réglage en DM 6646
00 ou 01
04 à 07
Paramètres de contrôle CTS
0 : Désactivé
1 : Défini
0 ou 1
08 à 11
Lors de l’utilisation d’une liaison Inter API : Définit les mots de liaison pour une liaison
Inter API.
0 : LR 00 à LR 15
Non 0 : Désactivé
Tous
Lors de l’utilisation d’une liaison NT 1:N : Définit le numéro de station TOP maximum.
1à7
12 à 15
La liaison NT 1:N est supportée SRM1-C02-V2 seulement.
Modes communication1
0 : Liaison à l’ordinateur ; 1 : Sans protocole ; 2 : Liaison Inter API Esclave ; 3 : Liaison
Inter API Maître ; 4 : Liaison entre un NT et un API ; 5 : Liaison NT 1:N
4
La liaison NT 1:N est supportée SRM1-C02-V2 seulement.
Rem.
1. En cas d’utilisation d’un paramètre incorrect, une erreur non fatale se produit, AR 1302 sera activé et le paramètre par défaut (0 ou 00) sera utilisé.
2. Pour de plus amples informations concernant les paramètres de communication NT d’un autre API OMRON, se reporter au Manuel de programmation de celui-ci.
3. Lorsqu’une valeur hors limite est définie, il en résulte les conditions de communication suivante. Dans ce cas, réinitialiser la valeur pour qu’elle soit
dans la plage autorisée.
Modes communication :
Liaison à l’ordinateur
Format de communication :Paramètres standard
(1 bit de début, 7 bits de données, 2 bits d’arrêt,
parité paire, 9 600 bps)
Retard de transmission : Non
Numéro de station :
00
4-4-4 Communications NT 1 à N
La communication NT 1:N permet de connecter un API SRM1(-V2) à un maximum 8 terminaux opérateurs programmables (TOP) OMRON et l’accès direct
assure des communications à haut débit. La communication NT 1:N peut être
utilisée avec le port RS-232C.
SRM1
TOP OMRON
La communication NT 1:N n’est possible qu’avec les API SRM1-C02-V2, qui
sont dotés d’un port RS-232C.
232
Chapitre
Fonctions de communication SRM1(-V2)
4-4
Connexion des câbles
Se reporter au Manuel de programmation des unités de commande maître
SRM1 pour de plus amples informations concernant la connexion des câbles
dans une communication NT 1:N.
Setup de l’API
Lorsque le port RS-232C est utilisé pour une communication NT 1:N, définir
comme suit les paramètres de l’API à partir d’un périphérique de programmation.
Mot
Bit
Fonction
DM 6645
00 à 03
Configuration du port1
00 : Standard (1 bit de début, 7 bits de données, 2 bits d’arrêt, parité paire, 9 600 bps)
01 : Réglage en DM 6646
00 ou 01
Config.
04 à 07
Paramètres de contrôle CTS
0 : Désactivé
1 : Défini
0 ou 1
08 à 11
Lors de l’utilisation d’une liaison Inter API : Définit les mots de liaison pour une liaison
Inter API.
0 : LR 00 à LR 15
Non 0 : Désactivé
1à7
Lors de l’utilisation d’une liaison NT 1:N : Définit le numéro de station TOP maximum.
1à7
12 à 15
La liaison NT 1:N est supportée SRM1-C02-V2 seulement.
Modes communication1
0 : Liaison à l’ordinateur ; 1 : Sans protocole ; 2 : Liaison Inter API Esclave ; 3 : Liaison
Inter API Maître ; 4 : Liaison entre un NT et un API ; 5 : Liaison NT 1:N
5
La liaison NT 1:N est supportée SRM1-C02-V2 seulement.
Rem.
1. En cas d’utilisation d’un paramètre incorrect, une erreur non fatale se produit, AR 1302 sera activé et le paramètre par défaut (0 ou 00) sera utilisé.
2. Pour de plus amples informations concernant les paramètres de communication NT 1:N des terminaux opérateurs programmables OMRON, se
reporter au Manuel de programmation du terminal opérateur programmable.
3. Lorsqu’une valeur hors limite est définie, il en résulte les conditions de communication suivante. Dans ce cas, réinitialiser la valeur pour qu’elle soit
dans la plage autorisée.
Modes communication :
Liaison à l’ordinateur
Format de communication :Paramètres standard
(1 bit de début, 7 bits de données, 2 bits d’arrêt,
parité paire, 9 600 bps)
Retard de transmission : Non
Numéro de station :
00
233
Chapitre
Fonctions de communication SRM1(-V2)
4-4
4-4-5 Communications Inter API
Dans une communication Inter API, un SRM1 est relié à un autre API SRM1,
CPM1/CPM1A, CQM1, C200HS ou C200HX/HG/HE par un câble RS-232C.
L’un des API sert de maître et l’autre d’esclave. La communication Inter API
peut connecter jusqu’à 256 bits (LR 0000 à LR 1515) dans les deux API.
Le schéma suivant illustre une communication Inter API entre deux
SRM1(-V2) :
Communications Inter
API du SRM1(-V2)
SRM1
SRM1
Port RS-232C
Port RS-232C
Les mots utilisés pour la communication Inter API se trouvent ci-après :
Maître
Esclave
LR00
Données
d’écriture
Données
de lecture
LR07
LR08
LR15
Limitations des
communications Inter API
avec un SRM1(-V2)
234
LR00
Zone d’écriture
Zone de lecture
Zone de lecture
Zone d’écriture
LR07
LR08
LR15
Données
de lecture
Données
d’écriture
Une communication Inter API n’est possible qu’avec les API SRM1-C02-V1/V2,
qui sont dotés d’un port RS-232C.
Seuls les 16 mots LR de LR 00 à LR 15 peuvent être connectés dans le SRM1,
c’est pourquoi il ne faut utiliser que ces 16 mots dans le CQM1 ou le C200HS
lorsqu’une communication Inter API avec l’un de ces API est réalisée. Une communication Inter API est impossible avec un API SRM1 utilisant les mots LR 16 à
LR 63 dans le CQM1 ou le C200HS.
Chapitre
Fonctions de communication SRM1(-V2)
4-4
Connexion des câbles
Se reporter au Manuel de programmation des unités de commande maîtres
SRM1 pour de plus amples informations concernant la connexion des câbles
dans une communication Inter API.
Setup de l’API
Lors de l’utilisation d’un SRM1(-V2) dans une communication Inter API, définir
comme suit les paramètres de l’API à partir d’un périphérique de programmation.
Mot
Bit
DM 6645
00 à 03
04 à 07
08 à 11
12 à 15
Fonction
Configuration du port1
00 : Standard (1 bit de début, 7 bits de données, 2 bits d’arrêt, parité paire,
9 600 bps)
01 : Réglage en DM 6651
Paramètres de contrôle CTS
0 : Désactivé
1 : Défini
Lors de l’utilisation d’une liaison Inter API : Définit les mots de liaison pour
une liaison Inter API.
0 : LR 00 à LR 15
Non 0 : Désactivé
Lors de l’utilisation d’une liaison NT 1:N : Définit le numéro de station TOP
maximum.
1à7
Modes communication1
0 : Liaison à l’ordinateur ; 1 : Sans protocole ; 2 : Liaison Inter API Esclave ;
3 : Liaison Inter API Maître ; 4 : Liaison entre un NT et un API ; 5 : Liaison
NT 1:N
Rem.
Config. Config.
Maître Esclave
00 ou 01 00 ou 01
0
0
0
0
3
2
1. En cas d’utilisation d’un paramètre incorrect, une erreur non fatale se produit, AR 1302 sera activé et le paramètre par défaut (0 ou 00) sera utilisé.
2. Pour de plus amples informations concernant les paramètres de communication Inter API d’un autre API OMRON, se reporter au Manuel de programmation de celui-ci.
3. Lorsqu’une valeur hors limite est définie, il en résulte les conditions de communication suivante. Dans ce cas, réinitialiser la valeur pour qu’elle soit
dans la plage autorisée.
Modes communication :
Liaison à l’ordinateur
Format de communication :Paramètres standard
(1 bit de début, 7 bits de données, 2 bits d’arrêt,
parité paire, 9 600 bps)
Retard de transmission : Non
Numéro de station :
00
235
Chapitre
Commandes de communication à l’ordinateur
Cet exemple illustre des programmes à contacts qui copient l’état de IR 000
dans chaque SRM1 vers IR 200 de l’autre SRM1.
Exemple de programme
Programmation dans
le Maître
Programmation dans
l’Esclave
25313 (Toujours ON)
25313 (Toujours ON)
MOV(21)
MOV(21)
000
000
LR00
LR08
MOV(21)
LR00
IR 000
Ecriture
LR07
LR08
IR 200
Lecture
LR15
4-5
4-5
MOV(21)
LR08
LR00
200
200
Zone
d’écriture
Zone de
lecture
Zone de
lecture
Zone
d’écriture
LR00
Lecture
IR 200
Ecriture
IR 000
LR07
LR08
LR15
Commandes de communication à l’ordinateur
Ce chapitre décrit les commandes envoyées à l’ordinateur vers l’API.
4-5-1 LIRE ZONE IR/SR ---- RR
Lit le contenu des nombres spécifiés de mots IR et SR, en commençant par le
mot spécifié.
Format de commande
@
x 101 x 100
N_ de
station
R
R
Code
titre
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
Début de mot*
Nombre de
mots (0000 à
0256)
:
FCS
"
Caractère
d’arrêt
Rem. *Mot de début : 0000 à 0049 et 0200 à 0255 dans les API CPM2A/CPM2C, 0000
à 0019 et 0200 à 0255 dans les API CPM1/CPM1A/SRM1(-V2).
(une réponse “0000” sera retournée pour les mots IR et SR qui n’existent pas).
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
R
R
Code
titre
x 161 x 160 x 163 x 162 x 161 x 160
Code de
fin
Données lues (1 mot)
:
FCS
"
Caractère
d’arrêt
Données lues (pour nombre de mots lus)
Rem.
Paramètres
236
1. Les mots 0050 à 0199 ne peuvent être spécifiés dans les API CPM2A/
CPM2C et les mots 0020 à 0199 ne peuvent être spécifiés dans les API
CPM1/CPM1A/SRM1(-V2). En cas de tentative de lecture de n’importe
lequel de ces mots, une réponse 0000 est retournée.
2. La réponse sera fragmentée lors de la lecture de plus de 30 mots de données.
Lecture des données (réponse)
Le contenu du nombre de mots spécifié dans la commande est retourné comme
réponse sous forme hexadécimale. Les mots sont retournés dans l’ordre, en
commançant par le mot de début spécifié.
Chapitre
Commandes de communication à l’ordinateur
4-5
4-5-2 LIRE ZONE LR ---- RL
Lit le contenu du nombre spécifié de mots LR, en commençant par le mot de
début spécifié.
Format de commande
@
x 101 x 100
N_ de
station
R
L
Début de mot1
Code
titre
FCS
"
Caractère
de fin
Un code de fin de 00 indique une fin normale.
Format de réponse
x 101 x 100
Nombre de
mots2
:
1. Mot de début : 0000 à 0015
2. Nombre de mots : 0001 à 0016
Rem.
@
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
R
N_ de
station
L
Code de
fin
Code
titre
Paramètres
x 161 x 160 x 163 x 162 x 161 x 160
Données lues (1 mot)
:
FCS
"
Caractère
de fin
Données lues (pour nombre de mots lus)
Lecture de données (réponse)
Le contenu du nombre de mots spécifié dans la commande est retourné comme
réponse sous forme hexadécimale. Les mots sont retournés dans l’ordre, en
commançant par le mot de début spécifié.
4-5-3 LIRE ZONE HR ---- RH
Lit le contenu du nombre spécifié de mots HR, en commençant par le mot de
début spécifié.
Format de commande
@
x 101 x 100
N_ de
station
R
H
N_ de
station
Nombre de
mots2
:
FCS
"
Caractère
de fin
1. Mot de début : 0000 à 0019
2. Nombre de mots : 0001 à 0020
Un code de fin de 00 indique une fin normale.
Format de réponse
x 101 x 100
Début de mot1
Code
titre
Rem.
@
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
R
H
Code
titre
Paramètres
x 161 x 160 x 163 x 162 x 161 x 160
Code de
fin
Données lues (1 mot)
Données lues (pour nombre de mots lus)
:
FCS
"
Caractère
d’arrêt
Lecture de données (réponse)
Le contenu du nombre de mots spécifié dans la commande est retourné comme
réponse sous forme hexadécimale. Les mots sont retournés dans l’ordre, en
commançant par le mot de début spécifié.
4-5-4 LIRE PV ---- RC
Lit le contenu du nombre spécifié de PV (valeurs en cours) de temporisations/
compteurs (T/C), en commençant par la temporisation/compteur de début.
237
Chapitre
Commandes de communication à l’ordinateur
4-5
Format de commande
@
x 101 x 100
N_ de
station
R
C
Code
titre
Début du temporisation/
compteur1
Nombre de temporisations/compteurs2
:
FCS
"
Caractère
d’arrêt
1. T/C de début : 0000 à 0255 dans les API CPM2A/CPM2C,
0000 à 0127 dans les API CPM1/CPM1A/SRM1(-V2)
2. Nb de T/C :
0001 à 0256 dans les API CPM2A/CPM2C,
0001 à 0128 dans les API CPM1/CPM1A/SRM1(-V2)
Rem.
Un code de fin de 00 indique une fin normale
Format de réponse
@
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
x 101 x 100
R
N_ de
station
C
x 161 x 160 x 103 x 102 x 101 x 100
Code
titre
Code de
fin
:
FCS
Données lues (1 mot)
Données lues (pour nombre de mots lus)
"
Caractère
d’arrêt
La réponse sera fragmentée lors de la lecture de plus de 30 mots de données.
Paramètres
Lecture de données (réponse)
Le nombre de valeurs en cours (PV) spécifié dans la commande est retourné
comme réponse sous forme hexadécimale. Les PV sont retournées dans
l’ordre, en commançant par la temporisation/compteur de début spécifié.
4-5-5 LIRE ETAT TC ---- RG
Lit l’état des drapeaux de fin du nombre spécifié de temporisations/compteurs,
en commançant par la temporisation/compteur de début spécifié.
Format de commande
@
x 101 x 100
N_ de
station
R
G
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
Code
titre
Rem.
Début du temporisation/
compteur1
FCS
"
Caractère
d’arrêt
1. T/C de début : 0000 à 0255 dans les API CPM2A/CPM2C,
0000 à 0127 dans les API CPM1/CPM1A/SRM1(-V2)
2. Nb de T/C :
Format de réponse
Nombre de temporisations/compteurs2
:
0001 à 0256 dans les API CPM2A/CPM2C,
0001 à 0128 dans les API CPM1/CPM1A/SRM1(-V2)
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
R
Code
titre
G
x 161 x 160 ON/
OFF
Code de
fin
FCS
Données lues
(1 temporisation/compteur)
:
"
Caractère
d’arrêt
Données lues
(pour nombre de TC lus)
La réponse sera fragmentée lors de la lecture de plus de 123 temporisations/
compteurs.
Paramètres
238
Lecture de données (réponse)
L’état du nombre de drapeaux de fin spécifié dans la commande est retourné
comme réponse. “1” indique que le drapeau de fin est sur ON.
Chapitre
Commandes de communication à l’ordinateur
4-5
4-5-6 LIRE ZONE DM ---- RD
Lit le contenu du nombre spécifié de mots DM, en commençant par le mot de
début spécifié.
Format de commande
@
x 101 x 100
N_ de
station
R
D
Code titre
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
Début de mot*
Nombre de
mots (0001 à
6656)
:
FCS
"
Caractère
d’arrêt
Rem. Mot de début :
DM 0000 à DM 1023 et DM 6144 à DM 6655 dans les API CPM1/CPM1A
DM 0000 à DM 2047 et DM 6144 à DM 6655 dans les API CPM2A/CPM2C/
SRM1(-V2) (une réponse “0000” sera retournée pour les mots DM qui n’existent
pas).
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
R
D
Code titre
Rem.
x 161 x 160 x 163 x 162 x 161 x 160
Code de
fin
Données lues (1 mot)
:
FCS
Données lues (pour nombre de mots lus)
"
Caractère
d’arrêt
1. Les mots DM 1024 à DM 6143 dans les API CPM1/CPM1A et les mots
DM 2048 à DM 6143 dans les API CPM2A/CPM2C/SRM1(-V2) ne peuvent
pas être spécifiés. En cas de tentative de lecture de n’importe lequel de ces
mots, une réponse 0000 est retournée.
2. La réponse sera fragmentée lors de la lecture de plus de 30 mots de données.
Paramètres
Lecture de données (réponse)
Le contenu du nombre de mots spécifié dans la commande est retourné comme
réponse sous forme hexadécimale. Les mots sont retournés dans l’ordre, en
commençant par le mot de début spécifié.
Rem. Etre vigilant lors de la configuration de la zone DM, car elle dépend du modèle de
l’UC.
4-5-7 LIRE ZONE AR ---- RJ
Lit le contenu du nombre spécifié de mots AR, en commençant par le mot de
début spécifié.
Format de commande
@
x 101 x 100
N_ de
station
R
J
Code titre
Rem.
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
Début du mot1
Nombre de mots2
:
FCS
"
Caractère
d’arrêt
1. Mot de début : 0000 à 0023 dans les API CPM2A/CPM2C, 0000 à 0015
dans les API CPM1/CPM1A/SRM1(-V2)
2. Nombre de mots : 0001 à 0024 dans les API CPM2A/CPM2C, 0001 à 0016
dans les API CPM1/CPM1A/SRM1(-V2)
239
Chapitre
Commandes de communication à l’ordinateur
Un code de fin de 00 indique une fin normale.
Format de réponse
@
4-5
x 101 x 100
N_ de
station
R
x 161 x 160 x 163 x 162 x 161 x 160
J
Code titre
Paramètres
Code de
fin
:
Données lues (1 mot)
FCS
Données lues
(pour nombre de mots lus)
"
Caractère
d’arrêt
Lecture de données (réponse)
Le contenu du nombre de mots spécifié dans la commande est retourné comme
réponse sous forme hexadécimale. Les mots sont retournés dans l’ordre, en
commençant par le mot de début spécifié.
4-5-8 ECRIRE ZONE IR/SR ---- WR
Ecrit les données dans les zones IR et SR, en commançant par le mot de début
spécifié. L’écriture s’effectue mot à mot
Format de commande
@
x 101 x 100
N_ de
station
W
R
Code titre
Rem.
x 103 x 102 x 101 x 100 x 163 x 162 x 161 x 160
Début de mot*
:
Caractère
d’arrêt
FCS
Données lues (1 mot)
Données lues
(pour nombre de mots à écrire)
"
1. Mot de début : 0000 à 0049 et 0200 à 0252 dans les API CPM2A/CPM2C,
0000 à 0019 et 0200 à 0252 dans les API CPM1/CPM1A/SRM1(-V2).
2. Fragmenter la commande lors de l’écriture de plus de 30 mots de données.
Format de réponse
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
W
Code
titre
R
x 161 x 160
Code
fin
de
:
FCS
"
Caractère
d’arrêt
Rem. Les 0050 à 0199 ne peuvent être spécifiés dans les API CPM2A/CPM2C et les
mots 0020 à 0199 ne peuvent être spécifiés dans les API CPM1/CPM1A/
SRM1(-V2). En cas de tentative d’écriture de l’un de ces mots, l’opération d’écriture ne sera pas exécutée et la fin normale de la commande interviendra.
Paramètres
Ecriture des données (commande)
Indiquer dans l’ordre le contenu du nombre de mots à écrire dans la zone IR ou
SR en hexadécimal, en commençant par le mot de début spécifié.
Rem. Si les données spécifiées en écriture sont hors limite, une erreur se produira et
l’opération d’écriture ne sera pas exécutée. Si, par exemple, 252 est indiqué
comme mot de début à écrire et que deux mots de données sont spécifiés, 253
deviendra le dernier mot des données d’écriture et la commande ne sera pas
exécutée du fait que SR 253 se trouve au-delà de la limite d’écriture.
240
Chapitre
Commandes de communication à l’ordinateur
4-5
4-5-9 ECRIRE ZONE LR ---- WL
Ecrit les données dans la zone LR, en commençant par le mot de début spécifié.
L’écriture s’effectue mot à mot.
Format de commande
@
x 101 x 100
W
N_ de
station
L
Code titre
x 103 x 102 x 101 x 100 x 163 x 162 x 161 x 160
Début de mot*
:
Données écrites (1 mot)
FCS
"
Caractère
d’arrêt
Données écrites
(pour nombre de mots à écrire)
Rem. Mot de début : 0000 à 0015
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
W
N_ de
station
Paramètres
L
Code tire
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
Ecriture des données (commande)
Indiquer dans l’ordre le contenu du nombre de mots à écrire dans la zone LR en
hexadécimal, en commençant par le mot de début spécifié.
Rem. Si les données spécifiées en écriture sont hors limite, une erreur se produira et
l’opération d’écriture ne sera pas exécutée. Si, par exemple, 12 est indiqué
comme mot de début à écrire et que cinq mots de données sont spécifiés, 16
deviendra le dernier mot de données d’écriture et la commande ne sera pas
exécutée du fait que LR 16 se trouve au-delà de la limite.
4-5-10 ECRIRE ZONE HR ---- WH
Ecrit les données dans la zone HR, en commençant par le mot de début spécifié.
L’écriture s’effectue mot à mot.
Format de commande
@
x 101 x 100
N_ de
station
W
H
Code titre
x 103 x 102 x 101 x 100 x 163 x 162 x 161 x 160
Début de mot*
"
:
FCS
Données écrites (1 mot)
Caractère
d’arrêt
Données écrites
(pour nombre de mots à écrire)
Rem. Mot de début : 0000 à 0019
Format de réponse
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
Paramètres
W
H
x 161 x 160
Code titre Code de
fin
:
FCS
"
Caractère
d’arrêt
Ecriture des données (commande)
Indiquer dans l’ordre le contenu du nombre de mots à écrire dans la zone HR en
hexadécimal, en commençant par le mot de début spécifié.
Rem. Si les données spécifiées en écriture sont hors limite, une erreur se produira et
l’opération d’écriture ne sera pas exécutée. Si, par exemple, 18 est indiqué
241
Chapitre
Commandes de communication à l’ordinateur
4-5
comme mot de début à écrire et que trois mots de données sont précisés, alors
20 deviendra le dernier mot de données d’écriture et la commande ne sera pas
exécutée du fait que LR 20 se trouve au-delà de la limite.
4-5-11 ECRIRE PV ---- WC
Ecrit les PV (valeurs en cours) de temporisations/compteurs en commençant
par la temporisation/compteur de début.
Format de commande
@
x 101 x 100
N_ de
station
W
x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
C
Code titre Début de temporisation/
compteur*
:
Données écrites (1 temporisation/
compteur)
Données écrites
(pour nombre de PV à écrire)
FCS
"
Caractère
d’arrêt
1. T/C de début : 0000 à 0255 dans les API CPM2A/CPM2C, 0000 à
0127dans les API CPM1/ CPM1A/SRM1(-V2).
2. Fragmenter la commande lors de l’écriture de plus de 29 mots de données.
Rem.
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
Paramètres
W
C
x 161 x 160
Code titre Code de
fin
"
:
FCS
Caractère
d’arrêt
Ecriture des données (commande)
Spécifier en format décimal (BCD) les valeurs en cours du nombre de temporisations/compteurs, en commençant par la temporisation/compteur de début.
1. Lorsque cette commande est utilisée pour l’écriture de données de la zone
PV, les drapeaux de fin des temporisations/compteurs qui sont écrits sont
sur OFF.
2. Si les données spécifiées en écriture sont hors limite, une erreur se produira
et l’opération d’écriture ne sera pas exécutée. Si, par exemple, 126 est indiqué comme mot de début à écrire sur un API CPM1 et que trois mots de
données sont précisés, alors 128 deviendra le dernier mot de données d’écriture et la commande ne sera pas exécutée du fait que TC 128 se trouve
au-delà de la limite.
Rem.
4-5-12 ECRIRE ETAT TC ---- WG
Ecrit l’état des drapeaux de fin des horloges et des compteurs dans la zone TC,
en commençant par la temporisation/compteur de début (nombre). L’écriture
s’effectue nombre après nombre.
Format de commande
@
x 101 x 100
W
N_ de
station
G
Code
titre
x 103 x 102 x 101 x 100 ON/
OFF
FCS
Début du temporisation/
Données écrites
compteur*
(1 temporisation/compteur)
:
"
Caractère
d’arrêt
Données écrites
(pour nombre de TC à écrire)
Rem.
242
1. T/C de début : 0000 à 0255 dans les API CPM2A/CPM2C, 0000 à 0127
dans les API CPM1/ CPM1A/SRM1(-V2).
2. Fragmenter la commande lors de l’écriture de plus de 118 temporisations/
compteurs.
Chapitre
Commandes de communication à l’ordinateur
4-5
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
Paramètres
W
G
x 161 x 160
Code titre Code de
fin
:
FCS
"
Caractère
d’arrêt
Ecriture des données (commande)
Spécifier l’état des drapeaux de fin, pour les nombres des temporisations/compteurs devant être écrits, dans l’ordre (à partir du mot de début) en précisant ON
(c.--à--d. “1”) ou OFF (c.--à--d. “0”). Lorsqu’un drapeau de fin est sur ON, il indique que l’horloge ou le compteur est en fonctionnement.
Rem. Si les données spécifiées en écriture sont hors limite, une erreur se produira et
l’opération d’écriture ne sera pas exécutée. Si, par exemple, 126 est indiqué
comme mot de début à écrire sur un API CMP1 et que trois mots de données
sont précisés, alors 128 deviendra le dernier mot des données d’écriture et la
commande ne sera pas exécutée du fait que TC 128 se trouve au-delà de la
limite.
4-5-13 ECRIRE ZONE DM ---- WD
Ecrit les données dans la zone DM, en commençant par le mot de début spécifié. L’écriture s’effectue mot à mot.
Format de commande
@
x 101 x 100
N_ de
station
W
D
Code
titre
Rem.
x 103 x 102 x 101 x 100 x 163 x 162 x 161 x 160
Début du mot*
:
Données écrites (1 mot)
"
Caractère
d’arrêt
FCS
Données écrites
(pour nombre de mots à écrire)
1. Mot de début :
DM 0000 à DM 1023 et DM 6144 à DM 6655 dans les API CPM1/CPM1A
DM 0000 à DM 2047 et DM 6144 à DM 6655 dans les API CPM2A/CPM2C/
SRM1(-V2).
2. Fragmenter la commande lors de l’écriture de plus de 29 mots de données.
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
W
Code
titre
D
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
Rem. Les mots DM 1024 à DM 6143 dans les API CPM1/CPM1A et les mots DM 2048
à DM 6143 dans les API CPM2A/CPM2C/SRM1(-V2) ne peuvent être spécifiés. En cas de tentative d’écriture de l’un de ces mots, l’opération d’écriture ne
sera pas exécutée et la fin normale de la commande interviendra
Paramètres
Ecriture des données (commande)
Indiquer dans l’ordre le contenu du nombre de mots à écrire dans la zone DM en
hexadécimal, en commençant par le mot de début spécifié.
Rem.
1. Si les données spécifiées en écriture sont hors limite, une erreur se produira
et l’opération d’écriture ne sera pas exécutée. Si, par exemple, 1022 est
indiqué comme mot de début à écrire sur un API CMP1 et que trois mots de
données sont précisés, alors 1024 deviendra le dernier mot des données
243
Chapitre
Commandes de communication à l’ordinateur
4-5
d’écriture et la commande ne sera pas exécutée du fait que DM 1024 se
trouve au-delà de la limite.
2. Etre vigilant lors de la configuration de la zone DM, car elle dépend du
modèle de l’UC
4-5-14 ECRIRE ZONE AR ---- WJ
Ecrit les données dans la zone AR, en commençant par le mot de début spécifié.
L’écriture s’effectue mot à mot.
Format de commande
@
x 101 x 100
W
N_ de
station
J
x 103 x 102 x 101 x 100 x 163 x 162 x 161 x 160
Code
titre
Début de mot*
:
Données écrites (1 mot)
"
Caractère
d’arrêt
FCS
Données écrites
(pour nombre de mots à écrire)
Rem. Mot de début : 0000 à 0023 dans les API CPM2A/CPM2C, 0000 à 0015 dans les
API CPM1/CPM1A et SRM1(-V2).
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
Paramètres
W
J
x 161 x 160
Code titre Code de
fin
::
FCS
"
Caractère
d’arrêt
Ecriture des données (commande)
Indiquer dans l’ordre le contenu du nombre de mots à écrire dans la zone AR en
hexadécimal, en commençant par le mot de début spécifié.
Rem. Si les données spécifiées en écriture sont hors limite, une erreur se produira et
l’opération d’écriture ne sera pas exécutée. Si, par exemple, 12 est indiqué
comme mot de début à écrire sur un API CMP1 et que cinq mots de données
sont précisés, alors 16 deviendra le dernier mot des données d’écriture et la
commande ne sera pas exécutée du fait que AR 16 se trouve au-delà de la
limite.
4-5-15 LIRE 1 SV ---- R#
Recherche la première instance d’une instruction d’horloge ou de compteur
(TIM, TIMH(15), TIML(----), TMHH(----), CNT ou CNTR(12)) avec le nombre de
TC spécifié dans le programme utilisateur et lit la PV, considérée comme une
constante. La SV qui est lue est un nombre décimal (BCD) à 4 digits. Le programme est scruté depuis le début, de sorte que la réponse puisse demander
jusqu’à 10 secondes.
Format de commande
@
x 101 x 100
N_ de
station
R
#
Code titre
OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100
Nom
Nombre de TC*
:
FCS
"
Caractère
d’arrêt
Rem. Nombre de TC : 0000 à 0255 dans les API CPM2A/CPM2C et 0000 à 0127 dans
les API CPM1/CPM1A/SRM1(-V2).
244
Chapitre
Commandes de communication à l’ordinateur
4-5
Format de réponse
@
x 101 x 100
R
N_ de
station
#
x 161 x 160 x 103 x 102 x 101 x 100
Code titre Code de
fin
Paramètres
:
FCS
SV
"
Caractère
d’arrêt
Nom, nombre de TC (commande)
Spécifier l’instruction de lecture de la SV dans “Nom”. 4 caractères sont proposés. Dans “nombre de TC”, spécifier le nombre de temporisations/compteurs
utilisés dans l’instruction
Dénomination
OP1
OP2
Dénomination de l’instruction
OP3
OP4
T
I
M
(Espace)
TIMER
T
I
M
H
HIGH-SPEED TIMER
T
I
M
L
LONG TIMER
T
M
H
H
VERY HIGH-SPEED TIMER
C
N
T
(Espace)
COUNTER
C
N
T
R
REVERSIBLE COUNTER
SV (réponse)
La constante SV est retournée.
1. L’instruction spécifiée dans “Non” doit être contenue dans quatre
caractères.
Rem.
2. Si la même instruction est utilisée plusieurs fois dans un programme, seule
la première sera lue.
3. N’utiliser cette commande que lorsqu’une constante SV a été définie.
4. Le code de fin de réponse indiquera une erreur (16) si la SV n’a pas été
entrée comme une constante.
4-5-16 LIRE 2 SV ---- R$
Lit la constante SV ou l’adresse du mot où est enregistrée la SV. La SV qui est
lue est un nombre décimal (BCD) à 4 digits écrit comme second opérande de
l’instruction TIM, TIMH(15), TIML(----), TMHH(----), CNT ou CNTR(12) à l’adresse spécifiée du programme utilisateur. Ceci n’est possible que si la taille du
programme n’excède pas 10K.
Format de commande
@
x 101 x 100
N_ de
station
R
$
x 103 x 102 x 101 x 100 OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100
Code
titre
Adresse
programme
Nom
Nombre de
TC*
:
FCS
"
Caractère
d’arrêt
Rem. Nombre de TC : 0000 à 0255 dans les API CPM2A/CPM2C et 0000 à 0127 dans
les API CPM1/CPM1A/SRM1(-V2).
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
R
Code
titre
$
x 161 x 160 OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100
Code de
fin
Opérande
SV
:
FCS
"
Caractère
d’arrêt
245
Chapitre
Commandes de communication à l’ordinateur
Paramètres
4-5
Nom, nombre de TC (commande)
Spécifier l’instruction de lecture de la SV dans “Nom”. 4 caractères sont proposés. Dans “nombre de TC”, spécifier le nombre de temporisations/compteurs
utilisés dans l’instruction.
Dénomination
OP1
OP2
Dénomination de l’instruction
OP3
OP4
T
I
M
(Espace)
TIMER
T
I
M
H
HIGH-SPEED TIMER
T
I
M
L
LONG TIMER
T
M
H
H
VERY HIGH-SPEED TIMER
C
N
T
(Espace)
COUNTER
C
N
T
R
REVERSIBLE COUNTER
Opérande, SV (réponse)
Le nom qui indique la classification SV est retourné à “Opérande”, et soit l’adresse du mot dans laquelle est enregistrée la SV, soit la constante SV est
retournée à “SV”.
Opérande
OP1 OP2
Constante ou
adresse de mot
Classification
OP3
OP4
C
I
O
(Espace)
IR ou SR
L
R
(Espace)
(Espace)
LR
API CPM2A/
CPM2C
0000 à 0049
0200 à 0255
0000 à 0015
API CPM1
H
R
(Espace)
(Espace)
HR
0000 à 0019
0000 à 0019
A
R
(Espace)
(Espace)
AR
0000 à 0023
0000 à 0015
D
M
(Espace)
(Espace)
DM
0000 à 6655
0000 à 6655
D
M
:
(Espace)
DM (indirect)
0000 à 6655
0000 à 6655
C
O
N
(Espace)
Constantee
0000 à 9999
0000 à 9999
0000 à 0019
0200 à 0255
0000 à 0015
Rem. Le nom de l’instruction spécifiée dans “Nom” doit contenir quatre caractères.
Remplir tous les vides avec des espaces pour obtenir un total de quatre
caractères.
4-5-17 CHANGER 1 SV ---- W#
Recherche la première instance d’une instruction (TIM, TIMH(15), TIML(----),
TMHH(----), CNT ou CNTR(12)) spécifiée dans le programme utilisateur et remplace la SV par la nouvelle constante SV spécifiée dans le second mot de l’instruction. La recherche commençant au début du programme, l’obtention d’une
réponse peut demander jusqu’à 10 secondes.
Format de commande
@
x 101 x 100
N_ de
station
W
Code
titre
#
OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100 x 103 x 102 x 101 x 100
Nom
Nombre de
TC*
SV (0000 à 9999)
:
FCS
"
Caractère
d’arrêt
Rem. Nombre de TC : 0000 à 0255 dans les API CPM2A/CPM2C et 0000 à 0127 dans
les API CPM1/CPM1A/SRM1(-V2).
Format de réponse
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
246
W
Code
titre
#
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
Chapitre
Commandes de communication à l’ordinateur
Paramètres
4-5
Nom, nombre de TC (commande)
Dans “Nom”, spécifier le nom de l’instruction, en quatre caractètres, pour modifier la SV. Dans “nombre de TC”, spécifier le nombre de temporisations/compteurs utilisés dans l’instruction.
Dénomination de l’instruction
OP1
OP2
OP3
Classification
OP4
T
I
M
(Espace)
TIMER
T
I
M
H
HIGH-SPEED TIMER
T
I
M
L
LONG TIMER
T
M
H
H
VERY HIGH-SPEED TIMER
C
N
T
(Espace)
COUNTER
C
N
T
R
REVERSIBLE COUNTER
4-5-18 CHANGER 2 SV ---- W$
Modifie le contenu du second mot de l’instruction TIM, TIMH(15), TIML(----),
TMHH(----), CNT ou CNTR(12) dans l’adresse spécifiée du programme utilisateur. Ceci n’est possible que si la taille du programme n’excède pas 10K.
Format de commande
@
x 101 x 100
N_ de
station
W
Code
titre
$
x 103 x 102 x 101 x 100 OP1 OP2 OP3 OP4
Adresse programme
x 103 x 102 x 101 x 100
Nom
Nombre de TC
OP1 OP2 OP3 OP4
x 103 x 102 x 101 x 100
Opérande
SV
:
FCS
"
Caractère
d’arrêt
Rem. Nombre de TC : 0000 à 0255 dans les API CPM2A/CPM2C et 0000 à 0127 dans
les API CPM1/CPM1A/SRM1(-V2).
Format de réponse
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
$
Code
titre
N_ de
station
Paramètres
W
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
Nom, nombre de TC (commande)
Dans “Nom”, spécifier le nom de l’instruction, en quatre caractères, pour modifier la SV. Dans “nombre de TC”, spécifier le nombre de temporisations/compteurs utilisés dans l’instruction.
Dénomination de l’instruction
OP1
OP2
OP3
Classification
OP4
T
I
M
(Espace)
TIMER
T
I
M
H
HIGH-SPEED TIMER
T
I
M
L
LONG TIMER
T
M
H
H
VERY HIGH-SPEED TIMER
C
N
T
(Espace)
COUNTER
C
N
T
R
REVERSIBLE COUNTER
247
Chapitre
Commandes de communication à l’ordinateur
4-5
Opérande, SV (réponse)
Dans “Opérande,” spécifier le nom qui indique la classification SV. Spécifier le
nom en quatre caractères. Dans “SV”, spécifier soit l’adresse du mot dans
laquelle est enregistrée la SV, soit la constante SV.
Opérande
OP3
Constante ou adresse de mot
Classification
OP1
OP2
OP4
API CPM2A/
CPM2C
C
I
O
(Espace)
IR ou SR
L
R
(Espace)
(Espace)
H
R
(Espace)
A
R
(Espace)
D
M
D
C
API
CPM1/CPM1A/
SRM1(-V2)
LR
0000 à 0049
0200 à 0252
0000 à 0015
0000 à 0019
0200 à 0252
0000 à 0015
(Espace)
HR
0000 à 0019
0000 à 0019
(Espace)
AR
0000 à 0023
0000 à 0015
(Espace)
(Espace)
DM
M
:
(Espace)
DM (indirect)
O
N
(Espace)
Constante
0000 à 2047
6144 à 6655
0000 à 2047
6144 à 6655
0000 à 9999
0000 à 1023*
6144 à 6655
0000 à 1023*
6144 à 6655
0000 à 9999
Rem. *Pour les API SRM1(-V2), la plage de DM va de 0000 à 2047.
4-5-19 LIRE ETAT ---- MS
Lit les conditions d’exploitation de l’API.
Format de commande
@
x 101 x 100
N_ de
station
x 101 x 100
N_ de
station
248
:
S
Code
titre
FCS
"
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
Format de réponse
@
M
M
Code
titre
S
x 161 x 160 x 163 x 162 x 161 x 160 16 caractères
Code de
fin
Etat des
données
Message
:
FCS
"
Caractère
d’arrêt
Chapitre
Commandes de communication à l’ordinateur
Paramètres
Données d’état, Message (réponse)
Les “Données d’état” sont constituées de quatre digits (deux octets) hexadécimaux. L’octet le plus à gauche indque le mode opératoire de l’UC, et l’octet le
plus à droite indique la taille de la zone de programme.
x 163
Bit 15
4-5
14
13
0
0
x 162
12
11
10
0
0
9
8
Bit
1 : Erreur fatale générée
1 : FALS généré
Mode fonction
9
8
0
0
Mode PROGRAM
1
0
Mode RUN
1
1
Mode MONITOR
x 161
Bit
7
6
5
Cette zone est différente de celle de
ECRIRE ETAT
(STATUS WRITE).
x 160
4
3
1
Bit
2
1
0
0
0
0
6
5
4
Zone de programme
0
0
0
Aucune
0
0
1
4 Koctets
0
1
0
8 Koctets
Zone de programme protégée en écriture
0 : Protégé en écriture
1 : Non protégé en écriture
Le paramètre “Message” comporte 16 caractères et apparaît après l’exécution
de MSG(47). En l’absence de message, ce paramètre n’est pas pris en compte.
4-5-20 ECRIRE ETAT ---- SC
Modifie le mode opératoire.
Format de commande
@
x 101 x 100
N_ de
station
Format de réponse
C
Code
titre
x 161 x 160
Mode données
:
FCS
"
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
Paramètres
S
S
Code
titre
C
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
Données de mode (commande)
Les “Données de mode” sont constituées de deux digits (un octet) hexadéci-
249
Chapitre
Commandes de communication à l’ordinateur
4-5
maux. Dans les deux bits les plus à gauche, spécifier le mode opératoire de
l’API. Définir tous les autres bits à “0”.
x 161
Bit
x 160
7
6
5
4
3
2
0
0
0
0
0
0
1
0
Bit
Mode fonction
1
0
0
0
1
0
Mode PROGRAM
Mode MONITOR
1
1
Mode RUN
Cette zone est différente de celle de
LIRE ETAT (STATUS
READ).
4-5-21 LIRE ERREUR ---- MF
Lit et supprime les erreurs dans l’API. Vérifie également si des erreurs antérieures ont été supprimées.
Format de commande
@
x 101 x 100
N_ de
station
x 101 x 100
N_ de
station
Paramètres
250
Code
titre
F
x 101 x 100
Erreur
supprimée
:
FCS
"
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
Format de réponse
@
M
M
Code
titre
F
x 161 x 160 x 163 x 162 x 161 x 160 x 163 x 162 x 161 x 160
Code de
fin
Information
erreur (1er mot)
Information erreur
(2ème mot)
:
FCS
"
Caractère
d’arrêt
Suppression d’erreur (commande)
Spécifier 01 pour supprimer les erreurs et 00 pour ne pas les supprimer (BCD).
Les erreurs fatales ne peuvent être supprimées que lorsque l’API est en mode
PROGRAM.
Information d’erreur (réponse)
L’information d’erreur est en deux mots.
Chapitre
Commandes de communication à l’ordinateur
4-5
API CPM1/CPM1A/CPM2A/CPM2C
1er mot
x 163
Bit 15
14
x 162
13
12
11
0
0
0
10
9
x 161
8
7
0
6
5
0
x 160
4
3
2
1
0
0
0
0
0
0
ON : Alarme batterie (F7)
ON : Erreur système (FAL)
ON : Erreur mémoire (Code d’erreur F1)
ON : Erreur bus E/S (Code d’erreur C0)
ON : Erreur pas d’instruction de fin (FALS)
ON : Erreur système (FAL)
2ème mot
x 163
Bit 15
14
0
0
13
x 162
12
x 161
11
10
9
8
0
0
0
0
7
6
5
x 160
4
3
2
1
0
FAL, Numéros FALS (00 à FF)
ON : Dépassement temps cycle (Code d’erreur F8)
ON : Dépassement positif unité E/S (Code d’erreur E1)
API SRM1(-V2)
1er mot
x 163
Bit 15
14
x 162
13
12
11
10
9
0
0
0
0
0
x 161
8
7
x 160
6
5
4
3
2
1
0
0
0
0
0
0
0
0
ON : Erreur système (FAL)
ON : Erreur mémoire (Code d’erreur F1)
ON : Erreur pas d’instruction de fin (FALS)
ON : Erreur système (FAL)
2ème mot
x 163
Bit 15
14
13
0
0
0
x 162
12
x 161
11
10
9
8
0
0
0
0
7
6
5
x 160
4
3
2
1
0
FAL, Numéros FALS (00 à 99)
ON : Dépassement temps cycle (Code d’erreur F8)
4-5-22 AFFECTATION FORCEE ---- KS
Définit de force un bit dans la zone IR, SR, LR, HR, AR ou TC. Un seul bit peut
être défini à la fois.
Lorsqu’un bit a été défini ou redéfini de force, cet état est conservé jusqu’à l’émission d’une commande FORCED SET/RESET CANCEL (KC) ou de la prochaine commande FORCED SET/RESET.
251
Chapitre
Commandes de communication à l’ordinateur
4-5
Format de commande
@
x 101 x 100
K
N_ de
station
S
OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100 x 101 x 100
Code
titre
Nom
Adresse
mot
:
Bit
FCS
"
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
Paramètres
K
S
Code
titre
x 161 x 160
Code de
fin
"
:
FCS
Caractère
d’arrêt
Nom, adresse de mot, bit (commande)
Dans “Nom”, spécifier la zone (c.--à--d. IR, SR, LR, HR, AR ou TC) devant être
définie de force. Spécifier le nom en quatre caractères. Dans “Adresse de mot”,
spécifier l’adresse du mot et dans “Bit” le numéro du bit devant être défini de
force.
Dénomination
Plage de paramétrage
d’adresses de mots
Classification
OP1
OP2
OP3
OP4
API CPM2A/
CPM2C
C
I
O
(Espace)
IR ou SR
L
R
(Espace)
(Espace)
H
R
(Espace)
A
R
(Espace)
T
I
T
Bit
API CPM1/
CPM1A/
SRM1(-V2)
LR
0000 à 0049
0200 à 0252
0000 à 0015
0000 à 0019
0200 à 0252
0000 à 0015
(Espace)
HR
0000 à 0019
0000 à 0019
(Espace)
AR
M
(Espace)
Drapeau d’exécution (temporisation)
0000 à 0023
0000 à 0255
0000 à 0015
0000 à 0127
I
M
H
T
I
M
T
M
H
C
N
T
Drapeau d’exécution (temporisation
grande vitesse)
L
Drapeau d’exécution (temporisation longue)
H
Drapeau d’exécution (temporisation très
grande vitesse)
(Espace) Drapeau d’exécution (compteur)
C
N
T
R
00 à 15
((décimal))
Toujours
j
00
Drapeau d’exécution (compteur réversible)
Rem. La zone spécifiée dans “Nom” doit avoir quatre caractères. Ajouter des espaces
après le nom de la zone de données si elle fait moins de quatre caractères.
4-5-23 REINITIALISATION FORCEE ---- KR
Définit de force un bit dans la zone IR, SR, LR, HR, AR ou TC. Un seul bit peut
être défini à la fois.
Lorsqu’un bit a été défini ou redéfini de force, cet état est conservé jusqu’à l’émission d’une commande FORCED SET/RESET CANCEL (KC) ou de la prochaine commande FORCED SET/RESET.
Format de commande
@
x 101 x 100
N_ de
station
252
K
Code
titre
R
OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100 x 101 x 100
Nom
Adresse
mot
Bit
:
FCS
"
Caractère
d’arrêt
Chapitre
Commandes de communication à l’ordinateur
4-5
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
R
x 161 x 160
Code
titre
N_ de
station
Paramètres
K
Code de
fin
:
FCS
"
Caractère
d’arrêt
Nom, adresse de mot, bit (commande)
Dans “Nom,” spécifier la zone (c.--à--d. IR, SR, LR, HR, AR ou TC) devant être
redéfinie de force. Spécifier le nom en quatre caractères. Dans “Adresse de
mot”, spécifier l’adresse du mot et dans “Bit” le numéro du bit devant être redéfini de force.
Dénomination
Plage de paramétrage des
adresses de mots
Classification
OP1
OP2
OP3
OP4
API CPM2A/
CPM2C
C
I
O
(Espace)
IR ou SR
L
R
(Espace)
(Espace)
H
R
(Espace)
(Espace)
A
R
(Espace)
(Espace)
T
I
M
(Espace)
Drapeau d’exécution (temporisation)
T
I
M
H
T
I
M
T
M
H
C
N
T
Drapeau d’exécution (temporisation
grande vitesse)
L
Drapeau d’exécution (temporisation longue)
H
Drapeau d’exécution (temporisation très
grande vitesse)
(Espace) Drapeau d’exécution (compteur)
C
N
T
R
Bit
API
CPM1/CPM1A
/SRM1(-V2)
LR
0000 à 0049
0200 à 0252
0000 à 0015
0000 à 0019
0200 à 0252
0000 à 0015
HR
0000 à 0019
0000 à 0019
AR
0000 à 0023
0000 à 0255
0000 à 0015
0000 à 0127
00 à 15
((décimal))
Toujours
j
00
Drapeau d’exécution (compteur réversible)
Rem. La zone spécifiée dans “Nom” doit avoir quatre caractères. Ajouter des espaces
après le nom de la zone de données si elle fait moins de quatre caractères.
4-5-24 AFFECTATION/REINITIALISATION FORCEE MULTIPLE ---- FK
Définit de force, redéfinit de fource ou annule l’état des bits d’un mot de la zone
IR, SR, LR, HR, AR ou TC.
Format de commande
@
x 101 x 100
N_ de
station
F
Code
titre
K
OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100
Nom
Adresse
mot
Données forcées à définir/remise à zéro/réinitialiser
x 160 x 160 x 160 x 160 x 160 x 160
:
x 160 x 160
FCS
Bit
15
14
13
12
11
10
1
0
"
Caractère
d’arrêt
253
Chapitre
Commandes de communication à l’ordinateur
4-5
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
Paramètres
F
K
Code
titre
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
Nom, adresse de mot (commande)
Dans “Nom,” spécifier la zone (c.--à--d. IR, SR, LR, HR, AR ou TC) devant être
définie ou redéfinie de force. Spécifier le nom en quatre caractères. Dans
“Adresse de mot”, spécifier l’adresse du mot devant être défini ou redéfini de
force.
Dénomination
Plage de paramétrage des adresses de
mots
Classification
OP1
OP2
OP3
OP4
API
CPM2A/CPM2C
C
I
O
(Espace)
IR ou SR
L
R
(Espace)
(Espace)
H
R
(Espace)
A
R
(Espace)
T
I
T
I
T
I
M
T
M
H
C
N
T
Drapeau d’exécution (temporisation
grande vitesse)
L
Drapeau d’exécution (temporisation longue)
H
Drapeau d’exécution (temporisation très
grande vitesse)
(Espace) Drapeau d’exécution (compteur)
C
N
T
R
API
CPM1/CPM1A/
SRM1(-V2)
LR
0000 à 0049
0200 à 0252
0000 à 0015
0000 à 0019
0200 à 0252
0000 à 0015
(Espace)
HR
0000 à 0019
0000 à 0019
(Espace)
AR
0000 à 0023
0000 à 0015
M
(Espace)
Drapeau d’exécution (temporisation)
0000 à 0255
0000 à 0127
M
H
0000 à 0255
0000 à 0127
0000 à 0255
0000 à 0127
0000 à 0255
0000 à 0127
Drapeau d’exécution (compteur réversible)
Données définies/redéfinies/annulées de force (commande)
Si un drapeau de fin d’horloge ou de compteur est spécifié, seul le bit 15 est pris
en compte, tous les autres étant ignorés. Seules les définitions et redéfinitions
de force sont possibles pour les temporisations/compteurs.
Lorsqu’une adresse de mot est spécifiée, le contenu du mot précise la procédure souhaitée pour chacun des bits de ce mot, comme dans le tableau suivant :
Paramètre
Hexadécimal
Traitement
0000
Pas d’action (état du bit inchangé)
0002
Réinitialisé
0003
Défini
0004
Réinitialisation forcée
0005
Définition forcée
0008
Annule l’état de définition/réinitialisation forcée
Les bits qui sont simplement définis ou redéfinis peuvent changer d’état à la prochaine exécution du programme, mais les bits qui sont définis ou redéfinis de
force conserveront cet état jusqu’à leur suppression.
254
Chapitre
Commandes de communication à l’ordinateur
Format de réponse
4-5
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
F
N_ de
station
K
Code
titre
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
4-5-25 ANNULER AFFECTATION/REINITIALISATON FORCEE ---- KC
Annule tous les bits définis ou redéfinis de force (y compris ceux définis par
FORCED SET, FORCED RESET et MULTIPLE FORCED SET/RESET). En
cas de définition de plusieurs bits, l’état forcé sera annulé pour tous. KC ne permet pas d’annuler les bits un par un.
Format de commande
@
x 101 x 100
K
N_ de
station
Format de réponse
Code
titre
"
:
C
FCS
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
K
C
Code
titre
x 161 x 160
Code de
fin
:
FCS
"
Caractère
d’arrêt
4-5-26 LIRE MODELE API ---- MM
Lit le type de modèle de l’API
Format de commande
@
x 101 x 100
N_ de
station
Format de réponse
M
:
M
Code
titre
FCS
"
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
M
Code
titre
M
x 161 x 160 x 161 x 160
Code de
fin
Code
modèle
:
FCS
"
Caractère
d’arrêt
255
Chapitre
Commandes de communication à l’ordinateur
Paramètres
4-5
Code de modèle
Le “Code de modèle” indique le modèle de l’API sous forme de deux digits hexadécimaux.
Code de modèle
Modèle
01
C250
02
C500
03
C120
0E
C2000
10
C1000H
11
C2000H/CQM1/CPM2A/CPM2C/CPM1/CPM1A/SRM1(-V2)
12
C20H/C28H/C40H/C200H/C200HS
20
CV500
21
CV1000
22
CV2000
40
CVM1-CPU01-E
41
CVM1-CPU11-E
42
CVM1-CPU21-E
4-5-27 TEST---- TS
Retourne, sans modification, un bloc de données transmis à partir de l’ordinateur.
Format de commande
@
x 101 x 100
N_ de
station
Format de réponse
S
:
122 caractères max.
Code
titre
FCS
Caractères
"
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
Paramètres
T
T
S
:
122 caractères max.
Code
titre
FCS
Caractères
"
Caractère
d’arrêt
Caractères (commande, réponse)
Pour la commande, ce paramètre spécifie tous les caractères autres que le
retour chariot (CHR$(13)). Pour la réponse, les mêmes caractères que ceux
spécifiés dans la commande seront retournés sans modification en cas de
succès du test.
4-5-28 LIRE PROGRAMME ---- RP
Lit le contenu de la zone programme utilisateur de l’API en langage machine
(code exécutable). Le contenu est lu comme un bloc, du début à la fin.
Format de commande
@
x 101 x 100
N_ de
station
256
R
Code
titre
:
P
FCS
"
Caractère
d’arrêt
Chapitre
Commandes de communication à l’ordinateur
4-5
Un code de fin de 00 indique une fin normale.
Format de réponse
x 101 x 100
@
N_ de
station
Paramètres
R
P
Code
titre
x 161 x 160 x 161 x 160
Code de
fin
"
:
1 octet
FCS
Caractère
d’arrêt
Programme (pour toute la
zone UM)
Programme (réponse)
Le programme est lu à partr de la zone entière du programme
Rem. Pour interrompre le déroulement de cette opération, exécuter la commande
ABORT (XZ).
4-5-29 ECRIRE PROGRAMME ---- WP
Ecrit dans la zone de programme utilisateur de l’API le programme en langage
machine (code exécutable) transmis à partir de l’ordinateur. Le contenu est écrit
sous la forme d’un bloc, à partir du début.
Format de commande
@
x 101 x 100
W
P
x 161 x 160
FCS
1 octet
Programme (haut à taille de
mémoire maximum)
Code
titre
N_ de
station
"
:
Caractère
d’arrêt
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
Paramètres
W
P
Code
titre
x 161 x 160
Code de
fin
"
:
FCS
Caractère
d’arrêt
Programme (commande)
Programme les données jusqu’à la taille mémoire maximale.
4-5-30 COMMANDE COMPOSEE ---- QQ
Enregistre sur l’API tous les bits, mots et temporisations/compteurs devant être
lus et lit l’état de chacun d’entre eux en tant que lot.
Enregistrement des informations en lecture
Enregistre l’information concernant tous les bits, mots et temporisations/compteurs devant être lus.
Format de commande
@
x 101 x 100
N_ de
station
Q
Code
titre
Q
M
R
Code soustitre
OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100 OP1 OP2
Zone lue
Adresse mots lus
,
Format Arrêt mots
données
Information lecture simple
Information lecture totale (128 max.)
,
Arrêt mots
OP1 OP2 OP3 OP4 x 103 x 102 x 101 x 100 OP1 OP2
Zone lue
Adresse mots lus
Format
données
:
FCS
"
Caractère
d’arrêt
Information lecture simple
Information lecture totale (128 max.)
257
Chapitre
Commandes de communication à l’ordinateur
Un code de fin de 00 indique une fin normale.
Format de réponse
@
x 101 x 100
N_ de
station
Paramètres
Classification de
zone
IR ou SR
Q
Code
titre
Q
M
R
Code soustitre
x 161 x 160
Code de
fin
Données lues
Zone de
l
lecture
0000 à 0049
0200 à 0255
API CPM1/
CPM1A/
SRM1(-V2)
0000 à 0019
0200 à 0255
L R (S)
( ) (S)
( )
0000 à 0015
0000 à 0015
H R (S)
( ) (S)
( )
0000 à 0019
0000 à 0019
A R (S)
( ) (S)
( )
0000 à 0023
0000 à 0015
C I O ((S))
Bit
Bit
Mot lu
API CPM2A/
CPM2C
Mot
HR
Caractère
d’arrêt
Format de données
00 à 15 (décimal)
“CH”
00 à 15 (décimal)
00 à 15 (décimal)
“CH”
Bit
Bit
00 à 15 (décimal)
“CH”
Temporisation
Drapeau
d’exécution
PV
T I M (S)
0000 à 0255
0000 à 0127
Temporisation grande
vitesse
Drapeau
d’exécution
PV
TIMH
0000 à 0255
0000 à 0127
Temporisation longue
Drapeau
d’exécution
PV
TIML
0000 à 0255
0000 à 0127
Temporisation très
grande vitesse
g
Drapeau
d’exécution
PV
TMHH
0000 à 0255
0000 à 0127
Compteur
Drapeau
d’exécution
PV
C N T (S)
0000 à 0255
0000 à 0127
Compteur réversible
Drapeau
d’exécution
PV
CNTR
0000 à 0255
0000 à 0127
Mot
D M (S) (S)
DM
FCS
"
“CH”
Bit
Mot
AR
:
Zone de lecture (commande)
Spécifier, sous forme d’un code à quatre caractères, la zone devant être lue. Les
codes disponibles se trouvent dans le tableau ci-après
Adresse de mot en lecture, format des données (commande)
Suivant la zone et le type de données devant être lues, les informations en lecture se présentent comme dans le tableau suivant. Les “données en lecture”
sont spécifiées en quatre digits BCD et le format des données est spécifié en
deux digits BCD.
Mot
LR
4-5
2 caractères autres que “CH”
“CH”
2 caractères autres que “CH”
“CH”
2 caractères autres que “CH”
“CH”
2 caractères autres que “CH”
“CH”
2 caractères autres que “CH”
“CH”
2 caractères autres que “CH”
“CH”
0000 à 2047
6144 à 6655
0000 à 1023*
6144 à 6655
2 caractères
Rem. *Pour les API SRM1(-V2), la plage de DM va de 0000 à 2047.
(S) : Espace
Coupure de données (commande)
Les informations en lecture sont spécifiées une à une et séparées par un code
de coupure (,). Le nombre maximal d’éléments est de 128 (cependant, lorsque
la PV d’une horloge/compteur est spécifiée, l’état du drapeau de fin est également retourné et compte par conséquent comme deux éléments).
258
Chapitre
Commandes de communication à l’ordinateur
4-5
Lecture du lot
L’état du bit, mot et horloge/compteur est lu en tant que lot d’après les informations de lecture enregistrées avec QQ.
Format de commande
x 101 x 100
@
Q
N_ de
station
x 101 x 100
N_ de
station
Code
titre
Q
Code
titre
Q
I
R
Code soustitre
,
ON/
OFF
x 161 x 160 ON/
OFF
"
:
R
Code soustitre
FCS
Code de
fin
,
x 103 x 102 x 101 x 100
Caractère
d’arrêt
,
Arrêt donTemporisation/compteur
Si PV est spécifiée, l’état du nées
drapeau de fin est retourné.
,
x 163 x 162 x 161 x 160
Mot données
IR, SR, LR, HR,
AR, DM
Bit données
ON/OFF
Paramètres
I
Un code de fin de 00 indique une fin normale.
Format de réponse
@
Q
:
FCS
"
Caractère
d’arrêt
Lecture des données (réponse)
Les données en lecture sont retournées d’après le format de données et l’ordre
dans lequel les informations de lecture ont été enregistrées avec QQ. Si un “drapeau de fin” a été spécifié, les données de bit (ON ou OFF) sont retournées. Si
un “Mot” a été spécifié, les données de mot sont retournées. Cependant, si une
“PV” a été spécifiée pour les temporisations/compteurs, elle est retournée après
le drapeau de fin.
Coupure de données (réponse)
Le code de coupure (, ) est retourné entre les sections lues.
4-5-31 INTERROMPRE ---- XZ
Annule l’opération de communication à l’ordinateur en cours de traitement, puis
autorise la réception de la commande suivante. La commande INTERROMPRE
ne reçoit pas de réponse.
Format de commande
@
x 101 x 100
N_ de
station
X
:
Z
Code
titre
FCS
"
Caractère
d’arrêt
4-5-32 INITIALISER ---- ::
Initialise la procédure de contrôle de transmission de tous les API connectés à
l’ordinateur. La commande INITIALISER n’utilise pas les numéros de station ni
les FCS, et ne reçoit pas de réponse.
Format de commande
@
:
:
"
259
Chapitre
Commandes de communication à l’ordinateur
4-5
4-5-33 REPONSE TXD ---- EX
Cette commande n’est prise en charque que par les API CPM2A/CPM2C.
C’est le format de réponse utilisé lorsque l’instruction TXD(48) de l’API est
exécutée en mode communications à l’ordinateur. Aucune commande n’est
associée à EX.
L’instruction TXD(48) convertit les données spécifiées en ASCII et les transmet
à l’ordinateur dans ce format. La réponse peut contenir jusqu’à 122 caractères
de données en ASCII (l’instruction TXD(48) ne prend pas en charge plusieurs
trames).
Format de réponse
Un code de fin de 00 indique une fin normale.
@
x 101 x 100
N_ de
station
Paramètres
T
S
Données spécifiées en TXD(48)
Code
titre
:
FCS
Caractères
(122 max.)
"
Caractère
d’arrêt
Caractères (réponse)
Ce sont les données spécifiées dans l’instruction TXD(48) qui ont été converties
en ASCII.
4-5-34 COMMANDE NON DEFINE ---- IC
Cette réponse est retournée si le code titre d’une commande ne peut être
décodé. Vérifier le code titre.
Format de réponse
@
x 101 x 100
N_ de
station
260
I
Code
titre
:
C
FCS
"
Caractère
d’arrêt
CHAPITRE 5
Zones mémoire
Ce chapitre décrit la structure des zones mémoire de l’API et explique comment les utiliser.
5-1
5-2
5-3
5-4
Fonctions des zones mémoire des CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-1 Structure de la zone mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-2 Zone IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-3 Zone SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-4 Zone TR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-5 Zone HR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-6 Zone AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-7 Zone LR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-8 Zone de temporisation/compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1-9 Zone DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions des zones mémoire des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-1 Structure de la zone mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-2 Zone IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-3 Zone SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-4 Zone TR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-5 Zone HR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-6 Zone AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-7 Zone LR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-8 Zone de temporisation/compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-2-9 Zone DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de la zone mémoire du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-1 Structure de la zone mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-2 Zone IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-3 Zone SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-4 Zone TR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-5 Zone HR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-6 Zone AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-7 Zone LR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-8 Zone de temporisation/compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-3-9 Zone DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mémoire flash du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
262
262
263
264
264
265
265
265
265
265
266
266
267
270
270
271
271
271
271
271
272
272
273
273
274
274
274
274
274
274
275
261
Fonctions des zones mémoire des CPM1/CPM1A
5-1
Chapitre
5-1
Fonctions des zones mémoire des CPM1/CPM1A
5-1-1 Structure de la zone mémoire
Les zones mémoire suivantes sont utilisées avec les CPM1/CPM1A :
Zone de données
Zone
IR1
Mots
Bits
Fonction
IR 000 à IR 009
(10 mots)
IR 010 à IR 019
(10 mots)
IR 200 à IR 231
(32 mots)
SR 232 à SR 255
(24 mots)
IR 00000 à IR 00915
(160 bits)
IR 01000 à IR 01915
(160 bits)
IR 20000 à IR 23115
(512 bits)
SR 23200 à SR 25515
(384 bits)
Ces bits sont affectés aux bornes d’E/S
externes.
Zone TR
---
TR 0 à TR 7
(8 bits)
Ces bits sont utilisés pour mémoriser temporairement l’état ON/OFF aux points d’embranchement du programme.
Zone HR2
HR 00 à HR 19
(20 mots)
HR 0000 à HR 1915
(320 bits)
Ces bits mémorisent les données et conservent l’état ON/OFF lorsque l’alimentation
est désactivée.
Zone AR2
AR 00 à AR 15
(16 mots)
AR 0000 à AR 1515
(256 bits)
Ces bits remplissent des fonctions spécifiques telles que les drapeaux et le contrôle
de bits.
Zone d’entrée
Zone de
sortie
Zone de travail
Zone SR
Zone LR1
LR 00 à LR 15
LR 0000 à LR 1515
(16 mots)
(256 bits)
Zone de temporisation/ TC 000 à TC 127
compteur2
(numéros de temporisations/compteur)3
Zone
Lecture/écri- DM 0000 à DM 0999 --DM
ture2
DM 1022 à DM 1023
(1 002 mots)
Journal d’er- DM 1000 à DM 1021
reurs
(22 mots)
---
Lecture
seule4
Setup de
l’API4
---
DM 6144 à DM 6599
(456 mots)
DM 6600 à DM 6655
(56 mots)
Rem.
---
Les bits de travail sont utilisés librement
dans le programme.
Ces bits remplissent des fonctions spécifiques telles que les drapeaux et le contrôle
de bit.
Utilisé pour une liaison de données Inter
API avec un autre API.
Les même numéros sont utilisés pour les
temporisations et les compteurs.
Les données de zone DM sont seulement
accessibles par les unités de mots. Les
valeurs de mots sont conservées lorsque
l’alimentation est désactivée.
Utilisé pour mémoriser le moment de l’occurence et le code d’erreurs des erreurs
survenues. Ces mots sont utilisés comme
DM en lecture/écriture lorsque la fonction du
journal d’erreurs n’est pas utilisée.
Ne peut pas être écrasé dans le programme.
Utilisé pour mémoriser différents
paramètres commandant le fonctionnement
de l’API.
1. Les bits IR et LR qui ne sont pas utilisés pour ls fonctions d’allocation sont
utilisés comme bits de travail.
2. Le contenu des zones HR, AR, compteur et du DM lecture/écriture est sauvegardé par un condensateur. La sauvegarde du temps dépend de la température ambiante, ainsi à 25_C, le condensateur sauvegarde la mémoire
pendant 20 jours. Si l’alimentation est désactivée pendant plus longtemps
que le temps de sauvegarde, le contenu de la mémoire sera effacé et
AR1314 sera activé. Ce drapeau est activé lorsque les données ne peuvent
plus être conservées par le condensateur intégré. Se reporter au paragraphe 2--1--2, Caractéristiques du Manuel de programmation du CPM1 et du
CPM1A pour un graphique présentant le temps de sauvegarde par rapport
à la température.
3. Lors de l’accès à une PV, les numéros TC sont utilisés comme données de
mot ; lors de l’accès aux drapeaux de fin, ils sont utilisés comme données de
bits.
262
Chapitre
Fonctions des zones mémoire des CPM1/CPM1A
5-1
4. Les données de DM 6144 à DM 6655 ne peuvent pas être écrasées dans le
programme, mais elles peuvent être modifiées à partir d’un périphérique de
programmation.
5-1-2 Zone IR
Les fonctions de la zonre IR sont expliquées ci--dessous.
Bits d’E/S
Les bits de la zone IR allant de IR 00000 à IR 01915 sont alloués aux borniers de
l’unité centrale et des unités d’E/S. Ils reflètent l’état des ON/OFF des signaux
d’entrée et de sortie. Les bits d’entrées commencent à IR 00000 et les bits de
sorties à IR 01000.
Le tableau suivant présente les bits IR alloués aux bornes d’E/S des unités centrales du CPM1 et l’unité d’E/S du CPM1-20EDR.
Unité centrale
du CPM1
CPM1-10CDR-j
j
CPM1-20CDR-j
j
E/S
Borniers d’unité
centrale
Entrées 6 points : 00000 à 00005
12 points : 00100 à 00111
Sorties
8 points : 01100 à 01107
Entrées 12 points : 00000 à 00011 12 points : 00100 à 00111
Sorties
CPM1-30CDR-j
CPM1-30CDR-j
-V1
4 points : 01000 à 01003
Borniers d’unité d’E/S
8 points : 01000 à 01007
8 points : 01100 à 01107
Entrées 18 points :
00000 à 00011,
00100 à 00105
12 points : 00200 à 00211
Sorties
12 points :
01000 à 01007,
01100 à 01103
8 points : 01200 à 01207
Entrées 18 points :
00000 à 00011,
00100 à 00105
36 points :
00200 à 00211
00300 à 00311
00400 à 00411
24 points :
01200 à 01207
01300 à 01407
01400 à 01407
Sorties
12 points :
01000 à 01007,
01100 à 01103
263
Chapitre
Fonctions des zones mémoire des CPM1/CPM1A
5-1
Le tableau suivant présente les bits IR alloués aux bornes d’E/S des unités centrales et de l’unité d’E/S d’expansion.
Borniers de l’unité
Numéro
centrale
de
bornes
d’E/S sur
Entrées
Sorties
l’unité
centrale
10
6 points : 4 points :
20
30
40
Borniers d’unité d’E/S d’expansion CPM1A-20EDj
Entrées
---
Sorties
---
Entrées
---
Sorties
---
Entrées
---
---
01000 à
01003
12
points :
p
8
points :
p
00000 à
00011
01000 à
01007
18
points :
12
points :
12
points :
8
points :
12
points :
8
points :
12
points :
8
points :
00000 à
00011
01000 à
01007
00200 à
00211
01200 à
01207
00300 à
00311
01300 à
01307
00400 à
00411
01400 à
01407
00100 à
00105
01100 à
01103
24
points :
16
points :
12
points :
8
points :
12
points :
8
points :
12
points :
8
points :
00000 à
00011
01000 à
01007
00200 à
00211
01200 à
01207
00300 à
00311
01300 à
01307
00400 à
00411
01400 à
01407
00100 à
00111
01100 à
01107
c.a.
c.c.
---
---
---
---
---
Référence du
modèle
Sorties
00000 à
00005
Bits de travail
Alimentation
---
c.a.
CPM1A10CDj-A
CPM1A10CDj-D
CPM1A20CDj-A
c.c.
CPM1A20CDj-D
c.a.
CPM1A30CDj-A
c.c.
CPM1A30CDj-D
c.a.
CPM1A40CDj-A
c.c.
CPM1A40CDj-D
Les bits de travail sont utilisés librement dans le programme. Cependant ils sont
seulement utilisés au sein du programme et non par des E/S externes directes.
5-1-3 Zone SR
Ces bits servent principalement de drapeaux reliés au fonctionnement des
CPM1/CPM1A ou contiennent les valeurs en cours et de consigne de différentes fonctions. Pour de plus amples informations sur les différentes fonctions de
bit, se reporter aux chapitres concernés de ce manuel ou l’Annexe C, Zones
mémoire.
SR 244 à SR 247 sont également utilisables comme bits de travail lorsque les
entrées d’interruption ne sont pas utilisées par le mode compteur.
5-1-4 Zone TR
Lorsqu’un schéma à contacts complexe ne peut pas être directement programmé en code mnémonique, ces bits servent à mémoriser temporairement
les conditions d’exécution “ON/OFF” aux points d’embranchement du programme. Ils sont utilisés seulement pour le code mnémonique. En programmant directement avec des schémas à contacts à l’aide du logiciel SYSMAC
(SSS) ou du logiciel SYSMAC--CPT, les bits TR sont automatiquement traités.
Les mêmes bits TR ne peuvent pas être utilisés plus d’une fois dans le même
bloc d’instruction, mais peuvent être utilisés de nouveau dans différents blocs
d’instruction. L’état “ON/OFF” de bits TR ne peut pas être contrôlé à partir d’un
périphérique de programmation.
Des exemples montrant l’utilisation des bits TR dans la programmation sont
fournis à la page 294.
264
Fonctions des zones mémoire des CPM1/CPM1A
Chapitre
5-1
5-1-5 Zone HR
Ces bits conservent leur état “ON/OFF” même après que l’alimentation des
CPM1/CPM1A a été désactivée ou lorsque le fonctionnement commence ou
s’arrête. Ils sont utilisés comme bits de travail.
5-1-6 Zone AR
Ces bits servent principalement de drapeaux reliés au fonctionnement des
CPM1/CPM1A. Ces bits conservent leurs états même après que l’alimentation
des CPM1/CPM1A a été désactivée ou lorsque le fonctionnement commence
ou s’arrête. Pour de plus amples informations sur les diverses fonctions de bit,
se reporter aux chapitres appropriés de ce manuel ou à l’Annexe C, Zones
mémoire.
5-1-7 Zone LR
Lorsqu’un CPM1/CPM1A est lié Inter API à d’autres API tel que CPM1/CPM1A,
CQM1, SRM1(-V2) ou C200HS, ces bits sont utilisés pour partager des données. Pour de plus amples informations, se reporter à la page 187.
Les bits LR sont utilisés comme bits de travail lorsqu’ils ne sont pas utilisés pour
des liaisons Inter API.
5-1-8 Zone de temporisation/compteur
Cette zone est utilisée pour gérérer les temporisations et compteurs créés par
TIM, TIMH(15), CNT et CNTR(12). Les mêmes numéros sont utilisés pour les
temporisations et les compteurs, et chaque numéro est utilisé une seule fois
dans le programme de l’utilisateur. Ne pas utiliser deux fois le même numéro
pour des instructions différentes.
Les numéros TC sont utilisés pour créer des temporisations et des compteurs,
et également pour accéder aux drapeaux de fin et des valeurs en cours (PV). Si
un numéro TC est indiqué pour des données de mot, il accédera à la valeur en
cours (PV) ; s’il est utilisé pour des données de bit, il accédera au drapeau de fin
pour la temporisation/compteur.
Se reporter aux instructions commençant à la page 26 pour de plus amples
informations sur les temporisations et les compteurs.
5-1-9 Zone DM
La zone de données DM est seulement sollicitée dans des unités de mots. Les
contenus des zones de DM sont conservés même après que l’alimentation des
CPM1/CPM1A soit désactivée ou lorsque le fonctionnement commence ou
s’arrête.
Les mots de DM de DM 0000 jusqu’à DM 0999, DM 1022 et DM 1023 peuvent
être utilisés librement dans le programme ; d’autres mots de DM sont affectés à
des fonctions spécifiques, décrits ci--dessous.
Journal d’erreurs
DM 1000 jusqu’à DM 1021 contiennent le journal d’erreurs. Se reporter au Chapitre 9 Dépannage, pour de plus amples informations concernant le journal d’erreurs.
Setup de l’API
DM 6600 jusqu’à DM 6655 contiennent le Setup de l’API. Se reporter au 1-1
Setup de l’API pour de plus amples informations.
265
Fonctions des zones mémoire des CPM2A/CPM2C
5-2
Chapitre
5-2
Fonctions des zones mémoire des CPM2A/CPM2C
5-2-1 Structure de la zone mémoire
Les zones mémoires suivantes sont utilisées dans les CPM2A/CPM2C :
Zone de données
Zone
IR1
Mots
Bits
Fonction
IR 000 à IR 009
(10 mots)
IR 010 à IR 019
(10 mots)
IR 020 à IR 049,
IR 200 à IR 227
(58 mots)
IR 00000 à IR 00915
(160 bits)
IR 01000 à IR 01915
(160 bits)
IR 02000 à IR 04915,
IR 20000 à IR 22715
(928 bits)
Ces bits sont alloués aux borniers d’E/S.
Zone SR
SR 228 à SR 255
(28 mots)
SR 22800 à SR 25515
(448 bits)
Ces bits remplissent des fonctions spécifiques telles que les drapeaux et le contrôle
de bit.
Zone TR
---
TR 0 à TR 7
(8 bits)
Ces bits sont utilisés pour mémoriser temporairement l’état ON/OFF aux points d’embranchement du programme.
Zone HR2
HR 00 à HR 19
(20 mots)
HR 0000 à HR 1915
(320 bits)
Ces bits mémorisent les données et conservent leurs états lorsque l’alimentation est
désactivée.
Zone AR2
AR 00 à AR 23
(24 mots)
AR 0000 à AR 2315
(384 bits)
Ces bits remplissent les fonctions spécifiques telles que les drapeaux et le contrôle
de bit.
Zone LR1
LR 00 à LR 15
LR 0000 à LR 1515
(16 mots)
(256 bits)
TC 000 à TC 255 (numéros des temporisation/
compteur)3
DM 0000 à DM 1999 --DM 2022 à DM 2047
(2 026 mots)
Zone
d’entrée
Zone
de sortie
Zone
de travail
Zone de la temporisation/compteur2
Zone
Lecture/écriDM
ture2
Les bits de travail sont utilisés librementdans le programme.
Utiliser la liaison des données Inter API
avec un autre API.
Les mêmes numéros sont utilisés à la fois
pour les temporisations et les compteurs.
Les données de la zone DM sont seulement
accessibles par unités de mots. Les valeurs
de mots sont conservées lorsque l’alimentation est désactivée.
Utilisé pour mémoriser le moment de l’occurence et le code d’erreurs des erreurs
survenues. Ces mots sont utilisés en tant
que DM de lecture/écriture normale lorsque
la fonction du journal d’erreurs n’est pas utilisée.
Journal d’erreurs
DM 2000 à DM 2021
(22 mots)
---
Lecture
seule4,5
Setup de
l’API4,5
DM 6144 à DM 6599
(456 mots)
DM 6600 à DM 6655
(56 mots)
---
N’est pas écrasé du programme.
---
Utilisé pour mémoriser différents
paramètres contrôlant le fonctionnement de
l’API.
Rem.
1. Les bits IR et LR qui ne sont pas utilisés pour leurs fonctions d’affectation
sont utilisés comme bits de travail.
2. Les contenus des zones : HR, LR, compteur et de DM lecture/écriture sont
sauvegardés par la batterie de l’unité centrale. Si la batterie est enlevée ou
est défectueuse, les contenus de ces zones seront perdus et reprendront
leurs valeurs par défaut. Dans les unités centrales du CPM2C sans batterie,
ces zones sont sauvegardées par un condensateur.
3. Lorsqu’un numéro TC est utilisé comme opérande de mot, la PV de la temporisation ou du compteur est sollicitée ; lorsqu’il est utilisé comme opérande de bits, son drapeau de fin est sollicité.
4. Des données dans DM 6144 à DM 6655 ne peuvent pas être écrasées
depuis le programme, mais elles peuvent être changées depuis un périphérique de programmation.
266
Chapitre
Fonctions des zones mémoire des CPM2A/CPM2C
5-2
5. Le programme et les données dans DM 6144 à DM 6655 sont mémorisés
dans la mémoire flash.
5-2-2 Zone IR
Les fonctions de la zone IR sont expliquées ci--dessous.
Les bits de zone IR 00000 à IR 01915 sont alloués aux bornes des unités centrales et d’unités d’expansion. Ils reflètent l’état “ON/OFF” d’entrée et de signaux
de sortie.
Les mots IR non alloués aux entrées ou aux sorties sont utilisés comme mots de
travail. En outre, les bits non utilisés dans les mots IR alloués aux sorties sont
utilisés comme bits de travail.
Rem. Lorsque tous les bits d’un mot ne sont pas utilisés comme bits d’entrée, les bits
non utilisés sont remis à 0 automatiquement. Ne pas utiliser les bits restants
dans un mot d’entrée comme bits de travail.
Affectation de l’unité centrale Les bits d’entrée commençant à IR 00000 sont alloués à l’unité centrale, et les
bits de sortie commençant à IR 01000 sont assignés à l’unité centrale.
Le tableau suivante présente les bits IR alloués aux bornes d’entrée/sortie des
unités centrales des CPM2A/CPM2C.
Unité centrale
E/S
CPM2C-10CDj-j
jj
6 entrées1
00000 à 00005 (IR 00000 à IR 00005)
4 sorties
01000 à 01003 (IR 01000 à IR 01003)
CPM2C-20CDj-j
12
entrées1
8 sorties
00000 à 00011 (IR 00000 à IR 00011)
CPM2A-30CDj-j
18
entrées1
12 sorties
CPM2A-40CDj-j
24
entrées1
16 sorties
CPM2A-60CDj-j
36
entrées1
00000 à 00011 (IR 00000 à IR 00011) et
00100 à 00105 (IR 00100 à IR 00105)
01000 à 01007 (IR 01000 à IR 01007) et
01100 à 01103 (IR 01100 à IR 01103)
00000 à 00011 (IR 00000 à IR 00011) et
00100 à 00111 (IR 00100 à IR 00111)
01000 à 01007 (IR 01000 à IR 01007) et
01100 à 01107 (IR 01100 à IR 01107)
00000 à 00011 (IR 00000 à IR 00011),
00100 à 00111 (IR 00100 à IR 00111) et
00200 à 00211 (IR 00200 à IR 00211)
24 sorties
Rem.
Borniers d’unité centrale
01000 à 01007 (IR 01000 à IR 01007)
01000 à 01007 (IR 01000 à IR 01007),
01100 à 01107 (IR 01100 à IR 01107) et
01200 à 01207 (IR 01100 à IR 01107)
1. Les bits non utilisés dans IR 000 S, IR 001 S et IR 002 ne peuvent pas être
utilisés comme bits de travail.
2. Les bits d’entrée présentés dans les tableaux suivants peuvent fonctionner
en tant qu’entrées normales ou ils peuvent être affectés à des fonctions
spéciales dans le Setup de l’API.
Des fonctions spéciales pour les bits d’entrée IR 00000 jusqu’à IR 00002
sont définies en DM 6642 :
Adresse
d bi
de
bit
IR 00000
IR 00001
IR 00002
Configuration du Setup de l’API (bits 08 à15 de DM 6642)
00
Utilisé comme
entrées
normales.
01
Utilisé comme
entrées du
compteur
à grande
p
g
vitesse.
it
02, 03, ou 04
Utilisé comme entrées
pour synchroniser la
commande d’impulsions.
Utilisé comme entrée
normale.
Les fonctions spéciales pour les bits d’entrée IR 00003 jusqu’à IR 00006
sont définies en DM 6628 :
267
Chapitre
Fonctions des zones mémoire des CPM2A/CPM2C
Adresse
d bit
de
bi
Bits en
DM 6628
IR 00003
00 à 03
IR 00004
04 à 07
IR 00005*
08 à 11
IR 00006*
12 à 15
5-2
Configuration du Setup de l’API (en DM 6628)
0
Utilisé comme
entrées
é
normales
normales.
1
Utilisé comme
entrées
é
d’interruption
(mode compteur
inclu).
2
Utilisé comme
entrées
é à
réponse de
capture.
Rem. *L’entrée 00006 n’existe pas et l’entrée 00005 doit être utilisée comme
entrée normale dans les unités centrales du CPM2C avec 10 points d’entrée/sortie.
3. Les bits IR 01000 et IR 01001 de sortie peuvent fonctionner en tant que des
entrées normales ou ils peuvent être utilisés pour des sorties d’impulsions
avec PULS(65), SYNC(-- --) ou PWM(-- --). Utiliser l’unité centrale à sorties
de transistor pour les fonctions de sortie d’impulsions.
Instruction
PULS(65)
Affectation de l’unité
d’expansion (unités
centrales du CPM2A)
Fonction
SYNC(----)
Avec SPED(64) :
Sortie d’impulsions monphase sans accélération ni décélération
Avec ACC(----) :
Sortie d’impulsions monphase sans accélération ni décélération
Sortie de commande d’impulsions synchronisée
PWM(----)
Sortie dimpulsions de rapport d’exécution
Jusqu’à 3 unités d’expansion sont reliées à l’unité centrale du CPM2A. Les bits
d’entrée/sortie sont alloués aux unités d’expansion commençant par les prochains mots d’entrée/sortie disponibles.
Le schéma suivant présente les bits d’entrée/sortie alloués à chaque unité d’expansion lorsque le dernier mot d’entrée alloué était “m” et que le dernier mot de
sortie alloué était “n”.
CPM1A-20EDjj Unité
d’E/S d’expansion
CPM1A-8ED
Unité d’E/S d’expansion
Mot (m+1) bits 00 à 11
CPM1A-8ER/8ET/8ET1
Unité d’E/S d’expansion
Mot (m+1) bits 00 à 07
Aucun
12 entrées
8 entrées
0 entrées
8 sorties
0 sorties
8 sorties
Mot (n+1) bits 00 à 07
None
CPM1A-MAD01
Unité d’E/S analogique
Mot (n+1) bits 00 à 07
CPM1A-SRT21
Unité d’E/S CompoBus/S
Mot (m+1) bits 00 à 15
Mot (m+1) bits 00 à 15
Mot (m+1) bits 00 à 07
32 bits d’entrée
8 entrées
16 bits de sortie
8 sorties
Mot (n+1) bits 00 à 15
Mot (n+1) bits 00 à 07
Exemple 1 :
Une unité d’entrée/sortie d’expansion du CPM1A-20EDjj (12 entrées et 8
sorties) est connectée à l’unité centrale avec 30 points d’entrée/sortie.
Unité
1
2
268
Unité centrale
(CPM2A-30CDj-j)
Unité d’E/S d’expansion
(CPM1A-20EDjj)
Bits d’entrée alloués
IR 00000 à IR 00011 et
IR 00100 à IR 00105
IR 00200 à IR 00211
Bits de sortie alloués
IR 01000 à IR 01007 et
IR 01100 à IR 01103
IR 01200 à IR 01207
Chapitre
Fonctions des zones mémoire des CPM2A/CPM2C
5-2
Exemple 2 :
Trois unités d’expansion sont connectées à l’unité centrale avec 30 points d’entrée/sortie.
Unité
1
2
3
4
Unité centrale
(CPM2A-30CDj-j)
Unité d’E/S d’expansion
(CPM1A-20EDjj)
Unité d’E/S analogique
(CPM1A-MAD01)
Unité d’E/S d’expansion
(CPM1A-20EDjj)
Bits d’entrée alloués
Bits de sortie alloués
IR 00000 à IR 00011 et
IR 00100 à IR 00105
IR 00200 à IR 00211
IR 01000 à IR 01007 et
IR 01100 à IR 01103
IR 01200 à IR 01207
IR 00300 à IR 00315 et
IR 00400 à IR 00415
IR 00500 à IR 00511
IR 01300 à IR 01315
IR 01400 à IR 01407
Example 3 :
Trois unités d’expansion sont connectées à l’unité centrale avec 40 points d’entrée/sortie.
Unité
1
2
3
4
Unité centrale
(CPM2A-40CDj-j)
Unité d’E/S d’expansion
(CPM1A-20EDjj)
Unité d’E/S d’expansion
(CPM1A-8ED)
Unité d’E/S d’expansion
(CPM1A-8ER/ET/ET1)
Bits d’entrée alloués
Bits de sortie alloués
IR 00000 à IR 00011 et
IR 00100 à IR 00111
IR 00200 à IR 00211
IR 01000 à IR 01007 et
IR 01100 à IR 01107
IR 01200 à IR 01207
IR 00300 à IR 00307
Aucun*
Aucun*
IR 01300 à IR 01307
Rem. Si une unité d’entrée/sortie d’expansion n’a pas d’entrées, aucun mot d’entrée
ne sera affecté. Il en sera de même pour les sorties.
Exemple 4 :
Trois unités d’expansion sont connectées à l’unité centrale avec 60 points d’entrée/sortie.
Unité
Bits d’entrée alloués
Bits de sortie alloués
1
Unité centrale
(CPM2A-60CDj-j)
IR 00000 à IR 00011,
IR 00100 à IR 00111 et
IR 00200 à IR 00211
IR 01000 à IR 01007,
IR 01100 à IR 01107 et
IR 01200 à IR 01207
2
Unité d’E/S
d’expansion
(CPM1A-20EDjj)
IR 00300 à IR 00311
IR 01300 à IR 01307
3
Unité d’E/S de
CompoBus/S
(CPM1A-SRT21)
IR 00400 à IR 00407
(IR 00408 et IR 00409*)
IR 01400 à IR 01407
4
Unité d’E/S
d’expansion
(CPM1A-20EDjj)
IR 00500 à IR 00511
IR 01500 à IR 01507
Rem. L’unité d’entrée/sortie de CompoBus/S a deux drapeaux d’état : le drapeau de
communication et le drapeau d’erreur. Ces drapeaux sont alloués aux bits 8 et 9
du mot d’entrée.
Affectation de l’unité
d’expansion
(Unités centrales du
CPM2C)
Jusqu’à 5 unités d’entrée/sortie d’expansion peuvent être connectées à l’unité
centrale du CPM2C. Les bits d’entrée/sortie sont alloués aux unités d’entrée/
sortie d’expansion commençant par les prochains mots d’entrée/sortie disponibles.
D’autres unités d’expansion (des unités d’entrée/sortie analogiques et de CompoBus/S) ne peuvent pas être connectées à l’unité centrale du CPM2C.
269
Chapitre
Fonctions des zones mémoire des CPM2A/CPM2C
5-2
Les schémas suivants présentent les bits d’entrée/sortie alloués à chaque unité
d’entrée/sortie d’expansion lorsque le dernier mot d’entrée alloué est “m” et le
dernier mot de sortie alloué est “n”.
CPM2C-10EDR
Unité d’E/S d’expansion
CPM2C-24EDTC/
CPM2C-24EDT1C
Unité d’E/S d’expansion
6 entrées
4 sorties
16 entrées
8 sorties
entrées
sorties
entrées
sorties
Mot (m+1)
bits 00 à 05
Mot (n+1)
bits 00 à 03
Mot (m+1)
bits 00 à 15
Mot (n+1)
bits 00 à 07
Exemple :
Cinq unités d’entrée/sortie d’expansion avec 24 points d’entrées/sorties sont
connectées à l’unité centrale avec 20 points d’entrée/sortie pour un total de 140
points d’entrée--sortie.
Unité
1
2
3
4
5
6
Unité centrale
(CPM2A-20CDjj-j)
Unité d’E/S d’expansion
(CPM1A-24EDTC)
Unité d’E/S d’expansion
(CPM1A-24EDTC)
Unité d’E/S d’expansion
(CPM1A-24EDTC)
Unité d’E/S d’expansion
(CPM1A-24EDTC)
Unité d’E/S d’expansion
(CPM1A-24EDTC)
Bits d’entrée alloués
Bits de sortie alloués
IR 00000 à IR 00011
IR 01000 à IR 01007
IR 00100 à IR 00115
IR 01100 à IR 01107
IR 00200 à IR 00215
IR 01200 à IR 01207
IR 00300 à IR 00315
IR 01300 à IR 01307
IR 00400 à IR 00415
IR 01400 à IR 01407
IR 00500 à IR 00515
IR 01500 à IR 01507
5-2-3 Zone SR
Ces bits servent principalement de drapeaux lors du fonctionnement du CPM2A
ou contiennent des valeurs en cours et de consigne pour les différentes fonctions. Pour de plus amples informations sur les diverses fonctions de bits, se
reporter aux chapitres appropriés de ce manuel ou à l’Annexe C, Zones
mémoire.
Quelques mots de le zone SR sont utilisés comme mots de travail lorsqu’ils ne
sont pas utilisés dans leur but assigné.
5-2-4 Zone TR
Lorsque un schéma à contacts complexe ne peut pas être programmé directement en code mnémonique, ces bits sont utilisés pour mémoriser temporairement les conditions d’exécution “ON/OFF” aux points d’embranchement du programme. Ils sont utilisés seulement pour le code mnémonique. En programmant directement avec des schémas à contacts à l’aide du logiciel SYSMAC
(SSS) ou le logiciel SYSMAC--CPT, les bits TR sont automatiquement traités.
Les mêmes bits TR ne peuvent pas être utilisés plus d’une fois dans le même
bloc d’instruction, mais peuvent être utilisés de nouveau dans différents blocs
d’instruction. L’état “ON/OFF” de bits TR ne peut pas être contrôlé à partir d’un
périphérique de programmation.
Des exemples montrant l’utilisation des bits TR dans la programmation sont
fournis à la page 294.
270
Fonctions des zones mémoire des CPM2A/CPM2C
Chapitre
5-2
5-2-5 Zone HR
Ces bits maintiennent leur état “ON/OFF” même après que l’alimentation du
CPM2A soit désactivée ou lorsque l’opération commence ou s’arrête. Ils sont
utilisés comme bits de travail.
5-2-6 Zone AR
Ces bits servent principalement de drapeaux en relation au fonctionnement du
CPM2A. Ces bits conservent leurs états même après que l’alimentation du
CPM2A soit désactivée ou lorsque le fonctionnement commence ou s’arrête.
Pour de plus amples informations sur les diverses fonctions de bits, se reporter
aux chapitres appropries de ce manuel ou à l’Annexe C, Zones mémoire.
5-2-7 Zone LR
Cette zone est utilisée pour échanger des données entre les API lorsque le
CPM2A est lié Inter API avec un autre API tel que CPM2A, CPM1A, CPM2C,
SRM1(--V2), CQM1, C200HS ou C200HX/HG/HE. Pour de plus amples informations, se reporter à la page 187.
5-2-8 Zone de temporisation/compteur
Cette zone est utilisée pour gérer les temporisations et les compteurs créés
avec TIM, TIMH(15), TMHH(-- --), TIML(-- --), CNT et CNTR(12). Les mêmes
numéros sont utilisés pour les temporisations et les compteurs, ainsi chaque
numéro peut être utilisé seulement une fois dans le programme de l’utilisateur.
Ne pas utiliser le même numéro TC deux fois même pour différentes instructions.
Utiliser les numéros TC 000 à 003 pour TIMH(15) et les numéros TC 004 à 007
pour TMHH(-- --). Lorsque ces numéros de temporisation sont utilisés, la temporisation est exécutée comme un processus d’interruption et le cycle de l’horloge
n’affecte pas le fonctionnement de la temporisation.
Les numéros TC sont utilisés pour créer des temporisations et des compteurs et
pour accéder à des drapeaux de fin et de valeurs en cours (PV). Si un numéro
TC est utilisé comme opérande de mot, il accédera à la valeur en cours (PV) ; s’il
est utilisé comme opérande de bits, il accédera au drapeau de fin pour la temporisation/compteur.
Se reporter aux instructions commençant à la page 26, pour de plus amples
informations sur les temporisations et les compteurs.
5-2-9 Zone DM
La zone de données DM est sollicitée dans les unités de mot seulement. Les
contenus des zones DM sont conservés même après que l’alimentation du
CPM2A soit désactivée ou lorsque le fonctionnement commence ou s’arrête.
Les mots DM de DM 0000 à DM 1999 et DM 2022 à DM 2047 peuvent être utilisés librement dans le programme ; d’autres mots de DM sont des fonctions spécifiques allouées, décrites ci--dessous.
Journal d’erreurs
DM 2000 à DM 2021 contiennent les informations relatives au journal d’erreurs.
Se reporter au Chapitre 9 Dépannage pour de plus amples informations sur le
journal d’erreurs.
Setup de l’API
DM 6600 à DM 6655 contiennent le Setup de l’API. Se reporter au paragraphe
1--1 Setup de l’API pour de plus amples informations.
271
Chapitre
Fonctions de la zone mémoire du SRM1(-V2)
5-3
5-3
Fonctions de la zone mémoire du SRM1(-V2)
5-3-1 Structure de la zone mémoire
Les zones mémoire suivantes peuvent être utilisées avec le SRM1(--V2).
Zone de données
Zone
IR1
Mots
Bits
Zone d’entrée
IR 000 à IR 007
(8 mots)
IR 00000 à IR 00715
(128 bits)
Zone de
sortie
IR 010 à IR 017
(8 mots)
IR 01000 à IR 01715
(128 bits)
Fonction
Ces mots peuvent être affectés aux bornes
d’E/S externes. L’état ON/OFF des bits
d’E/S est le même que l’état ON/OFF des
borniers d’E/S.
d’E/S
(Lorsque le CompoBus/S est utilisé en mode
128 bits, IR 004 à IR 007 et IR 014 à IR 017
sont également utilisés en bits de travail).
Les bits de travail sont librement utilisés dans
le programme. Cependant IR 232 à IR 239
sont utilisés comme zone d’entrée MACRO
lorsque MCRO(99) est utilisée.
Ces bits servent d’espace de mémorisation
pour les drapeaux et les fonction des valeurs
de consigne / valeurs en cours pour le fonctionnement du SRM1. Se reporter à la Zone
SR.
Zone de tra- IR 008 à IR 009
vail
IR 018 à IR 019
IR 200 à IR 239
(44 mots)
Zone SR
SR 240 à SR 255
(16 mots)
IR 00800 à IR 00915
IR 01800 à IR 01915
IR 20000 à IR 23915
(704 bits)
SR 24000 à SR 25507
(248 bits)
Zone TR
---
TR 0 à TR 7
(8 bits)
Lorsqu’un schéma à contacts complexe ne
peut pas enregistrer comme mnémonique,
ces bits sont utilisés pour mémoriser temporairement l’état ON/OFF aux points d’embranchement du programme. Ces bits temporaires ne peuvent pas être utilisés au sein
d’un même bloc mais lorsque les blocs sont
différents, plusieurs peuvent être utilisés. L’état ON/OFF de ces bits ne peut pas être
contrôlé par la fonction de contrôle du périphérique de programmation.
Zone HR2
HR 00 à HR 19
(20 mots)
HR 0000 à HR 1915
(320 bits)
Ces bits mémorisent les données et conservent leur état ON/OFF lorsque l’alimentation
est désactivée ou que le fonctionnement
commence ou s’arrête. Ils sont utilisés
comme bits de travail.
Zone AR2
AR 00 à AR 15
(16 mots)
AR 0000 à AR 1515
(256 bits)
Ces bits remplissent des fonctions spécifiques telles que les drapeaux et le contrôles
de bit. AR 04 à 07 sont utilisés comme
esclaves. Se reporter à la Zone AR.
Zone LR1
LR 00 à LR 15
LR 0000 à LR 1515
(16 mots)
(256 bits)
TC 000 à TC 127 (numéros des temporisation/
compteur)3
Zone de la temporisation/compteur2
Utilisé pour une liaison Inter API avec un autre
API SRM1, CQM1 ou C200HS.
Les temporisations et compteurs utilisent les
instructions TIM, TIMH(15), CNT et
CNTR(12). Les mêmes numéros sont utilisés
pour les temporisations et les compteurs.
Les numéros de temporisation/compteur seront spécifiés en tant que bits lors de traitement avec les valeurs en cours de temporisation/compteur. Les données du compteur seront mémorisées même lorsque l’alimentation
du SRM1 est désactivée ou le fonctionnement est arrêté ou commencé.
Lorsque les temporisations/compteurs sont
traités comme des drapeaux de dépassement, le nombre devra être précisé comme
donnée relais.
272
Chapitre
Fonctions de la zone mémoire du SRM1(-V2)
Zone de données
DM
zone
Mots
Lecture/écri- DM 0000 à DM 1999
ture2
(2 000 mots)
Bits
---
Journal d’er- DM 2000 à DM 2021
reurs4
(22 mots)
---
Lecture
seule4
Setup de
l’API4
---
DM 6144 à DM 6599
(456 mots)
DM 6600 à DM 6655
(56 mots)
Rem.
---
5-3
Fonction
Les données de la zone DM sont accessibles
en unités de mots seulement. Les valeurs de
mots sont conservées lorsque l’alimentation
est désactivée ou le fonctionnement commence ou s’arrête.
Zones lecture/écriture sont lisibles et saisissables librement sans le programme.
Utilisé pour mémoriser l’occurence de l’horloge et le code d’erreurs survenant. Se
reporter au 1-5 Codage des instructions à
droite.
Ne peut pas être écrasé depuis le programme.
Utilisé pour mémoriser des paramètres différents contrôlant le fonctionnement de l’API.
1. Les bits IR et LR non utilisés dans leurs fonctions allouées peuvent être utilisés comme bits de travail.
2. Les contenus des zones HR, LR, compteur et DM de lecture/écriture sont
sauvegardés par un condensateur ou une batterie. Se reporter au paragraphe 2--1--2 Caractéristiques du Manuel de programmation de l’unité de
commande maître du SRM1 pour un graphique montrant le temps de sauvegarde en fonction de la température.
3. En accédant à une PV, les numéros TC sont utilisés comme données de
mot ; en accédant aux drapeaux de fin, ils sont utilisés comme données de
bits.
4. Des données de DM 6655 à DM 6144 ne peuvent pas être écrasées depuis
le programme, mais elles peuvent être modifiées à partir d’un périphérique
de programmation.
5-3-2 Zone IR
Les fonctions de la zone IR sont expliquées ci--dessous.
Bits d’E/S
Les bits des zones IR 00000 à IR 00715 et IR 01000 à IR 01715 sont affectés
aux bornes de l’unité centrale et de l’unité d’entrée/sortie. Ils reflètent l’état “ON/
OFF” de signaux d’entrée et de sortie. Les bits d’entrée commencent à
IR 00000 et les bits de sortie commencent à IR 01000.
Se reporter au paragraphe 1--4 Affectation de zones d’E/S et de données dans
le Manuel de programmation des unités de commande maître du SRM1 pour de
plus amples informations.
Bits de travail
Les bits de travail peuvent être utilisés librement dans le programme. Cependant ils ne peuvent s’utiliser que dans le programme, et non par des entrées/sorties externes directes.
5-3-3 Zone SR
Ces bits servent principalement de drapeaux en relation au fonctionnement du
SRM1 ou contiennent les valeurs en cours et de consigne pour des fonctions
diverses. Pour de plus amples informations sur les fonctions des différents bits,
se reporter aux chapitres pertinants de ce manuel ou de l’Annexe C, Zones
mémoire.
SR 240 à SR 247 et SR 250, SR 251 sont également utilisables comme bits de
travail, lorsque les entrées d’interruption ne sont pas utilisées en mode compteur. SR 232 à SR 239 peuvent également être utilisés comme bits de travail
lorsque l’instruction MCRO(99) n’est pas utilisée.
273
Fonctions de la zone mémoire du SRM1(-V2)
Chapitre
5-3
5-3-4 Zone TR
Lorsqu’un schéma à contacts complexe ne peut pas être programmé en code
mnémonique dans l’état, ces bits sont utilisés pour sauvegarder temporairement des conditions d’exécution “ON/OFF” aux points d’embranchement du
programme. Ils sont utilisés uniquement pour le code mnémonique. En programmant directement avec les schémas à contacts utilisant le logiciel SYSMAC (SSS) ou le logiciel SYSMAC--CPT, les bits TR sont automatiquement traités.
Les mêmes bits TR ne peuvent pas être utilisés plus d’une fois dans le même
bloc d’instruction, mais peuvent être utilisés de nouveau dans différents blocs
d’instruction. L’état “ON/OFF” des bits TR ne peut pas être contrôlé à partir d’un
périphérique de programmation.
Des exemples montrant l’utilisation des bits TR dans la programmation sont
fournis à la page 294.
5-3-5 Zone HR
Ces bits conservent leur état “ON/OFF” même après que l’alimentation du
SRM1 soit désactivée ou lorsque l’opération commence ou s’arrête. Ils sont utilisés comme bits de travail.
5-3-6 Zone AR
Ces bits servent principalement de drapeaux par rapport au fonctionnement du
SRM1. Ces bits conservent leur état même après que l’alimentation du SRM1
soit arrêtée ou lorsque le fonctionnement commence ou s’arrête. Pour de plus
amples informations sur les diverses fonctions de bits, se reporter aux chapitres
appropriés de ce manuel ou à l’Annexe C, Zones mémoire.
5-3-7 Zone LR
Lorsque le SRM1 est lié Inter API avec un autre API : SRM1, CQM1,
CPM1/CPM1A ou C200HS, ces bits sont utilisés pour partager des données.
Pour de plus amples informations, se reporter à la page 187.
Les bits LR peuvent être utilisés comme bits de travail lorsqu’ils ne sont pas utilisés pour des liaisons Inter API.
5-3-8 Zone de temporisation/compteur
Cette zone est utilisée pour contrôler les temporisations et les compteurs créés
par TIM, TIMH(15), CNT et CNTR(12). Les mêmes numéros sont utilisés pour
les temporisations et les compteurs ainsi chaque numéro ne peut être utilisé
qu’une fois dans le programme de l’utilisateur. Ne pas utiliser le même numéro
TC deux fois même pour différentes instructions.
Les numéros de TC sont utilisés pour créer des temporisations et des compteurs, ainsi que pour accéder aux drapeaux de fin et aux valeurs en cours (PV).
Si un numéro TC est indiqué pour des données de mot, il atteindra la valeur en
cours (PV) ; s’il est utilisé pour des données de bits, il accédera au drapeau de fin
pour la temporisation/compteur.
Se reporter aux instructions de la page 26 pour de plus amples informations sur
des temporisations et des compteurs.
5-3-9 Zone DM
La zone de données DM est sollicitée par des unités de mot seulement. Les
contenus des zones DM sont conservés même après que l’alimentation du
SRM1 soit arrêtée ou lorsque le fonctionnement commence ou s’arrête.
Les mots DM 0000 à DM 1999 sont utilisés librement dans le programme ; d’autres mots de DM sont affectés aux fonctions spécifiques décrites ci--dessous.
274
Mémoire flash du SRM1(-V2)
Chapitre
5-4
Journal d’erreurs
DM 2000 à DM 2021 contiennent les informations du journale d’erreurs. Se
reporter au Chapitre 9, Dépannage pour de plus amples informations sur le journal d’erreurs.
Setup de l’API
DM 6600 à DM 6655 contiennent le Setup de l’API. Se reporter au paragraphe
1--1 Setup de l’API, pour de plus amples informations.
5-4
Mémoire flash du SRM1(-V2)
Les configurations suivantes doivent être effectuées pour utiliser la zone de
mémoire flash des API du SRM1(-V2).
Données d’écriture
Afin d’écrire les contenus de : la zone UM, la zone de lecture seule de DM
(DM 6144 à DM 6599) et la zone du Setup de l’API (DM 6600 à DM 6655) dans la
mémoire flash, l’une des opérations suivantes doit être effectuée :
! Basculer le SRM1 au mode MONITOR ou PROGRAM.
! Placer l’alimentation du SRM1 sur OFF puis de nouveau sur ON.
Rem. Sauvegarde du condensateur du SRM1-CO01/02
Si les modifications décrites ci--dessus concernent les zones mémoire, elles ne
sont pas écrites dans la mémoire flash, et lorsque l’alimentation sera désactivée
pendant 20 jours ou plus (à 25"C), les modifications (dans la RAM) seront perdues. Si cela se produit, les contenus inchangés seront lus par la mémoire flash
lorsque l’API redémarrera.
Modification des zones
mémoire
En actionnant le SRM1 pour la première fois, après que des modifications aient
été faites dans la zone UM, la zone de lecture seule de DM (DM 6144 à
DM 6599) et la zone du Setup de l’API (DM 6655 à DM 6600) tiennent compte de
l’effet résultant du retard de SRM1 dans le fonctionnement avec les autres périphériques.
La première action du SRM1, après que les zones mémoire aient été changées
comme ci--dessus, aura lieu au maximum 850 ms plus tard que l’éxécution de la
première action normale sans modification.
Cycle d’horloge
Un dépassement de cycle d’horloge ne sera pas émis tant que l’une des actions
suivantes sera effectuée en un des modes MONITOR ou OPERATION. Attention aux effets de correction en ligne du temps de réponse d’E/S du SRM1.
! Modifie le programme utilisant la correction en ligne.
! Modifie la zone de lecture seule de DM (DM 6144 à DM 6599).
! Modifie la zone du Setup de l’API (DM 6600 à DM 6655).
Lorsque l’une des opérations décrites ci--dessus est effectuée, le cycle de l’horloge du SRM1 augmentera de 850 ms maximum. Durant ces interruptions
minuscules, il sera désactivé pendant que les contenus du programme ou de la
mémoire seront écrits.
275
CHAPITRE 6
Programmation en schéma à contacts
Ce chapitre explique les étapes et les concepts de base impliqués dans l’écriture d’un programme de base en schéma à
contacts. Il introduit les instructions qui sont utilisées pour bâtir la structure de base du schéma à contacts et commander son
déroulement. L’ensemble complet d’instructions utilisé pour la programmation est décrit au Chapitre 7 Ensemble d’instructions.
6-1
6-2
6-3
6-4
6-5
6-6
6-7
Procédure fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terminologie des instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Les bases du schéma à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-1 Terminologie fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-2 Code mnémonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-3 Instructions à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-4 OUTPUT et OUTPUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-5 L’instruction END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-6 Instructions de bloc logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-7 Codage d’instructions multiples de droite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-8 Lignes secondaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-3-9 Sauts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande de l’état des bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-1 SET et RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-2 DIFFERENTIATE UP et DIFFERENTIATE DOWN . . . . . . . . . . . . . . . . . . . . .
6-4-3 KEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-4-4 Bits à auto--maintien (Scellement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bits de travail (Relais internes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conseils d’utilisation à la programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exécution des programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
278
278
279
280
280
282
284
285
285
293
293
297
299
299
300
300
300
301
303
305
277
Chapitre
Procédure fondamentale
6-1
6-1
Procédure fondamentale
Il y a plusieurs étapes de base impliquées dans l’écriture d’un programme. Les
feuilles qui peuvent être copiées pour l’aide à la programmation sont données à
l’Annexe D Feuille d’affectation des entrées/sorties et à l’Annexe E Feuille de
codage des programmes.
1, 2, 3... 1. Dresser la liste de tous les périphériques d’E/S et des points d’E/S qui leur
ont été attribués ; préparer un tableau des bit d’E/S attribués à chaque
périphérique d’E/S.
2. Préparer les feuilles détaillant l’utilisation de chaque bit, lorsque les bits LR
sont utilisés pour relier deux API.
3. Déterminer quels sont les canaux disponibles pour les bits de travail et
préparer un tableau d’attribution de ces canaux selon leur utilisation.
4. Préparer également des tableaux comportant les numéros de TC et de
sauts de façon à pouvoir les attribuer au fur et à mesure. Attention, la
fonction d’un numéro de TC ne peut être définie qu’une seule fois dans le
programme et les numéros de saut 01 à 99 ne peuvent être utilisés qu’une
seul fois chacun (les numéros de TC sont décrits dans le paragraphe 1-15
Instructions pour les temporisations et les compteurs ; les numéros de saut
sont décrits plus loin dans ce chapitre).
5. Dessiner le schéma à contacts.
6. Entrer le programme dans l’UC. L’utilisation de la console de
programmation implique la conversion du programme en forme
mnémonique.
7. Corriger les éventuelles erreurs de syntaxe du programme.
8. Exécuter le programme pour corriger les éventuelles erreurs d’exécution.
9. Après l’installation du système de contrôle complet et lorsque celui-ci est
prêt à l’utilisation, exécuter le programme et effectuer les réglages qui
s’imposent.
Les bases de la programmation en schéma à contacts et de la conversion en
mode mnémonique sont décrites en 6--3 Schémas à contact de base. La préparation et l’introduction du programme par l’intermédiaire de la console de programmation sont décrites dans le Manuel de programmation du CPM1, le
Manuel de programmation du CPM1A, le Manuel de programmation du
CPM2A, le Manuel de programmation du CPM2C et le Manuel de programmation des Unités maîtres de contrôle SRM1 et, par l’intermédiaire du SSS, dans le
Manuel de programmation du SSS : API série C.
Le reste du Chapitre 6 couvre la programmation plus avancée, les conseils d’utilisation à la programmation et le déroulement des programmes. Toutes les instructions spéciales d’application sont couvertes au Chapitre 7 Ensemble d’instructions. La mise au point est décrite dans le Manuel de programmation du
CPM1, le Manuel de programmation du CPM1A, le Manuel de programmation
du CPM2A, le Manuel de programmation du CPM2C, le Manuel de programmation des Micro--automates maîtres d’entrées/sorties déportées SRM1 et le
Manuel de programmation du SSS : API série C. Le Chapitre 9 Dépannages
donne aussi les informations nécessaires à la mise au point.
6-2
Terminologie des instructions
Il existe deux types d’instructions en schéma à contacts : les instructions qui correspondent à des conditions, utilisées sous la forme d’instructions uniquement
lors de la conversion en mnémonique et les instructions utilisées sur la partie de
droite du schéma, exécutées en fonction des conditions se trouvant sur les
lignes secondaires.
La plupart des instructions ont au moins un opérande associé. Les opérandes
fournissent des informations concernant l’exécution d’une instruction. Elles
278
Chapitre
Les bases du schéma à contacts
6-3
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. Par exemple, une instruction MOVE (déplacer) ayant IR 000
comme opérande de source désigné déplace le contenu de IR 000. L’emplacement de destination est également désigné comme opérande. Un bit dont
l’adresse est désignée comme opérande est appelé bit opérande ; un canal dont
l’adresse est désignée comme opérande est appelé canal opérande. Si la valeur
réelle est entrée comme constante, elle est précédée de “#” pour indiquer que
ce n’est pas une adresse.
D’autres termes utilisés pour décrire les instructions sont présentés au Chapitre
7 Ensemble d’instructions.
6-3
Les bases du schéma à contacts
Un schéma à contacts comporte une ligne et des embranchements. La ligne de
gauche est la ligne de bus (ou omnibus) et les lignes d’embranchemnent sont
les lignes secondaires ou lignes secondaires. Le long des lignes secondaires,
se trouvent des conditions, menant à d’autres instructions situées sur la droite.
Les combinaisons logiques de ces conditions déterminent l’exécution des
conditions de droite. Exemple de schéma à relais :
00000 20000
25208
HR 0109
LR 0003
20001
20002
Instruction
00001
00100 00002
00501
00003 HR 0050
00502
00007 TIM 001 LR 0515
00503
00504
00403
00405
Instruction
00010
21001
21002
00011
21005
21007
Comme il est représenté dans le schéma ci--dessus, des lignes secondaires
peuvent se brancher séparément et elles peuvent se réunir à nouveau. Les paires de lignes verticales sont appelées conditions. Les conditions sans diagonales à travers sont appelées conditions normalement ouvertes et elles correspondent à une instruction LOAD, AND ou OR. Les conditions avec diagonales à
travers sont appelées conditions normalement fermées et correspondent à une
instruction LOAD NOT, AND NOT ou OR NOT. Le numéro au--dessus de chaque condition indique le bit opérande pour l’instruction. C’est l’état du bit associé
à chaque condition qui détermine la condition de déroulement pour les instructions suivantes. La façon dont le fonctionnement de chacune des instructions
correspond à une condition est décrite ci--dessous. Avant de considérer celles--ci, cependant, il y a certains termes de base qu’il faut expliquer.
Rem. Lorsque des schémas à contacts sont affichés avec le SSS, une seconde ligne
omnibus du côté droit du schéma à contacts sera représentée et connectée à
toutes les instructions du côté droit. Ceci ne change pas le programme en
schéma à contacts dans un sens fonctionnel quelconque. Il n’est pas possible
de placer des conditions entre les instructions du côté droit et la ligne omnibus
de droite, c’est--à--dire que toutes les instructions du côté droit doivent être
connectées directement à la ligne omnibus de droite. Voir le Manuel de programmation du SSS : API série C pour de plus amples informations.
279
Chapitre
Les bases du schéma à contacts
6-3-1
6-3
Terminologie fondamentale
Conditions normalement
ouverte et normalement
fermée
Chaque condition dans un schéma à contacts est soit ON, soit OFF, suivant
l’état de l’opérande qui lui a été affecté. Une condition normalement ouverte est
ON si le bit opérande est ON ; OFF si le bit opérande est OFF. En général, une
condition normalement ouverte est utilisée si quelque chose doit se produire
quand un bit est ON, et normalement fermée si quelque chose doit se produire
quand un bit est OFF.
00000
Instruction
Condition normalement
ouverte
00000
Instruction
Condition normalement
ouverte
L’instruction s’exécute
lorsque le bit 00000 d’IR
est ON.
L’instruction s’exécute
lorsque le bit 00000 d’IR
est ON.
Conditions d’exécution
Dans la programmation en schéma à contacts, la combinaison logique des
conditions ON et OFF avant une instruction détermine la condition résultante
sous laquelle l’instruction est exécutée. Cette condition, qui est ON ou bien OFF,
est appelée condition d’exécution pour l’instruction. Toutes les instructions
autres que les instructions LOAD ont des conditions d’exécution.
Bits d’opérandes
Les opérandes désignés pour des instructions de contact quelconques peuvent
être un bit dans les zones IR, SR, HR, AR, LR ou TC. Cela signifie que les conditions dans un schéma à contacts peuvent être déterminées par des bits d’entrée/sortie, des drapeaux, des bits de travail, des temporisations/compteurs,
etc. Les instructions LOAD et OUTPUT peuvent aussi utiliser des bits de la zone
TR, mais elles ne le font que dans des applications spéciales. Se reporter à
6--3--8 Lignes secondaires de branchement pour de plus amples informations.
Blocs logiques
La façon dont les conditions correspondent à quelles instructions est déterminée par la relation entre les conditions dans les lignes secondaires qui les
connectent. Tout groupe de conditions qui vont ensemble pour créer un résultat
logique est appelé un bloc logique. Bien que les schémas à contacts puissent
être écrits sans véritable analyse individuelle des blocs logiques, il faut comprendre les blocs logiques pour programmer efficacement et c’est essentiel
quand les programmes doivent être introduits en code mnémonique.
Blocs d’instructions
Un bloc d’instructions comprend toutes les instructions reliées entre elles dans
le schéma à contacts. Un bloc d’instructions comprend donc toutes les instructions entre lesquelles on peut dessiner une ligne horizontale sans rencontrer de
ligne verticale dans le schéma à contacts et ce jusqu’à l’emplacement suivant
où le même genre de ligne peut être dessiné.
6-3-2
Code mnémonique
Le schéma à contacts ne peut pas être introduit directement dans l’API au
moyen d’une console de programmation ; il faut un SSS (SYSWIN). Pour l’introduire d’une console de programmation, il faut convertir le schéma à contacts en
code mnémonique. Le code mnémonique fournit exactement la même information que le schéma à contacts, mais sous une forme qui peut être tapée directement dans l’API. En réalité, un programme direct en code mnémonique est possible, bien que ce ne soit pas recommandé pour les débutants ou pour les programmes complexes. Et quel que soit le périphérique de programmation utilisé,
le programme est mis en mémoire sous forme mnémonique, ce qui fait qu’il est
important de comprendre ce code.
280
Chapitre
Les bases du schéma à contacts
6-3
Etant donné l’importance de la console de programmation comme périphérique
de programmation et l’importance du code mnémonique pour comprendre complètement un programme, nous présenterons et décrirons le code mnémonique
en même temps que le schéma à contacts. Il faut se rappeler qu’il ne sera pas
nécessaire d’utiliser le code mnémonique si le programme est introduit au
moyen du SSS (bien qu’il soit possible de l’utiliser avec le SSS ou non).
Structure de la mémoire de
programme
Le programme est introduit dans des adresses de la mémoire de programme.
Les adresses de la mémoire de programme sont légèrement différentes de celles dans les autres zones mémoire parce que chaque adresse ne contient pas
nécessairement la même quantité de données. En réalité, chaque adresse
contient une instruction et toutes les données d’opérande et opérandes (décrits
plus en détail plus loin) nécessaires à cette instruction. Comme certaines instructions ne demandent pas d’opérandes, tandis que d’autres en demandent
jusqu’à trois, les adresses de la mémoire de programmes peuvent avoir une longueur de un à quatre mots.
Les adresses de la mémoire de programmes démarrent à 00000 et vont jusqu’à
ce que la capacité de la mémoire de programmes ait été épuisée. Le premier
mot de chaque adresse définit l’instruction. Toutes les données d’opérande utilisées par l’instruction sont contenues aussi dans le premier mot. D’autre part, si
une instruction demande seulement un seul bit opérande (sans donnée d’opérande), le bit opérande est programmé aussi sur la même ligne que l’instruction.
Le restant des mots demandés par une instruction contient les opérandes qui
spécifient quelles sont les données à utiliser. Lors d’une conversion en code
mnémonique, toutes les instructions sauf celles du schéma à contacts sont écrites sous la même forme, un mot par ligne, exactement comme elles apparaissent dans les symboles du schéma à contacts. Un exemple de code mnémonique est représenté ci--dessous. Les instructions qui y sont utilisées sont décrites plus loin dans le manuel.
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
LD
AND
OR
LD NOT
OR
AND LD
MOV(21)
Opérande
HR
DM
00007
00008
00009
00010
00011
00012
00013
0001
00001
00002
00100
00101
000
0000
CMP(20)
DM
HR
0000
00
25505
20000
DM
DM
0000
0500
00502
00005
20001
AND
OUT
MOV(21)
LD
AND
OUT
Les colonnes d’adresses et d’instructions du tableau du code mnémonique sont
remplies seulement pour le mot d’instruction. Pour toutes les autres lignes, les
deux colonnes de gauche sont laissées vides. Si l’instruction ne demande pas
de donnée d’opérande ou de bit opérande, la colonne de l’opérande est laissée
vide à la première ligne. C’est une bonne idée de parcourir tous les espaces
281
Chapitre
Les bases du schéma à contacts
6-3
vides des colonnes de données (pour tous les mots d’instruction qui ne demandent pas de données), de sorte que la colonne de données peut être rapidement
balayée pour voir s’il y a des adresses qui ont été laissées de côté.
Lors d’un programme, les adresses sont automatiquement affichées et il ne faut
pas les introduire, à moins que pour une raison quelconque un autre emplacement pour l’instruction soit voulu. Lors d’une conversion en code mnémonique, il
vaut mieux démarrer à l’adresse 00000 de la mémoire de programmes, à moins
qu’il y ait une raison spécifique de démarrer d’ailleurs.
6-3-3
Instructions à contacts
Les instructions à contacts correspondent aux conditions ; qu’elles soient indépendantes ou combinées avec le bloc logique, elles forment les conditions sur
lesquelles toutes les autres instructions sont fondées.
LOAD et LOAD NOT
La première condition qui commence un bloc logique quelconque dans un
schéma à contacts correspond à une instruction LOAD ou LOAD NOT. Chacune de ces instructions demande une ligne de code mnémonique. Dans les
schémas suivants, on appelle ”instruction” une instruction servant d’exemple et
qui pourrait être n’importe laquelle des instructions figurant à droite du schéma.
00000
Adresse
Instruction LOAD
00000
00001
00002
00003
00000
Instruction LOAD NOT
Instruction
LD
Instruction
LD NOT
Instruction
Opérandes
00000
00000
Quand c’est la seule condition dans la ligne secondaire, la condition d’exécution
pour l’instruction de droite est ON si la condition est ON. Pour l’instruction LOAD
(c’est--à--dire une condition normalement ouverte), la condition d’exécution
serait ON si IR 00000 était ON ; pour l’instruction LOAD NOT (c’est--à--dire une
condition normalement fermée), ce serait ON si IR 00000 était OFF.
AND et AND NOT
Quand deux ou plusieurs conditions sont en série sur la même ligne secondaire,
la première correspond à une instruction LOAD ou LOAD NOT ; et le reste des
conditions à des instructions AND ou AND NOT. L’exemple suivant représente
trois conditions qui correspondent dans l’ordre à partir de la gauche à une instruction LOAD, une AND NOT et une AND. De nouveau, chacune de ces instructions demande une ligne de code mnémonique.
00000
00100
LR 0000
Instruction
Adresse
00000
00001
00002
00003
Instruction
LD
AND NOT
AND
Instruction
Opérandes
LR
00000
00100
0000
L’instruction aurait une condition d’exécution ON seulement si les trois conditions étaient ON, c’est--à--dire si IR 00000 était ON, IR 00100 était OFF et LR
0000 était ON.
Les instructions AND en série peuvent être considérées individuellement, chacune prenant en compte le AND logique de la condition d’exécution précédente
(c’est--à--dire l’ensemble des conditions jusqu’à ce point) et l’état du bit opé-
282
Chapitre
Les bases du schéma à contacts
6-3
rande de l’instruction AND. Si tous les deux sont ON, une condition d’exécution
ON se produira pour l’instruction suivante. Si l’un des deux est OFF, le résultat
sera aussi OFF. La condition d’exécution pour la première instruction AND dans
une série est la première condition sur la ligne secondaire.
Chaque instruction AND NOT dans une série prend en compte le AND logique
entre sa condition d’exécution et l’inverse de son bit opérande.
OR et OR NOT
Quand plusieurs conditions se trouvent sur des lignes secondaires séparées
mais parallèles et se rejoignant ensuite, la première condition correspond à une
instruction LOAD ou LOAD NOT ; le restant des conditions correspond à des
instructions OR ou OR NOT. L’exemple suivant représente trois conditions qui
correspondent, dans l’ordre à partir du haut, à une instruction LOAD NOT, une
OR NOT et une OR. De nouveau, chacune de ces instructions demande une
ligne de code mnémonique.
00000
Instruction
00100
LR 0000
Adresse
00000
00001
00002
00003
Instruction
Opérandes
LD NOT
OR NOT
OR
Instruction
00000
00100
0000
LR
L’instruction aurait une condition d’exécution ON si l’une quelconque des trois
conditions était ON, c’est--à--dire si IR 00000 était OFF, si IR 00100 était OFF ou
si LR 0000 était ON.
Les instructions OR et OR NOT peuvent être considérées individuellement,
chacune assumant le OR logique entre sa condition d’exécution et l’état du bit
opérande de l’instruction OR. Si l’un de ceux--ci était ON, une condition d’exécution ON se produirait pour l’instruction suivante.
Combinaison des
instructions AND et OR
Si des instructions AND et OR sont combinées dans des schémas plus compliqués, elles peuvent être parfois considérées individuellement, chaque instruction effectuant une opération logique sur la condition d’exécution et l’état du bit
opérande. Voici un exemple. Etudiez cet exemple jusqu’à ce que vous soyez
convaincu que le code mnémonique suit le même cheminement logique que le
schéma à contacts.
00000
00001
00002
00003
Instruction
00200
Adresse
00000
00001
00002
00003
00004
00005
Instruction
LD
AND
OR
AND
AND NOT
Instruction
Opérandes
00000
00001
00200
00002
00003
283
Chapitre
Les bases du schéma à contacts
6-3
Ici un AND est pris entre l’état de IR 00000 et celui de IR 00001 pour déterminer
la condition d’exécution pour un OR avec l’état de IR 00200. Le résultat de cette
opération détermine la condition d’exécution pour un AND avec l’état de
IR 00002, qui à son tour détermine la condition d’exécution pour un AND avec
l’inverse (c’est--à--dire, et AND NOT) de l’état de IR 00003.
Dans des schémas plus compliqués, cependant, il faut considérer des blocs
logiques avant de pouvoir déterminer une condition d’exécution pour l’instruction finale, et c’est là que les instructions AND LOAD et OR LOAD sont utilisées.
Avant de considérer des schémas plus compliqués, cependant, nous allons
examiner les instructions nécessaires à effectuer un simple programme
”entrée--sortie”.
6-3-4
OUTPUT et OUTPUT NOT
La façon la plus simple de sortir les résultats de conditions d’exécution combinées est de les sortir directement avec les OUTPUT et OUTPUT NOT. Ces instructions sont utilisées pour commander l’état du bit opérande désigné en fonction de la condition d’exécution. Avec l’instruction OUTPUT, l’opérande sera mis
sur ON aussi longtemps que la condition d’exécution est ON et sera mis sur OFF
aussi longtemps que la condition d’exécution est OFF. Avec l’instruction OUTPUT NOT, l’opérande sera mis sur ON aussi longtemps que la condition d’exécution est OFF et sera mis sur OFF aussi longtemps que la condition d’exécution est ON. Ces faits apparaissent comme il est représenté ci--dessous. En
code mnémonique, chacune de ces instructions demande une ligne.
Adresse
00000
01000
00000
00001
Instruction
LD
OUT
Opérandes
00000
01000
00001
01001
Adresse
00000
00001
Instruction
LD
OUT NOT
Opérandes
00001
01001
Dans les exemples ci--dessus, IR 01000 sera ON aussi longtemps que IR 00000
est ON et IR 01001 sera OFF aussi longtemps que IR 00001 est ON. Ici,
IR 00000 et IR 00001 seraient des bits d’entrée et IR 01000 et IR 01001 des bits
de sortie affectés aux unités commandées par l’API, c’est--à--dire que les
signaux arrivant par IR 00000 et IR 00001 affectés aux points d’entrée commandent IR 01000 et IR 01001 affectés aux points de sortie, respectivement.
Le temps pendant lequel un bit est ON ou OFF peut être réglé en combinant
l’instruction OUTPUT ou OUTPUT NOT avec des instructions de temporisation.
Se reporter aux exemples sous 7--15--1 Temporisation -- TIM pour de plus
amples informations.
284
Chapitre
Les bases du schéma à contacts
6-3-5
6-3
L’instruction END
La dernière instruction nécessaire pour terminer un programme simple est l’instruction END. Quand l’UC balaye le programme, elle exécute toutes les instructions jusqu’à la première instruction END avant de retourner au début du programme et de recommencer l’exécution. Bien qu’une instruction END puisse
être placée n’importe où dans un programme, ce qui se fait parfois à la mise au
point, aucune instruction après la première instruction END ne sera exécutée
jusqu’à ce que celle--ci soit enlevée. Le nombre suivant l’instruction END dans le
code mnémonique est son code de fonction, qui est utilisé quand la plupart des
instructions sont entrées dans l’API. Celles--ci sont décrites plus loin. L’instruction END ne demande pas d’opérandes et aucune condition ne peut être placée
avec elle sur la même ligne secondaire.
00000
00001
Instruction
END(01)
Adresse
00500
00501
00502
00503
Instruction
LD
AND NOT
Instruction
END(01)
L’exécution du
programme
s’arrête ici.
Opérandes
00000
00001
---
S’il n’y a d’instruction END nulle part dans le programme, il ne sera pas exécuté
du tout.
Vous avez maintenant toutes les instructions nécessaires pour écrire de simples programmes d’entrée--sortie. Avant d’en finir avec les bases des schémas
à contacts et de passer à l’introduction du programme dans l’API, examinons les
instructions de bloc logique (AND LOAD et OR LOAD), qui sont parfois nécessaires même avec des schémas simples.
6-3-6
Instructions de bloc logique
Les instructions de bloc logique ne correspondent pas à des conditions spécifiques sur le schéma à contacts ; elles décrivent plutôt des relations entre les
blocs logiques. L’instruction AND LOAD fait l’intersection logique des conditions
d’exécution produites par les deux blocs logiques. L’instruction OR LOAD fait la
réunion logique des conditions d’exécution produites par les deux blocs logiques.
AND LOAD
Bien que simple en apparence, le schéma ci--dessous demande une instruction
AND LOAD.
00000
00002
Instruction
00001
00003
Adresse
Instruction
00000
00001
00002
00003
00004
LD
OR
LD
OR NOT
AND LD
Opérandes
00000
00001
00002
00003
---
285
Chapitre
Les bases du schéma à contacts
6-3
Les deux blocs logiques sont indiqués par des lignes en pointillé. L’étude de cet
exemple montre qu’une condition d’exécution ON sera produite quand : l’une
des deux conditions dans le bloc logique de gauche est ON (c’est--à--dire quand
IR 00000 ou bien IR 00001 est ON), et quand l’une des deux conditions dans le
bloc logique de droite est ON (c’est--à--dire quand IR 00002 est ON ou bien
IR 00003 est OFF).
Il n’est cependant pas possible de convertir le schéma à contacts ci--dessus en
code mnémonique en utilisant seulement des instructions AND et OR. Si un
AND est tenté entre IR 00002 et les résultats d’un OR entre IR 00000 et IR
00001, le OR NOT entre IR 00002 et IR 00003 est perdu et le OR NOT finit par
être un OR NOT simplement entre IR 00003 et le résultat d’un AND entre IR
00002 et le premier OR. Ce qu’il nous faut, c’est une façon de faire les OR(NOT)
indépendamment et puis de combiner les résultats.
Pour ce faire, nous pouvons utiliser l’instruction LOAD ou LOAD NOT au milieu
d’une ligne secondaire. Quand LOAD ou LAOD NOT est exécuté de cette façon,
la condition actuelle de l’instruction est sauvegardée dans des mémoires tampons spéciales et l’opération logique recommence. Pour combiner les résultats
de la condition d’exécution actuelle à celle d’une condition d’exécution précédente ”non utilisée”, une instruction AND LOAD ou une instruction OR LOAD est
utilisée. Ici ”LOAD” se rapporte au chargement de la dernière condition d’exécution non utilisée. Une condition d’exécution non utilisée est produite en utilisant
l’instruction LOAD ou LOAD NOT pour une condition autre que la première sur
une ligne secondaire.
L’analyse du schéma ci-dessus en termes d’instructions mnémoniques révèle
que la condition de IR 00000 est une instruction LOAD et que la condition située
au-dessous est un OR entre l’état de IR 00000 et celui de IR 00001. La condition
de IR 00002 est une nouvelle instruction LOAD et la condition située au-dessous est un OR NOT (un OR entre l’état de IR 00002 et l’état inverse de
IR 00003). Pour parvenir à la condition d’exécution de l’instruction de droite, il
faut prendre le AND logique des conditions d’exécution résultant de celles de
ces deux blocs, avec AND LOAD. On trouvera ci-dessous les codes mnémoniques correspondant au schéma. L’instruction AND LOAD ne nécessite aucun
opérande particulier parce qu’elle fonctionne sur des conditions préalablement
déterminées. Les pointillés indiquent que les opérandes n’ont pas besoin de
désignation ni d’entrée.
OR LOAD
Le schéma suivant demande une instruction OR LOAD entre le bloc logique du
haut et le bloc logique du bas. Une condition d’exécution ON serait produite pour
l’instruction à droite, soit si IR 00000 est ON et IR 00001 est OFF, soit si IR 00002
et IR 00003 sont tous les deux ON. Le fonctionnement et le code mnémonique
de l’instruction OR LOAD sont exactement les mêmes que pour une instruction
AND LOAD, excepté que la condition d’exécution actuelle est soumise à une
réunion logique avec la dernière condition d’exécution non utilisée.
00000
00001
Instruction
00002
Adresse
00000
00001
00002
00003
00004
286
00003
Instruction
LD
AND NOT
LD
AND
OR LD
Opérandes
00000
00001
00002
00003
---
Chapitre
Les bases du schéma à contacts
6-3
Evidemment, certains schémas vont demander à la fois des instructions AND
LOAD et OR LOAD.
Pour coder les schémas avec des instructions de blocs logiques en série, il faut
les diviser en blocs logiques. Chaque bloc est codé en utilisant une instruction
LOAD pour coder la première condition, puis AND LOAD ou OR LOAD sont utilisés pour combiner logiquement les blocs. Avec AND LOAD et OR LOAD il y a
deux façons de le faire. L’une est de coder l’instruction du bloc logique après les
deux premiers blocs et puis après chaque bloc supplémentaire. L’autre est de
coder tous les blocs à combiner, en commençant chaque bloc par LOAD ou
LOAD NOT, et puis de coder les instructions de bloc logique qui les combinent.
Dans ce cas, il faut combiner d’abord les instructions pour la dernière paire de
blocs, et puis combiner chaque bloc précédent, en remontant progressivement
au premier bloc. Bien que chacune de ces méthodes produise exactement le
même résultat, la seconde, celle qui consiste à coder toutes les instructions de
bloc logique ensemble, peut être utilisée seulement si huit blocs ou moins sont
combinés, c’est--à--dire s’il faut sept instructions de blocs logiques ou moins.
Instructions de bloc
logique en série
Le schéma suivant demande que AND LOAD soit converti en code mnémonique parce que trois paires de conditions parallèles sont en série. Les deux
moyens de coder les programmes sont aussi représentés.
00000
00002
00004
20000
00001
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
00008
Instruction
LD
OR NOT
LD NOT
OR
AND LD
LD
OR
AND LD
OUT
00003
Opérandes
00000
00001
00002
00003
—
00004
00005
—
20000
00005
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
00008
Instruction
LD
OR NOT
LD NOT
OR
LD
OR
AND LD
AND LD
OUT
Opérandes
00000
00001
00002
00003
00004
00005
—
—
20000
Ici aussi, avec la méthode à droite, un maximum de huit blocs peuvent être combinés. Il n’y a pas de limite au nombre de blocs pouvant être combinés avec la
première méthode.
Le schéma suivant demande que les instructions OR LOAD soient converties
en code mnémonique parce que trois paires de conditions en série sont en
parallèle les unes avec les autres.
00000 00001
20001
00002 00003
00004 00005
287
Chapitre
Les bases du schéma à contacts
6-3
La première de chaque paire de conditions est convertie en LOAD avec le bit
opérande affecté et puis soumise à intersection logique avec l’autre condition.
Les deux premiers blocs peuvent être codés d’abord, suivis par OR LOAD, le
dernier bloc et un autre OR LOAD, ou bien les trois blocs peuvent être codés
d’abord, suivis par deux OR LOAD. Le code mnémonique pour les deux méthodes est représenté ci--dessous :
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
LD
AND NOT
LD NOT
AND NOT
OR LD
LD
AND
OR LD
OUT
Opérandes
00000
00001
00002
00003
—
00004
00005
—
20001
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
LD
AND NOT
LD NOT
AND NOT
LD
AND
OR LD
OR LD
OUT
Opérandes
00000
00001
00002
00003
00004
00005
—
—
20001
Ici aussi, avec la méthode à droite, un maximum de huit blocs peuvent être combinés. Il n’y a pas de limite au nombre de blocs pouvant être combinés avec la
première méthode.
Combinaison de AND
LOAD et OR LOAD
Il est possible aussi, d’utiliser les deux méthodes de codage décrites ci--dessus
en utilisant AND LOAD et OR LOAD, aussi longtemps que le nombre de blocs à
combiner ne dépasse pas huit.
Le schéma suivant ne contient que deux blocs logiques comme il est représenté. Il n’est pas nécessaire de séparer encore les composants du bloc b,
parce qu’il est possible de le coder directement en n’utilisant que AND et OR.
00000 00001
00002 00003
20001
00201
00004
Bloc
a
Bloc
b
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
LD
AND NOT
LD
AND
OR
OR
AND LD
OUT
Opérandes
00000
00001
00002
00003
00201
00004
—
20001
Bien que le schéma suivant soit semblable à celui ci--dessus, le bloc b dans le
schéma ci--dessous ne peut être codé sans le séparer en deux blocs combinés
par OR LOAD. Dans cet exemple, les trois blocs ont été codés d’abord et puis
OR LOAD a été utilisé pour combiner les deux derniers blocs, suivi par AND
LOAD pour combiner la condition d’exécution produite par le OR LOAD avec la
condition d’exécution du bloc a.
288
Chapitre
Les bases du schéma à contacts
6-3
Lorsque les instructions de bloc logique sont codées ensemble à la fin des blocs
logiques qu’elles combinent, il faut les coder dans l’ordre inverse, comme indiqué ci--dessous, c’est--à--dire que l’instruction de bloc logique est d’abord codée
pour les deux derniers blocs, suivie de celle pour combiner la condition d’exécution résultant de l’instruction du premier bloc logique, et la condition d’exécution
du bloc logique qui est le troisième à partir de la fin, et en remontant ainsi au
premier bloc logique qui est combiné.
Bloc
b1
00000 00001
00002 00003
20002
00004 00202
Bloc
b2
Bloc
a
Schémas compliqués
Bloc
b
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
LD NOT
AND
LD
AND NOT
LD NOT
AND
OR LD
AND LD
OUT
Opérandes
00000
00001
00002
00003
00004
00202
—
—
20002
Lorsque les instructions de bloc logique qui seront nécessaires pour coder un
schéma sont déterminées, il est parfois nécessaire de décomposer le schéma
en grands blocs et puis continuer à décomposer encore les grands blocs jusqu’à
former des blocs logiques qui peuvent être codés sans instructions de bloc logique. Ces blocs sont alors codés, en combinant d’abord les petits blocs et puis en
combinant les plus grands. Soit AND LOAD, soit OR LOAD sont utilisés pour
combiner les blocs, c’est--à--dire que AND LOAD ou OR LOAD combine toujours les deux dernières conditions d’exécution qui existaient, que les conditions
d’exécution aient résulté d’une seule condition, de blocs logiques ou d’instructions de bloc logique précédentes.
Lorsqu’il s’agit de schémas compliqués, les blocs en partant d’en haut à gauche
et en descendant avant de traverser seront finalement codés. Ceci voudra dire
en général que, s’il existe une possibilité de choix, OR LOAD sera codé avant
AND LOAD.
289
Chapitre
Les bases du schéma à contacts
6-3
Le schéma suivant doit être décomposé en deux blocs, et puis chacun d’eux
décomposé en deux blocs avant de pouvoir être codé. Comme représenté ci-dessous, les blocs a et b demandent un AND LOAD. Mais avant de pouvoir utiliser AND LOAD, il faut utiliser OR LOAD pour combiner les blocs du haut et du
bas des deux côtés, c’est--à--dire combiner a1 et a2 ; b1 et b2.
Bloc
a1
Bloc
b1
00000 00001
00004 00005
20003
00002 00003
00006 00007
Bloc
a2
Bloc
b2
Bloc
a
Bloc
b
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
LD
AND NOT
LD NOT
AND
OR LD
LD
AND
LD
AND
OR LD
AND LD
OUT
Opérandes
00000
00001
00002
00003
—
00004
00005
00006
00007
—
—
20003
Blocs a1 et a2
Blocs b1 et b2
Blocs a et b
Il est facile de coder un schéma du type suivant si chaque bloc est codé dans
l’ordre : d’abord de haut en bas et puis de gauche à droite. Dans le schéma suivant, les blocs a et b seraient combinés en utilisant AND LOAD comme représenté au--dessus, et puis le bloc c serait codé et un deuxième AND LOAD serait
utilisé pour le combiner avec la condition d’exécution du premier AND LOAD. Et
puis le bloc d serait codé, un troisième AND LOAD serait utilisé pour combiner la
condition d’exécution du bloc d à la condition d’exécution du deuxième AND
LOAD, et ainsi de suite jusqu’au bloc n.
20000
Bloc
a
290
Bloc
b
Bloc
c
Bloc
n
Chapitre
Les bases du schéma à contacts
6-3
Le schéma suivant demande un OR LOAD suivi d’un AND LOAD pour coder le
plus haut des trois blocs, et puis deux autres OR LOAD pour compléter le code
mnémonique.
00000
00001
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
LD
LD
LD
AND NOT
OR LD
AND LD
LD NOT
AND
OR LD
LD NOT
AND
OR LD
OUT
Opérandes
LR 0000
00002
00004
00005
00006
00007
00003
LR
00000
00001
00002
00003
--00004
00005
-00006
00007
-0000
Bien que le programme soit exécuté comme il est écrit, ce schéma pourrait être
dessiné comme représenté ci--dessous, pour éliminer le besoin du premier
OR LOAD et du AND LOAD, ce qui simplifierait le programme et économiserait
de l’espace en mémoire.
00002
00003
00000
LR 0000
00001
00004
00005
00006
00007
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
LD
AND NOT
OR
AND
LD NOT
AND
OR LD
LD NOT
AND
OR LD
OUT
Opérandes
LR
00002
00003
00001
00000
00004
00005
-00006
00007
-0000
Le schéma suivant demande cinq blocs, qui sont codés ici dans l’ordre avant
d’utiliser OR LOAD et AND LOAD pour les combiner, en partant des deux derniers blocs et en travaillant vers l’arrière. Le OR LOAD à l’adresse de pro-
291
Chapitre
Les bases du schéma à contacts
6-3
gramme 00008 combine les blocs d et e, le AND LOAD suivant combine la
condition d’exécution résultante à celle du bloc c, etc.
00000
00001
00002
LR 0000
Bloc b
Bloc a
Bloc c
00003
Bloc d
00004
00005
00006
00007
Blocs d et e
Bloc e
Bloc c avec le résultat de ci--dessus
Bloc b avec le résultat de ci--dessus
Bloc a avec le résultat de ci--dessus
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
LD
LD
AND
LD
AND
LD
LD
AND
OR LD
AND LD
OR LD
AND LD
OUT
Opérandes
00000
00001
00002
00003
00004
00005
00006
00007
----0000
LR
De nouveau, ce schéma peut être redessiné comme suit pour simplifier la structure du programme et le codage et pour économiser de l’espace en mémoire.
00006
00007
00003
00004
00000
LR 0000
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00005
00001
Adresse
00002
Instruction
LD
AND
OR
AND
AND
LD
AND
OR LD
AND
OUT
Opérandes
LR
00006
00007
00005
00003
00004
00001
00002
-00000
0000
L’exemple suivant et final peut paraître très compliqué à première vue, mais il
peut être codé en utilisant seulement deux instructions de blocs logiques. Le
schéma apparaît comme suit :
Bloc a
00000
00001
00002
00003
00004
00005
20000
01000
01001
00006
20000
Bloc b
292
Bloc c
Chapitre
Les bases du schéma à contacts
6-3
La première instruction de bloc logique est utilisée pour combiner les conditions
d’exécution résultant des blocs a et b, et la seconde doit combiner la condition
d’exécution du bloc c à la condition d’exécution résultant de IR 00003 affecté à
une condition normalement fermée. Le restant du schéma peut être codé par les
instructions OR, AND et AND NOT. Le flux logique pour ceci et le code résultant
sont représentés ci--dessous :
Bloc a
Bloc b
00000
00001
01000
01001
LD
AND
00000
00001
LD
AND
01000
01001
OR LD
Bloc c
20000
00004
00005
00004
00005
OR
20000
LD
AND
00002
00003
00006
AND
00002
AND NOT 00003
OR
00006
AND LD
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
LD
AND
LD
AND
OR LD
OR
AND
AND NOT
LD
AND
OR
AND LD
OUT
Opérandes
00000
00001
01000
01001
-20000
00002
00003
00004
00005
00006
-20000
20000
6-3-7
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ées consécutivement en suivant la dernière condition de la
ligne secondaire. Dans l’exemple suivant, la dernière ligne secondaire contient
une condition de plus qui correspond à un AND avec IR 00004.
00000
00003
HR 0001
00001
20000
00002
00004
20001
HR 0000
6-3-8
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
00008
Instruction
LD
OR
OR
OR
AND
OUT
OUT
AND
OUT
Opérandes
HR
HR
00000
00001
00002
0000
00003
0001
20000
00004
20001
Lignes secondaires
Lorsqu’une ligne secondaire se sépare en une ou plusieurs autres lignes secondaires, il faut parfois utiliser des branchements ou des bits TR pour maintenir la
condition d’exécution qui existait au niveau de l’embranchement. Cela vient du
fait que les instructions sont exécutées de gauche à droite avant de retourner au
point d’embranchement pour exécuter les instruction de la ligne secondaire. Si
l’on trouve une condition située après un embranchement sur une des lignes
secondaires, la condition d’exécution peut changer pendant ce temps et rendre
sa propre exécution impossible. Les schémas suivants illustrent ce problème ;
293
Chapitre
Les bases du schéma à contacts
6-3
l’instruction 1 est exécutée avant de revenir au point d’embranchement et de
passer à la ligne secondaire menant à l’instruction 2.
00000
Point d’embranchement
Adresse
Instruction
Instruction 2
00000
00001
00002
00003
LD
Instruction 1
AND
Instruction 2
Instruction 1
Adresse
Instruction
00000
00001
00002
00003
00004
LD
AND
Instruction 1
AND
Instruction 2
Instruction 1
00002
Schéma A : Fonctionnement Correct
00000
Point d’embranchement
Opérandes
00000
00002
00001
00002
Instruction 2
Schéma B : Fonctionnement Incorrect
Opérandes
00000
00001
00002
Si, comme il est représenté au schéma A, la condition d’exécution qui existait au
point d’embranchement ne peut être changée avant de retourner à la ligne
secondaire (les instructions à l’extrême droite ne changent pas la condition
d’exécution), la ligne secondaire sera exécutée correctement et il ne faudra pas
de mesure de programmation spéciale.
Si, comme il est indiqué au schéma B, il existe une condition entre le point d’embranchement et la dernière instruction sur la ligne secondaire du haut, la condition d’exécution au point d’embranchement et la condition d’exécution après
avoir terminé la ligne secondaire du haut seront parfois différentes, ce qui rendra
impossible d’assurer l’exécution correcte de la ligne secondaire.
Il y a deux moyens de programmer des programmes de branchement pour préserver la condition d’exécution. L’un est d’utiliser des bits TR ; l’autre, d’utiliser
des verrouillages (IL(02)/IL(03)).
La zone TR fournit huit bits, TR 0 à TR 7, pouvant être utilisés pour préserver
temporairement les conditions d’exécution. Si un bit TR est placé à un point
d’embranchement, la condition d’exécution actuelle sera mémorisée au bit TR
désigné. En revenant au point d’embranchement, le bit TR rétablit la condition
d’exécution qui avait été sauvegardée quand le point d’embranchement a été
atteint pour la première fois dans l’exécution du programme.
TR Bits
Le schéma B précédent peut s’écrire comme indiqué ci--dessous pour assurer
une exécution correcte. En code mnémonique, la condition d’exécution est
mémorisée au point d’embranchement en utilisant le bit TR comme opérande
de l’instruction OUTPUT. Cette condition d’exécution est alors rétablie après
avoir exécuté l’instruction de droite en utilisant le même bit TR que l’opérande de
l’instruction LOAD.
TR 0
00000
Adresse
00001
Instruction 1
00002
Instruction 2
Schéma B : Corrigé en utilisant un bit TR
00000
00001
00002
00003
00004
00005
00006
Instruction
LD
OUT
AND
Instruction 1
LD
AND
Instruction 2
Opérandes
TR
TR
00000
0
00001
0
00002
Les véritables instructions du schéma ci-dessus sont les suivantes : l’état de
IR 00000 est chargé (instruction LOAD) pour établir la condition d’exécution ini-
294
Chapitre
Les bases du schéma à contacts
6-3
tiale ; celle-ci est ensuite sortie par OUTPOUT sur TR 0 pour sauvegarder la
condition d’exécution au point d’embranchement. La condition est ensuite reliée
par un AND à l’état de IR 00001 et l’instruction 1 est exécutée en conséquence.
La condition d’exécution sauvegardée au point d’embranchement est alors
rechargée (LOAD avec TR 0 comme opérande), reliée par un AND à l’état de
IR 00002 et l’instruction 2 est exécutée.
L’exemple suivant montre une application utilisant deux bits TR :
TR 0
00000
Adresse
TR 1
00001
00002
Instruction 1
00003
Instruction 2
00004
Instruction 3
00005
Instruction 4
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
Instruction
LD
OUT
AND
OUT
AND
Instruction 1
LD
AND
Instruction 2
LD
AND
Instruction 3
LD
AND NOT
Instruction 4
Opérandes
TR
TR
00000
0
00001
1
00002
TR
1
00003
TR
0
00004
TR
0
00005
Dans cet exemple, TR 0 et TR 1 sont utilisés pour mémoriser les conditions
d’exécution aux points d’embranchement. Après avoir exécuté l’instruction 1, la
condition d’exécution mémorisée en TR 1 est chargée pour un AND avec l’état
de IR 00003. La condition d’exécution mémorisée en TR 0 est chargée deux
fois, la première fois pour un AND avec l’état de IR 00004 et la seconde fois pour
un AND avec l’inverse de l’état de IR 00005.
Les bits TR peuvent être utilisés aussi souvent qu’il est nécessaire aussi longtemps que le même bit TR n’est pas utilisé plus d’une fois dans le même bloc
d’instructions. Ici, un nouveau bloc d’instructions est commencé chaque fois
que l’exécution retourne à la ligne omnibus. Si, dans un même bloc d’instructions, il faut plus de huit points d’embranchement qui demandent que la condition d’exécution soit sauvegardée, il faut utiliser des verrouillages (qui sont
décrits ci--après).
En dessinant un schéma à contacts, prenez garde de ne pas utiliser de bits TR à
moins que ce soit nécessaire. Souvent, le nombre d’instructions nécessaires à
un programme peut être réduit pour faciliter la compréhension d’un programme
en redessinant un schéma qui sinon exigerait des bits TR. Dans les deux paires
de schémas suivantes, les versions du bas demandent moins d’instructions et
ne demandent pas de bits TR. Dans le premier exemple, cela est obtenu en
réorganisant les parties du bloc d’instructions ; dans celle du bas, en séparant la
seconde instruction OUTPUT et en utilisant une autre instruction LOAD pour
créer la bonne condition d’exécution à cet effet.
Rem. Bien que la simplification des programmes soit toujours une préoccupation, l’ordre d’exécution des instructions est parfois important. Par exemple, une instruction MOVE peut être nécessaire avant l’exécution d’une instruction BINARY
ADD pour placer les bonnes données dans le mot opérande requis. S’assurer
295
Chapitre
Les bases du schéma à contacts
6-3
que vous avez pris en compte l’ordre d’exécution avant de réorganiser un programme pour le simplifier.
TR 0
00000
00000
00001
00003
Instruction 1
Instruction 1
Instruction 2
TR 0
00001
00002
00004
Instruction 2
00000
Instruction 2
00001
Instruction 1
00001
00002
00003
Instruction 1
00000
00001
00004
Instruction 2
Rem. Les bits TR doivent être introduits par l’utilisateur seulement s’il programme en
utilisant le code mnémonique. Ils ne sont pas nécessaires si des schémas à
contacts sont entrés directement parce qu’ils sont traités pour vous automatiquement. Les limitations ci--dessus sur le nombre de points d’embranchement
demandant des bits TR et les considérations sur les méthodes pour réduire le
nombre d’instructions de programme sont toujours valables.
Verrouillages
Il faut aussi traiter le problème de mémoriser les conditions d’exécution aux
points d’embranchement en utilisant les instructions INTERLOCK (IL(02)) et
INTERLOCK CLEAR (ILC(03)) pour éliminer complètement le point d’embranchement en permettant à une condition d’exécution spécifique de commander
un groupe d’instructions. Les instructions INTERLOCK et INTERLOCK CLEAR
sont toujours utilisées ensemble.
Si une instruction INTERLOCK est placée devant une section d’un programme
à contact, la condition d’exécution pour l’instruction INTERLOCK commandera
l’exécution de toutes les instructions jusqu’à l’instruction INTERLOCK CLEAR
suivante. Si la condition d’exécution pour l’instruction INTERLOCK est OFF,
toutes les instructions de droite jusqu’à l’instruction INTERLOCK CLEAR suivante seront exécutées avec des conditions d’exécution OFF pour remettre à
zéro toute ce chapitre entier du schéma à contacts. L’effet que ceci a sur des
instructions particulières est décrit dans 7–11 INTERLOCK et INTERLOCK
CLEAR -- IL(02) et ILC(03).
Le schéma B peut aussi être corrigé par un verrouillage. Ici, les conditions
conduisant au point d’embranchement sont placées sur une ligne secondaire
pour l’instruction INTERLOCK, toutes les lignes provenant du point d’embranchement sont écrites comme des lignes secondaires séparées, et une autre
296
Chapitre
Les bases du schéma à contacts
6-3
ligne secondaire est ajoutée pour l’instruction INTERLOCK CLEAR. Notez que
ni INTERLOCK, ni INTERLOCK CLEAR ne demande un opérande.
00000
IL(02)
Adresse
00000
00001
00002
00003
00004
00005
00006
00001
Instruction 1
00002
Instruction 2
ILC(03)
Instruction
Opérandes
LD
IL(02)
LD
Instruction 1
LD
Instruction 2
ILC(03)
00000
--00001
00002
---
Si IR 00000 est à ON dans la deuxième version du schéma B ci--dessus, l’état de
IR 00001 et de IR 00002 détermine les conditions d’exécution des instructions 1
et 2, respectivement. Comme IR 00000 est à ON, le résultat est le même que
produirait un AND entre les états de ces bits. Si IR 00000 est à OFF, l’instruction
INTERLOCK produit une condition d’exécution OFF pour les instructions 1 et 2
et l’instruction continue avec la ligne secondaire qui suit INTERLOCK CLEAR.
Comme indiqué dans le schéma suivant, plus d’une instruction INTERLOCK
peuvent être utilisées dans un bloc d’instructions ; chacune est effective jusqu’à
l’instruction INTERLOCK CLEAR suivante.
00000
IL(02)
00001
Instruction 1
00002
IL(02)
00003
00004
Instruction 2
00005
Instruction 3
00006
Instruction 4
ILC(03)
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
Instruction
LD
IL(02)
LD
Instruction 1
LD
IL(02)
LD
AND NOT
Instruction 2
LD
Instruction 3
LD
Instruction 4
ILC(03)
Opérandes
00000
--00001
00002
--00003
00004
00005
00006
---
Si IR 00000 dans le schéma ci--dessus est OFF (c’est--à--dire si la condition
d’exécution pour la première instruction INTERLOCK est OFF), les instructions
1 à 4 seraient exécutées avec les conditions d’exécution OFF et l’exécution progresserait jusqu’à l’instruction suivant l’instruction INTERLOCK CLEAR. Si
IR 00000 est ON, l’état de IR 00001 serait chargé comme condition d’exécution
pour l’instruction 1 et puis l’état de IR 00002 serait chargé pour former la condition d’exécution pour la seconde instruction INTERLOCK. Si IR 00002 est OFF,
les instructions 2 à 4 seront exécutées avec les conditions d’exécution OFF. Si
IR 00002 est ON, IR 00003, IR 00005 et IR 00006 détermineront la première
condition d’exécution dans les nouvelles lignes secondaires.
6-3-9
Sauts
Une section spécifique d’un programme peut être sautée suivant une condition
d’exécution désignée. Bien que ceci soit semblable à ce qui se produit si la
condition d’exécution pour une instruction INTERLOCK est OFF, avec des
sauts, les opérandes de toutes les instructions maintiennent leur état. Les sauts
peuvent donc être utilisés pour commander des dispositifs qui demandent une
sortie durable, par exemples pneumatiques et hydrauliques, tandis que des ver-
297
Chapitre
Les bases du schéma à contacts
6-3
rouillages peuvent être utilisés pour commander des dispositifs qui ne demandent pas de sortie durable, par exemple des instruments électroniques.
Des sauts sont crées en utilisant les instructions JUMP (JMP(04)) et JUMP END
(JME(05)). Si la condition d’exécution pour une instruction JUMP est ON, le programme se déroule normalement comme si le saut n’existait pas. Si la condition
d’exécution pour l’instruction JUMP est OFF, le déroulement du programme se
déplace immédiatement à une instruction JUMP END sans changer l’état de
rien entre l’instruction JUMP et JUMP END.
A toutes les instructions JUMP et JUMP END sont affectés des numéros de saut
allant de 00 à 99. Il y a deux types de sauts. Le numéro du saut détermine son
type.
Il faut définir un saut en utilisant les numéros de saut 01 à 99 une fois seulement,
c’est--à--dire que chacun de ces numéros peut être utilisé une fois dans une instruction JUMP et une fois dans une instruction JUMP END. Quand l’un de ces
numéros affecté à une instruction JUMP est exécuté, l’exécution se déplace
immédiatement à l’instruction JUMP END qui a le même numéro, comme si
toute l’instruction entre eux n’existait pas. Le schéma B de l’exemple du bit TR et
du verrouillage pourrait être redessiné comme indiqué ci--dessous en utilisant
un saut. Bien que 01 ait été utilisé comme numéro de saut, tout nombre entre 01
et 99 pourrait être utilisé pour autant qu’il n’ait pas déjà été utilisé dans une partie
différente du programme. JUMP et JUMP END ne demandent pas d’autre opérande et JUMP END n’impose jamais de conditions sur la ligne secondaire qui y
conduit.
00000
JMP(04) 01
00001
Instruction 1
00002
Instruction 2
JME(05) 01
Schéma B : Corrigé avec un saut
Adresse
00000
00001
00002
00003
00004
00005
00006
Instruction
LD
JMP(04)
LD
Instruction 1
LD
Instruction 2
JME(05)
Opérandes
00000
01
00001
00002
01
Cette version du schéma B aurait un temps d’exécution plus court si IR 00000
était OFF que n’importe laquelle des autres versions.
L’autre type de saut est créé avec un numéro de saut de 00. Autant de sauts
désirés peuvent être crées en utilisant le numéro de saut 00 et des instructions
JUMP utilisant 00 peuvent être utilisées consécutivement sans un JUMP END
utilisant 00 entre elles. Il est même possible que toutes les instructions JUMP 00
déplacent le déroulement du programme au même JUMP END 00, c’est--à--dire
qu’il faut une seule instruction JUMP END 00 pour toutes les instructions JUMP
00 dans le programme. Quand 00 est utilisé comme numéro de saut pour une
instruction JUMP, le déroulement du programme va à l’instruction qui suit l’instruction JUMP END suivante, avec un numéro de saut de 00. Bien que, comme
dans tous les sauts, aucun état ne change et aucune instruction ne soit exécutée entre les instructions JUMP 00 et JUMP END 00, le programme doit chercher l’instruction JUMP END 00 suivante, ce qui donne un temps d’exécution
légèrement plus long.
Le déroulement de programmes contenant de multiples instructions JUMP 00
pour une seule instruction JUMP END 00 est semblable à celle des sections verrouillées. Le schéma suivant est le même que celui utilisé pour l’exemple de verrouillage ci--dessus, excepté qu’il est redessiné avec des sauts. Le déroulement
de ce schéma différerait de celui du schéma décrit ci--dessus (par exemple,
dans le schéma précédent, les verrouillages remettraient à zéro certaines par-
298
Chapitre
Commande de l’état des bits
6-4
ties de la section verrouillée, mais les sauts n’affectent l’état d’aucun bit entre les
instructions JUMP et JUMP END).
00000
JMP(04) 00
00001
Instruction 1
00002
JMP(04) 00
00003
00004
Instruction 2
00005
Instruction 3
00006
Instruction 4
JME(05) 00
6-4
Adresse
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
Instruction
LD
JMP(04)
LD
Instruction 1
LD
JMP(04)
LD
AND NOT
Instruction 2
LD
Instruction 3
LD
Instruction 4
JME(05)
Opérandes
00000
00
00001
00002
00
00003
00004
00005
00006
00
Commande de l’état des bits
Il y a sept instructions de base qui peuvent être utilisées en général pour commander l’état des bits individuels. Ce sont les instructions OUTPUT, OUTPUT
NOT, SET, RESET, DIFFERENTIATE UP, DIFFERENTIATE DOWN et KEEP.
Toutes ces instructions apparaissent comme la dernière instruction dans une
ligne secondaire et prennent une adresse de bit comme opérande. Bien que des
détails soient donnés dans 7--8 Instructions pour la commande des bits, ces instructions (excepté OUTPUT et OUTPUT NOT, qui ont déjà été présentées) sont
décrites ici à cause de leur importance dans la plupart des programmes. Bien
que ces instructions soient utilisées pour mettre les bits de sortie à ON et OFF
dans la zone IR (c’est--à--dire pour envoyer ou arrêter les signaux de sortie vers
des périphériques extérieurs), ils sont utilisés également pour commander l’état
d’autres bits dans la zone IR ou dans d’autres zones de données.
6-4-1
SET et RESET
Les instructions SET et RESET sont très semblables aux instructions OUTPUT
et OUTPUT NOT, excepté qu’elles changent seulement l’état de leurs bits opérandes pour les conditions d’exécution ON. Aucune des ces instructions n’affectera l’état de son bit opérande si la condition d’exécution est OFF.
SET mettra le bit opérande sur ON quand la condition d’exécution devient ON,
mais à la différence de l’instruction OUTPUT, SET ne mettra pas le bit opérande
sur OFF quand la condition d’exécution devient OFF. RESET mettra le bit opérande sur OFF quand la condition d’exécution devient OFF, mais au contraire de
l’instruction OUTPUT NOT, RESET ne mettra pas le bit opérande sur ON quand
la condition d’exécution devient OFF.
Dans l’exemple suivant, IR 20000 sera mis sur ON quand IR 00100 devient ON
et restera ON jusqu’à ce que IR I00101 devienne ON, quel que soit l’état de IR
00100. Quand IR 00101 devient ON, RESET mettra IR 20000 sur OFF.
Adresse
00100
SET 20000
00101
RSET 20000
00000
00001
00002
00003
Instruction
LD
SET
LD
RSET
Opérandes
00100
20000
00101
20000
299
Chapitre
Commande de l’état des bits
6-4
Rem. SET et RSET n’ont pas de code de fonction. Pour les introduire à partir de la
console de programmation, appuyer sur les touches FUN et SET ou bien les
touches FUN et RSET suivies de l’adresse du bit.
6-4-2
DIFFERENTIATE UP et DIFFERENTIATE DOWN
Les instructions DIFFERENTIATE UP et DIFFERENTIATE DOWN sont utilisées pour mettre le bit opérande sur ON pendant un cycle à la fois. L’instruction
DIFFERENTIATE UP met le bit opérande sur ON pendant un cycle après que la
condition d’exécution pour lui est passée de OFF à ON ; l’instruction DIFFERENTIATE DOWN met le bit opérande sur ON pendant un cycle après que la
condition d’exécution pour lui est passée de ON à OFF. Ces deux instructions
demandent seulement une ligne de code mnémonique.
Adresse
00000
DIFU(13) 20001
00000
00001
Instruction
Opérandes
LD
DIFU(13)
00000
20001
00001
DIFD(14) 20002
Adresse
00000
00001
Instruction
Opérandes
LD
DIFD(14)
00001
20002
Ici, IR 01000 est placé à ON pendant un tour de scrutation après le passage de
IR 00000 à ON. A l’exécution suivante de DIFU(13) 01000, IR 01000 passe à
OFF, quel que soit l’état de IR 00000. Avec l’instruction DIFFERENTIATE
DOWN, IR 01001 passe à ON pendant un tour de scrutation après le passage
de IR 00001 à OFF (IR 20002 reste OFF jusque--là) et à OFF à la prochaine
exécution de DIFD(14) 01001.
6-4-3
KEEP
L’instruction KEEP est utilisée pour maintenir l’état du bit opérande sur la base
de deux conditions d’exécution. Pour ce faire, l’instruction KEEP est connectée
à deux lignes secondaires. Quand la condition d’exécution à la fin de la première
ligne secondaire est ON, le bit opérande de l’instruction KEEP est mis sur ON.
Quand la condition d’exécution à la fin de la seconde ligne secondaire est ON, le
bit opérande de l’instruction KEEP est mis sur OFF. Le bit opérande pour l’instruction KEEP maintiendra son état ON ou OFF même s’il est placé dans une
section verrouillée du schéma.
Dans l’exemple suivant, HR 0000 sera mis sur ON si IR 00002 est ON et
IR 00003 est OFF. HR 0000 restera ON jusqu’à ce que IR 00004 ou bien IR
00005 devienne ON. Pour KEEP, comme pour toutes les instructions qui
demandent plus d’une ligne secondaire, les lignes secondaires sont codées
d’abord, avant l’instruction qu’elles commandent.
00002
00003
S : règle l’entrée
HR 0000
00004
00005
6-4-4
KEEP(11)
R : réinitialise l’entrée
Adresse
Instruction
00000
00001
00002
00003
00004
LD
AND NOT
LD
OR
KEEP(11)
Opérandes
HR
00002
00003
00004
00005
0000
Bits à auto--maintien (Scellement)
Bien que l’instruction KEEP puisse être utilisée pour créer des bits à auto--maintien, il est parfois nécessaire de créer des bits à auto--maintien d’une autre
300
Chapitre
Bits de travail (Relais internes)
6-5
façon, de sorte qu’ils puissent être mis sur OFF quand il se trouvent dans une
section verrouillée d’un programme.
Pour créer un bit à auto--maintien, le bit opérande d’une instruction OUTPUT est
utilisé comme condition pour cette même instruction OUTPUT dans une configuration OR (ou) de sorte que le bit opérande dans l’instruction OUTPUT reste
ON ou OFF jusqu’à ce qu’il se produise des changements à d’autres bits. Au
moins une autre condition est utilisée juste avant l’instruction OUTPUT pour
fonctionner comme une remise à zéro. Sans cette remise à zéro, il n’y aurait pas
moyen de commander le bit opérande de l’instruction OUTPUT.
Le schéma ci--dessus pour l’instruction KEEP peut être réécrit comme indiqué
ci--dessous. La seule différence dans ces schémas serait leur fonctionnement
dans une section de programme verrouillé, si la condition d’exécution pour l’instruction INTERLOCK était ON. Ici, exactement comme dans le même schéma
utilisant l’instruction KEEP, deux bits de remise à zéro sont utilisés, c’est--à--dire
que HR 0000 peut passer sur OFF en mettant IR 00004 ou bien IR 00005 sur
ON.
00002
00003
00004
HR 0000
00005
HR 0000
6-5
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
LD
AND NOT
OR
AND NOT
OR NOT
AND LD
OUT
Opérandes
HR
HR
00002
00003
0000
00004
00005
--0000
Bits de travail (Relais internes)
En programmation, il est souvent extrêmement difficile de combiner des conditions pour produire directement des conditions d’exécution. Cependant, ces difficultés sont surmontées facilement en utilisant certains bits pour déclencher
indirectement d’autres instructions. Cette programmation est réalisée en utilisant des bits de travail. Il faut parfois des mots entiers à cet effet. Ces mots sont
désignés par mots de travail.
Les mots de travail ne sont pas transférés vers ou à partir de l’API. Ce sont des
bits choisis par le programmeur pour faciliter la programmation comme décrit
ci--dessus. Les bits d’entrée/sortie et les autres bits réservés ne peuvent pas
être utilisés comme bits de travail. Tous les bits dans la zone IR qui ne sont pas
pris comme bits d’entrée/sortie, et certains bits non utilisés dans la zone AR,
peuvent servir de bits de travail. Prenez garde d’inscrire avec précision comment et à quel endroit vous employez des bits de travail. Cela aide à planifier et à
écrire les programmes et cela aide aussi dans les opérations de mise au point.
Applications des bits de
travail
Les exemples donnés plus loin dans cette sous--section indiquent deux des
façons les plus courantes d’utiliser des bits de travail. Elles devraient servir de
guide pour le nombre presque sans limite de façons d’utiliser des bits de travail.
Chaque fois que des difficultés surgissent pour programmer une action de commande, il faut penser aux bits de travail et à la façon de les utiliser pour simplifier
la programmation.
Les bits de travail sont utilisés souvent avec les instructions OUTPUT, OUTPUT
NOT, DIFFERENTIATE UP, DIFFERENTIATE DOWN et KEEP. Le bit de travail
est utilisé d’abord comme opérande pour l’une de ces instructions, de façon à
pouvoir être utilisé ensuite comme une condition qui déterminera comment ces
instructions seront exécutées. Les bits de travail peuvent être utilisés aussi avec
d’autres instructions, par exemple avec l’instruction SHIFT REGISTER
(SFT(10)). Un exemple d’emploi de mots et de bits de travail avec l’instruction
SHIFT REGISTER est donné dans 7–16–1 SHIFT REGISTER -- SFT(10).
301
Chapitre
Bits de travail (Relais internes)
6-5
Bien qu’ils ne soient pas toujours désignés par bits de travail, beaucoup de bits
utilisés dans les exemples dans le Chapitre 7 Ensemble d’instructions utilisent
des bits de travail. Comprendre l’utilisation de ces bits est essentiel pour programmer efficacement.
Conditions différenciées
00000
Il est possible d’utiliser les bits de travail pour simplifier la programmation quand
une certaine combinaison de conditions est utilisée de façon répétée en combinaison avec d’autres conditions. Dans l’exemple suivant, IR 00000, IR 00001,
IR 00002 et IR 00003 sont combinés dans un bloc logique qui mémorise la
condition d’exécution résultante sous forme de l’état de IR 21600. IR 21600 est
combiné alors avec diverses autres conditions pour déterminer les conditions
de sortie pour IR 20000, IR 20001 et IR 20002, c’est--à--dire pour mettre les sorties attribuées à ces bits sur ON ou OFF.
00001
21600
00002
00003
21600
00004
00005
20000
21600
00005
20001
00004
21600
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
LD
AND NOT
OR
OR NOT
OUT
LD
AND
AND NOT
OUT
LD
OR NOT
AND
OUT
LD NOT
OR
OR
OUT
Opérandes
00000
00001
00002
00003
21600
21600
00004
00005
20000
21600
00004
00005
20001
21600
00006
00007
20002
20002
00006
00007
Conditions différenciées
Des bits de travail peuvent aussi être utilisés si un traitement différentiel est
nécessaire pour certaines, mais pas toutes les conditions nécessaires à l’exécution d’une instruction. Dans cet exemple, IR 20000 doit être laissé sur ON de
façon continue aussi longtemps que IR 001001 est sur ON et que IR 00002 et
IR 00003 sont tous les deux sur OFF, ou aussi longtemps que IR 00004 est sur
ON et IR 00005 est sur OFF. Il doit être mis sur ON pendant un cycle seulement
chaque fois que IR 00000 se met sur ON (à moins que l’une des conditions précédentes le maintienne sur ON de façon continue).
Cette action est facile à programmer en utilisant IR 22500 comme bit de travail
comme opérande de l’instruction DIFFERENTIATE UP (DIFU(13)). Quand
IR 00000 se met sur ON, IR 22500 sera mis sur ON pendant un cycle et puis mis
sur OFF pendant le cycle suivant par DIFU(13). En supposant que les autres
302
Chapitre
Conseils d’utilisation à la programmation
6-6
conditions qui commandent IR 20000 ne le maintiennent pas sur ON, le bit de
travail IR 22500 mettra IR 20000 sur ON pendant un cycle seulement.
00000
DIFU(13) 22500
22500
20000
00001
00002
00004
6-6
00003
00005
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
LD
DIFU(13)
LD
LD
AND NOT
AND NOT
OR LD
LD
AND NOT
OR LD
OUT
Opérandes
00000
22500
22500
00001
00002
00003
--00004
00005
--20000
Conseils d’utilisation à la programmation
Le nombre de conditions qui peuvent être utilisées en série ou en parallèle est
illimité aussi longtemps que la capacité de mémoire de l’API n’est pas dépassée. Par conséquent, utiliser autant de conditions qu’il faut pour dessiner un
schéma clair. Bien que des schémas très compliqués avec des lignes secondaires sont dessinés, il ne doit pas y avoir de conditions sur des lignes verticales
entre deux autres lignes secondaires. Le schéma A indiqué ci--dessous, par
exemple, n’est pas possible, et il faudrait le dessiner comme le schéma B. Le
code mnémonique est fourni pour le schéma B seulement ; le codage du
schéma A serait impossible.
00000
00002
Instruction 1
00004
00001
00003
Instruction 2
Schéma A : Non programmable
00001
00004
00002
Adresse
Instruction
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
LD
AND
OR
AND
Instruction 1
LD
AND
OR
AND NOT
Instruction 2
Opérandes
Instruction 1
00000
00000
00004
00003
Instruction 2
00001
Schéma B : Version Correcte
00001
00004
00000
00002
00000
00004
00001
00003
Le nombre de fois qu’un bit quelconque peut être affecté à des conditions n’est
pas limité, employez--les donc aussi souvent qu’il faut pour simplifier votre programme. Souvent des programmes compliqués sont le résultat de tentatives de
réduire le nombre de fois qu’un bit est utilisé.
Sauf pour les instructions pour lesquelles les conditions ne sont pas autorisées
(par exemple, INTERLOCK CLEAR et JUMP END, voir ci--dessous), toute ligne
secondaire doit aussi avoir au moins une condition sur elle pour déterminer la
condition d’exécution pour l’instruction à droite. De même, le schéma A, ci--dessous, doit être dessiné sous la forme du schéma B. Si une instruction doit être
303
Chapitre
Conseils d’utilisation à la programmation
6-6
exécutée de façon continue (c’est--à--dire si une sortie doit toujours être gardée
ON pendant que le programme est exécuté), le drapeau Always ON (SR 25313)
peut être utilisé dans la zone SR.
Instruction
Schéma A : Non programmable pour la plupart des instructions
25313
Instruction
Schéma B : Version Correcte
Adresse
Instruction
00000
00001
LD
Instruction
Opérandes
25313
Il y a peu d’exceptions à cette règle, y compris les instructions INTERLOCK
CLEAR, JUMP END et les instructions d’étape. Elles sont utilisées comme
deuxième instruction d’une paire d’instructions et sont contrôlées par la condition d’exécution de la première instruction. Les conditions ne doivent pas être
placées sur la ligne secondaire menant à ces instructions. Se reporter au Chapitre 7 Ensemble d’instructions pour de plus amples informations.
Lorsque vous dessinez des schémas à contacts, gardez à l’esprit le nombre
d’instructions nécessaires à son entrée. Dans le schéma A ci-dessous, il faut
une instruction OR LOAD pour combiner les lignes secondaires du haut et du
bas ; on peut éviter cela en redessinant le schéma B ci-dessous en éliminant les
instructions AND LOAD et OR LOAD. Reportez-vous au Chapitre 5 pour de plus
amples informations.
Adresse
00000
20007
00001 20007
00000
00001
00002
00003
00004
Instruction
LD
LD
AND
OR LD
OUT
Opérandes
00000
00001
20007
--20007
Schéma A
Adresse
00001 20007
20007
00000
Schéma B
304
00000
00001
00002
00003
Instruction
LD
AND
OR
OUT
Opérandes
00001
20007
00000
20007
Chapitre
Exécution des programmes
6-7
6-7
Exécution des programmes
Au début de l’exécution d’un programme, l’UC scrute le programme de haut en
bas, vérifie toutes les conditions et exécute toutes les instructions qui en résultent en descendant la ligne omnibus. Il est important de bien ordonner les instructions de façon à ce que, par exemple, les données voulues soient transférées vers un canal avant que celui-ci ne soit utilisé comme opérande d’instruction. Souvenez-vous qu’une ligne secondaire (ou équation logique) va jusqu’au
niveau de l’instruction terminale de droite (OUT) avant d’exécuter une ligne dont
le point d’embranchement serait situé sur la première ligne (LD) et qui mènerait
à d’autres instructions à droite (AND ou OR).
L’exécution du programme n’est que l’une des tâches exécutées par l’UC dans
le temps de scrutation. Se reporter au Chapitre 8 Opérations et Temps de traitement de l’API pour de plus amples informations.
305
CHAPITRE 7
Ensemble d’instructions
Les API des CPM1, CPM1A, CPM1X et SRM1(--V2) ont de grands ensembles d’instructions de programmation qui facilitent
la programmation des traitements compliqués de commande. Ce chapitre explique individuellement ces instructions et
indique la programmation en schéma à contacts, les zones de données et des drapeaux utilisés avec chacune.
Les nombreuses instructions fournies par ces API sont organisées par groupe d’instructions dans les sous-paragraphes
suivants. Ces groupes incluent des instructions de schéma à contacts, des instructions avec des codes fixes de fonction et des
instructions d’ensemble.
Quelques instructions, telles les instructions de temporisations et de compteurs, sont utilisées pour commander l’exécution
d’autres instructions, par exemple, un drapeau de fin de TIM pourrait être utilisé pour mettre à 1 un bit quand la période de
temps définie pour la temporisation a expiré. Bien que ces autres instructions soient souvent utilisées pour commander les bits
de sortie à travers l’instruction de sortie, elles peuvent également être utilisées pour commander l’exécution d’autres
instructions. Les instructions de sortie utilisées dans les exemples de ce manuel peuvent donc généralement être remplacées
par d’autres instructions permettant de modifier le programme pour des applications spécifiques autres que la commande
directe des bits de sortie.
7-1
7-2
7-3
7-4
7-5
7-6
7-7
7-8
7-9
7-10
7-11
7-12
7-13
7-14
7-15
Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zones de données, valeurs utilisées comme bits de définition et drapeaux . . . . . . . . . . . . .
Instructions sur changement d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Codages des instructions à droite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tableaux d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-6-1 Codes de fonctions des CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-6-2 Codes de fonction des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-6-3 Codes de fonctions du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-6-4 Liste alphabétique des termes mnémoniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmation en schémas à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-7-1 LOAD, LOAD NOT, AND, AND NOT, OR et OR NOT . . . . . . . . . . . . . . . . . . .
7-7-2 AND LOAD et OR LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de commande de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-8-1 OUTPUT et OUTPUT NOT -- OUT et OUT NOT . . . . . . . . . . . . . . . . . . . . . . . .
7-8-2 SET et RESET -- SET et RSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-8-3 KEEP -- KEEP(11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-8-4 DIFFERENTIATE UP et DOWN -- DIFU(13) et DIFD(14) . . . . . . . . . . . . . . . . .
NO OPERATION -- NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
END -- END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INTERLOCK et INTERLOCK CLEAR -- IL(02) et ILC(03) . . . . . . . . . . . . . . . . . . . . . . .
JUMP et JUMP END -- JMP(04) et JME(05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions relatives aux erreurs d’utilisation : FAILURE ALARM AND
RESET -- FAL(06) et SEVERE FAILURE ALARM -- FALS(07) . . . . . . . . . . . . . . . . . . .
Instructions de définition d’étapes : STEP DEFINE et
STEP START--STEP(08)/SNXT(09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de temporisation et de comptage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-15-1 TIMER -- TIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-15-2 HIGH-SPEED TIMER -- TIMH(15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-15-3 LONG TIMER : TIML(----) CPM2A/CPM2C SEULEMENT . . . . . . . . . . . . . . .
7-15-4 VERY HIGH-SPEED TIMER : TMHH(----) CPM2A/CPM2C SEULEMENT . .
7-15-5 COUNTER -- CNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-15-6 REVERSIBLE COUNTER -- CNTR(12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-15-7 REGISTER COMPARISON TABLE -- CTBL(63) . . . . . . . . . . . . . . . . . . . . . . . .
7-15-8 MODE CONTROL -- INI(61) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-15-9 HIGH-SPEED COUNTER PV READ -- PRV(62) . . . . . . . . . . . . . . . . . . . . . . . .
310
310
310
312
313
316
316
317
318
319
323
323
324
324
324
325
326
327
328
328
328
330
332
333
335
336
337
338
339
340
342
343
346
348
307
7-16 Instructions de décalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-1 SHIFT REGISTER -- SFT(10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-2 WORD SHIFT -- WSFT(16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-3 ARITHMETIC SHIFT LEFT -- ASL(25) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-4 ARITHMETIC SHIFT RIGHT -- ASR(26) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-5 ROTATE LEFT -- ROL(27) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-6 ROTATE RIGHT -- ROR(28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-7 ONE DIGIT SHIFT LEFT -- SLD(74) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-8 ONE DIGIT SHIFT RIGHT -- SRD(75) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-9 REVERSIBLE SHIFT REGISTER -- SFTR(84) . . . . . . . . . . . . . . . . . . . . . . . . . .
7-16-10 ASYNCHRONOUS SHIFT REGISTER -- ASFT(17) . . . . . . . . . . . . . . . . . . . . .
7-17 Instructions de transfert de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-1 MOVE -- MOV(21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-2 MOVE NOT -- MVN(22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-3 BLOCK TRANSFER -- XFER(70) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-4 BLOCK SET -- BSET(71) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-5 DATA EXCHANGE -- XCHG(73) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-6 SINGLE WORD DISTRIBUTE -- DIST(80) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-7 DATA COLLECT -- COLL(81) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-8 MOVE BIT -- MOVB(82) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-17-9 MOVE DIGIT -- MOVD(83) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-18 Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-18-1 COMPARE -- CMP(20) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-18-2 TABLE COMPARE -- TCMP(85) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-18-3 BLOCK COMPARE -- BCMP(68) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-18-4 DOUBLE COMPARE -- CMPL(60) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-18-5 AREA RANGE COMPARE -- ZCP(----) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-18-6 DOUBLE AREA RANGE COMPARE -- ZCPL(----) . . . . . . . . . . . . . . . . . . . . . .
7-19 Instructions de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-1 BCD-TO-BINARY -- BIN(23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-2 BINARY-TO-BCD -- BCD(24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-3 DOUBLE BCD-TO-DOUBLE BINARY -- BINL(58) . . . . . . . . . . . . . . . . . . . . .
7-19-4 DOUBLE BINARY-TO-DOUBLE BCD -- BCDL(59) . . . . . . . . . . . . . . . . . . . . .
7-19-5 4-TO-16 DECODER -- MLPX(76) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-6 16-TO-4 ENCODER -- DMPX(77) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-7 7-SEGMENT DECODER -- SDEC(78) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-8 ASCII CONVERT -- ASC(86) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-9 ASCII-TO-HEXADECIMAL -- HEX(----) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-10 SCALING -- SCL(66) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-11 SIGNED BINARY TO BCD SCALING -- SCL2(----) . . . . . . . . . . . . . . . . . . . . . .
7-19-12 BCD TO SIGNED BINARY SCALING -- SCL3(----) . . . . . . . . . . . . . . . . . . . . . .
7-19-13 HOURS-TO-SECONDS -- SEC(----) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-14 SECONDS-TO-HOURS -- HMS(----) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-19-15 COMPLEMENT A 2 -- NEG(----) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20 Instructions de calcul sur les valeurs BCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-1 SET CARRY - STC(40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-2 CLEAR CARRY - CLC(41) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-3 BCD ADD - ADD(30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-4 BCD SUBTRACT - SUB(31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-5 BCD MULTIPLY - MUL(32) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-6 BCD DIVIDE - DIV(33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-7 DOUBLE BCD ADD - ADDL(54) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-8 DOUBLE BCD SUBTRACT - SUBL(55) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-20-9 DOUBLE BCD MULTIPLY - MULL(56) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
308
352
352
353
354
354
355
355
356
357
357
359
360
360
361
362
363
364
364
366
368
369
370
370
371
372
374
375
377
377
377
378
379
379
380
382
384
387
389
391
393
395
397
398
399
401
401
401
401
402
404
405
406
408
410
7-20-10 DOUBLE BCD DIVIDE - DIVL(57) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-21 Instructions de calcul binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-21-1 BINARY ADD - ADB(50) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-21-2 BINARY SUBTRACT - SBB(51) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-21-3 BINARY MULTIPLY - MLB(52) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-21-4 BINARY DIVIDE - DVB(53) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-22 Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-22-1 FIND MAXIMUM - MAX(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-22-2 FIND MINIMUM - MIN(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-22-3 AVERAGE VALUE - AVG(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-22-4 SUM - SUM(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-23 Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-23-1 COMPLEMENT - COM(29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-23-2 LOGICAL AND - ANDW(34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-23-3 LOGICAL OR - ORW(35) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-23-4 EXCLUSIVE OR - XORW(36) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-23-5 EXCLUSIVE NOR - XNRW(37) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-24 Instructions d’incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-24-1 BCD INCREMENT - INC(38) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-24-2 BCD DECREMENT - DEC(39) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-25 Instructions de sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-25-1 SUBROUTINE ENTER - SBS(91) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-25-2 SUBROUTINE DEFINE et RETURN - SBN(92)/RET(93) . . . . . . . . . . . . . . . . .
7-25-3 MACRO - MCRO(99) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26 Instructions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-1 MESSAGE DISPLAY - MSG(46) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-2 I/O REFRESH - IORF(97) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-3 BIT COUNTER - BCNT(67) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-4 FRAME CHECKSUM - FCS(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-5 SET PULSES - PULS(65) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-6 SPEED OUTPUT-- SPED(64) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-7 ACCELERATION CONTROL - ACC(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-8 PULSE WITH VARIABLE DUTY RATIO - PWM(--) . . . . . . . . . . . . . . . . . . . .
7-26-9 SYNCHRONIZED PULSE CONTROL - SYNC(--) . . . . . . . . . . . . . . . . . . . . . .
7-26-10 DATA SEARCH - SRCH(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-26-11 PID CONTROL - PID(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-27 Instructions de commande d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-27-1 INTERRUPT CONTROL - INT(89) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-27-2 INTERVAL TIMER - STIM(69) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-28 Instructions de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-28-1 RECEIVE - RXD(47) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-28-2 TRANSMIT - TXD(48) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-28-3 CHANGE RS-232C SETUP - STUP(--) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
410
411
411
412
414
414
415
415
416
417
419
421
421
422
422
423
424
424
424
425
426
426
428
428
429
429
431
431
432
434
435
438
441
443
445
446
452
452
455
457
457
458
460
309
Zones de données, valeurs utilisées comme bits de définition et drapeaux
7-1
Chapitre
7-3
Notation
Dans ce manuel, toutes les instructions sont mentionnées par leur terme mnémonique. Par exemple, l’instruction OUTPUT s’intitulera OUT et l’instruction
AND LOAD s’intitulera AND LD. En cas de doute au sujet d’une instruction à
laquelle se réfère un terme mnémonique, se reporter aux Instructions de Programmation de l’Annexe A.
Lorsqu’un code de fonction est assigné à une instruction, il sera indiqué entre
parenthèses après le terme mnémonique. Ces codes de fonction, qui sont des
nombres décimaux à 2 digits, sont utilisés pour paramétrer la plupart des instructions dans l’unité centrale. Un tableau des instructions listées par codes de
fonctions est également fourni dans les Instructions de Programmation de l’Annexe A. Les listes d’instructions sont également fournies dans le paragraphe 7-6
Tableaux d’Instructions.
Un @ avant un terme mnémomique indique un seul changement d’état de cette
instruction. Les instructions sur changement d’état sont expliquées dans le Chapitre 7-4.
7-2
Format d’instruction
Au moins un ou plusieurs opérandes sont associés à la plupart des instructions.
Les opérandes indiquent ou fournissent les données sur lesquelles une instruction doit être exécutée. Ils sont parfois saisis comme des valeurs numériques
courantes (c.--à--d. comme des constantes), mais ils correspondent habituellement aux adresses des mots ou des bits de données qui contiennent les données à utiliser. Un bit dont l’adresse est désignée comme opérande s’appelle un
bit d’opérande ; un mot dont l’adresse est désignée comme opérande s’appelle
un mot d’opérande. Dans certaines instructions, l’adresse d’un mot désigné
dans une instruction indique le premier de plusieurs mots contenant les données désirées.
Chaque instruction exige un ou plusieurs mots dans la mémoire programme. Le
premier mot est le mot d’instruction, qui définit l’instruction et contient toutes les
données d’opérande (décrites ci--dessous) ou bits d’opérandes exigés par l’instruction. Les autres opérandes exigés par l’instruction sont contenus dans les
mots suivants, un opérande par mot. Certaines instructions exigent jusqu’à quatre mots.
Une donnée d’opérande est un opérande associé à une instruction et contenu
dans le même mot que cette instruction. Ces opérandes définissent l’instruction
au lieu d’indiquer quelles données elle doit utiliser. Par exemple, des données
d’opérande sont les numéros TC qui sont utilisés dans les instructions de temporisation et de comptage pour créer des temporisations et des compteurs,
ainsi que les numéros de saut (qui définissent quelle instruction de saut correspond à quelle instruction de fin de saut). Les bits d’opérandes sont également
contenus dans le même mot que l’instruction elle--même, mais ne sont pas
considérés comme données d’opérande.
7-3
Zones de données, valeurs utilisées comme bits de
définition et drapeaux
Dans ce paragraphe, chaque description d’instruction inclut un symbole de
schéma à contacts, les zones de données pouvant être utilisées par ses opérandes et les valeurs pouvant être utilisées comme données d’opérande. Les
zones de données sont également définies par les noms d’opérande et le type
de données requises pour chaque opérande (c.--à--d. mot ou bit et pour un mot
et, pour les mots, valeur hexadécimale ou BCD).
Toutes les adresses contenues dans les zones de données ne sont pas nécessairement autorisées pour un opérande ; par exemple, lorsqu’un opérande
310
Chapitre
Zones de données, valeurs utilisées comme bits de définition et drapeaux
7-3
exige deux mots, le dernier mot de la zone de données ne peut être défini
comme premier mot de l’opérande car tous les mots d’un même opérande doivent être dans la même zone de données. D’autres limitations spécifiques sont
données dans le sous-paragraphe Limitations. Se reporter à Zones mémoire du
Chapitre 5 pour les conventions d’adressage et les adresses des drapeaux et
des bits de commande.
! Attention Les zones IR et SR sont considérées comme des zones de données séparées.
Lorsqu’un opérande a accès à une de ces zones, ceci ne signifie pas
nécessairement que le même opérande aura accès à l’autre. La frontière entre
les zones IR et SR peut, cependant, être franchie pour un même opérande, à
savoir que le dernier bit de la zone IR peut être défini pour un opérande qui exige
plus d’un mot lorsque SR est également affectée à cet opérande.
Le sous-paragraphe Drapeaux énumère les drapeaux qui sont affectés par
l’exécution d’une instruction. Ces drapeaux incluent les drapeaux de la zone SR
suivants :
Abréviation
ER
Dénomination
Bit
25503
CY
Drapeau d’erreur d’exécution d’instruction
(Instruction Execution Error Flag)
Drapeau de report (Carry Flag)
GR
Drapeau Plus grand que (Greater Than Flag)
25505
EQ
Drapeau Egal à (Equals Flag)
25506
LE
Drapeau Plus petit que (Less Than Flag)
25507
25504
ER est le drapeau le plus généralement utilisé pour surveiller l’exécution d’une
instruction. Lorsqu’ER passe à ON, il indique qu’une erreur s’est produite lors
d’une tentative d’exécution de l’instruction courante. Le sous-paragraphe Drapeaux de chaque instruction énumère les raisons possibles au passage d’ER à
l’état ON. ER passe à ON lorsque des opérandes ne sont pas entrés correctement. Les instructions ne sont pas exécutées lorsqu’ER est sur ON. Un tableau
des instructions et des drapeaux qu’elles affectent est fourni dans Utilisation des
drapeaux d’erreurs et arithmétiques à l’Annexe B.
Adressage indirect
Lorsque la zone DM est définie pour un opérande, une adresse indirecte peut
être utilisée. L’adressage indirect de DM est défini en plaçant un astérisque
avant DM: *DM.
Lorsqu’une adresse indirecte est définie pour DM, le mot DM indiqué renferme
l’adresse du mot DM qui contient les données à utiliser comme opérande de l’instruction. Lorsque, par exemple, *DM 0001 était défini comme premier
opérande et LR 00 comme deuxième opérande de MOV(21), le contenu de
DM 0001 serait 1111 et DM 1111 contiendrait 5555 et la valeur 5555 serait transférée à LR 00.
MOV(21)
*DM 0001
LR 00
Adressage
indirect
Mot
DM 0000
DM 0001
DM 0002
Contenu
4C59
1111
F35A
DM 1111
DM 1113
DM 1114
5555
2506
D541
Indique
DM 1111.
5555 déplacé
en LR 00.
Lorsque l’adressage indirect est utilisé, l’adresse du mot désiré doit être une
valeur BDC et elle doit indiquer un mot dans la zone DM. Dans l’exemple ci--des-
311
Chapitre
Instructions sur changement d’état
7-4
sus, le contenu de DM 0001 doit être une valeur BCD et doit définir une adresse
dans la zone DM de l’API utilisé. Se reporter au Chapitre 5 Zones mémoire pour
des explications sur la zone DM.
Définition des constantes
7-4
Bien que les adresses des zones de données soient le plus souvent données
comme opérandes, un grand nombre d’opérandes et tous les bits de définition
sont saisis sous forme de constantes. La plage de valeurs disponibles pour un
bit de définition ou un opérande dépend de l’instruction particulière qui l’utilise.
Les constantes doivent également être saisies sous la forme exigée par l’instruction, c.--à--d. BCD ou hexadécimale.
Instructions sur changement d’état
La plupart des instructions sont fournies sous leur forme sur changement d’état
et sous leur forme simple. Les instructions sur changement d’état sont distinguées par un @ devant le terme mnémonique de l’instruction.
Une instruction simple est exécutée chaque fois qu’elle est balayée lorsque son
état est ON. Une instruction sur changement d’état est exécutée seulement une
fois après que son état passe de OFF à ON. Lorsque l’état n’a pas changé ou est
passé de ON à OFF depuis le dernier balayage de l’instruction, celle-ci ne sera
pas exécutée. Les deux exemples suivants montrent comme ceci fonctionne
avec MOV(21) et @MOV(21), qui sont utilisées pour transférer les données de
l’adresse indiquée par le premier opérande à l’adresse indiquée par le deuxième opérande.
00000
MOV(21)
HR 10
Schéma A
DM 0000
Adresse
00000
00001
Instruction
Opérandes
LD
MOV(21)
00000
HR
DM
10
0000
00000
Schéma B
@MOV(21)
Adresse
Instruction
HR 10
00000
00001
LD
@MOV(21)
DM 0000
Opérandes
00000
HR
DM
10
0000
Dans le schéma A, la MOV(21) simple transfère le contenu de HR 10 à DM 0000
à chaque scrutation avec 00000. Lorsque le temps de cycle est 80 ms et lorsque
00000 reste à l’état ON pendant 2,0 secondes, cette opération de transfert sera
effectuée 25 fois et seulement la dernière valeur transférée à DM 0000 sera préservée.
Dans le schéma B, la @MOV(21) sur changement d’état transfère le contenu de
HR 10 à DM 0000 que lorsque 00000 passe à l’état ON. Même lorsque 00000
reste à l’état ON pendant 2,0 secondes avec le même temps de cycle de 80 ms,
l’opération de transfert ne sera exécutée qu’une fois pendant le premier cycle
durant lequel 00000 passe de OFF sur ON. Du fait que le contenu de HR 10 peut
changer pendant les 2 secondes où 00000 est à ON, le contenu de DM 0000
après 2 secondes diffère selon que MOV(21) ou @MOV(21) a été utilisée.
Tous les opérandes, les symboles de schéma à contacts et autres caractéristiques des instructions sont identiques quelque indépendamment de la forme
(sur changement d’état ou simple) d’une instruction. A la saisie, les mêmes
codes de fonction sont également utilisés, mais NOT est saisie après le code de
fonction pour indiquer la forme sur changement d’état d’une instruction. La plupart, mais non la totalité, des instructions, sont sous forme sur changement
d’état.
312
Codages des instructions à droite
Chapitre
7-5
Se reporter au paragraphe 7-11 INTERLOCK et INTERLOCK CLEAR -- IL(02) et
ILC(03) pour les effets des verrouillages sur des d’instructions sur changement
d’état.
Le CPM2A/CPM2C délivre également des instructions sur changement d’état :
DIFU(13) et DIFD(14). DIFU(13) fonctionne de la même façon qu’une instruction sur changement d’état, mais est utilisée pour mettre à 1 un bit durant un
cycle. DIFD(14) met également un bit à 1 durant un cycle, mais uniquement
quant l’état de l’instruction passe de ON à OFF. Se reporter au paragraphe 7-8-4
DIFFERENCIATION VERS LE HAUT ET LE BAS - DIFU(13) et DIFD(14) pour
de plus amples informations.
7-5
Codages des instructions à droite
L’écriture des codes mnémoniques pour les instructions à contacts est décrite
au Chapitre 6 Programmation en schéma à contacts. La conversion des informations en symboles de schémas à contacts pour toutes les autres instructions
suit le même modèle, comme décrit ci-dessous,et n’est pas indiquée pour chaque instruction.
Le premier mot de toute instruction définit l’instruction et indique tous les bits de
définition. Lorsque l’instruction n’exige qu’un bit d’opérande, sans bit de définition, ce bit d’opérande est également placé sur la même ligne que le code mnémonique. Tous les autres opérandes sont placés sur les lignes qui suivent la
ligne secondaire, un opérande par ligne et dans l’ordre où ils apparaissent dans
le symbole à contacts.
Les colonnes d’adresses et d’instructions des tableaux de codes mnémoniques
ne sont remplies que pour le mot d’instruction. Pour toutes les autres lignes, les
deux colonnes de gauche sont laissées vierges. Lorsque l’instruction n’exige
aucun bit de définition ou d’opérande, la colonne de données est laissée vierge
pour la première ligne. Il est recommandé de parcourir tous les espaces blancs
de colonnes de données (correspondant aux mots d’instruction qui n’exigent
pas des données) afin de balayer rapidement la colonne des donnée pour voir si
des adresses ont été omises.
Lorsqu’une adresse IR ou SR est utilisée dans la colonne de données, le côté
gauche de la colonne est laissé en blanc. Lorsqu’une autre zone de données est
utilisée, l’abréviation de cette zone est placée du côté gauche et l’adresse du
côté droit. Pour la saisie d’une constante, le symbole de nombre (#) est placé du
côté gauche de la colonne de données et le nombre à saisir du côté droit. Aucun
nombre saisi comme bit de définition dans le mot d’instrcution n’exige le symbole de nombre du côté droit. Les bits TC, une fois utilisés pour la définition de
temporisations ou de compteurs, sont précédés d’un préfixe TIM (temporisation) ou CNT (compteur).
Lors du codage d’une instruction comportant un code de fonction, veiller à écrire
ce code de fonction, ceci étant nécessaire lors de la saisie de l’instruction par
l’intermédiaire de la console de programmation. Ne pas omettre non plus d’indiquer l’instruction sur changement d’état par le symbole @.
Rem. Les codes mnémoniques des instructions d’expansion sont suivis de “(----)” qui
correspond au code de fonction. Ceci indique que des codes fonction doivent
leur être affectés par l’utilisateur dans le tableau d’instructions afin de pouvoir
être utilisés au cours de la programmation. Se reporter à la page 162 pour de
plus amples informations.
313
Chapitre
Codages des instructions à droite
7-5
Le schéma suivant et le code mnémonique correspondant illustrent les points
décrits précédemment :
00000
Adresse Instruction
00001
DIFU(13) 21600
00002
00100
00200
21600
BCNT(67)
01001 01002
LR 0000
Données
00000
LD
00000
00001
AND
00001
00002
OR
00002
00003
DIFU(13)
21600
00004
LD
00100
00005
AND NOT
00200
00006
LD
01001
00007
AND NOT
01002
00008
AND NOT
00009
OR LD
00010
AND
00011
BCNT(67)
#0001
004
HR 00
00005
TIM 000
LR
0000
---21600
#0150
TIM 000
---#
MOV(21)
0001
004
HR 00
HR
LR 00
HR 0015
00012
LD
00013
TIM
314
00005
000
#
01000
00014
LD
00015
MOV(21)
00016
LD
00017
OUT NOT
00
TIM
0150
000
----
HR
00
LR
00
HR
0015
01000
Chapitre
Codages des instructions à droite
Lignes secondaires
multiple
00000
Lorsqu’une instruction avec codage à droite exige plusieurs lignes secondaires
(par exemple, KEEP(11)), toutes les lignes de cette instruction sont écrites
avant celle-ci. Chacune des lignes de cette instruction est codée, à partir de LD
ou de LD NOT, pour former des “blocs logiques” qui sont combinés par cette
instruction. Ceci est illustré ci-dessous par SFT(10).
Adresse Instruction
00001
I
SFT(10)
00002
P
HR 00
00100
00200
01001 01002
7-5
21600
R
HR 00
LR 0000
HR 0015
01001
Données
00000
LD
00000
00001
AND
00001
00002
LD
00002
00003
LD
00100
00004
AND NOT
00200
00005
LD
01001
00006
AND NOT
00007
AND NOT
00008
OR LD
00009
AND
00010
SFT(10)
HR
HR
00
00011
LD
HR
0015
00012
OUT NOT
01002
LR
0000
---21600
00
01001
315
Chapitre
Tableaux d’instruction
7-6
7-6
Tableaux d’instruction
Ce paragraphe contient des tableaux des instructions supportées par les API
des CPM1/CPM1A, CPM2A/CPM2C et SRM1(-V2). Les premiers tableaux permettent la recherche d’instructions par leurs codes de fonctions. Le dernier
tableau permet la recherche d’instructions par leurs codes mnémoniques. Dans
les deux cas, le symbole @ indique des instructions sous forme sur changement
d’état.
7-6-1 Codes de fonctions des CPM1/CPM1A
Le tableau suivant présente les instructions des CPM1/CPM1A auxquels correspondent des codes de fonctions fixes. Chaque instruction est listée par mnémonique et par nom d’instruction. Utiliser les valeurs de la colonne de gauche en
tant que digit de gauche et la valeur dans l’en-tête de la colonne en tant que digit
de droite du code de fonction.
Digit de droite
Digit
de
gauche
0
1
2
3
4
5
6
7
8
9
0
NOP
NO
OPERATION
END
END
IL
INTERLOCK
ILC
INTERLOCK
CLEAR
JMP
JUMP
JME
JUMP END
(@) FAL
FAILURE
ALARM AND
RESET
FALS
SEVERE
FAILURE
ALARM
STEP
STEP
DEFINE
SNXT
STEP START
1
SFT
SHIFT
REGISTER
KEEP
KEEP
CNTR
REVERSIBLE
COUNTER
DIFU
DIFFERENTIATE UP
DIFD
DIFFERENTIATE
DOWN
TIMH
HIGHSPEED
TIMER
(@) WSFT
WORD
SHIFT
(@) ASFT
ASYNCHRONOUS SHIFT
REGISTER
---
---
2
CMP
COMPARE
(@) MOV
MOVE
(@) MVN
MOVE NOT
(@) BIN
BCD À
BINARY
(@) BCD
BINARY À
BCD
(@) ASL
SHIFT LEFT
(@) ASR
SHIFT
RIGHT
(@) ROL
ROTATE
LEFT
(@) ROR
ROTATE
RIGHT
(@) COM
COMPLEMENT
3
(@) ADD
BCD ADD
(@) SUB
BCD
SUBTRACT
(@) MUL
BCD
MULTIPLY
(@) DIV
BCD
DIVIDE
(@) ANDW
LOGICAL
AND
(@) ORW
LOGICAL OR
(@) XORW
EXCLUSIVE
OR
(@) XNRW
EXCLUSIVE
NOR
(@) INC
INCREMENT
(@) DEC
DECREMENT
4
(@) STC
SET CARRY
(@) CLC
CLEAR
CARRY
---
---
---
---
(@) MSG
MESSAGE
DISPLAY
---
---
---
5
(@) ADB
BINARY ADD
(@) SBB
BINARY
SUBTRACT
(@) MLB
BINARY
MULTIPLY
(@) DVB
BINARY
DIVIDE
(@) ADDL
DOUBLE
BCD ADD
(@) SUBL
DOUBLE
BCD
SUBTRACT
(@) MULL
DOUBLE
BCD
MULTIPLY
(@) DIVL
DOUBLE
BCD
DIVIDE
---
---
6
CMPL
DOUBLE
COMPARE
(@) INI
MODE CONTROL
(@) PRV
COMPTEUR
À GRANDE
VITESSE PV
READ
(@) CTBL
COMPARISON TABLE
LOAD
(@) SPED
SPEED OUTPUT (voir
Rem.)
(@) PULS
SET PULSES
(voir Rem.)
---
(@) BCNT
BIT COUNTER
(@) BCMP
BLOCK
COMPARE
(@) STIM
INTERVAL
TIMER
7
(@) XFER
BLOCK
TRANSFER
(@) BSET
BLOCK SET
---
(@) XCHG
DATA
EXCHANGE
(@) SLD
ONE DIGIT
SHIFT LEFT
(@) SRD
ONE DIGIT
SHIFT
RIGHT
(@) MLPX
4-À-16
DECODER
(@) DMPX
16-À-4
ENCODER
(@) SDEC
7-SEGMENT
DECODER
---
8
(@) DIST
SINGLE
WORD
DISTRIBUTE
(@) COLL
DATA
COLLECT
(@) MOVB
MOVE BIT
(@) MOVD
MOVE DIGIT
(@) SFTR
REVERSIBLE SHIFT
REGISTER
(@) TCMP
TABLE
COMPARE
(@) ASC
ASCII
CONVERT
---
---
(@) INT
INTERRUPT
CONTROL
9
---
(@) SBS
SUBROUTINE
ENTRY
SBN
SUBROUTINE
DEFINE
RET
SUBROUTINE
RETURN
---
---
---
(@) IORF
I/O
REFRESH
---
(@) MCRO
MACRO
Rem. Seulement pour les modèles de CPM1A à sorties du type NPN.
316
Chapitre
Tableaux d’instruction
7-6
7-6-2 Codes de fonction des CPM2A/CPM2C
Le tableau suivant présente les instructions des CPM2A/CPM2C auxquels correspondent des codes de fonctions fixes. Chaque instruction est listée par code
mnémonique et par nom d’instruction. Utiliser les valeurs de la colonne de gauche en tant que digit de gauche et la valeur dans l’en-tête de la colonne en tant
que digit de droite du code de fonction.
Digit de droite
Digit
de
gauche
0
1
2
3
4
5
6
7
8
9
0
NOP
NO
OPERATION
END
END
IL
INTERLOCK
ILC
INTERLOCK
CLEAR
JMP
JUMP
JME
JUMP END
(@) FAL
FAILURE
ALARM AND
RESET
FALS
SEVERE
FAILURE
ALARM
STEP
STEP
DEFINE
SNXT
STEP START
1
SFT
SHIFT
REGISTER
KEEP
KEEP
CNTR
REVERSIBLE
COUNTER
DIFU
DIFFERENTIATE UP
DIFD
DIFFERENTIATE
DOWN
TIMH
HIGHSPEED
TIMER
(@) WSFT
WORD
SHIFT
(@) ASFT
ASYNCHRONOUS SHIFT
REGISTER
---
---
2
CMP
COMPARE
(@) MOV
MOVE
(@) MVN
MOVE NOT
(@) BIN
BCD À
BINARY
(@) BCD
BINARY À
BCD
(@) ASL
SHIFT LEFT
(@) ASR
SHIFT
RIGHT
(@) ROL
ROTATE
LEFT
(@) ROR
ROTATE
RIGHT
(@) COM
COMPLEMENT
3
(@) ADD
BCD ADD
(@) SUB
BCD
SUBTRACT
(@) MUL
BCD
MULTIPLY
(@) DIV
BCD
DIVIDE
(@) ANDW
LOGICAL
AND
(@) ORW
LOGICAL OR
(@) XORW
EXCLUSIVE
OR
(@) XNRW
EXCLUSIVE
NOR
(@) INC
INCREMENT
(@) DEC
DECREMENT
4
(@) STC
SET CARRY
(@) CLC
CLEAR
CARRY
---
---
---
---
(@) MSG
MESSAGE
DISPLAY
(@) RXD
RECEIVE
(@) TXD
TRANSMIT
---
5
(@) ADB
BINARY ADD
(@) SBB
BINARY
SUBTRACT
(@) MLB
BINARY
MULTIPLY
(@) DVB
BINARY
DIVIDE
(@) ADDL
DOUBLE
BCD ADD
(@) SUBL
DOUBLE
BCD
SUBTRACT
(@) MULL
DOUBLE
BCD
MULTIPLY
(@) DIVL
DOUBLE
BCD
DIVIDE
(@) BINL
DOUBLE
BCD-ÀDOUBLE
BINARY
(@) BCDL
DOUBLE
BINARY-ÀDOUBLE
BCD
6
CMPL
DOUBLE
COMPARE
(@) INI
MODE CONTROL
(@) PRV
COMPTEUR
À GRANDE
VITESSE PV
READ
(@) CTBL
COMPARISON TABLE
LOAD
SORTIE
(@) PULS
SET PULSES
(@) SCL
SCALING
(@) BCNT
BIT COUNTER
(@) BCMP
BLOCK
COMPARE
(@) STIM
INTERVAL
TIMER
7
(@) XFER
BLOCK
TRANSFER
(@) BSET
BLOCK SET
---
(@) XCHG
DATA
EXCHANGE
(@) SLD
ONE DIGIT
SHIFT LEFT
(@) SRD
ONE DIGIT
SHIFT
RIGHT
(@) MLPX
4-TO-16
DECODER
(@) DMPX
16-TO-4
ENCODER
(@) SDEC
7-SEGMENT
DECODER
---
8
(@) DIST
SINGLE
WORD
DISTRIBUTE
(@) COLL
DATA
COLLECT
(@) MOVB
MOVE BIT
(@) MOVD
MOVE DIGIT
(@) SFTR
REVERSIBLE SHIFT
REGISTER
(@) TCMP
TABLE
COMPARE
(@) ASC
ASCII
CONVERT
---
---
(@) INT
INTERRUPT
CONTROL
9
---
(@) SBS
SUBROUTINE
ENTRY
SBN
SUBROUTINE
DEFINE
RET
SUBROUTINE
RETURN
---
---
---
(@) IORF
I/O
REFRESH
---
(@) MCRO
MACRO
317
Chapitre
Tableaux d’instruction
7-6
7-6-3 Codes de fonctions du SRM1(-V2)
Le tableau suivant présente les instructions des SRM1(-V2) auxquels correspondent des codes de fonctions fixes. Chaque instruction est listée par code
mnémonique et par nom d’instruction. Utiliser les valeurs de la colonne de gauche en tant que digit de gauche et la valeur dans l’en-tête de la colonne en tant
que digit de droite du code de fonction.
Digit de droite
Digit
de
gauche
0
1
2
3
4
5
6
7
8
9
0
NOP
NO
OPERATION
END
END
IL
INTERLOCK
ILC
INTERLOCK
CLEAR
JMP
JUMP
JME
JUMP END
(@) FAL
FAILURE
ALARM AND
RESET
FALS
SEVERE
FAILURE
ALARM
STEP
STEP
DEFINE
SNXT
STEP START
1
SFT
SHIFT
REGISTER
KEEP
KEEP
CNTR
REVERSIBLE
COUNTER
DIFU
DIFFERENTIATE UP
DIFD
DIFFERENTIATE
DOWN
TIMH
HIGHSPEED
TIMER
(@) WSFT
WORD
SHIFT
(@) ASFT
ASYNCHRONOUS SHIFT
REGISTER
---
---
2
CMP
COMPARE
(@) MOV
MOVE
(@) MVN
MOVE NOT
(@) BIN
BCD À
BINARY
(@) BCD
BINARY À
BCD
(@) ASL
SHIFT LEFT
(@) ASR
SHIFT
RIGHT
(@) ROL
ROTATE
LEFT
(@) ROR
ROTATE
RIGHT
(@) COM
COMPLEMENT
3
(@) ADD
BCD ADD
(@) SUB
BCD
SUBTRACT
(@) MUL
BCD
MULTIPLY
(@) DIV
BCD
DIVIDE
(@) ANDW
LOGICAL
AND
(@) ORW
LOGICAL OR
(@) XORW
EXCLUSIVE
OR
(@) XNRW
EXCLUSIVE
NOR
(@) INC
INCREMENT
(@) DEC
DECREMENT
4
(@) STC
SET CARRY
(@) CLC
CLEAR
CARRY
---
---
---
---
(@) MSG
MESSAGE
DISPLAY
(@) RXD
RECEIVE
(@) TXD
TRANSMIT
---
5
(@) ADB
BINARY ADD
(@) SBB
BINARY
SUBTRACT
(@) MLB
BINARY
MULTIPLY
(@) DVB
BINARY
DIVIDE
(@) ADDL
DOUBLE
BCD ADD
(@) SUBL
DOUBLE
BCD
SUBTRACT
(@) MULL
DOUBLE
BCD
MULTIPLY
(@) DIVL
DOUBLE
BCD
DIVIDE
---
---
6
CMPL
DOUBLE
COMPARE
---
---
---
---
(@) SCL
SCALING
---
(@) BCNT
BIT COUNTER
(@) BCMP
BLOCK
COMPARE
(@) STIM
INTERVAL
TIMER
7
(@) XFER
BLOCK
TRANSFER
(@) BSET
BLOCK SET
---
(@) XCHG
DATA
EXCHANGE
(@) SLD
ONE DIGIT
SHIFT LEFT
(@) SRD
ONE DIGIT
SHIFT
RIGHT
(@) MLPX
4-TO-16
DECODER
(@) DMPX
16-TO-4
ENCODER
(@) SDEC
7-SEGMENT
DECODER
---
8
(@) DIST
SINGLE
WORD
DISTRIBUTE
(@) COLL
DATA
COLLECT
(@) MOVB
MOVE BIT
(@) MOVD
MOVE DIGIT
(@) SFTR
REVERSIBLE SHIFT
REGISTER
(@) TCMP
TABLE
COMPARE
(@) ASC
ASCII
CONVERT
---
---
---
9
---
(@) SBS
SUBROUTINE
ENTRY
SBN
SUBROUTINE
DEFINE
RET
SUBROUTINE
RETURN
---
---
---
---
---
(@) MCRO
MACRO
318
Chapitre
Tableaux d’instruction
7-6
7-6-4 Liste alphabétique des termes mnémoniques
Les tirets (“--”) dans la colonne Code indiquent des instructions d’expansion,
auxquelles ne correspondent pas des codes de fonctions fixes. “None” (Aucun)
indique les instructions pour lesquelles des codes de fonctions ne sont pas utilisés.
Dans la colonne Unités centrales, “SRM1” désigne toutes les versions des unités centrales du SRM1 et “SRM1(-V2)” ne désigne que la version 2 des unités
centrales du SRM1.
Dans la suite du document, les désignations sont conservées en anglais, se
reporter au tableau ci-après pour en connaître la signification en français.
Mnémonique
Code
Mots
Désignation
Unités centrales
Page
ACC (@)
----
4
COMMANDE D’ACCELERATION
(ACCELERATION CONTROL)
CPM2A/CPM2C
438
ADB (@)
50
4
AJOUTER VALEUR BINAIRE (BINARY
ADD)
Toutes
411
ADD (@)
30
4
AJOUTER VALEUR BCD (BCD ADD)
Toutes
401
ADDL (@)
54
4
AJOUTER DOUBLE VALEUR BCD
(DOUBLE BCD ADD)
Toutes
407
ET
None
1
ET (AND)
Toutes
323
ET LD
None
1
ET CHARGER (AND LOAD)
Toutes
324
AND NOT
None
1
NON ET (AND NOT)
Toutes
323
ANDW (@)
34
4
ET LOGIQUE (LOGICAL AND)
Toutes
422
ASC (@)
86
4
CONVERSION ASCII (ASCII CONVERT)
Toutes
387
ASFT(@)
17
4
Toutes
359
ASL (@)
25
2
Toutes
354
ASR (@)
26
2
Toutes
354
AVG
----
4
REGISTRE A DECALAGE ASYNCHRONE
(ASYNCHRONOUS SHIFT REGISTER)
DECALAGE ARITHMETIQUE A GAUCHE
(ARITHMETIC SHIFT LEFT)
DECALAGE ARITHMETIQUE A DROITE
(ARITHMETIC SHIFT RIGHT)
VALEUR MOYENNE (AVERAGE VALUE)
CPM2A/CPM2C
417
BCD (@)
24
3
BINAIRE EN BCD (BINARY TO BCD)
Toutes
378
BCDL (@)
59
3
CPM2A/CPM2C
379
BCMP (@)
68
4
Toutes
372
BCNT (@)
67
4
DOUBLE VALEUR BINAIRE EN DOUBLE
VALEUR BCD (DOUBLE
BINARY-TO-DOUBLE BCD)
COMPARAISON DE BLOCS (BLOCK
COMPARE)
COMPTEUR DE BITS (BIT COUNTER)
Toutes
431
BIN (@)
23
3
BCD EN BINAIRE (BCD-TO-BINARY)
Toutes
377
BINL (@)
58
3
CPM2A/CPM2C
379
BSET (@)
71
4
DOUBLE BCD POUR DOUBLE BINAIRE
(DOUBLE BCD-TO-DOUBLE BINARY)
PARAMETRAGE DE BLOCS (BLOCK SET)
Toutes
363
CLC (@)
41
1
ANNULATION REPORT (CLEAR CARRY)
Toutes
401
CMP
20
3
COMPARAISON (COMPARE)
Toutes
370
CMPL
60
4
DOUBLE COMPARAISON (DOUBLE
COMPARE)
Toutes
374
CNT
None
2
COMPTEUR (COUNTER)
Toutes
340
CNTR
12
3
COMPTEUR REVERSIBLE (REVERSIBLE
COUNTER)
Toutes
342
COLL (@)
81
4
COLLECTE DE DONNEES (DATA
COLLECT)
Toutes
366
COM (@)
29
2
COMPLEMENT (COMPLEMENT)
Toutes
421
CTBL(@)
63
4
CHARGEMENT DU TABLEAU DE
COMPARAISON (COMPARISON TABLE
LOAD)
Toutes
343
319
Chapitre
Tableaux d’instruction
Mnémonique
DEC (@)
39
2
DECREMENT BCD (BCD DECREMENT)
Toutes
425
DIFD
14
2
DIFFERENCIATION VERS LE BAS
(DIFFERENTIATE DOWN)
Toutes
327
DIFU
13
2
DIFFERENCIATION VERS LE HAUT
(DIFFERENTIATE UP)
Toutes
327
DIST (@)
80
4
DISTRIBUTION DE MOT SIMPLE (SINGLE
WORD DISTRIBUTE)
Toutes
364
DIV (@)
33
4
DIVISION BCD (BCD DIVIDE)
Toutes
405
DIVL (@)
57
4
DIVISION DOUBLE VALEUR BCD
(DOUBLE BCD DIVIDE)
Toutes
410
DMPX (@)
77
4
CODEUR 16 A 4 (16-TO-4 ENCODER)
Toutes
382
DVB (@)
53
4
DIVISION BINAIRE (BINARY DIVIDE)
Toutes
414
END
01
1
FIN (END)
Toutes
328
FAL (@)
06
2
ALARME DE PANNE ET REMISE A ZERO
(FAILURE ALARM AND RESET)
Toutes
332
FALS
07
2
ALARME DE PANNE GRAVE (SEVERE
FAILURE ALARM)
Toutes
332
FCS (@)
----
4
CALCUL DE FCS (FCS CALCULATE)
CPM2A/CPM2C/SRM1(-V2)
432
HEX (@)
----
4
ASCII EN HEXADECIMAL
(ASCII-TO-HEXADECIMAL)
CPM2A/CPM2C/SRM1(-V2)
389
HMS
----
4
SECONDES EN HEURES (SECONDS
TOHOURS)
CPM2A/CPM2C
398
IL
02
1
VERROUILLAGES (INTERLOCK)
Toutes
328
ILC
03
1
SUPPRESSION VERROUILLAGE
(INTERLOCK CLEAR)
Toutes
328
INC (@)
38
2
INCREMENT (INCREMENT)
Toutes
424
INI (@)
61
4
COMMANDE DU MODE (MODE
CONTROL)
Toutes
346
INT (@)
89
4
COMMANDE D’INTERRUPTION
(INTERRUPT CONTROL)
Toutes
452
IORF (@)
97
3
RAFRAICHISSEMENT E/S (I/O REFRESH)
Toutes excepté SRM1
431
JME
05
2
FIN DE SAUT (JUMP END)
Toutes
330
JMP
04
2
SAUT (JUMP)
Toutes
330
KEEP
11
2
CONSERVER (KEEP)
Toutes
326
LD
None
1
CHARGER (LOAD)
Toutes
323
LD NOT
None
1
NE PAS CHARGER (LOAD NOT)
Toutes
323
MAX (@)
----
4
TROUVER MAXIMUM (FIND MAXIMUM)
CPM2A/CPM2C
415
MCRO (@)
99
4
MACRO (MACRO)
Toutes
428
MIN (@)
----
4
TROUVER MINIMUM (FIND MINIMUM)
CPM2A/CPM2C
416
MLB (@)
52
4
MULTIPLICATION BINAIRE (BINARY
MULTIPLY)
Toutes
414
MLPX (@)
76
4
CODEUR 4 A 16 (4-TO-16 DECODER)
Toutes
380
MOV (@)
21
3
TRANSFERT (MOVE)
Toutes
360
MOVB (@)
82
4
TRANSFERT DE BIT (MOVE BIT)
Toutes
368
MOVD (@)
83
4
TRANSFERT DE DIGIT (MOVE DIGIT)
Toutes
369
MSG (@)
46
2
MESSAGE (MESSAGE)
Toutes
429
MUL (@)
32
4
MULTIPLICATION VALEUR BCD (BCD
MULTIPLY)
Toutes
404
MULL (@)
56
4
DOUBLE MULTIPLICATION BCD (DOUBLE
BCD MULTIPLY)
Toutes
410
MVN (@)
22
3
PAS DE TRANSFERT (MOVE NOT)
Toutes
361
NEG (@)
----
4
COMPLEMENT DE 2 (2’S COMPLEMENT)
CPM2A/CPM2C/SRM1(-V2)
399
320
Code
Mots
Désignation
Unités centrales
7-6
Page
Chapitre
Tableaux d’instruction
Code
Mots
Désignation
Unités centrales
7-6
Mnémonique
NOP
Page
00
1
PAS DE FONCTIONNEMENT (NO
OPERATION)
Toutes
328
OR
None
1
OU (OR)
Toutes
323
OU LD
None
1
OU CHARGER (OR LOAD)
Toutes
324
OR NOT
None
1
NON OU (OR NOT)
Toutes
323
ORW (@)
35
4
OU LOGIQUE (LOGICAL OR)
Toutes
422
OUT
None
2
SORTIE (OUTPUT)
Toutes
324
OUT NOT
None
2
PAS DE SORTIE (OUTPUT NOT)
Toutes
324
PID
----
4
COMMANDE DE PID (PID CONTROL)
CPM2A/CPM2C/SRM1(-V2)
446
PRV (@)
62
4
LECTURE PV DU COMPTEUR A GRANDE
VITESSE (HIGH-SPEED COUNTER PV
READ)
Toutes excepté SRM1
348
PULS (@)
65
4
DEFINITION DES IMPULSIONS (SET
PULSES)
CPM1A/CPM2A/CPM2C
(Sorties du type NPN
seulement)
434
PWM (@)
----
4
CPM2A/CPM2C
441
RET
93
1
IMPULSION A RAPPORT CYCLIQUE
VARIABLE (PULSE WITH VARIABLE DUTY
RATIO)
RETOUR A SOUS--PROGRAMME
(SUBROUTINE RETURN)
Toutes
428
ROL (@)
27
2
ROTATION A GAUCHE (ROTATE LEFT)
Toutes
355
ROR (@)
28
2
ROTATION A DROITE (ROTATE RIGHT)
Toutes
355
RSET
None
2
REMISE A ZERO (RESET)
Toutes
325
RXD (@)
47
4
RECEPTION (RECEIVE)
CPM2A/CPM2C/SRM1
457
SBB (@)
51
4
SOUSTRACTION VALEUR BINAIRE
(BINARY SUBTRACT)
Toutes
412
SBN
92
2
DEFINITION DU SOUS--PROGRAMME
(SUBROUTINE DEFINE)
Toutes
428
SBS (@)
91
2
SAISIE DU SOUS--PROGRAMME
(SUBROUTINE ENTRY)
Toutes
426
SCL (@)
66
4
MISE A L’ECHELLE (SCALING)
CPM2A/CPM2C/SRM1(-V2)
391
SCL2 (@)
----
4
MISE A L’ECHELLE VALEUR BINAIRE
SIGNEE VERS BCD (SIGNED BINARY TO
BCD SCALING)
CPM2A/CPM2C
393
SCL3 (@)
----
4
MISE A L’ECHELLE VALEUR BCD VERS
VALEUR BINAIRE SIGNEE (BCD TO
SIGNED BINARY SCALING)
CPM2A/CPM2C
395
SDEC (@)
78
4
DECODEUR 7 SEGMENTS (7-SEGMENT
DECODER)
CPM2A/CPM2C
384
SEC
----
4
HEURES A SECONDES (HOURS TO
SECONDS)
CPM2A/CPM2C
397
SET
None
2
DEFINIR (SET)
Toutes
325
SFT
10
3
REGISTRE A DECALAGE (SHIFT
REGISTER)
Toutes
352
SFTR (@)
84
4
REGISTRE REVERSIBLE A DECALAGE
(REVERSIBLE SHIFT REGISTER)
Toutes
357
SLD (@)
74
3
DECALAGE A GAUCHE D’UN DIGIT (ONE
DIGIT SHIFT LEFT)
Toutes
356
SNXT
09
2
DEPART INCREMENT (STEP START)
Toutes
333
SPED (@)
64
4
SORTIE DE VITESSE (SPEED OUTPUT)
CPM1A/CPM2A/CPM2C
(Sorties du type NPN
seulement)
435
SRCH (@)
----
4
RECHERCHE DE DONNEES (DATA
SEARCH)
CPM2A/CPM2C
445
321
Chapitre
Tableaux d’instruction
Mnémonique
SRD (@)
Code
Mots
75
3
STC (@)
40
STEP
08
STIM (@)
Désignation
Unités centrales
7-6
Page
Toutes
357
1
DECLGE DROIT D’UN DIGIT (ONE DIGIT
SHIFT RIGHT)
REPORT DE DEFINITION (SET CARRY)
Toutes
401
2
DEFINITION D’ETAPE (STEP DEFINE)
Toutes
333
69
4
Toutes
455
STUP
----
3
CPM2A/CPM2C/SRM1
460
SUB (@)
31
4
TEMPORISATION CYCLIQUE (INTERVAL
TIMER)
MODIFICATION DU SETUP DE RS--232C
(CHANGE RS-232C SETUP)
SOUSTRACTION VALEUR BCD (BCD
SUBTRACT)
Toutes
402
SUBL (@)
55
4
DOUBLE SOUSTRACTION VALEUR BCD
(DOUBLE BCD SUBTRACT)
Toutes
408
SUM (@)
----
4
SOMME (SUM)
CPM2A/CPM2C
419
SYNC (@)
----
4
CPM2A/CPM2C
443
TCMP (@)
85
4
Toutes
371
TIM
None
2
COMMANDE SYNCHRONISEE
D’IMPULSION (SYNCHRONIZED PULSE
CONTROL)
COMPARAISON DE TABLEAUX (TABLE
COMPARE)
TEMPORISATION (TIMER)
Toutes
336
TIMH
15
3
Toutes
337
TIML
----
4
TEMPORISATION A GRANDE VITESSE
(HIGH-SPEED TIMER)
TEMPORISATION LONGUE (LONG TIMER)
CPM2A/CPM2C
338
TMHH
----
4
CPM2A/CPM2C
339
TXD (@)
48
4
TEMPORISATION A TRES GRANDE
VITESSE (VERY HIGH-SPEED TIMER)
TRANSMISSION (TRANSMIT)
CPM2A/CPM2C/SRM1
458
WSFT (@)
16
3
DECALAGE DE MOT (WORD SHIFT)
Toutes
353
XCHG (@)
73
3
Toutes
364
XFER (@)
70
4
Toutes
362
XNRW (@)
37
4
ECHANGE DE DONNEES (DATA
EXCHANGE)
TRANSFERT PAR BLOCS (BLOCK
TRANSFER)
NON OU EXCLUSIF (EXCLUSIVE NOR)
Toutes
424
XORW (@)
36
4
OU EXCLUSIF (EXCLUSIVE OR)
Toutes
423
ZCP
----
4
CPM2A/CPM2C/SRM1(-V2)
375
ZCPL
----
4
COMPARAISON DE PLAGES DE ZONES
(AREA RANGE COMPARE)
DOUBLE COMPARAISON DE PLAGES DE
ZONES (DOUBLE AREA RANGE
COMPARE)
CPM2A/CPM2C
377
322
Chapitre
Programmation en schémas à contacts
7-7
7-7
Programmation en schémas à contacts
Les instructions en schémas à contacts comprennent les instructions à contacts
et les instructions pouvant être regroupées en blocs logiques ; elles effectuent le
contrôle des conditions du schéma à contacts. Des blocs logiques d’instructions
sont utilisés pour relier les pièces les plus complexes.
7-7-1 LOAD, LOAD NOT, AND, AND NOT, OR et OR NOT
Symboles à contacts
Zones de données d’opérandes
B
B : Bit
LOAD -- LD
IR, SR, AR, HR, TC, LR, TR
B : Bit
B
LOAD NOT -- LD NOT
IR, SR, AR, HR, TC, LR
B : Bit
B
AND -- AND
IR, SR, AR, HR, TC, LR
B : Bit
B
AND NOT -- AND NOT
IR, SR, AR, HR, TC, LR
B : Bit
OR -- OR
B
OR NOT -- OR NOT
B
IR, SR, AR, HR, TC, LR
B : Bit
IR, SR, AR, HR, TC, LR
Limitations
Il n’existe aucune limite quant au nombre de ces instructions, ou à l’ordre dans
lequel elles doivent être utilsées, tant que la capacité de mémoire de l’API n’est
pas dépassée.
Description
Ces six instructions de base correspondent aux conditions existant sur un
schéma à contacts. Comme décrit au Chapitre 6 Programmation en schémas à
contacts, l’état du bit affecté à chaque instruction détermine les conditions d’exécution de toutes autres instructions. Chacune de ces instructions et chaque
adresse de bit peut être utilisée autant de fois que nécessaire. Chacune peut
être utilisée dans autant d’instructions que nécessaire.
L’état du bit d’opérande (B) assigné à LD ou à LD NOT détermine la première
condition d’exécution. AND calcule le ET logique entre la condition d’exécution
et l’état de son bit d’opérande ; AND NOT calcule le ET logique entre la condition d’exécution et l’inverse de l’état de son bit d’opérande. OR calcule le OU
logique entre la condition d’exécution et l’état de son bit d’opérande ; OR NOT
calcule le OU logique entre la condition d’exécution et l’inverse de l’état de son
bit d’opérande.
Drapeaux
Aucun drapeau ne correspond à ces instructions.
323
Chapitre
Instructions de commande de bits
7-8
7-7-2 AND LOAD et OR LOAD
AND LOAD -- AND LD
Symboles à contacts
00000
00002
00001
00003
OR LOAD -- OR LD
Symboles à contacts
00000
00001
00002
00003
Description
Pour l’obtention de blocs d’instructions, lorsqu’elles ne peuvent être combinées
entre elles à l’aide des seules opérations OR et AND, on recourt à AND LD et OR
LD. Alors que AND et OR effectuent la combinaison logique entre l’éta d’un bit et
une condition d’exécution, AND LD et OR LD combinent entre elles deux conditions d’exécution, à savoir l’état actuel et le dernier état non utilisé.
Il n’est pas nécessaire d’utiliser les instructions AND LD et OR LD pour la réalisation de schémas à contacts, ni pour la saisie directe des schémas à contacts,
comme avec le SSS. Ces instructions sont cependant nécessaires pour convertir le programme en codes mnémoniques ou le saisir sous forme de codes mnémoniques.
Afin de réduire le nombre des instructions de programme, une compréhension
de base des blocs logiques d’instructions s’avère nécessaire. Une présentation
des blocs logiques se trouve au paragraphe 6-3-6 Blocs logiques d’instructions.
Drapeaux
Aucun drapeau ne correspond à ces instructions.
7-8
Instructions de commande de bits
Sept instructions peuvent être généralement utilisées pour commander l’état
d’un bit individuel. Ce sont OUT, OUT NOT, DIFU(13), DIFD(14), SET, RSET et
KEEP(11). Ces instructions sont utilisées de différentes façons afin de faire
passer un bit à l’état ON ou OFF.
7-8-1 OUTPUT et OUTPUT NOT -- OUT et OUT NOT
OUTPUT -- OUT
Symboles à contacts
Zones de données d’opérandes
B : Bit
B
OUTPUT NOT -- OUT NOT
Symboles à contacts
IR, SR, AR, HR, LR, TR
Zones de données d’opérandes
B : Bit
B
IR, SR, AR, HR, LR
Limitations
Un bit de sortie ne peut généralement être utilisé que dans une seule instruction
qui commande son état.
Description
OUT et OUT NOT sont utilisées pour commander l’état du bit indiqué, d’après la
condition d’exécution.
324
Chapitre
Instructions de commande de bits
7-8
OUT met à 1 le bit indiqué pour une condition d’exécution ON et met à zéro le bit
indiqué pour une condition d’exécution OFF. Dans le cas d’un bit TR, OUT apparaît au point d’embranchement plûtot qu’à l’extrémite d’une ligne secondaire. Se
reporter au paragraphe 6-3-8 Lignes secondaires d’embranchement pour de
plus amples informations.
OUT NOT met à 1 le bit indiqué pour une condition d’exécution OFF et à zéro le
bit indiqué pour une condition d’exécution ON.
OUT et OUT NOT peuvent être utilisées pour commander l’exécution en faisant
passer à ON et à OFF les bits affectés aux conditions existant sur le schéma à
contacts et déterminent ainsi les conditions d’exécutiondes autres instructions.
Ces instructions sont particulièrement utiles en ce qu’elles permettent l’utilisation d’un ensemble complexe de conditions pour commander l’état d’un bit de
travail, qui pourra ensuite être utilisé pour commander d’autres instructions.
L’intervalle de temps durant lequel un bit est à l’état ON ou sur OFF peut être
contrôlé en combinant l’instruction OUT ou OUT NOT avec TIM. Se reporter aux
exemples sous le paragraphe 7-15-1 TIMER -- TIM pour de plus amples informations.
Drapeaux
Aucun drapeau ne correspond à ces instructions.
7-8-2 SET et RESET -- SET et RSET
Symboles à contacts
Zones de données d’opérandes
SET B
B : Bit
IR, SR, AR, HR, LR
RSET B
B : Bit
IR, SR, AR, HR, LR
Description
SET met le bit d’opérande sur ON quand la condition d’exécution est ON et
n’affecte pas l’état du bit d’opérande lorsque la condition d’éxécution est OFF.
RSET met le bit d’opérande sur OFF lorsque la condition d’exécution est ON et
n’affecte pas l’état du bit d’opérande lorsque la condition d’éxécution est OFF.
L’utilisation de SET diffère de celle de OUT parce que l’instruction OUT met le bit
d’opérande sur OFF lorsque sa condition d’exécution est OFF. De même, RSET
diffère de OUT NOT en ce que OUT NOT met le bit d’opérande sur ON lorsque
sa condition d’exécution est OFF.
Conseils d’utilisation
L’état du bit d’opérande de SET et RSET, programmé entre IL(02) et ILC(03) ou
JMP(04) et JME(05), ne change pas lorsqu’une condition de verrouillage ou de
saut est satisfaite (c.--à--d. lorsque IL(02) ou JMP(04) est exécutée avec une
condition d’exécution OFF).
Drapeaux
Aucun drapeau ne correspond à ces instructions.
Exemples
Les exemples suivants montrent la différence entre OUT et SET/RSET. Dans le
premier exemple (schéma A), IR 20000 est à l’état ON ou OFF chaque fois que
IR 00000 passe à l’état ON ou OFF.
325
Chapitre
Instructions de commande de bits
7-8
Dans le deuxième exemple (schéma B), IR 10000 est à l’état ON quand
IR 00001 passe à l’état ON, et reste à l’état ON (même lorsqu’IR 00001 passe à
l’état OFF), et ce jusqu’à ce qu’IR 00002 passe à l’état ON.
00000
20000
Adresse
00000
00001
Schéma A
Instruction
Opérandes
LD
OUT
00000
20000
00001
SET 20000
00002
RSET 20000
Schéma B
Adresse
00000
00001
00002
00003
Instruction
Opérandes
LD
SET
LD
RSET
00001
20000
00002
20000
7-8-3 KEEP -- KEEP(11)
Symboles à contacts
Zones de données d’opérandes
S
B : Bit
KEEP(11)
B
R
IR, SR, AR, HR, LR
Limitations
Un bit de sortie ne peut généralement être utilisé que dans une instruction qui
commande son état.
Description
KEEP(11) est utilisée pour préserver l’état du bit indiqué, d’après deux
conditions d’exécution. Ces conditions d’exécution sont indiquées par S et R.
S est la valeur de définition d’état ; R, la valeurde remise à zéro. KEEP(11) joue
le rôle d’un relais de verrouillage dont l’état est défini par S et remis à zéro par R.
Lorsque S est sur ON, le bit indiqué est sur ON et le reste jusqu’à sa remise à
zéro, indépendamment de l’état de S (ON ou OFF). Lorsque R est sur ON, le bit
indiqué passe à l’état OFF et le reste jusqu’à sa remise à zéro, indépendamment
de l’état de R (ON ou OFF). Le rapport entre les conditions d’exécution et l’état
du bit KEEP(11) est indiqué ci--dessous.
Condition d’exécution de S
Condition d’exécution de R
Etat de B
Drapeaux
326
Aucun drapeau ne correspond à ces instructions.
Chapitre
Instructions de commande de bits
Conseils d’utilisation
7-8
Attention, lors de l’utilisation d’une ligne de remise à zéro KEEP commandée par
un composant externe normalement fermé. Ne jamais utiliser de bit d’entrée à
l’état inverse pour la remise à zéro (R) de KEEP(11) quand le circuit d’entrée
utilise une alimentation en courant alternatif. Le temps de fermeture de
l’alimentation continue de l’API (par rapport à l’alimentation alternative du circuit
d’entrée) peut entraîner la remise à zéro du bit spécifié de KEEP(11). Cette
situation est illustrée ci--dessous :
Circuit d’entrée
A
S
KEEP(11)
JAMAIS
B
A
R
Les bits utilisés par KEEP ne sont pas remis à zéro en cas de verrouillage. Se
reporter au paragraphe 7-11 INTERLOCK et INTERLOCK CLEAR de IL(02) et
IL(03) pour de plus amples informations.
7-8-4 DIFFERENTIATE UP et DOWN -- DIFU(13) et DIFD(14)
Symboles à contacts
DIFU(13) B
Zones de données d’opérandes
B: Bit
IR, SR, AR, HR, LR
DIFD(14) B
B: Bit
IR, SR, AR, HR, LR
Limitations
Un bit de sortie ne peut généralement être utilisé que dans une instruction qui
commande son état.
Description
DIFU(13) et DIFD(14) sont utilisées pour placer à ON le bit désigné pour un seul
tour de scrutation.
A chaque exécution de DIFU(13), celle-ci compare son exécution en cours avec
la précédente. Si la précédente était à OFF et que celle en cours est à ON,
DIFU(13) place à ON le bit désigné. Si la condition d’exécution précédente était
à ON et que la condition en cours est à ON ou OFF, DIFU(13) place le bit désigné
à OFF ou le laisse à OFF selon le cas (c’est--à--dire s’il est déjà à OFF). Le bit
désigné ne sera donc jamais à ON pendant plus d’un tour de scrutation si l’on
part du principe qu’il est exécuté à chaque tour (cf Conseils d’utilisation ci-dessous).
A chaque exécution de DIFD(14), celle-ci compare son exécution en cours avec
la précédente. Si la précédente était à ON et que celle en cours est à OFF,
DIFD(14) place à ON le bit désigné. Si la condition d’exécution précédente était
à OFF et que la condition en cours est à ON ou OFF, DIFD(14) place le bit
désigné à OFF ou le laisse à OFF selon le cas. Le bit désigné ne sera donc
jamais à ON pendant plus d’un tour de scrutation si l’on part du principe qu’il est
exécuté à chaque tour (cf Conseils d’utilisation ci-dessous).
Ces instructions sont utilisées lorsque les instructions sur changement d’état
(précédées de “@”) ne sont pas disponibles et que l’exécution en un seul tour de
scrutation d’une instruction particulière est souhaitée. On peut également les
utiliser avec des instructions qui ne sont pas sur changement d’état que lorsqu’elles sont utilisées pour simplifier la programmation. En voici un exemple cidessous.
327
Chapitre 7-11
INTERLOCK et INTERLOCK CLEAR -- IL(02) et ILC(03)
Drapeaux
Aucun drapeau ne correspond à ces instructions.
Conseils d’utilisation
DIFU(13) et DIFD(14) peuvent ne pas s’exécuter lorsque ces instructions sont
programmées entre IL et CIT, entre JMP et JME ou dans des sous-programmes.
Se reporter aux paragraphes 7-11 INTERLOCK et INTERLOCK CLEAR -- IL(02)
et ILC(03), 7-12 JUMP et JUMP END -- JMP(04) et JME(05), 7-25 Instructions
de sous-programmes et 7-27-1 INTERRUPT CONTROL -- INT(89).
Exemple
Dans cet exemple, IR 20014 est à l’état ON sur un cycle quand IR 00000 passe
de OFF à ON. IR 20015 est à l’état ON sur un cycle quand IR 00000 passe de ON
à OFF.
00000
DIFU(13) 20014
DIFD(14) 20015
7-9
Adresse
00000
00001
00002
Instruction
Opérandes
LD
DIFU(13)
DIFD(14)
00000
20014
20015
NO OPERATION -- NOP(00)
Description
NOP(00) n’est généralement pas nécessaire en cours de programmation et il
n’existe aucun symbole à contacts pour cette instruction. Lorsque NOP(00) est
rencontrée dans un programme, aucune fonction n’est exécutée et l’exécution
du programme reprend à l’instruction suivante. Lors de l’effacement de la
mémoire en vue de la programmation, NOP(00) est écrit à toutes les adresses.
NOP(00) peut être saisi au moyen du code de fonction 00.
Drapeaux
Aucun drapeau ne correspond à NOP(00).
7-10 END -- END(01)
Symboles à contacts
END(01)
Description
END(01) doit être la dernière instruction d’un programme. Lorsqu’il existe des
sous-programmes, END(01) est placé après le dernier sous-programme.
Aucune instruction ne doit être écrite après qu’END(01) soit exécutée. END(01)
peut être placée à l’intérieur d’un programme pour spécifier l’exécution de
toutes les instructions jusqu’à ce niveau, par exemple pour déboguer un programme, mais il devra être supprimé pour que l’exécution du reste du programme ait lieu.
En l’absence d’instruction END(01) dans le programme, aucune instruction
n’est exécutée et le message d’erreur “NO END INST” apparaît.
Drapeaux
END(01) met à l’état OFF les drapeaux ER, CY, GR, EQ et LE.
7-11 INTERLOCK et INTERLOCK CLEAR -- IL(02) et ILC(03)
Description
328
Symboles à contacts
IL(02)
Symboles à contacts
ILC(03)
IL(02) est toujours utilisée en même temps qu’ILC(03) pour créer des verrouillages. Les verrouillages sont utilisés pour exécuter un embranchement, tout
Chapitre 7-11
INTERLOCK et INTERLOCK CLEAR -- IL(02) et ILC(03)
comme les bits TR, mais le traitement des instructions entre IL(02) et ILC(03)
diffère par rapport au bit TR lorsque la condition d’exécution d’IL(02) est OFF.
Lorsque la conditon d’exécution d’IL(02) est ON, le programme s’exécute tel
quel ; une condition d’exécution ON est utilisée au départ de chaque ligne secondaire, entre l’emplacement d’IL(02) et l’emplacement d’ILC(03) suivant. Se
reporter au paragraphe 6-3-8 Lignes secondaires d’embranchement pour des
descriptions de base des deux méthodes.
Lorsque la condition d’exécution d’IL(02) est OFF, la partie verrouillée entre
IL(02) et ILC(03) est traitée comme indiqué dans le tableau qui suit :
Instruction
Traitement
OUT et OUT NOT
Met le bit indiqué à l’état OFF.
TIM et TIMH(15)
Remise à zéro.
CNT, CNTR(12)
Préserve la PV.
KEEP(11)
Préserve le bit d’état.
DIFU(13) et DIFD(14)
Non exécutées (voir plus bas).
Toutes les autres
instructions
Les instructions ne sont pas exécutées, et tous les bits et
mots IR, AR, LR, HR et SR utilisés comme opérandes
dans les instructions sont mis à l’état OFF.
IL(02) et ILC(03) ne doivent pas nécessairement être utilisées ensemble. IL(02)
peut être utilisée plusieurs fois dans une rangée, chaque IL(02) verrouillant la
partie qui précède l’ILC(03). ILC(03) ne peut être utilisée que s’il existe au moins
une IL(02) entre celle-ci et l’ILC(03) qui précède.
DIFU(13) et DIFD(14) dans
les parties verrouillées
Toute modification de la condition d’exécution d’une DIFU(13) ou d’une
DIFD(14) n’est pas enregistrée lorsque la DIFU(13) ou la DIFD(14) se trouve
dans une partie verrouillée et que la condition d’exécution d’IL(02) est OFF.
Lorsque DIFU(13) ou DIFD(14) apparaît dans une partie verrouillée tout de suite
après le passage à l’état ON de la condition d’exécution d’IL(02), la condition
d’exécution de DIFU(13) ou DIFD(14) sera comparée à la condition d’exécution
précédant l’activation du verrouillage (avant que l’état de verrouillage d’IL(02)
ne passe à l’état OFF). Les modifications correspondantes du schéma à contacts et du bit d’état sont illustrées ci-dessous. Le verrouillage est actif lorsque
00000 est à l’état OFF. A noter que 20000 n’est pas mis à l’état ON au point
nommé A, bien que 00001 passe à l’état OFF puis repasse à l’état ON.
00000
IL(02)
00001
DIFU(13) 20000
ILC(03)
A
Adresse
00000
00001
00002
00003
00004
Instruction
LD
IL(02)
LD
DIFU(13)
ILC(03)
Opérandes
00000
00001
20000
ON
00000
OFF
ON
00001
OFF
ON
20000
OFF
Conseils d’utilisation
Au moins une ILC(03) doit suivre une ou plusieurs IL(02).
Bien qu’il soit possible d’utiliser autant d’instructions IL(02) que nécessaire avec
une ILC(03), des instructions ILC(03) successives ne peuvent être utilisées
sans être séparées par au moins une IL(02), ce qui rend toute imbrication impossible. Lorsqu’une ILC(03) est exécutée, tout verrouillage entre l’ILC(03) actif et
l’ILC(03) précédent est annulé.
329
Chapitre 7-12
JUMP et JUMP END -- JMP(04) et JME(05)
Lors de l’utilisaton de plus d’une IL(02) avec une seule ILC(03), un message
d’erreur apparaît lors de la vérification du programme, mais son exécution se
poursuit normalement.
Drapeaux
Aucun drapeau ne correspond à ces instructions.
Exemple
Le schéma suivant montre IL(02) utilisée deux fois avec ILC(03).
Adresse
00000
IL(02)
00001
TIM 000
#0015
1,5 s
Instruction
00000
00001
00002
00003
LD
IL(02)
LD
TIM
00004
00005
00006
00007
00008
00010
LD
IL(02)
LD
AND NOT
LD
CNT
IL(02)
00100
00011
00012
00013
LD
OUT
ILC(03)
00000
#
00002
00003
Opérandes
00004
CP
R
CNT
001
IR 010
00003
00004
00100
001
010
00005
01002
00005
01002
ILC(03)
00001
000
0015
00002
Lorsque la conditon d’exécution de la première IL(02) est OFF, TIM 000 est
réglée à 1,5 s, CNT 001 n’est pas modifiée et 01002 passe à l’état OFF. Lorsque
la condition d’exécution de la première IL(02) est ON et la condition d’exécution
de la deuxième IL(02) est OFF, TIM 000 est exécutée après l’état de 00001,
CNT 001 n’est pas modifiée et 01002 est mise sur OFF. Lorsque les conditions
d’exécution des IL(02) sont ON, le programme s’exécute tel quel.
7-12 JUMP et JUMP END -- JMP(04) et JME(05)
Symboles à contacts
JMP(04) N
Valeurs de définition
N : Numéro de saut
#
JME(05) N
N : Numéro de saut
#
Limitations
Chaque numéro de saut entre 01 et 49 ne peut être utilisé qu’une fois dans
JMP(04) et une fois dans JME(05) (donc pour définir un seul saut). Le numéro
de saut 00 peut être utilisé autant de fois que souhaité.
Description
JMP(04) est toujours utilisée en même temps que JME(05) pour créer des
sauts, c’est-à-dire pour sauter d’un point d’un schéma à contacts à un autre.
JMP(04) définit le point à partir duquel s’effectue le saut ; JME(05) définit la destination du saut. Lorsque la condition d’exécution de JMP(04) est ON, aucun
saut n’a lieu et le programme s’exécute tel quel. Lorsque la condition d’exécution de JMP(04) est OFF, un saut est effectué vers JME(05) en utilisant le même
numéro de saut ; l’instruction qui suit JME(05) est ensuite exécutée.
Lorsque le numéro de saut de JMP(04) est compris entre 01 et 49, les sauts s’effectuent automatiquement vers JME(05) en utilisant le même numéro de saut,
sans qu’aucune instruction soit exécutée dans l’intervalle. L’état des temporisations, des compteurs, des bits utilisés dans OUT, dans OUT NOT et de tout autre
bit commandé par les instructions entre JMP(04) et JME(05) n’est pas modifié.
330
JUMP et JUMP END -- JMP(04) et JME(05)
Chapitre 7-12
Chacun des numéros de saut ne peut être utilisé que pour définir un saut. Du fait
que toutes les instructions entre JMP(04) et JME(05) sont “sautées”, les numéros de saut 01 à 49 permettent de réduire le temps de cycle.
Saut numéro 00 Lorsque le numéro de saut dans JMP(04) est 00, l’unité
centrale recherche la JME(05) suivante ayant un numéro de saut de même 00.
Pour ce faire, elle doite rechercher à travers tout le programme, ce qui entraîne
un temps de cycle plus long (lorsque la condition d’exécution est OFF) que pour
les autres sauts.
L’état des temporisations, des compteurs, des bits dans OUT, dans OUT NOT et
tout autre état commandé par les instructions comprises entre JMP(04) 00 et
JMP(05) 00 n’est pas modifié. Le numéro 00 peut être utilisé autant de fois que
nécessaire. Un saut à partir de JMP(04) 00 s’effectue toujours vers la JME(05)
00 suivante dans le programme. Il est ainsi possible d’utiliser plusieurs
JMP(04) 00 succesives, en leur faisant correspondre la même JME(05) 00.
L’utilisation de plusieurs JME(05) 00 successives ne présente aucun intérêt, du
fait que tous les sauts effectués vers JME(05) aboutissent toujours à la première
JME(05) 00.
DIFU(13) et DIFD(14) dans
les parties ”sautées”
Bien que DIFU(13) et DIFD(14) soient conçues pour mettre sur ON le bit indiqué
durant un cycle, elles ne s’exécutent pas nécessaires dans les parties
comprises entre JMP(04) et JME(05). Lorsque DIFU(13) ou DIFD(14) a mis un
bit sur ON, il reste à l’état ON jusqu’à la prochaine exécution de DIFU(13) ou
DIFD(14). En mode de programmation normale, ceci signifie au cycle suivant. A
cours d’un saut, la prochaine fois que le saut de JMP(04) à JME(05) n’est pas
effectué (lorsqu’un bit est sur ON par DIFU(13) ou DIFD(14) et qu’un saut est
effectué dans le cycle suivant de sorte que DIFU(13) ou DIFD(14) soient
“sautées”), le bit spécifié reste à l’état ON jusqu’à ce que la condition d’excution
de JMP(04) commandant le saut passe à l’état ON.
TIMH(15) et TMHH(----) dans
les parties ”sautées”
Lorsque TIMH(15) ou TMHH(----) est programmée entre JMP(04) et JME(05), la
temporisation sera effectuée à l’aide d’une interruption lorsque les numéros de
saut 01 à 49 sont utilisés, mais aucune temporisation n’aura lieu si le saut
numéro 00 est utilisé.
Conseils d’utilisation
Lorsque JMP(04) et JME(05) ne sont pas utilisées par paires, un message
d’erreur apparaît lors de l’utilisation du programme. Malgré ce message, le
programme continue à s’exécuter correctement.
Drapeaux
Aucun drapeau ne correspond à ces instructions.
Exemples
Des exemples de sauts programmés sont fournis au paragraphe 6-3-9 Sauts.
331
Chapitre 7-13
Instructions relatives aux erreurs d’utilisation
7-13 Instructions relatives aux erreurs d’utilisation : FAILURE
ALARM AND RESET -- FAL(06) et SEVERE FAILURE
ALARM -- FALS(07)
Symboles à contacts
Zones de données de définition
@FAL(06) N
FAL(06) N
N : Numéro FAL
# (00 à 99)
N : Numéro FAL
FALS(07) N
# (01 à 99)
Description
FAL(06) et FALS(07) permettent au programmeur de générer des numéros d’erreurs qui pourront être utilisés en mode d’exécution, de maintenance et de
déboguage. Lorsqu’elle est exécutée avec une condition d’exécution ON, chacune de ces instructions transmet un numéro FAL aux bits 00 à 07 de SR 253.
Ce numéro compris entre 01 et 99 représente la valeur de définition de FAL(06)
ou FALS(07). Une instruction FAL(06) avec une définition de 00 est utilisée pour
remettre à zéro cette zone (voir ci-dessous).
Zone FAL
25307
25300
X101
X100
FAL(06) génère une erreur non fatale et FALS(07) une erreur fatale. Lorsque
FAL(06) est exécutée avec une condition d’exécution ON, le voyant d’ALARM/
ERROR à l’avant de l’unité centrale clignote, mais l’API continue à fonctionner.
Lorsque FALS(07) est exécutée avec une condition d’exécution ON, le voyant
d’ALARM/ERROR s’allume et l’API cesse de fonctionner.
Le système génère également des codes d’erreur dans la zone FAL.
Remise à zéro des erreurs
Des codes d’erreur FAL sont enregistrés dans la mémoire, bien que seulement
l’un d’entre eux soit disponible dans la zone FAL. Pour accéder aux autres codes
FAL, remettre à zéro la zone FAL en exécutant FAL(06) 00. Chaque fois que
FAL(06) 00 est exécutée, une autre erreur FAL est transférée à la zone FAL et
efface celle qui s’y trouve déjà.
FAL(06) 00 est également utilisée pour effacer un message programmé à l’aide
de l’instruction MSG(46).
Lorsque la zone FAL ne peut être effacée, ce qui survient généralement lors de
l’exécution de FALS(07), supprimer d’abord la cause de l’erreur puis effacer le
contenu de la zone FAL sur la Console de programmation ou le SSS.
332
Chapitre 7-14
Instructions de définition d’étapes
7-14 Instructions de définition d’étapes : STEP DEFINE et
STEP START--STEP(08)/SNXT(09)
Symboles à contacts
STEP(08)
STEP(08) B
Zones de données de définition
B : Bit de commande
IR, AR, HR, LR
SNXT(09) B
B : Bit de commande
IR, AR, HR, LR
Limitations
Tous les bits de commande doivent se trouver dans le même mot et être placés
les uns à la suite des autres.
Description
Les instructions de définition d’étapes STEP(08) et SNXT(09) sont utilisées
conjointement pour définir des points d’arrêt entre les différents segments d’un
grand programme, de façon à ce que ceux-ci s’exécutent comme des éléments
individuels réinitialisés après exécution. Un segment de programme est
habituellement défini pour correspondre à un processus complet de
l’application (se reporter aux exemples d’applications plus loin dans ce
chapitre). Une étape est similaire à un code de programmation normal mais
certaines instructions (END(01), IL(02)/ILC(03), JMP(04)/JME(05) et SBN(92))
peuvent ne pas y figurer.
STEP(08) utilise un bit de commande dans les zones IR ou HR pour définir le
début d’un segment de programme appelé ”étape”. STEP(08) n’exige pas de
condition d’exécution : son exécution est commandée par le bit de commande.
Pour démarrer l’exécution d’une étape, SNXT(09) est utilisée avec le même bit
de commande que STEP(08). Lorsque SNXT(09) est exécutée avec une condition d’exécution ON, l’étape correpondant au même bit de commande est exécutée. Lorsque la condition d’exécution est OFF, l’étape n’est pas exécutée.
L’instruction SNXT(09) doit figurer dans le programme pour pouvoir être exécutée avant que le programme n’atteigne l’étape correspondante. Elle peut être
utilisée à différents endroits précédant cette étape afin de commander celle-ci
selon deux conditions d’exécution (voir exemple 2, ci--dessous). Les étapes du
programme ne commençant pas par SNXT(09) ne seront pas exécutées.
Une fois SNXT(09) utilisée dans le programme, l’exécution des étapes se poursuit jusqu’à ce que STEP(08) soit exécutée sans bit de commande. Pour ce
faire, STEP(08) doit être précédée de SNXT(09) avec un bit de commande factice. Ce peut être n’importe quel bit IR ou HR. Il ne peut s’agir d’un bit de commande utilisé dans une STEP(08).
333
Chapitre 7-14
Instructions de définition d’étapes
L’exécution d’une étape se termine avec l’exécution de la SNXT(09) suivante ou
le passage à l’état OFF du bit de commande correspondant à cette étape (voir
exemple 3 ci-dessous). Lorqu’une étape est terminée, tous les bits IR et HR de
cette étape sont mis sur OFF et toutes les temporisations à l’intérieur de cette
étapes sont réinitialisées à leurs SV. Les compteurs, registres à décalage et le
bit utilisé dans KEEP(11) gardent le même état. L’exemple ci-dessous illustre
deux étapes simples.
00000
SNXT(09) LR 1005
Démarre l’exécution des étapes
STEP(08) LR 1005
Etape commandée par LR 1005
1ère étape
00001
SNXT(09) 20200
STEP(08) 20200
Etape commandée par IR 20200
2ème étape
00002
SNXT(09) 23000
STEP(08)
Adresse
Instruction
00000
00001
00002
LD
SNXT(09)
STEP(08)
Opérandes
LR
LR
00000
1005
1005
Etape commandée par LR 1005.
00100
00101
LD
SNXT(09)
00001
20200
Adresse
Instruction
00102
STEP(08)
Termine l’exécution de 2 étapes
Opérandes
20200
Etape commandée par IR 20200.
00200
00201
00202
LD
SNXT(09)
STEP(08)
00002
23000
---
Les étapes peuvent être programmées en séquence. Chaque étape doit commencer par STEP(08) et se termine généralement par SNXT(09) (voir exception
dans l’exemple 3, ci-dessous). Lorsque des étapes sont programmées en
séquence, trois types d’exécutions sont possibles : séquentiel, par embranchement ou en parallèle. Les conditions d’exécution et l’emplacement de SNXT(09)
déterminent la façon dont les étapes sont exécutées. Les trois exemples ci-dessous illustrent ces trois types d’exécutions.
Conseils d’utilisation
Les verrouillages, les sauts, SBN(92) et END(01) ne peuvent pas être utilisés
pour la programmation des étapes.
Les bits utilisés comme bits de commande ne doivent pas être utilisés ailleurs
dans le programme sauf pour commander l’exécution de l’étape (voir exemple
3, ci-dessous). Tous les bits de commande doivent se trouver dans le même mot
et être placés à la suite les uns des autres.
Lorsque des bits IR ou de LR sont utilisés comme bits de commande, leur état
est perdu lors d’une coupure d’alimentation. S’il est nécessaire de préserver cet
état pour reprendre l’exécution à la même étape, le bit HR doit être utilisé.
Drapeaux
25407: Drapeau de démarrage d’étape : est activé sur un cycle lorsque
STEP(08) est exécutée et peut être utilisée, si nécessaire, pour
334
Chapitre 7-15
Instructions de temporisation et de comptage
remettre à zéro les compteurs dans les étapes, comme illustré ci-dessous.
00000
Démarrage
SNXT(09) 20000
20000
STEP(08) 20000
00100
CP
CNT 001
25407
R
Adresse
Instruction
00000
00001
00002
00003
LD
SNXT(09)
STEP(08)
LD
Opérandes
00000
20000
20000
00100
25407
#0003
Adresse
00004
00005
1 cycle
Instruction
Opérandes
LD
CNT
#
25407
01
0003
7-15 Instructions de temporisation et de comptage
TIM et TIMH(15) sont utilisées pour décrémenter les instructions de temporisation de retard ON ; elles exigent un numéro TC et une valeur de consigne (SV).
STIM(69) est utilisée pour commander des temporisations cycliques, qui sont
utilisées pour lancer des sous-programmes d’interruption.
CNT décrémente un compteur et CNTR(12) inverse celui-ci. Toutes deux exigent un numéro TC et une SV (valeur de consigne). Toutes deux sont également
reliées à plusieurs lignes secondaires qui servent de signal(aux) d’entrée et de
remise à zéro. CTBL(63), INT(89) et PRV(62) sont utilisées pour contrôler le
compteur à grande vitesse. INT(89) est également utilisée pour mettre fin à la
sortie des impulsions.
Un numéro TC ne peut être redéfini, une fois utilisé comme valeur de définition
dans une instruction de temporisation ou de comptage. Une fois définis, les
numéros TC peuvent être utilisés autant de fois que nécessaire comme
opérandes dans des instructions autres que les instructions de temporisation et
de comptage.
Les numéros TC sont compris entre 000 et 255 dans les API des CPM2A/
CPM2C et de 000 à 127 dans les API des CPM1/CPM1A/SRM1(-V2). Aucun
préfixe n’est nécessaire pour l’utilisation d’un numéro TC comme valeur de
définition dans une instruction de temporisation ou de comptage. Une fois défini
comme compteur, un numéro TC peut être précédé d’un préfixe TIM pour être
utilisé comme opérande dans certaines instructions. Ce préfixe TIM est utilisé
indépendamment de l’instruction de temporisation ayant servi à définir la temporisation. Une fois défini comme compteur, un numéro TC peut être précédé
d’un préfixe CNT pour être utilisé comme opérande dans certaines instructions.
CNT est également utilisé indépendamment de l’instruction de comptage ayant
servi à définir le comptage.
Des numéros TC peuvent être spécifiés comme opérandes exigeant des données sous forme de bits ou de mots. Lorsqu’il est spécifié comme ce type d’opérande, le numéro TC accède à un bit faisant office de “drapeau de fin” (indiquant
la fin de la temporisation ou du comptage) : ce bit, normalement à l’état OFF,
passe à l’état ON à la fin de la temporisation ou du comptage. Un numéro TC
spécifié comme opérande exigeant des données sous forme de bits ou de mots
accède à un emplacement mémoire contenant la valeur en cours (PV) de la tem-
335
Chapitre 7-15
Instructions de temporisation et de comptage
porisation ou de comptage. Cette PV peut être utilisée en tant qu’opérande dans
CMP(20), ou dans n’importe quelle autre instruction à laquelle est affectée la
zone TC. Ceci est effectué en spécifiant le numéro TC utilisé pour définir cette
temporisation ou ce compteur afin d’accéder à l’emplacement mémoire contenant la PV.
A noter que “TIM 000” est utilisée pour spécifier l’instruction TIMER définie avec
le TC numéro 000, le drapeau de fin de cette temporisation et la PV de cette temporisation. La signification de ce terme apparaît clairement dans le contexte
approprié : premièrement une instruction, deuxièmement un bit d’opérande et
troisièmement un mot d’opérande. Ceci est vrai également pour tous les autres
numéros TC ayant TIM ou CNT comme préfixe.
Une SV peut être saisie comme constante ou comme l’adresse d’un mot dans
une zone de données. Lorsqu’une zone IR affectée à un périphérique de saisie
est spécifiée comme l’adresse d’un mot, ce périphérique peut être câble de
façon à ce que la SV puisse être définie de l’extérieur par un commutateur, une
roue codeuse ou autre. Les temporisations et les compteurs câblés de cette
façon ne peuvent être réglés que de l’extérieur en mode RUN ou MONITOR.
Toutes les SV, y compris celles définies de l’extérieur, doivent être en format
BCD.
7-15-1 TIMER -- TIM
Valeurs de définition
N : Numéro TC
Symboles à contacts
#
TIM
N
SV
Zones de données d’opérandes
SV : Valeur de consigne (mot, BCD)
IR, SR, AR, DM, HR, LR, #
Limitations
La SV est comprise entre 000,0 et 999,9. La virgule décimale n’est pas entrée.
Chaque numéro TC ne peut être utilisé comme définition que dans une instruction TIMER ou COUNTER. Les numéros TC sont compris entre 000 et 255 dans
les API des CPM2A/CPM2C et entre 000 et 127 dans les API des
CPM1/CPM1A/SRM1(-V2).
TC 000 à TC 003 (TC 000 à TC 015 sur le CPM2A/CPM2C) ne doivent pas être
utilisés dans TIM s’ils sont nécessaires à TIMH(15). Se reporter au paragraphe
7-15-2 HIGH-SPEED TIMER -- TIMH(15) pour de plus amples informations.
Sur les API des CPM2A/CPM2C, les TC 004 à TC 007 ne doivent pas être utilisés dans TIM s’il sont nécessaires à TMHH(----). Se reporter au paragraphe
7-15-4 VERY HIGH-SPEED TIMER -- TMHH(----) pour de plus amples informations.
Description
Une temporisation est activée quand sa condition d’exécution passe à l’état ON
puis est réinitialisée (à la valeur SV) quand sa condition d’exécution passe à l’état OFF. Une fois activé, TIM se mesure en unités de 0,1 seconde à partir de la
SV.
Lorsque la condition d’exécution reste à l’état ON suffisamment longtemps pour
que TIM atteingne zéro, le drapeau de fin du numéro TC passe à l’état ON et y
reste jusqu’à la remise à zéro de TIM (jusqu’à ce que sa condition d’exécution
soit OFF).
336
Chapitre 7-15
Instructions de temporisation et de comptage
La figure suivante illustre le rapport entre la condition d’exécution de TIM et l’indicateur de fin qui lui est affecté.
ON
Condition d’exécution
OFF
ON
Drapeau de fin
OFF
SV
SV
Conseils d’utilisation
Les temporisations dans les parties de programme verrouillées sont remises à
zéro lorsque la condition d’exécution d’IL(02) est sur OFF. Une coupure de courant remet également les temporisations à zéro. Pour définir une temporisation
qui ne soit pas remise à zéro dans ces conditions, il est possible d’effectuer le
comptage des bits d’impulsions d’horloge dans la zone SR pour produire des
temporisations utilisant l’instruction CNT. Se reporter au paragraphe 7-15-5
COUNTER -- CNT pour de plus amples informations.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
7-15-2 HIGH-SPEED TIMER -- TIMH(15)
Valeurs de définition
N : Numéro TC
Symboles à contacts
#
TIMH(15) N
SV
Zones de données d’opérandes
SV : Valeur de consigne (mot, BCD)
IR, SR, AR, DM, HR, LR, #
Limitations
La SV est comprise entre 00,00 et 99,99 (bien que 00,00 et 00,01 puissent être
utilisés, 00,00 désactive la temporisation en mettant à l’état ON le drapeau de
fin, ce qui fait qu’il n’est pas sûr que 00,01 soit balayé). La virgule décimale n’est
pas prise en compte.
Chaque numéro TC ne peut être utilisé comme valeur de définition que dans une
instruction TIMER ou COUNTER. Les numéros TC sont compris entre 000 et
255 dans les API des CPM2A/CPM2C et entre 000 et 127 dans les API des
CPM1/CPM1A/SRM1(-V2).
Description
TIMH(15) fonctionne comme TIM mais TIMH se mesure en unités de 0,01 seconde. Se reporter au paragraphe 7-15-1 TIMER -- TIM pour de plus amples informations sur son utilisation.
Conseils d’utilisation
Les temporisations dans les parties verrouillées du programme sont remises à
zéro quand la condition d’exécution d’IL(02) est OFF. Les coupures de courant
remettent également les temporisations à zéro. Pour définir une temporisation
qui ne soit pas remise à zéro dans ces conditions, il est possible d’effectuer le
comptage des bits d’impulsions d’horloge de la zone SR pour produire des temporisations en utilisant CNT. Se reporter au paragraphe 7-15-5 COUNTER -CNT pour de plus amples informations.
Les temporisations se trouvant dans les parties “sautées” du programme ne
sont pas remises à zéro quand la condition d’exécution de JMP(04) est OFF. La
temporisation cesse de s’exécuter lorsque le numéro de saut 00 est utilisé, mais
continue de s’exécuter avec les autres numéros de saut.
337
Chapitre 7-15
Instructions de temporisation et de comptage
Il est nécessaire de toujours remettre à zéro la temporisation pour passer de TIM
à TIMH(15) lors d’une édition en ligne. De même, il est nécessaire de travailler
en mode PROGRAM pour modifier TIMH(15) en utilisant une interruption.
Les numéros TC 000 à 003 doivent être utilisés pour TIMH(15). Les temporisations rapides correspondent aux numéros TC 004 à TC 127 (TC 016 à TC 255
sur le CPM2A/CPM2C) peuvent manquer de précision lorsque le temps de cycle
dépasse 10 ms.
API
CPM2A/CPM2C
CPM1, CPM1A et
SRM1(-V2)
Rafraîchissement
d’interruption toutes les
10 ms
TC 000 à TC 003
Rafraîchi lorsque
TIMH(015) est exécutée
TC 004 à TC 255
TC 000 à TC 003
TC 004 à TC 127
Sur les API des CPM2A/CPM2C, TC 004 à TC 007 ne doivent pas être utilisés
dans TIMH(15) s’ils sont nécessaires à TMHH(----). Se reporter au paragraphe
7-15-4 VERY HIGH-SPEED TIMER -- TMHH(----) pour de plus amples informations.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Drapeaux
ER :
Exemple
L’exemple suivant est relatif à une temporisation définie pour une constante.
CIO 01600 est activée après que CIO 00000 est à l’état ON durant au moins 1,5
seconde. Lorsque 00000 passe à l’état OFF, la temporisation est remise à zéro
et CIO 01600 passe à l’état OFF.
00000
TIMH(15)
000
#0150
Adresse
01,50 s
Instruction
00000
00001
LD
TIMH(15)
00002
00003
LD
OUT
TIM 000
01600
7-15-3 LONG TIMER : TIML(----)
Symboles à contacts
Opérandes
#
TIM
00000
000
0150
000
01600
CPM2A/CPM2C SEULEMENT
Zones de données d’opérandes
N : Numéro TC
TIML(----)
T0 à T255
N
SV : Valeur de consigne
SV
C
IR, SR, AR, DM, HR, LR, #
C : Données de commande
000 ou 001
Cette instruction n’est supportée que par les API des CPM2A/CPM2C.
Limitations
Chaque numéro TC ne peut être utilisé comme définition que dans une instruction TIMER ou COUNTER. Les numéros TC sont compris entre 000 et 255 sur
les API des CPM2A/CPM2C.
SV est une valeur BCD comprise entre 0000 et 9999 (0 à 9 999 s quand C=000 et
0 à 99 990 s quand C=001).
C doit être 000 (unité 1 s) ou 001 (unité 10 s).
Description
TIML(----) est une temporisation de retard ON dégressive définie en unités de 1 s
ou de 10 s. La valeur de consigne peut être comprise entre 0 à 9 999 s (avec une
338
Chapitre 7-15
Instructions de temporisation et de comptage
précision de 0 à 1s) lors de l’utilisation de l’unité 1 s (C=000) ou entre 0,10 et 99
990 s (avec une précision de 0 à 10 s) lors de l’utilisation de l’unité 10 s (C=001).
Une longue temporisation est activée lorsque sa condition d’exécution passe à
l’état ON et est réinitialisée (à la valeur SV) quand sa condition d’exécution
passe à l’état OFF. Une fois activée, TIML(----) s’exécute à partir de la SV par
unité de 1 s ou de 10 s (selon la valeur C). La précision de TIML(----) est de 0 à 1 s
si l’unité 1 s est utilisée ou de 0 à 10 s si l’unité 10 s est utilisée.
La temporisation s’achève quand la PV atteint #0000 (s). Une fois la temporisation écoulée, la PV et l’état du drapeau de fin sont maintenus. La temporisation
peut être redémarrée en commutant sa condition d’exécution de ON à OFF, puis
à ON ou en chargeant dans sa PV une valeur autre que #0000 avec une instruction telle que MOV(21).
Les longues temporisations dans les parties “sautées” du programme ne sont
pas remises à zéro lorsque la condition d’exécution de JMP(04) passe à OFF,
mais cessent de s’exécuter et la PV est maintenue. La temporisation reprend
lorsque la condition d’exécution de JMP(04) passe à ON. Il peut s’en suivre une
importante perte de précision de ces longues temporisations dans les parties
“sautées” du programme.
Conseils d’utilisation
TIML(----) peut manquer de précision pour un temps de cycle dépassant 1 s
(C=000) ou 10 s (C=001).
Les longues temporisations dans les parties “sautées” du programme sont réinitialisées (à la SV) quand la condition d’exécution d’IL(02) est OFF.
Les unités de temps en C peuvent être modifiées durant l’exécution d’une longue temporisation. Toute modification de l’unité de temps dans ces conditions
réduit à 10 s la précision de la temporisation.
Drapeaux
ER :
N n’est pas un numéro T valide.
C n’est pas 000 ni 001.
7-15-4 VERY HIGH-SPEED TIMER : TMHH(----) CPM2A/CPM2C SEULEMENT
Symboles à contacts
Zones de données d’opérandes
N : Numéro TC
TMHH(----)
T0 à T255
N
SV : Valeur de consigne
SV
000
IR, SR, AR, DM, HR, LR, #
000
Placer à 000.
Cette instruction n’est supportée que par les API des CPM2A/CPM2C.
Limitations
Chaque numéro TC ne peut être utilisé comme définition que dans une instruction TIMER ou COUNTER. Les numéros TC sont compris entre 000 et 255 sur
les API des CPM2A/CPM2C.
La SV est une valeur BCD comprise entre 0000 et 9999 (0 à 9,999 s).
Définir le troisième opérande à 000 (cet opérande est ignoré).
Description
TMHH(----) est une temporisation de retard ON dégressive définie en unités de
1 ms. La valeur de consigne peut être comprise entre 0 et 9 999 s et la précision
de cette temporisation est de 1 ms.
Une temporisation à très grande vitesse est activée quand sa condition d’exécution passe à l’état ON et est réinitialisée (à la SV) quand sa condition d’exécution
339
Chapitre 7-15
Instructions de temporisation et de comptage
passe à l’état OFF. Une fois activée, TMHH(----) s’exécute à partir de la SV par
unités de 1 ms.
La temporisation s’achève quand la PV atteint #0000 (s). Une fois la temporisation écoulée, la PV et le drapeau de fin sont maintenus. La temporisation peut
être redémarrée en commutant sa condition d’exécution de ON à OFF, puis à
ON ou en chargeant dans sa PV une autre valeur que #0000 avec une instruction telle que MOV(21).
L’utilisation des temporisations à très grande vitesse dans les parties “sautées”
du programme dépend du numéro TC utilisé pour définir la temporisation,
comme l’indique le tableau suivant :
Numéro TC
000 à 003,
008 à 255
004 à 007
Fonctionnement
La temporisation s’arrête quand la condition d’exécution de JMP(04)
est OFF. Ceci peut considérablement réduire la précision des temporisations dans les parties “sautées” du programme.
Lorsque le saut numéro 00 est utilisé, la temporisation cesse de
s’exécuter lorsque la condition d’exécution de JMP(04) est OFF.
Ceci peut considérablement réduire la précision des temporisations
dans les parties “sautées” du programme.
Pour tous les autres numéros de sauts, la temporisation continuera
de s’exécuter normalement lorsque la condition d’exécution de
JMP(04) est OFF.
Conseils d’utilisation
Les temporisations à très grande vitesse définies avec des numéros TC autres
que 004 à 007 peuvent manquer de précision au delà d’un temps de cycle de
1 ms (ce n’est pas le cas avec les temporisations à très grande vitesse définies
avec les numéros TC 004 au TC 007).
Les temporisations à très grande vitesse dans les parties “sautées” du programme sont réinitialisées (à la SV) lorsque la condition d’exécution d’IL(02) est
OFF.
Drapeaux
ER :
N n’est pas un numéro TC valide.
7-15-5 COUNTER -- CNT
Valeurs de définition
N : Numéro TC
Symboles à contacts
#
CP
R
CNT N
SV
Zones de données d’opérandes
SV : Valeur de consigne (mot, BCD)
IR, SR, AR, DM, HR, LR, #
Limitations
Chaque numéro TC ne peut être utilisé comme valeur de définition que dans une
instruction TIMER ou COUNTER. Les numéros TC sont compris entre 000 et
255 sur les API des CPM2A/CPM2C et de 000 à 127 sur les API des
CPM1/CPM1A/SRM1(-V2).
Description
CNT est utilisée pour déclencher un comptage dégressif à partir de la SV quand
la condition d’exécution de l’impulsion de comptage, CP, passe d’OFF à ON (la
valeur en cours (PV) est décrémentée de un à chaque fois que CNT est exécutée avec une condition d’exécution ON pour CP, la dernière condition d’exécution étant OFF). Lorsque la condition d’exécution ne varie pas ou passe de ON à
OFF, la PV de CNT n’est pas modifiée. Le drapeau de fin du compteur passe à
340
Chapitre 7-15
Instructions de temporisation et de comptage
l’état ON quand la PV atteint zéro et reste à l’état ON jusqu’à ce que le compteur
soit remis à zéro.
CNT est remise à zéro par l’entrée de remise à zéro R. Lorsque R passe d’OFF à
ON, la PV est remise à la valeur SV. La PV n’est pas décrémentée tant que R est
à l’état ON. Le comptage dégressif à partir de la SV redémarre lorsque R passe
à l’état OFF. La PV de CNT n’est pas remise à zéro dans les parties “sautées” du
programme ou dans le cas d’une coupure de courant.
L’illustration ci-dessous montre des modifications des conditions d’exécution,
du drapeau de fin et de la PV. La hauteur de la ligne PV n’a pour but que de montrer les changements survenus dans la PV.
Condition d’exécution
de l’impulsion de
comptage (CP)
Condition d’exécution
de la remise à zéro
(R)
ON
OFF
ON
OFF
ON
Drapeau de fin
OFF
SV
SV
PV
0002
SV -- 1
0001
SV -- 2
0000
Conseils d’utilisation
L’exécution du programme se poursuit lorsqu’une SV ne se trouvant pas en format BCD est utilisée, mais la SV est imprécise.
Drapeaux
ER :
Exemple
Dans l’exemple suivant, CNT est est utilisée pour créer des temporisations prolongées, par comptage de bits d’impulsions d’horloge dans la zone SR.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
CNT 001 compte le nombre de fois où le bit d’impulsion d’horloge d’une seconde
(SR 25502) passe d’OFF à ON. Ici encore, IR 00000 est utilisé pour contrôler
l’exécution de CNT.
Du fait que, dans cet exemple, la SV de CNT 001 est 700, le drapeau de fin de
CNT 002 passe à l’état ON à l’issue de la durée d’une seconde x 700 fois, ou de
11 minutes et 40 secondes. Ceci a pour conséquence de faire passer IR 20002 à
l’état ON.
00000 25502
Adresse
CP
CNT
001
00001
R
#0700
CNT 001
20002
00000
00001
00002
00003
#
CNT
20002
Instruction
LD
AND
LD NOT
CNT
0700
001
OUT
Opérandes
00004
00005
00000
25502
00001
001
LD
OUT
! Attention Les impulsions d’horloge courtes ne donnent pas nécessairement des temporisations plus précises car elles ne sont à l’état ON que durant un bref intervalle
de temps, ce qui peut engendrer une perte de précision sur de longs cycles. Plus
particulièrement, les impulsions d’horloge de 0,02 seconde et de 0,1 seconde
ne doivent pas être utilisées pour créer des temporisations à l’aide des CNT.
341
Chapitre 7-15
Instructions de temporisation et de comptage
7-15-6 REVERSIBLE COUNTER -- CNTR(12)
Valeurs de définition
N : Numéro TC
Symboles à contacts
#
II
DI
R
CNTR(12)
N
Zones de données d’opérandes
SV
SV : Valeur de consigne (mot, BCD)
IR, SR, AR, DM, HR, LR, #
Limitations
Chaque numéro TC ne peut être utilisé comme valeur de définition que dans une
instruction TIMER ou COUNTER. Les numéros TC sont compris entre 000 et
255 sur les API des CPM2A/CPM2C et entre 000 et 127 sur les API des
CPM1/CPM1A/SRM1(-V2).
Description
La CNTR(12) est un compteur rotatif réversible progressif ou dégressif : il est
utilisé pour effectuer un comptage entre zéro et la SV (ou vice-versa) selon deux
conditions d’exécution intervenant soit dans l’entrée “incrémenter” (II), soit dans
l’entrée “décrémenter” (DI).
La valeur en cours (PV) est incrémentée de un chaque fois que CNTR(12) est
exécutée avec une condition d’exécution ON pour II, la dernière condition d’exécution de II étant OFF. La valeur en cours (PV) est décrémentée de un à chaque fois que CNTR(12) est exécutée avec une condition d’exécution ON pour
DI, la dernière condition d’exécution de DI étant OFF. Lorsque des commutations de OFF à ON se sont produites dans II et DI depuis la dernière exécution, la
PV n’est pas modifiée.
Lorsque les conditions d’exécution n’ont pas changé ou sont passées de ON en
OFF pour II et DI, la PV de CNT ne change pas.
Une fois décrémentée jusqu’à 0000, la valeur en cours est rétablie à la valeur de
la SV et le drapeau de fin est mis sur ON jusqu’à ce que la PV soit de nouveau
décrémentée. Une fois incrémentée jusqu’à la SV, la PV est mise à 0000 et le
drapeau de fin est mis sur ON jusqu’à ce que la PV soit de nouveau incrémentée.
CNTR(12) est remise à zéro par une entrée de remise à zéro R. Lorsque R
passe d’OFF à ON, la PV est remise à zéro. La PV n’est pas incrémentée ni
décrémentée tant que R est sur ON. Le comptage reprend encore lorsque R
passe à l’état OFF. La PV de CNTR(12) n’est pas remise à zéro dans les parties
“sautées” du programme ou après une coupure de courant.
342
Chapitre 7-15
Instructions de temporisation et de comptage
L’illustration ci-dessous montre les changements survenant dans les conditions
d’exécution de II et de DI, dans le drapeau de fin et dans la PV, suite à l’utilisation
de CNTR(12) (une fois remis à zéro, le comptage redémarre à partir de zéro). La
hauteur de la ligne PV n’a pour but que de montrer les changements survenus
dans la PV.
Condition d’exécution
à l’incrémentation (II)
ON
Condition d’exécution
à la décrémentation
(DI)
ON
OFF
OFF
ON
Drapeau de fin
OFF
SV
PV
SV
SV + 1
SV -- 1
0001
SV + 2
SV -- 2
0000
0000
Conseils d’utilisation
L’exécution du programme se poursuit lorsqu’une SV ne se trouvant pas en format BCD est utilisée, mais la SV est erronée.
Drapeaux
ER :
7-15-7
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
REGISTER COMPARISON TABLE -- CTBL(63)
Symboles à contacts
Zones de données d’opérandes
CTBL(63)
@CTBL(63)
P
P
C
C
TB
TB
P : Spécificateur de port
000
C : Données de commande
000 à 003
TB : Premier mot du tableau de comparaison
IR, SR, AR, DM, HR, LR
Cette instruction n’est pas supportée par les API SRM1(-V2).
Limitations
Les premiers et derniers mots du tableau de comparaison doivent se trouver
dans la même zone de données. La longueur du tableau de comparaison diffère
selon la configuration utilisée.
P doit être 000 et C doit être compris entre 000 et 003.
Description
Lorsque la condition d’exécution est OFF, CTBL(63) n’est pas exécutée. Lorsque la condition d’exécution est ON, CTBL(63) enregistre un tableau de
comparaison devant être utilisé en parallèle avec la PV du compteur à grande
vitesse. Selon la valeur de C, la comparaison avec la PV du compteur à grande
vitesse peut démarrer immédiatement ou être lancée par INI(61).
Le spécificateur du port (P) indique le compteur à grande vitesse qui sera utilisé
dans la comparaison. P est toujours réglé à 000.
La fonction de CTBL(63) est déterminée par les paramètres C indiqués dans le
tableau suivant :
343
Chapitre 7-15
Instructions de temporisation et de comptage
C
000
001
002
003
Fonction CTBL(63)
Enregistre un tableau de comparaison de valeurs cibles et démarre la
comparaison.
Enregistre un tableau de comparaison de plages et démarre la comparaison.
Enregistre un tableau de comparaison de valeurs cibles. Démarrer la
comparaison avec INI(61).
Enregistre un tableau de comparaison de plages. Démarrer la comparaison avec INI(61).
Lorsque la PV correspond à une valeur cible ou fait partie d’une plage donnée, le
sous-programme spécifié est appelé et exécuté. Se reporter au paragraphe
2-3-5 Interruptions du compteur à grande vitesse pour de plus amples informations sur le tableau de comparaison.
Lorsque le compteur à grande vitesse est activé dans le Setup de l’API
(DM 6642), il démarre à partir de zéro lorsque le CPM2A/CPM2C commence à
fonctionner. La PV n’est évaluée par rapport au tableau de comparaison qu’une
fois le tableau enregistré et la comparaison lancée à l’aide de INI(61) ou de
CTBL(63). La comparaison peut être arrêtée et redémarrée, ou la PV remise à
zéro en utilisant INI(61).
Caractéristiques
communes des
comparaisons de valeurs
cilbes et de plages
1, 2, 3...
Une comparaison de valeurs cibles diffère d’une comparaison de plages, mais
les deux fonctions partagent certaines caractéristiques communes.
1. Les numéros de sous-programme 000 à 049 peuvent être utilisés et le
même numéro de sous-programme peut être utilisé plus d’une fois dans le
tableau.
2. Un numéro de sous-programme non défini ou un FFFF peut être défini
comme numéro de sous-programme lorsque le traitement des interruptions
n’est pas nécessaire.
3. La comparaison peut être stoppée au moyen de INI(61). Un tableau enregistré reste valable jusqu’à l’arrêt de l’API jusqu’à l’enregistrement d’un nouveau tableau.
4. CTBL(62) ne peut pas être exécutée lorsque le compteur à grande vitesse
est désactivé dans le Setup de l’API (DM 6642). Une erreur se produit lorsque CTBL(63) est exécutée alors que le compteur à grande vitesse est
désactivé.
Comparaison à des
valeurs cibles
Un tableau de comparaison de valeurs cibles contient jusqu’à seize valeurs
cibles. Un numéro de sous-programme est également enregistré à chaque
valeur cible. Le sous-programme correspondant est appelé et exécuté lorsque
la PV correspond à une valeur cible. Quand le traitement des interruptions n’est
pas nécessaire, un numéro de sous-programme non défini peut être saisi.
! Sur le CPM1/CPM1A, les comparaisons avec les valeurs cibles sont effectuées élément par élément dans l’ordre du tableau de comparaison. Lorsque
la PV atteint la première valeur cible dans le tableau, le sous-programme d’interruption est exécuté et la comparaison se poursuit à la valeur suivante dans
le tableau. Lorsque le traitement est terminé, au niveau de la dernière valeur
cible du tableau, la comparaison reprend à la première valeur et le processus
redémarre.
! Sur le CPM2A/CPM2C, la PV est comparée à toutes les valeurs cibles du tableau chaque fois que CTBL(63) est exécutée. Lorsque la PV correspond à une
valeur cible, le sous-programme correspondant est appelé et exécuté.
344
Chapitre 7-15
Instructions de temporisation et de comptage
Le diagramme suivant montre la structure d’un tableau de comparaison de valeurs cibles. Ces dernières doivent être uniques ; une erreur se produit lorsqu’une
valeur cible apparaît à plus d’une reprise dans le tableau.
TB
TB+1
Nb de valeurs cibles (0001 à 0016, BCD)
Valeur cible #1, 4 digits de poids faible (BCD)
TB+2
TB+3
Valeur cible #1, 4 digits de poids fort (BCD)
Num. de sous-programme pour #1 (voir Rem.)
Exemples de
valeurs cibles
Rem. Le numéro du sous-programme peut être compris entre F000 et F049 pour
activer le sous-programme en vue de la condition “décrémenter” et de 0000 à
0049 pour activer le sous-programme en vue de la condition “incrémenter”. Une
erreur se produit lorsque le compteur à grande vitesse est en mode progressif
mais qu’un numéro de sous-programme dégressif (F000 à F049) est spécifié.
Comparaison à des plages
Rem.
Un tableau de comparaison de plages contient 8 plages définies par une limite
basse à 8 digits et une limite haute à 8 digits, ainsi que les numéros de sous-programmes correspondants. La comparaison est effectuée à chaque cycle à la fin
de l’exécution du programme et peut être effectuée pendant l’exécution du programme en utilisant INI(61).
Lorsque la PV fait partie d’une plage donnée, le sous-programme correspondant est appelé et exécuté. Quand le traitement des interruptions n’est pas
nécessaire, un numéro de sous-programme non défini peut être saisi. Les
plages pouvant être définies en mode recouvrement, la PV peut faire partie de
plus d’une plage ; si la PV figure dans deux plages ou plus, le sous-programme
correspondant à la première d’entre elles est exécuté.
Le schéma suivant montre la structure d’un tableau de comparaison de plages.
8 plages doivent être définies en permanence. Si moins de 8 plages sont
nécessaires, définir les numéros de sous-programmes restants à FFFF.
TB
TB+1
TB+2
TB+3
Limite bse #1, 4 dig. poids faible (BCD)
Limite bse #1, 4 dig. poids fort (BCD)
Limite hte #1, 4 dig. poids faible (BCD)
Limite hte #1, 4 dig. poids fort (BCD)
TB+4
Num. sous-programme (v. Rem. 2.)
TB+35
Limite bse #8, 4 dig. poids faible (BCD)
TB+36
TB+37
TB+38
TB+39
Limite bse #8, 4 dig. poids fort (BCD)
Limite hte #8, 4 dig. poids faible (BCD)
Limite hte #8, 4 dig. poids fort (BCD)
Num. sous-programme (v. Rem. 2.)
Première plage
Huitième plage
1. La limite basse de chaque plage doit être inférieure à sa limite haute. Une
erreur se produit lorsque la limite basse est supérieure à la limite haute.
2. Le numéro de sous-programme peut être compris entre 0000 et 0049 et le
sous-programme s’exécute tant que la PV du compteur est dans la plage
indiquée. Une valeur FFFF indique qu’aucun sous-programme ne doit être
exécuté.
3. Puisque la comparaison est généralement effectuée une fois par cycle, tenir
compte du temps de cycle quand les limites hautes et basses correspondent à des valeurs de temps.
4. Un même numéro de sous-programme peut être utilisé plus d’une fois dans
le tableau.
345
Instructions de temporisation et de comptage
Drapeaux
ER :
Chapitre 7-15
Le tableau de comparaison dépasse la limite de la zone de données, ou
il existe une erreur dans les valeurs du tableau de comparaison.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P n’est pas égal à 000 ou C n’est pas compris entre 000 et 003.
Une instruction CTBL(63) utilise un format différent de comparaison
dans le sous-programme appelé par une autre instruction CTBL(63).
Une instruction CTBL(63) utilisant un format différent de comparaison
est exécutée pendant la comparaison.
CTBL(63) est exécutée dans un sous-programme d’interruption alors
qu’une entrée-sortie d’impulsions ou une instruction de comptage à
grande vitesse (INI(61), PRV(62), CTBL(63), SPED(64), PULS(65),
ACC(----), PWM(----) ou SYNC(----)) est exécutée dans le programme
principal.
Erreurs décelées par comparaison à des valeurs cibles :
Le nombre de valeurs cibles (dans TB) n’est pas compris entre 0001 et
0016.
Une valeur à atteindre n’est pas comprise entre F838 8608 et 0838
8607 (mode bidirectionnel, entrée d’impulsions polarisées et entrée
avance/retour).
Une valeur à atteindre n’est pas entre 0000 0000 et 1677 7215 ou un
numéro de sous-programme n’est pas entre 0000 et 0049 (mode d’incrément).
Erreurs décelées par comparaison à des plages :
La limite haute d’une plage est inférieure à sa limite basse.
Une valeur à atteindre n’est pas entre F838 8608 et 0838 8607 (mode
bidirectionnel, entrée d’impulsions polarisées et entrée avance/retour).
Une valeur à atteindre n’est pas entre 0000 0000 et 1677 7215 ou un
numéro de sous-programme n’est pas entre 0000 et 0049 (mode d’incrément).
7-15-8
MODE CONTROL -- INI(61)
Symboles à contacts
Zones de données d’opérandes
P : Spécificateur de port
INI(61)
@INI(61)
P
P
C
C
P1
P1
000, 010, 100, 101, 102, 103
C : Données de commande
000 à 005
P1 : Premier mot de la PV
IR, SR, AR, DM, HR, LR (ou 000)
Cette instruction n’est pas supportée par les API SRM1(-V2).
Limitations
346
Sur les API des CPM1/CPM1A, P doit être 000 et C doit être compris entre 000 et
003.
Sur les API des CPM2A/CPM2C, P doit être 000, 010, 100, 101, 102 ou 103 et C
doit être compris entre 000 et 005.
Chapitre 7-15
Instructions de temporisation et de comptage
P1 doit être égal à 000 sauf si C est égal à 002 ou 004.
P1 et P1+1 doivent être dans la même zone de données.
Lorsqu’une adresse DM est utilisée pour P1, il doit s’agir d’une adresse accessible en lecture/écriture.
Lorsque la condition d’exécution est OFF, INI(61) n’est pas exécutée. Lorsque la
condition d’exécution est ON, INI(61) est utilisée pour contrôler le fonctionnement du compteur à grande vitesse et stopper la sortie des impulsions.
Le port spécificateur (P) indique le compteur à grande vitesse ou la sortie d’impulsions à contrôler.
Description
P
000
Fonction
100*
Indique l’entrée du compteur à grande vitesse (entrées 00000, 00001 et
00002), sortie d’impulsions monophasée 0 sans accélération/décélération
(sortie 01000 ou 01001), sortie d’impulsions monophasée 0 avec accélération/décélération trapézoïdale (sortie 01000).
Indique la sortie d’impulsions monophasée 1 sans accélération/décélération (sortie 01001).
Indique l’entrée d’interruptions 0 en mode compteur (entrée 00003).
101*
Indique l’entrée d’interruptions 1 en mode compteur (entrée 00004).
102*
Indique l’entrée d’interruptions 2 en mode compteur (entrée 00005).
103*
Indique l’entrée d’interruptions 3 en mode compteur (entrée 00006).
010*
Rem. *Ces configurations ne peuvent être utilisées que sur les API des
CPM2A/CPM2C.
La fonction d’NI(61) est déterminée par le paramètre C.
C
P1
Fonction INI(61)
000
000
Démarre la comparaison de tableau CTBL(63).
001
000
Stoppe la comparaison de tableau CTBL(63).
002
Nouvelle
PV
000
Change la PV du compteur à grande vitesse ou une entrée
d’interruption en mode compteur.
Stoppe la sortie d’impulsions.
004*
Nouvelle
PV
Modifie la PV de la sortie d’impulsions.
005*
000
Stoppe la sortie de commande d’impulsion synchronisée.
003
Rem. *Ces configurations ne peuvent être utilisées que sur les API des
CPM2A/CPM2C.
Commencer ou arrêter la
comparaison (C=000 ou
C=001)
Lorsque C est 000 ou 001, INI(61) démarre ou arrête la comparaison entre la PV
du compteur à grande vitesse et le tableau de comparaison enregistré avec
CTBL(63). Une erreur se produit lorsque cette fonction est exécutée sans l’enregistrement préalable d’un tableau de comparaison avec CTBL(63).
En général, @INI(61) doit être utilisé lorsque C=000 car cette instruction ne doit
être exécutée qu’une fois pour démarrer la comparaison de tableau.
Changer PV (C=002)
Lorsque C est 002, INI(61) modifie la PV de l’entrée spécifiée du compteur à
grande vitesse ou de l’entrée d’interruptions (mode Compteur).
PV du compteur à grande vitesse (P=000)
INI(61) remplace la PV du compteur à grande vitesse indiquée par la valeur BCD
à 8 digits dans P1 et P1+1.
La nouvelle PV peut être comprise entre F838 8608 à 0838 8607 en mode
bidirectionnel, entrée d’impulsions polarisée ou entrée avance/retour. Le “F”
hexadécimal dans le premier digit fait office de signe “moins”.
La nouvelle PV peut être comprise entre 0000 0000 à 1677 7215 en mode de
comptage progressif.
347
Chapitre 7-15
Instructions de temporisation et de comptage
PV d’entrée d’interruptions (P=100 à 103)
INI(61) remplace la PV de l’entrée d’interruptions (en mode compteur) par une
valeur hexadécimale à 4 digits (0000 à FFFF) dans P1.
Arrêt de la sortie
d’impulsions (C=003)
Lorsque C est 003, INI(61) arrête la sortie d’impulsions.
Modification de la PV
(C=004)
INI(61) change la PV de l’impulsion produite en valeur à 8 digits de BCD dans P1
et P1+1. La PV ne peut pas être changée tandis que la sortie d’impulsion est en
marche.
La nouvelle PV peut être comprise entre --16 777 215 et 16 777 215. Le bit 15 de
P1+1 est utilisé comme bit de signe ; ce nombre est négatif lorsque le bit 15 est
sur ON, positif s’il est sur OFF.
Arrêt de la sortie de
commande d’impulsions
synchronisée (C=003)
Lorsque C est 003, INI(61) arrête la sortie de commande d’impulsions synchronisée.
Drapeaux
ER :
Le spécificateur de port et le paramètre C sont incompatibles (par
exemple : P=010 et C=000).
La définition d’un opérande est imprécise ou la PV indiquée n’est pas
dans la plage autorisée.
L’adresse indiquée pour P1 ou P1+1 dépasse la limite de la zone de
données.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
La fonction indiquée est incompatible avec le fonctionnement de l’API.
Par exemple, ne pas définir C=005 lorsque la commande d’impulsions
synchronisée n’est pas utilisée.
INI(61) est exécutée pour modifier la PV d’une sortie d’impulsions
(C=004) alors que la sortie d’impulsions est en cours.
INI(61) est exécutée dans un sous-programme d’interruption alors
qu’une entrée-sortie d’impulsions ou une instruction de comptage à
grande vitesse instruction (INI(61), PRV(62), CTBL(63), SPED(64),
PULS(65), ACC(----), PWM(----) ou SYNC(----)) est exécutée dans le programme principal.
7-15-9
HIGH-SPEED COUNTER PV READ -- PRV(62)
Symboles à contacts
Zones de données d’opérandes
PRV(62)
@PRV(62)
P
P
C
C
D
D
P : Spécificateur de port
000, 010, 100, 101, 102, 103
C : Données de commande
000, 001, 002 ou 003
D : Premier mot de destination
IR, SR, AR, DM, HR, LR
Cette instruction n’est pas supportée par les API du SRM1(-V2).
Limitations
348
Sur les API des CPM1/CPM1A, P doit être égal à 000 et C doit être compris entre
000 et 002.
Sur les API des CPM2A/CPM2C, P doit être égal à 000, 010, 100, 101, 102 ou
103 et C doit être compris entre 000 et 003.
Chapitre 7-15
Instructions de temporisation et de comptage
D et D+1 doivent être dans la même zone de données.
Lorsqu’une adresse DM est utilisée pour D, elle doit être accessible en lecture/
écriture.
Description
Lorsque la condition d’exécution est OFF, PRV(62) n’est pas exécutée. Lorsque
la condition d’exécution est ON, PRV(62) contrôle la PV du compteur à grande
vitesse, la PV de sortie d’impulsions, la PV d’entrée d’interruptions (mode compteur), ou la fréquence d’entrée de commande synchronisée spécifiée par P et C.
Le spécificateur de port (P) spécifie le compteur à grande vitesse ou la sortie
d’impulsions à contrôler.
P
Fonction
000
Indique l’entrée du compteur à grande vitesse (entrées 00000, 00001 et
00002), la fréquence d’entrée de commande d’impulsions synchronisée
(entrées 00000, 00001 et 00002), la sortie d’impulsions monophasée 0
sans accélération/décélération (sorties 01000 et 01001), la sortie d’impulsions monophasée 0 avec accélération/décélération trapézoïdale (sortie
01000), ou la sortie de commande d’impulsions synchronisée 0 (sortie
01000/01001).
010*
100*
Indique la sortie d’impulsions monophasée 1 sans accélération/décélération (sortie 01001) ou la sortie de commande d’impulsions 1 (sortie
01001).
Indique l’entrée d’interruptions 0 en mode compteur (entrée 00003).
101*
Indique l’entrée d’interruptions 1 en mode compteur (entrée 00004).
102*
Indique l’entrée d’interruptions 2 en mode compteur (entrée 00005).
103*
Indique l’entrée d’interruptions 3 en mode compteur (entrée 00006).
Rem. *Ces configurations ne peuvent être utilisées que sur les API des
CPM2A/CPM2C.
Les paramètres C indiquent l’accès à tel ou tel type de données
C
000
001
Fonction
Lit la PV de l’entrée du compteur à grande vitesse
ou de l’entrée d’interruptions (mode compteur) ou la
fréquence d’entrée de commande d’impulsions synchronisée.
Lit l’état de la sortie du compteur à grande vitesse
ou de la sortie d’impulsions.
Mot(s) de
destination
D et D+1
D
002
Lit les résultats de comparaison de plages.
D
003*
Lit la PV de la sortie d’impulsions.
D et D+1
Rem. *Ces configurations ne peuvent être utilisées que sur les API des
CPM2A/CPM2C.
Lecture de la PV (C=000)
Lorsque C est égal à 000, PRV(62) lit la PV du compteur à grande vitesse ou de
l’entrée d’interruptions spécifiée (mode compteur).
PV du compteur à grande vitesse ou fréquence d’entrée (P=000)
Lorsque la sortie est utilisée pour un compteur à grande vitesse, PRV(62) lit la
PV du compteur à grande vitesse spécifié et écrit la valeur BDC à 8 digits dans D
et D+1 (les 4 digits de gauche sont écrits dans D+1).
La PV peut être comprise entre F838 8608 et 0838 8607 en mode bidirectionnel,
entrée d’impulsions polarisées, ou entrée avance/retour. Le “F hexadécimal”
dans le premier digit détermine le signe.
La PV peut être comprise entre 0000 0000 et 1677 7215 en mode progressif.
Lorsque la sortie est utilisée pour la commande d’impulsions synchronisée,
PRV(62) lit la fréquence d’entrée et écrit la valeur BDC à 8 digits dans D et D+1.
La fréquence d’entrée peut être comprise entre 0000 0000 et 0002 0000.
349
Chapitre 7-15
Instructions de temporisation et de comptage
PV d’entrée d’interruptions (P=100 à 103)
PRV(62) lit la PV de l’entrée d’interruptions (mode compteur) et écrit la valeur
hexadécimale à 4 digits (0000 à FFFF) dans D.
Lecture de l’état (C=001)
Lorsque C est égal à 001, PRV(62) lit l’état de fonctionnement du compteur à
grande vitesse ou de la sortie d’impulsions spécifié(e) et écrit les données dans
D.
Etat du compteur à grande vitesse ou de la sortie d’impulsions 0 (P=000)
Le tableau suivant monte la fonction des bits de D quand P=000. Les bits non
listés dans le tableau ne sont pas utilisés et sont toujours à 0.
Utilisation
Compteur à
grande
g
vitesse
Sortie d’impulsions
Bit
00
01
05
06
07
08
09
Fonction
Etat de la comparaison du compteur à grande vitesse
(0 : arrêtée ; 1 : comparaison)
Dépassement positif/négatif du compteur à grande vitesse.
(0 : normal ; 1 : un dépassement négatif/positif s’est produit)
Nombre total d’impulsions spécifiées pour la sortie d’impulsions 0.
(0 : non spécifié ; 1 : spécifié)
Sortie d’impulsions 0 terminée.
(0 : non terminé ; 1 : terminé)
Etat de la sortie d’impulsions 0 (0 : arrêtée ; 1 : en cours)
Dépassement négatif/positif indiqué par la PV de la sortie
d’impulsions 0.
(0 : normal ; 1 : un dépassement négatif/positif s’est produit)
Accélération de la sortie d’impulsions 0
0 : constante ; 1 : accélération ou ralentissement)
Etat de la sortie d’impulsions 1 (P=010)
Le tableau suivant monte la fonction des bits de D quand P=010. Les bits non
listés dans le tableau ne sont pas utilisés et sont toujours à 0.
Bit
05
Fonction
06
Nombre total d’impulsions spécifiées pour la sortie d’impulsions 1.
(0 : non spécifié ; 1 : spécifié)
Sortie d’impulsions 1 terminée. (0 : non terminée ; 1 : terminée)
07
Etat de la sortie d’impulsions 1 (0 : arrêtée ; 1 : en cours)
08
Dépassement négatif/positif indiqué par la PV de la sortie d’impulsions 1.
(0 : normal ; 1 : un dépassement négatif/positif s’est produit)
09
Accélération de la sortie d’impulsions 1
(0 : constante ; 1 : accélération ou ralentissement)
Lecture des résultats de
comparaison de plages
(C=002)
Lorsque C est égal à 002, PRV(62) lit les résultats de comparaison de la PV aux
8 plages définies par CTBL(63) et écrit ces données dans D. Les bits 00 à 07 de
D contiennent les drapeaux de résultats de comparaison aux plages 1 à 8
(0 : hors de la plage ; 1 : dans la plage).
Lecture de la PV de
sortie d’impulsions
(C=003)
Lorsque C est égal à 003, PRV(62) lit la PV de la sortie d’impulsions et écrit la
valeur BCD à 8 digits dans D et D+1. Les 4 digits de gauches sont écrits dans
D+1.
La PV peut être comprise entre --16 777 215 et 16 777 215. Le bit 15 de D+1
détermine le signe ; ce nombre est négatif lorsque le bit 15 est sur ON, positif s’il
est sur OFF.
Drapeaux
ER :
Le spécificateur de port et le paramètre C sont incompatibles. Par
exemple : P=010 et C=000.
L’adresse indiquée pour D ou D+1 dépasse la limite de la zone de données.
Les valeurs des opérandes sont imprécises.
350
Instructions de temporisation et de comptage
Chapitre 7-15
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
PRV(62) est exécutée dans un sous-programme d’interruption alors
qu’une entrée-sortie d’interruption ou une instruction de comptage à
grande vitesse (INI(61), PRV(62), CTBL(63), SPED(64), PULS(65),
ACC(----), PWM(----) ou SYNC(----)) est exécutée dans le programme
principal.
351
Chapitre 7-16
Instructions de décalage
7-16 Instructions de décalage
7-16-1
SHIFT REGISTER -- SFT(10)
Symboles à contacts
Zones de données d’opérandes
St : Mot de départ (Starting word)
I
SFT(10)
IR, SR, AR, HR, LR
P
St
R
E : Mot de fin (End word)
E
IR, SR, AR, HR, LR
Limitations
E doit être supérieur ou égal à St et St et E doivent être dans la même zone de
données.
Losqu’une adresse de bit, dans un des mots utilisés dans un registre de
décalage, est également utilisé dans une instruction qui commande l’état de
chaque bit (par exemple, OUT, KEEP(11)), une erreur (“COIL/OUT DUPL”) est
générée quand la syntaxe du programme est vérifiée sur la console de
programmation ou sur un autre périphérique de programmation. Le programme,
cependant, sera exécuté tel quel. Voir Exemple 2 : contrôle des bits dans les
registres de décalage, relatif à un exemple de programmation réalisant cette
opération.
Description
SFT(10) est commandée par trois conditions d’exécution, I, P et R. Si SFT(10)
est exécutée et 1) la condition P d’exécution est ON et était OFF lors de la
dernière exécution et alors 2) R est OFF, et la condition d’exécution I est décalée
vers le bit de droite d’un registre à décalage défini entre St et E : si I est ON, un 1
est décalé dans le registre ; si I est OFF, un 0 y est décalé. Quand I est décalé
dans le registre, tous les bits précédemment dans le registre sont décalés vers
la gauche et le bit de gauche est perdu.
E
St+1, St+2, ...
Données
perdues
St
Exécution de la condition I
La condition d’exécution sur P fonctionne comme une instruction sur
changement d’état : I ne sera décalé dans le registre que lorsque P est ON et
était OFF la dernière fois que SFT(10) a été exécutée. Lorsque la condition
d’exécution P n’a pas changée ou est passée de ON à OFF, le registre à
décalage demeurera inchangé.
St désigne le mot de droite du registre à décalage ; E indique le mot de gauche.
Le registre à décalage comprend ces deux mots et les mots qui les séparent. Un
même mot peut être défini pour St et E afin de créer un unique registre à
décalage de 16 bits (de 1-mot).
Quand la condition d’exécution R est sur ON, tous les bits du registre à décalage
seront mis sur OFF (à 0) et le registre à décalage ne fonctionnera que lorsque R
passera de nouveau sur OFF.
Drapeaux
ER :
Exemple
L’exemple suivant utilise le bit d’impulsion d’horloge d’une seconde (25502) de
sorte que la condition d’exécution générée par 00000 soit décalée vers HR 00 à
352
St et E ne sont pas dans la même zone ou St est plus grand que E.
Chapitre 7-16
Instructions de décalage
chaque seconde. La sortie 20000 passe sur ON chaque fois qu’un “1” est décalé
vers HR 0007.
00000
Adresse
I
SFT(10)
25502
P
HR 00
00001
R
HR 00
0007
20000
7-16-2
Instruction
00000
00001
00002
00003
LD
LD
LD
SFT(10)
00004
00005
LD
OUT
Opérandes
HR
HR
HR
00000
25502
00001
00
00
0007
20000
WORD SHIFT -- WSFT(16)
Symboles à contacts
Zones de données d’opérandes
St : Mot de départ (Starting word)
Limitations
WSFT(16)
@WSFT(16)
St
St
E
E
IR, SR, AR, DM, HR, LR
E : Mot de fin (End word)
IR, SR, AR, DM, HR, LR
St et E doivent être dans la même zone de données et E doit être supérieur ou
égal à St.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E.
Description
Lorsque la condition d’exécution est OFF, WSFT(16) n’est pas exécutée.
Lorsque la condition d’exécution est ON, l’instruction WSFT(16) décale les
données entre St et E en unités de mot. Des zéros sont écrits dans St et le
contenu de E est perdu.
E
F
0
St + 1
C 2
3
4
5
St
2
1
0
2
9
Perdu
0000
E
3
Drapeaux
ER :
4
St + 1
5
2
1
0
2
St
9
0
0
0
0
Les mots St et E sont dans des zones différentes ou St est plus grand
que E.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
353
Chapitre 7-16
Instructions de décalage
7-16-3
ARITHMETIC SHIFT LEFT -- ASL(25)
Symboles à contacts
ASL(25)
@ASL(25)
Wd
Wd
Zones de données d’opérandes
Wd : Décalage de mot (Shift word)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd.
Description
Lorsque la condition d’exécution est OFF, ASL(25) n’est pas exécutée. Lorsque
la condition d’exécution est ON, ASL(25) décale un 0 dans le bit 00 de Wd,
décale les bits de Wd d’un bit vers la gauche et décale l’état du bit 15 vers CY.
CY
Bit
Bit
15
00
1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1
0
Conseils d’utilisation
Un 0 sera décalé dans le bit 00 à chaque cycle lorsque ASL(25) est utilisée sous
forme simple. Utiliser la forme sur changement d’état (@ASL(25)) ou combiner
ASL(25) avec DIFU(13) ou DIFD(14) pour n’opérer qu’un décalage.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
CY :
Reçoit l’état du bit 15.
EQ :
ON lorsque le contenu de Wd est zéro ; sinon OFF.
7-16-4
ARITHMETIC SHIFT RIGHT -- ASR(26)
Symboles à contacts
ASR(26)
@ASR(26)
Wd
Wd
Zones de données d’opérandes
Wd : Décalage de mot (Shift word)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd.
Description
Lorsque la condition d’exécution est OFF, ASR(25) n’est pas exécutée. Lorsque
la condition d’exécution est ON, ASR(25) décale un 0 vers le bit 15 de Wd,
décale les bits de Wd d’un bit vers la droite et décale l’état du bit 00 vers CY.
Bit
Bit
15
00
1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0
CY
0
Conseils d’utilisation
Un 0 sera décalé dans le bit 15 à chaque cycle lorsque ASR(26) est utilisée sous
forme simple. Utiliser la forme sur changement d’état (@ASR(26)) ou combiner
ASR(26) avec DIFU(13) ou DIFD(14) pour n’opérer qu’un décalage.
Drapeaux
ER :
354
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Chapitre 7-16
Instructions de décalage
7-16-5
CY :
Reçoit l’état du bit 00.
EQ :
ON lorsque le contenu de Wd est zéro ; sinon OFF.
ROTATE LEFT -- ROL(27)
Symboles à contacts
ROL(27)
@ROL(27)
Wd
Wd
Zones de données d’opérandes
Wd : Rotation de mot (Rotate word)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd.
Description
Lorsque la condition d’exécution est OFF, ROL(27) n’est pas exécutée. Lorsque
la condition d’exécution est ON, ROL(27) décale tous les bits de Wd d’un bit vers
la gauche, décale CY vers le bit 00 de Wd et le bit 15 de Wd vers CY.
CY
Bit
15
Bit
00
0
1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1
Conseils d’utilisation
Utiliser STC(41) pour définir l’état de CY ou CLC(41) de façon à réinitialiser l’état
de CY avant d’opérer une rotation et s’assurer ainsi que CY contient l’état
approprié avant d’exécuter ROL(27).
CY sera décalé vers le bit 00 à chaque cycle lorsque ROL(27) est utilisée sous
forme simple. Utiliser la forme sur changement d’état (@ROL(27)) ou combiner
ROL(27) avec DIFU(13) ou DIFD(14) pour n’opérer qu’un décalage.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
CY :
Reçoit les données du bit 15.
EQ :
ON lorsque le contenu de Wd est zéro ; sinon OFF.
7-16-6
ROTATE RIGHT -- ROR(28)
Symboles à contacts
ROR(28)
@ROR(28)
Wd
Wd
Zones de données d’opérandes
Wd : Rotation de mot (Rotate word)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd.
Description
Lorsque la condition d’exécution est OFF, ROR(28) n’est pas exécutée.
Lorsque la condition d’exécution est ON, ROR(28) décale tous les bits de Wd
d’un bit vers la droite, décale CY vers le bit 15 de Wd et le bit 00 de Wd vers CY.
CY
Bit
15
Bit
00
0
0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1
355
Chapitre 7-16
Instructions de décalage
Conseils d’utilisation
Utiliser STC(41) de façon à définir l’état de CY ou CLC(41) afin de réinitialiser
l’état de CY avant d’opérer une rotation et s’assurer ainsi que CY contient l’état
approprié avant d’exécuter ROR(28).
CY sera décalé vers le bit 15 à chaque cycle lorsque ROR(28) est utilisée sous
forme simple. Utiliser la forme sur changement d’état (@ROR(28)) ou combiner
ROR(28) avec DIFU(13) ou DIFD(14) pour n’opérer qu’un décalage.
Drapeaux
7-16-7
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
CY :
Reçoit les données du bit 00.
EQ :
ON lorsque le contenu de Wd est zéro ; sinon OFF.
ONE DIGIT SHIFT LEFT -- SLD(74)
Symboles à contacts
Zones de données d’opérandes
St : Mot de départ (Starting word)
Limitations
SLD(74)
@SLD(74)
St
St
E
E
IR, SR, AR, DM, HR, LR
E : Mot de fin (End word)
IR, SR, AR, DM, HR, LR
St et E doivent être dans la même zone de données et E doit être supérieur ou
égal à St.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E.
Description
Lorsque la condition d’exécution est OFF, SLD(74) n’est pas exécutée. Lorsque
la condition d’exécution est ON, SLD(74) décale les données entre St et E
(inclus) d’un digit (quatre bits) vers la gauche. Un 0 est écrit dans le digit de droite
de St et le contenu du digit de gauche de E est perdu.
E
...
8 F C 5
Donnée perdue
Conseils d’utilisation
St
D 7 9 1
0
Lorsqu’une panne de courant se produit pendant une opération de décalage à
travers plus de 50 mots, l’opération de décalage ne pourra être accomplie.
Un 0 sera décalé vers le digit de poids faible de St à chaque cycle lorsque
SLD(74) est utilisée sous forme simple. Utiliser la forme sur changement d’état
(@SLD(74)) ou combiner SLD(74) avec DIFU(13) ou DIFD(14) pour n’opérer
qu’un décalage.
Drapeaux
ER :
Les mots St et E sont dans des zones différentes ou St est supérieur à
E.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
356
Chapitre 7-16
Instructions de décalage
7-16-8
ONE DIGIT SHIFT RIGHT -- SRD(75)
Symboles à contacts
Zones de données d’opérandes
E : Mot de fin (End word)
SRD(75)
@SRD(75)
E
E
St
St
IR, SR, AR, DM, HR, LR
St : Mot de départ (Starting word)
IR, SR, AR, DM, HR, LR
Limitations
St et E doivent être dans la même zone de données et E doit être inférieur ou
égal à St.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E.
Description
Lorsque la condition d’exécution est OFF, SRD(75) n’est pas exécutée. Lorsque
la condition d’exécution est ON, SRD(75) décale les données comprises entre
St et E (inclus) d’un digit (quatre bits) vers la droite. 0 est écrit dans le digit de
gauche de St et le digit de droite de E est perdu.
St
3 4 5 2
...
E
F 8 C 1
Donnée perdue
0
Conseils d’utilisation
Lorsqu’une panne de courant se produit pendant une opération de décalage à
travers plus de 50 mots, l’opération de décalage ne pourra être accomplie.
Un 0 sera décalé vers le digit de poids fort de St à chaque cycle lorsque SLD(75)
est utilisée sous forme simple. Utiliser la forme sur changement d’état
(@SLD(75)) ou combiner SLD(74) avec DIFU(13) ou DIFD(14) pour n’opérer
qu’un décalage.
Drapeaux
ER :
7-16-9
Les mots St et E sont des zones différentes ou St est inférieur à E.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
REVERSIBLE SHIFT REGISTER -- SFTR(84)
Zones de données d’opérandes
Symboles à contacts
C : Mot de commande (Control word)
IR, SR, AR, DM, HR, LR
SFTR(84)
@SFTR(84)
C
C
St
St
E
E
St : Mot de départ (Starting word)
IR, SR, AR, DM, HR, LR
E : Mot de fin (End word)
IR, SR, AR, DM, HR, LR
Limitations
St et E doivent être dans la même zone de données et St doit être inférieur ou
égal à E.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour C, St ou E.
Description
SFTR(84) est utilisée pour créer un registre à décalage à un ou plusieurs mots
pouvant décaler des données vers la droite ou vers la gauche. Pour créer un
357
Chapitre 7-16
Instructions de décalage
registre à un mot, indiquer le même mot pour St et E. Le mot de commande
indique le sens de décalage, l’état devant être placé dans le registre, l’impulsion
de décalage et l’entrée de remise à zéro. Le mot de commande est configuré de
la façon suivante :
15
14
13
12
Non utilisé.
Sens de décalage
1 (ON) : Gauche (MSB vers LSB)
0 (OFF) : Droite (LSB à MSB)
Etat à placer dans le registre
Bit d’impulsion de décalage
Remise à zéro
Les données contenues dans le registre à décalage seront décalées d’un bit
dans le sens indiqué par le bit 12, ce qui entraînera un décalage d’un bit vers CY
et décalerat l’état du bit 13 vers l’autre extrémité chaque fois que SFTR(84) sera
exécutée avec une conditon ON, aussi longtemps que le bit de remise à zéro est
sur OFF et le bit 14 sur ON. Lorsque SFTR(84) est exécutée avec une condition
OFF ou lorsque SFTR(84) est exécutée avec le bit 14 sur OFF, le registre à
décalage demeurera inchangé. Lorsque SFTR(84) est exécutée avec une
condition ON et lorsque le bit de remise à zéro (bit 15) est sur OFF, tout le
registre à décalage et le CY seront mis à zéro.
Drapeaux
ER :
St et E ne sont pas dans la même zone de données ou ST est plus grand
que E.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
CY :
Exemple
Reçoit l’état du bit 00 de St ou 15 bits de E, selon le sens de décalage.
Dans l’exemple suivant, IR 00000, IR 00001, IR 00002 et IR 00003 sont utilisés
pour commander le bit de C utilisé en @SFTR(84). Le registre à décalage est
dans DM 0010 et est commandé par IR 00004.
Adresse
00000
20012
Direction
20013
Etat en entrée
20014
Impulsion de
décalage
20015
Remise à zéro
00001
00002
00003
Opérandes
LD
OUT
LD
OUT
LD
OUT
LD
OUT
LD
@SFTR(84)
00000
20012
00001
20013
00002
20014
00003
20015
00004
DM
DM
00004
@SFTR(84)
200
DM 0010
DM 0011
358
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
Instruction
200
0010
0011
Chapitre 7-16
Instructions de décalage
7-16-10 ASYNCHRONOUS SHIFT REGISTER -- ASFT(17)
Zones de données d’opérandes
Symboles à contacts
C : Mot de commande (Control word)
IR, SR, AR, DM, HR, LR, #
ASFT(17)
@ASFT(17)
St : Mot de départ (Starting word)
C
C
IR, SR, AR, DM, HR, LR
St
St
E
E
E : Mot de fin (End word)
IR, SR, AR, DM, HR, LR
Rem. ASFT(17) est une instruction d’expansion du SRM1(-V2). Le code de fonction
17 est configuré en usine et peut être modifié pour le SRM1(-V2) si désiré.
Limitations
St et E doivent être dans la même zone de données et E doit être supérieur ou
égal à St.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E.
Description
Lorsque la condition d’exécution est OFF, ASFT(17) n’exécute aucune fonction
et le programme passe à l’instruction suivante. Lorsque la condition d’exécution
est ON, ASFT(17) est utilisée pour la création et le contrôle d’un registre à
décalage asynchrone réversible de mots entre St et E. Il ne décale les mots que
lorsque le mot suivant dans le registre contient la valeur zéro ; lorsqu’aucun mot
dans le registre ne contient la valeur zéro, aucun décalage n’a lieu. En outre, un
seul mot est décalé pour chaque mot du registre contenant la valeur zéro.
Lorsque le contenu d’un mot est décalé vers le mot suivant, le contenu du mot
initial est mis à zéro. Donc, lorsque le registre est décalé, chaque mot à zéro
dans le registre change de place avec le mot suivant (voir Exemple ci-dessous).
Le sens de décalage (le “mot suivant” étant le mot immédiatement supérieur ou
immédiatement inférieur) est indiqué en C. C est également utilisé pour
remettre à zéro le registre. La totalité, ou une partie, du registre peut être remise
à zéro en indiquant la partie désirée avec St et E.
Mot de commande
Les bits 00 à 12 de C sont non utilisés. Le bit 13 est le sens de décalage : mettre
le bit 13 à ON pour opérer un décalage vers le bas (vers les mots adressés
inférieurs) et à OFF pour opérer un décalage vers le haut (vers les mots
adressés supérieurs). Le bit 14 est le bit de validation de décalage : mettre le bit
14 sur ON pour activer le registre à décalage selon la position du bit 13, et sur
OFF pour désactiver le registre. Le bit 15 est le bit de remise à zéro : le registre
sera remis à zéro entre St et E lorsque ASFT(17) sera exécutée, le bit 15 étant
sur ON. Mettre le bit 15 sur OFF en mode de fonctionnement normal.
Rem. Lorsque la forme simple d’ASFT(17) est utilisée, les données seront décalées à
chaque cycle lorsque la condition d’exécution est ON. Pour éviter ceci, utiliser la
forme sur changement d’état.
Drapeaux
ER :
Les mots St et E words sont dans une zone différente ou St est
supérieur à E.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
359
Chapitre 7-17
Instructions de transfert de données
Exemple
L’exemple suivant utilise l’instruction ASFT(17) pour décaler des mots dans un
registre à décalage de 11 mots créés entre DM 0100 et DM 0110 avec C=#6000.
Les données différentes de zéro sont décalées vers St (DM 0110).
00000
ASFT(17)
#6000
DM 0100
Adresse
Instruction
00000
00001
Opérandes
LD
ASFT(17)
00000
#
DM
DM
DM 0110
6000
0100
0110
Après sept
exécutions
Avant
exécution
Après une
exécution
DM 0100
1234
1234
1234
DM 0101
0000
0000
2345
DM 0102
0000
2345
3456
DM 0103
2345
0000
4567
DM 0104
3456
3456
5678
DM 0105
0000
4567
6789
DM 0106
4567
0000
789A
DM 0107
5678
5678
0000
DM 0108
6789
6789
0000
DM 0109
0000
789A
0000
DM 0110
789A
0000
0000
Rem. Les zéros sont “décalés vers le haut” lorsque C=4000, et tout le registre à
décalage est mis à zéro lorsque C=8000.
7-17 Instructions de transfert de données
7-17-1
MOVE -- MOV(21)
Symboles à contacts
Zones de données d’opérandes
S : Mot d’origine (Source word)
MOV(21)
@MOV(21)
S
S
D
D
IR, SR, AR, DM, HR, TC, LR, #
D : Mot de destination (Dest. word)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Lorsque la condition d’exécution est OFF, MOV(21) n’est pas exécutée.
Lorsque la condition d’exécution est ON, MOV(21) copie le contenu de S dans
D.
Mot d’origine
Mot de destination
Etat des bits
inchangé.
Conseils d’utilisation
360
Des valeurs TC ne peuvent pas être spécifiées en D pour changer la PV de
temporisation ou de comptage. La PV de temporisation ou de comptage se
modifie facilement en utilisant BSET(71).
Chapitre 7-17
Instructions de transfert de données
Drapeaux
Exemple
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque tous les zéros sont transférés en D.
Les exemples suivants utilisent @MOV(21) pour copier le contenu de IR 001
dans HR 05 lorsque IR 00000 passe de OFF à ON.
00000
@MOV(21)
001
HR 05
Adresse
Instruction
00000
00001
LD
@MOV(21)
Opérandes
00000
HR
7-17-2
IR 000
0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1
HR 05
0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1
001
05
MOVE NOT -- MVN(22)
Symboles à contacts
Zones de données d’opérandes
S : Mot d’origine (Source word)
MVN(22)
@MVN(22)
S
S
D
D
IR, SR, AR, DM, HR, TC, LR, #
D : Mot de destination (Dest. word)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Lorsque la condition d’exécution est OFF, MVN(22) n’est pas exécutée.
Lorsque la condition d’exécution est ON, MVN(22) transfère le contenu inversé
de S (mot indiqué ou constante à quatre digits hexadécimaux) à D : pour chaque
bit à l’état ON en S, le bit correspondant dans D est sur OFF et pour chaque bit à
l’état OFF en S, le bit correspondant dans D est mis à 1.
Mot d’origine
Mot de destination
Etat des bits
inversé.
Conseils d’utilisation
Des valeurs TV ne peuvent pas être spécifiées en D pour changer la PV de
temporisation ou de comptage. La PV de temporisation ou de comptage se
modifie facilement en utilisant BSET(71).
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque tous les zéros sont transférés en D.
361
Chapitre 7-17
Instructions de transfert de données
Exemple
Les exemples suivants utilisent @MVN(22) pour copier le complément de
#F8C5 dans DM 0010 lorsque IR 00001 passe de OFF à ON.
00001
@MVN(22)
#F8C5
DM 0010
Adresse
Instruction
00000
00001
LD
@MOV(21)
Opérandes
00001
#
DM
7-17-3
#F8C5
1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1
DM 0010
0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0
F8C5
0010
BLOCK TRANSFER -- XFER(70)
Zones de données d’opérandes
Symboles à contacts
N : Nombre de mots (BCD)
IR, SR, AR, DM, HR, TC, LR, #
XFER(70)
@XFER(70)
N
N
S
S
D
D
S : Mot source de départ
Limitations
IR, SR, AR, DM, HR, TC, LR
D : Mot de destination de départ
IR, SR, AR, DM, HR, TC, LR
S et S+N doivent être dans la même zone de données, de même que D et D+N.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Drapeaux
Lorsque la condition d’exécution est OFF, XFER(70) n’est pas exécutée.
Lorsque la condition d’exécution est ON, XFER(70) copie le contenu de S,
S+1, ..., S+N dans D, D+1, ..., D+N.
ER :
S
D
3 4 5 2
3 4 5 2
S+1
D+1
3 4 5 1
3 4 5 1
S+2
D+2
3 4 2 2
3 4 2 2
S+N
D+N
6 4 5 2
6 4 5 2
N n’est pas une valeur BCD.
S et S+N ou D et D+N ne sont pas dans la même zone de données.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
362
Chapitre 7-17
Instructions de transfert de données
7-17-4
BLOCK SET -- BSET(71)
Zones de données d’opérandes
Symboles à contacts
S : Données de base (Source data)
IR, SR, AR, DM, HR, TC, LR, #
BSET(71)
@BSET(71)
S
S
St
St
E
E
St : Mot de départ (Starting word)
IR, SR AR, DM, HR, TC, LR
E : Mot de fin (End Word)
IR, SR, AR, DM, HR, TC, LR
Limitations
St doit être inférieure ou égale à E, et St et E doivent être dans la même zone de
données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E.
Description
Lorsque la condition d’exécution est OFF, BSET(71) n’est pas exécutée.
Lorsque la condition d’exécution est ON, BSET(71) copie le contenu de S dans
tous les mots de St à E.
S
St
3 4 5 2
3 4 5 2
St+1
3 4 5 2
St+2
3 4 5 2
E
3 4 5 2
BSET(71) peut être utilisée pour changer la PV de temporisation/comptage.
Ceci ne peut être effectué avec MOV(21) ou MVN(22). BSET(71) peut
également être utilisée pour effacer des parties d’une zone de données : la zone
DM, afin de préparer l’exécution d’autres instructions. Elle peut également être
utilisée pour effacer des mots en y transférant des zéros.
Drapeaux
ER :
St et E ne sont pas dans la même zone de données ou St est plus grand
que E.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Exemple
L’exemple suivant montre comment utiliser BSET(71) pour copier une
constante (#0000) dans un bloc de la zone DM (DM 0000 à DM 0500)
lorsque IR 00000 est sur ON.
00000
@BSET(71)
#0000
DM 0000
DM 0500
Adresse
Instruction
00000
00001
LD
@BSET(71)
Opérandes
00000
#
DM
DM
0000
0000
0500
363
Chapitre 7-17
Instructions de transfert de données
7-17-5
DATA EXCHANGE -- XCHG(73)
Symboles à contacts
Zones de données d’opérandes
E1 : Mot 1 échangé
XCHG(73)
@XCHG(73)
E1
E1
E2
E2
IR, SR, AR, DM, HR, TC, LR
E2 : Mot 2 échangé
IR, SR, AR, DM, HR, TC, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour E1 ou E2.
Description
Lorsque la condition d’exécution est OFF, XCHG(73) n’est pas exécutée.
Lorsque la condition d’exécution est ON, XCHG(73) permute le contenu d’E1 et
d’E2.
E1
E2
Pour permuter le contenu de blocs dont la taille est supérieure à un mot, utiliser
les mots de travail comme un tampon intermédiaire pour contenir l’un des blocs,
en utilisant trois fois XFER(70).
Drapeaux
7-17-6
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
SINGLE WORD DISTRIBUTE -- DIST(80)
Zones de données d’opérandes
Symboles à contacts
S : Données sources
IR, SR, AR, DM, HR, TC, LR, #
DIST(80)
@DIST(80)
S
S
DBs
DBs
C
C
DBs : Mot de base de destination
IR, SR, AR, DM, HR, TC, LR
C : Mot de commande (BCD)
IR, SR, AR, DM, HR, TC, LR, #
Limitations
C doit être sous forme BCD.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour des DBs ou des C.
Description
DIST(80) peut être utilisée pour une distribution de mots simples ou pour une
opération utilisant une batterie, spécifiée par le mot de commande C.
Distribution de mots
simples
Lorsque les bits 12 à 15 de C=0 à 8, DIST(80) peut être utilisée pour une
distribution de mots simples. Le contenu entier de C indique un décalage Of
(0000 à 2047 dans une valeur BCD).
Lorsque la condition d’exécution est OFF, DIST(80) n’est pas exécutée.
Lorsque la condition d’exécution est ON, DIST(80) copie le contenu de S dans
DBs+Of : Of est ajouté à DBs pour déterminer le mot de destination.
Rem. DBs et DBs+Of doivent être dans la même zone de données et ne peuvent pas
être compris entre DM 6144 et DM 6655.
Exemple
L’exemple suivant montre comment utiliser DIST(80) pour copier #00FF dans
364
Chapitre 7-17
Instructions de transfert de données
HR 10 + Of. Le contenu de LR 10 est #3005, #00FF est copié dans HR 15 (HR 10
+ 5) lorsque IR 00000 est sur ON.
00000
@DIST(80)
#00FF
Adresse
Instruction
00000
00001
LD
@DIST(80)
HR 10
Opérandes
00000
#
HR
LR
LR 10
LR 10
#00FF
HR 10
3 0 0 5
0 0 F F
0 0 0 0
00FF
10
10
HR 15
5 décalages
0 0 F F
Operation utilisant une
batterie
Lorsque les bits 12 à 15 de C=9, DIST(80) s’utilise pour une opération utilisant
une batterie. Les 3 autres digits de C indiquent le nombre de mots de la batterie
(000 à 999 dans un BCD). DBs contient l’indicateur de la batterie.
Lorsque la condition d’exécution est OFF, DIST(80) n’est pas exécutée.
Lorsque la condition d’exécution est ON, DIST(80) copie le contenu de S dans
DBs+1 + le contenu de DBs. En d’autres termes, 1 et le contenu de DBs sont
ajoutés à DBs pour déterminer le mot de destination. Le contenu de DBs est
alors incrémenté de 1.
Rem.
1. DIST(80) sera exécutée à chaque cycle, sauf lorsque la forme sur
changement d’état (@DIST(80)) est utilisée ou lorsque DIST(80) est
utilisée avec DIFU(13) ou DIFD(14).
2. Initialiser l’indicateur de la batterie avant d’utiliser DIST(80) pour une
opération utilisant une batterie.
Exemple
L’exemple suivant montre comment utiliser DIST(80) pour créer une batterie
entre DM 0001 et DM 0005. DM 0000 fait office d’indicateur de batterie.
00000
@DIST(80)
200
Adresse
Instruction
00000
00001
LD
@DIST(80)
Opérandes
00000
DM 0000
216
Drapeaux
IR 200
FFFF
IR 216
9005
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0000
0000
0000
0000
0000
0000
Première
exécution
Indicateur de
batterie
incrémenté
ER :
DM
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0001
FFFF
0000
0000
0000
0000
Deuxième
exécution
Indicateur de
batterie
incrémenté
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
200
0000
216
0002
FFFF
FFFF
0000
0000
0000
Le décalage ou la longueur de la batterie dans le mot de commande
n’est pas une valeur BCD.
365
Chapitre 7-17
Instructions de transfert de données
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Durant l’utilisation de la batterie, la valeur de l’indicateur de batterie + 1
est supérieure à la longueur de la batterie.
EQ :
7-17-7
ON quand le contenu de S est de zéro ; sinon OFF.
DATA COLLECT -- COLL(81)
Zones de données d’opérandes
SBs : Mot de base source
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR
COLL(81)
@COLL(81)
SBs
SBs
C
C
D
D
C : Mot de commande (BCD)
IR, SR, AR, DM, HR, TC, LR, #
D : Mot de destination
IR, SR, AR, DM, HR, TC, LR
Limitations
C doit être sous forme BCD.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
COLL(81) peut être utilisée pour la collecte de données, une opération utilisant
une batterie FIFO ou une opération utilisant une batterie LIFO spécifiée par le
mot de commande C.
Collecte de données
Lorsque les bits 12 à 15 de C=0 à 7, COLL(81) est utilisée pour la collecte de
données. Le contenu de C indique un décalage Of (0000 à 2047 en BCD).
Lorsque la condition d’exécution est OFF, COLL(81) n’est pas exécutée.
Lorsque la condition d’exécution est ON, COLL(81) copie le contenu de
SBs + Of dans D : Of est ajouté à SBs pour déterminer le mot source.
Rem. SBs et SBs+Of doivent être dans la même zone de données.
Exemple
L’exemple suivant montre comment utiliser COLL(81) pour copier le contenu de
DM 0000+Of dans LR 00. Le contenu de 200 est #0005, ainsi le contenu de
DM 0005 (DM 0000 + 5) est donc copié dans LR 00 lorsque IR 00001 passe à
l’état ON.
00001
@COLL(81)
DM 0000
Adresse
Instruction
00000
00001
LD
@COLL(81)
200
Opérandes
00001
DM
LR 00
LR
200
DM 0000
LR 00
0 0 0 5
0 0 0 0
0 0 F F
0000
200
00
DM 0005
0 0 F F
Opération utilisant une
batterie FIFO
366
Lorsque les bits 12 à 15 de C=9, COLL(81) peut être utilisée pour une opération
utilisant une batterie FIFO. Les 3 autres digits de C indiquent le nombre de mots
Chapitre 7-17
Instructions de transfert de données
dans la batterie (000 à 999 dans une valeur BCD). SBs contient l’indicateur de la
batterie.
Lorsque la condition d’exécution est ON, COLL(81) décale le contenu de
chaque mot dans la batterie d’une adresse vers le bas et décale les données de
SBs+1 (première valeur écrite dans la batterie) vers le mot de destination (D). Le
contenu de l’indicateur de batterie (SBs) est alors décrémenté de 1.
Rem. COLL(81) est exécutée à chaque cycle, sauf lorsque la forme sur changement
d’état (@COLL(81)) est utilisée ou lorsque COLL(81) est utilisée avec DIFU(13)
ou DIFD(14).
Exemple
L’exemple suivant montre comment utiliser COLL(81) pour créer une batterie
entre DM 0001 et DM 0005. DM 0000 fait office d’indicateur de batterie.
Lorsqu’IR 00000 passe de l’état OFF à l’état ON, COLL(81) décale la partie
comprise entre DM 0002 et DM 0005 d’une adresse vers le bas et décale les
données à partir de DM 0001 vers IR 001. Le contenu de l’indicateur de batterie
(DM 0000) est alors décrémenté de 1.
00000
@COLL(81)
DM 0000
Adresse
Instruction
00000
00001
LD
@COLL(81)
216
Opérandes
00000
DM
001
Opération utilisant une
batterie LIFO
IR 216
9005
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0005
AAAA
BBBB
CCCC
DDDD
EEEE
Indicateur de
batterie décré- DM 0000
menté
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0004
BBBB
CCCC
DDDD
EEEE
EEEE
IR 001
0000
216
001
AAAA
Lorsque les bits12 à 15 de C=8, COLL(81) peut être utilisée pour une opération
utilisant une batterie LIFO. Les 3 autres digits de C indiquent le nombre de mots
dans la batterie (000 à 999 dans un BCD). SBs contient l’indicateur de la
batterie.
Lorsque la condition d’exécution est ON, COLL(81) copie les données du mot
indiqué par l’indicateur de batterie (contenu de SBs+SBs) dans le mot de
destination (D). Le contenu de l’indicateur de batterie (SBs) est alors
décrémenté de 1.
L’indicateur de batterie est le seul mot modifié dans la batterie.
Rem. COLL(81) est exécutée à chaque cycle, sauf lorsque la forme sur changement
d’état (@DIST(80)) est utilisée ou lorsque DIST(80) est utilisée avec DIFU(13)
ou DIFD(14).
Exemple
L’exemple suivant montre comment utiliser COLL(81) pour créer une batterie
entre DM 0001 et DM 0005. DM 0000 fait office d’indicateur de batterie.
367
Chapitre 7-17
Instructions de transfert de données
Lorsque IR 00000 passe de l’état OFF à l’état ON, COLL(81) copie le contenu
de DM 0005 (DM 0000 + 5) dans IR 001. Le contenu de l’indicateur de batterie
(DM 0000) est alors décrémenté de 1.
00000
Adresse
Instruction
00000
00001
LD
@COLL(81)
@COLL(81)
DM 0000
216
Opérandes
00000
DM
0000
216
001
001
Drapeaux
IR 216
8005
DM 0000
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0005
AAAA
BBBB
CCCC
DDDD
EEEE
ER :
Indicateur de
batterie décréDM 0000
menté
DM 0001
DM 0002
DM 0003
DM 0004
DM 0005
0004
AAAA
BBBB
CCCC
DDDD
EEEE
IR 001
EEEE
Le décalage ou la longueur de la batterie dans le mot de commande
n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Durant une opération utilisant une batterie, la valeur de l’indicateur de la
batterie est supérieure à la longueur de la batterie. Une tentative
d’écriture d’un mot au-delà de la batterie a été détectée.
EQ :
7-17-8
ON quand le contenu de S est de zéro ; sinon OFF.
MOVE BIT -- MOVB(82)
Zones de données d’opérandes
Symboles à contacts
S : Mot source
IR, SR, AR, DM, HR, LR, #
MOVB(82)
@MOVB(82)
S
S
Bi
Bi
D
D
Bi : Indicateur de bit (BCD)
Limitations
IR, SR, AR, DM, HR, TC, LR, #
D : Mot de destination
IR, SR, AR, DM, HR, LR
Les deux digits de droite et les deux digits de gauche de Bi doivent chacun être
compris entre 00 et 15.
DM 6144 à DM 6655 ne peuvent être utilisés pour Bi ou D.
Description
368
Lorsque la condition d’exécution est OFF, MOVB(82) n’est pas exécutée.
Lorsque la condition d’exécution est ON, MOVB(82) copie le bit spécifié de S
Chapitre 7-17
Instructions de transfert de données
dans D. Les bits dans S et D sont spécifiés par Bi. Les deux digits de droite de Bi
indiquent le bit source ; les deux bits de gauche indiquent le bit de destination.
Bit
15
Bi
Bi
MSB 1
2
0
1
Bit
00
0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
1
Bit
15
LSB
S
2
0
1
Bit
00
0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1
Bit de source (00 à 15)
Bit
15
Bit de destination (00 à 15)
D
Drapeaux
ER :
Bit
00
0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1
Bi n’est pas une valeur BCD ou il indique un bit inexistant (les bits
indiqués doivent être compris entre 00 et 15).
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
7-17-9
MOVE DIGIT -- MOVD(83)
Zones de données d’opérandes
Symboles à contacts
S : Mot d’origine (Source word)
IR, SR, AR, DM, HR, TC, LR, #
MOVD(83)
@MOVD(83)
S
S
Di
Di
D
D
Di : Indicateur de digit (BCD)
IR, SR, AR, DM, HR, TC, LR, #
D : Mot de destination (Dest. word)
IR, SR, AR, DM, HR, TC, LR
Limitations
Les trois digits de droite de Di doivent chacun être compris entre 0 et 3.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Di ou D.
Description
Lorsque la condition d’exécution est OFF, MOVD(83) n’est pas exécutée.
Lorsque la condition d’exécution est ON, MOVD(83) copie le contenu du (ou
des) digit(s) indiqué(s) de S dans le(s) digit(s) indiqué(s) dans D. Jusqu’à quatre
digits peuvent être transférés en même temps. Le premier digit à copier, le
nombre de digits à copier et le premier digit vers lequel s’effectue la copie sont
indiqués dans Di, comme illustré ci-dessous. Les digits copiés à partir de S sont
copiés dans les digits successifs de D à partir du premier digit indiqué, et ce pour
le nombre de digits spécifié. Lorsque le dernier digit est atteint dans S ou D,
d’autres digits sont utilisés en repartant du digit 0.
Nombre de
digits :
3 2 1 0
Premier digit dans S (0 à 3)
Nombre de digits (0 à 3)
0 : 1 digit
1 : 2 digits
2 : 3 digits
3 : 4 digits
Premier digit dans D (0 à 3)
Non utilisé (Mettre à 0)
369
Chapitre 7-18
Instructions de comparaison
Indicateur de digit
Les exemples suivants illustrent des transferts de données correspondant à
différentes valeurs de Di.
Di: 0010
Di: 0030
S
D
S
D
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
S
D
S
D
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
Di: 0031
Drapeaux
ER :
Di: 0023
Au moins un des trois digits de droite des Di n’est pas compris entre 0 et
3.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
7-18 Instructions de comparaison
7-18-1
COMPARE -- CMP(20)
Symboles à contacts
Zones de données d’opérandes
Cp1 : 1ère comparaison de mot
CMP(20)
IR, SR, AR, DM, HR, TC, LR, #
Cp1
Cp2 : 2ème comparaison de mot
Cp2
IR, SR, AR, DM, HR, TC, LR, #
Limitations
Pour la comparaison d’une valeur à la PV de temporisation ou de comptage,
cette valeur doit être une valeur BCD.
Description
Lorsque la condition d’exécution est OFF, CMP(20) n’est pas exécutée. Lorsque la condition d’exécution est ON, CMP(20) compare Cp1 et Cp2 et génère
les résultats dans les drapeaux GR, EQ et LE dans la zone SR.
Conseils d’utilisation
L’insertion d’autres instructions entre CMP(20) et l’opération accédant aux drapeaux EQ, LE et GR peut modifer l’état de ces drapeaux. L’accès doit avoir lieu
avant que l’état correspondant ne soit modifié.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque Cp1 est égal à Cp2.
LE :
ON lorsque Cp1est plus petit que Cp2.
GR :
ON lorsque Cp1 est plus grand que Cp2.
Drapeau
370
Adresse
C1 < C2
C1 = C2
C1 > C2
GR
25505
OFF
OFF
ON
EQ
25506
OFF
ON
OFF
LE
25507
ON
OFF
OFF
Chapitre 7-18
Instructions de comparaison
Exemple :
Sauvegarde des résultats
de CMP(20)
00000
L’exemple suivant montre comment sauvegarder immédiatement le résultat de
la comparaison. Lorsque le contenu de HR 09 est supérieur à DM 0000, 20000
passe à l’état ON. Lorsque les deux sont égaux, 20001 passe à l’état ON ; lorsque le contenu de HR 09 est inférieur à DM 0000, 20002 passe à l’état ON. Dans
certaines applications, un seul des trois OUT s’avère nécessaire, ce qui évite
d’utiliser TR 0. Dans ce type de programmation, 20000, 20001 et 20002 ne sont
modifiés que lorsque CMP(20) est exécutée.
TR
0
CMP(20)
HR 09
DM 0000
25505
20000
Plus grand
20001
Egal
20002
Plus petit
25506
25507
Adresse
Instruction
00000
00001
00002
LD
OUT
CMP(20)
Opérande
7-18-2
AND
OUT
00005
00006
00007
00008
00009
00010
00000
0
TR
HR
DM
00003
00004
Adresse
09
0000
25505
20000
Instruction
LD
AND
OUT
LD
AND
OUT
Opérande
TR
TR
0
25506
20001
0
25507
20002
TABLE COMPARE -- TCMP(85)
Zones de données d’opérandes
Symboles à contacts
CD : Données de comparaison
IR, SR, DM, HR, TC, LR, #
TCMP(85)
@TCMP(85)
CD
CD
TB
TB
R
R
TB : 1er mot du tableau de comp.
IR, SR, DM, HR, TC, LR
R : Mot de résultat
IR, SR, DM, HR, TC, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, TCMP(85) n’est pas exécutée. Lorsque la condition d’exécution est ON, TCMP(85) compare CD au contenu de TB,
de TB+1, de TB+2, ..., et de TB+15. Lorsque CD est égal au contenu de l’un de
ces mots, le bit correspondant dans R est mis sur ON ; par exemple lorsque CD
est égal au contenu de TB, le bit 00 est mis sur ON ; lorsqu’il est égal au contenu
de TB+1, le bit 01 est mis sur ON, ... ; les bits restants dans R sont mis à l’état
OFF.
Drapeaux
ER :
Le tableau de comparaison (de TB à TB+15) dépasse la zone de
données.
371
Chapitre 7-18
Instructions de comparaison
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
L’exemple suivant indique les comparaisons effectuées et les résultats apportés
pour TCMP(85). La comparaison est ici effectuée à chaque cycle lorsqu’IR 00000 est à l’état ON.
Exemple
00000
TCMP(85)
HR 00
Adresse
Instruction
00000
00001
LD
TCMP(85)
DM 0000
HR
00
Limites sup.
0210
Comparer les données dans
IR 001 aux plages indiquées.
7-18-3
00000
HR
DM
216
CD : HR 00
Opérandes
00
0000
216
R : 216
DM 0000
DM 0001
DM 0002
0100
0200
0210
IR 21600
IR 21601
IR 21602
0
0
1
DM 0003
DM 0004
DM 0005
DM 0006
0400
0500
0600
0210
IR 21603
IR 21604
IR 21605
IR 21606
0
0
0
1
DM 0007
DM 0008
DM 0009
DM 0010
DM 0011
0800
0900
1000
0210
1200
IR 21607
IR 21608
IR 21609
IR 21610
IR 21611
0
0
0
1
0
DM 0012
DM 0013
DM 0014
DM 0015
1300
1400
0210
1600
IR 21612
IR 21613
IR 21614
IR 21615
0
0
1
0
BLOCK COMPARE -- BCMP(68)
Zones de données d’opérandes
Symboles à contacts
CD : Données de comparaison
IR, SR, AR, DM, HR, TC, LR, #
BCMP(68)
@BCMP(68)
CD
CD
CB
CB
R
R
CB : 1er mot du bloc comparé
IR, SR, DM, HR, TC, LR
R : Mot de résultat
IR, SR, AR, DM, HR, TC, LR
Rem. BCMP(68) est instruction d’expansion du SRM1(-V2). Le code de fonction 68
est défini en usine et peut être modifié sur le SRM1(-V2) si désiré.
Limitations
Chaque mot de limite inférieure du bloc comparé doit être inférieur ou égal à la
limite supérieure.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
372
Chapitre 7-18
Instructions de comparaison
Description
Lorsque la condition d’exécution est OFF, BCMP(68) n’est pas exécutée. Lorsque la condition d’exécution est ON, BCMP(68) compare CD aux plages définies par un bloc constitué de CB+1, CB+2, ..., CB+31. Chaque plage est définie
par deux mots, le premier désignant la limite inférieure et le deuxième la limite
supérieure. Lorsque CD se trouve dans l’une de ces plages (limites supérieures
et inférieures incluses), le bit correspondant est placé dans R. Les comparaisons effectuées et le bit correspondant, dans R, positionné pour chaque
comparaison à l’état vrai sont indiqués ci-dessous. Les bits restants dans R passent à l’état OFF.
CB ! CD ! CB+1
Bit 00
CB+2 ! CD ! CB+3
Bit 01
CB+4 ! CD ! CB+5
Bit 02
CB+6 ! CD ! CB+7
Bit 03
CB+8 ! CD ! CB+9
Bit 04
CB+10 ! CD ! CB+11
Bit 05
CB+12 ! CD ! CB+13
Bit 06
CB+14 ! CD ! CB+15
Bit 07
CB+16 ! CD ! CB+17
Bit 08
CB+18 ! CD ! CB+19
Bit 09
CB+20 ! CD ! CB+21
Bit 10
CB+22 ! CD ! CB+23
Bit 11
CB+24 ! CD ! CB+25
Bit 12
CB+26 ! CD ! CB+27
Bit 13
CB+28 ! CD ! CB+29
Bit 14
CB+30 ! CD ! CB+31
Bit 15
Drapeaux
ER :
Le bloc comparé (entre CB et CB+31) dépasse la zone de données.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
373
Chapitre 7-18
Instructions de comparaison
Exemple
L’exemple suivant illustre les comparaisons effectuées et les résultats obtenus
pour BCMP(68). La comparaison est ici effectuée à chaque cycle lorsque
IR 00000 est sur ON.
00000
BCMP(68)
HR 00
DM 0010
Adresse
Instruction
00000
00001
LD
BCMP(68)
Opérandes
00000
HR
DM
LR
LR 05
HR 00
HR 00
Limites inférieures
0210
La valeur 210 contenue
dans HR 00 est comparée
aux plages. 210 étant compris entre 201 et 300 (valeur
des mots DM 0014 et DM
0015), le bit LR 0502 est
mis à 1.
7-18-4
Limites supérieures
00
0010
05
R : LR 05
DM 0010
DM 0012
DM 0014
0000
0101
0201
DM 0011
DM 0013
DM 0015
0100
0200
0300
LR 0500
LR 0501
LR 0502
0
0
1
DM 0016
DM 0018
DM 0020
DM 0022
0301
0401
0501
0601
DM 0017
DM 0019
DM 0021
DM 0023
0400
0500
0600
0700
LR 0503
LR 0504
LR 0505
LR 0506
0
0
0
0
DM 0024
DM 0026
DM 0028
DM 0030
DM 0032
0701
0801
0901
1001
1101
DM 0025
DM 0027
DM 0029
DM 0031
DM 0033
0800
0900
1000
1100
1200
LR 0507
LR 0508
LR 0509
LR 0510
LR 0511
0
0
0
0
0
DM 0034
DM 0036
DM 0038
DM 0040
1201
1301
1401
1501
DM 0035
DM 0037
DM 0039
DM 0041
1300
1400
1500
1600
LR 0512
LR 0513
LR 0514
LR 0515
0
0
0
0
DOUBLE COMPARE -- CMPL(60)
Symboles à contacts
Zones de données d’opérandes
Cp1 : 1er mot de la 1ère paire de mots comparés
CMPL(60)
IR, SR, AR, DM, HR, TC, LR
Cp1
Cp2 : 1er mot de la 2ème paire de mots comparés
Cp2
IR, SR, AR, DM, HR, TC, LR
----
Rem. CMPL(60) est instruction d’expansion du SRM1(-V2). Le code de fonction 60
est défini en usine et peut être modifié sur le SRM1(-V2) si désiré.
Limitations
Cp1 et Cp1+1 doivent être dans la même zone de données.
Cp2 et Cp2+1 doivent être dans la même zone de données.
Placer le troisième opérande à 000.
Description
Lorsque la condition d’exécution est OFF, CMPL(60) n’est pas exécutée. Lorsque la condition d’exécution est ON, CMPL(60) associe le contenu hexadécimal
à 4 digits de Cp1+1 à celui de Cp1 et celui de Cp2+1 à celui de Cp2, pour créer
deux nombres hexadécimaux à 8 digits, Cp+1,Cp1 et Cp2+1,Cp2. Les deux
nombres à 8 digits sont alors comparés et le résultat est transmis aux drapeaux
GR, EQ et LE dans la zone SR.
Conseils d’utilisation
L’insertion d’autres instructions entre CMPL(60) et l’opération accédant aux
drapeaux EQ, LE et GR peut modifer l’état de ces drapeaux. L’accès doit avoir
lieu avant que l’état correspondant ne soit modifié.
374
Chapitre 7-18
Instructions de comparaison
Drapeaux
Exemple :
Résultat de sauvegarde de
CMPL(60)
00000
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
GR :
ON lorsque Cp1+1,Cp1 est plus grand que Cp2+1,Cp2.
EQ :
ON lorsque Cp1+1,Cp1 est égal à Cp2+1,Cp2.
LE :
ON lorsque Cp1+1,Cp1 est plus petit que Cp2+1,Cp2.
L’exemple suivant montre comment sauvegarder immédiatement le résultat de
la comparaison. Lorsque le contenu de HR 10, HR 09 est supérieur à DM 0001,
DM 0000, 20000 passe à l’état ON ; lorsque les deux sont égaux, 20001 passe à
l’état ON ; lorsque le contenu de HR 10, HR 09 est inférieur à DM 0001,
DM 0000, 20002 passe à l’état ON. Dans certaines applications, un seul des
trois OUT est nécessaire, ce qui évite d’utiliser TR 0. Dans ce type de programmation, 20000, 20001 et 20002 ne sont modifiés que lorsque CMPL(60)
est dépassée.
Adresse
TR
0
00000
00001
00002
CMPL(60)
HR 09
DM 0000
Instruction
LD
OUT
CMPL(60)
25505
20000
Plus grand
25506
20001
Egal
25507
7-18-5
TR
HR
DM
---
20002
Opérandes
Plus petit
00003
00004
00005
00006
00007
00008
00009
00010
AND
OUT
LD
AND
OUT
LD
AND
OUT
TR
TR
00000
0
09
0000
25505
20000
0
25506
20001
0
25507
20002
AREA RANGE COMPARE -- ZCP(----)
Zones de données d’opérandes
Symboles à contacts
CD : Données de comparaison
IR, SR, AR, DM, HR, TC, LR, #
ZCP(----)
LL : Limite supérieure de plage
CD
LL
UL
Limitations
IR, SR, AR, DM, HR, TC, LR, #
UL : Limite inférieure de plage
IR, SR, AR, DM, HR, TC, LR, #
Cette instruction n’est disponible que sur le CPM2A/CPM2C/SRM1(-V2).
LL doit être inférieur ou égal à UL.
Description
Lorsque la condition d’exécution est OFF, ZCP(----) n’est pas exécutée. Lorsque
la condition d’exécution est ON, ZCP(----) compare le CD à la plage définie par la
limite inférieure LL et la limite supérieure UL et transmet le résultat aux drapeaux
GR, EQ et LE dans la zone SR. L’état résultant de ces drapeaux est indiqué
dans le tableau suivant.
375
Chapitre 7-18
Instructions de comparaison
Etat des drapeaux
Résultat de la comparaison
p
GR (SR 25505)
EQ (SR 25506)
LE (SR 25507)
CD < LL
0
0
1
LL ! CD ! UL
0
1
0
UL < CD
1
0
0
Conseils d’utilisation
L’insertion d’autres instructions entre ZCP(----) et l’opération accédant aux drapeaux EQ, LE et GR peut modifer l’état de ces drapeaux. L’accès doit avoir lieu
avant que l’état correspondant ne soit modifié.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
LL est supérieur à UL.
Exemple
EQ :
ON lorsque LL ! CD ! UL
LE :
ON lorsque CD < LL.
GR :
ON lorsque CD > UL.
Dans l’exemple qui suit, le contenu d’IR 200 (#6FA4) est comparé à la plage
#0010 à #AB1F. Du fait que #0010 ! #6FA4 ! #AB1F, le drapeau EQ et
IR 20001 passent à l’état ON.
00000
TR
0
ZCP(----)
200
#0010
#AB1F
25505
20000
Plus grand que
(supérieur à la
plage)
25506
20001
Egal à
(dans la plage)
20002
Plus petit que
(inférieur à la
plage)
25507
Adresse
Instruction
00000
00001
00002
LD
OUT
ZCP(----)
Opérandes
200
0010
25505
20000
AND
OUT
LL : #0010
0
0
1
0
376
<
00005
00006
00007
00008
00009
00010
00000
0
TR
#
00003
00004
Adresse
6
CD : 200
F
A
4
<
Instruction
LD
AND
OUT
LD
AND
OUT
UL : #AB1F
A
B
1
F
Opérandes
TR
TR
0
25506
20001
0
25507
20002
20000 : OFF
20001 : ON
20002 : OFF
Chapitre 7-19
Instructions de conversion
7-18-6
DOUBLE AREA RANGE COMPARE -- ZCPL(----)
Zones de données d’opérandes
CD : Données de comparaison
Symboles à contacts
IR, SR, AR, DM, HR, LR
ZCPL(----)
LL : Limite supérieure de plage
CD
IR, SR, AR, DM, HR, LR
LL
UL : Limite inférieure de plage
UL
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction n’est disponible que sur le CPM2A/CPM2C.
La valeur à 8 digits contenue dans LL+1,LL doit être inférieure ou égale à
UL+1,UL.
Description
Lorsque la condition d’exécution est OFF, ZCPL(----) n’est pas exécutée. Lorsque la condition d’exécution est ON, ZCPL(----) compare la valeur à 8 digits dans
CD, CD+1 à la plage définie par la limite inférieure LL+1,LL et la limite supérieure UL+1,UL et transmet le résultat aux drapeaux GR, EQ et LE dans la zone
SR. L’état résultant de ces drapeaux est indiqué dans le tableau qui suit :
Etat des drapeaux
Résultat de la comparaison
p
GR
(SR 25505)
EQ
(SR 25506)
LE
(SR 25507)
CD , CD+1< LL+1,LL
0
0
1
LL+1,LL ! CD, CD+1 ! UL+1,UL
0
1
0
UL+1,UL < CD, CD+1
1
0
0
Conseils d’utilisation
L’insertion d’autres instructions entre ZCPL(----) et l’opération accédant aux drapeaux EQ, LE et GR peut modifier l’état de ces drapeaux. L’accès doit avoir eu
lieu avant que l’état correspondant ne soit modifié.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque LL+1,LL ! CD, CD+1 ! UL+1,UL
LE :
ON lorsque CD, CD+1 < LL+1,LL.
GR :
ON lorsque CD, CD+1 > UL+1,UL.
7-19 Instructions de conversion
7-19-1
BCD-TO-BINARY -- BIN(23)
Symboles à contacts
Zones de données d’opérandes
S : Mot d’origine (BCD)
BIN(23)
@BIN(23)
S
S
R
R
IR, SR, AR, DM, HR, TC, LR
Limitations
R : Mot de résultat
IR, SR, AR, DM, HR, LR
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
377
Chapitre 7-19
Instructions de conversion
Description
Lorsque la condition d’exécution est OFF, BIN(23) n’est pas exécutée. Lorsque
la condition d’exécution est ON, BIN(23) convertit le contenu BCD de S en bits
binaires d’une valeur numérique équivalente et transmets cette valeur binaire à
R. Le contenu de R seul change ; le contenu de S n’est pas modifié.
BCD
S
Binaire
R
BIN(23) permet de convertir une valeur BCD en valeur binaire, de façon à ce que
toute valeur affichée sur la Console de Programmation ou tout autre
périphérique de programmation apparaisse sous forme hexadécimale et non
décimale. Cette instruction peut être utilisée pour effectuer des conversions en
format binaire et exécuter des opérations arithmétiques binaires et non des
opérations arithmétiques BCD, par exemple pour additionner des valeurs en
format BCD et binaire.
Drapeaux
ER :
Le contenu de S n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
7-19-2
ON lorsque le résultat est zéro.
BINARY-TO-BCD -- BCD(24)
Symboles à contacts
Zones de données d’opérandes
S : Mot d’origine (binaire)
BCD(24)
@BCD(24)
S
S
R
R
IR, SR, AR, DM, HR, LR
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
Lorsque le contenu de S dépasse 270F, le résultat converti dépasse 9999 et
BCD(24) n’est pas exécutée. Dans ce cas, le contenu de R n’est pas modifié.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
BCD(24) convertit le contenu binaire (hexadécimal) de S en bits BCD d’une
valeur numérique équivalente, et transmet les bits BCD à R. Seul le contenu de
R est modifié, le contenu de S ne varie pas.
Binaire
S
BCD
R
BCD(24) peut être utilisée pour convertir une valeur binaire en valeur BCD de
façon à ce que toute valeur affichée sur la Console de Programmation ou tout
autre périphérique de programmation apparaisse sous forme décimale et non
hexadécimale. Cette instruction peut également être utilisée pour convertir une
378
Chapitre 7-19
Instructions de conversion
valeur en format BCD afin d’exécuter des opérations arithmétiques BCD et non
des opérations arithmétiques binaires, par exemple pour additionner des
valeurs en format binaire et BCD.
Drapeaux
7-19-3
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le résultat est zéro.
DOUBLE BCD-TO-DOUBLE BINARY -- BINL(58)
Symboles à contacts
Zones de données d’opérandes
S : Premier mot source (BCD)
BINL(58)
@BINL(58)
S
S
R
R
IR, SR, AR, DM, HR, TC, LR
R : Premier mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction n’est disponible que sur le CPM2A/CPM2C.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, BINL(58) n’est pas exécutée. Lorsque la condition d’exécution est ON, BINL(58) convertit un nombre à huit digits
dans S et S+1 en données binaires sur 32 bits, et transmet les données converties à R et R+1.
Drapeaux
ER :
BCD
S+1
S
Binaire
R+1
R
Le contenu des mots S et/ou S+1 n’est pas en format BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
7-19-4
ON lorsque le résultat est zéro.
DOUBLE BINARY-TO-DOUBLE BCD -- BCDL(59)
Symboles à contacts
Zones de données d’opérandes
S : Premier mot source (binaire)
BCDL(59)
@BCDL(59)
S
S
R
R
IR, SR, AR, DM, HR, LR
R : Premier mot de résultat
Limitations
IR, SR, AR, DM, HR, LR
Cette instruction n’est disponible que sur les CPM2A/CPM2C.
Lorsque le contenu de S dépasse 05F5E0FF, le résultat converti dépasse
99999999 et BCDL(59) n’est pas exécutée. Dans ce cas, le contenu de R et R+1
ne varie pas.
379
Chapitre 7-19
Instructions de conversion
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Drapeaux
BCDL(59) convertit le contenu binaire à 32 bits de S et S+1 dans huit digits de
données en format BCD, et transmet les données converties vers R et R+1.
ER :
Binaire
S+1
S
BCD
R+1
R
Le contenu de R et R1 dépasse 99999999.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
7-19-5
ON lorsque le résultat est zéro.
4-TO-16 DECODER -- MLPX(76)
Zones de données d’opérandes
S : Mot d’origine
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR
MLPX(76)
@MLPX(76)
S
S
Di
Di
R
R
Di : Indicateur de digit
IR, SR, AR, DM, HR, TC, LR, #
R : Premier mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
Les deux digits de droite de Di doivent être compris entre 0 et 3.
Tous les mots de résultat doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, MLPX(76) n’est pas exécutée.
Lorsque la condition d’exécution est ON, MLPX(76) convertit jusqu’à quatre
digits hexadécimaux de quatre bits de S en valeurs décimales de 0 à 15, dont
chacune est utilisée pour indiquer la position d’un bit. Le bit dont le numéro
correspond à chaque valeur convertie est alors mis sur ON dans un mot de
résultat. Lorsque plus d’un digit est spécifié, un bit de chacun des mots
successifs, à partir de R, est mis sur ON (voir exemples ci-dessous).
L’exemple suivant concerne une opération de décodage à un digit, à partir du
digit numéro 1 de S ; la valeur de Di est ici 0001.
Mot d’origine
C
Bit C (bit numéro 12) mis sur ON.
Premier mot de résultat
0
380
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
Chapitre 7-19
Instructions de conversion
Le premier digit et le nombre de digits à convertir sont indiqués dans Di. Lorsque
DI contient un nombre de digits supérieur au nombre de digits restant en S (en
comptant à partir du premier digit indiqué), les digits restant sont recalculés à
partir du début de S. Le mot final nécessaire pour mémoriser le résultat converti
(R plus le nombre de digits à convertir) doit être dans la même zone de données
que R : lorsque deux digits sont convertis, l’adresse du dernier mot d’une zone
de données ne peut être spécifiée ; lorsque trois digits sont convertis, les deux
derniers mots d’une zone de données ne peuvent être spécifiés.
Indicateur de digit
Les digits de Di sont définis comme indiqué ci-dessous.
Nombre de digits : 3 2 1 0
Spécifie le premier digit à convertir (0 à 3)
Nombre de digits à convertir (0 à 3)
0 : 1 digit
1 : 2 digits
2 : 3 digits
3 : 4 digits
Non utilisé (mis à zéro)
Les exemples ci-dessous contiennet des valeurs Di et les conversions
obtenues, de digit à mot.
Di: 0010
Di: 0030
S
S
0
R
1
R+1
0
R
1
R+1
2
2
R+2
3
3
R+3
Di: 0031
Di: 0023
S
0
Drapeaux
ER :
S
R
0
R
1
R+1
1
R+1
2
R+2
2
R+2
3
R+3
3
L’indicateur de digits n’est pas défini ou R plus le nombre de digits
dépasse une zone de données.
Le canal DM indirectement adressé n’existe pas (Content of *DM word
est not BCD ou la limite de la zone DM a été dépassée).
381
Chapitre 7-19
Instructions de conversion
Exemple
Le programme qui suit convertit les digits 1 à 3 de DM 0020 en positions de bits
et fait passer à l’état ON les bits correspondants de trois mots successifs à partir
de HR 10. Le digit 0 n’est pas converti.
00000
MLPX(76)
Adresse
DM 0020
00000
00001
#0021
Instruction
R : HR 10
DM 0020
DM 0020
DM 0020
00
01
02
DM 0020
DM 0020
DM 0020
DM 0020
03
04
05
06
1
1
1
DM 0020
DM 0020
DM 0020
DM 0020
DM 0020
07
08
09
10
11
1
0
1
1
0
DM 0020
DM 0020
DM 0020
DM 0020
12
13
14
15
0
0
0
0
7-19-6
Non
converti
15
6
0
00000
DM
#
HR
HR 10
S : DM 0020
Opérandes
LD
MLPX(76)
R+1 : HR 11
0020
0021
10
R+2 : HR 12
HR 1000
HR 1001
HR 1002
0
0
0
HR 1100
HR 1101
HR 1102
0
0
0
HR 1200
HR 1201
HR 1202
1
0
0
HR 1003
HR 1004
HR 1005
HR 1006
0
0
0
0
HR 1103
HR 1104
HR 1105
HR 1106
0
0
0
1
HR 1203
HR 1204
HR 1205
HR 1206
0
0
0
0
HR 1007
HR 1008
HR 1009
HR 1010
HR 1011
0
0
0
0
0
HR 1107
HR 1108
HR 1109
HR 1110
HR 1111
0
0
0
0
0
HR 1207
HR 1208
HR 1209
HR 1210
HR 1211
0
0
0
0
0
HR 1012
HR 1013
HR 1014
HR 1015
0
0
0
1
HR 1112
HR 1113
HR 1114
HR 1115
0
0
0
0
HR 1212
HR 1213
HR 1214
HR 1215
0
0
0
0
16-TO-4 ENCODER -- DMPX(77)
Zones de données d’opérandes
Symboles à contacts
SB : Premier mot source
IR, SR, AR, DM, HR, TC, LR
DMPX(77)
@DMPX(77)
SB
SB
R
R
Di
Di
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Di : Indicateur de digit
IR, SR, AR, DM, HR, TC, LR, #
Limitations
Les deux digits de droite de Di doivent être compris entre 0 et 3.
Tous les mots sources doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour SB, R ou Di.
Description
Lorsque la condition d’exécution est OFF, DMPX(77) n’est pas exécutée.
Lorsque la condition d’exécution est ON, DMPX(77) détermine la position du bit
à l’état ON le plus haut dans S, le code sous forme d’une valeur hexadécimale à
un digit correspondant au numéro de bit à l’état ON le plus haut, puis transfère
cette valeur hexadécimale au digit spécifié dans R. Les digits devant recevoir le
résultat sont spécifiés dans Di et correspondent également au nombre de digits
à coder.
382
Chapitre 7-19
Instructions de conversion
L’exemple suivant concerne une opération de codage à un digit vers le digit
numéro 1 de R ; Di est ici 0001.
Premier mot source
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
C transféré pour indiquer le bit numéro 12
comme le bit à l’état ON le plus haut
Mot de résultat
C
Jusqu’à quatre digits de quatre mots sources successifs, à partir de S, peuvent
être codés ; les digits écrits dans R sont ordonnés à partir du premier digit
spécifié. Lorsque Di contient un nombre de digits supérieur au nombre de digits
restants en R (en comptant à partir du premier digit spécifié), les digits restant
sont recalculés à partir du début de R.
Le mot final à convertir (S plus le nombre de digits à convertir) doit être dans la
même zone de données que SB.
Indicateur de digit
Les digits contenus dans Di sont définis comme indiqué ci-dessous.
Nombre de digits : 3 2 1 0
Spécifie le premier digit devant recevoir les données
converties (0 à 3).
Nombre de mots à convertir (0 à 3)
0 : 1 mot
1 : 2 mots
2 : 3 mots
3 : 4 mots
Non utilisé.
Les exemples ci-dessous contiennent des valeurs Di et les conversions
obtenues, de digit à mot.
Di: 0011
Di: 0030
R
R
S
0
S
0
S+1
1
S+1
1
2
S+2
2
3
S+3
3
Di: 0013
Di: 0032
R
R
Drapeaux
ER :
0
S
0
S
S+1
1
S+1
1
2
S+2
2
3
S+3
3
Indicateur de digits non défini, ou S plus le nombre de digits dépasse
une zone de données.
Le contenu d’un mot source est zéro.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
383
Chapitre 7-19
Instructions de conversion
Exemple
Lorsque 00000 est sur ON, le schéma suivant code les mots IR 200 et 201 dans
les deux premiers digits de HR 10 puis code LR 10 et 11 dans les deux derniers
digits de HR 10. Bien que l’état de chaque bit de mot source ne soit pas indiqué, il
est supposé que le bit à l’état 1 (ON) montré ici est le bit à l’état ON le plus haut
dans le mot.
00000
DMPX(77)
Adresse
Instruction
200
00000
00001
LD
DMPX(77)
HR 10
Opérandes
00000
HR
#
200
10
0010
LR
HR
#
10
10
0012
#0010
DMPX(77)
00002
LR 10
HR 10
#0012
IR 200
IR 201
01000
01100
:
:
01011
1
01109
1
01012
0
01110
0
: :
:
: :
:
01015
0
01115
0
HR 10
LR 11
LR 10
LR 1100
LR 1000
:
: :
:
B
Digit 1
9
Digit 2
1
Digit 3
8
LR 1108 1
LR 1002 0
: :
Digit 0
:
LR 1001 1
LR 1109 0
: :
:
LR 1115 0
LR 1015 0
7-19-7
DMPX(77)
7-SEGMENT DECODER -- SDEC(78)
Zones de données d’opérandes
Symboles à contacts
S : Mot d’origine (binaire)
IR, SR, AR, DM, HR, TC, LR
SDEC(78)
@SDEC(78)
S
S
Di
Di
D
D
Di : Indicateur de digit
IR, SR, AR, DM, HR, TC, LR, #
D : Premier mot de destination
IR, SR, AR, DM, HR, LR
Limitations
Di doit être dans les limites des valeurs indiquées ci-dessous.
Tous les mots de destination doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Lorsque la condition d’exécution est OFF, SDEC(78) n’est pas exécutée.
Lorsque la condition d’exécution est ON, SDEC(78) convertit le(s) bit(s)
spécifié(s) de S en code d’affichage équivalent à 8 bits et 7 segments et place ce
dernier dans le(s) mot(s) de destination à partir de D.
384
Chapitre 7-19
Instructions de conversion
Tous ou partie des digits de S peuvent être convertis dans l’ordre, à partir du
premier digit spécifié. Le premier digit, le nombre de digits à convertir et la moitié
de D devant recevoir le premier afficheur à 7 segments (les 8 bits de droite ou de
gauche) sont spécifiés dans Di. Lorsque plusieurs digits sont spécifiés, ils sont
ordonnés à partir de la moitié spécifiée de D, chacun exigeant deux digits.
Lorsque Di contient un nombre de digits supérieur au nombre de digits restant
en S (en comptant à partir du premier digit spécifié), les digits restant sont
racalculés à partir du début de S.
Indicateur de digit
Les digits de Di sont définis comme indiqué ci-dessous.
Nombre de digits : 3 2 1 0
Spécifie le premier digit de S à convertir (0 à 3).
Nombre de digits à convertir (0 à 3)
0 : 1 digit
1 : 2 digits
2 : 3 digits
3 : 4 digits
Première moitié de D à utiliser.
0 : 8 bits de droite (1ère moitié)
1 : 8 bits de gauche (2ème moitié)
Non utilisé ; mis à zéro.
Les exemples ci-dessous contiennent les valeurs Di et le résultat de la
conversion de 4 digits binaires en afficheurs à 7 segments.
Di: 0011
Digits S
0
1
Di: 0030
D
Digits S
D
1ère moit.
0
1ère moit.
2ème moit.
1
2ème moit.
2
2
3
3
D+1
1ère moit.
2ème moit.
Di: 0112
Digits S
D
0
1ère moit.
1
2ème moit.
2
3
D+1
Di: 0130
Digits S
0
1
2
3
D
1ère moit.
2ème moit.
D+1
1ère moit.
1ère moit.
2ème moit.
2ème moit.
D+2
1ère moit.
2ème moit.
385
Chapitre 7-19
Instructions de conversion
Exemple
L’exemple qui suit montre les données obtenues. Les lettres en minuscules
indiquent quels bits correspondent à quels segments du code affiché à 7
segments. Le tableau ci-dessous contient les données initiales et le résultat de
la conversion pour tous les digits hexadécimaux.
00000
@ SDEC(78)
DM 0010
LR 07
200
LR 07
a
IR 200
DM 0010
f
Bit 00
1
a
1
1
b
22
0
1
c
0
23
0
1
d
0
20
0
1
e
21
0
1
f
0
22
0
1
g
0
23
1
0
20
0
21
1
22
1
0
23
1
0
20
1
21
0
0
22
1
0
23
1
0
1
0
x100
0
x101
0
x102
0
0
x103
1 : 2ème digit
0
0 : 1er digit
1
2
0 ou 1 :
0 Bits 00 à 07
1 Bits 08 à 15.
3
Non utilisés.
Digit
386
20
0
21
8
Bit 07
Données initiales
Bits
--
g
g
e
b
c
d
0
Code converti (segments)
f
e
d
c
b
Afficheur
a
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
2
0
0
1
0
0
0
1
1
0
0
1
1
3
0
0
1
1
0
0
1
1
0
0
1
1
4
0
1
0
0
0
0
1
1
0
1
0
0
5
0
1
0
1
0
0
1
1
0
1
0
1
6
0
1
1
0
0
0
1
1
0
1
0
1
7
0
1
1
1
0
0
1
1
0
1
1
1
8
1
0
0
0
0
0
1
1
1
0
0
0
9
1
0
0
1
0
0
1
1
1
0
0
1
A
1
0
1
0
0
1
0
0
0
0
0
1
B
1
0
1
1
0
1
0
0
0
0
1
0
C
1
1
0
0
0
1
0
0
0
0
1
1
D
1
1
0
1
0
1
0
0
0
1
0
0
E
1
1
1
0
0
1
0
0
0
1
0
1
F
1
1
1
1
0
1
0
0
0
1
1
0
Chapitre 7-19
Instructions de conversion
Drapeaux
ER :
Indicateur de digit incorrect, ou dépassement de la zone de données de
destination.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
7-19-8
ASCII CONVERT -- ASC(86)
Zones de données d’opérandes
S : Mot d’origine
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR
ASC(86)
@ASC(86)
S
S
Di
Di
D
D
Di : Indicateur de digit
Limitations
IR, SR, AR, DM, HR, TC, LR, #
D : Premier mot de destination
IR, SR, AR, DM, HR, LR
Les Di doivent être dans les valeurs données ci-dessous.
Tous les mots de destination doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Lorsque la condition d’exécution est OFF, ASC(86) n’est pas exécutée. Lorsque
la condition d’exécution est ON, ASC(86) convertit le(s) digit(s) indiqué(s) de S
en code de 8 bits ASCII équivalent et le place dans le(s) mot(s) de destination
commençant par D.
N’importe lequel ou tous les digits dans S peuvent être convertis dans l’ordre du
premier digit indiqué. Le premier digit, le nombre de digits à convertir et la moitié
de D pour recevoir le premier code ASCII (8 bits extrême droite ou extrême
gauche) sont indiqués en Di. Lorsque des digits multiples sont indiqués, ils
seront placés dans l’ordre à partir de la moitié indiquée de D, chacun exigeant
deux digits. Lorsque plus de digits sont indiqués que ceux restant en S (à partir
du premier digit indiqué), d’autres digits seront utilisés en recommençant par la
fin, au début de S.
Rem. Se reporter à l’Annexe G pour un tableau des caractères ASCII.
Indicateur de digit
Les digits de Di sont placés comme montré ci-dessous.
Nombre de digits :
3 21 0
Indique le premier digit à convertir (0 à 3).
Nombre de digits à convertir (0 à 3)
0 : 1 digit
1 : 2 digits
2 : 3 digits
3 : 4 digits
Première moitié de D à utiliser.
0 : 8 bits extrême droite (1ère moitié)
1 : 8 bits extrême gauche (2ème moitié)
Parité
0 : aucune
1 : paire
2 : impaire
387
Chapitre 7-19
Instructions de conversion
Quelques exemples de valeurs Di et de conversions de binaire à 4 bits vers le
code ASCII à 8 bits.
Di : 0011
S
0
1
Di : 0030
D
S
D
1ère moit.
0
1ère moit.
2ème moit.
1
2ème moit.
2
2
3
3
D+1
1ère moit.
2ème moit.
Di : 0112
S
Di : 0130
D
0
1ère moit.
1
2ème moit.
0
1
D
1ère moit.
2ème moit.
2
2
3
S
D+1
3
D+1
1ère moit.
1ère moit.
2ème moit.
2ème moit.
D+2
1ère moit.
2ème moit.
Parité
Le bit extrême gauche de chaque caractère ASCII (2 digits) peut être
automatiquement ajusté à la parité paire ou impaire. Lorsqu’aucune parité n’est
indiquée, le bit extrême gauche est toujours zéro.
Lorsque la parité paire est indiquée, le bit extrême gauche est ajusté de sorte
que tout le nombre de bits ON soit égal, par exemple, une fois ajusté à la parité
paire, ASCII “31” (00110001) soit “B1” (10110001 : bit de parité ON pour créer un
digit pair de bits ON) ; ASCII “36” (00110110) sera “36” (00110110 : bit de parité
OFF parce que le nombre de bits ON est déjà égal). L’état du bit de parité
n’affecte pas la signification du code ASCII.
Lorsque l’imparité est indiquée, le bit extrême gauche de chaque caractère
ASCII est ajusté de sorte qu’il y ait un nombre impair de bits ON.
Drapeaux
ER :
Indicateur de digit incorrect, ou zone de données pour la destination
dépassée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
388
Chapitre 7-19
Instructions de conversion
7-19-9
ASCII-TO-HEXADECIMAL -- HEX(----)
Zones de données d’opérandes
S : Premier mot source
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
HEX(----)
@HEX(----)
S
S
Di
Di
D
D
Di : Indicateur de digit
Limitations
IR, SR, AR, DM, HR, TC, LR, #
D : Mot de destination
IR, SR, AR, DM, HR, LR
Cette instruction est disponible seulement dans CPM2A/CPM2C/SRM1(-V2).
Les Di doivent être dans les valeurs données ci-dessous.
Tous les mots sources doivent être dans la même zone de données.
Les octets dans les mots sources doivent contenir l’équivalent du code ASCII
des valeurs hexadécimales : 30 à 39 (0 à 9) ou 41 à 46 (A à F).
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Lorsque la condition d’exécution est OFF, HEX(----) n’est pas exécutée. Lorsque
la condition d’exécution est ON, HEX(----) convertit le(s) octet(s) indiqué(s) du
code ASCII des mots sources en hexadécimaux équivalent et les placent en D.
Jusqu’à 4 codes ASCII peuvent êtr commencés à être convertis avec le premier
octet indiqué de S. Les valeurs hexadécimales converties sont alos placées
dans D dans l’ordre du digit indiqué. Le premier octet (8 bits extrême droite ou
extrême gauche), le nombre d’octets à convertir et le digit de D pour recevoir la
première valeur hexadécimale sont indiqués en Di. Lorsque des octets multiples
sont indiqués, ils sont convertis dans l’ordre à partir de la moitié indiquée de S et
puis en S+1 et S+2, au besoin.
Lorsque plus de digits sont indiqués que ceux qui restent dans D (à partir du
premier digit indiqué), d’autres digits restant seront commencés à être utilisés
en arrière au début de D. Les digits de D qui ne recoivent pas des données
converties ne seront pas changés.
Indicateur de digit
Les digits de Di sont placés comme montré ci-dessous.
Nombre de digits : 3 2 1 0
Indique le premier digit de D à utiliser (0 à 3).
Nombre d’octets à convertir (0 à 3)
0 : 1 octet (code ASCII à 2 digits)
1 : 2 octets
2 : 3 octets
3 : 4 octets
Premier octet de S à utiliser.
0 : 8 bits extrême droite (1er octet)
1 : 8 bits extrême gauche (2ème octet)
Parité
0 : aucune
1 : paire
2 : impaire
389
Chapitre 7-19
Instructions de conversion
Quelques exemples de valeurs de Di et de conversion de 8 bits ASCII en 4 bits
hexadécimales qu’ils produisent sont montrés ci-dessous :
Di: 0011
Di: 0030
S
D
S
D
1er octet
0
1er octet
0
2ème octet
1
2ème octet
1
2
2
S+1
3
3
1er octet
2ème octet
Di: 0023
Di: 0133
S
D
S
1er octet
0
1er octet
D
2ème octet
1
2ème octet
0
2
S+1
1
S+1
3
2
1er octet
1er octet
2ème octet
2ème octet
3
S+2
1er octet
2ème octet
Tableau des codes ASCII
Le tableau suivant montre les codes ASCII avant conversion et les valeurs
hexadécimales après conversion. Se reporter à l’Annexe G pour un tableau des
caractères ASCII.
Données originales
Code ASCII
Données converties
Etat du bit (Voir Rem.)
Digit
Bits
30
*
0
1
1
0
0
0
0
0
0
0
0
0
31
*
0
1
1
0
0
0
1
1
0
0
0
1
32
*
0
1
1
0
0
1
0
2
0
0
1
0
33
*
0
1
1
0
0
1
1
3
0
0
1
1
34
*
0
1
1
0
1
0
0
4
0
1
0
0
35
*
0
1
1
0
1
0
1
5
0
1
0
1
36
*
0
1
1
0
1
1
0
6
0
1
1
0
37
*
0
1
1
0
1
1
1
7
0
1
1
1
38
*
0
1
1
1
0
0
0
8
1
0
0
0
39
*
0
1
1
1
0
0
1
9
1
0
0
1
41
*
1
0
1
0
0
0
1
A
1
0
1
0
42
*
1
0
1
0
0
1
0
B
1
0
1
1
43
*
1
0
1
0
0
1
1
C
1
1
0
0
44
*
1
0
1
0
1
0
0
D
1
1
0
1
45
*
1
0
1
0
1
0
1
E
1
1
1
0
46
*
1
0
1
0
1
1
0
F
1
1
1
1
Rem. Le bit extrême gauche de chaque code ASCII est ajusté à la parité.
Parité
390
Le bit extrême gauche de chaque caractère ASCII (2 digits) est
automatiquement ajusté à la parité paire ou impaire.
Sans la parité, le bit extrême gauche devrait toujours être zéro. Avec une parité
impaire ou paire, le bit extrême gauche de chaque caractère ASCII doit être
ajusté de sorte qu’il y ait un impair ou même un nombre de bits ON.
Lorsque la parité du code ASCII dans S n’est pas conforme à la parité indiquée
en Di, le drapeau ER (SR 25503) sera allumée et l’instruction ne sera pas
exécutée.
Chapitre 7-19
Instructions de conversion
Drapeaux
ER :
Indicateur incorrect de digit, ou zone de données pour la destination
dépassée.
Les mots de source ne contiennent pas les données ASCII qui peuvent
être converties en hexadécimal : plage de valeurs de 0 à 9 ou A à F.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Exemple
Dans l’exemple suivant, le 2ème octet de LR 10 et le 1er octet de LR 11 sont
convertis en valeurs hexadécimales et ces valeurs sont écrites aux premiers et
deuxièmes octets de IR 200.
00000
@HEX(----)
LR 10
HR 10
200
Adresse
Instruction
00000
00001
LR
HR
LD
@HEX(----)
10
10
200
Opérandes
00000
HR 10 0 1 1 0
LR 12
3 5 3 4
LR 11
4 2 3 2
LR 10
3 1 3 0
Conversion en
hexadécimal
200
0 0 2 1
7-19-10 SCALING -- SCL(66)
Symboles à contacts
Zones de données d’opérandes
S : Mot de source
SCL(66)
@SCL(66)
S
S
P1
P1
R
R
IR, SR, AR, DM, HR, TC, LR, #
P1 : Premier mot de paramètre
IR, SR, AR, DM, HR, TC, LR
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction est disponible seulement pour CPM2A/CPM2C/SRM1(-V2).
S doit être BCD.
P1 à P1+3 doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés de P1 à P1+3 ou R.
Description
SCL(66) est utilisée pour convertir linéairement une valeur hexadécimale à 4
digits en valeur à 4 digits en BCD. A la différence, BCD(24), qui convertit une
valeur hexadécimale à 4 digits en son équivalent à 4 digits en BCD (Shex "
SBCD), SCL(66) peut convertir la valeur hexadécimale selon un rapport linéaire
indiqué. La ligne de conversion est définie par deux points indiqués dans les
mots P1 de paramètre à P1+3.
Lorsque la condition d’exécution est OFF, SCL(66) n’est pas exécutée. Lorsque
la condition d’exécution est ON, SCL(66) convertit la valeur hexadécimale à 4
digits dans S en valeur à 4 digits en BCD sur la ligne définie par les points (P1,
P1+1) et (P1+2, P1+3) et place les résultats dans R. Le résultat est arrondi au
nombre entier supérieur le plus proche. Si le résultat est inférieur à 0000, alors
391
Chapitre 7-19
Instructions de conversion
0000 est écrit dans R et si le résultat est supérieur à 9999, alors 9999 est écrit
dans R.
Le tableau suivant montre les fonctions et les plages des mots de paramètre :
Paramètre
Fonction
Plage
Commentaires
P1
Point BCD n# 1 (AY) 0000 à 9999
---
P1+1
Point Hex. n# 1 (AX) 0000 à FFFF
P1+2
Point BCD n# 2
0000 à 9999
(BY)
Point Hex. n# 2 (BX) 0000 à FFFF
Ne pas placer
P1+1=P1+3.
---
P1+3
Ne pas placer
P1+3=P1+1.
Le schéma suivant montre le mot de source, S, converti en D selon la ligne
définie par les points (AY, AX) et (BY, BX).
Valeur après conversion
(BCD)
BY
R
AY
AX
S
Valeur avant conversion
(Hexadécimale)
BX
Les résultats peuvent être calculés en convertissant d’abord toutes les valeurs
en BCD et en utilisant ensuite la formule suivante :
Résultats = BY -- [(BY -- AY)/(BX -- AX) $ (BX -- S)]
Drapeaux
ER :
La valeur en P1+1 est égale à P1+3.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P1 et P1+3 ne sont pas dans la même zone de données, ou toute autre
erreur de réglage.
EQ :
Exemple
ON lorsque le résultat R, est 0000.
Lorsque 00000 est ON dans l’exemple suivant, les données de base en BCD en
DM 0100 (#0100) sont converties en hexadécimales selon les paramètres en
DM 0150 à DM 0153. Le résultat (#0512) est alors écrit dans DM 0200.
00000
@SCL(66)
DM 0100
DM 0150
Instruction
00000
00001
LD
@SCL(66)
Opérandes
00000
DM
DM
DM
DM 0200
392
Adresse
DM 0150
DM 0151
0010
0005
DM 0152
DM 0153
0050
0019
0100
0150
0200
DM 0100
0100
DM 0200
0512
Chapitre 7-19
Instructions de conversion
7-19-11 SIGNED BINARY TO BCD SCALING -- SCL2(----)
Symboles à contacts
Zones de données d’opérandes
S : Mot de source
SCL2(----)
@SCL2(----)
S
S
P1
P1
R
R
IR, SR, AR, DM, HR, LR
P1 : Premier mot de paramètre
IR, SR, AR, DM, HR, LR
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction est disponible seulement dans CPM2A/CPM2C.
S doit être BCD.
P1 à P1+2 doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
SCL2(----) est utilisée pour convertir linéairement une valeur hexadécimale signée à 4 digits en valeur à 4 digits en BCD. A la différence de BCD(24), qui
convertit une valeur hexadécimale à 4 digits en son équivalent à 4 digits en BCD
(Shex " SBCD), SCL2(----) peut convertir la valeur hexadécimale signée selon un
rapport linéaire indiqué. La ligne de conversion est définie par l’interception sur
l’axe x et la pente de la ligne indiquée dans les mots P1 de paramètre à P1+2.
Lorsque la condition d’exécution est OFF, SCL2(----) n’est pas exécutée. Lorsque la condition d’exécution est ON, SCL2(----) convertit la valeur hexadécimale
signée à 4 digits dans S en valeur à 4 digits en BCD sur la ligne définie par l’interception sur l’axe x, (P1, 0) et la pente (P1+2 % P1+1) et place les résultats en
R. Le résultat est arrondi au nombre entier supérieur le plus proche.
Lorsque le résultat est négatif, alors CY est placé à 1. Lorsque le résultat est
inférieur à --9999, alors --9999 est écrit à R. Lorsque le résultat est plus grand
que 9999, alors 9999 est écrit à R.
Le tableau suivant montre les fonctions et les plages des mots de paramètre :
Paramètre
P1
Fonction
Plage
8000 à 7FFF (--32,768 à 32,767)
P1+1
Interception sur l’axe x
(hex. signée)
&X (hex. signée)
P1+2
&Y (BCD)
0000 à 9999
8000 à 7FFF (--32,768 à 32,767)
393
Chapitre 7-19
Instructions de conversion
Le diagramme suivant montre le mot d’origine, S, converti en R selon la ligne
définie par le point (P1, 0) et la pente &Y/&X.
Valeur
(BCD)
après conversion
&Y
&X
R
Valeur avant conversion
(signé hexadécimal)
S
Interception
sur l’axe x
Le résultat peut être calculé en convertissant d’abord toutes les valeurs hexadécimales signées en BCD et en utilisant ensuite la formule suivante :
R=
Drapeaux
ER :
ΔY
× (S–P1)
ΔX
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P1 et P1+2 ne sont pas dans la même zone de données, ou tout autre
erreur de réglage.
Exemple
CY :
ON lorsque le résultat, R, est negatif.
EQ :
ON lorsque le résultat, R, est 0000.
Lorsque 05000 est ON dans l’exemple suivant, les données de base binaires
signées dans 200 (#FFE2) sont converties en BCD selon les paramètres en
DM 0000 à DM 0002. Le résultat (#0018) est alors écrit à LR 00 et CY est ON
parce que le résultat est négatif.
05000
@SCL2(----)
200
DM 0000
Adresse
Instruction
00000
00001
LD
@SCL2(----)
Opérandes
05000
LR 00
DM
LR
2
DM 0000
DM 0001
FFFD
0003
DM 0002
0002
FFFD
IR 200
FFE2
LR 00
0018
200
0000
00
3
FFE2
CY=1
--0018
R = 0002 × (FFE2–FFFD)
0003
= 2 × (–1B) = –18
3
394
Le drapeau CY est ON parce
que le résultat de conversion est
négatif.
Chapitre 7-19
Instructions de conversion
7-19-12 BCD TO SIGNED BINARY SCALING -- SCL3(----)
Symboles à contacts
Zones de données d’opérandes
S : Mot de source
SCL3(----)
@SCL3(----)
S
S
P1
P1
R
R
IR, SR, AR, DM, HR, LR
P1 : Premier mot de paramètre
IR, SR, AR, DM, HR, LR
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction est disponible seulement dans CPM2A/CPM2C.
P1+1 doit être BCD.
P1 à P1+4 doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
SCL3(----) est utilisée pour convertir linéairement une valeur à 4 digits en BCD en
hexadécimale signée à 4 digits. SCL3(----) convertit la valeur en BCD selon un
rapport linéaire indiqué. La ligne de conversion est définie par l’interception sur
l’axe y et la pente de la ligne indiquée dans les mots P1 de paramètre à P1+2.
Lorsque la condition d’exécution est OFF, SCL3(----) n’est pas exécutée. Lorsque la condition d’exécution est ON, SCL3(----) convertit la valeur à 4 digits en
BCD dans S en valeur hexadécimale signée à 4 digits sur la ligne définie par
l’interception sur l’axe y (0, P1) et la pente (P1+2 % P1+1) et place les résultats
en R. Il est arrondi au nombre entier supérieur le plus proche.
Le contenu de S peut être de 0000 à 9999, mais S sera traité comme valeur
négative si CY=1, ainsi la portée utile de S est réellement --9999 à 9999. Etre sûr
de placer le signe désiré dans CY en utilisant STC(40) ou CLC(41).
Les mots P1+3 et P1+4 de paramètre définissent des limites supérieures et inférieures pour le résultat. Lorsque le résultat est plus grand que la limite supérieure dans P1+3, alors la limite supérieure est écrite dans R. Lorsque le résultat
est plus petit que la limite inférieure dans P1+4, alors la limite inférieure est
écrite dans R.
Rem. Les limites supérieures et inférieures pour une unité de l’entrée 12 bits
analogique seraient 07FF et F800.
Le tableau suivant montre les fonctions et les plages des mots de paramètre :
Paramètre
P1
Fonction
Plage
8000 à 7FFF (--32 768 à 32 767)
P1+1
Interception sur l’axe y
(signé hex.)
&X (BCD)
P1+2
&Y (signé hex.)
8000 à 7FFF (--32 768 à 32 767)
P1+3
Limite supérieure (signé
hex.)
Limite inférieure (signé
hex.)
8000 à 7FFF (--32 768 à 32 767)
P1+4
0000 à 9999
8000 à 7FFF (--32 768 à 32 767)
395
Chapitre 7-19
Instructions de conversion
Le schéma suivant montre le mot de source, S, converti en R selon la ligne définie par le point (0, P1) et la pente &Y/&X.
Valeur après conversion
(Signé hexadécimal)
Limite supérieure
&Y
&X
R
Interception
sur l’axe y
S
Valeur avant conversion
(BCD)
Limite inférieure
Le résultat peut être calculé en convertissant d’abord toutes les valeurs de BCD
en binaire signé et en utilisant ensuite la formule suivante :
R=
Drapeaux
ER :
ΔY
× S + P1
ΔX
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Le contenu de S n’est pas une valeur BCD.
396
CY :
CY n’est pas changé par SCL3(----), (CY montre le signe de S avant
exécution).
EQ :
ON lorsque le résultat, R, est 0000.
Chapitre 7-19
Instructions de conversion
Exemple
L’état de 00101 détermine le signe du mot de source de BCD dans l’exemple
suivant. Lorsque 00101 est allumé, alors le mot de source est négatif. Lorsque
00100 est allumé, les données de base en BCD dans LR 02 sont converties en
binaire signé selon les paramètres en DM 0000 à DM 0004. Le résultat est alors
écrit dans DM 0100. Dans la deuxième conversion, l’équivalent binaire signé de
--1035 est plus petit que la limite inférieure indiquée en DM 0004, ainsi la limite
inférieure est écrite à DM 0100.
25313
(Always ON)
Adresse
CLC(41)
00000
00001
00002
00101
00004
00005
00101
STC(40)
00100
@SCL3(----)
Instruction
Opérandes
LD
CLC(41)
LD
STC(40)
LD
SCL3(----)
LR 02
25313
00101
00100
LR
DM
DM
DM 0000
DM 0100
02
0000
0100
Signé hex.
CY=1
CY=0
6
3
0005
BCD
DM 0000
DM 0001
0005
0003
DM 0002
DM 0003
DM 0004
0006
07FF
F800
LR 02
0100
LR 02
1035
DM 0100
00CD
DM 0100
F800
7-19-13 HOURS-TO-SECONDS -- SEC(----)
Symboles à contacts
SEC(----)
@SEC(----)
S
S
R
R
000
000
Zones de données d’opérandes
S : Début mot source (BCD)
IR, SR, AR, DM, HR, TC, LR
R : Début résultat de mot (BCD)
IR, SR, AR, DM, HR, TC, LR
000 : Aucune fonction
000
Limitations
Cette instruction est disponible seulement pour CPM2A/CPM2C.
S et S+1 doivent être dans la même zone de données. R et R+1 doivent être
dans la même zone de données. S et S+1 doivent être BCD et doivent être dans
le format approprié de heures/minutes/secondes.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
SEC(----) est utilisée pour convertir la notation de temps dans heures/minutes/
secondes en équivalent en secondes justes.
Pour les données de base, les secondes sont indiquées dans les bits 00 à 07 et
les minutes sont indiquées dans les bits 08 à 15 de S. Les heures sont indiquées
dans S+1. Le maximum est ainsi de 9 999 heures, de 59 minutes et de
59 secondes.
397
Chapitre 7-19
Instructions de conversion
Le résultat est émis en R et R+1. La valeur maximale obtenue est
35 999 999 secondes.
Drapeaux
ER :
S et S+1 ou R et R+1 ne sont pas dans la même zone de données.
S et/ou S+1 ne contiennent pas le BCD.
Le nombre de secondes et/ou de minutes excède 59.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
Exemple
ON lorsque le résultat est zéro.
Lorsque 00000 est OFF (lorsque la condition d’exécution est ON), l’instruction
suivante convertirait les heures, les minutes et les secondes données en HR 12
et HR 13 en secondes et sauvegarderait les résultats en DM 0100 et DM 0101
comme montré.
00000
Adresse
SEC(----)
HR 12
DM 0100
000
HR 12
HR 13
3
2
2
8
0
1
7
5
2 815 hr, 32 min, 07
s
DM 0100
DM 0101
5
1
9
0
2
1
7
3
10 135 927 s
00000
00001
Instruction
Opérandes
LD NOT
SEC(----)
00000
HR
DM
12
0100
000
7-19-14 SECONDS-TO-HOURS -- HMS(----)
Symboles à contacts
HMS(----)
@HMS(----)
S
S
R
R
000
000
Zones de données d’opérandes
S : Début mot source (BCD)
IR, SR, AR, DM, HR, TC, LR
R : Début résultat de mot (BCD)
IR, SR, AR, DM, HR, TC, LR
000 : Aucune fonction
000
Limitations
Cette instruction est disponible seulement pour CPM2A/CPM2C.
S et S+1 doivent être dans la même zone de données. R et R+1 doivent être
dans la même zone de données. S et S+1 doivent être BCD et doivent avoir lieu
entre 0 et 35 999 999 secondes.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
HMS(----) est utilisée pour convertir la notation de temps en secondes en
équivalent dans heures/minutes/secondes.
Le nombre de secondes indiquées dans S et S+1 est converti en heures/minutes/secondes et placé dans R et R+1.
Pour les résultats, les secondes sont placées dans les bits 00 à 07 et les minutes
sont placées dans les bits 08 à 15 de R. Les heures sont placées dans R+1. Le
maximum est de 9 999 heures, 59 minutes et secondes.
398
Chapitre 7-19
Instructions de conversion
Drapeaux
ER :
S et S+1 ou R et R+1 ne sont pas dans la même zone de données.
S et/ou S+1 ne contiennent pas le BCD ou excèdent 36 000 000 secondes.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
Exemple
ON lorsque le résultat est zéro.
Lorsque 00000 est OFF (lorsque la condition d’exécution est ON), l’instruction
suivante convertit les secondes données en HR 12 et HR 13 en heures, minutes
et secondes et sauvegarde les résultats en DM 0100 et DM 0101 comme
montré.
00000
Adresse
HMS(----)
HR 12
DM 0100
00000
00001
Instruction
LD NOT
HMS(----)
00000
HR
DM
000
HR 12
HR 13
5
1
9
0
2
1
7
3
DM 0100
DM 0101
3
2
2
8
0
1
7
5
7-19-15
Opérandes
10 135 927 s
12
0100
000
2 815 hs, 32 min, 07 s
2’s COMPLEMENT -- NEG(----)
Symboles à contacts
NEG(----)
@NEG(----)
S
S
R
R
000
000
Zones de données d’opérandes
S : Mot source
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
000 : Non utilisé.
Placer à 000.
Limitations
Cette instruction est disponible seulement pour CPM2A/CPM2C/SRM1(-V2).
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Convertit le contenu hexadécimal à quatre digits du mot de source (S) en complément à 2 et produit le résultat au mot de résultat (R). Cette opération est identique en soustrayant S de 0000 et produisant le résultat à R ; elle calculera la
valeur absolue des données binaires signées négatives.
Lorsque le contenu de S est 0000, le contenu de R est également 0000 après
exécution et EQ (SR 25506) sera ON.
Lorsque le contenu de S est 8000, le contenu de R est également 8000 après
exécution et UF (SR 25405) sera ON.
Rem. Se reporter au paragraphe 2-14 Calcul avec données binaires signées pour de
plus amples informations.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le contenu de R est zéro après exécution ; autrement OFF.
399
Chapitre 7-19
Instructions de conversion
Exemple
UF :
ON lorsque le contenu de S est 8000 ; autrement OFF.
N:
ON lorsque le bit 15 de R est ON ; autrement OFF.
L’exemple suivant montre comment utiliser NEG(----) pour trouver le complément à 2 du contenu de DM 0005 et produire le résultat IR 105.
00100
NEG(----)
DM 0005
105
Adresse
00000
00001
Instruction
#0000
400
00100
DM
000
--
Opérandes
LD
NEG(----)
#001F
Contenu de DM 0005.
#FFE1
Sortie vers IR 105.
0005
105
000
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
7-20 Instructions de calcul sur les valeurs BCD
7-20-1
SET CARRY - STC(40)
Symboles à contacts
STC(40)
@STC(40)
Lorsque la condition d’exécution est OFF, STC(40) ne s’exécute pas. Lorsque la
condition d’exécution est ON, STC(40) passe CY (SR 25504) sur ON.
Rem. Se reporter à Annexe B Utilisation des drapeaux d’erreurs et mathématiques où
se trouve un tableau listant les instructions allouées à CY.
7-20-2
CLEAR CARRY - CLC(41)
Symboles à contacts
CLC(41)
@CLC(41)
Lorsque la condition d’exécution est OFF, CLC(41) ne s’exécute pas. Lorsque la
condition d’exécution est ON, CLC(41) passe CY (SR 25504) sur OFF.
CLEAR CARRY est utilisée pour mettre à “0” (mettre à l’état OFF) CY
(SR 25504).
Rem. Se reporter à Annexe B Utilisation des drapeaux d’erreurs et mathématiques où
se trouve un tableau listant les instructions allouées à CY.
7-20-3
BCD ADD - ADD(30)
Zones de données d’opérandes
Au : Mot cumulande (BCD)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
ADD(30)
@ADD(30)
Au
Au
Ad
Ad
R
R
Ad : Mot cumulateur (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, ADD(30) ne s’exécute pas. Lorsque la
condition d’exécution est ON, ADD(30) additionne le contenu de Au, Ad et CY, et
insère le résultat dans R. CY est sélectionné si le résultat est supérieur à 9999.
Au + Ad + CY
Drapeaux
ER :
CY
R
Au et/ou Ad n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
CY :
ON lorsque le résultat contient un report.
EQ :
ON lorsque le résultat est égal à 0.
401
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
Exemple
Lorsque 00002 est égal à ON, le programme représenté par le schéma suivant
met CY à zéro avec CLC(41), ajoute le contenu d’IR 200 à une constante (6103),
insère le résultat dans DM 0100, et transfère tous les zéros ou 0001 à DM 0101
selon l’état de CY (25504). Ceci garantit que tout report depuis le dernier digit
sera préservé dans R+1 afin que tout le résultat puisse ensuite être traité
comme une données à huit digits.
Adresse
TR 0
00002
CLC(41)
ADD(30)
00000
00001
00002
00003
Instruction
LD
OUT
CLC(41)
ADD(30)
Opérandes
TR
200
#
DM
#6103
DM 0100
25504
MOV(21)
00004
00005
AND
MOV(21)
#0001
DM 0101
25504
MOV(21)
00006
00007
00008
LD
AND NOT
MOV(21)
#0000
DM 0101
00002
0
200
6103
0100
25504
#
DM
TR
0001
0101
0
25504
#
DM
0000
0101
Bien que deux ADD(30) puissent être utilisés ensemble pour exécuter une addition BCD à huit digits, ADDL(54) a été conçue spécialement dans cette intention.
7-20-4
BCD SUBTRACT - SUB(31)
Zones de données d’opérandes
Mi : Mot diminuende (BCD)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
SUB(31)
@SUB(31)
Mi
Mi
Su
Su
R
R
Su : Mot diminuteur (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, SUB(31) ne s’exécute pas. Lorsque la
condition d’exécution est ON, SUB(31) soustrait le contenu de Su et CY de Mi, et
insère le résultat dans R. Si le résultat est négatif, CY est sélectionné et le complément de 10 du résultat est mis dans R. Pour convertir ce complément de 10
en résultat réel, effectuer une soustraction entre le contenu de R et zéro (voir
exemple ci--dessous).
Mi - Su - CY
Drapeaux
ER :
CY
R
Mi et/ou Su n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
402
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
! Attention
CY :
ON lorsque le résultat est négatif, c’est--à--dire, lorsque Mi est inférieur
à Su plus CY.
EQ :
ON lorsque le résultat est égal à 0.
Veiller à supprimer le drapeau de report avec CLC(41) avant d’exécuter SUB(31) si son état
précédent n’est pas nécessaire, et à vérifier l’état de CY après une soustraction avec
SUB(31). Si CY est à l’état ON suite à l’exécution de SUB(31) le résultat est négatif, le résultat
est transmisen complément de 10 du résultat obtenu. Pour convertir cette valeur en résultat
réel, soustraire la valeur contenu dans R de 0.
Exemple
Lorsque 00002 est ON, le programme à contacts qui suit met à zéro CY, soustrait le contenu de DM 0100 et CY du contenu de 201 et insère le résultat dans
HR 10.
Si CY est sélectionné en exécutant SUB(31), le résultat de HR 10 est soustrait
de zéro (à noter que CLC(41) est nécessaire, ici également, pour obtenir un
résultat précis), le résultat est réinséré dans HR 10, et HR 1100 est mis sur ON
pour indiquer un résultat négatif.
Si CY n’est pas sélectionné en exécutant SUB(31), le résultat est positif, la
seconde soustraction n’est pas exécutée, et HR 1100 n’est pas mis sur ON. HR
1100 est programmé comme un bit d’auto-maintien de façon à ce qu’une modification de l’état de CY ne le mettra pas sur OFF lorsque le programme sera
balayé de nouveau.
Cet exemple utilise des formes sur changement d’état de SUB(31) afin de n’exécuter l’opération de soustraction que lorsque 00002 est mis sur ON. Lorsqu’une
autre opération de soustraction est exécutée, 00002 doit être mis sur OFF sur au
moins un cycle (en remettant à zéro HR 1100) puis remis sur ON.
TR 0
00002
CLC(41)
@SUB(31)
Première
soustraction
201
DM 0100
HR 10
25504
CLC(41)
@SUB(31)
#0000
Seconde
soustraction
HR 10
HR 10
25504
HR 1100
HR 1100
Mis sur ON pour indiquer
un résultat négatif.
403
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
Adresse
Instruction
00000
00001
00002
00003
LD
OUT
CLC(41)
@SUB(31)
Opérandes
00002
0
TR
DM
HR
00004
00005
00006
00007
00008
00009
00010
00011
AND
CLC(41)
@SUB(31)
LD
LD
OR
AND LD
OUT
#
HR
HR
TR
HR
HR
201
0100
10
25504
0000
10
10
0
25504
1100
--1100
La première et la seconde soustraction indiquées dans ce schéma sont illustrées ci--dessous en utilisant des exemples de données pour 201 et DM 0100.
Rem. L’opération SUB(31) implique la soustraction de Su et de CY de10 000 plus Mi.
Pour des résultats positifs, le digit de gauche est tronqué. Pour des résultats
négatifs, le complément de 10 est calculé. La procédure utilisée pour l’obtention
du résultat approprié est la suivante :
Première soustraction
IR 201
1029
DM 0100 - 3452
CY
-0
HR 10
7577 (1029 + (10000 - 3452))
CY
1
(résultat négatif)
Seconde soustraction
0000
HR 10 -7577
-0
CY
HR 10 2423 (0000 + (10000 - 7577))
CY
1
(résultat négatif)
Dans le cas qui précède, le programme doit mettre HR 1100 sur ON pour indiquer que la valeur contenue dans HR 10 est négative.
7-20-5
BCD MULTIPLY - MUL(32)
Zones de données d’opérandes
Symboles à contacts
Md : Multiplicande (BCD)
IR, SR, AR, DM, HR, TC, LR, #
MUL(32)
@MUL(32)
Md
Md
Mr
Mr
R
R
Mr : Multiplicateur (BCD)
Limitations
404
IR, SR, AR, DM, HR, TC, LR, #
R : Premier mot de résultat
IR, SR, AR, DM, HR LR
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
Description
Lorsque la condition d’exécution est OFF, MUL(32) ne s’exécute pas. Lorsque la
condition d’exécution est ON, MUL(32) multiplie Md par le contenu de Mr, et
insère le résultat en R et R+1.
Md
X
Mr
R +1
Exemple
R
Lorsqu’IR 00000 est ON avec le programme suivant, les contenus d’IR 013 et de
DM 0005 sont multipliés et le résultat est inséré dans HR 07 et GR 08. Des
exemples de données et de calculs sont montrés dans le programme suivant :
00000
MUL(32)
013
DM 0005
Adresse
00000
00001
Instruction
HR 07
X
0
Drapeaux
3
Md : IR 013
3
5
6
0
Mr : DM 0005
0
2
5
R+1 : HR 08
0
0
8
ER :
3
Opérandes
LD
MUL(32)
00000
DM
HR
013
0005
07
R : HR 07
9
0
0
Md et/ou Mr n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
7-20-6
CY :
ON lorsque le résultat contient un report.
EQ :
ON lorsque le résultat est égal à 0.
BCD DIVIDE - DIV(33)
Zones de données d’opérandes
Symboles à contacts
Dd : Mot dividende (BCD)
IR, SR, AR, DM, HR, TC, LR, #
DIV(33)
Dr : Mot diviseur (BCD)
Dd
Dr
R
Limitations
IR, SR, AR, DM, HR, TC, LR, #
R : Premier mot de résultat (BCD)
IR, SR, AR, DM, HR, LR
R et R+1 peuvent se trouver dans la même zone de données. DM 6144 à DM
6655 ne peuvent pas être utilisés pour R.
405
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
Description
Lorsque la condition d’exécution est OFF, DIV(33) ne s’exécute pas et le programme passe à l’instruction suivante. Lorsque la condition d’exécution est ON,
Dd est divisé par Dr et le résultat est inséré dans R et R + 1 : le quotient dans R et
le reste dans R + 1.
Reste
Quotient
R+1
R
Dr
Drapeaux
ER :
Dd
Dd ou Dr n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
EQ :
Exemple
ON lorsque le résultat est égal à 0.
Lorsqu’IR 00000 est ON avec le programme suivant, le contenu d’IR 216 est
divisé par le contenu d’HR 09 et le résultat est inséré dans DM 0017 et DM 0018.
Des exemples de données et de calculs sont montrés dans le programme suivant.
00000
Adresse
DIV(33)
216
00000
00001
Instruction
Opérandes
LD
DIV(33)
00000
HR 09
DM 0017
Quotient
1
0
7-20-7
R : DM 0017
1
5
0
Dd : HR 09
0
0
3
3
HR
DM
Reste
216
09
0017
R + 1 : DM 0018
0
0
0
2
Dd : IR 216
4
5
2
DOUBLE BCD ADD - ADDL(54)
Zones de données d’opérandes
Symboles à contacts
Au : 1er terme de l’addition (BCD)
IR, SR, AR, DM, HR, TC, LR
ADDL(54)
@ADDL(54)
Au
Au
Ad
Ad
R
R
Ad : 2e terme de l’addition (BCD)
Limitations
406
IR, SR, AR, DM, HR, TC, LR
R : 1er canal de résultat
IR, SR, AR, DM, HR, LR
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
Description
Lorsque la condition d’exécution est OFF, ADDL(54) ne s’exécute pas. Lorsque
la condition d’exécution est ON, ADDL(54) additionne les contenus de CY aux
valeurs à 8 digits dans Au et Au+1, et insère le résultat dans R et R+1. CY ne
sera positionné que si le résultat est supérieur à 99999999.
Au + 1
Au
Ad + 1
Ad
+
CY
Drapeaux
ER :
CY
R+1
R
Au et/ou Ad n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
Exemple
CY :
ON lorsque le résultat contient un report.
EQ :
ON lorsque le résultat est égal à 0.
Lorsque 00000 est ON, la section du programme suivant additionne les deux
nombres à 12 digits, le premier contenu deLR 00 à LR 02 et le deuxième de DM
0010 à DM 0012. Le résultat est inséré dans HR 10 à HR 13.
Les 8 premiers digits en partant de la droite des deux nombres sont additionnés
en utilisant ADDL(54), c’est--à--dire, les contenus de LR 00 et LR 01 sont additionnés à DM 0010 et DM 0011 et le résultat est inséré dans HR 10 et HR 11. La
seconde addition additionne les 4 digits en partant de la gauche de chaque nombre en utilisant ADD(30) et inclut la retenue de la première addition. La dernière
instruction, ADB(50) (voir 7-21-1 BINARY ADD - ADB(50)) additionne deux
constantes toutes à zéro et place la retenue de la deuxième addition dans
HR 13.
00000
Adresse
Instruction
00000
00001
00002
LD
CLC(41)
@ADDL(54)
Opérandes
CLC(41)
@ADDL(54)
LR 00
DM 0010
HR 10
@ADD(30)
00003
DM 0012
HR 12
#0000
#0000
HR 13
00004
LR
DM
HR
00
0010
10
LR
DM
HR
02
0012
12
#
#
HR
0000
0000
13
@ADD(30)
LR 02
@ADB(50)
00000
@ADB(50)
407
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
7-20-8
DOUBLE BCD SUBTRACT - SUBL(55)
Zones de données d’opérandes
Mi : 1er terme de la soustraction (BCD)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
SUBL(55)
@SUBL(55)
Mi
Mi
Su
Su
R
R
Su : 2e terme de la soustraction (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R : 1er canal de résultat
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, SUBL(55) ne s’exécute pas. Lorsque
la condition d’exécution est ON, SUBL(55) soustrait CY et le contenu à 8 digits
de Su et Su+1 de la valeur à 8 digits de Mi et Mi+1, et insère le résultat dans R et
R+1. Lorsque le résultat est négatif, CY est activé et le complément de 10 du
résultat est inséré dans R. Pour convertir le complément de 10 en résultat réel,
soustraire le contenu de R de 0. Puisqu’une constante à 8 digits ne peut pas être
directement saisie, utiliser l’instruction BSET(71) (voir 7-17-4 BLOCK SET BSET(71)) pour créer une constante à 8 digits.
Mi + 1
Mi
Su + 1
Su
CY
Drapeaux
ER :
CY
R+1
R
Mi, M+1,Su, ou Su+1 ne sont pas des valeurs BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
408
CY :
ON lorsque le résultat est négatif, c’est--à--dire, lorsque Mi est inférieur
à Su.
EQ :
ON lorsque le résultat est égal à 0.
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
Exemple
L’exemple qui suit est très similaire à une soustraction à un seul mot. Dans cet
exemple, toutefois, BSET(71) est nécessaire pour supprimer le contenu de
DM 0000 et de DM 0001 de façon à permettre de soustraire un résultat négatif
de 0 (l’entrée d’une constante à 8 digits est impossible).
TR 0
00003
CLC(41)
Première
soustraction
@SUBL(55)
HR 00
220
DM 0100
25504
@BSET(71)
#0000
DM 0000
DM 0001
CLC(41)
Seconde
soustraction
@SUBL(55)
DM 0000
DM 0100
DM 0100
25504
HR 0100
HR 0100
Adresse
00000
00001
00002
00003
Instruction
LD
OUT
CLC(41)
@SUBL(55)
Mis sur ON pour indiquer
un résultat négatif
Opérandes
TR
HR
DM
00004
00005
AND
@BSET(71)
#
DM
DM
00003
0
00
220
0100
25504
0000
0000
0001
Adresse
00006
00007
00008
00009
00010
00011
00012
Instruction
Opérandes
CLC(41)
@SUBL(55)
LD
LD
OR
AND LD
OUT
DM
DM
DM
TR
HR
0000
0100
0100
0
25504
0100
HR
0100
409
Chapitre 7-20
Instructions de calcul sur les valeurs BCD
7-20-9
DOUBLE BCD MULTIPLY - MULL(56)
Zones de données d’opérandes
Md : Premier mot multiplicande (BCD)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR
MULL(56)
@MULL(56)
Md
Md
Mr
Mr
R
R
Mr : Premier mot multiplicateur (BCD)
IR, SR, AR, DM, HR, TC, LR
R : Premier mot de résultat
IR, SR, AR, DM, HR LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, MULL(56) ne s’exécute pas. Lorsque
la condition d’exécution est ON, MULL(56) multiplie les contenus à 8 digits de
Md et Md+1 par les contenus de Mr et Mr+1, et insère le résultat dans R à R+3.
x
R+3
Drapeaux
ER :
CY :
EQ :
R+2
Md + 1
Md
Mr + 1
Mr
R+1
R
Md, Md+1,Mr, ou Mr+1 ne sont pas des valeurs BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
ON lorsque le résultat contient un report.
ON lorsque le résultat est égal à 0.
7-20-10 DOUBLE BCD DIVIDE - DIVL(57)
Zones de données d’opérandes
Dd : Premier mot dividende (BCD)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR
DIVL(57)
@DIVL(57)
Dd
Dd
Dr
Dr
R
R
Dr : Premier mot diviseur (BCD)
IR, SR, AR, DM, HR, TC, LR
R : Premier mot de résultat
IR, SR, AR, DM, HR LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, DIVL(57) ne s’exécute pas. Lorsque
la condition d’exécution est ON, DIVL(57) les contenus à 8 digits de Dd et D+1
est divisé par les contenus de Dr et Dr+1 et le résultat est inséré dans R et R+3 :
le quotient dans R et R+1, le reste dans R+2 et R+3.
Reste
R+3
Dr+1
410
Quotient
R+2
Dr
R+1
R
Dd+1
Dd
Chapitre 7-21
Instructions de calcul binaire
Drapeaux
ER :
Dr et Dr+1 contiennent 0.
Dd, Dd+1, Dr ou Dr+1 ne sont pas des valeurs BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le résultat est égal à 0.
7-21 Instructions de calcul binaire
7-21-1 BINARY ADD - ADB(50)
Zones de données d’opérandes
Au : Mot cumulande (binaire)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
ADB(50)
@ADB(50)
Au
Au
Ad
Ad
R
R
Ad : Mot cumulateur (binaire)
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, ADB(50) ne s’exécute pas. Lorsque la
condition d’exécution est ON, ADB(50) additionne les contenus de Au, Ad et CY
et insère le résultat dans R. CY est positionné si le résultat est supérieur à FFFF.
Au + Ad + CY
CY R
ADB(50) peut aussi être utilisé pour additionner des données binaires signées.
Avec CPM1A, CPM2A, CPM2C, et SRM1(-V2), les drapeaux de dépassement
de capacité positif et négatif (SR 25404 and SR 25405) indiquent quand le
résultat a dépassé la plus basse ou la plus haute limite de la plage de données
binaires signées 16 bits.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
CY :
ON lorsque le résultat est supérieur à FFFF.
EQ :
ON lorsque le résultat est égal à 0.
OF :
ON lorsque le résultat dépasse +32 767 (7FFF).
UF :
ON lorsque le résultat est inférieur à -32 768 (8000).
411
Chapitre 7-21
Instructions de calcul binaire
Exemple
L’exemple suivant montre une addition à 4 digits avec CY utilisé pour insérer
#0000 ou #0001 dans R+1 pour veiller à ce que chaque report soit préservé.
Adresse
TR 0
00000
00000
00001
00002
00003
CLC(41)
ADB(50)
Instruction
LD
OUT
CLC(41)
ADB(50)
Opérandes
TR
200
DM 0100
HR 10
DM
HR
=R
25504
00004
00005
MOV(21)
#0000
HR 11
AND NOT
MOV(21)
= R+1
25504
MOV(21)
#0001
HR 11
= R+1
00006
00007
00008
LD
AND
MOV(21)
00000
0
200
0100
10
25504
#
HR
TR
0000
11
0
25504
#
HR
00001
11
Dans les cases ci--dessous, A6E2 + 80C5 = 127A7. Le résultat est un numéro à
5 digits, ainsi CY (SR 25504) = 1, et le contenu de R+1 devient #0001.
A
+
0
R+1 : HR 11
0
0
1
8
Au : IR 200
6
E
2
Ad : DM 0100
0
C
5
2
R : HR 10
7
A
7
Rem. Pour les calculs binaires signés, l’état des drapeaux UF et OF indique quand le
résultat a dépassé la plage de données binaires signées (-32 768 (8000) à
+32 767 (7FFF)).
7-21-2 BINARY SUBTRACT - SBB(51)
Zones de données d’opérandes
Symboles à contacts
Mi : Mot minuende (binaire)
IR, SR, AR, DM, HR, TC, LR, #
SBB(51)
@SBB(51)
Mi
Mi
Su
Su
R
R
Su : Mot cumulateur (binaire)
Limitations
412
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Chapitre 7-21
Instructions de calcul binaire
Description
Lorsque la condition d’exécution est OFF, SBB(51) ne s’exécute pas. Lorsque la
condition d’exécution est ON, SBB(51) soustrait les contenus de Su et CY de Mi
et insère le résultat dans R. Lorsque le résultat est négatif, CY est activé et le
complément 2 du résultat réel est inséré dans R.
Mi - Su - CY
CY R
SBB(51) peut aussi être utilisé pour soustraire des données binaires signées.
Avec CPM1A, CPM2A, CPM2C et SRM1(-V2), les drapeaux de dépassement
de capacité positifi et négatif (SR 25404 and SR 25405) indiquent quand le
résultat a dépassé la plus basse ou la plus haute limite de la plage de données
binaires signées 16 bits.
Drapeaux
ER :
CY :
EQ :
OF :
UF :
Exemple
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
ON lorsque le résultat est négatif, c’est--à--dire, lorsque Mi est inférieur
à Su plus CY.
ON lorsque le résultat est égal à 0.
ON lorsque le résultat dépasse +32 767 (7FFF).
ON lorsque le résultat est inférieur à -32 768 (8000).
L’exemple suivant montre une soustraction à 4 digits. Lorsque IR 00001 est ON,
Les contenus de LR 00 et CY sont soustraits du contenu d’IR 002 et le résultat
est écrit dans HR 01.
CY est mis sur ON lorsque le résultat est négatif. Lorsque des données normales sont utilisées, un résultat négatif (binaire signé) peut être transformé en utilisation de données normale NEG(--). Se reporter au paragraphe 7-19-15 COMPLEMENT - NEG(--) de 2 pour de plus amples informations.
Adresse
00001
00000
00001
00002
00003
CLC(41)
SBB(51)
Instruction
LD
OUT
CLC(41)
SBB(51)
Opérandes
TR
00001
1
LR
HR
200
00
01
200
LR00
HR 01
Dans le cas suivant, les contenus de LR 00 (#7A03) et CY sont soustraits
d’IR 002 (#F8C5) puisque le résultat est positif, CY est mis à 0.
Si le résultat était négatif, CY serait placé à 1. Pour les données normales (non-signées), le résultat doit être converti en complément de 2.
F
Mi : IR 002
8
C
5
-
7
Su : LR 00
A
0
3
-
0
7
0
0
CY = 0
(de CLC(41))
0
R : HR 01
E
C
2
Rem. Pour les calculs binaires signés, l’état des drapeaux UF et OF indique quand le
résultat a dépassé la plage de données binaires signées (-32 768 (8000) à
+32 767 (7FFF)).
413
Chapitre 7-21
Instructions de calcul binaire
7-21-3 BINARY MULTIPLY - MLB(52)
Zones de données d’opérandes
Md : Mot multiplicande (binaire)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
MLB(52)
@MLB(52)
Md
Md
Mr
Mr
R
R
Mr : Mot multiplicateur (binaire)
IR, SR, AR, DM, HR, TC, LR, #
R : Premier mot de résultat
IR, SR, AR, DM, HR LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
MLB(52) ne peut pas être utilisé pour multiplier des données binaires signées.
Description
Lorsque la condition d’exécution est OFF, MLB(52) ne s’exécute pas. Lorsque la
condition d’exécution est ON, MLB(52) multiplie le contenu de Md par le contenu
de Mr, insère le résultat à 4 digits de droite dans R, et insère les 4 digits de gauche dans R+1.
Md
X
Mr
R +1
Drapeaux
ER :
EQ :
R
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
ON lorsque le résultat est égal à 0.
7-21-4 BINARY DIVIDE - DVB(53)
Zones de données d’opérandes
Dd : Mot dividende (binaire)
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
DVB(53)
@DVB(53)
Dd
Dd
Dr
Dr
R
R
Dr : Mot diviseur (binaire)
IR, SR, AR, DM, HR, TC, LR, #
R : Premier mot de résultat
IR, SR, AR, DM, HR LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
DVB(53) ne peut pas être utilisé pour diviser des données binaires signées.
Description
Lorsque la condition d’exécution est OFF, DVB(53) ne s’exécute pas. Lorsque la
condition d’exécution est ON, DVB(53) divise le contenu de Dd par le contenu de
Dr et le résultat est inséré dans R et R+1 : le quotient dans R, le reste dans R+1.
Dr
414
Quotient
Reste
R
R+1
Dd
Chapitre 7-22
Instructions mathématiques spéciales
Drapeaux
ER :
Dr contient 0.
Il n’existe pas de mot DM adresssé indirectement. (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le résultat est égal à 0.
7-22 Instructions mathématiques spéciales
7-22-1
FIND MAXIMUM - MAX(--)
Symboles à contacts
Zones de données d’opérandes
C : Données de contrôle
MAX(--)
@MAX(--)
C
C
R1
R1
D
D
IR, SR, AR, DM, HR, TC, LR, #
R1 : Premier mot de la plage
IR, SR, AR, DM, HR, TC, LR
D : Mot de destination
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction est applicable uniquement dans CPM2A/CPM2C.
N peut être BCD entre 0001 et 9999.
R1 et R1+N--1 peuvent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Lorsque la condition d’exécution est OFF, MAX(--) ne s’exécute pas. Lorsque la
condition d’exécution est ON, MAX(--) recherche les plages de mémoires de R1
à R1+N--1 pour l’adresse qui contient la valeur maximale et sort la valeur maximale dans le mot de destination (D).
L’adresse s’identifie différemment dans la zone DM :
1, 2, 3...
1. Pour une adresse dans la zone DM, le mot adresse est écrit dans C+1. Par
exemple, si l’adresse contenant la valeur maximale est DM 0014, alors
#0114 est écrit dans D+1.
2. Pour une adresse dans une autre zone de données, le nombre d’adresses
depuis le début de la recherche est écrit dans D+1. Par exemple, si l’adresse contenant la valeur maximale est IR 114 et le premier mot de la plage
de recherche est IR 014, alors #0100 est écrit dans D+1.
Lorsque le bit 14 de C est ON et que plus d’une adresse contient la même valeur
maximale, la position la plus basse de l’adresse sera transmise à D+1. La position sera transmise comme une adresse de DM pour une zone DM qu’une position relative au premier mot de la plage pour toutes les autres zones.
Le nombre de mots dans cette plage (N) est contenu dans les trois digits de
droite de C, qui peuvent être des valeurs BCD entre 001 et 999.
415
Chapitre 7-22
Instructions mathématiques spéciales
Lorsque le bit 15 de C est OFF, les données dans la plage sont traîtées comme
un binaire non--signée et lorsqu’il est ON la données est traîtée comme une
binaire signée.
15
14
13
12
11
00
C:
Nombre de mots dans la
plage (N : 001 à 999 BCD)
Non utilisé - mis à zéro.
Nom utilisé - mis à zéro.
! Attention
Drapeaux
Adresse de sortie du D+1
1 (ON) : Oui.
0 (OFF) : Non.
Lorsque le bit 14 de C est ON, les valeurs d’environ #8000 sont traîtées comme
des nombres négatifs, alors le résultat diffèrera selon le type de données
spécifié. Veiller à ce que le type de données correct soit spécifié.
ER :
Il n’existe pas pas de mot DM adressé indirectement. (le contenu du
canal *DM n’est pas BCD ou la limite de la zone DM a été dépassée).
R1 et R1+N--1 ne sont pas dans la même zone.
EQ :
7-22-2
ON lorsque la valeur maximale est égale à #0000.
FIND MINIMUM - MIN(--)
Symboles à contacts
Zones de données d’opérandes
C : Données de contrôle
MIN(--)
@MIN(--)
C
C
R1
R1
D
D
IR, SR, AR, DM, HR, TC, LR, #
R1 : Premier mot de la plage
IR, SR, AR, DM, HR, TC, LR
D : Mot de destination
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction est applicable uniquement dans CPM2A/CPM2C.
N peut être une valeur BCD entre 0001 et 9999.
R1 et R1+N--1 peuvent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Description
Lorsque la condition d’exécution est OFF, MIN(--) ne s’exécute pas. Lorsque la
condition d’exécution est ON, MIN(--) recherche la plage de mémoire depuis R1
jusqu’à R1+N--1 pour l’adresse qui contient la valeur minimale et sort la valeur
minimale vers le mot de destination (D).
L’adresse s’identifie différemment dans la zone DM :
1, 2, 3...
416
1. Pour une adresse dans la zone DM, le mot adresse est écrit dans C+1. Par
exemple, lorsque l’adresse contenant la valeur minimale est DM 0114, alors
#0114 est écrit dans D+1.
2. Pour une adresse dans une autre zone de données, le nombre d’adresses
depuis le début de la recherche est écrit dans D+1. Par exemple, lorsque
l’adresse contenant la valeur minimale est IR 114 et le premier mot de la
plage de recherche est IR 014, alors #0100 est écrit dans D+1.
Chapitre 7-22
Instructions mathématiques spéciales
Lorsque le bit 14 de C est ON et que plus d’une adresse contient la même valeur
minimale, la position la plus basses de l’adresse sera transmise à D+1.La position sera transmise comme une adresse DM pour une zone DM, mais comme
une position relative au premier mot de la plage pour toutes les autres zones.
Le nombre de mots dans la plage (N) est contenu dans les trois digits de droite
de C, qui peuvent être des valeurs BCD entre 001 et 999.
Lorsque le bit 15 de C est OFF, la données de la plage est traîtée comme une
binaire non--signée et lorsqu’il est ON la donnée est traîtée comme une binaire
signée.
15
14
13
12
11
00
C:
Nombre de mots dans
la plage (N : 001 à 999 BCD)
Non utilisé - mis à zéro.
Non utilisé - mis à zéro.
! Attention
Drapeaux
Adresse de sortie pour D+1
1 (ON) : Oui.
0 (OFF) : Non.
Lorsque le bit 14 de C est ON, les valeurs d’environ #8000 sont traîtées comme
des nombres négatifs, alors le résultat diffèrera selon le type de données
spécifié. Veillez à ce que le type de données correct soit spécifié.
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
R1 et R1+N--1 ne sont pas dans la même zone de données.
EQ :
7-22-3
ON lorsque la valeur minimale est égale à #0000.
AVERAGE VALUE - AVG(--)
Symboles à contacts
AVG(--)
Zones de données d’opérandes
S : Mot source
IR, SR, AR, DM, HR, TC, LR
S
N : Nombre de cycles
N
IR, SR, AR, DM, HR, TC, LR, #
D
D : Premier mot de destination
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction est applicable uniquement dans CPM2A/CPM2C.
S peut être hexadécimal.
N peut être une valeur BCD de #0001 à #0064.
D et D+N+1 peuvent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour S, N, ou D à D+N+1.
Description
AVG(--) est utilisée pour calculer la valeur moyenne de S après N cycles.
Lorsque la condition d’exécution est OFF, AVG(--) ne s’exécute pas.
Chaque fois que AVG(--) s’exécute, le contenu de S est enregistré dans les deux
mots D+2 à D+N+1. Lors de la première opération, AVG(--) écrit le contenu de S
417
Chapitre 7-22
Instructions mathématiques spéciales
à D+2 ; lors de la seconde opération, il écrit le contenu de S à D+3, etc. Lors de la
Nième opération, AVG(--) écrit le contenu de S et l’enregistre dans D+N+1,
AVG(--) calcule la valeur moyenne enregistrée dans D+2 à D+N+1, et écrit la
moyenne dans D.
Le schéma suivant montre la fonction des mots D à D+N+1.
D
D+1
Valeur moyenne (après N opérations ou plus)
utilisé par le système.
D+2
D+3
Contenu de S depuis la 1ère op. de AVG(--)
Contentu de S depuis la 2ème op. de AVG(--)
D+N+1
Contentu de S depuis la Nème op. de AVG(--)
Conseils d’utilisation
La valeur moyenne est calculée en binaire. Veiller à ce que le contenu de S soit
en binaire.
N peut être une valeur BCD de #0001 à #0064. Lorsque le contenu de
N !"#0065, AVG(--) fonctionnera avec N=64.
La valeur moyenne sera arrondie à la valeur du nombre entier le plus proche.
(0,5 est arrondi à 1)
Positionner les contenus de D+1 à #0000 pour exécuter AVG(--) depuis le premier scan.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
Une ou plusieurs opérandes ont été positionnées incorrectement.
D et D+N+1 ne sont pas dans la même zone de données.
Exemple
418
Dans l’exemple suivant, le contenu d’IR 200 est positionné à #0000 et donc augmenté de 1 à chaque cycle. Pour les deux premiers cycles, AVG(--) déplace le
contenu d’IR 200 à DM 1002 et DM 1003. Lors du troisième cycle et suivants,
Chapitre 7-22
Instructions mathématiques spéciales
AVG(--) calcule la valeur moyenne des contenus de DM 1002 à DM 1004 et écrit
la valeur moyenne à DM 1000.
00001
@MOV(21)
Adresse
Instruction
00000
00001
LD
@MOV(21)
Opérandes
#0000
200
00001
#
AVG(--)
200
00002
AVG(--)
#0003
DM 1000
#
DM
00003
00004
CLC(41)
0000
200
200
0003
1000
CLC(41)
ADB(50)
ADB(50)
#
200
200
0001
200
#0001
200
7-22-4
IR 200
1er cycle
0000
2è cycle
0001
3è cycle
0002
4è cycle
0003
DM 1000
1er cycle
0000
2è cycle
0001
3è cycle
0001
4è cycle
0002
Moyenne
DM 1001
DM 1002
DM 1003
DM 1004
0000
-----
0000
0001
---
0000
0001
0002
0003
0001
0002
utilisé par le syst.
Prévision
valeurs de
IR 200
SUM - SUM(--)
Symboles à contacts
SUM(--)
@SUM(--)
C
C
R1
R1
D
D
Zones de données d’opérandes
C : Données de contrôle
IR, SR, AR, DM, HR, LR, #
R1 : Premier mot de la plage
IR, SR, AR, DM, HR, TC, LR
D : Premier mot de destination
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction applicable uniquement dans CPM2A/CPM2C.
Les 3 digits de droite de C peuvent être des valeurs BCD entre 001 et 999.
DM 6144 à DM 6655 ne peuvent pas être utilisés pour D.
Lorsque le bit 14 de C est OFF (sélectionner pour données BCD), toutes les données dans la plage R1 à R1+N--1 doivent être des valeurs BCD.
Description
Lorsque la condition d’exécution est OFF, SUM(--) ne s’exécute pas. Lorsque la
condition d’exécution est ON, SUM(--) additionne les contenus des mots R1 à
R1+N--1 ou les bits dans les mots R1 à R1+N/2-1 et transmet cette valeur aux
mots de destination (D et D+1). Les données peuvent être additonnées comme
binaire ou BCD et sera sorite dans la même forme. Les données binaires peuvent être à la fois signées ou non--signées.
419
Chapitre 7-22
Instructions mathématiques spéciales
Les fonctions des bits dans C sont indiquées dans le schéma suivant et expliquées plus en détails ensuite.
15
14
13
12
11
00
C:
Nombre d’articles dans la plage (N,
BCD)
Nombre de mots ou nombre de bits
001 à 999
Premier bit (lorsque le bit 13 est ON)
1 (ON) : Extrême droite
0 (OFF) : Extrême gauche
Type de données
1 (ON) : Binaire
0 (OFF) : BCD
Unités d’addition
1 (ON) : Bits
0 (OFF) : Mots
Non utilisé - mis à zéro
Nombre d’articles dans la
plage
Le nombre d’articles dans la plage (N) est contenu dans les 3 digits de droite de
C, qui doivent être des valeurs BCD entre 001 et 999. Ce nombre indiquera le
numéro des mots ou le numéro des bits selon les articles additionnés.
Unités d’additions
Les mots seront additionnés lorsque le bit 13 est OFF et les bits seront additionnés lorsque le bit 13 est ON.
Lorsque les bits sont spécifiés, la plage peut commencer avec l’octet à l’extrême
gauche ou à l’extrême droite de R1. L’octet à gauche de R1 ne sera pas additonné lorsque le bit 12 est ON.
R1
R1+1
R1+2
MSB
1
3
5
LSB
2
4
6
R1+3
7
8
Les bits seront additionnés dans cet ordre lorsque le bit 12 est OFF : 1+2+3+4....
Les bits seront additionnés dans cet ordre lorsque le bit 12 est ON : 2+3+4....
Type de données
La donnée dans la plage est traîtée comme une donnée binaire non--signée
lorsque le bit 14 de C est ON et quand le bit 15 est OFF, et elle est traîtée comme
une donnée binaire signée lorsque les deux bits 14 et 15 sont ON.
La donnée dans la plage est traîtée comme une valeur BCD lorsque le bit 14 de
C est OFF, sans regard sur l’état du bit 15.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée.)
R1 et R1+N--1 ne sont pas dans la même zone de données.
Le nombre d’articles dans C n’est pas une valeur BCD entre 001 et 999.
La donnée additionnée n’est pas une valeur BCD lorsque BCD était
désigné.
EQ :
420
ON lorsque le résultat est égal à 0.
Chapitre 7-23
Instructions logiques
Exemple
Dans l’exemple suivant, les contenus BCD des 8 mots de DM 0000 à DM 0007
sont additionnés lorsque IR 00001 est ON et le résultat est écrit dans DM 0010 et
DM 0011.
00001
@SUM(--)
Adresse
Instruction
00000
00001
LD
@SUM(--)
#0008
DM 0000
Opérandes
00001
#
DM
DM
DM 0010
DM 0000
DM 0001
DM 0002
DM 0003
0001
0002
0003
0004
DM 0004
DM 0005
DM 0006
DM 0007
0005
0006
0007
0008
DM 0010
DM 0011
0008
0000
0010
0036
0000
7-23 Instructions logiques
7-23-1 COMPLEMENT - COM(29)
Symboles à contacts
Zones de données d’opérandes
COM(29)
@COM(29)
Wd
Wd
Wd : Mot complément
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd.
Description
Lorsque la condition d’exécution est OFF, COM(29) ne s’exécute pas. Lorsque
la condition d’exécution est ON, COM(29) efface tous les bits ON et positionne
tous les bits OFF dans Wd.
Conseils d’utilisation
Le complément de Wd sera calculé à chaque cycle lorsque la forme simple de
COM(29) est utilisée. Utiliser la forme sur changement de front (@COM(29)) ou
combiner COM(29) avec DIFU(13) ou DIFD(14) pour calculer une seule fois le
complément.
Exemple
15
Original
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
Complément
Drapeaux
0
1
00
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée.)
EQ :
ON lorsque le résultat est égal à 0.
421
Chapitre 7-23
Instructions logiques
7-23-2 LOGICAL AND - ANDW(34)
Zones de données d’opérandes
Symboles à contacts
I1 : Entrée 1
IR, SR, AR, DM, HR, TC, LR, #
ANDW(34)
@ANDW(34)
I1
I1
I2
I2
R
R
I2 : Entrée 2
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, ANDW(34) ne s’exécute pas. Lorsque
la condition d’exécution est ON, ANDW(34) effectue un ET logique entre les
contenus de I1 et I2 bit par bit et insère le résultat dans R.
Exemple
15
E1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
E2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
15
0
R
Drapeaux
1
00
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le résultat est égal à 0.
7-23-3 LOGICAL OR - ORW(35)
Zones de données d’opérandes
Symboles à contacts
E1 : Entrée 1
IR, SR, AR, DM, HR, TC, LR, #
Limitations
422
ORW(35)
@ORW(35)
I1
I1
I2
I2
R
R
E2 : Entrée 2
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Chapitre 7-23
Instructions logiques
Description
Lorsque la condition d’exécution est OFF, ORW(35) ne s’exécute pas. Lorsque
la condition d’exécution est ON, ORW(35) effectue un OU logique entre les
contenus de I1 and I2 bit par bit et insères le résultat dans R.
15
Exemple
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
Drapeaux
1
1
1
00
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le résultat est égal à 0.
7-23-4 EXCLUSIVE OR - XORW(36)
Zones de données d’opérandes
E1 : Entrée 1
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
XORW(36)
@XORW(36)
I1
I1
I2
I2
R
R
E2 : Entrée 2
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, XORW(36) ne s’exécute pas. Lorsque
la condition d’exécution est ON, XORW(36) effectue un OU exclusif entre les
contenus de I1 et I2 bit par bit et insère le résultat dans R.
15
Exemple
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
Drapeaux
1
1
1
00
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le résultat est égal à 0.
423
Chapitre 7-24
Instructions d’incrémentation/décrémentation
7-23-5 EXCLUSIVE NOR - XNRW(37)
Zones de données d’opérandes
I1 : Entrée 1
Symboles à contacts
IR, SR, AR, DM, HR, TC, LR, #
XNRW(37)
@XNRW(37)
I1
I1
I2
I2
R
R
I2 : Entrée 2
IR, SR, AR, DM, HR, TC, LR, #
R : Mot de résultat
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour R.
Description
Lorsque la condition d’exécution est OFF, XNRW(37) ne s’exécute pas. Lorsque
la condition d’exécution est ON, XNRW(37) effectue un NOR exclusif entre les
contenus de I1 et I2 bit par bit et insère le résultat dans R.
15
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
Drapeaux
ER :
EQ :
0
1
1
00
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
ON lorsque le résultat est égal à 0.
7-24 Instructions d’incrémentation/décrémentation
7-24-1
BCD INCREMENT - INC(38)
Symboles à contacts
INC(38)
@INC(38)
Wd
Wd
Zones de données d’opérandes
Wd : Mot croissant (BCD)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd.
Description
Lorsque la condition d’exécution est OFF, INC(38) ne s’exécute pas. Lorsque la
condition d’exécution est ON, INC(38) incrémente à chaque Wd, sans affecter
Carry (CY).
Conseils d’utilisation
Le contenu de Wd est incrémenté à chaque cyle lorsque la forme simple de
INC(38) est utilisée. Utiliser la forme sur changement de front (@INC(38)) ou
combiner INC(38) avec DIFU(13) ou DIFD(14) pour augmenter une seule fois
Wd.
Drapeaux
ER :
EQ :
424
Wd n’est pas une valeur BCD
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
ON lorsque le résultat incrémenté est égal à 0.
Chapitre 7-24
Instructions d’incrémentation/décrémentation
7-24-2
BCD DECREMENT - DEC(39)
Symboles à contacts
DEC(39)
@DEC(39)
Wd
Wd
Zones de données d’opérandes
Wd : Mot décroissant (BCD)
IR, SR, AR, DM, HR, LR
Limitations
DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd.
Description
Lorsque la condition d’exécution est OFF, DEC(39) ne s’exécute pas. Lorsque la
condition d’exécution est ON, DEC(39) décrémente Wd, sans affecter CY.
DEC(39) fonctionne de la même manière que INC(38) à part qu’il décrémente la
valeur au lieu de l’incrémenter.
Conseils d’utilisation
Le contenu de Wd est décrémenté à chaque cycle lorsque la forme simple de
DEC(39) est utilisée. Utiliser la forme sur changement de front (@DEC(39)) ou
combiner DEC(39) avec DIFU(13) ou DIFD(14) pour diminuer Wd une seule
fois.
Drapeaux
ER :
Wd n’est pas une valeur BCD.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas BCD ou la limite de la zone DM a été dépassée).
EQ :
ON lorsque le résultat décrémenté est égal à 0.
425
Chapitre 7-25
Instructions de sous-programmes
7-25 Instructions de sous-programmes
Les sous--programmes sont utiliser pour décomposer d’importantes tâches de
commande en tâches plus petites et afin de permettre de réutiliser un jeu
d’instructions particulier. Lorsque le programme principal appelle un
sous--programme, le contrôle est transféré à ce dernier et ses instructions sont
exécutées. Les instructions d’un sous--programme sont écrites de la même
façon que le code du programme principal. Lorsque toutes ces instructions ont
été exécutées, le contrôle revient au programme principal, à l’emplacement à
partir duquel a été saisi le sous--programme (sauf indication contraire à
l’intérieur du sous--programme).
7-25-1 SUBROUTINE ENTER - SBS(91)
Symboles à contacts
Zones de données de définition
N : Numéro du sous-programme
SBS(91) N
000 à 049
Limitations
Le numéro du sous-programme doit être compris entre 000 et 049.
Description
Un sous--programme peut être exécuté en insérant SBS(91) dans le
programme principal à l’emplacement où doit apparaître le sous--programme.
Le numéro utilisé dans SBS(91) indique le sous--programme désiré. Lorsque
SBS(91) est exécutée (lorsque sa condition d’exécution est ON), les
instructions comprise entre le SBN(92) ayant le même numéro de
sous--programme et le premier RET(93) qui le suit, sont exécutées avant le
retour à l’instruction qui suit le SBS(91) ayant effectué l’appel.
Prog. principal
SBS(91)
000
Prog. principal
SBN(92)
000
Sous-programme
RET(93)
END(01)
SBS(91) peut être utilisée autant de fois que désiré dans le programme : le
même sous--programme peut être appelé en différents endroits du
programme).
426
Chapitre 7-25
Instructions de sous-programmes
SBS(91) peut également être insérée dans un sous--programme pour faire
passer l’exécution du programme d’un sous--programme à l’autre : ceci se
nomme imbrication de sous--programmes. Une fois exécuté le second
sous--programme (une fois que RET(93) a été atteinte), le programme revient
au sous--programme initial qui est alors exécuté avant le retour au programme
principal. Il peut exister jusqu’à seize niveaux d’imbrication. Un
sous--programme ne peut pas s’appeler lui-même (ex., SBS(91) 000 ne peut
pas être programmée dans le sous--programme intitulé SBN(92) 000). Le
schéma ci-dessous montre deux niveaux d’imbrication :
SBS(91) 010
SBN(92) 010
SBN(92) 011
SBS(91) 011
SBS(91) 012
RET(93)
RET(93)
SBN(92) 012
RET(93)
Le schéma suivant illustre le flux d’exécution du programme en présence de
différentes conditions d’exécution définies pour deux SBS(91).
A
SBS(91)
000
A
B
Prog.
principal
SBS(91)
Conditions d’exécution OFF
pour sous--prog. 000 et 001
B
C
001
Condition d’exécution ON pour
sous--prog. 000
A
C
SBN(92)
000
D
B
C
Condition d’exécution ON pour
sous--prog. 001
A
B
E
C
D
RET(93)
Sous--prog.
SBN(92)
001
Conditions d’exécution ON pour
sous--prog. 000 et 001
A
D
B
E
C
E
RET(93)
END(01)
Drapeaux
ER :
Aucun sous-programme ne correspond au numéro de sous-programme spécifié.
Un sous-programme s’est appelé lui-même.
Un sous-programme en cours d’exécution a été appelé.
! Attention SBS(91) ne s’exécute pas et le sous--programme n’est pas appelé lorsque ER
est sur ON.
427
Chapitre 7-25
Instructions de sous-programmes
7-25-2 SUBROUTINE DEFINE et RETURN - SBN(92)/RET(93)
Symboles à contacts
SBN(92) N
Zones de données de définition
N : Numéro du sous-programme
000 à 049
RET(93)
Limitations
Le numéro du sous-programme doit être compris entre 000 et 049.
Chaque numéro de sous--programme ne peut être utilisé qu’une fois dans
SBN(92).
Description
SBN(92) est utilisée pour identifier le début d’un sous-programme et RET(93)
pour identifier la fin. Chaque sous--programme est identifié par un numéro de
sous--programmes, N, qui est la valeur de définition de SBN(92). Ce même
numéro de sous--programme est utilisé dans SBS(91) qui appelle le
sous--programme (voir 7-25-1 SUBROUTINE ENTER -- SBS(91)). Un numéro
de sous--programme n’est pas nécessaire avec RET(93).
Tous les sous--programmes doivent être écrits à la fin du sous-programme
principal. Une fois un ou plusieurs sous--programme(s) écrit(s), le programme
principal s’exécute jusqu’à la première SBN(92) avant de revenir à l’adresse
00000 du cycle suivant. Les sous--programmes ne s’exécutent que lorsqu’ils
sont appelés par SBS(91).
END(01) doit être insérée à la fin du dernier sous--programme, c’est-à-dire
après la dernière RET(93). Elle n’est pas nécessaire à un autre endroit du
programme.
Conseils d’utilisation
Lorsque SBN(92) est insérée par erreur dans un sous-programme, elle
empêche l’exécution des instructions qui suivent : l’exécution du programme
reprend à partir du début.
Lorsque DIFU(13) ou DIFU(14) sont insérées dans un sous--programme, le bit
d’opérande n’est pas mis sur OFF jusqu’à la prochaine exécution du
sous--programme : le bit d’opérande peut rester à l’état ON durant plus d’un
cycle.
Drapeaux
Aucun drapeau ne correspond à ces instructions.
7-25-3
MACRO - MCRO(99)
Zones de données d’opérandes
Symboles à contacts
N : Numéro du sous-programme
000 à 127
MCRO(99)
@MCRO(99)
N
N
I1
I1
O1
O1
I1 : Premier mot d’entrée
Limitations
428
IR, SR, AR, DM, HR, TC, LR
O1 : Premier mot de sortie
IR, SR, AR, DM, HR, LR
Le numéro du sous-programme doit être compris entre 000 et 049.
Si une adresse DM est utilisée pour O1, O1 à O1+3 doivent être accessibles en
lecture/écriture.
Chapitre 7-26
Instructions spéciales
Description
L’instruction MACRO permet à un sous-programme d’en remplacer plusieurs
autres possédant des structures identiques mais des opérandes différents. 4
mots d’entrées (entre SR 232 et SR 235) et 4 mots de sortie (entre SR 236 et
SR 239) sont affectés à MCRO(99). 8 mots sont utilisés dans le sous-programme, dont le contenu est extrait de I1 à I1+3 et de O1 à O1+3 lors de l’exécution du sous-programme
Lorsque la condition d’exécution est OFF, MCRO(99) ne s’exécute pas. Lorsque la condition d’exécution est ON, MCRO(99) copie les données comprises
entre I1 et I1+3 dans SR 232 - SR 235, puis appelle et exécute le sous-programme spécifié en N. A la fin du sous-programme, les données comprises
entre SR 236 et SR 239 sont retransférées vers O1 - O1+3 avant la fin de
MCRO(99).
Rem. Se reporter à la page 158 pour de plus amples informations sur MCRO(99).
Exemple
Dans cet exemple, les données comprises entre DM 0010 et DM 0013 sont
copiées dans SR 232 - SR 235, puis le sous-programme 10 est appelé et
exécuté. A la fin du sous-programme, les données comprises entre SR 236 et
SR 239 sont copiées dans les mots de sortie DM 0020 - DM 0023.
Programme principal
MCRO(99)
010
DM 0010
DM 0020
Programme principal
SBN(92)
010
Sous-programme
RET(93)
END(01)
Drapeaux
ER :
Aucun sous-programme ne correspond au numéro de sous-programme spécifié.
Un opérande a dépassé la limite d’une zone de données.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Un sous-programme s’est appelé lui-même.
Un sous-programme en cours d’exécution a été appelé.
7-26 Instructions spéciales
7-26-1
MESSAGE DISPLAY - MSG(46)
Symboles à contacts
MSG(46)
@MSG(46)
FM
FM
Zones de données d’opérandes
FM : Premier mot du message
IR, SR, AR, DM, HR, LR
429
Chapitre 7-26
Instructions spéciales
Limitations
DM 6649 à DM 6655 ne peuvent être utilisés pour FM.
Description
Lorsqu’elle est exécutée avec une condition d’exécution ON, MSG(46) lit 8 mots
en code ASCII étendu de FM à FM+7 et affiche le message sur la Console de
Programmation. Le message affiché peut comprendre jusqu’à 16 caractères,
chaque caractère ASCII exigeant 8 bits (2 digits). Voir codes ASCII à l’Annexe
G. Ces codes comprennent les caractères japonais katakana.
Si le message n’utilise pas 8 mots, il peut être arrêté à n’importe quel endroit par
“OD.” Lorsqu’OD est rencontré dans un message, aucun autre mot n’est lu et les
mots qui auraient normalement été utilisés dans le message peuvent être
utilisés à d’autres fins.
Mise en mémoire tampon et
priorité des messages
Jusqu’à trois messages peuvent être mis en mémoire tampon. Ils sont ensuite
affichés en mode “premier entré, premier sorti”. Du fait qu’il est possible
d’exécuter plus de trois MSG(46) dans le même cycle, des priorités sont
définies en fonction de l’endroit où sont sauvegardés les messages, pour la
sélection des messages à mettre en mémoire tampon.
Les priorités suivantes sont définies entre les zones de données pour l’affichage
des messages :
LR > IR > HR > AR > TC > DM
Lors du traitement des messages issus de la même zone, ceux
comportant la valeur d’adresse la plus basse ont la plus haute priorité.
Lors du traitement des messages adressés indirectement (*DM), ceux
comportant les adresses DM finales les plus basses ont la plus haute
priorité.
Suppression des messages
Pour supprimer un message, exécuter FAL(06) 00 ou le supprimer via une
console de programmation ou le logiciel de support.
Si le contenu du message est modifié alors que celui-ci est affiché, l’affichage se
modifie.
Drapeaux
ER :
Exemple
L’exemple suivant contient l’affichage obtenu pour l’instruction et les données
indiquées lorsque 00000 est à l’état ON. Si 00001 passe à l’état ON, un
message est supprimé.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
00000
Adresse
Instruction
Opérandes
MSG(46)
DM 0010
00001
00000
00001
LD
MSG(46)
00002
00003
LD
FAL(06)
DM
FAL(06) 00
Contenu de DM
DM 0010
4
1
4
2
Equivalent
ASCII
A
B
DM 0011
4
3
4
4
C
D
DM 0012
4
5
4
6
E
F
DM 0013
4
7
4
8
G
H
DM 0014
4
9
4
A
I
J
DM 0015
4
B
4
C
K
L
DM 0016
4
D
4
E
M
N
DM 0017
4
F
5
0
O
P
430
00000
MSG
ABCDEFGHIJKLMNOP
0010
00001
00
Chapitre 7-26
Instructions spéciales
7-26-2
I/O REFRESH - IORF(97)
Symboles à contacts
Zones de données d’opérandes
St : Début de mot
IORF(97)
IR 000 à IR 019
St
E : Fin de mot
E
IR 000 à IR 019
Rem. Cette instruction n’est pas supportée sur les API SRM1(-V2).
Limitations
St doit être égal ou inférieur à E.
Description
Pour rafraîchir les mots d’E/S, spécifier le premier mot d’E/S (St) et les derniers
mots d’E/S (E) à rafraîchir. Lorsque la condition d’exécution de IORF(97) est
ON, tous les mots compris entre St et E sont rafraîchis. Cette opération vient en
supplément du rafraîchissement normal des E/S survenant durant le cycle de
traitement de l’unité centrale.
Lorsque St>E, IORF(97) est traitée de la même façon que NOP(00).
Normalement, le rafraîchissement des E/S n’est exécuté qu’une fois par cycle à
la fin de l’exécution du programme, mais IORF(97) peut être utilisée pour
rafraîchir immédiatement les mots d’E/S durant l’exécution du programme.
! Attention Bien qu’IORF(97) puisse être utilisée dans les sous-programmes d’interruption,
ne pas l’exécuter trop souvent. Ceci générerait une erreur système fatale (FALS
9F) qui bloquerait l’exécution du programme. L’intervalle entre deux exécutions
de IORF(97) doit être de 1,3 m + temps d’exécution total du sous-programme
d’interruption.
Drapeaux
ER :
St ou E n’est pas dans la plage autorisée (IR 000 à IR 019).
St est supérieur à E si St>E, IORF(97) est traitée de la même façon que
NOP(00).
Aucun drapeau ne correspond à ces instructions.
Drapeaux
7-26-3
BIT COUNTER - BCNT(67)
Symboles à contacts
Zones de données d’opérandes
N : Numéro de mots (BCD)
BCNT(67)
@BCNT(67)
N
N
SB
SB
R
R
IR, SR, AR, DM, HR, TC, LR, #
SB : Début de mot source
IR, SR, AR, DM, HR, TC, LR
R : Mot de destination
IR, SR, AR, DM, HR, TC, LR
Rem. BCNT(67) est une instruction d’expansion sur les API des CPM2A/CPM2C et
SRM1(-V2). Le code de fonction 67 est défini en usine et peut être modifié si
désiré.
Limitations
N ne peut être égal à 0.
DM 6144 à DM 6655 ne peuvent être utilisés pour R.
431
Chapitre 7-26
Instructions spéciales
Description
Lorsque la condition d’exécution est OFF, BCNT(67) ne s’exécute pas. Lorsque
la condition d’exécution est ON, BCNT(67) compte le nombre total de bits à l’état ON dans tous les mots compris entre SB et SB+(N--1) et insère le résultat
dans R.
Drapeaux
ER :
N n’est pas une valeur BCD, ou N est égal à 0 ; SB et SB+(N--1) ne se
trouvent pas dans la même zone.
Une adresse DM est utilisée pour SB, mais SB à SB+(N--1) ne sont pas
toujours des DM accessibles en lecture/écriture.
EQ :
7-26-4
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
ON lorsque le résultat est 0.
FRAME CHECKSUM - FCS(--)
Zones de données d’opérandes
Symboles à contacts
FCS(--)
@FCS(--)
C
C
R1
R1
D
D
C : Paramètre
IR, SR, AR, DM, HR, LR, #
R1 : Premier mot de la plage
IR, SR, AR, DM, HR, TC, LR
D : Premier mot de destination
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction n’est disponible que sur les CPM2A/CPM2C/SRM1(-V2).
Les 3 digits de droite de C doivent être des valeurs BCD comprises entre 001 et
999.
DM 6144 à DM 6655 ne peuvent être utilisés pour D.
Description
FCS(----) peut être utilisée pour rechercher les erreurs lorsque des données sont
transférées via les ports de communications.
Lorsque la condition d’exécution est OFF, FCS(----) ne s’exécute pas. Lorsque la
condition d’exécution est ON, FCS(----) calcule le checksum de la plage
spécifiée en exécutant un OU exclusif sur le contenu des mots R1 à R1+N--1 ou
sur les octets contenus dans les mots R1 à R1+N--1. La valeur de checksum
(hexadécimale) est alors convertie en ASCII et transmise aux mots de
destination (D et D+1).
La fonction des bits de C est indiquée dans le schéma suivant et expliquée plus
en détail ci--dessous :
15 14 13 12 11
00
C:
Nombre d’élém. dans plage (N, BCD)
001 à 999 mots ou octets
1er octet (lorsque le bit 13 est sur ON)
1 (ON) : A droite
0 (OFF) : A gauche
Non utilisé. Mis à zéro.
Nombre d’éléments dans la
plage
432
Unités de calcul
1 (ON) : Octets
0 (OFF) : Mots
Le nombre d’éléments dans la plage (N) est contenu dans les 3 digits de droite
de C, qui doivent être des valeurs BCD comprises entre 001 et 999.
Chapitre 7-26
Instructions spéciales
Le checksum des mots est calculé lorsque le bit 13 est sur OFF ; le checksum
des octets est calculé lorsque le bit 13 est sur ON.
Si les octets sont spécifiés, la plage peut commencer par l’octet poids fort ou
faible de R1. L’octet de poids fort de R1 n’est pas inclus lorsque le bit 12 est sur
ON.
Unités de calcul
R1
MSB LSB
1
2
R1+1
R1+2
R1+3
3
5
7
4
6
8
Lorsque le bit 12 est sur OFF, un OU logique est exécuté sur les octets dans
l’ordre 1, 2, 3, 4, ....
Lorsque le bit 12 est sur ON, un OU logique est exécuté sur les octets dans
l’ordre 2, 3, 4, 5, ....
Le calcul du checksum des octets donne une valeur hexadécimale à 2 digits qui
est convertie en son équivalent ASCII à 4 digits. Le calcul du checksum des
mots donne une valeur hexadécimale à 4 digits qui est convertie en son
équivalent ASCII à 8 digits, comme indiqué ci--dessous :
Conversion en ASCII
Checksum des octets
Checksum des mots
4A
D
Drapeaux
ER :
F10B
3 4 4 1
D
4 6 3 1
D+1
3 0 4 2
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Le nombre d’éléments n’est pas une valeur BCD comprise entre 001 et
999.
Lorsqu’IR 00000 est sur ON dans l’exemple suivant, le checksum (0008) est
calculé pour les 8 mots de DM 0000 à DM 0007 et l’équivalent ASCII (30 30 30
38) est écrit dans DM 0010 et DM 0011.
Exemple
00000
Adresse
@FCS(--)
Instruction
00000
00001
#0008
DM 0000
Opérandes
LD
@FCS(--)
00000
#
DM
DM
DM 0010
DM 0000
DM 0001
0001
0002
DM 0002
DM 0003
DM 0004
DM 0005
DM 0006
0003
0004
0005
0006
0007
DM 0007
0008
0008
0000
0010
Calcul
du
checksum
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0
0
0
8
Conversion
en ASCII
DM 0010 3 0 3 0
DM 0011
3 0 3 8
433
Chapitre 7-26
Instructions spéciales
7-26-5
SET PULSES - PULS(65)
Symboles à contacts
Zones de données d’opérandes
P : Spécificateur de port
PULS(65)
@PULS(65)
000 ou 010
C : Données de commande
API
API
N
N
000 ou 001
N : Numéro d’impulsion
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction n'est supportée que par les API CPM1A et CPM2A/CPM2C à
sortie transistor.
N et N+1 doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent être utilisés pour N.
Description
PULS(65) est utilisée pour définir le nombre d’impulsions de sortie qui seront
générées ultérieurement dans le programme par SPED(64) ou ACC(--). Les
impulsions dont le nombre est défini par PULS(65) sont générées en mode indépendant.
Le nombre d’impulsions ne peut être modifié pendant la sortie des impulsions.
En général, PULS(65) doit être exécutée chaque fois que le nombre d’impulsions doit être défini ; utiliser la fonction de variation sur changement de front
(@PULS(65)) ou une condition d’entrée sur ON sur un seul cycle.
Rem. Se reporter au paragraphe 2-5 Fonctions de contrôle de sortie d’impulsions pour
de plus amples informations.
Spécificateur de port (P)
Le spécificateur de port indique l’emplacement des sorties d’impulsions. Les
paramètres définis dans C et N s’appliquent aux instructions SPED(64) ou
ACC(--) suivantes, pour lesquelles le même emplacement de sortie est spécifié.
P
Emplacement(s) des sorties d’impulsions
000 Sortie d’impulsions monophasée 0 sans accélération ni décélération (sortie
01000) ou sortie d’impulsions monophasée 0 à accélération et décélération
trapézoïdales (sorties 01000 et 01001).
010 Sortie d’impulsions monophasée 1 sans accélération ni décélération (sortie
01001)
Cette configuration n’est supportée que sur les API des CPM2A/CPM2C.
Paramètre (C)
Le paramètre détermine le type d’impulsions (relative ou absolue).
C
Type d’impulsions
000 Définit des impulsions relatives
001 Définit des impulsions absolues (valable uniquement lorsque le système de
coordonnées absolues est utilisé).
Cette configuration n’est supportée que sur les API des CPM2A/CPM2C.
Nombre d’impulsions de sortie (N+1 et N)
N+1 et N contiennent un nombre BCD à digits correspondant au nombre d’impulsions de sortie en mode indépendant. Ce nombre est compris entre
-16 777 215 et 16 777 215. Le bit 15 de N+1 détermine le signe ; ce nombre est
négatif si le bit 15 est sur ON, positif si le bit 15 est sur OFF.
Positif : 0 à +16 777 215 (0000 0000 à 1677 7215)
Négatif : -16 777 215 à 0 (9677 7215 à 8000 0000)
434
Chapitre 7-26
Instructions spéciales
N+1 contient les 4 digits de gauche et N les 4 digits de droite.
Le nombre de déplacements d’impulsions dépend du nombre d’impulsions de
sortie (N+1 et N) et du type d’impulsion (C).
Nombre de
déplacements
d’impulsions
Système de
coordonnées
Relatif
Déplacements d’impulsions
Nombre de déplacements d’impulsions = Nombre d’impulsions de
sortie
Type d’impulsions : Relatif (C=000)
Nombre de déplacements d’impulsions = Nombre d’impulsions
de sortie
Absolu
Type d’impulsions : Absolu (C=001, CPM2A/CPM2C only)
Nombre de déplacements d’impulsions = Nombre d’impulsions
de sortie - PV
Une fois PULS(65) exécutée, le nombre de déplacements d’impulsions calculé
ne peut être modifié même si INI(61) est exécutée pour modifier la PV de sortie
d’impulsions.
Il est possible de définir sans problème un nombre de déplacements d’impulsions en dehors de la plage de PV autorisée (entre -16 777 215 et 16 777 215).
PULS(65) ne s’exécute pas et une erreur se produit (SR 25503 est à l’état ON) si
le nombre calculé de déplacements d’impulsions est de 0.
Lorsque la sortie d’impulsions est utilisée en mode indépendant, sans accélération ni décélération, et lorsque le nombre de déplacements est négatif, la valeur
absolue du nombre de déplacements est utilisée. Par exemple, si le nombre de
déplacements est égal à -500, la valeur 500 est utilisée.
Drapeaux
ER :
Une limite de zone de données a été dépassée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P n’est pas égal à 000 ou 010.
C n’est pas égal à 000 ou 001. C ne peut être défini à 001 lorsque le
système de coordonnées relatif est utilisé.
Le nombre d’impulsions de sortie n’est pas compris entre -16 777 215 et
16 777 215.
PULS(65) est exécutée dans un sous-programme d’interruption alors
qu’une E/S d’impulsions ou une instruction de comptage rapide
(INI(61), PRV(62), CTBL(63), SPED(64), PULS(65), ACC(--), PWM(--)
ou SYNC(--)) est exécutée dans le programme principal.
Une fois PULS(65) exécutée, la valeur absolue du nombre de déplacements d’impulsions n’est pas comprise entre 1 et 16 777 215.
7-26-6
SPEED OUTPUT-- SPED(64)
Zones de données d’opérandes
Symboles à contacts
P: Spécificateur de port
SPED(64)
@SPED(64)
P
P
M
M
F
F
001 ou 010
M : Mode de sortie
000 ou 001
F : Fréquence cible
IR, SR, AR, DM, HR, LR, #
435
Chapitre 7-26
Instructions spéciales
Limitations
Cette instruction n’est supportée que sur les API des CPM1A et CPM2A/
CPM2C à sortie transistor.
Sur le CPM1A : F doit être une valeur BCD, #0000 ou entre #0002 et #0200.
Sur le CPM2A/CPM2C : F doit être une valeur BCD, #0000 ou entre #0001 et
#1000.
DM 6144 à DM 6655 ne peuvent être utilisés pour F.
Description
SPED(64) est utilisée pour définir la fréquence des impulsions de sortie à partir
du bit de sortie spécifié. Lorsque la condition d’exécution est OFF, SPED(64) ne
s’exécute pas. Lorsque la condition d’exécution est ON, SPED(64) définit la fréquence des impulsions F correspondant au bit de sortie spécificateur de P. M
détermine le mode de sortie.
En général, SPED(64) doit être exécutée chaque fois que la fréquence doit être
définie ; utiliser la fonction de variation sur changement de front (@SPED(64))
ou une condition d’entrée à l’état ON sur un seul cycle.
Rem. Se reporter au paragraphe 2-5 Fonctions de contrôle de sortie d’impusions pour
de plus amples informations.
Spécificateur de port (P)
Le spécificateur de port indique l’emplacement des sorties d’impulsions.
P
Emplacement de la (ou des) sortie(s) d’impulsion(s)
000 Sortie d’impulsions monophasée 0 sans accélération ni décélération (sortie
01000)
010 Sortie d’impulsions monophasée 1 sans accélération ni décélération (sortie
01001)
Cette configuration n’est supportée que par les API des CPM2A/CPM2C.
Mode de sortie (M)
La valeur de M détermine le mode de sortie.
M
Type d’impulsions
000 Mode indépendant
001 Mode continu
Les modes indépendant et continu sont décrits plus loin.
Fréquence cible (F)
La valeur BCD à 4 digits de F définit la fréquence d’impulsions en unités de
10 Hz, comme indiqué ci-dessous. Lorsque F est réglée à 0000, la sortie d’impulsions s’arrête à partir du bit de sortie spécifié.
API
0000 (stoppe sortie d’impuls.) ou 0002 à 0200 (20 Hz à 2 kHz)
CPM2A/CPM2C
0000 (stoppe sortie d’impuls.) ou 0001 à 1000 (10 Hz à 10 kHz)
La sortie d’impulsions déclenchée par SPED(64) se poursuit jusqu’à l’occurence d’une des conditions suivantes :
Principe général de
fonctionnement
1, 2, 3...
436
Valeurs possibles de F
CPM1A
1. L’instruction INI(61) est exécutée avec C=003.
2. En mode indépendant, le nombre d’impulsions de sortie spécifié par
PULS(65) est atteint (exécuter PULS(65) avant SPED(64)).
3. SPED(64) est de nouveau exécutée avec la fréquence cible, F, réglée à
#0000.
4. L’API est commuté en mode PROGRAM.
Les impulsions peuvent être générées immédiatement et de façon indépendante, à partir de deux bits de sortie.
En mode de sortie d’impulsions indépendant, spécifier au préalable le nombre
d’impulsions avant d’exécuter PULS(65). Le nombre d’impulsions de sortie doit
Chapitre 7-26
Instructions spéciales
de nouveau être spécifié avec PULS(65) chaque fois que la sortie d’impulsions
est arrêtée.
La fréquence ne peut être modifiée avec SPED(64) lors d’une sortie d’impulsions à partir du bit de sortie spécifié par ACC(--) ou PWM(--). Une erreur se
produit et SR 25503 est mis sur ON lorsque SPED(64) est exécutée dans ces
circonstances.
Mode indépendant
En mode indépendant, seul le nombre d’impulsions de sortie défint par
PULS(65) est généré. Ce nombre d’impulsions peut être spécifié en exécutant
PULS(65) avant d’exécuter SPED(64). Aucune sortie d’impulsions n’a lieu si le
nombre d’impulsions de sortie n’a pas été spécifié à l’avance.
Lorsque de nombre d’impulsions de déplacement calculé est négatif, la valeur
absolue du nombre de déplacements d’impulsions est utilisée. Par exemple, si
ce nombre est -500, la valeur 500 est utilisée.
Fréquence cible
Temps
Mode continu
En mode continu, les impulsions sont générées de façon continue sauf si elles
sont arrêtées par l’exécution d’INI(61) avec C=003, par une nouvelle exécution
de SPED(64) avec F=0000, ou par la commutation de l’API en mode PROGRAM.
Fréquence cible
Temps
Drapeaux
ER :
Une limite de zone de données a été dépassée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P n’est pas égal à 000 ou 010, M n’est pas égal à 000 ou 001, ou F n’est
pas égal à une valeur comprise entre 0000 et 1000.
SPED(64) est exécutée dans un sous-programme d’interruption alors
qu’une E/S d’impulsions ou une instruction de comptage rapide
(INI(61), PRV(62), CTBL(63), SPED(64), PULS(65), ACC(--), PWM(--)
ou SYNC(--)) est exécutée dans le programme principal.
437
Chapitre 7-26
Instructions spéciales
7-26-7
ACCELERATION CONTROL - ACC(--)
Symboles à contacts
Zones de données d’opérandes
P : Spécificateur de port
ACC(--)
@ACC(--)
P
P
M
M
C
C
000
M : Mode spécificateur
000, 002, ou 010 à 013
C : Premier mot de commande
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction n’est disponible que sur les CPM2A/CPM2C.
P doit être égal à 001 ou 002 et M doit être une valeur comprise entre 000 et 003.
C à C+3 doivent être dans la même zone de données.
Description
ACC(--) est utilisée pour spécifier la vitesse d’accélération/décélération et
déclencher la sortie d’impulsions pour une sortie d’impulsions définie avec
accélération et décélération trapézoïdales.
En général, ACC(--) doit être exécutée chaque fois que la vitesse d’accélération/décélération doit être définie ; utiliser la fonction de variation sur changement de front (@ACC(--)) ou une condition d’entrée à l’état ON sur un seul cycle.
Rem. Se reporter au paragraphe 2-5 Fonctions de contrôle de sortie d’impulsions pour
de plus amples informations.
Spécificateur de port (P)
Le spécificateur de port doit toujours être réglé à 000. La valeur 000 spécifie une
sortie d’impulsions monophasée 0 à accélération et décélération trapézoïdales.
Spécificateur de mode (M)
La valeur de M détermine le mode de sortie.
M
Mode
Rem.
000 Mode indépendant et mode sortie d’impulsions progressif/
dégressif
002 Mode indépendant et mode sortie d’impulsions polarisées
---
010 CW (mode continu et mode sortie d’impulsions
progressif/dégressif)
011 CCW (mode continu et mode sortie d’impulsions
progressif/dégressif)
012 CW (mode continu et mode sortie d’impulsions polarisées)
CW : horaire
--CCW :
anti-horaire
013 CCW (mode continu et mode sortie d’impulsions polarisées)
En mode indépendant, la polarité de la sortie est définie lorsque PULS(65) est
exécutée.
Mots de commande (C, C+1 et C+2)
Les 3 mots de commande indique la vitesse d’accélération, la fréquence cible et
la vitesse de décélération. Chaque fréquence est définie par multiples de 10 Hz.
438
Chapitre 7-26
Instructions spéciales
Mot
Fonction
C
Le contenu de C détermine la vitesse d’accélération.
Au cours d’une accélération, la fréquence de sortie est augmentée toutes
les 10 ms de la proposition définie dans C. C doit être une valeur BCD comprise entre 0001 et 1000 (10 Hz à 10 kHz).
C+1
Le contenu de C+1 détermine la fréquence cible.
C+1 doit être une valeur BCD comprise entre 0001 et 1000 (10 Hz à
10 kHz).
C+2
Le contenu de C+2 détermine la vitesse de décélération.
Au cours d’une décélération, la fréquence de sortie est augmentée toutes
les 10 ms de la proposition définie dans C+2. C doit être une valeur BCD
comprise entre 0001 et 1000 (10 Hz à 10 kHz).
Deux bits de sortie sont nécessaires pour les sorties d’impulsions contrôlées par
ACC(--).
Principe général de
fonctionnement
Mode sortie d’impulsions progressif/dégressif
IR 01000 (mode CW)
IR 01001 (mode CCW)
Mode sortie d’impulsions polarisées
IR 01000 (sortie d’impulsions)
IR 01001 (définit la polarité)
La sortie d’impulsions démarre lorsqu’ACC(--) est exécutée et la fréquence de
sortie est augmentée toutes les 10 ms de la proportion spécifiée dans le
paramètre C. Lorsque la fréquence cible (définie dans C+1) est atteinte, l’accélération prend fin et la sortie d’impulsions se poursuit à une fréquence
constante.
Lorsque la sortie d’impulsions subit une accélération et une décélération trapézoïdales, elle peut être stoppée à l’aide de l’une des méthodes suivantes :
1, 2, 3...
Mode indépendant
1. Exécuter l’instruction INI(61) avec C=003. Arrêt immédiat.
2. En mode indépendant, le nombre d’impulsions de sortie spécifié par
PULS(65) est atteint. Décélération puis arrêt.
3. ACC(--) est exécutée avec la fréquence cible (dans C+1) réglée à 0000.
a) En mode de sortie d’impulsions indépendant, il se produit une décélération puis un arrêt de la sortie à la vitesse de décélération définie lors du
démarrage de la sortie d’impulsions.
b) En mode de sortie d’impulsions continu, il se produit une décélération
puis un arrêt de la sortie à la vitesse de décélération spécifiée.
4. Commuter l’API en mode PROGRAM. Arrêt immédiat.
En mode indépendant, seul le nombre d’impulsions de sortie défini par
PULS(65) est généré. Le nombre d’impulsions de sortie doit être spécifié en
exécutant PULS(65) avant d’exécuter ACC(--). Aucune sortie d’impulsions n’a
lieu si le nombre d’impulsions n’a pas été spécifié à l’avance.
Fréquence cible
Temps
Le nombre d’impulsions de sortie doit de nouveau être défini avec PULS(65)
chaque fois que la sortie d’impulsions est arrêtée.
En mode indépendant, la sortie d’impulsions subit une décélération au point déterminé par le nombre prédéfini d’impulsions de sortie avec les vitesses d’accé-
439
Chapitre 7-26
Instructions spéciales
lération/décélération rates. La sortie d’impulsions prend fin lorsque le nombre
d’impulsions défini a été généré.
Fréquence cible
Temps
(Le nombre d’impulsions en sortie est toujours précis).
Lorsque le nombre d’impulsions de sortie nécessaire à l’accélération et à la
décélération (temps nécessaire pour atteindre la fréquence cible ! fréquence
cible) dépasse le nombre d’impulsions prédéfini, l’accélération et la décélération
seront insuffisantes et la sortie d’impulsions sera triangulaire et non trapézoïdale.
Fréquence cible
Temps
(Le nombre d’impulsions en sortie est toujours précis).
Lorsqu’une faible vitesse d’accélération/décélération et un faible nombre d’impulsions de sortie sont définis, aucune accélération et aucune décélération
n’ont lieu en réalité. La sortie d’impulsions se fait à vitesse constante.
Lorsque (fréquence cible " vitesse d’accélération/décélération) n’est pas une
valeur entière, les vitesses d’accélération/décélération spécifiées augmentent
ou diminuent. Dans l’exemple ci-dessous, l’accélération et la décélération se
font sur 10 ms, (1) est la valeur d’accélération/décélération et (2) est la fréquence cible.
Fréquence cible
Temps
10 ms
Mode continu
10 ms
En mode continu, les impulsions sont générées indéfiniment jusqu’à ce que la
sortie soit arrêtée par l’exécution de INI(61) avec C=003, par une nouvelle
exécution d’ACC(--) avec la fréquence cible (dans C+1) réglée à 0000, ou par la
commutation de l’API en mode PROGRAM.
Fréquence cible
Temps
Les conditions suivantes s’appliquent lorsqu’ACC(--) est exécutée alors que
des impulsions sont déjà générées en mode d’accélération/décélération trapézoïdales.
# ACC(--) est sans effet lorsqu’elle est exécutée alors que la sortie d’impulsions
est déjà en mode d’accélération/décélération.
440
Chapitre 7-26
Instructions spéciales
# Lorsqu’ACC(--) est exécutée alors que les impulsions sont générées en mode
continu, la fréquence cible peut être modifiée (de 0001 à 1000 : de 10 Hz à
10 kHz) en fonction des vitesses d’accélération/décélération définies.
# En mode de sortie d’impulsions indépendant, il se produit une décélération
puis un arrêt de la sortie, lorsqu’ACC(--) est exécutée avec la fréquence cible
(dans C+1) réglée à 0000. Les vitesses d’accélération/décélération et le
nombre d’impulsions de sortie ne peuvent être vérifiées ni modifiées.
# ACC(--) est sans effet lorsqu’elle est exécutée alors que la sortie d’impulsions
est commandée par l’une des instructions suivantes (la sortie d’impulsions
n’est pas modifiée) :
Commande de la sortie d’impulsions à partir de 01000 par SPED(64).
Commande de la sortie d’impulsions à partir de 01001 par SPED(64).
Commande de la sortie d’impulsions à partir de 01000 par PWM(--).
Commande de la sortie d’impulsions à partir de 01001 par PWM(--).
Rem. Vérifier l’état de la sortie d’impulsions avant d’exécuter ACC(--).
Drapeaux
ER :
Une limite de zone de données a été dépassée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P n’est pas égal à 000.
M n’est pas égal à 000, 002 ou n’est pas compris entre 010 et 013 (le
spécificateur de mode n’est lu qu’au moment du démarrage de la sortie
d’impulsions).
ACC(--) est exécutée pour un bit à partir duquel les impulsions sont déjà
générées par PWM(--) ou SPED(64).
ACC(--) est exécutée dans un programme d’interruption alors qu’une
E/S d’impulsions ou une instruction de comptage rapide (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(--), PWM(--) ou
SYNC(--)) est exécutée dans le programme principal.
7-26-8
PULSE WITH VARIABLE DUTY RATIO - PWM(--)
Symboles à contacts
Zones de données d’opérandes
P : Spécificateur de port
PWM(--)
@PWM(--)
P
P
F
F
D
D
000 ou 010
F : Fréquence
IR, SR, AR, DM, HR, LR, #
D : Rapport cyclique
IR, SR, AR, DM, HR, LR, #
Limitations
Cette instruction n’est disponible que sur les CPM2A/CPM2C.
P doit être 000 ou 010, F doit être une valeur BCD comprise entre 0001 et 9999,
et D doit être une valeur BCD comprise entre 0001 et 0100.
Description
PWM(--) est utilisée pour générer des impulsions selon le rapport cyclique spécifié à partir du bit de sortie spécifié. La sortie d’impulsions se poursuit jusqu’à ce
que PWM(--) soit de nouveau exécutée avec un rapport cyclique différent,
qu’INI(61) soit exécutée avec C=003, ou que l’API soit commuté en mode PROGRAM.
441
Chapitre 7-26
Instructions spéciales
En général, PWM(--) ne doit être exécutée qu’une fois pour démarrer la sortie
d’impulsions ; utiliser la fonction de variation sur changement de front
(@PWM(--)) ou une condition d’entrée sur ON sur un seul cycle.
Des impulsions à rapport cyclique variable peuvent être générées de façon
simultanée et indépendante à partir de deux bits de sortie.
Lorsque des impulsions à rapport cyclique variable sont générées à partir d’un
bit de sortie et que PWM(--) est de nouveau exécutée pour ce bit avec un rapport
cyclique différent, la sortie d’impulsions continue avec le nouveau rapport cyclique. La fréquence ne peut être modifiée.
PWM(--) ne peut être exécutée pour un bit de sortie si des impulsions sont déjà
générées à partir de ce bit par SPED(64) ou ACC(--). Une erreur se produit et
SR 25503 est mis sur ON lorsque PWM(--) est exécutée dans ces circonstances.
Rem. Se reporter au paragraphe 2-5 Fonctions de contrôle de sortie d’impulsions pour
de plus amples informations.
Spécificateur de port (P)
Le spécificateur de port indique le bit de sortie où a lieu la sortie d’impulsions.
P
Emplacement(s) de la (ou des) sortie(s) d’impulsion(s)
000 Sortie d’impulsions à rapport cyclique variable 0 (sortie 01000)
010 Sortie d’impulsions à rapport cyclique variable 1 (sortie 01001)
Fréquence (F)
La valeur BCD à 4 digits de F définit la fréquence d’impulsions en unités de
0,1 Hz. La fréquence peut être réglée entre 0001 et 9999 (0,1 à 999,9 Hz).
Rapport cyclique (D)
La valeur BCD à 4 digits de D définit le rapport cyclique variable de la sortie d’impulsions, c’est-à-dire le pourcentage de temps durant lequel la sortie sera à l’état ON. Le rapport cyclique peut être défini entre 0001 et 0100 (1% à 100%). Il
est de 75% sur le schéma suivant :
àn
ton
= D (1% à 100%)
T
T
Drapeaux
ER :
Une limite de zone de données a été dépassée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P n’est pas égal à 000 ou 010, F n’est pas une valeur BCD comprise
entre 0001 et 9999, ou D n’est pas une valeur BCD comprise entre 0001
et 0100. (la valeur de fréquence dans F n’est lue qu’au démarrage de la
sortie d’impulsions).
ACC(--) est exécutée pour un bit à partir duquel des impulsions sont
déjà générées par ACC(--) ou SPED(64).
PWM(--) est exécutée dans un sous-programme d’interruption alors
qu’une E/S d’impulsions ou ou une instruction de comptage rapide
(INI(61), PRV(62), CTBL(63), SPED(64), PULS(65), ACC(--), PWM(--)
ou SYNC(--)) est exécutée dans le programme principal.
442
Chapitre 7-26
Instructions spéciales
7-26-9
SYNCHRONIZED PULSE CONTROL - SYNC(--)
Symboles à contacts
Zones de données d’opérandes
P1 : Spécificateur de port d’entrée
SYNC(--)
@SYNC(--)
P1
P1
P2
P2
C
C
000
P2 : Spécificateur de port de sortie
000 ou 010
C : Facteur d’échelle
IR, SR, AR, DM, HR, LR, #
Cette instruction n’est disponible que sur les CPM2A/CPM2C.
Limitations
P1 doit être égal à 000 et P2 doit être égal à 000 ou 010.
SYNC(--) prend la fréquence de l’impulsion d’entrée reçue via les entrées du
compteur à grande vitesse, la multiplie par un facteur d’échelle fixe et génère
des impulsions, à partir du bit de sortie spécifié, à la fréquence résultante.
Description
Fréquence de sortie = Fréquence d’entrée ! Facteur d’échelle/100
En général, SYNC(--) doit être exécutée chaque fois que le nombre d’impulsions doit être défini ; utiliser la fonction de variation sur changement de front
(@SYNC(--)) ou une condition d’entrée sur ON sur un seul cycle.
Rem. Se reporter au paragraphe 2-5 Fonctions de contrôle de sortie d’impusions pour
de plus amples informations.
Spécificateur de port d’entrée (P1)
P1 doit toujours être réglé à 000.
Spécificateur de port de sortie (P2)
La valeur de P2 détermine où a lieu la sortie d’impulsions mise à l’échelle.
P2
Emplacement(s) de la (ou des) sortie(s) d’impulsion(s)
000 Sortie d’impulsions synchronisée 0 (sortie 01000)
010 Sortie d’impulsions synchronisée 1 (sortie 01001)
Facteur d’échelle (C)
La valeur BCD à 4 digits de C définit le facteur d’échelle par lequel la fréquence
d’entrée est multipliée. Le facteur d’échelle peut être défini entre 0001 et 1000 (1
à 1 000%).
Valeurs de Setup de l’API
et principe général de
fonctionnement
Le mode d’entrée du compteur pour les entrées 00000 et 00001 est défini dans
les bits 00 à 03 de DM 6642.
DM 6642 bits 00 à 03
Configuration du compteur à grande vitesse
0
Mode phase sur changement d’état (5 kHz)
1
Mode d’entrée d’impulsions polarisées (20 kHz)
2
Mode d’entrée progressif/dégressif (20 kHz)
4
Mode Incrément (20 kHz)
Plage de fréquence d’entrée
La plage de fréquence d’entrée pour la commande d’impulsions synchronisée
443
Chapitre 7-26
Instructions spéciales
est définie dans les bits 08 à 15 de DM 6642, comme indiqué dans le tableau
suivant :
DM 6642 bits 08 à 15
02
03
04
Fonction of inputs 00000 et 00001
Pour la commande d’impulsions synchronisée (10 à
500 Hz)
Pour la commande d’impulsions synchronisée (20 Hz à
1 kHz).
Pour la commande d’impulsions synchronisée (300 Hz
à 20 kHz).
La commande d’impulsions synchronisée ne peut être exécutée que si les
entrées 00000 à 00003 sont paramétrées pour ce mode dans les bits 08 à 15
(valeurs 02, 03 et 04). Une erreur se produit et SR 25503 est mis sur ON si
SYNC(--) est exécutée mais que DM 6642 n’est pas paramétré pour la commande d’impulsions synchronisée.
Les fonctions “compteur à grande vitesse” et “sortie d’impulsions” ne peuvent
être utilisées en mode de commande d’impulsions synchronisée. Une erreur se
produit et SR 25503 est mis sur ON si une instruction de sortie d’impulsions
associée est exécutée pour utiliser l’une de ces fonctions en mode de commande d’impulsions synchronisée.
Lorsque la fréquence d’entrée dépasse la valeur maximale définie dans le tableau ci-dessus, la fréquence maximale d’entrée de cette plage est utilisée. Lorsque la fréquence d’entrée est inférieure à la valeur minimale, ne fréquence d’entrée de 0 Hz est utilisée.
Plage de fréquence de sortie
La plage de fréquences de sortie est comprise entre 10 Hz et 10 kHz. Lorsque la
fréquence de sortie calculée (fréquence d’entrée x facteur d’échelle/100)
dépasse 10 kHz, la sortie d’impulsions a lieu à 10 kHz. Lorsque la fréquence de
sortie calculée chute et est inférieure à 10 Hz, aucune sortie d’impulsions n’a lieu
(0 Hz).
Modification du facteur d’échelle ou du port de sortie
Le facteur d’échelle peut être modifié en mode de commande d’impulsions synchronisée en exécutant de nouveau SYNC(--) avec un facteur d’échelle différent, mais le spécificateur de port de sortie ne peut être modifié dans ce mode.
Arrêt de la sortie de commande d’impulusions synchronisée
La sortie d’impulsions synchronisée peut être arrêtée en exécutant INI(61) avec
C=005 ou en commutant l’API en mode PROGRAM.
Drapeaux
ER :
Une limite de zone de données a été dépassée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
P1 n’est pas égal à 000, P2 n’est pas égal à 000 ou 010, ou C n’est pas
une valeur BCD comprise entre 0001 et 1000.
SYNC(--) est exécutée alors que les bits 08 à 15 de DM 6642 ne sont
pas paramétrés pour la commande d’impulsions synchronisée.
SYNC(--) est exécutée dans un sous-programme d’interruption alors
qu’une E/S d’impulsions ou ou une instruction de comptage rapide
(INI(61), PRV(62), CTBL(63), SPED(64), PULS(65), ACC(--), PWM(--)
ou SYNC(--)) est exécutée dans le programme principal.
444
Chapitre 7-26
Instructions spéciales
7-26-10 DATA SEARCH - SRCH(--)
Symboles à contacts
Zones de données d’opérandes
N : Numéro de mots
SRCH(--)
@SRCH(--)
N
N
R1
R1
C
C
IR, SR, AR, DM, HR, TC, LR, #
R1 : Premier mot de la plage
IR, SR, AR, DM, HR, TC, LR
C : Comp. de données, résultat dans le mot
IR, SR, AR, DM, HR, LR
Cette instruction n’est disponible que sur les CPM2A/CPM2C.
Limitations
N doit être une valeur BCD comprise entre 0001 à 9999.
R1 et R1+N--1 doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent être utilisés pour C.
Lorsque la condition d’exécution est OFF, SRCH(--) ne s’exécute pas. Lorsque
la condition d’exécution est ON, SRCH(--) recherche dans la plage de mémoire
entre R1 et R1+N--1 les adresses contenant les données de comparaison définies dans C. Si une ou plusieurs adresses contiennent ce données, le drapeau
EQ (SR 25506) est mis sur ON et l’adresse la plus basse contenant les données
de comparaison est identifiée en C+1. Cette adresse est identifiée différemment
pour la zone DM :
Description
1, 2, 3...
1. Pour une adresse de la zone DM, cette adresse est écrite dans C+1. Par
exemple, lorsque l’adresse la plus basse contenant les données de
comparaison est DM 0114, #0114 est écrit dans C+1.
2. Pour une adresse dans une autre zone de données, la valeur de cette
adresse depuis le début de la recherche est écrite dans C+1. Par exemple,
lorsque l’adresse la plus basse contenant les données de comparaison est
IR 114 et que le premier mot dans la plage de recherche est IR 014, #0100
est écrit dans C+1.
Si aucune des adresses dans cette plage ne contient les données de comparaison, le drapeau EQ (SR 25506) est mis sur OFF et C+1 n’est pas modifié.
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
N n’est pas une valeur BCD comprise entre 0001 et 9999.
R1 et R1+N--1 ne sont pas dans la même zone de données.
EQ :
Exemple
ON lorsqu’il existe une concordance entre les données de comparaison
et la plage de recherche.
Dans l’exemple suivant, la plage de 10 mots entre IR 200 et IR 209 est sondée
pour y trouver les adresses contenant les mêmes données que DM 0100
445
Chapitre 7-26
Instructions spéciales
(89AB). IR 204 contient ces données, aussi le drapeau EQ (SR 25506) est mis
sur ON et #0004 est écrit dans DM 0101.
00000
@SRCH(--)
#0010
200
Adresse
Instruction
00000
00001
LD
@SRCH(--)
Opérandes
00000
#
DM 0100
0010
0200
0100
DM
IR 200
IR 201
1234
5678
IR 202
IR 203
IR 204
IR 205
IR 206
ABCD
EF13
89AB
8860
90CD
IR 207
IR 208
IR 209
00FF
89AB
810C
DM 0100
DM 0101
89AB
0004
Rem. Les données concordantes dans IR 208 sont ignorées car ces données ont été
trouvées dans un mot précédent dans la plage de recherche.
7-26-11 PID CONTROL - PID(--)
Symboles à contacts
Zones de données d’opérandes
IW : Mot d’entrée
PID(--)
IR, SR, AR, DM, HR, LR
IW
P1 : Premier mot de paramètre
P1
OW
IR, SR, DM, HR, LR
OW : Mot de sortie
IR, SR, AR, DM, HR, LR
Limitations
Cette instruction n’est disponible que sur les CPM2A/CPM2C et SRM1(-V2).
DM 6144 à DM 6655 ne peuvent être utilisés pour P1 ou OW.
P1 à P1+32 doivent être dans la même zone de données.
! Attention 33 mots continus au total doivent être définis à partir de P1 pour que PID(--)
s’exécute correctement. PID(--) peut également ne pas s’exécuter de façon
appropriée dans les situations suivantes : dans les programmes d’interruption,
dans les sous-programmes, entre IL(02) et ILC(03), entre JMP(04) et JME(05)
et en mode de programmation par étapes (STEP(08)/SNXT(09)). Ne pas
utiliser PID(--) dans ces situations.
Description
446
PID(--) exécute la commande PID selon les paramètres spécifiés de P1 à P1+6.
Lorsque la condition d’exécution est OFF, PID(--) ne s’exécute pas. Lorsque la
condition d’exécution est ON, PID(--) exécute la commande PID selon les
paramètres spécifiés. Elle extrait la plage de données binaires spécifiée en
entrée du contenu de IW et exécute une action PID sur ces données selon les
paramètres définis. Le résultat est ensuite enregistré en tant que variable manipulée dans OW.
Chapitre 7-26
Instructions spéciales
Le tableau suivant indique la fonction des mots de paramètres :
Mot
Bits
Nom du paramètre
Fonction/Plage définie
P1
00 à 15
Valeur de consigne
(SV).
Valeur cible de la commande PID. Elle peut être définie comme tout
nombre binaire, avec le nombre de bits spécifié par le paramètre de plage
d’entrée.
P1+1
00 à 15
Largeur de bande
proportionnelle
Ce paramètre spécifie la largeur de bande proportionnelle ou le rapport de
plage d’entrée entre 0,1% et 999,9%. Ce doit être une valeur BCD comprise entre 0001 et 9999.
P1+2
00 à 15
Temps d’intégration
(Tik)/période
d’échantillonnage ($)
Définit le champ de l’action par intégration. Une augmentation de cette
valeur augmente le champ de l’action par intégration. Ce doit être une
valeur BCD comprise entre 0001 et 8191, ou 9999. La valeur 9999 désactive la commande d’intégration.
P1+3
00 à 15
Temps de dérivation
(Tdk)/période
d’échantillonnage ($)
Définir le temps d’intégration divisé par le temps d’échantillonnage.
Définit le champ de l’action de dérivation. Une augmentation de cette
valeur augmente le champ de l’action de dérivation. Ce doit être une valeur
BCD comprise entre 0001 et 8191, ou 0000 (la valeur 0000 désactive la
commande de dérivation).
Définir le temps de dérivation divisé par le temps d’échantillonnage.
P1+4
00 à 15
Période
d’échantillonnage ($)
Définit l’intervalle entre deux échantillonnages de données en entrée. Ce
doit être une valeur BCD comprise entre 0001 et 1023. La période correspondante est comprise entre 0,1 et 102,3 s.
P1+5
00 à 03
Spécificateur
d’opération
Coefficient de filtre
d’entrée (%)
Définit une opération normale ou inversée. Choisir 0 pour spécifier une
opération inversée et 1 pour spécifier une opération normale.
Détermine le champ du filtre d’entrée. Plus ce coefficient est faible, plus le
filtre est faible.
04 à 15
Ce doit être une valeur BCD comprise entre 100 et 199, ou 000. La valeur
000 définit la valeur par défaut (0,65) et une valeur entre 100 et 199 règle
le coefficient entre 0,00 et 0,99.
P1+6
P1+7 à
P1+32
00 à 03
Plage de sortie
Détermine le nombre de bits de données de sortie. Ce doit être une valeur
BCD comprise entre 0 et 8, ce qui donne une plage de sortie entre 8 et 16
bits.
08 à 15
Plage d’entrée
Détermine le nombre de bits de données d’entrée. Ce doit être une valeur
BCD comprise entre 00 et 08, ce qui donne une plage d’entrée entre 8 et
16 bits.
00 à 15
Zone de travail
Ne pas utiliser.
(Utilisée par le système)
! Attention Les changements apportés à ces paramètres ne sont appliqués que lorsque la
condition d’exécution de PID(--) passe de OFF à ON.
Rem. Ne pas utiliser PID(--) dans les situations suivantes car elle risquerait de ne pas
s’exécuter correctement :
Dans les programmes d’interruption
Dans les sous-programmes
Dans les parties de programmes verrouillées (entre IL et ILC)
Dans les parties de programmes “sautées” (entre JMP et JME)
Dans les parties de programmes à contacts définies avec des étapes (crées par
STEP)
Lorsque la condition d’exécution est ON, PID(--) exécute un calcul PID sur les
données en entrée à l’issue de la période d’échantillonnage. La période d’échantillonnage est le temps s’écoulant avant que les données en entrée soient
lues et traitées.
447
Chapitre 7-26
Instructions spéciales
Le schéma ci-dessous indique la relation entre une période d’échantillonnage et
calcul PID. Ce dernier n’est exécuté qu’à l’issue de la période d’échantillonnage
(ici 100 ms).
1 cycle
70 ms
60 ms
70 ms
70 ms
Calcul PID
Pas de calcul
(70+30=100 ms,
(70 ms)
pas de report)
Calcul PID avec
Pas de calcul
valeurs initiales (0
Calcul PID
(60 ms)
ms)
(130 ms, report de 30 ms)
Action de la COMMANDE PID Condition d’exécution OFF
Toutes les données définies sont retenues. Lorsque la condition d’exécution est
OFF, la variable manipulée peut être écrite dans le mot de sortie (OW) pour une
commande manuelle.
Front montant de la condition d’exécution
La zone de travail est initialisée d’après les paramètres PID définis et l’action de
la commande PID démarre. Des changements soudains et radicaux dans la
sortie de la variable manipulée ne sont pas pris en compte au début de l’action
pour éviter des effets néfastes sur le système sous contrôle (opération sans
choc).
Lorsque les paramètres PID sont modifiés, ces changements ne sont exécutés
que lorsque la condition d’exécution passe de OFF à ON.
Condition d’exécution ON
L’action PID est exécutée à des intervalles définis par la période d’échantillonnage, selon les paramètres PID définis.
Période d’échantillonnage et synchronisation avec les exécutions de PID
La période d’échantillonnage est l’intervalle de temps à l’issu duquel les données de mesure sont extraites pour l’exécution d’une action PID. Toutefois,
PID(--) est exécutée en fonction du cycle de l’unité centrale, ce qui fait qu’il peut
se présenter des cas où cette période d’échantillonnage est dépassée. L’intervalle de temps avant le prochain échantillonnage sera donc réduit.
Méthode de commande PID
Des actions de commande PID sont exécutées au moyen de la commande PID
en mode de commande à action directe (deux degrés de liberté).
Lorsque des suroscillations sont évitées par une commande PID simple, ceci
ralentit la stabilisation des perturbations (1). Si la stabilisation des perturbations
est accélérée, d’autre part, il se produit une suroscillation et ceci ralentit la
réponse vers la valeur cible (2). En mode de commande PID à action directe,
aucune suroscillation ne se produit, et il est ainsi possible d’accélérer la réponse
vers la valeur cible et la stabilisation des perturbations (3).
Commande PID simple
Commande PID à action directe
(1)
La réponse cible est ralentie, la
réponse de perturbation empire.
(2)
Suroscillation
448
La réponse de perturbation est accélérée, la réponse cible empire.
Réponse cible
Réponse de perturbation
Instructions spéciales
Chapitre 7-26
Actions de commande
Action proportionnelle (P)
Une action proportionnelle est une opération selon laquelle une bande proportionnelle est établie par rapport à la valeur de consigne (SV) ; à l’intérieur de
cette bande, la variable manipulée (MV) est rendue proportionnelle à l’écart. Un
exemple d’opération inverse est indiqué dans l’illustration suivante.
Si une action proportionnelle est utilisée et que la valeur en cours (PV) diminiue
par rapport à la bande proportionnelle, la variable manipulée (MV) est de 100%
(valeur maximale). Dans la bande proportionnelle, la MV est rendue proportionnelle à l’écart (la différence entre SV et PV) et diminue progressivement jusqu’à
ce qu’il y ait concordance entre la SV et la PV (jusqu’à ce que l’écart soit 0), la
MV étant alors de 0% (valeur minimale). La MV sera également de 0% lorsque la
PV sera supérieure à la SV.
La bande proportionnelle est exprimée en pourcentage de la plage d’entrée
totale. Plus la bande proportionnelle sera petite, plus la constante proportionnelle sera importante et plus l’action corrective aura d’effet. En mode d’action
proportionnelle, un décalage (écart résiduel) survient généralement, mais il
peut être réduit en diminuant la bande proportionnelle. S’il est trop réduit, toutefois, il se produit un effet de vibration.
Action proportionnelle (action inverse)
Correction de la bande proportionnelle
Bande proportionnelle
Bande proportionnelle trop étroite (vibration)
100%
Décalage
Variable
manipulée
SV
0%
SV
Bande proportionnelle correcte
Bande proportionnelle trop large (grand décalage)
Action d’intégration (I)
La combinaison de l’action d’intégration et de l’action proportionnelle réduit le
décalage en proportion du temps écoulé. Le champ de l’action d’intégration est
indiqué par le temps d’intégration, qui est le temps nécessaire pour que la variable manipulée de l’action d’intégration atteigne le même niveau que la variable
manipulée de l’action proportionnelle en tenant compte de l’écart par échelon,
comme indiqué dans l’illustration qui suit. Plus le temps d’intégration est court,
plus la correction est importante. Si le temps d’intégration est trop court, la
correction sera trop importante et entraînera un effet de vibration.
Action d’intégration
Réponse par échelon
Ecart
Variable
manipulée
Action Pi et temps d’intégration
Réponse par échelon
Ecart
Variable
manipulée
Action PI
Action I
Action P
Ti : Temps d’intégration
449
Chapitre 7-26
Instructions spéciales
Action de dérivation (D)
L’action proportionnelle et l’action de dérivation effectuent toutes deux des
corrections par rapport aux résultats de commande ; il se produit donc inévitablement un retard dans la réponse. L’action de dérivation supprime cet inconvénient. Dans le cas d’une perturbation soudaine, elle produit une grande variable manipulée et rétablit rapidement l’état initial. Une correction est exécutée
en rendant la variable manipulée proportionnelle à la pente (coefficient de
dérivation) causée par l’écart.
Le champ de l’action de dérivation est indiqué par le temps de dérivation, qui est
le temps nécessaire pour que la variable manipulée de l’action de dérivation
atteigne le même niveau que la variable manipulée de l’action proportionnelle en
tenant compte de l’écart par échelon, comme indiqué dans l’illustration qui suit.
Plus le temps de dérivation est long, plus la correction effectuée par l’action de
dérivation est importante.
Action de dérivation
Réponse par échelon
Ecart
Variable
manipulée
Action PD et temps de dérivation
Réponse par rampe
Ecart
Action PD
Action P
Action D
Variable
manipulée
Td : Temps de dérivation
Action PID
Une action PID combine une action proportionnelle (P), une action d’intégration
(I) et une action de dérivation (D). Elle produit des résultats de commande supérieurs, même en présence d’objets présentant un temps mort. Elle recourt à l’action proportionnelle pour une commande régulière sans effet de vibration, à l’action d’intégration pour corriger automatiquement tout décalage, et à l’action de
dérivation pour accélérer la réponse aux perturbations.
Réponse par échelon de la sortie de l’action PID
Réponse par échelon
Ecart
Action PID
Action I
Action P
Action D
Variable
manipulée
Réponse par rampe de la sortie de l’action PID
Réponse par rampe
Ecart
Action PID
Action I
Action P
Variable
manipulée
450
Action D
Chapitre 7-26
Instructions spéciales
Pour utiliser une action PID, sélectionner l’un des deux sens de commande suivants. Dans les deux cas, la MV augmente en proportion de l’augmentation de la
différence entre la SV et la PV.
Sens de l’action
# Action directe : MV est augmentée lorsque la PV est supérieure à la SV.
# Action inverse : MV est augmentée lorsque la PV est inférieure à la SV.
Action inverse
Action directe
Bande proportionnelle
Bande proportionnelle
100%
100%
Variable
manipulée
Variable
manipulée
0%
0%
Basse
température
Haute
SV température
Basse
température
Haute
température
SV
Réglage des paramètres PID La relation générale entre les paramètres PID et l’état de la commande est identiquée ci-dessous :
# Lorsqu’un certain temps de stabilisation est nécessaire et que ceci ne pose
pas de problème (temps de mise en place), mais qu’il est important de ne pas
provoquer de suroscillation, il convient d’augmenter la bande proportionnelle.
Commande par PID mesurée
SV
Lorsque P est augmenté
# Lorsqu’une suroscillation ne pose pas de problème mais qu’il est nécessaire
de stabiliser rapidement la commande, il convient de réduire la bande proportionnelle. Si celle-ci est trop réduite, cependant, il se produit un effet de vibration.
Lorsque P est réduit
SV
Commande par PID mesurée
# En présence de larges vibrations, ou de suroscillations ou d’affaissements,
ceci est probablement dû à une action d’intégration trop importante. Les vibrations peuvent être réduites en augmentant le temps d’intégration ou en élargissant la bande proportionnelle.
Commande par PID mesurée
(en présence de larges vibrations)
SV
Augmenter I ou P.
451
Chapitre 7-27
Instructions de commande d’interruptions
# Si la période est courte mais qu’il se produit un effet de vibration, ceci peut être
dû au fait que la réponse du système de commande est rapide et que l’action
de dérivation est trop importante. Dans ce cas, réduire l’action de dérivation.
Commande par PID mesurée
(en présence de vibrations sur une courte période)
SV
Réduire D.
Drapeaux
ER :
Les paramètres sont imprécis.
Le temps de cycle est deux fois plus long que la période d’échantillonnage ; PID(--) ne peut donc pas être exécutée avec précision. PID(--)
s’exécute dans ce cas.
P1 et P1+32 ne sont pas dans la même zone ou les paramètres définis
ne sont pas dans la même plage spécifiée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
CY:
ON au cours de l’exécution d’un calcul PID (OFF lorsque la période d’échantillonnage n’est pas terminée).
7-27 Instructions de commande d’interruptions
Ce chapitre décrit l’utilisation d’INT(89) et de STIM(69). Pour des informations
générales sur le traitement des interruptions dans les API des CPM1/CPM1A,
CPM2A/CPM2C ou SRM1(-V2), se reporter aux paragraphes de chapitre indiqués dans le tableau suivant :
API
Référence
CPM1/CPM1A
Voir 2-3 CPM1/CPM1A Fonctions d’interruption.
CPM2A/CPM2C
Voir 2-1 CPM2A/CPM2C Fonctions d’interruption.
SRM1(-V2)
Voir 2-4 SRM1 Fonctions d’interruption.
7-27-1 INTERRUPT CONTROL - INT(89)
Zones de données d’opérandes
Symboles à contacts
C1 : Code de commande
# (000 à 004, 100 ou 200)
INT(89)
@INT(89)
C1
C1
000
000
C2
C2
000 : Aucune fonction
000
C2 : Données de commande
IR, SR, AR, DM, HR, TC, LR, #
Rem. Cette instruction n’est pas supportée par les API SRM1(-V2).
Limitations
452
DM 6144 à DM 6655 ne peuvent être utilisés pour C2 lorsque C1=002.
Chapitre 7-27
Instructions de commande d’interruptions
Lorsque la condition d’exécution est OFF, INT(89) ne s’exécute pas. Lorsque la
condition d’exécution est ON, INT(89) est utilisée pour commander les interruptions et exécuter l’une des sept fonctions indiquées dans le tableau suivant en
fonction de la valeur de C1 :
Description
C1
Fonction INT(89)
000
Entrée d’interruption masquées/non masquées
001
Suppression d’interruptions
002
Lecture du masque actuel d’entrée d’interruption
003
Redémarrage du compteur dégressif et interruptions non masquées
004*
Redémarrage du compteur progressif et interruptions non masquées
100
Toutes les interruptions masquées
200
Toutes les interruptions non masquées
Rem. *Cette valeur ne peut être utilisée que sur les API CPM2A/CPM2C.
Entrées d’interruption
masquées/non masquées
(C1=000)
Cette fonction est utilisée pour définir les entrées d’interruption masquées et
non masquées 00003 à 00006. Les entrées masquées sont enregistrées mais
ignorées. Lorsqu’une entrée est masquée, le programme d’interruption correspondant est exécuté dès que le masque du bit correspondant est supprimé (sauf
s’il est annulé auparavant par l’exécution d’INT(89) avec C1=001).
Mettre le bit correspondant dans C2 à 0 ou 1 pour définir ou supprimer un
masque sur une entrée d’interruption. Les bits 00 à 03 correspondent aux
entrées 00003 à 00006. Les bits 04 à 15 ne doivent pas être inférieurs à 0.
Bits du mot C2 : 3 2 1 0
Entrée d’interruption 00003 (0 : non masquée, 1 : masquée)
Entrée d’interruption 00004 (0 : non masquée, 1 : masquée)
Entrée d’interruption 00005 (0 : non masquée, 1 : masquée)
Entrée d’interruption 00006 (0 : non masquée, 1 : masquée)
Toutes les entrées d’interruption sont masquée au départ de l’utilisation de l’API,
aussi les masques correspondants devront être supprimés pour que ces
entrées puissent être utilisées.
Suppression des entrées
d’interruption (C1=001)
Cette fonction est utilisée pour supprimer les entrées d’interruption 00003 à
00006. Ces entrées étant enregistrées, elles seront prises en charge dès que la
masque correspondant sera supprimé, à moins qu’elles ne soient d’abord effacées.
Mettre le bit correspondant dans C2 à 1 pour supprimer une entrée d’interruption d’E/S. Les bits 00 à 03 correspondent aux entrées 00003 à 00006. Les bits
04 à 15 doivent être mis à 0.
Bits du mot C2 : 3 2 1 0
Entrée d’interruption 00003 (0 : non supprimée, 1 : supprimée)
Entrée d’interruption 00004 (0 : non supprimée, 1 : supprimée)
Entrée d’interruption 00005 (0 : non supprimée, 1 : supprimée)
Entrée d’interruption 00006 (0 : non supprimée, 1 : supprimée)
Lecture du masque
d’interruption actif
(C1=002)
Cette fonction lit le masque d’interruption actif pour connaître l’état des entrées
d’interruption 00003 à 00006 et écrit le résultat dans C2. Un bit est mis sur ON
lorsque l’entrée correspondante est masquée (les bits 00 à 03 correspondent
aux entrées 00003 à 00006).
Bits du mot C2 : 3 2 1 0
Entrée d’interruption 00003 (0 : non masquée, 1 : masquée)
Entrée d’interruption 00004 (0 : non masquée, 1 : masquée)
Entrée d’interruption 00005 (0 : non masquée, 1 : masquée)
Entrée d’interruption 00006 (0 : non masquée, 1 : masquée)
Redémarrage du compteur et
suppression des masques
(C1=003 ou C1=004)
Ces fonctions permettent de redémarrer les entrées d’interruption (en mode
compteur) en rafaîchissant la SV de comptage (dans SR 240 à SR 243) et en
supprimant les masques des entrées d’interruption (00003 à 00006).
453
Instructions de commande d’interruptions
Chapitre 7-27
Définir C1=3 pour redémarrer les compteurs dégressifs ou C1=4 (API CPM2A/
CPM2C seulement) pour redémarrer les compteurs progressifs.
Mettre le bit correspondant de C2 à 0 pour rafraîchir la SV du compteur et supprimer le masque d’interruption (les bits 00 à 03 correspondent aux entrées
00003 à 00006).
Bits du mot C2 : 3 2 1 0
Entrée d’interruption compteur 00003
Entrée d’interruption compteur 00004
Entrée d’interruption compteur 00005
Entrée d’interruption compteur 00006
Utiliser la variation sur changement de front (@INT(89)) ou une condition d’entrée à l’état ON pour un seul cycle lors de l’exécution d’INT(89) avec C1=003 ou
C1=004. La PV du compteur est réinitialisée à la SV lorsqu’INT(89) est exécutée
en cours d’exécution du compteur ; l’interruption ne sera donc jamais générée si
INT(89) est exécutée à chaque cycle.
Lorsqu’INT(89) est exécutée avec C1=003 ou C1=004 et que le mot de SV contient une SV différente de 0 (0001 à FFFF), le compteur correspondant démarre
(dans le sens progressif ou dégressif) et l’interruption correspondante est activée en mode compteur. Lorsque le comptage atteint la SV, une interruption est
générée et la PV est renvoyée à la SV ; les interruptions sont donc générées de
façon répétitive jusqu’à l’arrêt du comptage.
L’écriture de 0000 dans la SV d’un compteur (SR 240 à SR 243) et l’exécution
d’INT(89) pour rafraîchir la SV arrête le compteur et désactive l’interruption correspondante. Pour redémarrer ce compteur, écrire une SV différente de zéro
dans le mot de SV de ce compteur et exécuter INT(89) (les mots de SV sont
remis à 0000 au départ d’une opération, aussi la SV du compteur doit-elle être
écrite dans le mot correspondant depuis le programme à contacts).
Lorsqu’une interruption a déjà été activée (suppression du masque), la SV ne
peut être rafraîchie uniquement par l’écriture d’une nouvelle valeur dans le mot
de SV. Rafraîchir la SV en exécutant INT(89) avec C1=003 (C1=004 pour un
compteur progressif).
Une interruption en mode compteur peut être masquée en exécutant INT(89)
avec C1=000 et en mettant à 1 le bit correspondant de C2, mais une entrée s’exécute en mode d’entrée d’interruption et non en mode compteur lorsque le bit
correspondant de C2 est mis à 0.
Définition ou suppression
de masques collectifs
(C1=100 ou C1=200)
Toutes les interruptions, y compris les entrées d’interruption, les temporisations
cycliques et les compteurs rapides peuvent être masquées collectivement, ou
les masques correspondants peuvent être supprimés collectivement par l’exécution d’INT(89) avec C1=100 ou C1=200. Les entrées d’interruption masquées sont enregistrées, mais ignorées à l’exécution.
Un masque collectif vient s’ajouter aux masques définis individuellement. La
suppression collective des masques d’interruption ne supprime pas les
masques définis individuellement avec l’exécution d’INT(89) mais les rétablit.
Utiliser INT(89) pour masquer les interruptions que s’il est nécessaire de les
masquer de façon provisoire. Utiliser toujours les instructions INT(89) pour cette
opération : la première instruction INT(89) pour les masquer toutes les interruptions et la seconde pour supprimer tous les masques.
INT(89) ne peut être utilisée pour masquer toutes les interruptions ou supprimer
tous les masques d’interruption depuis un programme d’interruption.
454
Chapitre 7-27
Instructions de commande d’interruptions
Définition de masques d’interruption (C1=100)
Utiliser l’instruction INT(89) avec C1=100 pour masquer toutes les interruptions.
(@)INT(89)
100
000
000
Lorsqu’une interruption est générée alors que les interruptions ont été masquées, le traitement de cette interruption n’a pas lieu mais elle est enregistrée
s’il s’agit d’une entrée d’interruption, d’une temporisation cyclique ou d’un compteur à grande vitesse. Les interruptions seront exécutées dès que les masques
correspondants auront été supprimés.
Suppression des masques d’interruption (C1=200)
Utiliser l’instruction INT(89) avec C1=200 pour supprimer tous les masques
d’interruption :
(@)INT(89)
200
000
000
Drapeaux
ER :
Une limite de zone de données a été dépassée.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
C1 n’est pas égal à 000 à 004,100 ou 200.
C2 n’est pas égal à 0000 à 000F.
INT(89) est exécutée avec C1=100 ou C1=200 alors qu’un programme
d’interruption est en cours d’exécution.
INT(89) est exécutée avec C1=100 alors que tous les interruptions sont
déjà masquées.
C1=200 alors que tous les masques d’entrées n’ont pas été supprimés.
7-27-2
INTERVAL TIMER - STIM(69)
Symboles à contacts
Zones de données d’opérandes
C1 : Paramètre #1
STIM(69)
@STIM(69)
C1
C1
C2
C2
C3
C3
000 à 008, 010 à 012
C2 : Paramètre #2
IR, SR, AR, DM, HR, TC, LR, #
C3 : Paramètre #3
IR, SR, AR, DM, HR, TC, LR, #
Rem. STIM(69) est une instruction d’expansion dans les API des CPM2A/CPM2C et
SRM1(-V2). Le code de fonction 69 est un paramètre par défaut et peut être
modifié si nécessaire.
Limitations
C1 doit être égal à 000, 003, 006 ou 010.
455
Chapitre 7-27
Instructions de commande d’interruptions
Si C1 est égal à 000 ou 003, C3 représente un numéro BCD de sous-programme jusqu’à 0049.
Si C1 est égal à 006, des constantes ne peuvent être utilisées pour C2 ou C3.
Si C1 est égal à 010, C2 et C3 doivent être réglés à 000.
STIM(69) est utilisée pour commandes les temporisations cycliques selon
quatre fonctions de base : démarrage de la temporisation d’interruption en
monocoup, démarrage de la temporisation d’interruption programmée, lecture
de la PV de temporisation, arrêt de la temporisation. Définir la valeur de C1 pour
définir laquelle de ces fonctions sera exécutée, comme indiqué dans le tableau
suivant. Se reporter au paragraphe du Chapitre 2 Fonctions spéciales pour une
description plus détaillée du fonctionnement des interruptions de temporisations cycliques. STIM(69) est également décrite plus en détails à la suite du tableau.
Description
Valeur C1
Fonction
000
Démarre la temporisation d’interruption monocoup.
003
Démarre la temporisation d’interruption programmée.
006
Lit la PV de la temporisation.
010
Arrête la temporisation.
Démarrage de
temporisations
d’interruption
(C1= 000 ou 003)
Définir C1=000 pour activer la temporisation d’interruption monocoup. Définir
C1=003 pour activer la temporisation d’interruption programmée.
C2, qui spécifie la PV de la temporisation, peut être une constante ou le premier
de deux variables contenant la SV. La paramètres diffèrent légèrement d’une
méthode à l’autre :
C2 = Constante
Si C2 est une constante, il spécifie la SV du compteur dégressif en valeurs BCD.
La plage de valeurs est comprise entre 0000 et 9999 (0 à 9,999 ms) (les unités
de temps sont de 1 ms).
C3 spécifie le numéro de sous-programme : entre 0000 à 0049.
C2 = Variable
Si C2 est une variable, son contenu contient la SV du compteur dégressif (BCD,
0000 à 9999).
Le contenu de C2+1 spécifie le nombre d’unités de temps (BCD, 0005 à 0320)
de 0,1 ms. L’intervalle de temps de comptage dégressif peut donc être compris
entre 0,5 à 32 ms.
La SV de la temporisation est : (contenu de C2) ! (contenu de C2+1) ! 0,1 ms.
C3 spécifie le numéro de sous-programme : 0000 à 0049.
Lecture de la PV de
temporisation
(C1=006)
Définir C1=006 pour lire la PV de temporisation.
C2 spécifie le premier des deux mots de destination appelés à recevoir la PV de
la temporisation. C2 reçoit le nombre de fois où le compteur dégressif a été
décrémenté (valeur hexadécimale, 0000 à 9999) et C2+1 reçoit les unités
(nombre BCD d’unités de 0,1 ms).
C3 spécifie le mot de destination recevant le temps écoulé depuis la dernière
fois où le compteur a été décrémenté (nombre BCD d’unités de 0,1 ms).
Rem. Le temps écoulé depuis le démarrage du compteur est calculé de la façon suivante :
((Contenu de C2) ! (Contenu de C2+1)) + ((Contenu de C3)) ! 0,1 ms
Arrêt de la temporisation
(C=010)
Définir C1=010 pour arrêter la temporisation. C2 et C3 n’ont pas de fonction et
doivent être mis à 00.
Drapeaux
ER :
456
C1 n’est pas égal à 000, 003, 006 ou 010.
Un numéro de sous-programme spécifié n’est pas compris entre 0000
et 0049.
Chapitre 7-28
Instructions de communication
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
Une limite de zone de données à été dépassée.
7-28 Instructions de communication
7-28-1
RECEIVE - RXD(47)
Symboles à contacts
Zones de données d’opérandes
D : Premier mot de destination
RXD(47)
@RXD(47)
D
D
C
C
N
N
IR, SR, AR, DM, HR, TC, LR
C : Mot de commande
#
N : Nombre d’octets
IR, SR, AR, DM, HR, TC, LR, #
Cette instruction n’est disponible que sur les CPM2A/CPM2C et SRM1(-V2).
Limitations
D et D+(N"2)-1 doivent être dans la même zone de données.
DM 6144 à DM 6655 ne peuvent être utilisés pour D ou N.
N doit être une valeur BCD entre #0000 et #0256 (#0000 à #0061 en mode liaison à l’ordinateur).
Lorsque la condition d’exécution est OFF, RXD(47) ne s’exécute pas. Lorsque
la condition d’exécution est ON, RXD(47) lit N octets de données reçues au port
spécifié dans le mot de commande et écrit ces données dans les mots D à
D+(N"2)-1. Jusqu’à 256 octets de données peuvent être lus à la fois.
Si moins de N octets sont reçus, le nombre reçu est lu.
Description
Rem. Se reporter au paragraphe 4-1 Fonctions de communication pour de plus
amples informations sur l’instruction RXD(47), la définition du protocole de communications dans le Setup de l’API, etc.
! Attention L’API ne peut recevoir plus de données après réception de 256 octets si ceux-ci
ne sont pas lus au moyen de RXD(47). Lire les données le plus vite possible
après que le drapeau Réception terminée soit mis sur ON (AR 0806 pour le port
RS-232C, AR 0814 pour le port périphérique).
Mot de commande
La valeur du mot de commande détermine le port à partir duquel seront lues les
données et l’ordre dans lequel les données seront écrites en mémoire.
Numéro d’octet : 3 2 1 0
Ordre des octets
0 : Octets de poids fort en 1er, même mot
1 : Octets de poids faible en 1er, même mot
2 : Octet de poids faible suivi de l’octet de poids fort du mot suivant
3 : Octet de poids fort suivi de l’octet de poids faible du mot suivant
Non utilisé (mis à 00).
Port
0 : Port RS--232C.
1 : port périphérique.
457
Chapitre 7-28
Instructions de communication
L’ordre dans lequel les données sont écrites en mémoire dépend de la valeur du
digit 0 dans C. Huit octets de données 12345678... seront écrits de la façon suivante :
D
D+1
D+2
D+3
D
D+1
D+2
D+3
Drapeaux
ER :
Digit 0 = 0
MSB LSB
1
2
3
5
7
D
D+1
D+2
D+3
4
6
8
Digit 0 = 2
MSB LSB
1
2
4
6
Digit 0 = 1
MSB LSB
2
1
3
5
7
Digit 0 = 3
MSB LSB
1
D
3
5
7
4
6
8
D+1
D+2
D+3
2
4
6
3
5
7
Les paramètres dans C ne sont pas corrects
N est supérieur à 256.
Le Setup de l’API n’est pas défini pour le mode protocole.
RXD(47) est déjà en cours d’exécution.
AR 08 : AR 0806 est mis sur ON après réception normale des données au port
RS-232C. Il est réinitialisé lorsque RXD(47) est exécutée.
AR 0814 est mis sur ON après réception normale des données au port
périphérique. Il est réinitialisé lorsque RXD(47) est exécutée.
AR 09 : Contient le nombre d’octets reçus au port RS-232C. Il est remis à 0000
lorsque RXD(47) est exécutée.
AR 10 : Contient le nombre d’octets reçus au port périphérique. Il est remis à
0000 lorsque RXD(47) est exécutée.
Rem. Les drapeaux et les compteurs de communication peuvent être supprimés soit
en spécifiant 0000 pour N, soit en utilisant les bits de réinitialisation de port
(SR 25208 pour le port périphérique et SR 25209 pour le port RS-232C).
7-28-2
TRANSMIT - TXD(48)
Symboles à contacts
Zones de données d’opérandes
S : Premier mot source
TXD(48)
@TXD(48)
S
S
C
C
N
N
IR, SR, AR, DM, HR, TC, LR
C : Mot de commande
#
N : Numéro d’octets
IR, SR, AR, DM, HR, TC, LR, #
Limitations
458
Cette instruction n’est disponible que sur les CPM2A/CPM2C et SRM1(-V2).
S et S+(N"2)-1 doivent être dans la même zone de données.
Chapitre 7-28
Instructions de communication
DM 6144 à DM 6655 ne peuvent être utilisés pour S ou N.
N doit être une valeur BCD comprise entre #0000 et #0256 (#0000 à #0061 en
mode liaison à l’ordinateur).
Lorsque la condition d’exécution est OFF, TXD(48) ne s’exécute pas. Lorsque la
condition d’exécution est ON, TXD(48) lit N octets de données à partir des mots
S à S+(N"2)--1, les convertit en ASCII et transmet le résultat à partir du port spécifié. TXD(48) a une fonction différente en mode liaison à l’ordinateur et en mode
RS-232C ; ces modes sont donc décrits séparément.
Description
Rem.
1. Le drapeau AR 0805 est sur ON lorsque l’API est à même de transmettre
des données via le port RS-232C et le drapeau AR 0813 est sur ON lorsque
l’API est à même de transmettre des données via le port des périphériques.
2. Se reporter au paragraphe 4-1 Fonctions de communications pour de plus
amples informations sur l’instruction TXD(48), la définition du protocole de
communication dans le Setup de l’API, etc...
Mode liaison à l’ordinateur
N doit être une valeur BCD entre #0000 et #0061 (jusqu’à 122 octets ASCII). La
valeur du mot de commande détermine le port via lequel sont transmises les
données, comme indiqué ci--dessous :
Numéro de digit : 3 2 1 0
Non utilisé (Défini à 000).
Port
0 : Spécifie le port RS-232C.
1 : Spécifie le port périphérique.
Le nombre d’octets spécifié est lu entre S et S+(N/2)--1, converti en ASCII et
transmis via le spécificateur de port. Les octets de données sources ci--dessous
seront transmis dans l’ordre suivant : 12345678...
S
MSB LSB
1
2
S+1
S+2
S+3
3
5
7
4
6
8
Le schéma qui suit indique le format de commande de liaison à l’ordinateur
(TXD) à partir du CPM2A/CPM2C. Le CPM2A/CPM2C ajoute automatiquement les préfixes et les suffixes : numéros de stations, en--tête, FCS, etc...
@
E
Num. de
station
Mode RS-232C
X
Code
d’en-tête
&
.........
Données (122 car. ASCII max.)
FCS
CR
Terminaison
N doit être une valeur BCD entre #0000 et #00256. La valeur du mot de commande détermine le port à partir duquel sont transmises les données et l’ordre
d’écriture de celles--ci en mémoire.
459
Chapitre 7-28
Instructions de communication
Mot de commande
La valeur du mot de commande détermine le port à partir duquel sont lues les
données et l’ordre d’écriture de celles--ci en mémoire.
Numéro de digit : 3 2 1 0
Ordre des octets 0 : Octets de poids fort en 1er
1 : Octets de poids faible en 1er
Non utilisé (défini à 00)
Port
0 : Spécifie le port RS-232C
1 : Spécifie le port périphérique
Le nombre d’octets spécifié est lu à partir de S -- S+(N"2)--1 et transmis via le
port spécifié.
S
MSB LSB
1
2
S+1
S+2
S+3
3
5
7
4
6
8
Lorsque le digit 0 de C est égal à 0, les octets des données source indiqués
ci-dessus sont transmis dans l’ordre suivant : 12345678...
Lorsque le digit 0 de C est égal à 1, les octets des données source indiqués
ci-dessus sont transmis dans l’ordre suivant : 21436587...
Rem. Lorsque des codes de début et de fin sont spécifiés, le nombre total de données
doit être de 256 octets au maximum, codes de début et de fin inclus.
Drapeaux
ER :
Les paramètres dans C ne sont pas corrects.
N est supérieur à 256 en mode hors-protocole ou à 61 en mode liaison à
l’ordinateur.
Le Setup de l’API ne définit pas le mode communication approprié.
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas en BCD ou la limite de la zone DM a été dépassée).
TXD(48) est déjà en cours d’exécution.
AR 08 : AR 0805 est mis sur ON lorsque la transmission via le port RS-232C est
possible. AR 0813 est mis sur ON lorsque la transmission via le port
périphérique est possible.
7-28-3
CHANGE RS-232C SETUP - STUP(--)
Symboles à contacts
Zones de données d’opérandes
N : RS-232C spécificateur de port
STUP(--)
@STUP(--)
N
N
S
S
000
S : Premier mot source
IR, SR, AR, DM, HR, LR, #
Le 3ème opérande est ignoré.
Limitations
460
Cette instruction n’est disponible que sur les CPM2A/CPM2C et SRM1(-V2).
Chapitre 7-28
Instructions de communication
N doit être égal à 000.
S et S+4 doivent être dans la même zone de données.
(S peut être défini à #0000 pour remplacer les paramètres RS-232C par les
valeurs par défaut).
STUP(--) ne peut être exécutée dans un sous-programme d’interruption.
Lorsque la condition d’exécution est OFF, STUP(--) ne s’exécute pas. Lorsque
la condition d’exécution est ON, STUP(--) modifie les paramètres contenus
dans le Setup de l’API concernant le port RS-232C intégré. Ces changements
ont lieu dans le Setup de l’API mais non dans la mémoire flash jusqu’à ce que
l’API soit commuté en mode PROGRAM (depuis le mode RUN ou MONITOR),
ou mis hors-tension puis de nouveau sous tension.
Sur les API des CPM2A/CPM2C et SRM1(-V2), N doit être égal à 000 du fait que
STUP(--) ne modifier que la configuration RS-232C du port RS-232C intégré
(DM 6645 à DM 6649).
Si S est une variable, le contenu de S à S+4 est copié dans les positions
DM 6645 à DM 6649.
Si S est une constante #0000, les paramètres par défaut du port RS-232C intégré sont rétablis.
Description
S
Rem.
Exemple d’application
Fonction
Variable
Le contenu de S à S+4 est copié dans DM 6645 à DM 6649.
Constante
(#0000)
Les valeurs par défaut des paramètres contenus dans DM 6645
à DM 6649 sont rétablies.
1. Le drapeau de configuration RS-232C variable (SR 25312) est sur ON au
cours de l’exécution de STUP(--) ; il est mis sur OFF à la fin de l’exécution de
STUP(--).
2. Sur les CPM2A/CPM2C, une erreur se produit et STUP(--) ne s’exécute pas
lorsque le Commutateur Communications sur la face avant de l’unité centrale est sur ON. Dans ce cas, les communications RS-232C sont régies par
les paramètres par défaut.
Cet exemple illustre un programme transférant le contenu de DM 0100 à
DM 0104 dans la zone du Setup de l’API correspondant au port RS-232C intégré (DM 6645 à DM 6649).
00000
Adresse
Instruction
00000
00001
LD
@STUP(--)
Opérandes
@STUP(--)
000
DM 0100
00000
DM
000
0100
Ces valeurs sont transmises comme indiqué ci-dessous. Le drapeau de configuration RS-232C variable (SR 25312) est mis sur OFF à la fin du transfert.
Le tableau qui suit indique la fonction des données de configuration transférées.
Mot
source
DM 0100
Mot de destination
DM 6645
Contenu
Fonction
1001
Valide les paramètres de communications
dans DM 0101 et définit le mode communication “hors-protocole”.
DM 0101
DM 6646
0803
Définit les paramètres de communication suivants :
9 600 bps, 1 bit de départ, 8 bits de données, 1 bit d’arrêt, parité nulle
DM 0102
DM 6647
0000
Pas de délai de transmission (0 ms)
DM 0103
DM 6648
2000
Valide le code de fin : CR, LF.
DM 0104
DM 6649
0000
(Sans fonction lorsque DM 6648 est défini à
2000)
461
Chapitre 7-28
Instructions de communication
Drapeaux
ER :
Le canal DM indirectement adressé n’existe pas (le contenu du canal
*DM n’est pas une valeur BCD ou la limite de la zone DM a été dépassée).
Le spécificateur de port (N) n’est pas égal à 000.
Sur le CPM2A/CPM2C, le commutateur Communications sur la face
avant de l’unité centrale est sur ON.
Une autre instruction STUP(--) est déjà en cours d’exécution ou un
traitement d’événements est en cours.
Les mots sources spécifiés dépassent la zone de données.
Cette instruction est exécutée depuis un programme d’interruption.
Le Setup de l’API est protégé en écriture.
462
CHAPITRE 8
Opérations exécutées par les API et temps de traitement
Ce chapitre explique les opérations exécutées par les API CPM1, CPM1A, CPM2A, CPM2C et SRM1(-V2), ainsi que le
temps nécessaire au traitement et à l’exécution de ces opérations. Se reporter à ce chapitre pour des informations sur la
durée précise de telle ou telle opération.
8-1
8-2
8-3
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A . . . . . . . . . . . . . . . . . .
8-1-1 Cycle des CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-2 Temps de cycle des CPM1/CPM1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-3 Temps de réponse d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-4 Temps de réponse de liaison Inter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-5 Temps de traitements des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1-6 Temps d’exécution des instructions sur les CPM1/CPM1A . . . . . . . . . . . . . . . .
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S . . . . . . . . . . . . . . . . . . .
8-2-1 Temps de cycle des CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-2 Temps de réponse d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-3 Temps de réponse de liaison d’API en mode “Inter API” . . . . . . . . . . . . . . . . . .
8-2-4 Temps de traitement des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2-5 Temps d’exécution des instructions sur les CPM2A/CPM2C . . . . . . . . . . . . . . .
Temps de cycle et temps de réponse des E/S du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . .
8-3-1 Cycle du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-2 Temps de cycle du SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-3 Temps de réponse d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-4 Temps de réponse E/S Inter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-5 Temps de traitement des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3-6 Temps d’exécution des instructions sur le SRM1(-V2) . . . . . . . . . . . . . . . . . . . .
464
464
465
466
467
469
470
476
476
477
478
480
482
493
493
494
496
497
498
499
463
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
8-1
8-1
Temps de cycle et temps de réponse des E/S des
CPM1/CPM1A
8-1-1 Cycle des CPM1/CPM1A
Le flux des opérations exécutées par les CPM1/CPM1A est illustré dans l’organigramme suivant :
Mise sous tension
Processus d’initialisation
Initialisation
Vérification circuit et
mémoire programme
Non
Vérification OK ?
surveillance
Oui
Définition drapeaux
d’erreurs et activation
indicateurs
ERROR ou ALARM ?
ERROR
(allumé)
Prédéfinir temps de surveillance du temps de cycle
ALARM
(clignotant)
Exécuter prog. utilisateur
Fin du programme ?
Non
Exécution
du
programme
Oui
Vérification définition
temps de cycle
Réglage du
temps de cycle
mini ?
Oui
Attendre fin temps de
cycle
Temps
de
cycle
Non
Traitement
du temps
de cycle
Calculer temps de cycle
Rafraîchir bits d’entrée et
bornes de sortie
Prise en charge port
périphérique
Rafraîchiss.
des E/S
Prise en
charge port
périphérique
Rem. Les processus d’initialisation comprennent l’effacement des zones IR, SR et
AR, le préréglage des temporisations du système et la vérification des unités
d’E/S.
464
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
Chapitre
8-1
8-1-2 Temps de cycle des CPM1/CPM1A
Les processus compris dans un cycle des CPM1/CPM1A sont indiqués dans le
tableau suivant, qui indique également les temps de traitement correspondants.
Processus
Contenu
Surveillance
Temps nécessaire
Définition de l’horloge du chien de garde des cycles, 0,6 ms
vérification du bus d’E/S, vérification de l’UM,
rafraîchissement des horloges, rafraîchissement des
bits affectés aux nouvelles fonctions, etc...
Exécution du programme utilisateur
Temps total d’exécution des instructions (varie selon le contenu du programme utilisateur)
Exécution
Calcul du temps de cycle Attente jusqu’au temps sélectionné lorsque le temps
de cycle minimum est défini dans le DM 6619 du
Setup de l’API.
Presque instantané, sauf dans le processus d’attente
Calcul du temps de cycle.
Rafraîchissement des
E/S
Prise en charge des
ports périphériques
Lecture des informations en entrée dans les bits
d’entrée.
Ecriture des informations de sortie (résultats d’exécution du programme) dans les bits de sortie.
Prise en charge des périphériques reliés aux ports
périphériques.
UC 10 points :
0,06 ms
UC 20 points :
0,06 ms
UC 30 points :
0,3 ms
Unité d’E/S d’extension : 0,3 ms
0,26 ms min., 5% ou moins du temps
de cycle jusqu’à 66 ms (voir Rem.)
Rem. Le pourcentage de cycle affecté à la prise en charge des ports périphériques
peut être modifié dans le Setup de l’API (DM 6617).
Effets du temps de cycle
Temps de cycle
10 ms ou plus
20 ms ou plus
Les effets du temps de cycle sur les opérations des CPM1/CPM1A sont indiqués ci-dessous. Dans le cas d’un long temps de cycle affectant les opérations,
réduire le temps de cycle ou améliorer le temps de réponse à l’aide de programmes d’interruption.
Conséquences
TIMH(15) peut être imprécise dans le cas de l’utilisation de TC 004 à TC 127 (fonctionnement normal de TC 000 à TC 003).
Le programme utilisant le bit d’horloge de 0,02 seconde (SR 25401) peut être imprécis.
100 ms ou plus
TIM peut être imprécis. Le programme utilisant le bit d’horloge de 0,01 seconde (SR 25500) peut
être imprécis. Une erreur CYCLE TIME OVER (temps de cycle terminé) est générée (SR 25309
passe à l’état ON). Voir Rem. 1.
120 ms ou plus
La SV du temps de surveillance de FALS 9F est dépassée. Une erreur système (FALS 9F) est
générée et l’opération s’arrête. Voir Rem. 2.
Le programme utilisant le bit d’horloge de 0,02 seconde (SR 25501) peut être imprécis.
200 ms ou plus
Rem.
1. Le Setup de l’API (DM 6655) peut être utilisé pour désactiver la détection de
l’erreur CYCLE TIME OVER.
2. Le temps de surveillance de cycle peut être modifié dans le Setup de l’API
(DM 6618).
Exemple de temps de cycle
Dans cet exemple, le temps de cycle est calculé pour une unité centrale
CPM1/CPM1A à 20 points d’E/S (12 points d’entrée et 8 points de sortie). Les
E/S sont paramétrées de la façon suivante :
Entrées : 1 mot (00000 à 0,011)
Sorties : 1 mot (01000 à 01007)
Les autres conditions de fonctionnement sont supposées être :
Programme utilisateur : 500 instructions (constituées seulement de LD et
OUT)
Temps de cycle :
Variable (pas de minimum défini)
465
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
8-1
Le temps de traitement moyen d’une instruction du programme utilisateur est
estimé à 2,86 !s. Les temps de cycles sont indiqués dans le tableau suivant :
Processus
Temps avec périphérique
de programmation
0,6 ms
Temps sans périphérique
de programmation
0,6 ms
2. Exécution du programme 2,86 " 500 (!s)
1,43 ms
1,43 ms
3. Calcul du temps de cycle Négligeable
0 ms
0 ms
0,01 " 1 + 0,005 " 1 (!s)
0,06 ms
0,06 ms
Temps minimum
0,26 ms
0 ms
(1) + (2) + (3) + (4) + (5)
2,35 ms
2,09 ms
1. Surveillance
4. Rafraîchissement des
E/S
5. Prise en charge des
ports périphériques
Temps de cycle
Méthode de calcul
Fixe
Rem.
1. Le temps de cycle peut être lu à partir de l’API via un périphérique de programmation.
2. Le temps de cycle maximum et le temps de cycle actuel sont enregistrés
dans AR 14 et AR 15.
3. Le temps de cycle peut varier selon les conditions de fonctionnement et ne
correspondra pas nécessairement avec précision à la valeur calculée.
8-1-3 Temps de réponse d’E/S
Le temps de réponse d’E/S est le temps nécessaire à l’API, après réception d’un
signal en entrée (après passage à l’état ON du bit d’entrée), pour vérifier et
traiter les informations et générer un signal de commande (générer le résultat du
traitement dans un bit de sortie). Ce temps de réponse varie selon les contraintes temporelles et les conditions de traitement.
Les temps de réponse d’E/S minimum et maximum sont indiqués ici, en utilisant
comme exemple le programme ci-dessous :
Sortie
Entrée
Les conditions ci-dessous sont utilisées dans cet exemple pour calculer les
temps de réponse d’E/S.
Retard au travail entrée :
8 ms (constante de temps
d’entrée : valeur par défaut)
Temps de surveillance :
1 ms (comprend le rafraîchissement des E/S du CPM1A)
Temps d’exécution des instructions :
14 ms
Retard au travail sortie :
10 ms
Port périphérique :
Non utilisé.
Temps minimum de
réponse d’E/S
Le CPM1/CPM1A a le temps de réponse le plus court lorsqu’il reçoit un signal
d’entrée juste avant de rafraîchir les E/S, comme illustré ci-dessous :
Point
d’entrée Retard ON entrée (8 ms)
Bit
d’entrée
Rafraîchissement
des E/S
Exécution du programme et des autres
processus (15 ms)
Rafraîchissement
des E/S
Retard ON sortie (10 ms)
Point de
sortie
Temps de réponse d’E/S mini = 8+15+10 = 33 ms
466
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
Temps maximum de
réponse d’E/S
Chapitre
8-1
Le CPM1/CPM1A a le temps de réponse le plus long lorsqu’il reçoit le signal
d’entrée juste après la phase de rafraîchissement des entrées à l’intérieur du
cycle, comme le montre l’illustration ci-dessous. Ceci entraîne un temps de
réponse d’un cycle environ.
Point
d’entrée Retard ON entrée (8 ms)
Bit
d’entrée
Rafraîchissement
des E/S
Exécution du programme et des autres
processus (15 ms)
Rafraîchissement
des E/S
Exécution du programme et des autres
processus (15 ms)
Rafraîchissement
des E/S
Retard ON sortie (10 ms)
Point de
sortie
Temps de réponse d’E/S maxi = 8+15 " 2+10 = 48 ms
8-1-4 Temps de réponse de liaison Inter API
Lorsque deux CPM1/CPM1A sont reliés en mode Inter API, le temps de
réponse d’E/S est le temps nécessaire à la transmission d’une entrée exécutée
sur l’un des CPM1/CPM1A à l’autre CPM1/CPM1A dans le cadre de communications d’API en mode Inter API.
Les temps de réponse d’E/S minimum et maximum sont indiqués ici, en utilisant
comme exemple les instructions suivantes, exécutées aux niveaux maître et
esclave. Les communications s’effectuent ici en mode “maître-esclave”.
Maître
Esclave
Sortie (LR)
Entrée
Entrée
(LR)
Sortie
Les conditions suivantes sont utilisées comme exemples pour le calcul des
temps de réponse. Sur les API CPM1/CPM1A, les zones LR comprises entre
LR 00 et LR 15 sont utilisées dans le cadre de liaisons Inter API et le temps de
transmission est fixé à 12 ms.
Retard au travail entrée :
8 ms (constante de temps
d’entrée : valeur par défaut)
Temps de cycle du côté maître :
10 ms
Temps de cycle du côté esclave :
15 ms
Retard au travail sortie :
10 ms
Port périphérique :
Non utilisé.
Temps minimum de
réponse d’E/S
Le CPM1/CPM1A a le temps de réponse le plus court dans les circonstances
suivantes :
1, 2, 3...
1. Il reçoit un signal d’entrée juste avant la phase de rafraîchissement des
entrées à l’intérieur du cycle.
2. La prise en charge des communications du Maître survient au moment précis où commence la transmission Maître-Esclave.
467
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
8-1
3. La prise en charge des communications de l’Esclave survient juste après la
fin de la transmission.
Point
d’entrée Retard ON entrée (8 ms)
Rafraîchissement des E/S
Surveillance, communications, ...
Bit
d’entrée
Maître
Exécution du
programme
Traitement
par l’UC
Temps de cycle du côte maître
(10 ms)
Maître à
Esclave
Temps de transmission (12 ms)
Traitement
par l’UC
Exécution du
programme
Esclave
Temps de cycle du côte
esclave (15 ms)
Point de
sortie
Retard ON sortie
(10 ms)
Temps de réponse d’E/S mini = 8+10+12+15+10 = 55 ms
Formule de calcul = Temps de réponse d’entrée à l’état ON + Temps de cycle du
côte maître + Temps de cycle du côte esclave + Temps de réponse de sortie à
l’état ON
Le CPM1/CPM1A a le temps de réponse le plus long dans les circonstances
suivantes :
Temps maximum de
réponse d’E/S
1, 2, 3...
1. Il reçoit un signal d’entrée juste après la phase de rafraîchissement des
entrées à l’intérieur du cycle.
2. La prise en charge des communications du Maître s’effectue juste après la
transmission Maître-Esclave.
3. La transmission prend fin juste après la prise en charge des communications de l’Esclave.
Temps de réponse
maximum des E/S
Temps de réponse d’entrée à l’état ON + Temps de cycle du côte maître x 2 +
Temps de transmission x 3 + Temps de réponse de sortie à l’état ON.
Point
d’entrée
Rafraîchissement des E/S
Retard ON entrée
Prise en charge du port
périphérique
Maître
Bit
d’entrée
Traitement
par UC
Exécution
du prog.
Exécution
du prog.
Exécution
du prog.
(Transmission de données par rapport au
point d’entrée)
Maître #1
Maître à Esclave
Traitement
par UC
Temps de
Temps de
transmis- Esclave à Maître transmis- Maître à Esclave
sion
sion
Exécution
du prog.
Esclave
#1
Esclave
Exécution
du prog.
Exécution
du prog.
Temps de transmission
Exécution
du prog.
Esclave
#2
Exécution
du prog.
Esclave
#3
Retard OFF
sortie
Point de
sortie
Temps de réponse d’E/S maximum = 8 + 10 x 2 + 12 x 3 + 15 x 3 + 10 = 119 (ms)
468
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
8-1
8-1-5 Temps de traitements des interruptions
Ce chapitre définit les temps de traitement compris entre l’exécution d’une interruption et l’appel du programme de traitement d’interruptions, et entre l’exécution du programme de traitement d’interruptions et le retour à l’emplacement initial. Cette définition s’applique aux interruptions des entrées, des temporisations cycliques et du compteur à grande vitesse.
1, 2, 3...
1. Source d’interruption
2. Temps de traitement des interruptions à l’état ON
3. Attente de la fin du traitement du masque d’interruption
4. Modification du traitement des interruptions
5. Acheminement des interruptions (CPM1A seulement)
6. Retour à l’emplacement initial
Le tableau ci-dessous définit le temps compris entre la génération du signal d’interruption et l’appel du programme de traitement d’interruptions, et entre l’exécution du programme de traitement d’interruptions et le retour à l’emplacement
initial du programme.
Elément
Contenu
Durée
Temps de traitement des
interruptions à l’état ON
Temps séparant le moment où le bit d’entrée d’interruption passe à l’état
100 !s
ON et le moment où l’interruption est exécutée. Il varie d’une interruption à
l’autre.
Attente de la fin du traitement du masque d’interruption
Temps d’attente des interruptions jusqu’à la fin du traitement. Ceci
intervient pendant le traitement du masque. Voir détails ci-après.
Voir ci-dessous.
Modification du traitement
des interruptions
Retour
Temps nécessaire à la modification du traitement des interruptions.
30 !s
Temps de retour au traitement interrompu, après l’exécution de RET(93).
30 !s
Traitement du masque
Les interruptions sont masquées durant le traitement des opérations décrites
ci-dessous. Jusqu’à la fin du traitement, toutes les interruptions resteront masquées pendant les intervalles de temps spécifiés.
Génération et correction des erreurs non fatales :
Lorsqu’une erreur non fatale est générée et que l’erreur associée est enregistré dans le CPM1, ou lorsqu’une erreur est corrigée, les interruptions
sont masquées pendant 100 !s au maximum jusqu’à la fin du traitement.
Edition en ligne :
Les interruptions sont masquées pendant 600 !s au maximum (pour une
édition entre DM 6144 et DM 6655) lorsque l’édition en ligne est exécutée au
cours d’une opération. De plus, le traitement système est mis en attente
durant un maximum de 170 !s pendant l’édition.
Exemple de calcul
Cet exemple indique le temps de réponse de traitement d’interruption (entre le
moment où l’entrée d’interruption passe à l’état ON et le lancement du programme de traitement d’interruptions) lorsque des interruptions des entrées
sont utilisées dans les conditions indiquées ci-dessous :
Temps de réponse minimum
+
Temps de traitement des interruptions
à l’état ON :
Temps de mise en veille du masque :
Traitement des modifications
d’interruptions :
Temps de réponse minimum :
100 !s
0 !s
30 !s
130 !s
469
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
8-1
Temps de réponse maximum
(Sauf pour une édition en ligne entre DM 6144 et DM6655)
Temps de traitement des interruptions
à l’état ON:
100 !s
Temps de mise en veille du masque :
170 !s
+
Traitement des modifications
30 !s
d’interruptions :
Temps de réponse maximum :
300 !s
Outre les temps de réponse indiqués ci-dessus, le temps nécessaire à l’exécution du programme de traitement des interruptions et un temps de retour de
30 !s doivent également être pris en compte pour le retour au processus interrompu.
8-1-6 Temps d’exécution des instructions sur les CPM1/CPM1A
Le tableau suivant liste les temps d’exécution des instructions CPM1/CPM1A.
Instructions de base
Code
Mnémonique
Temps
d’exécution
d
e écut o à
l’état
é
ON (!s)
---------------------------
LD
LD NOT
AND
AND NOT
OR
OR NOT
AND LD
OR LD
OUT
OUT NOT
SET
RSET
TIM
1,72
---
CNT
12,5
,
Conditions (En haut : min. ; en bas : max.)
Temps d’exécution à l’état
OFF (!s)
Aucune
RSET
---
Constante pour la SV
:DM pour la SV
Constante pour la SV
:DM pour la SV
16,2
31,4
14,1
29,1
IL
JMP
1,32
0,72
4,0
5,8
5,9
10,0
,
16,0
31
6,2
6,2
6,4
6,4
6,6
6,6
Instructions spéciales
Code
Mnémonique
00
01
02
03
04
05
06
07
08
09
10
NOP
END
IL
ILC
JMP
JME
FAL
FALS
STEP
SNXT
SFT
470
Temps
d’exécution à
l’état ON (!s)
Conditions (En haut : min. ; en bas : max.)
0,36
10,8
4,6
3,6
4,3
4,7
38,5
5,0
14,9
14,2
Aucune
21,9
34,1
93,6
Avec registre à décalage d’un mot
Avec registre à décalage de 10 mots
Avec registre à décalage de 100 mots
Temps d’exécution à l’état
OFF (!s)
2,6
3,6
2,4
4,7
5,5
5,4
11,1
7,6
Réinit.
19,7
26,5
60,1
IL
2,6
2,6
2,6
JMP
2,6
2,6
2,6
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
Code
Mnémonique
11
KEEP
12
CNTR
Temps
d’exécution à
l’état ON (!s)
6,2
Aucune
Constante pour la SV
:DM pour la SV
Aucune
Aucune
13
DIFU
25,8
41,2
11,8
14
DIFD
11,0
15
TIMH
Conditions (En haut : min. ; en bas : max.)
Temps d’exécution à l’état
OFF (!s)
Réinit.
6,1
IL
3,1
JMP
3,1
Réinit.
16,8
,
IL
12,2
,
JMP
12,2
,
Décalage
10,1
Décalage
10,0
IL
JMP
12,2
IL
12,2
JMP
9,9
2,3
Réinit.
25,7
,
IL
28,4
,
JMP
15,8
,
41,2
,
43,6
,
15,8
,
19,0
20,2
19,0
20,2
Exécution normale, constante pour la SV
Exécution d’interruption, constante pour la SV
Exécution normale, :DM pour la SV
Exécution d’interruption, :DM pour la SV
5,6
,
16
WSFT
29,2
40,7
1,42 ms
17
ASFT
29,6
50,2
1,76 ms
Avec registre à décalage d’un mot
Avec registre à décalage de 10 mots
Avec registre à décalage de 1 024 mots via
:DM
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 023 mots via :DM
20
CMP
15,8
17,2
46,3
Comparaison d’une constante à un mot
Comparaison de deux mots
Comparaison de deux :DM
5,6
,
21
MOV
MVN
Transfert d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
Comparaison d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
5,6
,
22
16,3
17,7
45,5
16,4
17,5
45,7
23
BIN
31,6
45,7
Conversion d’un mot à un mot
Conversion d’un :DM à un :DM
5,6
,
24
BCD
29,5
57,3
Conversion d’un mot à un mot
Conversion d’un :DM à un :DM
5,6
,
25
ASL
17,3
31,3
Décalage d’un mot
Décalage d’un :DM
5,5
,
26
ASR
16,9
31,1
Décalage d’un mot
Décalage d’un :DM
5,5
,
27
ROL
ROR
Rotation
Rotation
Rotation
Rotation
5,5
,
28
14,5
28,5
14,5
28,5
29
COM
18,1
32,1
Rotation d’un mot
Inversion d’un :DM
5,5
,
30
ADD
29,5
30,9
72,7
Constante + mot # mot
Mot + mot # mot
:DM + :DM # :DM
5,6
,
d’un mot
d’un :DM
d’un mot
d’un :DM
8-1
5,6
,
5,6
,
5,5
,
471
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
Code
Mnémonique
SUB
Temps
d’exécution à
l’état ON (!s)
29,3
30,5
72,5
31
32
Conditions (En haut : min. ; en bas : max.)
Constante -- mot # mot
Mot -- mot # mot
:DM -- :DM # :DM
5,6
,
MUL
49,1
Constante ¢ mot # mot
5,6
50,5
Mot ¢ mot # mot
95,1
:DM ¢ :DM # :DM
Temps d’exécution à l’état
OFF (!s)
33
DIV
47,7
50,9
94,3
Mot $ constante # mot
mot $ mot # mot
:DM $ :DM # :DM
5,6
,
34
ANDW
27,1
28,7
70,7
Constante  mot # mot
Mot  mot # mot
:DM  :DM # :DM
5,6
,
35
ORW
27,1
28,7
70,7
Constante V mot # mot
Mot V mot # mot
:DM V :DM # :DM
5,6
,
36
XORW
27,1
28,7
70,5
Constante V mot # mot
Mot V mot # mot
:DM V :DM # :DM
5,6
,
37
XNRW
27,0
28,6
70,5
Constante V mot # mot
Mot V mot # mot
:DM V :DM # :DM
5,6
,
38
INC
17,9
31,9
Incrémentation d’un mot
Incrémentation d’un :DM
5.5
39
DEC
18,3
32,3
Décrémentation d’un mot
Décrémentation d’un :DM
5,5
,
40
41
STC
CLC
6,3
6,3
Aucune
5,5
5,5
46
MSG
21,5
35,7
Avec un message dans les mots
Avec un message dans un :DM
5,5
,
50
ADB
30,5
32,1
73,9
Constante + mot # mot
Mot + mot # mot
:DM + :DM # :DM
5,6
,
51
SBB
30,9
32,7
74,5
Constante -- mot # mot
Mot -- mot # mot
:DM -- :DM # :DM
5,6
,
52
MLB
34,7
Constante ¢ mot # mot
5,6
36,3
Mot ¢ mot # mot
80,7
:DM ¢ :DM # :DM
53
DVB
35,1
36,7
81,1
Mot $ constante # mot
Mot $ mot # mot
:DM $ :DM # :DM
5,6
,
54
ADDL
48,9
94,7
Mot + mot # mot
:DM + :DM # :DM
5,6
,
55
SUBL
48,9
94,7
Mot -- mot # mot
:DM -- :DM # :DM
5,6
,
56
MULL
138,7
Mot ¢ mot # mot
5,6
184,3
:DM ¢ :DM # :DM
472
8-1
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
Code
Mnémonique
57
DIVL
60
CMPL
61
INI
62
PRV
63
CTBL
Temps
d’exécution à
l’état ON (!s)
136,7
181,3
30,4
60,8
112,0
126,0
48,0
48,0
120,0
128,0
46,0
60,0
62,2
78,0
106,3
120,3
775,5
799,5
64
SPED
65
PULS
67
BCNT
68
BCMP
711,5
722,5
91,9
106,3
693,5
709,5
607,5
621,5
73,6
75,0
88,8
62,0
78,0
52,6
4,08 ms
79,6
80,8
123,2
Conditions (En haut : min. ; en bas : max.)
Mot $ mot # mot
:DM $ :DM # :DM
Comparaison de mots
Comparaison de :DM
Démarrage d’une comparaison via un mot
Démarrage d’une comparaison via :DM
Arrêt d’une comparaison via un mot
Arrêt d’une comparaison via :DM
Modification d’une PV via un mot
Modification d’une PV via :DM
Arrêt d’une sortie d’impulsions via un mot
Arrêt d’une sortie d’impulsions via :DM
Définition d’une sortie via un mot
Définition d’une sortie via :DM
Tableau de cibles avec 1 cible en mots et
départ
Tableau de cibles avec 1 cible en :DM et
départ
Tableau de cibles avec 16 cibles en mots et
départ
Tableau de cibles avec 16 cibles en :DM et
start
Tableau de plages en mots et départ
Tableau de plages en :DM et départ
Tableau de cibles avec 1 cible en mots
Tableau de cibles avec 1 cible en :DM
Tableau de cibles avec 16 cibles en mots
Tableau de cibles avec 16 cibles en :DM
Tableau de plages en mots
Tableau de plages en :DM
Définition d’une constantee
Définition d’un mot
Définition d’un :DM
Définition d’un mot
Définition d’un :DM
Comptage d’un mot
Comptage de 6 656 mots via :DM
Comparaison de constante, résultats dans un
mot
Comparaison de mot, résultats dans un mot
Comparaison d’une :DM, résultats dans une
:DM
8-1
Temps d’exécution à l’état
OFF (!s)
5,6
,
5,6
,
5,6
,
5,6
,
5,6
5,6
,
5,6
5,6
,
5,6
,
5,6
473
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
Code
Mnémonique
69
STIM
Temps
d’exécution à
l’état ON (!s)
47,5
58,7
47,9
59,1
70
XFER
71
BSET
73
XCHG
74
SLD
75
SRD
76
MLPX
77
DMPX
78
SDEC
80
DIST
33,5
63,5
25,7
54,1
45,5
47,1
1,78 ms
28,1
38,3
1,12 ms
30,5
59,1
25,9
51,7
3,02 ms
25,9
51,7
3,02 ms
47,7
92,7
59,5
95,5
51,1
96,3
39,1
40,9
84,7
63,4
65,0
109,6
474
Conditions (En haut : min. ; en bas : max.)
Départ d’interruption monocoup défini par un
mot
Départ d’interruption monocoup défini par un
:DM
Départ d’interruption programmée défini par un
mot
Départ d’interruption programmée défini par un
:DM
Lecture de temporisation définie par un mot
Lecture de temporisation définie par un :DM
Arrêt de temporisation définie par un mot
Arrêt de temporisation définie par un :DM
Transfert d’une constante à un mot
Transfert d’un mot à un mot
Transfert de 1 024 mots via :DM
Définition d’une constante pour 1 mot
Affectation d’une constante définie pour un mot
à 10 mots
Définition d’un :DM pour 1 024 mots
Mot # mot
:DM # :DM
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 024 mots via :DM
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 024 mots via :DM
Décodage de mot à mot
Décodage d’un :DM à :DM
Codage de mot à mot
Codage d’un :DM à un :DM
Décodage de mot à mot
Décodage d’un :DM à un :DM
Définition d’une constante pour un mot + 1 mot
Définition d’une constante pour un mot à un mot
+ 1 mot
Définition d’une constante pour :DM à un
:DM +:DM
Définition d’une constante pour une batterie
Définition d’un mot pour une batterie
Définition d’un :DM pour une batterie via :DM
8-1
Temps d’exécution à l’état
OFF (!s)
5,6
5,6
,
5,6
,
5,6
,
5,6
,
5,6
,
5,6
,
5,6
,
5,6
,
5,6
,
Chapitre
Temps de cycle et temps de réponse des E/S des CPM1/CPM1A
Code
Mnémonique
81
COLL
Temps
d’exécution à
l’état ON (!s)
42,6
43,6
83,4
78,0
79,2
1,76 ms
66,8
68,0
112,0
82
MOVB
83
MOVD
84
SFTR
85
TCMP
32,5
37,5
79,1
28,3
33,3
75,5
39,3
52,9
1,42 ms
57,7
58,9
101,9
86
ASC
89
INT
56,7
103,9
32,3
46,3
29,1
43,1
27,3
41,5
29,7
43,7
15,3
15,3
15,9
15,9
Conditions (En haut : min. ; en bas : max.)
Définition d’une constante pour un mot + un mot
à un mot
Définition d’une constante pour un mot + un mot
à un mot
Définition d’une constante pour :DM + :DM à
un :DM
Définition d’un mot + constante pour une batterie FIFO
Définition d’une constante pour un mot + mot à
une batterie FIFO
Définition d’une constante pour un :DM +
:DM à une batterie FIFO via :DM
Définition d’une constante pour un mot +
constante à une batterie LIFO
Définition d’une constante pour un mot + mot à
une batterie LIFO
Définition d’une constante pour un :DM +
:DM à une batterie LIFO via :DM
Transfert d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
Transfert d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 024 mots via :DM
Comparaison d’une constante à un tableau
défini en mots
Comparaison d’un mot d’un tableau défini en
mots
Comparaison d’un :DM à un tableau défini en
:DM
Mot # mot
:DM # :DM
Définition de masques via un mot
Définition de masques via :DM
Suppression d’interruptions via un mot
Suppression d’interruptions via :DM
Lecture d’état de masque via un mot
Lecture d’état de masque via :DM
Modification de SV de compteur via un mot
Modification de SV de compteur via :DM
Masquage de toutes les interruptions via un mot
Masquage de toutes les interruptions via :DM
Suppression de toutes les interruptions via
Suppression de toutes les interruptions via
:DM
8-1
Temps d’exécution à l’état
OFF (!s)
5,6
5,6
,
5,6
,
5,6
,
5,6
5,6
,
5,6
,
475
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
91
92
93
SBS
SBN
RET
97
99
8-2
Temps
d’exécution à
l’état ON (!s)
36,6
1,7
15,0
Conditions (En haut : min. ; en bas : max.)
Aucune
5,5
1,7
2,5
IORF
40,0
142,6
135,4
Rafraîchissement d’IR 000
Rafraîchissement d’un mot d’entrée
Rafraîchissement d’un mot de sortie
6,0
,
MCRO
74,0
116,4
Avec opérandes d’E/S définis en mots
Avec opérandes d’E/S définis en :DM
5,6
,
8-2
Temps d’exécution à l’état
OFF (!s)
Temps de cycle des CPM2A/CPM2C et temps de réponse
d’E/S
8-2-1 Temps de cycle des CPM2A/CPM2C
Le processus compris dans un cycle d’un CPM2A/CPM2C sont indiqués dans le
tableau suivant qui définit également leurs temps de traitement respectifs.
Processus
Contenu
Temps nécessaire
Surveillance
Définition de l’horloge du chien de garde des cycles, 0,3 ms
vérification du bus d’E/S, vérification de l’UM,
rafraîchissement des horloges, rafraîchissement
des bits affectés aux nouvelles fonctions, etc...
Exécution
Exécution du programme utilisateur
Calcul du
temps de cycle
Retard automatique jusqu’au temps de cycle miniNégligeable sauf lorsque le temps lui-même est
mum, lorsque ce dernier est défini dans le DM 6619 requis.
du Setup de l’API.
Temps total d’exécution des instructions (varie
selon le contenu du programme utilisateur).
Calcul du temps de cycle.
Rafraîchissement des E/S
Ecriture des informations de sortie (résultats d’exécution du programmation) dans les bits de sortie.
Lecture des informations en entrée dans les bits
d’entrée.
UC 30 points :
UC 40 points :
UC 60 points :
Unité d’E/S d’extension :
0,3 ms
0,3 ms
0,3 ms
0,3 ms
Prise en charge Traitement des communications dans le cas où un
0,55 ms min., 5% ou moins du temps de cycle
du port
périphérique de programmation ou un convertisseur jusqu’à 131 ms
RS-232C
de communications est connecté au port RS-232C. (Le pourcentage de cycle affecté à la prise en
charge du port périphérique RS-232C peut être
modifié en DM 6616).
Prise en charge Les périphériques reliés au port périphérique sont
du port des
pris en charge.
ports périphériques
Effets du temps de cycle
476
0,55 ms min., 5% ou moins du temps de cycle
jusqu’à 131 ms
(Le pourcentage de cycle affecté à la prise en
charge du port périphérique RS-232C peut être
modifié en DM 6617).
Les effets du temps de cycle sur les opérations des CPM2A/CPM2C sont indiqués ci-dessous. Dans le cas d’un long temps de cycle affectant les opérations,
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
8-2
réduire le temps de cycle ou améliorer le temps de réponse à l’aide de programmes d’interruption.
Temps de cycle
1 ms ou plus
10 ms ou plus
20 ms ou plus
Conséquences
TMHH(----) peut être imprécise dans le cas de l’utilisation de TC 000 à TC 003 ou TC 008 à TC 255
(fonctionnement normal de TC 004 à TC 007).
dans le cas de l’utilisation de TC 004 à TC 255
(fonctionnement normal de TC 000 à TC 003).
Le programme utilisant le bit d’horloge de 0,02 seconde (SR 25401) peut être imprécis.
100 ms ou plus
TIM peut être imprécis. Le programme utilisant le bit d’horloge de 0,01 seconde (SR 25500) peut
être imprécis. Une erreur CYCLE TIME OVER (temps de cycle terminé) est générée (SR 25309
passe à l’état ON).
120 ms ou plus
La SV du temps de surveillance de FALS 9F est dépassée. Une erreur système (FALS 9F) est
générée et l’opération s’arrêt.
Le programme utilisant le bit d’horloge de 0,02 seconde (SR 25501) peut être imprécis.
200 ms ou plus
Exemple de temps de cycle
Processus
Dans cet exemple, le temps de cycle est calculé pour une unité centrale
CPM2A/CPM2C à 30 points d’E/S (18 points d’entrée et 12 points de sortie). Les
E/S sont paramétrées de la façon suivante :
18 entrées : 2 mots (00000 à 00011, 00100 à 00105)
12 sorties : 2 mots (01000 à 01007, 01100 à 01103)
Les autres conditions de fonctionnement sont supposées être :
Programme utilisateur : 500 instructions (constituées seulement de LD et
OUT)
Temps de cycle :
Variable (pas de minimum défini)
Le temps de traitement moyen d’une instruction du programme utilisateur est
estimé à 1,26 !s. Les temps de cycle sont indiqués dans le tableau suivant :
Temps avec périphérique
de programmation
0,3 ms
Temps sans périphérique
de programmation
0,3 ms
2. Exécution du programme 1,26 " 500 (!s)
0,6 ms
0,6 ms
3. Calcul du temps de cycle Négligeable
0 ms
0 ms
4. Rafraîchissement des
E/S
5. Prise en charge des
ports périphériques
Temps de cycle
Fixe
0,3 ms
0,3 ms
Temps minimum
0,55 ms
0 ms
(1) + (2) + (3) + (4) + (5)
1,75 ms
1,2 ms
1. Surveillance
Méthode de calcul
Fixe
Rem.
1. Le temps de cycle peut être lu à partir de l’API via un périphérique de programmation.
2. Le temps de cycle maximum et le temps de cycle actuel sont enregistrés
dans AR 14 et AR 15.
3. Le temps de cycle peut varier selon les conditions de fonctionnement et ne
correspondra pas nécessairement avec précision à la valeur calculée.
8-2-2 Temps de réponse d’E/S
Le temps de réponse d’E/S est le temps nécessaire à l’API, après la réception
d’un signal en entrée (après passage à l’état ON du bit d’entrée), pour vérifier et
traiter les informations et générer un signal de commande (générer le résultat du
traitement dans un bit de sortie). Ce temps de réponse varie selon les contraintes temporelles et les conditions de traitement.
Les temps de réponse d’E/S minimum et maximum sont indiqués ici, en utilisant
comme exemple le programme ci-dessous.
Sortie
Entrée
477
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
8-2
Les conditions ci-dessous sont utilisées dans cet exemple pour calculer les
temps de réponse d’E/S.
Retard au travail entrée :
10 ms (constante de temps
d’entrée : valeur par défaut)
1 ms (comprend le rafraîchissement des E/S)
14 ms
15 ms
Non utilisé.
Temps de surveillance :
Temps d’exécution des instructions :
Retard au travail sortie :
Ports périphérique :
Temps minimum de
réponse d’E/S
Le CPM2A/CPM2C a le temps de réponse le plus court lorsqu’il reçoit un signal
d’entrée juste avant de rafraîchir les E/S, comme illustré ci-dessous :
Point
d’entrée Retard ON entrée (10 ms)
Bit
d’entrée
Rafraîchissement
des E/S
Exécution du programme et des autres
processus (15 ms)
Rafraîchissement
des E/S
Retard ON sortie (10 ms)
Point de
sortie
Temps de réponse d’E/S mini = 10+15+15 = 40 ms
Temps maximum de
réponse d’E/S
Le CPM2A/CPM2C a le temps de réponse le plus long lorsqu’il reçoit le signal
d’entrée juste après la phase de rafraîchissement des entrées à l’intérieur du
cycle, comme le montre l’illustration ci-dessous. Ceci entraîne un temps de
réponse d’un cycle environ.
Point
d’entrée Retard ON entrée (10 ms)
Bit
d’entrée
Exécution du proRafraîchissement
gramme et des autres
des E/S
processus (15 ms)
Rafraîchissement
des E/S
Exécution du programme et des autres
processus (15 ms)
Rafraîchissement
des E/S
Retard ON sortie (15 ms)
Point de
sortie
Temps de réponse d’E/S maxi = 10+15 " 2+15 = 55 ms
8-2-3 Temps de réponse de liaison d’API en mode “Inter API”
Lorsque deux CPM2A/CPM2C sont reliés en mode Inter API le temps de
réponse d’E/S est le temps nécessaire à la transmission d’une entrée exécutée
sur l’un des CPM2A/CPM2C à l’autre CPM2A/CPM2C dans le cadre de ommunications d’API en mode Inter API.
478
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
8-2
Les temps de réponse d’E/S minimum et maximum sont indiqués ici, en utilisant
comme exemple les instructions suivantes, exécutées aux niveaux maître et
esclave. Les communications s’effectuent ici en mode “maître-esclave”.
Maître
Esclave
Sortie (LR)
Entrée
(LR)
Entrée
Sortie
Les conditions suivantes sont utilisées comme exemples pour le calcul des
temps de réponse. Sur les API CPM2A/CPM2C, les zones LR comprises entre
LR 00 et LR 15 sont utilisées dans le cadre de liaisons de données Inter API et le
temps de transmission est fixé à 21 ms.
Retard au travail entrée :
Temps de cycle du côté maître :
Temps de cycle du côté esclave :
Retard au travail sortie :
Temps minimum de
réponse d’E/S
10 ms (constante de temps
d’entrée : valeur par défaut)
10 ms
15 ms
15 ms
Le CPM2A/CPM2C a le temps de réponse le plus court dans les circonstances
suivantes :
1, 2, 3...
1. Il reçoit un signal d’entrée juste avant la phase de rafraîchissement des
entrées à l’intérieur du cycle.
2. La prise en charge des communications du Maître survient au moment précis où commence la transmission Maître-Esclave.
3. La prise en charge des communications de l’Esclave survient juste après la
fin de la transmission.
Point
d’entrée Retard ON entrée (10 ms)
Maître
Rafraîchissement des E/S
Surveillance, communications, ...
Bit
d’entrée
Traitement
par UC
Exécution du
programme
Temps de cycle du côte maître
(10 ms)
Maître à
Esclave
Temps de transmission (21 ms)
Traitement
par UC
Exécution du
programme
Retard ON sortie (15 ms)
Esclave
Point de
sortie
Temps de cycle du côte
esclave (15 ms)
Temps de réponse d’E/S mini = 10+10+12+15+15 = 62 ms
Temps maximum de
réponse d’E/S
Le CPM2A/CPM2C a le temps de réponse le plus long dans les circonstances
suivantes :
479
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
1, 2, 3...
8-2
1. Il reçoit un signal d’entrée juste après la phase de rafraîchissement des
entrées à l’intérieur du cycle.
2. La prise en charge des communications du Maître s’effectue juste après la
transmission Maître-Esclave.
3. La transmission prend fin juste après la prise en charge des communications de l’Esclave.
Temps de réponse d’entrée à l’état ON + Temps de cycle du Maître " 2 + Temps
de transmission " 3 + Temps de cycle de l’esclave " 2 + Temps de réponse de
sortie à l’état ON.
Temps maximum de
réponse d’E/S
Point
d’entrée
Rafraîchissement des E/S
Retard ON entrée
Prise en charge du port
périphérique
Maître
Bit
d’entrée
Traitement
par UC
Exécution
du prog.
Exécution
du prog.
Exécution
du prog.
(Transmission de données par rapport
au point d’entrée)
Maître #1
Temps de
Maître à Esclave transmission
Traitement
par UC
Exécution
du prog.
Temps de
Esclave à Maître transmis- Maître à Esclave
sion
Exécution
du prog.
Esclave
#1
Esclave
Exécution
du prog.
Temps de transmission
Exécution
du prog.
Esclave
#2
Point de
sortie
Exécution
du prog.
Esclave
#3
Retard OFF
sortie
Temps de réponse d’E/S maximum = 10 + 10 " 2 + 12 " 3 + 15 " 2 + 15 = 111 (ms)
8-2-4 Temps de traitement des interruptions
Ce chapitre définit les temps de traitement compris entre l’exécution d’une interruption et l’appel du programme de traitement d’interruptions, et entre l’exécution du programme de traitement d’interruptions et le retour à l’emplacement initial. Cette définition s’applique aux interruptions des entrées, des temporisations cycliques et du compteur à grande vitesse.
1, 2, 3...
Elément
Temps de traitement des
interruptions à l’état ON
Attente de la fin du traitement du masque d’interruption
1. Source d’interruption
2. Temps de traitement des interruptions à l’état ON
3. Attente de la fin du traitement du masque d’interruption
4. Modification du traitement des interruptions
5. Acheminement des interruptions (CPM1A/CPM2A/CPM2C seulement)
6. Retour à l’emplacement initial
Le tableau ci-dessous définit le temps compris entre la génération du signal d’interruption et l’appel du programme de traitement d’interruptions, et entre l’exécution du programme de traitement d’interruptions et le retour à l’emplacement
initial du programme.
Contenu
Modification du traitement Temps nécessaire à la modification du traitement des interruptions.
des interruptions
Retour
Temps de retour au traitement interrompu, après l’exécution de RET(93).
480
Durée
Temps séparant le moment où le bit d’entrée d’interruption passe à l’état ON et 100 !s
le moment où l’interruption est exécutée. Il varie d’une interruption à l’autre.
Lorsqu’un processus supprimant (masquant) l’interruption est exécuté, cette
Voir ci-desvaleur représente le temps nécessaire à l’exécution de ce processus.
sous.
30 !s
30 !s
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Chapitre
8-2
Traitement du masque
Les interruptions sont masquées durant le traitement des opérations décrites
ci-dessous. Jusqu’à la fin du traitement, toutes les interruptions resteront masquées pendant les intervalles de temps spécifiés.
Génération et correction des erreurs non fatales :
Les interruptions sont masquées pendant 100 !s au maximum lorsqu’une
erreur non fatale est générée et que l’erreur associée est enregistrée dans
l’API ou lorsqu’une erreur est corrigée.
Edition en ligne :
L’opération cesse et les interruptions sont masquées pendant 600 !s au
maximum (pour une édition entre DM 6144 et DM 6655) lorsque l’édition en
ligne est exécutée ou lors d’un changement de paramètre par STUP(----) au
cours d’une opération. Le programme ou le Setup de l’API peuvent être
écrasés durant ce temps d’attente.
Outre ce temps d’attente, les interruptions peuvent être masquées pendant
170 !s au maximum pour le traitement système.
Exemple de calcul
Cet exemple indique le temps de réponse de traitement d’interruption (entre le
moment où l’entrée d’interruption passe à l’état ON et le lancement du programme de traitement d’interruptions) lorsque des interruptions des entrées
sont utilisées dans les conditions indiquées ci-dessous :
Temps de réponse minimum
Temps de traitement des interruptions
à l’état ON :
100 !s
Temps de mise en veille du masque :
0 !s
+
Traitement des modifications
30 !s
d’interruptions :
Temps de réponse minimum :
130 !s
Temps de réponse maximum
(Sauf pour une édition en ligne entre DM 6144 et DM 6655)
Temps de traitement des interruptions
à l’état ON :
100 !s
Temps de mise en veille du masque :
170 !s
+
Traitement des modifications
30 !s
d’interruptions :
Temps de réponse maximum :
300 !s
Outre les temps de réponse indiqués ci-dessus, le temps nécessaire à l’exécution du programme de traitement des interruptions et un temps de retour de
30 !s doivent également être pris en compte pour le retour au processus interrompu.
481
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
8-2
8-2-5 Temps d’exécution des instructions sur les CPM2A/CPM2C
Le tableau suivant liste les temps d’exécution des instructions CPM2A/CPM2C.
Instructions de base
Code
Mnémonique
Temps
d
e écut o à
d’exécution
l’état
é
ON (!s)
---------------------------
LD
LD NOT
AND
AND NOT
OR
OR NOT
AND LD
OR LD
OUT
OUT NOT
SET
RSET
TIM
0,64
---
CNT
4,50
,
Conditions (En haut : min. ; en bas : max.)
Temps d’exécution à l’état
OFF (!s)
Aucune
RSET
---
Constante pour la SV
:DM pour la SV
Constante pour la SV
:DM pour la SV
7,8
15,6
6,8
14,5
IL
JMP
0,52
0,26
1,88
2.,58
,
4,76
,
7,6
15,4
2,9
2,9
2,9
2,9
3,1
3,1
Special Instructions
Code
Mnémonique
Temps d’exécution à l’état
ON (!s)
00
01
02
03
04
05
06
07
08
09
10
NOP
END
IL
ILC
JMP
JME
FAL
FALS
STEP
SNXT
SFT
0,15
6,2
1,1
1,6
0,95
2,1
20,5
2,9
7,3
5,1
Aucune
10,4
15,3
39,6
3,2
Avec registre à décalage d’un mot
Avec registre à décalage de 10 mots
Avec registre à décalage de 53 mots
Aucune
Constante pour la SV
:DM pour la SV
Aucune
Aucune
11
KEEP
12
CNTR
13
DIFU
10,9
18,8
5,5
14
DIFD
5,3
482
Conditions (En haut : min.; en bas : max.)
Temps d’exécution à l’état
OFF (!s)
2,1
1,6
1,8
2,1
2,5
2,5
6,0
3,6
Reset
9,2
11,9
26,2
Reset
3,1
Reset
7,9
,
Décalage
5,1
Décalage
5,4
IL
0,98
1,0
1,0
IL
1,2
IL
5,5
,
JMP
0,98
1,0
1,0
JMP
1,3
JMP
5,6
,
IL
JMP
4,8
IL
0,96
JMP
4,7
0,97
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
15
TIMH
Temps d’exécution à l’état
ON (!s)
Conditions (En haut : min.; en bas : max.)
9,0
9,6
9,8
10,7
Exécution normale, constante pour la SV
Exécution d’interruption, constante pour la SV
Exécution normale, :DM pour la SV
Exécution d’interruption, :DM pour la SV
Temps d’exécution à l’état
OFF (!s)
Reset
13,0
14,4
20,8
22,2
16
WSFT
14,0
18,6
1,15 ms
Avec registre à décalage d’un mot
Avec registre à décalage de 10 mots
Avec registre à décalage de 2 048 mots via
:DM
2,6
,
17
ASFT
13,0
22,9
1,51 ms
Décalage d’un mot
Décalage de 10 mots
Décalage de 2 048 mots via :DM
2,6
,
20
CMP
7,0
8,3
12,1
Comparaison d’une constante à une constante
Comparaison de 2 mots
Comparaison de 2 :DM
2,6
,
21
MOV
7,8
8,4
22,8
Transfert d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
2,6
,
22
MVN
7,9
8,4
22,8
Transfert d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
2,6
,
23
BIN
15,8
30,3
Conversion d’un mot à un mot
Conversion d’un :DM à un :DM
2,6
,
24
BCD
14,6
29,0
Conversion d’un mot à un mot
Conversion d’un :DM à un :DM
2,6
,
25
ASL
8,6
15,8
Décalage d’un mot
Décalage d’un :DM
2,5
,
26
ASR
8,4
15,6
Décalage d’un mot
Décalage d’un :DM
2,5
,
27
ROL
7,3
14,5
Rotation d’un mot
Rotation d’un :DM
2,5
,
28
ROR
7,3
14,5
Rotation d’un mot
Rotation d’un :DM
2,5
,
29
COM
8,9
16,1
Inversion d’un mot
Inversion d’un :DM
2,5
,
30
ADD
14,7
16,0
37,6
Constante + constante # mot
Mot + mot # mot
:DM + :DM # :DM
2,6
,
31
SUB
14,6
15,8
37,5
Constante -- constante # mot
Mot -- mot # mot
:DM -- :DM # :DM
2,6
,
32
MUL
26,8
Constante ¢ constante # mot
2,6
28,3
Mot ¢ mot # mot
51,0
:DM ¢ :DM # :DM
25,9
27,5
50,1
Constante $ constante # mot
mot $ mot # mot
:DM $ :DM # :DM
33
DIV
8-2
IL
12,6
14,0
20,5
22,0
JMP
6,1
7,5
6,1
7,5
2,6
,
483
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
Temps d’exConditions (En haut : min.; en bas : max.)
écution à l’état
ON (!s)
12,3
Constante  constante # mot
13,8
Mot  mot # mot
:DM  :DM # :DM
35,4
34
ANDW
35
ORW
12,3
13,8
35,4
Constante V constante # mot
Mot V mot # mot
:DM V :DM # :DM
2,6
,
36
XORW
12,3
13,8
35,4
Constante V constante # mot
Mot V mot # mot
:DM V :DM # :DM
2,6
,
37
XNRW
12,3
13,8
35,5
Constante V constante # mot
Mot V mot # mot
:DM V :DM # :DM
2,6
,
38
INC
8,8
15,9
Incrémentation d’un mot
Incrémentation d’un :DM
2,5
,
39
DEC
8,9
16,1
Décrémentation d’un mot
Décrémentation d’un :DM
2,5
,
40
41
STC
CLC
3,0
3,0
Aucune
2,5
2,5
46
MSG
9,9
17,8
Avec un message dans les mots
Avec un message dans un :DM
2,5
,
47
RXD
71,9
314,5
Définition d’un mot, entrée 1 octet
Définition d’un :DM, entrée 256 octets
2,6
,
48
TXD
32,4
264,5
2,6
,
27,7
42,2
Définition
Définition
RS-232C
Définition
Définition
d’un mot, entrée 1 octet, RS-232C
d’un :DM, entrée 256 octets,
Temps d’exécution à l’état
OFF (!s)
2,6
,
d’un mot, entrée 1 octet, ligne hôte
d’un :DM, entrée 1 octet, ligne hôte
50
ADB
14,1
15,6
37,4
Constante + constante # mot
Mot + mot # mot
:DM + :DM # :DM
2,6
,
51
SBB
14,4
15,9
37,7
Constante -- constante # mot
Mot -- mot # mot
:DM -- :DM # :DM
2,6
,
52
MLB
16,8
Constante ¢ constante # mot
2,6
18,5
Mot ¢ mot # mot
41,2
:DM ¢ :DM # :DM
53
DVB
16,9
18,6
41,3
Constante $ constante # mot
Mot $ mot # mot
:DM $ :DM # :DM
2,6
,
54
ADDL
25,3
48,6
Mot + mot # mot
:DM + :DM # :DM
2,6
,
55
SUBL
25,3
48,6
Mot -- mot # mot
:DM -- :DM # :DM
2,6
,
56
MULL
79,1
Mot ¢ mot # mot
2,6
102,1
:DM ¢ :DM # :DM
73,9
98,6
Mot $ mot # mot
:DM $ :DM # :DM
57
484
DIVL
8-2
2,6
,
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
58
BINL
59
BCDL
60
CMPL
61
INI
Temps d’exécution à l’état
ON (!s)
23,9
38,5
19,1
33,7
14,8
30,6
68,8
12,0
43,3
51,8
42,8
50,8
60,1
42,7
50,7
17,8
20,0
27,6
Conditions (En haut : min.; en bas : max.)
Conversion d’un mot de données à un mot
Conversion d’un :DM à :DM
Conversion d’un mot de données à un mot
Conversion d’un :DM à un :DM
Comparaison de mots
Comparaison d’un :DM
Départ de la comparaison du compteur grande
vitesse
Arrêt de la comparaison du compteur grande
vitesse
Définiton d’une constante pour modifier la PV
du compteur à grande vitesse
Définiton de :DM pour modifier la PV du compteur à grande vitesse
Définition du mode progressif via une constante
Définition du mode progressif via un :DM
Arrêt de la sortie d’implulsions
Définiton d’une constante pour modifier la PV
de la sortie d’impulsions
Définiton d’un :DM pour modifier la PV de la
sortie d’impulsions
Arrêt de la commande synchronisée du compteur grande vitesse
Définition d’une constante pour modifier la PV
du compteur d’interruptions
Définition d’un :DM pour modifier la PV du
compteur d’interruptions
8-2
Temps d’exécution à l’état
OFF (!s)
2,6
,
2,6
,
2,6
,
2,6
485
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
62
PRV
63
CTBL
486
Chapitre
8-2
Temps d’exConditions (En haut : min.; en bas : max.)
Temps d’exécution à l’état
écution à l’état
OFF (!s)
ON (!s)
2,6
36,9
Lecture de la PV du compteur grande vitesse
via un mot
44,7
Lecture de la PV du compteur grande vitesse
via un :DM
36,6
Définition du mode progressif
44,3
Définition du mode progressif via un :D
38,5
Définition d’un mot pour utiliser la commande
synchronisée
46,2
Définition de :DM pour utiliser la commande
synchronisée
20,2
Lecture de l’état de sortie d’impulsions du
compteur grande vitesse via un mot
27,4
Lecture de l’état de sortie d’impulsions du
compteur grande vitesse via :DM
24,4
Lecture des résultats de comparaison de
plages du compteur grande vitesse via un mot
32,4
Lecture des résultats de comparaison de
plages du compteur grande vitesse via :DM
39,9
Lecture de la PV de sortie d’impulsions via un
mot
47,8
Lecture de la PV de sortie d’impulsions via
:DM
20,1
Lecture de la PV du compteur d’impulsions via
un mot
27,1
Lecture de la PV du compteur d’impulsions via
:DM
186,0
Enregistrement d’un tableau de comparaison de 2,6
valeurs cibles et départ de la comparaison en
mode d’entrée d’impulsions ascendantes/descendante via un mot
807,5
Enregistrement d’un tableau de comparaison de
valeurs cibles et départ de la comparaison en
mode d’entrée d’impulsions ascendantes/descendante via un :DM
185,8
Enregistrement d’un tableau de comparaison de
valeurs cibles et départ de la comparaison en
mode progressif via un mot
781,9
Enregistrement d’un tableau de comparaison de
valeurs cibles et départ de la comparaison en
mode progressif via un :DM
410,0
Enregistrement d’un tableau de comparaison de
plages et départ de la comparaison en mode
progressif/dégressif via un mot
418,9
Enregistrement d’un tableau de comparaison de
plages et départ de la comparaison en mode
progressif/dégressif via un :DM
380,6
Enregistrement d’un tableau de comparaison de
plages et départ de la comparaison en mode
progressif via un mot
399,7
Enregistrement d’un tableau de comparaison de
plages et départ de la comparaison en mode
progressif via un :DM
183,4
Enregistrement d’un tableau de comparaison de
valeurs cibles seulement en mode d’entrée
d’impulsions ascendante/descendante via un
mot
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
Temps d’exConditions (En haut : min.; en bas : max.)
écution à l’état
ON (!s)
810,3
Enregistrement d’un tableau de comparaison de
valeurs cibles seulement en mode d’entrée
d’impulsions ascendante/descendante via un
:DM
182,4
Enregistrement d’un tableau de comparaison de
valeurs cibles seulement en mode d’entrée
d’impulsions en mode progressif via un mot
776,3
Enregistrement d’un tableau de comparaison de
valeurs cibles seulement en mode d’entrée
d’impulsions en mode progressif via un :DM
351,0
Enregistrement d’un tableau de comparaison de
plages seulement en mode d’entrée d’impulsions ascendante/descendante via un mot
359,1
Enregistrement d’un tableau de comparaison de
plages seulement en mode d’entrée d’impulsions ascendante/descendante via un :DM
331,2
Enregistrement d’un tableau de comparaison de
plages seulement en mode d’entrée d’impulsions en mode progressif via un
335,9
Enregistrement d’un tableau de comparaison de
plages seulement en mode d’entrée d’impulsions en mode progressif via un :DM
64
SPED
44,6
53,8
42,9
52,0
34,1
39,8
65
PULS
38,4
46,6
40,0
48,1
66
SCL
37,9
39,2
59,9
Temps d’exécution à l’état
OFF (!s)
2,6
Définition d’une constante en mode indépendant
Définition d’un :DM en mode indépendant
Définition d’une constante en mode de sortie
d’impulsions continue
Définition d’un :DM en mode de sortie d’impulsions continue
Définition d’un mot pour modifier la fréquence
de sortie
Définition d’un pour modifier la fréquence de
sortie
Définition d’une impulsion relative pour la sortie 2,6
d’impulsions définie par un mot
Définition d’une impulsion relative pour la sortie
d’impulsions définie par un :DM
Définition d’une impulsion absolue pour la sortie
d’impulsions définie par un mot
Définition d’une impulsion absolue pour la sortie
d’impulsions définie par un :DM
Définition d’un paramètre par un mot ;
constante vers mot
Définition d’un paramètre par un mot ;
constante vers mot
Définition d’un paramètre par :DM ;:DM vers
:DM
2,6
67
BCNT
24,9
4,32 ms
Comptage d’un mot
Comptage de 2 048 mots via :DM
2,6
,
68
BCMP
35,3
Comparaison de constante, résultats vers un
mot
Comparaison de mot, résultats dans un mot
Comparaison d’un :DM, résultats dans un
:DM
2,6
38,3
58,1
8-2
487
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
69
STIM
70
XFER
71
BSET
73
XCHG
74
SLD
75
SRD
76
MLPX
77
DMPX
78
SDEC
80
DIST
488
Temps d’exConditions (En haut : min.; en bas : max.)
écution à l’état
ON (!s)
25,7
Départ d’interruption en monocoup défini par
une constante
47,8
Départ d’interruption en monocoup défini par un
:DM
25,9
Départ d’interruption programmée défini par une
constante
47,8
Départ d’interruption programmée défini par
une:DM
34,0
Lecture de temporisation définie par une
constante
46,4
Lecture de temporisation définie par un :DM
10,6
Arrêt temporisation
21,3
Transfert d’une constante à un mot
23,8
Transfert d’un mot à un mot
1,52 ms
Transfert de 2 048 mots via :DM
13,8
Définition d’une constante pour une constante à
un mot
14,3
Définition d’une constante pour un mot à un mot
971,1
Définition d’une constante pour :DM à 2 048
mots
14,5
Mot # mot
:DM # :DM
29,3
12,3
Décalage d’un mot
23,9
Décalage de 10 mots
2,83 ms
Décalage de 2 048 mots via :DM
12,3
Décalage d’un mot
23,9
Décalage de 10 mots
2,83 ms
Décalage de 2 048 mots via :DM
16,8
Décodage d’un mot à un mot
46,1
Décodage d’un :DM à un :DM
19,7
Décodage d’un mot à un mot
52,1
Décodage d’un :DM à un :DM
19,8
Décodage d’un mot à un mot
48,3
Décodage d’un :DM à un :DM
18,7
Définition d’une constante pour une constante à
un mot + un mot
20,2
Définition d’une constante pour un mot à un mot
+ un mot
43,1
Définition d’une constante pour :DM à un
:DM +:DM
31,0
Définition d’une constante pour une constante à
une batterie
32,7
Définition d’une constante pour un mot à une
batterie
55,9
Définition d’une constante pour :DM pour une
batterie via :DM
8-2
Temps d’exécution à l’état
OFF (!s)
2,6
2,6
,
2,6
2,6
,
2,6
,
2,6
,
2,6
,
2,6
,
2,6
,
2,6
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
81
COLL
82
MOVB
17,3
18,0
41,7
Comparaison d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
2,6
,
83
MOVD
13,8
16,2
38,1
Comparaison d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à un :DM
2,6
,
84
SFTR
22,8
24,3
1,15 ms
Décalage d’un mot
Décalage de 10 mots
Décalage de 2 048 mots via :DM
2,6
,
85
TCMP
27,5
Comparaison d’une constante à un tableau
défini en mots
Comparaison d’un mot à un tableau défini en
mots
Comparaison d’un :DM à un tableau défini en
:DM
2,6
8-2
Temps d’exConditions (En haut : min.; en bas : max.)
Temps d’exécution à l’état
écution à l’état
OFF (!s)
ON (!s)
2,6
,
21,5
Définition d’une constante + un mot à un mot
21,9
Définition d’un mot + un mot à un mot
42,5
Définition d’une constante pour :DM + :DM à
un :DM
31,5
Définition d’une constante pour un mot +
constante à une batterie FIFO
32,0
Définition d’une constante pour un mot + mot à
une batterie FIFO
784,7
Définition d’une constante pour un :DM +
:DM à une batterie FIFO via :DM
33,6
Définition d’une constante pour un mot +
constante à une batterie LIFO
34,0
Définition d’une constante pour un mot + mot à
une batterie LIFO
57,1
Définition d’une constante pour un :DM +
:DM à une batterie LIFO via :DM
28,0
48,3
86
ASC
19,1
52,2
Mot # mot
:DM # :DM
2,6
,
89
INT
22,1
30,1
18,4
26,4
17,2
24,1
23,1
31,1
10,7
10,7
11,0
11,0
Définition de masques via un mot
Définition de masques via :DM
Suppression d’interruptions via un mot
Suppression d’interruptions via :DM
Lecture d’état de masque via un mot
Lecture d’état de masque via :DM
Modification de SV de compteur via un mot
Modification de SV de compteur via :DM
Masquage de toutes les interruptions via mot
Masquage de toutes les interruptions via :DM
Suppression de toutes les interruptions via mot
Suppression de toutes les interruptions via
:DM
2,6
,
91
92
93
SBS
SBN
RET
10,8
--6,2
Aucune
2,6
0,76
1,0
489
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
97
IORF
99
MCRO
Temps d’exécution à l’état
ON (!s)
16,8
130,7
110,7
26,1
42,3
Conditions (En haut : min.; en bas : max.)
Rafraîchissement d’IR 000
Rafraîchissement d’un mot d’entrée
Rafraîchissement d’un mot de sortie
Avec opérandes d’E/S définis par des mots
Avec opérandes d’E/S définis par :DM
8-2
Temps d’exécution à l’état
OFF (!s)
2,8
,
2,6
,
Instructions d’expension sans codes de fonctions par défaut
Code
Mnémonique
Temps
d’exécution à
l’état OFF (!s)
---
ACC
66,5
92,1
66,2
92,2
65,5
75,0
45,4
53,8
65,5
75,0
45,5
53,6
65,0
74,5
45,4
53,5
65,4
74,8
45,5
53,6
---
AVG
23,2
23,9
84,2
490
Conditions (En haut : min. ; en bas : max.)
Définition d’un mot en mode indépendant et en
mode CW/CCW
Définition d’un :DM en mode indépendant et
en mode CW/CCW
Définition d’un mot en mode indépendant et
Feed/Dir
Définition d’un :DM en mode indépendant et
Feed/Dir
Exécution de la désignation de mot en mode
CW continu et CW/CCW
Exécution de la désignation d’un :DM en
mode CW continu et CW/CCW
Modification de la désignation de mot en mode
CW continu et CW/CCW
Modification de la désignation d’un :DM en
mode CW continu et CW/CCW
Exécution de la désignation de mot en mode
CCW continu et CW/CCW
Exécution de la désignation d’un :DM en
mode CCW continu et CW/CCW
Modification de la désignation de mot en mode
CCW continu et CW/CCW
Modification de la désignation d’un :DM en
mode CCW continu et CW/CCW
Exécution de la désignation de mot en mode
CW continu et Feed/Dir
Exécution de la désignation d’un :DM en
mode CW continu et Feed/Dir
Modification de la désignation de mot en mode
CW continu et Feed/Dir
Modification de la désignation d’un :DM en
mode CW continu et Feed/Dir
Exécution de la désignation d’un mot en mode
CCW continu et Feed/Dir
Exécution de la désignation d’un :DM en
mode CCW continu et Feed/Dir
Modification de la désignation de mot en mode
CCW continu et Feed/Dir
Modification de la désignation d’un :DM en
mode CCW continu et Feed/Dir
Moyenne d’un cycle (définition par une
constante)
Moyenne d’un cycle (définition par un mot)
Moyenne de 64 cycles (définition par un :DM)
Temps d’exécution à l’état
OFF (!s)
2,6
3,2
Chapitre
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
---
FCS
---
HEX
Temps
Conditions (En haut : min. ; en bas : max.)
d’exécution à
l’état OFF (!s)
27,6
Ajout d’un mot et transmission à un mot
592,3
Ajout de 999 mots et transmission à un :DM
25,8
Mot # Mot
72,2
:DM # :DM
30,7
45,0
21,9
713,9
Conversion d’un mot à mot
Conversion d’un :DM à un :DM
Recherche d’un mot et transmission à un mot
Recherche de 999 mots et transmission à un
:DM
Recherche d’un mot et transmission à un mot
Recherche de 999 mots et transmission à un
:DM
Conversion d’une constante en un mot
Conversion d’un mot à un mot
Conversion d’un :DM à un :DM
Initialisation d’un mot vers un mot
Initialisation de :DM vers :DM
Echantillonnage d’un mot vers mot
Echantillonnage de :DM vers :DM
Constante de rapport de largeur d’impulsion
Mot de rapport de largeur d’impulsion
:DM de rapport de largeur d’impulsion
Définition des paramètres des mots, mot à mot
Définition des paramètres des :DM, :DM à
:DM
Définition des paramètres des mots, mot à mot
Définition des paramètres des :DM, :DM à
:DM
Conversion d’un mot à un mot
Conversion d’un :DM à un :DM
Recherche d’un mot et transmission à un mot
Définition d’un :DM, recherche de 2 048 mots
et transmission à un :DM
Définition d’une constante, exécution au premier balayage
Définition d’une constante, exécution au second
balayage ou ultérieurement
Définition d’un :DM, exécution au premier
balayage
Définition d’un :DM, exécution au second
balayage ou ultérieurement
Ajout d’un mot et transmission à un mot
Définition d’un :DM, ajout de 999 octets et
transmission vers :DM
---
HMS
---
MAX
---
MIN
21,9
713,9
---
NEG
---
PID
---
PWM
---
SCL2
12,0
12,8
28,3
392,5
418,8
29,3
58,7
30,3
43,4
46,0
35,1
59,3
---
SCL3
37,1
62,3
---
SEC
---
SRCH
29,8
44,0
28,9
1,40 ms
---
STUP
3,42 ms
34,1
3,44 ms
39,8
---
SUM
22,8
1,44 ms
8-2
Temps d’exécution à l’état
OFF (!s)
2,6
2,6
2,6
,
2,6
,
2,6
,
3,0
,
3,3
,
2,6
,
2,6
,
2,6
,
2,6
,
2,6
,
2,6
2,6
,
491
Temps de cycle des CPM2A/CPM2C et temps de réponse d’E/S
Code
Mnémonique
---
SYNC
---
TIML
---
TMHH
---
ZCP
---
ZCPL
8-2
Temps
Conditions (En haut : min. ; en bas : max.)
Temps d’exécution à l’état
d’exécution à
OFF (!s)
l’état OFF (!s)
2,6
34,6
Définition d’un rapport par une constante,
quand exécutée
35,3
Définition d’un rapport par un mot, quand
exécutée
42,5
Définition d’un rapport par un :DM, quand
exécutée
25,3
Définition d’un rapport par un mot, quand modifiée
32,6
Définition d’un rapport par un :DM, quand
modifiée
Reset
IL
JMP
12,8
Exécution normale, définition d’une constante
17,9
17,5
8,1
13,5
Exécution d’interruption, définition d’une
25,7
25,5
8,1
constante
Reset
IL
JMP
12,3
Exécution normale, définition d’une constante
15,6
15,1
7,4
12,7
Exécution d’interruption, définition d’une
17,2
16,9
9,1
constante
12,7
Exécution normale, définition d’un :DM
23,6
23,3
7,7
13,6
Exécution d’interruption, définition d’un :DM
25,1
24,7
9,1
2,6
9,4
Comparaison d’une constante à une plage de
constantes et transmission à un mot
11,8
Comparaison d’un mot à une plage de mots et
transmission à un mot
33,4
Comparaison d’un :DM à un :DM et transmission à un :DM
2,6
,
19,5
Comparaison d’un mot à une plage de mots
45,2
492
Chapitre
Comparaison d’un :DM à un :DM
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
8-3
Temps de cycle et temps de réponse des E/S du
SRM1(-V2)
8-3-1 Cycle du SRM1(-V2)
Le flux des opérations exécutées par le SRM1(-V2) est illustré dans l’organigramme suivant :
Initialisation
surveillance
Attente
fin
CompoBus/S
Rafraîchissement
des entrées
Exécution
du
programme
Traitement
du temps
de cycle
Temps
de
cycle
Rafraîchissement
des sorties
Prise
en
charge du
port
RS-232C
Prise en
charge de
port périphérique
Rem.
1. Le temps de cycle peut être lu à partir de l’API via un périphérique de programmation.
2. Le temps de cycle maximum et le temps de cycle actuel sont enregistrés
dans AR 14 et AR 15.
3. Le temps de cycle peut varier selon les conditions de fonctionnement et ne
correspondra pas nécessairement avec précision à la valeur calculée.
493
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
8-3-2 Temps de cycle du SRM1(-V2)
Les processus compris dans un cycle du SRM1(-V2) sont indiqués dans le tableau suivant, qui indique également les temps de traitement correspondants.
Processus
Surveillance
Attente de la fin du
CompoBus/S
Rafraîchissement des
entrées
Exécution du programme
Contenu
Temps nécessaire
Définition de l’horloge du chien de garde des cycles,
vérification du bus d’E/S, vérification de l’UM, etc...
Attente de la fin du traitement du CompoBus/S.
0,18 ms
Lecture des informations en entrée dans les bits
d’entrée.
Exécution du programme utilisateur
0,02 ms
Temps de réponse des communications du CompoBus/S - Temps de
surveillance - Temps de prise en
charge du port RS-232C - Temps de
prise en charge du port périphérique
Temps total d’exécution des instrucSe reporter au chapitre 8-3-6 Temps d’exécution des tions (varie selon le contenu du programme utilisateur).
intructions du SRM1(-V2).
Calcul du temps de cycle Attente jusqu’au temps sélectionné, lorsque le temps Presque instantané, sauf pour le
de cycle minimum est défini dans le DM 6619 du
traitement de l’attente.
Setup de l’API.
Calcul du temps de cycle.
Rafraîchissement des
sorties
Ecriture des informations en sortie (résultats du programme) dans les bits de sortie.
Prise en charge du port
RS-232C
Démarrage des communications du CompoBus/S.
Prise en charge des périphériques reliés au port
RS-232C.
Prise en charge du port
périphérique
0,05 ms
5% ou moins du temps de cycle, mais
toujours entre 0,55 et 131 ms (Défini
dans DM 6616).
Prise en charge des périphériques reliés au port péri- 5% ou moins du temps de cycle, mais
phérique.
toujours entre 0,55 et 131 ms (Défini
dans DM 6617).
Temps de cycle minimum
Sur les API SRM1(-V2), les communications du CompoBus/S démarrent dès la
fin du rafraîchissement des sorties.. Il en résulte que le temps total de surveillance, de prise en charge du port RS-232C et de prise en charge des ports périphériques est plus court que le temps de réponse des communications du CompoBus/S ; le traitement est donc mis en attente jusqu’à la fin des communications du CompoBus/S.
Le temps de cycle minimum est donc le temps de réponse des communications
du CompoBus/S plus le temps d’exécution du programme, plus le temps de
rafraîchissement des entrées, plus le temps de rafraîchissement des sorties. Le
premier dépend du “nombre maximal de stations” et des pramètres de “mode
communication”, indiqués ci-dessous :
Nb max de stations
Mode communication
32
Mode rapide
Mode longue distance
Mode rapide
Mode longue distance
16
Temps de réponse du
CompoBus/S
0,8 ms
6,0 ms
0,5 ms
4,0 ms
Rem. Le nombre maximal de stations et le mode communication sont définis dans le
Setup de l’API (DM 6603).
Effets du temps de cycle
494
Les effets du temps de cycle sur les opérations du SRM1(-V2) sont indiqués cidessous. Dans le cas d’un long temps de cycle affectant les opérations, réduire
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
le temps de cycle ou améliorer le temps de réponse à l’aide de porgrammes d’interruption.
Temps de cycle
10 ms ou plus
20 ms ou plus
Conséquences
TIMH(15) peut être imprécis dans le cas de l’utilisation de TC 004 à TC 127 (fonctionnement normal
de TC 000 à TC 003).
Le programme utilisant le bit d’horloge de 0,02 seconde (SR 25401) peut être imprécis.
100 ms ou plus
TIM peut être imprécis. Le programme utilisant le bit d’horloge de 0,01 seconde (SR 25500) peut
être imprécis. Une erreur CYCLE TIME OVER est générée (SR 25309 passe à l’état ON).
Voir Rem. 1.
120 ms ou plus
La SV du temps de surveillance de FALS 9F est dépassée. Une erreur système (FALS 9F) est
générée et l’opération s’arrête. Voir Rem. 2.
Le programme utilisant le bit d’horloge de 0,02 seconde (SR 25501) peut être imprécis.
200 ms ou plus
Rem.
Exemple de temps de cycle
Processus
1. Le Setup de l’API (DM 6655) peut être utilisé pour désactiver la détection de
l’erreur CYCLE TIME OVER.
2. Le temps de surveillance de cycle peut être modifié dans le Setup de l’API
(DM 6618).
Les lignes suivantes contiennent un exemple de calcul de temps de cycle. Les
E/S sont paramétrées de la façon suivante :
Les conditions d’utilisation sont supposées être :
Programme utilisateur : 500 instructions (constituées uniquement
de LT et OUT)
Temps de cycle :
Variable (pas de minimum défini)
Port RS-232C :
Non utilisé.
Nb max. de stations : 32 en mode communication rapide
(temps de réponse des communications du
CompoBus/S = 0,8 ms)
Périphérique :
0,7 ms
Le temps de réponse moyen d’une instruction du programme utilisateur est
estimé à 1,16 !s. Les temps de cycle sont indiqués ci-dessous :
Méthode de calcul
1. Surveillance
Fixe
0,18 ms
Port périphérique
non utilisé
0,18 ms
2. Attente fin CompoBus/S
Voir page précédente.
0,00 ms
0,62 ms
3. Rafraîchissement des
entrées
4. Exécution du programme
Calcul du temps de cycle
Fixe
0,02 ms
0,02 ms
1,16 " 500 (!s)
0,8 ms
0,8 ms
Négligeable
0,00 ms
0,00 ms
6. Rafraîchissement des
sortie
7. Prise en charge du port
RS-232C
8. Prise en charge des
ports RS-232C
Temps de cycle
0,01 " 1 + 0,005 " 1 (!s)
0,05 ms
0,05 ms
Non exigée.
0,00 ms
0,00 ms
5% du temps de cycle
0,7 ms
0,00 ms
(1) + (2) + (3) + ...+ (8)
1,75 ms
1,67 ms
Rem.
Port périphérique utilisé
1. Le temps de cycle peut être lu à partire de l’API via un périphérique de programmation.
2. Le temps de cycle maximum et le temps de cycle actuel sont enregistrés
dans AR 14 et AR 15.
3. Le temps de cycle peut varier selon les conditions de fonctionnement et ne
correspondra pas nécessairement avec précision à la valeur calculée.
4. Lorsque le port périphérique est utilisé, il n’y a pas de temps d’attente de fin
de CompoBus/S car il est toujours de 0 ou moins.
495
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
5. Temps d’attente de fin de CompoBus/S = 0,8 -- 0,18 -- 0 -- 0 = 0,62 (temps
d’attente de réponse des communications de CompoBus/S -- Surveillance -Temps de prise en charge du port RS-232C -- temps de prise en charge du
port périphérique).
8-3-3 Temps de réponse d’E/S
Le temps de réponse d’E/S est le temps nécessaire à l’API, après la réception
d’un signal en entrée (après passage à l’état ON du bit d’entrée), pour vérifier et
traiter les informations et générer un signal de commande (générer le résultat du
traitement dans un bit de sortie).
Les communicatins du CompoBus/S démarrent à la fin du rafraîchissement des
entrées du SRM1(-V2). L’état ON/OFF est lu à partir des bornes d’entrée pendant le rafraîchissement des entrées et l’état ON/OFF est transmis au terminal
de sortie pendant le rafraîchissement des sorties. En conséquence, le temps de
réponse d’E/S du SRM1(-V2) varie en fonction du temps de cycle et de l’état du
cycle de communications du CompoBus/S ou de la synchronisation des E/S.
Des exemples de calcul du temps de réponse sont donnés dans le paragraphe
qui suit
Temps minimum de réponse d’E/S
Temps de réponse d’E/S minimum =
Retard ON entrée + Retard ON sortie + Temps de cycle des communications du
CompoBus/S + Temps de cycle du SRM1(-V2)
Temps de cycle
Cycle du SRM1(-V2)
Temps de cycle
CompoBus/S
Temps de réponse
de communication
Retard
entrée
Entrée sur esclave
Retard
sortie
Sortie sur esclave
Temps maximum de réponse d’E/S
Temps de réponse d’E/S maximum =
Retard ON entrée + Retard ON sortie + Temps de cycle des communications
du CompoBus/S + Temps de cycle du SRM1(-V2) x 2
Temps de cycle
Cycle du SRM1(-V2)
Temps de réponse
de communication
Entrée sur esclave
Sortie sur esclave
496
Temps de cycle
CompoBus/S
Retard
entrée
Retard
sortie
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
8-3-4 Temps de réponse E/S Inter API
Lorsque deux SRM1 sont reliés en mode Inter API, le temps de réponse d’E/S
est le temps nécessaire à la transmission d’une entrée exécutée sur l’un des
SRM1 à l’autre SRM1 dans le cadre de communications Inter API.
Temps minimum de
réponse d’E/S
Le SRM1 a le temps de réponse le plus court dans les circonstances suivantes :
1, 2, 3...
1. Il reçoit un signal d’entrée juste avant la phase de rafraîchissement des
entrées à l’intérieur du cycle.
2. La prise en charge des communications du Maître survient au moment précis où commence la transmission Maître-Esclave.
3. La prise en charge des communications de l’Esclave survient juste après la
fin de la transmission.
Point
d’entrée Retard ON entrée (8 ms)
Maître
Rafraîchissement des E/S
Surveillance, communications, ...
Bit
d’entrée
Traitement
par UC
Exécution du
programme
Temps de cycle du côte
maître (10 ms)
Maître à
Esclave
Temps de transmission (39 ms)
Traitement
par UC
Esclave
Exécution du
programme
Temps de cycle du côte
esclave (15 ms)
Retard ON
sortie (10 ms)
Point de
sortie
Temps de réponse d’E/S mini = 8+10+39+15+10 = 82 ms
Le SRM1(-V2) a le temps de réponse le plus long dans les circonstances suivantes :
Temps maximum de
réponse d’E/S
1, 2, 3...
1. Il reçoit le signal d’entrée juste après la phase de rafraîchissement des
entrées à l’intérieur du cycle.
2. La prise en charge des communications du Maître s’effectue juste après la
transmission Maître-Esclave.
497
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
3. La transmission prend fin juste après la prise en charge des communications de l’Esclave
Rafraîchissement des E/S
Point
d’entrée Retard ON entrée (8 ms)
Surveillance, communications, ...
Bit
d’entrée
Exécution du
programme
Exécution du
programme
Temps de cycle du côte
maître (10 ms)
Maître à
Esclave
Esclave à
Maître
Maître à
Esclave
Temps de transmission (39 ms " 3)
Exécution du
programme
Exécution du
programme
Temps de cycle du côte
esclave (15 ms)
Point de
sortie
Retard ON
sortie (10 ms)
Temps de réponse d’E/S maxi = 8 + 10 " 2 + 39 " 3 + 15" 2 + 10 = 185 ms
8-3-5 Temps de traitement des interruptions
Ce chapitre définit les temps de traitement compris entre l’exécution d’une interruption et l’appel du programme de traitement d’interruptions et entre l’exécution du programme de traitement d’interruptions et le retour à l’emplacement initial. Cette définition s’applique aux interruptions des entrées et des temporisations cycliques.
1, 2, 3...
Elément
1. Source d’interruption
2. Attente de la fin du traitement du masque d’interruption
3. Modification du traitement des interruptions
4. Acheminement des interruptions (CPM1A seulement)
5. Retour à l’emplacement initial
Le tableau ci-dessous définit le temps compris entre la génération du signal d’interruption et l’appel du programme de traitement d’interruptions et entre l’exécution du programme de traitement d’interruptions et le retour à l’emplacement initial du programme.
Contenu
Durée
Attente de la fin du traitement du masque d’interruption
Temps d’attente des interruptions jusqu’à la fin du traitement. Ceci
intervient pendant le traitement du masque. Voir détails ci-après.
Voir ci-dessous.
Modification du traitement
des interruptions
Retour
Temps nécessaire à la modification du traitement des interruptions.
15 !s
Temps de retour au traitement interrompu, après l’exécution de RET(93).
15 !s
Traitement du masque
Les interruptions sont masquées durant le traitement des opérations décrites
ci-dessous. Jusqu’à la fin du traitement, toutes les interruptions resteront masquées pendant les intervalles de temps spécifiés.
Génération et correction des erreurs non fatales :
Lorsqu’une erreur non fatale est généréé et que l’erreur associée est enregistrée dans le SRM1(-V2), ou lorsqu’une erreur est corrigée, les interrup-
498
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
tions sont masquées pendant 100 !s au maximum jusqu’à la fin du traitement.
Edition en ligne :
Les interruptions sont masquées pendant 600 !s au maximum (pour une
édition entre DM 6144 et DM 6655) lorsque l’édition en ligne est exécutée au
cours d’une opération. De plus, le traitement système est mis en attente
durant un maximum de 170 !s pendant l’édition.
8-3-6 Temps d’exécution des instructions sur le SRM1(-V2)
Le tableau suivant liste les temps d’exécution des instructions SRM1(-V2).
Instructions de base
Code
Mnémonique
Temps
d exécution à
d’exécution
l’état
é
ON (!s)
Conditions (En haut : min. ; en bas : max.)
Temps d’exécution à l’état
OFF (!s)
RSET
---
---------------------------
LD
LD NOT
AND
AND NOT
OR
OR NOT
AND LD
OR LD
OUT
OUT NOT
SET
RSET
TIM
0,97
0,97
0,77
Aucune
0,78
Aucune
---
0,39
Aucune
---
---
CNT
6,6
,
Constante pour la SV
:DM pour la SV
Constante pour la SV
:DM pour la SV
9,3
17,4
8,0
16,3
IL
JMP
2,2
2,7
2,8
5,7
,
9,1
17,2
3,6
3,6
3,5
3,5
3,8
3,8
Instructions spéciales et d’expansion
Code
Mnémonique
Temps
d’exécution à
l’état OFF (!s)
00
01
02
03
04
05
06
07
08
09
10
NOP
END
IL
ILC
JMP
JME
FAL
FALS
STEP
SNXT
SFT
0,20
4,8
2,5
1,9
2,2
2,5
18,4
3,6
10,7
5,9
14,5
11
KEEP
21,0
49,1
3,0
12
CNTR
14,8
23,2
Conditions (En haut : min.; en bas : max.)
Temps d’exécution à l’état
OFF (!s)
Aucune
Avec registre à décalage d’un mot
Avec registre à décalage de 10 mots
Avec registre à décalage de 100 mots
Aucune
Constante pour la SV
:DM pour la SV
1,4
1,9
1,3
2,5
2,9
2,9
9,0
4,1
Reset
11,0
14,9
30,8
Reset
3,4
Reset
9,1
,
IL
1,4
1,4
1,4
IL
1,6
IL
6,6
,
JMP
1,4
1,4
1,4
JMP
1,7
JMP
6,5
,
499
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
Code
Mnémonique
13
DIFU
Temps
Conditions (En haut : min.; en bas : max.)
d’exécution à
l’état OFF (!s)
6,7
,
Aucune
Temps d’exécution à l’état
OFF (!s)
IL
5,2
JMP
1,3
5,8
IL
5,7
JMP
1,3
Reset
14,1
15,6
22,8
23,9
IL
13,9
15,4
22,1
23,6
JMP
7,0
8,5
7,0
8,5
Décalage
5,8
14
15
DIFD
TIMH
6,4
,
Aucune
10,3
10,9
10,3
10,9
16
WSFT
16,2
23,0
712,3
17
ASFT*
20
Exécution normale, constante pour la SV
Exécution d’interruption, constante pour la SV
Exécution normale, :DM pour la SV
Exécution d’interruption, :DM pour la SV
Décalage
2,9
,
18,6
25,9
865,7
Avec registre à décalage d’un mot
Avec registre à décalage de 10 mots
Avec registre à décalage de 1 024 mots via
:DM
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 023 mots via :DM
CMP
9,1
9,9
25,6
Comparaison d’une constante à un mot
Comparaison de deux mots
Comparaison de deux :DM
3,0
,
21
MOV
9,1
9,5
24,9
Transfert d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à :DM
3,0
,
22
MVN
9,3
9,8
25,1
Transfert d’une constante à un mot
Transfert d’un mot à l’autre
Transfert d’un :DM à :DM
3,0
,
23
BIN
17,2
32,0
Conversion d’un mot à un mot
Conversion d’un :DM à :DM
3,0
,
24
BCD
15,8
30,6
Conversion d’un mot à un mot
Conversion d’un :DM à :DM
3,0
,
25
ASL
9,9
17,3
Décalage d’un mot
Décalage d’un :DM
2,9
,
26
ASR
9,7
17,2
Décalage d’un mot
Décalage d’un :DM
3,0
,
27
ROL
8,5
16,1
Rotation d’un mot
Rotation d’un :DM
2,9
,
28
ROR
8,5
16,1
Rotation d’un mot
Rotation d’un :DM
2,9
,
29
COM
10,5
17,7
Inversion d’un un mot
Inversion d’un :DM
3,0
,
30
ADD
15,9
16,4
39,5
Constante + mot # mot
Mot + mot # mot
:DM + :DM # :DM
3,1
,
31
SUB
15,6
16,3
38,6
Constante -- mot # mot
Mot -- mot # mot
:DM -- :DM # :DM
3,0
,
32
MUL
29,7
Constante ¢ mot # mot
3,0
28,5
Mot ¢ mot # mot
51,6
:DM ¢ :DM # :DM
500
8-3
3,0
,
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
Code
Mnémonique
Temps
Conditions (En haut : min.; en bas : max.)
d’exécution à
l’état OFF (!s)
27,2
Mot $ constante # mot
28,5
mot $ mot # mot
:DM $ :DM # :DM
53,1
33
DIV
34
ANDW
14,3
15,2
37,3
Constante  mot # mot
Mot  mot # mot
:DM  :DM # :DM
2,9
,
35
ORW
14,3
15,2
37,3
Constante V mot # mot
Mot V mot # mot
:DM V :DM # :DM
2,9
,
36
XORW
14,3
15,2
37,3
Constante V mot # mot
Mot V mot # mot
:DM V :DM # :DM
2,9
,
37
XNRW
14,3
15,2
37,3
Constante V mot # mot
Mot V mot # mot
:DM V :DM # :DM
2,9
,
38
INC
9,9
17,3
Incrémentation d’un mot
Incrémentation d’un :DM
2,9
,
39
DEC
10,2
17,4
Décrémentation d’un mot
Décrémentation d’un :DM
2,9
,
40
41
STC
CLC
3,5
3,0
Aucune
2,9
2,9
46
MSG
11,3
19,4
Message dans les mots
Message dans un :DM
2,9
,
47
RXD*
39,1
116,8
Définition d’un mot, entrée 1 octet
Définition d’un :DM, entrée 256 octets
2,9
,
48
TXD*
31,3
266,5
2,9
,
Définition d’un mot, entrée 1 octet (RS-232C)
Définition d’un :DM, entrée 256 octets
(RS-232C)
Définition d’un mot, entrée 1 octet (liaison à l’ordinateur)
Définition d’un :DM, entrée 256 octets (liaison
à l’ordinateur)
26,7
34,0
8-3
Temps d’exécution à l’état
OFF (!s)
2,9
,
50
ADB
16,8
17,6
39,9
Constante + mot # mot
Mot + mot # mot
:DM + :DM # :DM
3,0
,
51
SBB
17,0
17,8
40,2
Constante -- mot # mot
Mot -- mot # mot
:DM -- :DM # :DM
3,0
,
52
MLB
19,1
Constante ¢ mot # mot
3,0
20,1
Mot ¢ mot # mot
43,5
:DM ¢ :DM # :DM
53
DVB
19,5
20,4
43,7
Mot $ constante # mot
Mot $ mot # mot
:DM $ :DM # :DM
3,0
,
54
ADDL
26.7
49.9
Mot + mot # mot
:DM + :DM # :DM
3.0
55
SUBL
26.8
49.9
Mot -- mot # mot
:DM -- :DM # :DM
3.0
501
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
Code
Mnémonique
Temps
Conditions (En haut : min.; en bas : max.)
d’exécution à
l’état OFF (!s)
81,4
Mot ¢ mot # mot
106,2
:DM ¢ :DM # :DM
56
MULL
57
DIVL
76,9
101,8
Mot $ mot # mot
:DM $ :DM # :DM
3,0
,
60
CMPL
16,9
32,9
Comparaison de mots
Comparaison de :DM
2,9
,
66
SCL*
69,5
91,5
Définition d’un mot
Définition d’un :DM
3,0
,
67
BCNT*
26,9
2,29 ms
Comptage d’un mot
Compage de 6 656 mots via :DM
3,0
,
68
BCMP*
41,4
Comparaison d’une constante, résultats dans
un mot
Comparaison d’un mot, résultats dans un mot
Comparaison d’un :DM, resultats dans un
:DM
3,0
41,9
64,5
69
STIM*
Temps d’exécution à l’état
OFF (!s)
3,0
33,9
49,5
11,4
Définition d’un mot, démarrage du compteur en 3,0
monocoup
Définition d’un :DM, démarrage du compteur
en monocoup
Définition d’un mot, démarrage programmé des
interruptions
Définition d’un :DM, démarrage programmé
des interruptions
Définition de mots, lecture de la temporisation
Définition d’un :DM, lecture de la temporisation
Définition d’un mot, arrêt de la temporisation
34,7
49,5
35,3
50,0
70
XFER
22,9
24,0
902,0
Transfert d’une constante à un mot
Transfert d’un mot à un mot
Transfert de 1 024 mots via :DM
3,0
,
71
BSET
15,2
15,7
Définition d’une constante dans un mot
Définition d’une constante dans un mot vers 10
mots
Définition d’une constante pour :DM à 1 024
mots
3,0
,
565,2
73
XCHG
16,2
31,5
Mot # mot
:DM # :DM
3,1
,
74
SLD
13,6
26,7
1,54 ms
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 024 mots via :DM
3,0
,
75
SRD
13,6
26,6
1,54 ms
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 024 mots via :DM
3,0
,
76
MLPX
25,5
48,9
Décodage d’un mot vers un mot
Décodage d’un :DM vers un :DM
3,0
,
77
DMPX
35,1
58,1
Décodage d’un mot vers un mot
Codage d’un :DM vers un :DM
3,0
,
78
SDEC
26,8
49,9
Décodage d’un mot vers un mot
Décodage d’un :DM vers un :DM
2,9
,
502
8-3
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
Code
Mnémonique
80
DIST
81
COLL
8-3
Temps
Conditions (En haut : min.; en bas : max.)
Temps d’exécution à l’état
d’exécution à
OFF (!s)
l’état OFF (!s)
,
21,3
Définition d’une constante pour un mot + 1 mot 3,0
21,9
Définition d’une constante pour un mot à un mot
+ 1 mot
45,7
Définition d’une constante pour :DM à :DM
+:DM
34,3
Définition d’une constante pour une constante à
une batterie
35,3
Définition d’une constante pour un mot à une
batterie
59,3
Définition d’une constante pour :DM à une batterie via :DM
3,0
,
21,4
Définition d’une constante + un mot à un mot
21,8
44,9
34,0
33,9
892,0
35,4
36,1
60,5
Définition d’un mot + un mot à un mot
Définition d’une constante pour un :DM +
:DM à un :DM
Définition d’une constante pour un mot +
constante à une batterie FIFO
Définition d’une constante pour un mot + mot à
une batterie FIFO
Définition d’une constante pour un :DM +
:DM à une batterie FIFO via :DM
Définition d’une constante pour un mot +
constante à une batterie LIFO
Définition d’une constante pour un mot + mot à
une batterie LIFO
Définition d’une constante pour un :DM +
:DM à une batterie LIFO via :DM
82
MOVB
18,2
19,0
42,1
Transfert d’une constante à un mot
Transfert d’un one mot à another
Transfert d’un :DM à :DM
3,0
,
83
MOVD
16,3
17,6
39,9
Transfert d’une constante à un mot
Transfert d’un mot à un autre mot
Transfert d’un :DM à un :DM
2,9
,
84
SFTR
21,0
26,9
718,5
Décalage d’un mot
Décalage de 10 mots
Décalage de 1 024 mots via :DM
3,0
,
85
TCMP
30,0
Comparaison d’une constante à un tableau
défini en mots
Comparaison de mot à un tableau défini en
mots
Comparaison d’un :DM à un tableau défini en
:DM
3,0
30,7
53,1
86
ASC
30,0
53,7
Mot # mot
:DM # :DM
3,0
,
91
92
93
SBS
SBN
RET
13,2
--7,8
Aucune
3,0
1,3
1,3
99
MCRO
26,8
43,5
Avec opérandes d’E/S définis en mots
Avec opérandes d’E/S définis en :DM
3,0
,
Rem. Les instructions identifiées par un astérisque sont des instructions d’expansion.
503
Chapitre
Temps de cycle et temps de réponse des E/S du SRM1(-V2)
8-3
Instructions d’expansion sans codes de fonctions par défaut
Code
Mnémonique
Temps
d’exécution à
l’état OFF (!s)
---
FCS
23,4
Addition d’un mot et transmission à un mot
3,0
643,7
43,6
Addition de 999 mots et transmission à un
:DM
DM # DM
3,0
73,5
:DM # :DM
46,0
48,0
65,5
420,0
452,0
63,0
84,5
51,2
Transfert d’une constante à un mot
Transfert d’un mot à un mot
Transfert d’un :DM à un :DM
Initialisation d’un mot à un mot
Initialisation d’un :DM à un :DM
Echantillonnage d’un mot dans un mot
Echantillonnage d’un :DM dans un :DM
Transfert d’une constante à un mot
58,2
Transfert d’un mot à un mot
45,0
Comparaison d’un mot à une plage de
constantes
Comparaison d’un mot à une plage de mots
Comparaison d’un :DM à un :DM
---
HEX
---
NEG
---
PID
---
STUP
---
ZCP
46,5
69,0
504
Conditions (En haut : min. ; en bas : max.)
Temps d’exécution à l’état
OFF (!s)
3,0
,
3,0
,
3,0
3,0
CHAPITRE 9
Recherche de pannes
Ce chapitre décrit comment diagnostiquer et corriger les erreurs de matériels et de logiciel pouvant se produire pendant le
fonctionnement de l’API.
9-1
9-2
9-3
9-4
9-5
9-6
9-7
9-8
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs de fonctionnement de la console de programmation. . . . . . . . . . . . . . . . . . . . . . . .
Erreurs de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs définies par l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-5-1 Erreurs non fatales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-5-2 Erreurs fatales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-5-3 Autres erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Journal d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs de liaison à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organigrammes de dépannage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
506
506
507
508
509
509
510
511
511
513
513
505
Erreurs de fonctionnement de la console de programmation
9-1
Chapitre
9-2
Introduction
Les erreurs de l’API peuvent être divisées grossièrement dans les quatre
catégories suivantes :
1, 2, 3...
1. Erreurs d’entrée de programme
Ces erreurs se produisent en entrée du programme ou lors de la préparation
de l’API.
2. Erreurs de programmation
Ces erreurs se produisent lorsque le programme est vérifié en utilisant la
fonction de contrôle de programme.
3. Erreurs définies par l’utilisateur
L’utilisateur peut utiliser trois instructions pour définir ses propres erreurs ou
messages. Les instructions sont exécutées lorsqu’un état particulier (défini
par l’utilisateur) se produit lors du fonctionnement.
4. Erreurs de fonctionnement
Ces erreurs se produisent après le commencement de l’exécution du
programme.
a) Erreurs non fatales de fonctionnement
Le fonctionnement de l’API et l’exécution du programme continuent
après qu’une ou plusieurs de ces erreurs se sont produites.
b) Erreurs fatales de fonctionnement
Le fonctionnement de l’API et l’exécution du programme s’arrêtent et
toutes les sorties de l’API sont arrêtées lorsque l’une de ces erreurs s’est
produite.
Les voyants de l’API indiquent lorsqu’une erreur de l’API s’est produite et un
message ou un code d’erreur est affiché sur la console de programmation ou
l’ordinateur si l’un est connecté. Le code d’erreur est également contenu en
SR 25300 à SR 25307.
Pour les erreurs les plus récentes, le type d’erreur et l’instant de l’occurrence
sont enregistrés dans la zone de journal d’erreurs de l’API. Les détails sont
fournis à partir de la page 511.
Des drapeaux et d’autres informations fournis dans les zones SR et AR peuvent
être utilisés pour le dépannage. Se reporter au Chapitre 3 Zones mémoire pour
les listes de ces derniers.
Rem. En plus des erreurs décrites ci-dessus, des erreurs de communications peuvent
survenir lorsque l’API est lié à un ordinateur central. Se reporter à la page 513
pour de plus amples informations.
9-2
Erreurs de fonctionnement de la console de
programmation
Les messages d’erreur suivants peuvent apparaître lors de l’exécution des
fonctions de la Console de Programmation. Corriger les erreurs comme indiqué
et poursuivre le fonctionnement.
Les astérisques dans les affichages montrés ci-dessous seront remplacés par
des données numériques, normalement une adresse, dans l’affichage réel.
506
Chapitre
Erreurs de programmation
Message
9-3
9-3
Signification et remède
REPL ROM
Une tentative de modification de la mémoire protégée en écriture a
été faite. Paramétrer les bits 00 à 03 de DM 6602 à “0”.
PROG OVER
L’instruction à la dernière adresse en mémoire n’est pas NOP(00).
Ecraser toutes les instructions inutiles à la fin du programme.
ADDR OVER
Une adresse paramétrée est plus longue que l’adresse mémoire la
plus haute dans la Mémoire Programme. Entrer une adresse plus
courte.
SET DATA
ERR
FALS 00 a été entrée, et “00” ne peut pas être entré. Saisir à
nouveau les données.
I/O NO. ERR
Une adresse zone de données désignée dépasse la limite de la
zone de données : une adresse trop longue par exemple. Vérifier
les exigences de l’instruction et entrer à nouveau l’adresse.
Erreurs de programmation
Les erreurs dans la syntaxe du programme sont détectées lors de la vérification
du programme à l’aide de la fonction de Contrôle du Programme.
Trois niveaux de vérification du programme sont disponibles. Le niveau souhaité doit être défini pour indiquer le type d’erreur à détecter. Le tableau suivant
présente les types d’erreurs, les affichages et les explications de toutes les
erreurs de syntaxe. Le niveau 0 permet de rechercher les erreurs de type A, B et
C, le niveau 1 recherche les erreurs de type A et B, le niveau 2 les erreurs de type
A uniquement.
Erreurs niveau A
Message
Signification et remède
?????
Le programme a été endommagé par la création d’un code de
fonction inexistante. Saisir à nouveau le programme.
CIRCUIT
ERR
Le nombre de blocs logiques ne correspond pas au nombre
d’instructions à blocs logiques : LD ou LD NOT commencent un
bloc logique dont la condition d’exécution n’a pas été utilisée par
une autre instruction, ou une instruction à bloc logique n’a pas le
nombre de blocs nécessaire. Vérifier le programme.
OPERAND
ERR
Une constante d’entrée pour l’instruction n’est pas comprise dans
les limites indiquées. Changer la constante afin que sa valeur soit
comprise dans les limites correctes.
NO END
INSTR
Il n’y a pas d’instruction END(01) dans le programme. Ecrire
l’instruction END(001) à l’adresse finale du programme.
LOCN ERR
Une instruction n’est pas à la bonne place dans le programme.
Vérifier l’instruction et corriger le programme.
JME
UNDEFD
Une instruction JME(04) manque pour une instruction JMP(05).
Corriger le numéro de saut ou insérer l’instruction JME(04)
correcte.
DUPL
Le même numéro de saut ou le numéro du sous-programme a été
utilisé deux fois. Corriger le programme afin que le même numéro
soit utilisé uniquement une fois pour chaque.
SBN
UNDEFD
L’instruction SBS(91) a été programmée pour un numéro de
sous-programme qui n’existe pas. Corriger le numéro de
sous-programme ou programmer le sous-programme souhaité.
STEP ERR
STEP(08) avec un numéro de section et STEP(08) sans numéro de
section ont été utilisés de façon incorrecte. Vérifier les paramètres
de programmation de STEP(08) et corriger le programme.
507
Chapitre
Erreurs définies par l’utilisateur
Erreurs niveau B
Message
Erreurs niveau C
9-4
Signification et remède
IL-ILC ERR
IL(02) et ILC(03) ne sont pas utilisées en paires. Corriger le
programme de façon à ce qu’à chaque IL(02) corresponde une
seule ILC(03). Bien que ce message d’erreur s’affiche lorsque
plusieurs IL(02) sont associées à une seule ILC(03), le programme
est tout de même exécuté. Vérifier que le programme est écrit
comme souhaité avant de poursuivre.
JMP-JME
ERR
SBN-RET
ERR
JMP(04) et JME(05) ne sont pas utilisées en paires. Vérifier que le
programme est écrit comme souhaité avant de poursuivre.
Si l’adresse affichée est celle de SBN(92), deux sous-programmes
différents ont été définis avec le même numéro de
sous-programme. Changer l’un des numéros ou supprimer un
sous-programme. Si l’adresse affichée est celle de RET(93),
RET(93) n’a pas été utilisée correctement. Vérifier les conditions
d’utilisation de RET(93) et corriger le programme.
Message
Signification et remède
COIL DUPL
Le même bit est contrôlé (placé sur ON ou OFF) par plusieurs
instructions (OUT, OUT NOT, DIFU(13), DIFD(14), KEEP(11),
SFT(10)). Bien que cela soit permis pour certaines instructions,
vérifier les conditions d’utilisation de l’instruction en cause pour
savoir si le programme est correct ou le ré-écrire pour que chaque
bit ne soit contrôlé que par une seule instruction.
JMP
UNDEFD
JME(05) n’est pas utilisée avec JMP(04) avec le même numéro de
saut. Ajouter une JMP(04) portant le même numéro ou supprimer la
JME(05) non utilisée.
SBS
UNDEFD
Un sous-programme n’est pas appelé par SBS(91). Programmer un
appel de sous-programme à l’endroit adéquat ou supprimer le
sous-programme si cela est nécessaire.
! Attention Les instructions d’expansion (assignées aux codes de fonction 17, 18, 19, 47,
48, 60 à 69, 87, 88 et 89) ne subissent aucune vérification programme, de même
que les DM 3070 à DM 6143 pour les API non munis de ces zones. Les données
ne sont pas inscrites, même dans le cas où ces zones sont spécifiées et les
données lues à partir de ces zones sont toujours égales à “0000”.
9-4
Erreurs définies par l’utilisateur
Voici les quatre instructions que l’utilisateur peut utiliser pour définir ses propres
erreurs ou messages ; elles envoient des messages à la console de
programmation connectée à l’API et causent des erreurs fatales ou non fatales.
MESSAGE -- MSG(46)
MSG(46) affiche un message sur la console de programmation ; il peut y avoir
jusqu’à 16 caractères en longueur et s’affiche lorsque la condition d’exécution
de l’instruction est sur ON. Se reporter à la page 429 pour obtenir plus
d’informations.
FAILURE ALARM -- FAL(06)
FAL(06) est une instruction entraînant une erreur non fatale. Se reporter à la
page 332 pour obtenir plus d’informations. Voici ce qui se produit lorsqu’une
instruction FAL(06) est exécutée :
1, 2, 3...
508
1. Le voyant ERR/ALM de l’Unité centrale clignote. L’API continue à
fonctionner.
2. Le numéro de FAL en BCD à 2 digits (01 à 99) est écrit dans SR 25300 à
SR 25307.
3. Le numéro FAL est enregistré dans la zone de journal d’erreurs de l’API. Le
nombre d’occurrences est également enregistré dans les API CPM2A et les
API CPM2C possédant une horloge interne.
Les numéros de FAL peuvent être sélectionnés arbitrairement pour indiquer des
conditions particulières. Le même numéro ne peut être utilisé comme un
numéro FAL et un numéro FALS.
Chapitre
Erreurs de fonctionnement
9-5
Pour effacer une erreur FAL, corriger la cause de l’erreur, exécuter FAL 00 et
ensuite effacer l’erreur en utilisant la console de programmation.
SEVERE FAILURE ALARM -FALS(07)
FALS(07) est une instruction entraînant une erreur fatale. Se reporter à la page
332 pour obtenir plus d’informations. Voici ce qui se produit lorsqu’une
instruction FALS(07) est exécutée :
1, 2, 3...
1. L’exécution du programme est arrêtée et les sorties sont mises sur OFF.
2. Le voyant ERR/ALM de l’Unité centrale est allumé.
3. Le numéro de FALS en BCD à 2 digits (01 à 99) est écrit dans SR 25300 à
SR 25307.
4. Le numéro FALS est enregistré dans la zone de journal d’erreurs de l’API.
Le nombre d’occurrences est également enregistré dans les API CPM2A et
les API CPM2C possédant une horloge interne.
Les numéros FALS peuvent être sélectionnés arbitrairement pour indiquer des
conditions particulières. Le même numéro ne peut être utilisé comme un
numéro FAL et un numéro FALS.
Pour effacer une erreur FALS, commuter l’API sur le mode PROGRAM, corriger
la cause de l’erreur et ensuite effacer l’erreur en utilisant la console de
programmation.
9-5
Erreurs de fonctionnement
Il existe deux types d’erreurs de fonctionnement : non fatales et fatales. L’API
continue de fonctionner après la génération d’une erreur non fatale, mais le
fonctionnement s’arrête si une erreur fatale se produit.
! Attention Rechercher toutes les erreurs, fatales ou non. Supprimer la cause de l’erreur
dès que possible et redémarrer l’API. Se reporter au Manuel de programmation
du CPM1, au Manuel de programmation du CPM2A ou au Manuel de
programmation du CPM2C pour obtenir des informations sur le matériel et sur
les fonctionnements de la console de programmation concernant les erreurs.
Se reporter au Manuel de programmation du SSS pour obtenir des informations
sur les fonctionnements du SSS concernant les erreurs.
9-5-1 Erreurs non fatales
Le fonctionnement de l’API et l’exécution du programme continuent après la
génération d’une ou plusieurs de ces erreurs, mais elles doivent être corrigées
et effacées dès que possible.
Lors de la génération d’une de ces erreurs, les voyants POWER et RUN restent
allumés et le voyant ERR/ALM clignote.
Message
SYS FAIL FAL**
(Voir Rem.)
N!! FAL
01 à 99
9B
Signification et remède
Une instruction FAL(06) a été exécutée dans le programme. Vérifier le numéro FAL
pour déterminer les conditions qui peuvent en provoquer l’exécution, corriger la cause
et effacer l’erreur.
Une erreur a été détectées dans le Setup de l’API. Vérifier les drapeaux AR 1300 à
AR 1302 et corriger comme suit :
AR 1300 ON : sélections incorrectes dans la configuration de l’API (DM 6600 à DM
6614) à la 

Manuels associés