Schneider Electric Modicon Micro Mode d'emploi

Ajouter à Mes manuels
154 Des pages
Schneider Electric Modicon Micro Mode d'emploi | Fixfr
Manuel de
programmation du
Modicon Micro
A91M.12--702316.20--0298
Breite: 151,5mm
Höhe: 227,5mm
Préface
Les informations et les illustrations
figurant dans le présent manuel ne sont
pas contractuelles. Nous nous réservons
le droit de modifier nos produits en
accord avec notre politique d’amélioration
continuelle de ces produits. Les
informations contenues dans le présent
document sont sujettes à modifications
sans préavis et ne représentent aucun
engagement de la part de Modicon,
Industrial Automation Systems. Modicon,
Inc. décline toute responsabilité quant
aux éventuelles erreurs figurant dans ce
document.
Toute reproduction, sous quelque forme
et par quelque procédé que ce soit
(électronique ou mécanique) faite sans
l’autorisation écrite expresse de Modicon,
Inc., Industrial Automation Systems, est
interdite. Tous droits réservés.
Modbus est une marque de Modicon, Inc.
MODSOFT® Lite est une marque
déposée de Modicon, Inc.
IBM® est une marque déposée de
International Business Machines
Corporation.
Copyright© 1993 par Modicon, Inc. Tous
droits réservés.
ii
Préface
Table des matières
Chapitre 1 Système d’exploitation Ladder Logic
pour les Micro API Modicon . . . . . . . . . . . . . . . 1
Automates programmables logiques (API) Modicon . . . . . . . . . . . . . . . . 2
Fonctionnement théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Unité centrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Mémoire Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Performance du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Temps du cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Temps de résolution logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Affectation de mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Mémoire données utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Adresses affectées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Mémoire de configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . 5
Mémoire programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Sauvegarde mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Techniques de sauvegarde en option . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Sauvegarde au moyen de la mémoire Flash . . . . . . . . . . . . . . . . . . . . 7
Procédures de mise sous tension de l’API . . . . . . . . . . . . . . . . . . . . . . 7
Stockage d’un API contenant de la logique utilisateur dans
la mémoire Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Modes de fonctionnement de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Réseau d’extension d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Extension d’E/S A120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Jeu d’instructions Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table des matières
Breite: 151,5mm
Höhe: 227,5mm
iii
Chapitre 2 Procédures de démarrage . . . . . . . . . . . . . . . . 13
Mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mise sous tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Démarrage d’un API configuré auparavant . . . . . . . . . . . . . . . . . .
Démarrage d’un API non configuré . . . . . . . . . . . . . . . . . . . . . . . .
Configuration d’un Micro API Modicon . . . . . . . . . . . . . . . . . . . . .
Paramètres d’autoconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Autoconfiguration d’un API en mode seul . . . . . . . . . . . . . . . . . . . . . .
Autoconfiguration d’un API en mode parent . . . . . . . . . . . . . . . . . . . .
Autoconfiguration d’un API en mode enfant . . . . . . . . . . . . . . . . . . . .
Exemples de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode de fonctionnement API . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enfant Micro nº . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adressage 0x, 1x, 3x et 4x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nombre de segments Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . .
Nombre d’API enfants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Emplacements E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bit pile mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Registre base de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Horloge calendaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ports de communication autoconfigurés . . . . . . . . . . . . . . . . . . . . . . . . .
Port RS-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port(s) RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modification des paramètres de configuration . . . . . . . . . . . . . . . . . . . . .
Adressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nombre de segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramètres de communication RS-232 . . . . . . . . . . . . . . . . . . . . . . .
Mode Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode ASCII simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capacités de communication par modem . . . . . . . . . . . . . . . . . . .
Paramètres de communication du port RS-485 . . . . . . . . . . . . . . . . .
Adressage d’emplacements d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Emplacements E/S internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adressage d’E/S A120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple: un Micro API avec une embase d’E/S A120 . . . . . . . . . .
Adressage d’E/S sur un réseau d’extension . . . . . . . . . . . . . . . . . . . . . .
API parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
API enfant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple: réseau d’extension avec toutes les E/S internes
gérées par l’API enfant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
Table des matières
14
14
14
15
15
16
16
16
17
18
20
20
20
20
20
20
21
21
21
22
22
22
23
23
23
24
24
24
25
25
26
26
28
28
30
30
31
31
Partage des E/S internes entre les API parent et enfants . . . . . . . . . . .
Exemple: partage des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transfert de données généralisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
34
36
38
Chapitre 3 Principaux éléments de Programmation
en Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Segments et réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segments Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réseaux Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mise en place de la logique relais et d’instructions sur un réseau .
Résolution du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Éléments de logique relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contacts relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sortie normale et mémorisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage des sorties dans un réseau . . . . . . . . . . . . . . . . . . . . . .
Branches verticales et horizontales . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple d’application: circuit de démarrage/arrêt du moteur . . . . . . . .
40
40
40
40
41
42
42
43
43
43
45
Chapitre 4 Compteurs et temporisateurs . . . . . . . . . . . . . 47
Instructions relatives aux compteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple de compteur simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions relatives aux temporisateurs . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple de tempo d’une seconde . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple d’application: horloge en temps réel avec une
temporisation en millisecondes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
48
49
49
50
Chapitre 5 Instructions mathématiques élémentaires . 51
Instructions relatives aux opérations sur des entiers . . . . . . . . . . . . . . . 52
Exemple de division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Exemple d’application: conversion de degrés Fahrenheit en
degrés centigrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Chapitre 6 Instructions relatives à la gestion des
données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Transfert de données de registres et de tables . . . . . . . . . . . . . . . . . . . .
Construction d’une pile de type premier entré premier sorti . . . . . . . . .
Recherche dans une table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple d’opération SRCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transfert d’un bloc de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple d’application: programme de chargement de
recette au moyen de transfert de blocs . . . . . . . . . . . . . . . . . . . . .
Table des matières
Breite: 151,5mm
Höhe: 227,5mm
56
58
60
60
61
61
v
Chapitre 7 Instructions relatives au traitement
des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Instructions logiques booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OU exclusif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Archivage des valeurs de la matrice cible originale . . . . . . . . . . .
Exemple d’application: moyenne sur une table de valeur . . . . . . . . . . .
Complémentation binaire dans une matrice de données . . . . . . . . . . . .
Exemple de complémentation binaire . . . . . . . . . . . . . . . . . . . . . .
Comparaison binaire dans une matrice de données . . . . . . . . . . . . . . .
Exemple de comparaison binaire . . . . . . . . . . . . . . . . . . . . . . . . . .
Détection et traitement binaires dans une matrice . . . . . . . . . . . . . . . . .
64
65
66
66
67
68
68
69
69
71
Chapitre 8 Communications ASCII simples . . . . . . . . . . . 73
Communication ASCII via un programme . . . . . . . . . . . . . . . . . . . . . . . .
Formats de message standard . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instruction COMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formats de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format caractères ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format entiers (1 à 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format hex. (1 à 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format purge du buffer de réception . . . . . . . . . . . . . . . . . . . . . . . . . .
Format purge de n octets du buffer de réception . . . . . . . . . . . . . . .
Tableau des caractères ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple d’application: utilisation d’une HHP en tant que terminal
d’affichage ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
74
75
77
77
77
78
78
78
79
81
Chapitre 9 Instruction d’exécution de commandes en
séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Instruction SCIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Exemple d’application: chronologie avec les blocs SCIF . . . . . . . . . . . . 88
Mnémoniques et commentaires pour l’exemple d’application . . 90
Chapitre 10 Instructions relatives aux
sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . 93
Instructions relatives aux sous-programmes . . . . . . . . . . . . . . . . . . . . . .
Entrées d’interruptions et de compteurs / temporisateurs . . . . . . . . . . .
Opération d’interruptions matérielles . . . . . . . . . . . . . . . . . . . . . . . . . .
Entrée du compteur rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instruction CTIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
Table des matières
94
96
96
97
98
Exemple d’application CTIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segment 1, Réseau 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segment 1, réseau 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segment 2, sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . .
100
100
103
104
Chapitre 11 Instructions standard supplémentaires . . . 105
Saut de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple SKP simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vérification des mots d’état de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table des états du Micro API Modicon . . . . . . . . . . . . . . . . . . . .
Table des états du Micro API Modicon (suite) . . . . . . . . . . . . . .
Table des états du Micro API Modicon (Suite) . . . . . . . . . . . . . .
Table des états Micro API Modicon (suite) . . . . . . . . . . . . . . . . .
Tables des états Micro API Modicon (suite) . . . . . . . . . . . . . . . .
Tables des états Micro API Modicon (suite et fin) . . . . . . . . . . .
Instructions relatives au cycle d’exécution . . . . . . . . . . . . . . . . . . . . . . .
106
106
107
108
109
110
111
112
113
114
Chapitre 12 Jeu d’instructions évoluées pour les
Micro API Modicon . . . . . . . . . . . . . . . . . . . . . . 115
Instructions relatives aux transferts entre bloc et table . . . . . . . . . . . .
Instruction checksum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instruction proportionnelle - intégrale - dérivée . . . . . . . . . . . . . . . . . . .
Instruction proportionnelle - intégrale - dérivée (suite) . . . . . . . . . .
Instruction proportionnelle - intégrale - dérivée (suite) . . . . . . . . . .
Instruction proportionnelle - intégrale - dérivée (suite) . . . . . . . . . .
Instruction proportionnelle - intégrale - dérivée (suite et fin) . . . . .
Instructions mathématiques évoluées . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . .
Instructions mathématiques évoluée (suite et fin) . . . . . . . . . . . . . .
Table des matières
Breite: 151,5mm
Höhe: 227,5mm
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
vii
Annexe A
Mise à jour du système d’exploitation
mémoire Flash . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Utilitaires de mise à jour de l’exécutif . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mise à jour du système au moyen d’un utilitaire de
chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Détermination de la dernière version . . . . . . . . . . . . . . . . . . . . . . . . .
Accès à Modfax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accès au serveur service clientèle . . . . . . . . . . . . . . . . . . . . . . . . . .
Procédure du superviseur de mise à jour . . . . . . . . . . . . . . . . . .
Annexe B
136
136
137
137
137
Réparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Diagnostic des conditions de démarrage . . . . . . . . . . . . . . . . . . . . . . . .
Symptôme: Absence de la LED power ok (alimentation OK) . . . .
Symptôme: absence de LED ready (prêt) . . . . . . . . . . . . . . . . . . . .
Symptôme: LED Run (exécution) éteinte ou clignotante . . . . . . . .
Symptôme: LED exp link éteinte ou clignotante . . . . . . . . . . . . . . .
Symptôme: Absence de commication sur l’API . . . . . . . . . . . . . . . .
Codes d’arrêt de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Codes d’arrêt de l’API affichés sur les LED . . . . . . . . . . . . . . . . . . . . . .
viii
136
Table des matières
140
140
140
141
141
141
144
145
Chapitre 1
Système d’exploitation Ladder
Logic pour les Micro API
Modicon
j Automates programmables logiques (API) Modicon
j Affectation de mémoire
j Sauvegarde mémoire
j Modes de fonctionnement de l’API
j Jeu d’instructions Ladder Logic
Système d’exploitation Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
1
Automates programmables logiques (API)
Modicon
Un automate programmable logique (API)
est un élément à circuits intégrés avec
des fonctions de traitement logique,
conçues pour les commandes en temps
réel d’applications dans le domaine du
process et du manufacturier. Un API
comprend des unités d’entrée et de sortie
(E/S) et une unité centrale (UC).
recevant des signaux en provenance de
ses entrées, résoud un programme
logique utilisateur stocké dans son UC,
puis commande des actionneurs en
envoyant des signaux de commande vers
ses sorties.
Les Micro API Modicon sont des
fonctions d’entrée et de sortie intégrées
dans le même boîtier physique que l’UC.
L’ensemble constitue une solution
réduite, légère, autonome et peu
onéreuse pour une large gamme
d’applications de contrôle/commande.
Les entrées sont situées sur le bornier
au-dessus de l’API. Les entrées sont
reliées aux capteurs de votre application,
tels que des boutons-poussoirs, des
commutateurs retour d’état de
contacteurs, roues codeuses et fin de
course. Si une entrée détecte qu’un
capteur est fermé, elle convertit la
tension en un signal de niveau logique
compris par l’UC décrivant l’état du
capteur. Un état logique 1 indique un état
ON ou FERME, et un état logique 0
indique un état OFF ou OUVERT.
Entrées
Fonctionnement théorique
L’organigramme ci-dessous présente les
principaux constituants d’un Micro API.
L’API surveille l’état des capteurs en
Capteurs
Entrées
UC
Processeur
Source de
courant
CA ou CC
Mémoire
Mémoire
Flash
Alimentation
électrique
Sorties
Actionneurs
2
Système d’exploitation Ladder Logic
Unité centrale
Le processeur numérique, la mémoire et
l’alimentation électrique se trouvent dans
l’UC. Ces composants fonctionnent de
concert pour résoudre le programme
logique de l’application et transmettre des
signaux de commande aux sorties. L’UC
lit les données d’entrée, exécute le
programme logique de l’utilisateur
enregistré dans sa mémoire, puis envoie
les signaux de sortie appropriés. Le
processus de lecture des signaux
d’entrée, de résolution de la logique
basée sur les états des entrées, et de
mise à jour des sorties s’appelle analyse
ou cycle.
Mémoire Flash
L’UC contient également un composant
”mémoire Flash” dans laquelle réside le
système d’exploitation de l’API. Le
contenu de la mémoire Flash est
rémanent; il ne nécessite pas de
sauvegarde par pile.
Le système d’exploitation résidant dans
la mémoire Flash est un ensemble de
programmes de surveillance conférant à
l’API son identité grâce aux fonctions
suivantes:
V il définit le langage dans lequel
l’application est écrite - c’est-à-dire
Ladder Logic;
V il affecte les ressources de mémoire
de l’UC à des fins spécifiques;
V il détermine la structure selon laquelle
l’API enregistre et traite les données.
Le système d’exploitation Ladder Logic
définit les caractéristiques fonctionnelles
des Micro API Modicon. Le présent
manuel met principalement l’accent sur
ces caractéristiques.
commande est commutée pour activer
l’actionneur adressé.
Performance du système
Temps du cycle
Le temps nécessaire à l’UC pour
résoudre le programme Ladder Logic et
mettre à jour toutes les E/S qu’il gère
s’appelle temps de cycle. Le temps de
cycle comprend le temps de résolution
logique, le temps de service E/S et le
temps nécessaire à la réalisation des
tâches du système.
Le temps maximal alloué à l’API pour
exécuter un programme logique
utilisateur est de 250 ms. Si le cycle n’est
pas terminé dans ce temps, une horloge
de surveillance située dans l’UC
interrompt l’application et envoie un
message d’erreur indiquant un
dépassement du temps imparti à la
console de programmation (”watchdog”
ou chien de garde). Cette limite du temps
maximal du cycle empêche l’API
d’effectuer des boucles sans fin dans le
programme logique.
Temps de résolution logique
Le temps nécessaire à l’UC pour
résoudre la logique de commande du
programme, indépendante de tout temps
de service E/S ou d’administration,
s’appelle temps de résolution logique.
V Temps de résolution logique pour les
Micro API 110CPU311 et 110CPU411
est de 4,25 ms par k/mot programme.
V Temps de résolution logique pour les
Micro API 110CPU512 et 110CPU612
est de 2,5 ms par k/mot programme.
Sorties
Les sorties sont sur le bornier situé en
dessous de l’API. Les sorties commutent
la tension de commande qui excite ou
désexcite les actionneurs de votre
application. Si une sortie est mise sous
tension par l’UC, la tension de
Système d’exploitation Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
3
Affectation de mémoire
Le système d’exploitation Ladder Logic
détermine la façon dont les ressources
de mémoire sont allouées dans un Micro
API Modicon. Il divise la mémoire
système disponible en trois catégories:
V mémoire de données utilisateur: pour
des données variables modifiées lors
de l’exécution du programme;
V mémoiredeconfigurationdusystème:
pour l’enregistrement de tables de
données système telles que la
topologie d’E/S et les paramètres de
configuration de l’API;
V mémoire du programme utilisateur: lieu
où le programme Ladder Logic est
créé et édité.
Mémoire données utilisateur
L’API met en relation chaque signal
d’entrée et de sortie du processus avec
une adresse affectée enregistrée dans
une table de mémoire de données
utilisateur (parfois appelée table RAM
d’état) et pouvant être utilisée dans un
programme Ladder Logic.
V Les API 110CPU311 et 110CPU411
possèdent 512 mots de mémoire
données utilisateur.
V Les API 110CPU512 et 110CPU612
possèdent 2048 mots de mémoire
données utilisateur.
Adresses affectées
Pour la programmation en Ladder Logic,
les Micro API Modicon utilisent un
système d’adressage pour traiter les
informations d’entrée/sortie et la logique
interne. Chaque adresse possède un
chiffre d’en-tête identifiant le type de
donnée E/S; ce chiffre est suivi d’une
chaîne de quatre chiffres définissant
l’emplacement unique de ce point d’E/S
dans la mémoire données utilisateur.
Il existe quatre types d’adresse:
4
Système d’exploitation Ladder Logic
Système d’adressage E/S
Adresse
Description
0xxxx
Sortie ”tout ou rien” (ou mémoire). Une adresse 0x
peut gérer la valeur de sortie réelle à travers une
unité de sortie dans le système de commande ou
peut définir une ou plusieurs mémoires dans une
RAM d’état. Une adresse 0x spécifique ne peut
être utilisée qu’une seule fois en tant que mémoire
dans un programme logique, mais on peut utiliser
cet état de mémoire de nombreuses fois pour
gérer les contacts du programme.
1xxxx
Entrée ”tout ou rien”. L’état ON/OFF d’une
adresse 1x est contrôlé par les entrées envoyées
à l’UC à partir d’une unité d’entrée. Elle permet de
gérer les contacts d’un programme logique.
3xxxx
Registre d’entrée. Un registre 3x contient des
informations représentées par un nombre sur 16
bits en provenance d’une source externe - par
exemple une roue codeuse, un signal analogique, des données d’un compteur à haute vitesse.
Un registre 3x peut également contenir 16
signaux d’entrées ”tout ou rien”, que l’on peut
mettre au format binaire ou décimal codé binaire
(BCD)
Registre de sortie. Un registre 4x permet d’enregistrer les données numériques (binaires ou décimales) dans la mémoire d’état ou d’envoyer les
données d’une sortie.
4xxxx
Note: La lettre x suivant le caractère d’en-tête dans chaque
type d’adresse représente un emplacement d’adresse à quatre chiffres dans la mémoire données utilisateur. L’adresse
40201, par exemple, indique que l’adresse est un registre de
sortie sur 16 bits situé à l’adresse 201 de la RAM d’état.
Chaque mot de la mémoire donnée
utilisateur a une longueur sur 16 bits.
L’état (ON/OFF) de chaque point d’E/S
”tout ou rien” est représenté par la valeur
1 ou 0 affectée à un bit individuel dans
un mot (16 adresses 0x ou 1x par mot).
Pour la topologie des E/S, le point
d’entrée physique nº 1 est mis en relation
avec l’entrée interne de numérotation la
plus basse dans le premier groupe de 16,
l’entrée physique nº 2 avec l’entrée
interne supérieure suivante, etc., comme
indiqué ci-dessous:
Points d’entrée physique
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
Adresses de mémoire
données utilisateur
10001 ........................
10016
Les sorties ”tout ou rien” sont mises en
relation de la même manière en fonction
de leur groupe:
Sorties physiques pour un groupe de 12 points
01 02 03 04 05 06 07 08 09 10 11 12
Adresses mémoire
données utilisateur
00001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 00012
Sorties physiques pour un groupe de 8 points
01 02 03 04 05 06 07 08
Adresses mémoire
données utilisateur
00001 . . . . . . . . . . . . . . . . 00008
Sorties physiques pour un groupe de 4 points
01 02 03 04 05 06 07 08 09 10 11 12
Adresses mémoire
données utilisateur
00001 . . . . 00004
Dans le cas d’E/S analogiques, chaque
voie d’entrée et de sortie correspond à
un mot complet dans la mémoire de
données utilisateur (registres 3x pour les
entrées et registres 4x pour les sorties).
Mémoire de configuration du
système
La configuration de l’API est un élément
clé du développement, contenue dans la
mémoire système. Les informations
existant dans la configuration déterminent
les éléments suivants:
V le mode de fonctionnement de l’API
(par exemple, simple, parent ou
enfant);
V les paramètres permettant aux ports
de communications de l’API de
fonctionner;
V la gamme d’adresses 0x, 1x, 3x et 4x
disponibles pour la programmation;
V le nombre d’emplacements d’E/S pris
en charge par l’API.
Le logiciel de la console de
programmation vous permet d’accéder à
la configuration et de spécifier un grand
nombre de paramètres.
La mémoire de configuration du système
est prédéfinie par la configuration API
suivante:
Paramètres de configuration par
défaut de l’API
Paramètre
Nombre de
registres 0x
Nombre de
registres 1x
Modèle 110CPU
311/411
512/612
1024
1536
256
512
Nombre de
registres 3x
32
48
Nombre de
registres 4x
400
1872
Nombre
d’emplace5
ments d’E/S
2 (un pour Ladder
Nombre de
Logic standard et un
segments
Ladder Logic pour les interruptions
et
les
sous-programmes)
5
2 (un pour Ladder
Logic standard et un
pour les interruptions
et
les
sous-programmes)
Ces paramètres par défaut utilisent toute
la mémoire disponible pour la
configuration de l’API. Vous pouvez
modifier des éléments de configuration du
système pour satisfaire aux conditions
requises par une application spécifique.
Si vous utilisez un API 110CPU31101 par
exemple, alors que votre application
nécessite 35 registres d’entrée au lieu
des 32 par défaut, vous pouvez
ré-affecter les trois mots supplémentaires
à partir d’un endroit quelconque du
tableau de configuration. Si l’application
ne nécessite pas toutes les 1024 sorties
”tout ou rien”, vous pouvez en spécifier
976 dans le tableau de configuration de
l’API, puis ré-affecter les 48 bits
supplémentaires comme étant les trois
mots de registre d’entrée (16 bits)
supplémentaires.
Note La quantité de mémoire
totale configurée pour l’API ne peut
dépasser la totalité des paramètres
figurant dans le tableau des
paramètres de configuration par
défaut de l’API.
Système d’exploitation Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
5
Mémoire programme
utilisateur
En fonction du modèle d’API que vous
utilisez, la quantité de mémoire disponible
pour la programmation en Ladder Logic
est la suivante:
V 1024 mots (pour les API 110CPU311
et 110CPU411),
V 2048 mots (pour les API 110CPU512
et 110CPU612).
Il s’agit de la mémoire totale disponible
pour le programme logique. Cependant,
certaines fonctions API en option - les
instructions chargeables supplémentaires
par exemple - utilisent une partie de
cettemémoire.
La mémoire programme utilisateur est
divisée en deux segments. Le premier
est destiné à tout le programme logique.
Le second est réservé au programme
logique des sous- programmes, que l’on
peut appeler au moyen d’une instruction
appelée JSR en Ladder Logic ou d’une
entrée d’interruption à grande vitesse
(existe sur les API 110CPU411,
110CPU512 et 110CPU612).
Note Pour
plus
amples
informations
sur
les
sous-programmes, reportez-vous au
Chapitre 10
6
Système d’exploitation Ladder Logic
Vous trouverez ci-après les instructions
chargeables que l’on peut utiliser avec
les Micro API Modicon et la quantité de
mémoire programme utilisateur utilisée
par chacune d’elle:
Taille
(mots)
Code de
fonction
par
défaut
EARS
760
5F
EUCA
160
1F
Algorithme de conversion en unité physique
Défini par
l’utilisateur
5F
Permet de personnaliser votre propre DX
chargeable
Nom
de
l’instruction
FNxx
Fonction
Pour développer une
gestion d’alarme
avec enregistrement
Pour de plus amples informations sur ces
instructions chargeables, reportez-vous
aux publications techniques de Modicon
suivantes:
V Event Alarm Reporting System User
Guide (GM-EARS-001),
V EUCA Loadable Function Block
User Guide (GM-EUCA-001),
V Custom Loadable Support Software
Programming Manual
(GM-CLSS-001).
Sauvegarde mémoire
Il existe trois façons de sauvegarder la
mémoire données utilisateur, la mémoire
programme utilisateur et la mémoire de
configuration du système:
V au moyen d’une pile au lithium
(110XCP98000) en option,
V au moyen d’un condensateur
(110XCP98000) en option,
V dans une zone réservée de la
mémoire Flash de l’API
(110XCP98000).
Techniques de sauvegarde
en option
Si on utilise un ensemble pile au lithium
ou condensateur, il sauvegarde
automatiquement les paramètres de la
mémoire actuelle en cas de panne
d’alimentation du secteur. Lorsque
l’alimentation est rétablie, l’API redevient
opérationnel avec les paramètres de
configuration et de programme présents
au moment de la coupure du secteur.
La pile au lithium sauvegarde en toute
sécurité les données mémoire pendant
un an. Le condensateur peut
sauvegarder un programme logique
pendant 72 heures (pour plus amples
informations, reportez-vous au manuel
d’installation livré avec votre API).
Sauvegarde au moyen de la
mémoire Flash
Une partie de la mémoire Flash de tous
les Micro API Modicon est réservée à
l’enregistrement de configuration du
système et du programme logique
utilisateur. Cette fonctionnalité vous
permet de sauvegarder votre
configuration et programme logique
même si vous n’utilisez pas de pile ou de
condensateur.
Pour enregistrer la mémoire en Flash,
vous devez lancer une commande vers
PROM/Flash depuis votre logiciel. Les
paramètres en mémoire au moment de
l’enregistrement sont les seuls
paramètres enregistrés en Flash. Une
opération vers PROM/Flash n’est
autorisée que dans un API ayant déjà été
configuré et se trouvant à l’arrêt c’est-à-dire programme utilisateur non
actif.
Si la mémoire est restaurée dans l’API à
partir de la sauvegarde en Flash après
une coupure d’alimentation, les
paramètres datant de la dernière
opération d’enregistrement sont
restaurés.
Procédures de mise sous
tension de l’API
Lorsqu’il est mis sous tension, l’API
vérifie d’abord s’il existe une
configuration valide dans la mémoire de
configuration du système. Si une
configuration valide a été enregistrée
avec sauvegarde par la pile en option,
alors ces paramètres sont présents dans
la mémoire données utilisateur. l’API
s’auto-configure avec ces paramètres et
est prêt à fonctionner.
Si l’API ne détecte pas de configuration
valide dans la mémoire données
utilisateur, il vérifie la sauvegarde dans la
mémoire Flash. Si une configuration
valide a été enregistrée en Flash, l’API
s’auto- configure avec ces paramètres et
est prêt à fonctionner.
Si l’API ne peut trouver de configuration
valide en mémoire ni en mémoire Flash,
il sera mis sous tension dans une
condition de non configuration. Vous
devez brancher une console de
programmation à l’API et le configurer
avant qu’il ne soit programmé ou avant
qu’il ne puisse effectuer un programme
logique logique.
Système d’exploitation Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
7
Stockage d’un API contenant de la logique utilisateur dans la
mémoire Flash
Note Si vous avez enregistré un
programme logique dans la
mémoire Flash d’un API que vous
mettez hors service,
souvenez-vous que tous les
paramètres enregistrés en Flash
sont rémanents.
L’API démarrera en utilisant
immédiatement le programme enregistré
lors de la remise sous tension future. Des
problèmes pourraient éventuellement se
présenter si l’API était stocké pendant
longtemps, puis installé pour une
nouvelle application.
8
Système d’exploitation Ladder Logic
Si vous ne savez pas exactement
comment l’API sera utilisé dans le futur,
nous vous conseillons d’effacer le
programme logique de la mémoire Flash
avant de le mettre hors service. Procédez
comme suit:
Étape 1
Supprimez tous les réseaux du
programme logique.
Étape 2
Ramenez tous les paramètres
de configuration de l’API à leur
définition par défaut.
Étape 3
Assurez-vous que l’API est à
l’arrêt.
Étape 4
Enfin, utilisez votre logiciel pour
exécuter la commande vers
PROM/Flash.
Modes de fonctionnement de l’API
On peut configurer un Micro API Modicon
pour qu’il fonctionne en trois modes
distincts:
V Mode seul - fonctionnement en tant
que système de commande
programmable autonome, gérant ses
propres ressources d’E/S (et dans le
cas des API 110CPU512 et
110CPU612, capable de gérer des
ressources d’E/S A120
supplémentaires).
V Mode parent - fonctionnement comme
un API sur une liaison d’extension
d’E/S et dont l’UC peut gérer les
ressources d’E/S internes de tous les
API sur la liaison.
V Mode enfant - fonctionnement en tant
qu’API sur une liaison d’extension
d’E/S, permettant à l’API sur la liaison
d’accéder à toutes ou partie de ses
ressources d’E/S internes.
Note Il vous incombe en tant
qu’utilisateur de vérifier que
chaque API enfant reçoit un
numéro d’identification enfant
unique. On affecte l’identification
enfant en connectant la console de
programmation à l’enfant et en
tapant le numéro comme faisant
partie de la configuration enfant.
On réalise le réseau d’E/S via des
connexions point à point en série entre
les API parent et enfants, comme indiqué
ci-dessous.
Terminaison 120 Ω
API parent
Port RS-485
Connecteur direct
RJ11
Enfant nº 1
Réseau d’extension d’E/S
Un réseau d’extension d’E/S comprend
un API parent et de 1 à 4 API enfants
connectés au moyen de câbles
téléphoniques à six points standard.
Chaque câble possède un connecteur
RJ11 aux deux extrémités. Les
connexions d’API à API se font sur le
port RS-485 (exp link) de chaque unité.
On ne peut configurer en tant que parent
qu’un seul API sur le réseau. Tous les
autres API sur le réseau doivent être
configurés en tant qu’API enfants. On ne
peut pas utiliser un API en mode de
fonctionnement seul sur un réseau
d’extension d’E/S.
Chaque API enfant ne possède qu’une
seule adresse avec un numéro
d’identification enfant compris entre 1 et
4. On ne peut accéder et contrôler les
ressources d’E/S internes des API
enfants que par une exécution logique
dans l’API parent.
Connecteur en
Y 043502929
Enfant nº 2
Connecteur en
Y 043502929
Enfant nº 3
Connecteur en Y
043502929
Terminaison 120 Ω
Enfant nº 4
Connecteur
direct RJ11
Réseau d’extension d’E/S
Système d’exploitation Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
9
Extension d’E/S A120
Seul l’API connecté aux E/S A120 peut y
accéder. Cela signifie que le programme
en Ladder Logic gérant l’E/S A120 et
toutes les topologies d’E/S A120
associées doit être enregistré dans l’API
auquel l’extension d’E/S A120 est
connectée.
Les API 110CPU512 et 110CPU612 sont
équipés d’un port d’extension à 30
broches permettant aux API de
communiquer avec des embases d’E/S
A120. Ce port est dédié aux
communications E/S A120.
Note Les API 110CPU311 et
110CPU411 ne prennent pas en
charge l’extension E/S A120.
Avec l’extension E/S A120, les embases
2 à 4 sont interconnectés le long d’un
bus parallèle physiquement monté sur un
rail DIN. l’API lui-même est configuré
comme étant l’embase 1 et l’embase E/S
A120 est configuré comme étant les
embases 2 à 4.
Note Si un API enfant sur une
liaison d’extension d’E/S en série
utilise une extension E/S A120,
l’API parent sur la liaison ne peut
accéder à l’E/S A120 associée à
cet API enfant. Ce-dernier doit être
indépendamment programmé avec
son propre programme,
configuration API et topologie d’E/S
pour gérer ces E/S A120.
L’API peut utiliser une extension E/S
A120 en 3 modes de fonctionnement
distincts.
Mode simple
API 512/612
Extension E/S A120 (parallèle)
API mode simple
Châssis 1
API 512/612 parent
Embase 2
ou
Embase 3
Embase 4
Extension E/S A120 (parallèle)
API mode parent
Châssis 1
API mode enfant
Embase 2
Embase 3
Embase 4
Embase 3
Embase 4
Liaison d’extension
d’E/S (en série)
API 512/612 enfant
API mode enfant
Châssis 1
10
Embase 2
Système d’exploitation Ladder Logic
Jeu d’instructions Ladder Logic
Le système d’exploitation Ladder Logic
résidant dans la RAM Flash d’un Micro
API Modicon contient le jeu d’instructions
énumérées ci-dessous. Sachez que
certains modèles de Micro possèdent un
jeu d’instructions évolué avec des
fonctionnalités n’existant pas sur les
modèles d’entrée de gamme.
Instructions Ladder Logic standard (existent sur tous les Micro API)
Instruction
Description
Logique relais
Contact normalement ouvert (N.O.)
Contact normalement fermé (N.F.)
Contact transitionnel positif
Contact transitionnel négatif
( )
( M)
Sortie normale
Sortie mémorisée
Compteurs
UCTR
Compteur de 0 à une valeur prédéfinie
DCTR
Décomptage d’une valeur prédéfinie à 0
Base de temps
T1.0
Temporisation en secondes
T0.1
Temporisation en dixièmes de secondes
T.01
Temporisation en centièmes de secondes
T1MS
Temporisation en ms
Opérations sur des entiers
ADD
Addition
SUB
Soustraction ou opération supérieur à/inférieur à
MUL
Multiplication
DIV
Division
Transfert de données
→T
→R
T→T
R
Transfert de registre à table
T
Transfert de table à registre
Transfert de table à table
BLKM
Transfert d’un bloc
FIN
Opération premier entré dans la file d’attente
FOUT
Opération premier sorti de la file d’attente
SRCH
Recherche dans une table d’un profil binaire dans un des registres
Système d’exploitation Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
11
Instructions Ladder Logic standard (suite)
Instruction
Description
Matrice données
AND
ET logique de deux matrices
OR
OU logique de deux matrices
XOR
OU exclusif logique de deux matrices
COMP
Complément logique des profils binaires dans deux matrices
CMPR
Comparaison logique des profils binaires dans deux matrices
MBIT
Modification d’un bit - c’est-à- dire modification de la valeur actuelle (1,0) du bit
SENS
Détection d’un bit - c’est-à-dire mention de la valeur actuelle (1,0) du bit
BROT
Rotation d’un bit - c’est-à-dire changement de position du bit à gauche ou à droite dans une matrice
ASCII
Opération de communication lecture ou écriture en ASCII
COMM
Ordre
Séquenceur matriciel et opérations de comparaison d’entrées
SCIF
Sous-programmes
JSR
Omet le cycle logique à partir d’une logique de commande vers un
sous-programme Ladder Logic programmé dans le dernier segment.
LAB
Libelle l’emplacement de l’entrée du sous-programme appelé dans le dernier segment
RET
Ramène le cycle logique à son emplacement précédent dans le programme logique avant JSR
CTIF
Définit les entrées à grande vitesse pour les opérations d’interruptions et celles du compteur/tempo
Divers
STAT
Vérifie et affiche l’état de l’API et celui de ses E/S
SKP
Indique au cycle logique d’omettre les réseaux spécifiés dans le programme
Instructions Ladder Logic évoluées
(existent sur les modèles 110CPU512 et 110CPU612 uniquement)
Instruction
12
Description
BLKT
Transfert de bloc à table
TBLK
Transfert de table à bloc
CKSM
Effectue les opérations CRC-16, LRC, directes ou vérifications de sommes de commande
PID2
Effectue les fonctions de commandes proportionnelles-intégrales-dérivées PID
EMTH
Effectue les fonctions mathématiques évoluées telles que racines carrées, racines carrées
process, log , antilog et virgule flottante.
Système d’exploitation Ladder Logic
Chapitre 2
Procédures de démarrage
j Mise en route
j Paramètres d’autoconfiguration
j Ports de communication autoconfigurés
j Modification des paramètres de configuration
j Adressage d’emplacements d’E/S
j Adressage d’E/S A120
j Adressage d’E/S sur une liaison d’extension
j Partage des E/S internes entre les API parent et enfants
j Transfert de données généralisées
j Commandes API
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
13
Mise en route
Organigramme 1
Étape 1 Mise sous tension
Tests de démarrage effectués
automatiquement
Échoué
Système non
configurable
(voir Annexe B)
Réussi
L’API
recherche la
configuration dans la
mémoire de
configuration du
système
Configuration
valide inexistante
L’API
recherche une
configuration dans la
RAM Flash
Trouve une
configuration
valide
L’API est
configuré et PRET
Configuration
valide inexistante
L’API démarre en
tant que machine
non configurée
API sous tension
et non configuré
Étape 2 Connexion de la console de
programmation et configuration de l’API
Suite sur l’organigramme 2
Mise sous tension
Aussitôt qu’un Micro API de Modicon est
mis sous tension, il tente de démarrer. Le
système d’exploitation quant à lui tente
de récupérer les données de
configuration enregistrées auparavant, à
partir de la sauvegarde de la mémoire.
Démarrage d’un API configuré
auparavant
Si l’API a déjà fonctionné et qu’une
configuration (et peut-être un programme
logique) a déjà été enregistré en mémoire,
il commencera immédiatement à
fonctionner avec les paramètres
enregistrés.
14
Procédures de démarrage
Si l’API possède une sauvegarde par pile
en option, il trouvera les paramètres de
configuration précédents dans sa mémoire
de configuration et les paramètres
logiques utilisateur précédents dans sa
mémoire programme utilisateur. On peut
en outre enregistrer la configuration et la
logique utilisateur dans la RAM Flash de
l’API, si on n’utilise pas de sauvegarde
par pile.
Comme l’indique l’organigramme
ci-dessus, le système d’exploitation
effectue une première recherche dans la
mémoire de configuration du système de
l’API. S’il trouve une configuration valide
enregistrée, il utilise ces paramètres pour
fonctionner. S’il n’en trouve pas, il en
cherche une dans la RAM Flash. S’il en
trouve une, il utilise ces paramètres pour
fonctionner.
Configuration d’un Micro API
Modicon
Étape 1
Connecter une console de
programmation,
tel
que
MODSOFT Lite ou HHP, à un
port comm RS-232 de l’API.
Étape 2
Accéder
à
l’éditeur
de
configuration au moyen de
menus (le chemin vers l’éditeur
de configuration varie en
fonction de la console utilisé,
mais il s’agit d’un écran de haut
niveau auquel on peut accéder
avec un nombre minimal de
frappes).
Étape 3
S’assurer que la console
reconnait quel type de modèle
d’API
(parexempleun110CPU31101,
un
110CPU51200)
il
va
configurer.
HHP
affiche
automatiquement
ces
informations lors du démarrage;
MODSOFT Lite vous invite à
sélectionner le type de modèle à
partir d’une liste.
Étape 4
Sélectionner le mode de
fonctionnement souhaité de
l’API à configurer (seul, parent
ou enfant).
Étape 5
Transférer les paramètres de
configuration de la console à
l’API.
Si l’API était auparavant en mode
MARCHE (RUN), l’API commence
immédiatement l’analyse de sa logique. Il
est inutile d’y connecter une console de
programmation.
Si l’API était auparavant en mode
ARRÊT, vous devez connecter une
console de programmation à l’un des
ports Comm de l’API pour le mettre en
route.
Démarrage d’un API non configuré
Si le système d’exploitation ne peut
trouver de configuration valide dans la
mémoire Flash ou dans la mémoire de
configuration du système de l’API, il
démarre en tant que machine non
configurée. Un API est mis sous tension
non configuré lors de son tout premier
démarrage ou lorsque ses paramètres de
configuration ont été effacés ou
détériorés.
Vous devez configurer l’API avant de
pouvoir écrire un programme logique ou
valider la scrutation des E/S.
Résultat La
console
configure
automatiquement l’API avec un
jeu complet de paramètres
valides en fonction du modèle et
du mode de fonctionnement
spécifiés. A ce stade, l’API est
configuré.
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
15
Paramètres d’autoconfiguration
En fonction du modèle et du mode de
fonctionnement spécifiés, la console
configure automatiquement l’API avec un
jeu complet de paramètres valides. Les
trois tableaux suivants présentent ces
paramètres d’autoconfiguration.
Autoconfiguration d’un API
en mode seul
Si vous configurez un API en mode de
fonctionnement seul, seuls les
paramètres autoconfigurés présentés
ci-dessous vous seront nécessaires pour
commencer votre programmation en
Ladder Logic.
Paramètres d’autoconfiguration pour un Micro API en mode seul
Paramètre
Modèles 110CPU
311 / 411
512 / 612
Adresses affectées 0x
1024
1536
Adresses affectées 1x
256
512
Adresses affectées 3x
32
48
Adresses affectées 4x
400
1872
Nombre de segments
de Ladder Logic
2 (un pour le programme logique et un
pour les sous-programmes)
2 (un pour le programme logique et un
pour les sous-programmes)
Port RS-232
(comm 1)
Mode Modbus dédié: communications
RTU sur 8 bits, 9600 bauds, parité paire,
1 bit de STOP, adresse Modbus nº 1
Mode Modbus dédié: communications
RTU sur 8 bits, 9600 bauds, parité paire,
1 bit de STOP, adresse Modbus nº 1
Port RS-232
(comm 2)
Indisp.
Mode Modbus dédié: communications
RTU sur 8 bits, 9600 bauds, parité paire,
1 bit de STOP, adresse Modbus nº 1
Port RS-485
(exp. link)
ASCII dédié: communications ASCII
sur 8 bits, 9600 bauds, parité paire, 1 bit
de STOP
ASCII dédié: communications ASCII sur
8 bits, 9600 bauds, parité paire, 1 bit de
STOP
Autoconfiguration d’un API
en mode parent
Si vous spécifiez un mode de
fonctionnement parent, vous devez
spécifier le nombre d’API enfants qui
seront autorisés sur la liaison d’extension
d’E/S. Ce nombre doit être compris entre
1 et 4.
16
Procédures de démarrage
Une fois ce nombre spécifié, l’API est
prêt à être programmé.
Paramètres d’autoconfiguration pour un Micro API en mode parent
Paramètre
Modèles 110CPU
311 / 411
512 / 612
Adresses affectées 0x
1024
1536
Adresses affectées 1x
256
512
Adresses affectées 3x
32
48
Adresses affectées 4x
400
1872
Nombre de PLC enfants
sur l’extension E/S
à spécifier par l’utilisateur
à spécifier par l’utilisateur
Nombre de segments
Ladder Logic
2 (un pour le programme logique et un
pour les sous-programmes)
2 (un pour le programme logique et un
pour les sous-programmes)
Port RS-232
(comm 1)
Mode Modbus/ASCII à commutation:
communications RTU sur 8 bits/ASCII
sur 8 bits, 9600 bauds, parité paire, 1 bit
de STOP, adresse Modbus nº 1
Mode Modbus dédié: communications
RTU sur 8 bits, 9600 bauds, parité paire,
1 bit de STOP, adresse Modbus nº 1
Port RS-232
(comm 2)
Indisp.
Mode Modbus/ASCII à commutation:
communications RTU sur 8 bits/ASCII sur
8 bits, 9600 bauds, parité paire, 1 bit de
STOP, adresse Modbus nº 1
Port RS-485
(exp. net)
Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds,
1 bit de STOP
Autoconfiguration d’un API
en mode enfant
Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds,
1 bit de STOP
Lorsque vous avez spécifié le numéro
d’identification enfant, l’API est prêt à être
programmé.
Si vous spécifiez un mode de
fonctionnement enfant, vous devez
affecter un numéro d’identification enfant
à l’API. Ce numéro, compris entre 1 et 4,
doit être unique pour cet enfant en
particulier que vous configurez parmi tous
les autres API enfants à placer sur le
réseau d’extension d’E/S.
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
17
Paramètres d’autoconfiguration pour un Micro API en mode enfant
Modèles 110CPU
Paramètre
311 / 411
512 / 612
Adresses affectées 0x
1024
1536
Adresses affectées 1x
256
512
Adresses affectées 3x
32
48
Adresses affectées 4x
400
1872
Nº d’identification enfant
à spécifier par l’utilisateur
à spécifier par l’utilisateur
Nombre de segments
Ladder Logic
2 (un pour la logique de commande et un
pour les sous-programmes)
2 (un pour la logique de commande et un
pour les sous-programmes)
Port RS-232
(comm 1)
Mode de commutation Modbus/ASCII:
communications RTU sur 8 bits/ASCII sur
8 bits, 9600 bauds, parité paire paire, 1 bit
de STOP, adresse Modbus nº 1
Mode Modbus dédié: communications
RTU sur 8 bits, 9600 bauds, parité paire
paire, 1 bit de STOP, adresse Modbus nº 1
Port RS-232
(comm 2)
Port RS-485
(exp. net)
Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds,
1 bit de STOP
Exemples de configuration
Vous trouverez ci-dessous quelques
écrans de définition de configuration ainsi
que l’explication des paramètres affichés.
Il s’agit de trois écrans pour un API
110CPU51200 configuré selon ses trois
modes de fonctionnement. Les exemples
en MODSOFT Lite permettent d’illustrer
les problèmes conceptuels liés à la
configuration de l’API. MODSOFT Lite
18
Mode Modbus/ASCII de commutation:
communications RTU sur 8 bits/ASCII sur
8 bits, 9600 bauds, parité paire paire, 1 bit
de STOP, adresse Modbus nº 1
Indisp.
Procédures de démarrage
Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds, 1
bit de STOP
n’est pas le seul logiciel de
programmation destiné à configurer un
Micro; les écrans présentés dans ces
exemples contiennent davantage de
paramètres que ceux de HHP. Vous
trouverez une description plus
approfondie des procédures d’édition en
MODSOFT Lite ou HHP dans le manuel
de programmation livré avec votre
progiciel.
Écran 1.
API 110CPU51200 avec des paramètres autoconfigurés en mode seul
Écran 2.
API 110CPU51200 avec des paramètres autoconfigurés en mode parent
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
19
Écran 3.
API 110CPU51200 avec des paramètres autoconfigurés en mode enfant
Mode de fonctionnement API
Le mode de fonctionnement est décrit
dans l’entrée 984 Type du champ de
données situé dans la partie supérieure
gauche des écrans. 984 MICRO-S
indique le mode seul, 984 MICRO-P
indique le mode parent et 984 MICRO-E
indique le mode enfant.
Enfant Micro nº
Il faut spécifier le numéro d’identification
enfant pour un API configuré en mode de
fonctionnement enfant. La configuration
MODSOFT Lite par défaut de
l’identification est 1. Lorsque vous
configurez plusieurs API enfants sur une
liaison d’extension d’E/S, vous devez
vous assurer que chacun d’eux possède
un numéro d’identification unique compris
entre 1 et 4.
Ce paramètre ne s’applique pas aux API
en mode parent et seul. Pour les API
fonctionnant dans un de ces deux
modes, Enfant Micro nº est
spécifié comme étant Aucun.
Adressage 0x, 1x, 3x et 4x
L’adressage de la mémoire interne est le
même dans tous les modes. Les
affectations d’adresses autoconfigurées
sont représentées par le nombre maximal
d’adresses existant dans le modèle
110CPU51200.
20
Procédures de démarrage
Note L’adressage est plus réduit
dans les modèles API 110CPU311
et 110CPU411.
Nombre de segments Ladder
Logic
Le nombre autoconfiguré de segments
Ladder Logic est de 2. Le premier
segment est réservé au programme
logique de commande normale et le
second aux sous-programmes.
Nombre d’API enfants
Si l’API est configuré en mode de
fonctionnement parent, vous devez
spécifier le nombre d’API enfants
auxquels il peut accéder sur le réseau
d’extension d’E/S. La configuration par
défaut de MODSOFT Lite est 1. Si vous
souhaitez placer plusieurs enfants sur le
réseau, alors modifiez ce paramètre.
Ce paramètre ne s’applique pas aux API
seul et enfants. Pour les API fonctionnant
dans un de ces modes, le Nombre
d’Enfants est spécifié comme étant
0.
Emplacements E/S
Un emplacement E/S est une unité d’E/S
associée à un type particulier de Micro
API. Ces emplacements E/S, décrits de
façon détaillé plus loin dans ce chapitre,
comprennent les E/S internes intégrées à
l’API et des modules d’E/S A120
connectés à l’API sur le port d’extension
E/S.
Note Seuls les modèles
110CPU512 et 110CPU612
prennent en charge les E/S A120;
les modèles 110CPU311 et
110CPU411 ne les acceptent pas.
Le nombre d’emplacements par défaut de
tous les modèles 110CPU512 est de 18.
Ce nombre vous permet de prendre en
charge trois ou quatre emplacements E/S
- l’E/S TOR, les entrées à grande vitesse
et le transfert de données généralisées
(davantage sur cette dernière) - ainsi que
15 emplacements d’E/S A120.
Note Le nombre d’emplacements
E/S par défaut des modèles
110CPU311 et 110CPU411 est
beaucoup plus petit car ces unités
ne prennent pas en charge l’E/S
A120.
Bit pile mémoire
Le système d’exploitation se réserve
automatiquement l’adresse 00081 en tant
que bit pile mémoire. Le fonctionnement
de cette sortie ressemble à celui de la
LED batt low (pile faible) de l’API en ce
sens qu’elle s’allume lorsque la pile en
option doit être remplacée. Vous pouvez
la relier à une alarme ou à un affichage
externe vous informant qu’il faut
remplacer la pile.
Lorsque la sortie pile mémoire est ON, il
faut remplacer la pile dans un délai de 14
jours.
Registre base de temps
Le système d’exploitation se réserve
automatiquement le registre 40011 en
tant que base de temps autonome. Ce
registre est utilisé pour des applications
utilisant des temps de 10 ms.
Horloge calendaire
Le système d’exploitation réserve
automatiquement un bloc de huit
registres de sortie contigus (40012 à
40019) pour enregistrer les données en
provenance de l’horloge calendaire de
l’API (dans les modèles 110CPU411
110CPU512 et 110CPU612). Vous devez
initialiser l’horloge pour pouvoir l’utiliser.
Les 16 bits de chaque registre permettent
d’enregistrer les informations suivantes:
V Registre 40012 - le registre de
commande:
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16
non utilisé
1 = une erreur
1 = tous les paramètres d’horloge ont été définis
1 = lecture des paramètres d’horloge
1 = définition des paramètres d’horloge
V Registre 40013 - jour de la semaine
(dimanche = 1, lundi = 2, etc.)
V Registre 40014 - mois de l’année
(janvier = 1, déc. = 12, etc.)
V Registre 40015 - jour du mois (de 1 à
31)
V Registre 40016 - année (de 0 à 99)
V Registre 40017 - heure exprimée sur
24 heures (de 0 à 23)
V Registre 40018 - minute (de 0 à 59)
V Registre 40019 - seconde (de 0 à 59)
Si vous lisez par exemple sur l’horloge
calendaire 9:25:30 le jeudi 18 mars 1993,
le bloc de registres affichera les
informations suivantes:
40012 = 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
40013 = 5 (format décimal)
40014 = 3 (format décimal)
40015 = 18 (format décimal)
40016 = 93 (format décimal)
40017 = 9 (format décimal)
40018 = 25 (format décimal)
40019 = 30 (format décimal)
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
21
Ports de communication autoconfigurés
Port RS-485
Pour un API parent ou enfant, il faut
utiliser le port RS-485 (exp link) pour
interconnecter les unités sur le réseau
d’extension d’E/S. Dans ces deux modes
de fonctionnement, les paramètres de
port autoconfigurés sont définis et on ne
peut les modifier.
On ne peut définir le port exp link pour
un réseau d’ extension d’E/S dans un
API en mode seul; il faut soit l’utiliser
pour les communications ASCII, soit le
désactiver. Les paramètres de ce port
autoconfigurés en mode seul sont
réservés aux communications ASCII.
Note On ne peut définir qu’un
seul port de communication pour
exécuter les fonctions de
communication ASCII.
Port(s) RS-232
Les Micro API 110CPU512 et
110CPU612 possèdent deux ports de
communication RS-232, alors que les
modèles 110CPU311 et 110CPU411 n’en
possèdent qu’un seul. Les paramètres
autoconfigurés affectés à ces ports
dépendent à la fois du modèle et du
mode de fonctionnement de l’API.
Si un API fonctionne en mode parent ou
enfant, le logiciel autoconfigure un des
ports RS-232 dans un mode supportant
les communications entre l’API et un
équipement d’entrée/sortie ASCII ou un
équipement Modbus maître.
Note Modbus est le protocole
gérant les communications de
programmation en Ladder Logic
entre une console de
programmation et l’API. La console
de programmation est considérée
comme étant l’équipement Modbus
maître et l’API comme étant
l’équipement du Modbus esclave.
22
Procédures de démarrage
En mode de commutation Modbus/ASCII,
le port RS-232 utilise le DSR pour
informer l’API si un équipement ASCII ou
Modbus maître est connecté.
V Lorsqu’un équipement ASCII - une
imprimante ou un terminal ASCII par
exemple - est branché sur comm 1, le
DSR devient INACTIF et le port
communique des données ASCII sur 8
bits.
V Lorsqu’un équipement Modbus maître
- un HHP ou un ordinateur exécutant
MODSOFT Lite par exemple - est
branché sur comm 1, le DSR devient
ACTIF et le port communique des
données RTU sur 8 bits.
Si l’API est un modèle 110CPU311 et
110CPU411 fonctionnant en mode parent
ou enfant, le mode de commutation
Modbus/ASCII est autoconfiguré sur le
port comm 1. Si l’API est un modèle
110CPU512 ou 110CPU612 fonctionnant
en mode parent ou enfant, le mode de
commutation Modbus/ASCII est
autoconfiguré sur le port comm 2, et le
port comm 1 est autoconfiguré pour les
communications Modbus dédiées.
Dans les API fonctionnant en mode seul,
les ports RS-232 sont toujours configurés
pour les communications Modbus
dédiées parce que le port RS-485 est
autoconfiguré pour des communications
ASCII et un seul port de l’API peut
prendre en charge ces communications.
Tous les ports RS-232 sont
autoconfigurés pour les communications
à 9600 bauds, ce qui vous permet de
connecter une console de programmation
à l’API sur un port RS-232 quelconque.
On ne peut pas utiliser sur un port
Modbus dédié des équipements ne
communiquant pas Modbus.
Note Si vous utilisez 9600 bauds
sur un port RS-232, vous ne devez
pas dépasser 2400 bauds sur
l’autre port RS-232.
Modification des paramètres de configuration
Organigramme 2
API configuré
Souhaitez-vous
modifier les paramètres
de configuration
courants ?
Oui
Étape 3. Connecter
la console de configuration et modifier
les paramètres de
configuration
Non
Étape 4. Connecter la console
de configuration et modifier les
paramètres d’affectation d’E/S
oui
Souhaitez-vous
modifier les paramètres
d’affectation d’E/S
courants ?
Non
Suite dans l’organigramme 3
Selon la console de programmation
utilisée, vous ne pouvez modifier que
quelques paramètres d’autoconfiguration,
alors que MODSOFT Lite vous confère
une grande souplesse de configuration.
Attention Si vous utilisez une
HHP pour apporter des
modifications à une
configuration d’API existante,
vous effacerez toutes les
données en Ladder Logic,
affectation d’E/S, messages en
ASCII actuellement enregistrés
dans la mémoire de l’API.
Adressage
Si par exemple votre application requiert
32 adresses 0x supplémentaires, vous
pouvez en ajouter 32 au total existant si
vous diminuez de 32 les adresses 1x
affectées ou si vous diminuez de 2 les
adresses 3x ou 4x affectées (les registres
3x et 4x contiennent 16 bits; les adresses
0x et 1x n’en contiennent qu’un seul).
Nombre de segments
Vous ne devez pas modifier la valeur
autoconfigurée 2 même si vous n’avez
pas l’intention d’utiliser de
sous-programmes. Le second segment
ne sera jamais analysé à moins qu’il ne
soit appelé par une instruction JSR ou
une interruption matériel.
Vous pouvez modifier l’agencement des
adresses de votre configuration au
moyen de MODSOFT Lite. En revanche,
vous ne pouvez augmenter leur nombre.
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
23
Paramètres de
communication RS-232
On peut définir les ports RS-232 pour
qu’ils fonctionnent en mode Modbus ou
ASCII simple. En mode Modbus, le port
est esclave de l’équipement Modbus
maître connecté; cet équipement est
généralement une console de
programmation. En mode ASCII seul, le
port est lu et écrit en Ladder Logic ( vous
trouverez une description des instructions
Ladder Logic de communication ASCII
dans le Chapitre 8 ).
Port RS-232
Mode Modbus
Protocole RTU
sur 8 bits
Protocole RTU
sur 7 bits
Mode ASCII simple
Protocole ASCII
sur 8 bits
Protocole ASCII
sur 7 bits
Mode Modbus
En mode Modbus, le port peut
communiquer au moyen d’un protocole
(RTU) d’unité terminale décentralisée sur
8 bits ou d’un protocole ASCII sur 7 bits.
Sur le port RS-232 comm 1, RTU n’est
pris en charge qu’à 9600 bauds et ASCII
à 2400 bauds. Le port comm 1 est
également limité à la parité paire paire et
avec un bit de STOP pour RTU et ASCII.
On peut définir l’adresse Modbus du port
entre 1 et 247.
Note Un Micro API peut être un
abonné Modbus si on lui affecte
une adresse de réseau Modbus
unique. Si l’API n’est pas sur un
réseau Modbus, il faut garder
l’adresse par défaut 1. Si l’API est
sur un réseau Modbus, son
adresse, comprise entre 1 et 247,
doit être unique parmi tous les
autres abonnés du réseau (pour
plus amples détails, reportez-vous
au Modicon Modbus Protocol
Reference Guide PI-MBUS-300).
24
Procédures de démarrage
Si votre API possède un port RS-232
comm 2, d’autres paramètres de port en
mode Modbus existent en option:
Paramètres de communication en option
pour le port comm 2
Bauds
1200, 2400, 4800, 9600
Mode de
communication
ASCII sur 7 bits, RTU sur 8 bits
Contrôle de parité
impaire, paire, aucune
Bits de STOP
Adresse Modbus
1, 2
de 1 à 247
Les deux combinaisons suivantes des
paramètres du port RS-232 ne sont pas
prises en charge par les ports comm 1 et
exp link pour les communications en
mode ASCII simple:
V ASCII sur 7 bits avec un bit de STOP
et aucune parité paire
V ASCII sur 8 bits avec un bit de STOP
et avec parité paire ou parité paire
paire
Mode ASCII simple
En mode ASCII simple, un port RS-232
ne peut communiquer qu’avec un
protocole ASCII, avec une résolution sur
7 bits ou sur 8 bits. Les communications
RTU en mode ASCII simple ne sont pas
autorisées.
Un port RS-232 en mode ASCII simple
peut recevoir un paramètre de port
quelconque à savoir:
Paramètres de communication en option
pour ASCII simple
Bauds
Mode de
communication
Contrôle de parité
Bits de STOP
1200, 2400, 4800, 9600
ASCII sur 7 bits, RTU sur 8 bits
impaire paire, aucune
1, 2
Capacités de communication par
modem
Le port comm 1 sur tous les modèles
Micro API de Modicon est équipé d’un
circuit prenant en charge les signaux de
commande par modem. Pour prendre en
charge les communications par modem,
le port de l’API doit être en mode Modbus
dédié et il faut utiliser un adaptateur
spécial sur l’extrémité modem de la
connexion par câble.
Attention En raison du
fonctionnement spécial du DSR
lorsque le port est commuté
ASCII, le port comm 1 ne peut
communiquer par modem
lorsqu’il est défini sur ce mode.
Un kit de quatre adaptateurs Modicon
existe contenant les éléments requis pour
personnaliser un adaptateur sur votre
modem:
Description adaptateur
Si vous souhaitez configurer l’unité pour
les communications par modem, placez
comm 1 en mode Modbus dédié et
définissez ses paramètres de ports de
façon à ce qu’ils correspondent au
modem, c’est-à-dire en mode ASCII,
2400 bauds.
Paramètres de
communication du port
RS-485
Si le port RS-485 exp net est utilisé en
tant que port ASCII dédié (uniquement si
l’API est en mode seul), vous avez le
choix entre les paramètres de
communication suivants:
Paramètres de communication en option
pour le port exp net
Bauds
1200, 2400, 4800, 9600
Mode de
communication
Contrôle de parité
Bits de STOP
Kits d’adaptateurs RJ45,
connecteurs en D
RJ45 à 9 broches,
connecteur en D, mâle
RJ45 à 9 broches,
connecteur en D, femelle
RJ45 à 25 broches,
connecteur en D, mâle
RJ45 à 25 broches,
connecteur en D, femelle
Comm 2 ne prend pas en charge les
communications par modem.
Numéro pièce
110XCA20301
110XCA20302
110XCA20401
110XCA20402
ASCII sur 7 bits,
ASCII sur 8 bits
impaire, paire aucune
1, 2
Si le port RS-485 est utilisé pour le
réseau d’extension d’E/S - c’est-à-dire si
l’API est en mode parent ou enfant alors les paramètres de port
autoconfigurés sont fixes et on ne peut
les modifier.
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
25
Adressage d’emplacements d’E/S
L’affectation d’E/S est une table située
dans la mémoire de configuration du
système reliant les adresses affectées de
la mémoire données utilisateur de l’API
(0x, 1x, 3x et 4x) aux entrées et sorties
utilisateur réelles.
Emplacements E/S internes
Un Micro API Modicon possède cinq
emplacements d’E/S internes réservés
dans l’éditeur d’affectation d’E/S:
V Emplacement 1 pour l’adressage des
entrées et des sorties TOR fixes,
V Emplacement 2 pour l’adressage des
entrées bits comptage/interruption,
V Emplacement 3 pour l’adressage des
entrées 16 bits tempo/comptage,
V Emplacement 4 pour l’adressage des
entrées et des sorties analogiques
internes,
V Emplacement 5 pour l’adressage des
registres de transfert pour une
opération de transfert de données
généralisées, entre un API parent et
enfant.
On ne peut utiliser certains
emplacements dans tous les modèles
API. En effet, l’emplacement 4 est
réservé aux E/S analogiques internes
existant uniquement dans les
110CPU612. Quand il n’est pas utilisé, un
emplacement d’E/S internes réservé dans
l’affectation d’E/S doit rester vide; on ne
peut l’utiliser pour l’adressage d’un autre
type d’E/S.
Lorsque vous regardez une affectation
d’E/S sur votre logiciel, les types de
points d’E/S sur chaque emplacement
d’E/S internes sont spécifiés par un type
d’emplacement alphanumérique. Le
tableau ci- dessous présente les types
d’emplacements standard pour les
ressources fixes de tous des modèles de
Micro API.
Types d’emplacements E/S pour E/S internes
Emplacement E/S
TOR (1)
Ressources internes
Type d’emplacement
31100, 41100
51200, 61200
de 16 à 24 VCC entrée/12 relais sortie
MIC128
31101, 41101, 51201
de 16 à 115 VCA entrée/8 triac sortie
4 relais sortie
MIC131
31102, 41102, 51202
de 16 à 230 VCA entrée/8 triac sortie
4 relais sortie
MIC134
de 16 à 24 VCC entrée/12 sortie transistor
MIC137
Modèle 110CPU
31103, 41103,
51203, 61203
Compteur/interruption (2)
Tous les modèles
411, 512 et 612
Tempo/compteur (3)
Indisp. sur
modèles 311
Analogique (4)
Modèles 612
uniquement
Tous les canaux de sortie
ont une résolution sur 12
bits
Transfert de données
généralisées (5)
26
Tous les modèles
512 et 612
Procédures de démarrage
Compteur/Entrée interruption
sur 8 bits entrée
Tempo, registre 16 bits / valeur comptage
MIC140
MIC147
4 entrée (0 à 10, 12 bits), 2 sortie
MIC141
4 entrée (1 à 5, 12 bits), 2 sortie
MIC142
4 entrée (±10, 12 bits), 2 sortie
MIC143
4 entrée (0 à 10, 15 bits), 2 sortie
MIC144
4 entrée (1 à 5, 14 bits), 2 sortie
MIC145
4 entrée (±10), 2 sortie
MIC146
1 mot entrée, 1 mot sortie
MIC148
2 mots entrée, 2 mots sortie
MIC149
4 mots entrée, 4 mots sortie
MIC150
8 mots entrée, 8 mots sortie
MIC151
Le système d’exploitation réserve les
douze premières adresses 0x et les
seize premières adresses 1x (00001 à
00016 et 10001 à 10016) aux E/S TOR
fixes de l’unité.
L’adressage des ressources d’un API
110CPU51201 en mode seul serait le
suivant:
V Type d’emplacement MIC131 dans le
premier emplacement pour spécifier
les points d’E/S TOR; les entrées 115
VCA ont les adresses de 10001 à
10016, les sorties triac ont les
adresses de 00001 à 00008, les
sorties relais ont les adresses de
00009 à 00012.
V Type d’emplacement MIC140 dans le
second emplacement pour spécifier
les entrées interruption/compteur ayant
les adresses de 10081 à 10088.
V Type d’emplacement MIC147 dans le
troisième emplacement pour spécifier
le registre tempo/interruption avec
l’adresse 30001.
Les deux derniers emplacements, pour
l’E/S analogique et le transfert de
données généralisé, n’existent pas sur
cette affectation d’E/S. Seul les API
110CPU612 prennent en charge l’E/S
analogiques et seuls les API parent et
enfants prennent en charge le transfert
de données généralisées.
L’écran ci-dessous est un exemple
d’affectation d’E/S MODSOFT Lite
illustrant l’affichage TOR.
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
27
Adressage d’E/S A120
Les modèles 110CPU512 ou 110CPU612
peuvent utiliser l’extension d’E/S en
option. Dans ce cas, l’E/S A120 doit
également s’afficher dans la mémoire de
configuration du système de l’API.
Vous devez modifier l’affectation d’E/S via
logiciel pour affecter une adresse à l’E/S
A120. Chaque module d’E/S A120 reçoit
un emplacement dans l’embase où il se
trouve.
Chaque embase physique connectée à
l’API - embase nº 2, nº 3 et nº 4 - peut
posséder jusqu’à cinq emplacements. On
peut affecter des adresses à 15 modules
d’E/S A120 (emplacements) dans un
affectation d’E/S d’un Micro API. L’API
réserve les adresses suivantes pour
l’adressage d’E/S étendu:
V adresses 00017 à 00080 à affecter
aux sorties A120 TOR,
V adresses 10017 à 10080 à affecter
aux d’entrées A120 TOR,
V adresses 30002 à 30005 et 30011 à
30030 à affecter aux entrées
analogiques depuis l’E/S A120,
V adresses 40003 à 40010 sont
réservées à l’affectation des sorties de
registre depuis l’E/S A120.
Note On peut utiliser ces
adresses réservées à l’adressage
des ressources d’E/S internes dans
d’autres API sur un réseau
d’extension d’E/S si elles ne sont
pas affectées à l’adressage de
l’E/S A120.
Exemple: un Micro API avec
une embase d’E/S A120
L’exemple suivant utilise deux écrans
d’affectation d’E/S MODSOFT Lite. Le
système d’affectation E/S comprend un
API 110CPU51200 et une embase de
cinq modules d’E/S A120, deux
BDAP212 et trois BDAP216.
L’API n’utilise qu’un seul bloc d’E/S TOR
pour son application. Par conséquent, un
total de six emplacements d’E/S sont
utilisés dans cette configuration: MIC128
pour les points d’E/S internes et cinq
emplacements pour les modules d’E/S
A120.
L’écran 1 représente l’affectation d’E/S
pour les ressources d’E/S internes de
l’API 110CPU51200. Cet API est
considéré comme étant l’ embase nº 1
pour ce qui est de l’extension d’E/S
A120. Sachez que l’on ne peut accéder
qu’aux emplacements 1, 2 et 3 de l’
embase nº 1.
Note Dans MODSOFT Lite,
chaque embase est affiché sur un
écran distinct. Vous pouvez vous
déplacer vers l’avant et vers
l’arrière à travers les écrans,
c’est-à-dire à travers les embases,
en appuyant sur <PgUp> et
<PgDn>.
Les E/S A120 dans l’embase 2 reçoivent
une affectation d’E/S dans le tableau
présenté à l’écran 2. Les points d’entrée
A120 ont été mis en relation avec les
adresses 10033 à 10056 et les points de
sortie avec 00017 à 00096 dans la
mémoire données utilisateur de l’API.
Globalement, cette configuration utilise
56 entrées TOR, 80 sorties TOR et une
entrée de registre compteur/tempo.
28
Procédures de démarrage
Écran 1. Affectation d’E/S pour emplacements d’E/S internes (embase 1)
Écran 2. Affectation d’E/S pour emplacements d’E/S A120 (embase 2)
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
29
Adressage d’E/S sur un réseau d’extension
On crée un réseau d’extension d’E/S au
moyen de la connexion en guirlande de
Micro API, allant jusqu’à cinq, via
connexion câblée sur leur port RS-485. Il
faut configurer un API en tant que parent
et tous les autres en tant qu’enfants.
API parent
internes ainsi qu’à des ressources d’E/S
internes résidant dans l’API enfant.
Les emplacements d’E/S internes de
l’API parent reçoivent automatiquement
une adresse. Vous trouverez ci-dessous
les adresses destinées à l’affectation de
points d’E/S supplémentaires à partir de
l’API parent:
L’API parent affecter une adresse à
toutes ses propres ressources d’E/S
Entrées
physiques
Adresses (en mémoire
données utilisateur)
00001... 00012
Sorties TOR internes (12)
00017... 00080
Réservées (TOR A120 ou
basées sur API enfant)
00081
Entrées TOR internes (16)
Réservées (TOR A120 ou
basées sur les API enfants)
10017... 10080
10081... 10088
Réservées (interruption/tempo
basés sur API enfants)
10089... 10120
30001
Réservées (tempo/compteurs
basés sur API enfants)
30002... 30005
Entrées analogiques
internes (4)
30006... 30010
Réservées (entrées analogiques
basées sur API enfants)
30011... 30030
40001... 40002
40003... 40010
40011
40012... 40019
30
Pile OK
mémoire
10001... 10016
Entrées interruption/
compteur interne (8)
Entrée tempo/compteur
locale (1)
Sorties
physiques
Procédures de démarrage
Sorties analogiques internes (2)
Réservé (sortie analogique sur l’API enfant)
Base de temps 10 ms
Horloge calendaire
API enfant
Lorsque vous sélectionnez un mode de
fonctionnement enfant pour un API, le
système d’exploitation Ladder Logic
suppose par défaut que tous les points
d’E/S internes disponibles sur cet API
seront gérés par l’API parent sur le
réseau. Par conséquent, aucun
paramètre n’est affecté à la topographie
d’E/S d’un API enfant dans son état par
défaut.
Les emplacements d’E/S internes d’un
API enfant peuvent être affichés sur un
écran associé à l’affectation d’E/S de
l’API enfant.
Note Il faut que l’adressage d’une
E/S quelconque A120 connectée à
un API enfant soit effectué par ce
dernier. L’API parent ne peut ni
accéder, ni contrôler une E/S A120
d’un API enfant sur un réseau
d’extension d’E/S.
Exemple: réseau d’extension
avec toutes les E/S internes
gérées par l’API enfant
Le système configuré dans l’exemple
suivant comprend deux API
110CPU51200, un parent et un enfant,
sur un réseau d’extension d’E/S.
L’exemple présente trois écrans
d’affectation d’E/S MODSOFT Lite.
Lors de la configuration de l’API parent,
assurez-vous qu’il est défini pour au
moins un enfant. Le système
d’exploitation ne permet pas à l’API
parent d’accéder à une des ressources
d’E/S de l’API enfant à moins que vous
n’ayez spécifié l’existence de cet API
enfant dans la configuration de l’API
parent..
Les écrans 1 et 2 présentent les
affectations d’E/S pour les emplacements
d’E/S internes dans les API parent et
enfant contrôlés par des adresses dans
la mémoire de l’API parent. On accède à
ces deux écrans d’affectation d’E/S
lorsque la console de programmation est
connectée à l’API parent.
Écran 1. Affectation d’E/S pour les points d’E/S internes d’un API parent
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
31
Écran 2. Affectation d’E/S pour les points d’E/S internes d’un API enfant
auquel a accédé l’API parent.
Sachez que les types d’emplacement
utilisés dans la topologie d’E/S de l’API
enfant placent tous les emplacements
d’entrées TOR internes et de sorties de
l’API enfant sous le contrôle de l’API
parent. MIC128 fait correspondre toutes
les 16 entrées 24 VCC de l’enfant aux
adresses 10017 à 10032 dans la
mémoire de l’API parent et toutes les 12
sorties relais aux adresses 00017 à
00029 dans la mémoire données
utilisateur de l’API parent; MIC140 fait
correspondre les entrées
interruption/comptage aux adresses
10097 à 10104 dans la mémoire données
utilisateur de l’API parent.
Par conséquent, l’écran d’affectation
d’E/S, apparaissant lorsque la console de
programmation (voir l’écran 3 ci-dessous)
est connecté à l’API enfant, ne comporte
aucun type d’emplacement:
Écran 3. Affectation d’E/S pour les points d’E/S internes d’un API enfant
32
Procédures de démarrage
Partage des E/S internes entre les API parent et
enfants
Un API enfant a la possibilité de partager
ses ressources d’E/S avec l’API parent,
cela signifie que l’API enfant continue à
gérer certaines de ses propres E/S
internes alors que l’API parent se charge
du reste. Lorsque les ressources d’E/S
internes sont partagées, les points d’E/S
contrôlés par l’API enfant doivent recevoir
une adresse dans l’affectation d’E/S de
l’API enfant et les points contrôlés par
l’API parent doivent recevoir une adresse
dans l’affectation d’E/S de l’API parent.
Le partage des E/S consiste à
sélectionner les types d’emplacement
adéquats (voir le tableau ci-dessous) et à
les placer dans les écrans d’affectation
d’E/S des API parent et enfants.
Si un enfant possède 12 sorties
transistors internes, vous pouvez affecter
une adresse d’E/S à l’affectation d’E/S
d’un API avec un type d’emplacement de
MIC138 (gérant 8 sorties transistor) et
l’autre affectation d’E/S avec un type
d’emplacement) de MIC139 (gérant les
autres sorties transistor de l’autre API).
Types d’emplacement d’E/S pour les E/S internes
Type E/S
TOR
de 16 à 24 VCC entrée/12 relais sortie
MIC128
de 16 à 24 VCC entrée/8 relais sortie
MIC129
de 16 à 24 VCC entrée/4 relais sortie
MIC130
de 16 à 115 VAC entrée/8 triac sortie 4
relais sortie
MIC131
de 16 à 115 VCC entrée/8 triac sortie
MIC132
de 16 à 115 VAC entrée/4 relais sortie
de 16 à 230 VCA entrée/8 triac sortie 4
relais sortie
Compteur/interruption
Analogique (pour
les modèles 612
uniquement)
Type
d’emplacement
31101, 41101, 51201
MIC133
MIC134
de 16 à 230 VCA entrée/8 triac sortie
MIC135
de 16 à 230 VCA entrée/4 relais sortie
MIC136
de 16 à 24 VCC entrée/12 sorties transistor
MIC137
de 16 à 24 VCC entrée/12 sortiess transistor
MIC138
de 16 à 24 VCC entrée/4 sorties transistor
MIC139
Compteur/8 bits interruption entrée
MIC140
4 entrées (0 à 10, 12 bits), 2 sorties
MIC141
4 entrées (1 à 5, 12 bits), 2 sorties
MIC142
4 entrées (± 10, 12 bits), 2 sorties
MIC143
Tous les canaux de
sortie ont une résolution sur 12 bits
4 entrées (0 à 10, 15 bits), 2 sorties
MIC144
4 entrées (1 à 5, 14 bits), 2 sorties
MIC145
4 entrées (± 10), 2 sorties
MIC146
Tempo/Compteur
Valeur comptage tempo 16 bits
MIC147
1 mot entrée, 1 mot sortie
MIC148
2 mots entrée, 2 mots sortie
MIC149
4 mots entrée, 4 mots sortie
MIC150
8 mots entrée, 8 mots sortie
MIC151
Transfert de données
généralisées
Modèles 110CPU
31100, 41100, 51200, 61200
31102, 41102, 51202
31103, 41103, 51203, 61203
Tous les modèles 411, 511 & 611
61200, 61203
Valeur par défaut AUCUN
pour tous les modèles
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
33
Les deux API lisent les mêmes données
d’entrées. Les données d’entrées
partagées n’entraînent pas de conflit
entre les API parent et enfants. Les
mêmes entrées internes peuvent donc
être affichées à la fois dans les API
parent et enfants.
Cependant, le fait que ces deux API
écrivent les mêmes données de sorties
peut introduire des erreurs. Si les mêmes
sorties sont mises en correspondance
dans ces deux API, le système consigne
une erreur pour l’API parent et celui-ci
sera repéré comme étant invalide dans le
tableau des mots d’état de l’API.
Exemple: partage des E/S
L’exemple suivant présente deux écrans
d’affectation d’E/S MODSOFT Lite. Il
indique comment les 10 sorties relais
fixes d’un API 110CPU51200 configuré
en tant qu’enfant peuvent être partagées
entre celui-ci et l’API parent.
L’écran 1 ci-dessous présente
l’affectation des E/S d’un API enfant
auxquelles un API parent doit accéder.
Cet écran d’affectation d’E/S est créé
pendant que la console de configuration
est connectée à l’API parent. Le type
d’emplacement pour l’E/S TOR est le
MIC129, ce qui indique que l’API parent
peut accéder à huit des sorties relais
fixes de l’API enfant.
L’API parent a pu accéder à 8 sorties
relais mises en correspondance avec les
adresses 00017-00024
Écran 1: API parent accédant aux E/S d’un API enfant
34
Procédures de démarrage
L’écran 2 présente l’affectation des E/S
d’un API enfant géré par l’API enfant. Cet
écran d’affectation d’E/S est créé pendant
que la console de configuration est
connectée à l’API enfant. Le type
d’emplacement pour l’E/S TOR est
MIC130, ce qui indique que l’API enfant
gère quatre de ses sorties relais internes.
L’API parent gère 4 sorties relais mises
en correspondance avec les adresses
00025-00028
Écran 2: Ressources d’E/S internes gérées par l’API enfant
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
35
Transfert de données généralisées
Le réseau d’extension d’E/S est
fondamentalement une fonction
permettant d’accéder aux ressources
d’E/S dans tout le système d’un
programme logique exécuté dans un API
unique (l’API parent). Cependant, comme
chaque API enfant sur le réseau peut
enregistrer son propre programme
logique utilisateur et effectuer le service
de ses propres E/S et port de
communication, une certaine quantité de
traitement simultané peut avoir lieu dans
les diverses UC du réseau.
Le transfert de données généralisées est
un outil permettant aux API parent et
enfants sur le réseau de partager les
données non gérées. Les données sont
transférées de l’un à l’autre au moyen du
réseau d’extension d’E/S.
L’API parent peut partager les données
généralisées avec un API enfant
quelconque; un API enfant ne peut
partager les données généralisées
qu’avec l’API parent.
Les API parent et enfants sur un réseau
d’extension d’E/S peuvent transférer dans
les deux sens un nombre à sélectionner
de mots de données hors commandes
sur ledit réseau. L’emplacement d’E/S
internes nº 5 sur les Micro API Modicon
est réservé à cette fonction de transfert
de données généralisées
36
Procédures de démarrage
Vous pouvez réserver les mots
entrée/sortie dans la mémoire données
utilisateur des API parent et enfants en
spécifiant un des types d’emplacement
suivants dans les affectations d’E/S des
API parent et enfants:
V MIC148, spécifiant un mot d’entrée
(d’adresses 1x ou 3x) et un mot de
sortie (d’adresses 0x ou 4x).
V MIC149, spécifiant deux mots d’entrée
(d’adresses 1x ou 3x) et deux mots de
sortie (d’adresses 0x ou 4x).
V MIC150, spécifiant quatre mots
d’entrée (d’adresses 1x ou 3x) et
quatre mots de sortie (d’adresses 0x
ou 4x).
V MIC151, spécifiant huit mots d’entrée
(d’adresses 1x ou 3x) et huit mots de
sortie (d’adresses 0x ou 4x).
Pour configurer un transfert de données
généralisées entre un API parent et un
API enfant, vous devez spécifier le même
type d’emplacement dans les affectations
d’E/S de l’API enfant et de l’API parent.
Lorsque la console de programmation est
connectée à l’API parent, spécifiez le
type d’emplacement du transfert de
données généralisées dans l’affectation
d’E/S décrivant les ressources d’E/S
internes de l’API enfant, et non pas dans
celle décrivant les ressources d’E/S
internes de l’API parent.
Voici une illustration du processus de
transfert de données généralisées:
API parent
Mémoire données utilisateur
API Enfant nº 1
L’E/S affiche ses propres
ressources fixes
Mémoire données utilisateur
Affectation d’E/S
emplacement 1
emplacement 1
emplacement 5 MIC149
emplacement 5 non utilisé
pour ressources Enfant nº 1
Mots entrée
30050
30051
Mots sortie
emplacement 1
Mots entrée
40050
40051
30050
30051
emplacement 5
Mots sortie
40050
40051
MIC149
Procédures de démarrage
Breite: 151,5mm
Höhe: 227,5mm
37
Commandes API
Configuration et affectation
d’E/S remplissent les conditions
requises par l’application
Souhaitez-vous
modifier
la logique utilisateur ?
Organigramme 3
Oui
ÉTAPE 5. Connecter une console de
programmation et
entrer en mode
d’édition logique
Non
Édition du
programme
Ladder Logic
ÉTAPE 6. Connecter une
console de programmation et entrer en mode
données adresses
Souhaitez-vous
surveiller les données
adresses ?
Oui
Non
Surveillance des
données adresses
Si l’API s’arrête,
souhaitez-vous le
démarrez ?
Oui
ÉTAPE 7. Connecter
une console de programmation, passer en
mode Actions et placer
l’API en mode EXÉCUTION (RUN)
Non
ÉTAPE 5. Connecter une console de
programmation et placer l’API en
mode d’édition logique; le débit de
puissance apparaît lorsque l’API
est en cours d’exécution.
Oui
L’API analysera la logique et procédera à la scrutation des E/S et des
ports comm.
Une fois que l’API a été configuré selon
le mode de fonctionnement souhaité et
qu’une adresse a été affectée aux
emplacements d’E/S dans l’affectation
d’E/S, vous pouvez effectuer les
opérations suivantes:
V création ou modification de votre
programme Ladder Logic,
V surveillance et modification des
données adresses,
V démarrage et arrêt de l’API,
38
Procédures de démarrage
Souhaitez-vous
surveiller le programme en
temps réel ?
Non
L’API est en cours
d’exécution
L’API analysera la logique
et effectuera la scrutation
des E/S et des ports comm.
V surveillance des états passant dans un
programme d’application en cours
d’exécution.
Dans les chapitres suivants, nous
expliquons en détail le jeu d’instructions
Ladder Logic et la façon de créer les
programmes d’application.
Chapitre 3
Principaux éléments de
Programmation en Ladder
Logic
j Segments et réseaux
j Éléments de logique relais
j Exemple d’application: circuit démarrage/arrêt du moteur
Programmation en Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
39
Segments et réseaux
Segments Ladder Logic
défini, limité à gauche par une barre à
l’état ON et à droite par une barre qui,
par convention, n’est pas affichée. Un
réseau possède sept lignes en hauteur et
onze colonnes en largeur.
Tout programme Ladder Logic nécessaire
pour exécuter de votre application est
dans un segment logique. Si vous
appelez des sous- programmes faisant
partie de cette application, ces
sous-programmes Ladder Logic seront
dans un segment distinct.
L’intersection de chaque ligne et de
chaque colonne du réseau s’appelle un
élément, chaque réseau contient 77
éléments.
La configuration des Micro API Modicon
contient deux segments. Tout Ladder
Logic normalement organisé et gérant
l’application est enregistré dans le
segment 1. Tout le Ladder Logic
sous-programme est enregistré dans le
segment 2. La logique des sousprogrammes n’est exécutée que
lorsqu’elle est appelée, depuis Ladder
Logic du segment 1 ou d’un événement
extérieur ayant déclenché une
interruption. Par conséquent, le segment
2 n’est pas considéré comme faisant
partie du cycle logique normal.
Il n’y a pas de limite prescrite au nombre
de réseaux que l’on peut placer sur un
segment. La taille maximale du
programme est limitée par la quantité de
l’élément programme utilisateur
disponible dans l’UC et par le temps
nécessaire à l’UC pour analyser le
programme Ladder Logic.
Mise en place de la logique relais
et d’instructions sur un réseau
En Ladder Logic, chaque fois que vous
utilisez un élément de logique relais, à
savoir un contact, une sortie, une
branche verticale ou horizontale,
l’élément utilise une case sur le réseau
logique.
Réseaux Ladder Logic
Chaque segment comporte un groupe de
réseaux contigus. Chaque réseau est un
petit schéma Ladder Logic clairement
Rail
1
d’alimentation
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
Structure du réseau Ladder Logic
40
Programmation en Ladder Logic
NOTE On ne peut représenter que
les sorties dans la colonne 11.
Une instruction en Ladder Logic peut
utiliser un, deux ou trois éléments sur un
réseau, en fonction du type d’instruction.
Une instruction compteur par exemple est
une instruction à deux éléments
juxtaposés; elle utilise deux éléments
contigus se trouvant l’un au-dessus de
l’autre. Une instruction ADD, en
revanche, est une instruction à trois
éléments juxtaposés avec trois éléments
contigus l’un au-dessus de l’autre.
Réseau 1
Réseau 2
Résolution du programme
Un Micro API Modicon analyse
séquentiellement le programme Ladder
Logic dans l’ordre suivant:
V segment par segment,
V du réseau 1 au réseau n
séquentiellement dans chaque
segment,
V élément par élément dans chaque
réseau, en commençant par l’élément
supérieur gauche du réseau et en se
déplaçant de haut en bas, puis de
droite à gauche.
Réseau suivant
Sens de résolution dans et entre les réseaux Ladder Logic
Programmation en Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
41
Éléments de logique relais
Il existe trois types généraux d’élément
logique relais dans la programmation en
Ladder Logic: les contacts, les sorties et
les branches. Chaque élément logique
relais utilise un élément d’un réseau
Ladder.
V Le contact transitionnel positif qui ne
laisse passer le courant que pendant
un cycle lorsque le contact ou la sortie
passe de OFF à ON:
Contact
transitionnel
positif
OFF
Contacts relais
ON
Les contacts permettent de faire passer
ou d’inhiber le courant dans un réseau
Ladder Logic. On peut utiliser quatre
types de contact:
V Le contact normalement ouvert (N.O.)
qui laisse passer le courant lorsque la
sortie ou l’entrée affectée est sur ON:
Contact N.O.
ON
OFF
Etat courant
OFF
OFF
ON
OFF
OFF
Un
cycle
V Le contact de transition négatif, qui ne
laisse passer le courant que lors d’un
cycle lorsque le contact ou la sortie
passe de ON à OFF:
ON
Contact
de transition
négatif
OFF
ON
V Le contact normalement fermé (N.F.),
qui laisse passer le courant lorsque la
sortie ou l’entrée affectée est sur OFF:
Contact N.F.
OFF
Etat courant
ON
OFF
ON
Etat courant
OFF
OFF
Un
cycle
Les symboles utilisés en Ladder Logic
pour représenter les types de contact
figurent dans le tableau ci-dessous.
OFF
ON
Etat courant
ON
OFF
Elément
Symbole
Fonction
Utilisation sortie
Contact N.O
Laisse passer le courant lorsque
la sortie ou l’entrée affectée est
sur ON
Peut être affecté à une sortie adresse 0x ou à
une entrée adresse 1x.
Contact N.F
Laisse passer le courant lorsque
la sortie ou l’entrée affectée est
sur OFF
Peut être affecté à une sortie adresse 0x ou à
une entrée adresse 1x.
Contact de
transition
positif
Laisse passer le courant pendant
un cycle lorsque le contact ou la
sortie passe de OFF à ON
Peut être affecté à une sortie adresse 0x ou à
une entrée adresse 1x.
Contact de
transition
négatif
Laisse passer le courant pendant
un cycle lorsque le contact ou la
sortie passe de OFF à ON
Peut être affecté à une sortie adresse 0x ou
à une entrée adresse 1x.
42
Programmation en Ladder Logic
Sortie normale et mémorisée
Elément
Symbole
Fonction
Utilisation sortie
Sortie normale
( )
S’éteint en cas de coupure
d’alimentation
Paramètre de sortie TOR représenté par une
adresse 0x; on peut l’utiliser dans le programme
logique ou en dehors d’une sortie TOR
Sortie
mémorisée
( M)
La sortie revient au même
état lorsque l’alimentation
est rétablie
Paramètre de sortie TOR représenté par une
adresse 0x; on peut l’utiliser dans le programme
logique ou hors d’une sortie TOR
Une sortie TOR est représentée par un
bit d’adresse 0x. Les sorties étant mises
à jour dans la RAM d’état par l’UC, une
sortie peut être utilisée à l’intérieur du
programme logique ou à l’extérieur pour
une sortie réelle de commande.
Une sortie est ON ou OFF en fonction de
l’état des éléments à sa gauche. Cet état
est vu par l’ensemble de la logique.
Il existe deux types de sorties - les
sorties normales et les sorties
mémorisées. Après une mise sous
tension avant le 1er cycle de l’API, les
sorties normales sont initalisées à zéro et
les sorties mémorisées reprennent le
dernier état comme avant la coupure
tension.
Affichage des sorties dans un
réseau
Un réseau Ladder peut contenir au
maximum sept sorties. Aucun élément, à
l’exception des bobines, n’est autorisé
dans la onzième colonne. Si une sortie
apparaît sur un élément d’une colonne
autre que la 11, alors on ne peut placer
aucun autre élément logique à droite de
la sortie sur cette colonne.
Branches verticales et horizontales
Les branches sont tout simplement les
connexions directes entre les blocs
d’instructions et/ou les contacts d’un
réseau Ladder Logique.
Une branche verticale connecte les
contacts ou les blocs d’instructions les
uns au-dessus des autres dans une
colonne du réseau. Elle permet
également de connecter les entrées et
les sorties pour créer des conditions OU
inclusif telle que celle présentée ci-après.
Si l’on connecte deux contacts par une
branche verticale, le courant passe
lorsque un contact (ou les deux) en
reçoit. Une branche verticale n’utilise
aucune sortie utilisateur.
Les branches horizontales permettent
d’étendre une ligne dans un réseau
Ladder Logic sans interrompre le courant.
Chaque branche horizontale utilisée dans
un programme utilise un mot de sortie
logique utilisateur.
Sur la page suivante figurent deux
exemples de la façon dont on peut
utiliser les branches verticales et
horizontales avec des contacts relais
pour créer en Ladder Logic.
Le premier exemple présente une simple
condition OU inclusif; la ligne supérieure
de Ladder comporte deux contacts N.O.
(10001 et 10002), et la ligne inférieure
n’en contient qu’un seul (10003) suivi
d’une branche horizontale. Une branche
verticale connecte ces deux lignes après
la deuxième colonne. Le courant peut
passer par le réseau pour exciter la sortie
00001 lorsque les contacts 10001 et
10002 sont excités ou lorsque le contact
10003 est excité.
Le second exemple illustre un circuit OU
exclusif constitué de contacts et de
branches semblables. Ce circuit permet
d’empêcher que la sortie 00001 ne soit
excitée lorsque deux conditions,
représentées par le contact 10001 et le
contact 10002, sont activées
simultanément.
Programmation en Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
43
Dans ces deux exemples, on considère
les branches verticales, qui n’utilisent pas
de sortie programme utilisateur, comme
faisant partie de l’élément dans lequel le
contact 10002 est programmé.
10001
10002
00001
10003
Exemple 1: Logique relais OU inclusif
10001
10002
10001
10002
00001
Exemple 2: Logique relais OU exclusif
44
Programmation en Ladder Logic
Exemple d’application:
circuit de démarrage/arrêt du moteur
BP DÉMARRAGE
MOTEUR
BP ARRÊT
MOTEUR
L1
RELAIS
DÉMARRAGE
MOTEUR
SC1
L2
R1
CONTACT AUXILIAIRE
DÉMARRAGE MOTEUR
C1
LT
DÉMARRAGE
MOTEUR
C2
MOTEUR
POMPE
OL1
M1
L’exemple ci-dessus est un schéma
électrique sur ligne standard pour un
circuit de démarrage/arrêt activé par des
boutons-poussoirs.
Si vous appuyez sur le bouton-poussoir
démarrage moteur, le relais de
commande du moteur R1 est excité et
les contacts C2 pour démarrer le moteur
M1 se ferment permettant au circuit de
démarrage/arrêt de passer sur ON. Le
relais R1 peut s’interrompre pour deux
raisons:
V surcharge (SC1) du moteur M1,
V appui sur le bouton-poussoir arrêt
moteur.
Voyons maintenant la version du même
circuit avec des contacts, des sorties et
des branches d’un réseau Ladder Logic.
L’illustration ci-dessous nous permet de
constater que la séquence d’opération
reste essentiellement la même lorsque le
circuit de démarrage/arrêt du moteur est
conçu pour l’API. La principale différence
est que tous les points d’E/S sont
connectés par câble directement aux
unités d’entrée/sortie intégrées au
système de l’API et la commande réelle
est programmée en Ladder Logic dans
cet API.
L’implantation en Ladder Logic permet
une commande polyvalente et un temps
de développement réduit, car toutes les
connexions câblées entre les points de
commande sont électroniques.
DÉMARRAGE
R1
ARRÊT
C1
E
N
T
R
É
E
10001
10002
10004
00001
00002
10003
S
O
R
T
I
E
LT
OL1
Ladder Logic
Entrées Utilisateur
Sorties Utilisateur
Programmation en Ladder Logic
Breite: 151,5mm
Höhe: 227,5mm
45
46
Programmation en Ladder Logic
Chapitre 4
Compteurs et temporisateurs
j Instructions relatives aux compteurs
j Instructions relatives aux temporisateurs
j Exemple d’application: une horloge en temps réel avec une
temporisation en millisecondes
Compteurs et temporisateurs
Breite: 151,5mm
Höhe: 227,5mm
47
Instructions relatives aux compteurs
Deux instructions relatives aux compteurs
sont fournies. Le compteur (UCTR)
compte à partir de 0 jusqu’à une valeur
pré-définie et le décompteur (DCTR)
Instruction
compte à partir d’une valeur pré-définie
jusqu’à 0. Toutes deux sont des
instructions à deux éléments juxtaposés.
Entrées
(E)
Eléments
O
Supérieure:
ON lance le
compteur
Supérieur:
Supérieure:
valeur prédéfinie comptage =
compteur
valeur prédéfinie
Inférieur:
comptage
accumulé
Structure
Sorties
(S)
Fonction
I
3x, 4x, ou
K*
I
UCTR
4x
O
Inférieure:
0 = réinitialisé
1 = activé
I
3x, 4x, ou
K*
O
Supérieure:
ON déclenche
le compteur
Supérieur:
Supérieure:
valeur prédéfinie comptage = 0
compteur
I
DCTR
4x
O
Inférieure:
0 = réinitialisé
1 = activé
Inférieur:
décomptage
accumulé
Compteur
Décompteur
Compte vers l’avant
depuis 0 jusqu’à une
Inférieure:
valeur prédéfinie
Comptage
< valeur prédéfinie
Décompte à partir
d’une valeur prédéfiInférieure:
nie jusqu’à 0
Comptage
< valeur prédéfinie
* K est une constante entière comprise entre 1 et 999.
Exemple de compteur simple
Lorsque le contact 10027 est ON, l’entrée
supérieure au UCTR est alimentée;
l’instruction est activée car le contact
00077 est ON, la sortie 00077 étant OFF.
Chaque fois que le contact 10027 passe
de OFF à ON, le compteur incrémente de
1. Lorsque la valeur atteint 100, la sortie
supérieure passe à ON, la sortie 00077
est ON et la sortie 00055 est ON. Le
contact 00077 est OFF lorsque la sortie
00077 est ON et le compteur est remis à
48
Compteurs et temporisateurs
zéro lors du cycle suivant. Pendant le
cycle suivant, la sortie 00077 ON, le
contact 00077 est ON et le UCTR est
activé.
100
00077
10027
00077
UCTR
40007
00055
Instructions relatives aux temporisateurs
Les quatre instructions relatives aux
temporisateurs permettent de temporiser
les événements ou de créer des délais
dans une application. Les trois premières
Instruction
Tempo
d’une seconde
Tempo
d’un dixième
de
seconde
Tempo d’un
centième
de seconde
Tempo
d’un
millième
de
seconde
Entrées
(E)
Structure
I
3x, 4x, ou
K*
O
I
T1.0
4x
O
I
3x, 4x, ou
K*
O
I
T0.1
4x
O
I
3x, 4x, ou
K*
O
I
T.01
4x
O
I
3x, 4x, ou
K*
O
I
4x
O
instructions sont des instructions à deux
éléments juxtaposés et la tempo en
millisecondes est une instruction à trois
éléments juxtaposés.
Eléments
Sorties
(S)
Supérieure:
ON lance la
temporisation
Supérieur:
valeur prédéfinie
tempo
Supérieure:
temps =
valeur prédéfinie
Inférieure::
0 = réinitialisé
1 = activé
Inférieur:
temps accumulé
Inférieure:
temps <
valeur prédéfinie
Supérieure:
ON lance la
temporisation
Supérieur:
valeur prédéfinie
tempo
Supérieure:
temps =
valeur prédéfinie
Inférieure::
0 = réinitialisé
1 = activé
Inférieur:
temps accumulé
Inférieure:
temps <
valeur prédéfinie
Supérieure:
ON lance la
temporisation
Supérieur:
valeur prédéfinie
tempo
Supérieure:
temps =
valeur prédéfinie
Inférieure::
0 = réinitialisé
1 = activé
Inférieur:
temps accumulé
Inférieure:
temps <
valeur prédéfinie
Supérieure:
ON lance la
temporisation
Supérieur:
valeur prédéfinie
tempo
Supérieure:
temps =
valeur prédéfinie
Médian:
temps accumulé
Mediane:
temps <
valeur prédéfinie
Mediane:
0 = réinitialisé
1 = activé
T1MS
0001
Inférieur:
toujours
défini
comme étant une
valeur constante
de 1
Fonction
La tempo incrémente
à des intervalles d’une
seconde
La tempo incrémente
à des intervalles de
0,1 seconde
La tempo incrémente
à des intervalles de
0,01 seconde
La tempo incrémente
à des intervalles de 1
ms
*K est uneconstante entière comprise entre 1 et 999.
Exemple de tempo d’une seconde
Le contact 10002 est fermé - c’est-à-dire
que la tempo est activée - et la valeur du
registre 40040 est 0. La sortie 00108 est
sur ON et 00107 est sur OFF. Lorsque le
contact 10001 est fermé, le registre
40040 s’incrémente de 1 toutes les
secondes jusqu’à atteindre 5; la sortie
00107 passe sur ON et 00108 passe sur
OFF. Lorsque le contact 10002 est
ouvert, la valeur du registre 40040 est
remise à 0, la sortie 00107 passe sur
OFF et 00108 passe sur ON.
5
00107
10001
10002
T1.0
40040
00108
Compteurs et temporisateurs
Breite: 151,5mm
Höhe: 227,5mm
49
Exemple d’application: horloge en temps réel
avec une temporisation en millisecondes
100
00001
40055
10
T1MS
1
UCTR
40054
00001
00002
00002
60
UCTR
40053
00003
00003
60
UCTR
40052
00004
24
UCTR
40051
00004
00005
00005
Cet exemple présente Ladder Logic pour
une horloge en temps réel avec une
précision en millisecondes. L’instruction
T1MS est programmée pour laisser
passer un état ON à des intervalles de
100 ms; elle est suivie par une cascade
de quatre compteurs qui enregistrent
respectivement le temps en unités de
centièmes de seconde, de dixièmes de
seconde, d’une seconde, d’une minute et
d’une heure.
Lorsque la résolution logique commence,
la valeur du temps accumulée commence
à incrémenter dans le registre 40055 du
bloc T1MS. Après dix incréments d’une
milliseconde, la sortie supérieure passe
ON et excite la sortie 00001.
A ce stade, la valeur du registre 40053
de la tempo est remise à zéro. La valeur
de comptage accumulée dans le registre
40054 du premier bloc UCTR incrémente
de 1, indiquant que 1 s a passé.
La tempo recommence à accumuler le
temps en ms parce que le comptage de
50
Compteurs et temporisateurs
temps accumulé dans T1MS n’est plus
égal à la valeur prédéfinie de la tempo.
Lorsque le comptage accumulé dans le
registre 40054 de la première instruction
UCTR incrémente à 10, la sortie
supérieure de ce bloc d’instructions
passe ON et excite la sortie 00002. La
valeur du registre 40054 est alors remise
à 0 et le comptage dans le registre
40051 du second bloc UCTR est
incrémenté de 1.
Au fur et à mesure que le temps
s’accumule dans chaque compteur, on
peut lire l’horloge calendaire dans cinq
registres comme suit:
Registre
Unité de temps
40055
centième de seconde (0 à 10)
40054
dixième de seconde (0 à 10)
40053
secondes (0 à 60)
40052
minutes (0 à 60)
40051
heures (0 à 24)
Chapitre 5
Instructions mathématiques
élémentaires
j Instructions relatives aux opérations sur des entiers
j Exemple d’application: conversion de degrés Fahrenheit en degrés
centigrades
Instructions mathématiques élémentaires
Breite: 151,5mm
Höhe: 227,5mm
51
Instructions relatives aux opérations sur des
entiers
Des instructions relatives à l’addition, à la
soustraction, à la multiplication et à la
division sont fournies pour le calcul sur
Instruction
Entrées
(E)
Structure
I
Addition
sur entiers
I
Soustraction
sur
entiers
absolus (aucun
signe dans les
valeurs)
I
Multiplication sur entiers
3x, 4x, ou
K*
O
Supérieure:
ON active une
opération (val
1) + (val 2)
Eléments
Supérieur:
valeur 1
3x, 4x, or
K*
Médian:
valeur 2
ADD
4x
Inférieur:
somme
3x, 4x, ou
K*
O
3x, 4x, ou
K*
O
SUB
4x
O
3x, 4x, ou
K*
O
Supérieure:
ON active une
opération (val
1) x val 2)
Supérieure:
ON active une
opération (val
1) x val 2)
3x, 4x, ou
K*
Sorties
(S)
Supérieure:
somme > 9999
Supérieur:
valeur 1
Supérieure:
val 1 > val 2
Médian:
valeur 2
Médiane:
val 1 = val 2
Inférieur:
différence
Inférieur:
val 1 < val 2
Supérieur:
valeur 1
Supérieure:
répercute
l’entrée
supérieure
Médian:
valeur 2
Fonction
Ajoute les valeurs de
l’élément supérieur à
celles de l’élément
médian, puis enregistre le résultat dans
le registre 4x de l’élément inférieur
Soustrait la valeur de
l’élément médian de
celle de l’élément
supérieur, puis enregistre la différence
dans le registre 4x de
l’élément inférieur
Multiplie les valeurs
des éléments supérieurs et médians,
puis enregistre le
résultat dans deux
registres 4x contigus
Inférieur:
produit
(chiffre
d’ordre élevé)
MUL
4x
Division sur
entiers avec
un reste
des entiers. Chacune des quatre
instructions est une instruction à trois
éléments juxtaposés.
I
3x, 4x, ou
K*
O
I
3x, 4x, ou
K*
O
DIV
4x
O
Supérieure:
ON active une
opération (val
1) / (val 2)
Supérieur:
valeur 1**
Supérieure:
division réussie
Médiane:
0 = reste
fractionnaire
1 = reste
décimal
Médian:
valeur 2
Médiane:
si résultat > 999
une valeur 0
est renvoyée
Inférieur:
résultat
(reste dans
reg. 4x + 1)
Divise la valeur de l’élément supérieur par
celle de l’élément
médian, puis enregistre le résultat dans
le registre 4x de l’élément inférieur et le
reste dans le registre
4x + 1
Inférieur:
valeur 2 = 0
*K est une constante entière comprise entre 1 et 999.
**Le dividende de l’instruction DIV est enregistrée dans les registres 3x ou 4x, alors le registre de l’élément supérieur
est le premier de deux registres contigus. La demi valeur de poids fort 1 est enregistrée dans le registre affiché (3x ou
4x) et la demi valeur de poids faible 1 dans le registre contigu suivant (3x + 1 ou 4x + 1).
52
Instructions mathématiques élémentaires
Pour les blocs MUL et DIV, deux
registres contigus doivent être utilisés
dans l’élément inférieur. Le premier des
deux registres apparaît dans le bloc alors
que la présence du second registre est
implicite.
Dans le bloc d’instructions MUL, la
portion de poids fort du produit calculé
est enregistrée dans le premier registre
de l’élément inférieur et la partie poids
faible dans le second registre de
l’élément inférieur.
Dans le bloc d’instructions DIV, le
quotient est enregistré dans le premier
registre de l’élément inférieur et le reste
dans le second registre de l’élément
inférieur. Vous pouvez également
enregistrer la valeur de l’élément
supérieur, à savoir la valeur à diviser par
la valeur de l’élément médian, dans deux
registres 3x et 4x contigus.
Exemple de division
Voici un exemple d’opération DIV où la
valeur de l’élément supérieur, 105, est
divisée par la valeur de l’élément médian,
25. Le quotient (4) est enregistré dans le
registre 40271 et le reste (5) dans le
registre 40272.
105
10001
25
10002
DIV
40271
Lorsque l’entrée médiane, à savoir le
contact 10002, est ouverte, le reste est
exprimé en fraction (0005); lorsque le
contact 10002 est fermé, le reste est
exprimé en tant que décimale (2000).
Instructions mathématiques élémentaires
Breite: 151,5mm
Höhe: 227,5mm
53
Exemple d’application: conversion de degrés
Fahrenheit en degrés centigrades
Cet exemple établit la formule:
°C = (°F - 32) x 5/9
Lorsque l’entrée supérieure du bloc
d’instructions SUB est alimentée, la
valeur de l’élément médian, 32, est
soustraite de la valeur du registre 40007,
un certain nombre de degrés Fahrenheit.
La différence est placée dans le registre
41201.
L’élément supérieur du bloc d’instructions
DIV est alors excité et la valeur des
registres 41202 et 41203 est divisée par
9. Le quotient, à savoir la conversion de
la température en degrés centigrades, est
enregistré dans le registre 40001 (et le
reste dans le registre implicite 40002).
L’entrée supérieure du bloc d’instructions
MUL est alors alimentée, peu importe si
le résultat de la soustraction est positif,
négatif ou 0. S’il est négatif, la sortie
00011 est excitée pour indiquer une
valeur négative.
La valeur du registre de l’élément
supérieur du bloc MUL, registre 41201,
est alors multipliée par l5 et le produit est
placé dans le registre 41202 et dans le
registre implicite 41203.
54
40007
41201
41202
32
5
9
SUB
41201
MUL
41202
DIV
40001
00011
Note: Les branches verticales vers la sortie 00011 (indiquant
une valeur négative) doivent être placées à gauche des
branches verticales liant les trois sorties du bloc SUB.
Instructions mathématiques élémentaires
Chapitre 6
Instructions relatives à la
gestion des données
j Transfert de données de registres et de tables
j Construction d’une pile de type premier entré premier sorti
j Recherche dans une table
j Transfert d’un bloc de données
Instructions relatives à la gestion des données
Breite: 151,5mm
Höhe: 227,5mm
55
Transfert de données de registres et de tables
Trois blocs d’instructions standard sont
fournis pour transférer les données
enregistrées dans des registres et des
tables de registres:
V transfert de registre à table
( R → T) DX,
V transfert de table à registre
( R → T) DX,
Instruction
Transfert
registre à table
I
0x, 1x, *
3x, ou 4x
O
I
4x
O
I
K**
I
0x, 1x, *
3x, ou 4x
O
I
4x
O
Transfert
table à registre
I
Transfert
table à table
R→T
I
0x, 1x, *
3x, ou 4x
O
I
4x
O
I
T→T
K**
Eléments
Sorties
(S)
Supérieure:
ON transfère
les données
et
incrémente
le
pointeur
Médiane:
ON
bloque
le
pointeur
Inférieure:
ON remet
le pointeur à 0
Supérieur:
registre
source
Supérieure:
ON transfère
les données
et
incrémente
le
pointeur
Médiane:
Supérieur:
table
source
Supérieure:
répercute
l’entrée
supérieure
ON bloque
le pointeur
Médian:
pointeur vers
le registre cible
(4x + 1)
Médiane:
pointeur =
longueur table
Inférieure:
ON remet
le pointeur à 0
Inférieur:
longueur
table*
Supérieure:
ON transfère
les données
et
incrémente
le
pointeur
Médiane:
ON bloque
le pointeur
Supérieur:
table source
T→R
K**
Un Micro API Modicon peut effectuer le
transfert d’un registre par cycle pour
chaque instruction dans un programme
Ladder Logic.
Chaque instruction est une instruction à
trois éléments juxtaposés.
Entrées
(E)
Structure
V transfert de table à table
( T → T) DX.
Inférieure:
ON remet
le pointeur à 0
Médian:
pointeur vers le
registre
cible
(4x + 1) de la
table cible
Inférieur:
longueur table*
Médian:
pointeur vers
le
registre
cible (4x + 1)
de la table
cible
Inférieur:
longueur table*
Fonction
Supérieure:
Copie un profil sur 16
répercute l’en- bits d’un registre
trée supérieure source
dans
un
registre de la table
cible définie par le
pointeur; le registre 4x
Médiane:
de l’élément médian
pointeur =
indique le pointeur. La
longueur
table commence à 4x
table
+ 1.
Supérieure:
répercute
l’entrée
supérieure
Médiane:
pointeur =
longueur table
Copie le profil binaire
d’un registre de la
table source définie
par le pointeur dans
un registre cible indiqué par. Le registre 4x
de l’élément médian
est le pointeur. Le
registre cible est en 4x
+ 1.
Copie le profil binaire
d’un registre de la
table source dans un
registre dans la même
position définie par le
pointeur dans une
table cible; le registre
4x
de
l’élément
médian est le pointeur; la table cible
commence en 4x + 1.
* Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation
de 16 bits TOR (1 à 16, 17 à 32, 33 à 48).
* K est une constante entière comprise entre 1 et 255.
56
Instructions relatives à la gestion des données
Ce processus continue jusqu’à ce que le
contenu du registre 30001 soit copié
dans le registre 40345 de la table et le
pointeur s’incrémente jusqu’à 5. A ce
stade, la sortie médiane du bloc passe
ON et valide la sortie 00135.
30001
10001
40340
00135
10002
→T
R
5
10003
Dans l’exemple Ladder Logic ci-dessus,
la valeur enregistrée dans le registre
30001 est transférée vers une table cible
à cinq registres, de 40341 à 40345. Une
valeur du registre 30001 est transférée
dans un des registres de table lors de
chaque cycle.
Le pointeur vers la table cible, registre
40340, est spécifié dans l’élément
médian de l’instruction registre vers table
alors que le nombre de registres de la
table 5 est spécifié dans l’élément
inférieur.
Lorsque le contact 10001 passe par ON
pour la première fois, le contenu courant
du registre 30001 est copié dans le
registre 40341, le premier des cinq
registres contigus de la table cible. La
première table du registre cible est
toujours le registre contigu suivant
l’adresse affectée de le pointeur figurant
dans l’élément médian du bloc
d’instructions. Lorsque ce transfert a lieu,
la valeur du registre de le pointeur
s’incrémente de 0 à 1.
Aucun transfert de registre à table
supplémentaire n’est possible tant que le
pointeur est égal à la longueur de la table
spécifiée dans l’élément inférieur du bloc
Pointeur
40340
Registre
source
30001
1ère transition
2ème transition
3ème transition
4ème transition
5ème transition
Table
cible
40341
40342
40343
40344
40345
Si, après le second cycle, le contact
10002 est ON, le pointeur est bloqué,
c’est-à-dire qu’il n’est pas incrémenté ni
décrémenté et par conséquent la copie
de la valeur courante du registre 30001
est effectuée dans le registre 40343.
Si le contact 10003 est ON, le pointeur
est remis à 0.
Lors du cycle suivant, le contenu du
registre 30001 est copié dans le registre
40342, le second registre de la table
cible; le pointeur s’incrémente de 1 à 2.
Note quand le registre pointeur a
pour valeur 0, c’est le premier
registre de la table qui est pointé.
Instructions relatives à la gestion des données
Breite: 151,5mm
Höhe: 227,5mm
57
Construction d’une pile de type premier entré
premier sorti
Instruction
Entrées
(E)
Structure
I
0x, 1x, *
3x, ou 4x
O
4x
O
FIN
K**
O
4x
O
0x ou 4x
O
FOUT
K**
O
Premier entré
dans la file
d’attente d’une
pile
I
Premier sorti
de
la
file
d’attente d’une
pile
Supérieure:
ON empile un
profil binaire en
haut de la pile
Eléments
Supérieur:
registre source
de la pile
Sorties
(S)
Supérieure:
répercute l’entrée
supérieure
Médian:
Médiane:
pointeur de la pile pile pleine
Supérieure:
ON dépile le
profil binaire du
bas de la pile
Inférieur:
longueur pile*
Inférieure:
pile vide
Supérieur:
pointeur de la
pile 4x + 1 pile
Supérieure:
répercute l’entrée
supérieure
Médian:
registre cible où
le profil binaire
est éjecté de la
pile
Inférieur:
longueur pile*
Médiane:
pile pleine
Fonction
Empile un profil binaire de 16 bits du
registre cible en haut
de la pile ; le registre
cible est indiqué par le
registre 4x de l’élément supérieur
Dépile un profil binaire
16 bits de la pile vers
un registre cible; le
registre cible est indiqué par le registre 4x
de l’élément médian.
Inférieure:
pile vide
* Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation
de 16 bits TOR (1 à 16, 17 à 32, 33 à 48).
** K est une constante entière comprise entre 1 et 255.
Les deux instructions ci-dessus vous
permettent de placer les données dans
une file d’attente d’une pile de type
premier entré/premier sorti. L’instruction
FIN empile le profil binaire d’un registre
ou de 16 TOR dans un registre au
sommet d’une table (ou d’une pile) de
registres.
Source
111
FIN
Note Quand le registre pointeur a
pour valeur 0, c’est le premier
registre de la pile qui est pointé.
Pointeur
111
Pile
Source
222
FIN
Pile
Source
333
FIN
Pile
58
Pointeur
222
111
Pointeur
333
222
111
Instructions relatives à la gestion des données
FOUT dépile le profil binaire du bas de la
pile hors de celle-ci et dans un registre
cible.
Attention FOUT écrit dans la
table des sorties OX même si
celles-ci sont forcées. Si une
sortie a été désactivée pour
réparation ou maintenance, un
risque de potentiel existe car
l’état de la sortie peut se
modifier à la suite de l’opération
FOUT.
Lorsque vous validez une pile de type
premier entré premier sorti en Ladder
Logic, l’instruction FOUT doit s’exécuter
lors de chaque cycle avant l’instruction
FIN. Ainsi les données les plus
anciennes de la pile sont effacées de la
table cible avant que les données les
plus récentes ne soient mises en file
d’attente dans la pile. Si le bloc FIN est
exécuté en premier lieu, toute tentative
d’entrer les données dans une pile
remplie est ignorée.
Pointeur
333
Cible
222
Pile
Source
444
FIN
111
FOUT
111
Pointeur
444
333
Pile
222
Instructions relatives à la gestion des données
Breite: 151,5mm
Höhe: 227,5mm
59
Recherche dans une table
L’instruction SRCH vous permet de
rechercher dans une table de registres
un profil binaire figurant dans un des
Instruction
Entrées
(E)
Structure
Recherche
dans une table
I
3x ou 4x
O
I
4x
O
SRCH
K*
registres de la table. SRCH est une
instruction à trois éléments juxtaposés.
Sorties
(S)
Eléments
Supérieure:
ON lance une
recherche
Supérieur:
premier registre
de la table source
Supérieure:
répercute l’entrée
supérieure
Médiane:
0 = recherche
depuis le
début
1 = recherche
depuis la
dernière
occurrence
Médian:
Médiane:
pointeur 4x dans occurrence trouvée
l’emplacement de
la table du registre
contenant la valeur
recherchée;
la
registre suivant, 4x
+ 1, contient la
valeur recherchée
Fonction
Recherche dans une
table de registres le
profil binaire spécifié
dans le registre suivant immédiatement
le pointeur de l’élément médian
Inférieur:
longueur table*
*K est une constante entière comprise entre 1 et 255.
Exemple d’opération SRCH
Le profil binaire recherché est 3333; cette
valeur est dans le registre 40431 (le
registre suivant immédiatement le registre
pointeur de l’élément médian).
40421
10001
40430
00142
10002
SRCH
5
La table source recherchée possède cinq
registres à commencer par le registre de
maintien 40421, et leur contenu est le
suivant:
Registres de la
table source
60
Contenu du
registre
40421
=
1111
40422
=
2222
40423
=
3333
40424
=
4444
40425
=
5555
Lorsque le contact 10001 passe de OFF
à ON, l’instruction recherche dans la
table source le registre contenant 3333.
Lorsque la valeur est trouvée (dans le
registre 40423), la valeur du pointeur du
registre 40430 est définie comme étant 3,
indiquant que le troisième registre de la
table source contient la valeur
recherchée; la sortie 00142 est
également ON pendant un cycle.
Note Quand le registre pointeur a
pour valeur 0, c’est le premier
registre de la pile qui est pointé.
Instructions relatives à la gestion des données
Transfert d’un bloc de données
L’instruction de transfert de bloc (BLKM)
copie tout le contenu d’une table source
de registres dans une table cible en un
cycle. BLKM est une instruction à trois
éléments juxtaposés.
Instruction
Entrées
(E)
Structure
I
Transfert d’un
bloc
0x, 1x, *
3x, ou 4x
O
Supérieure:
ON lance un
transfert de bloc
Attention Si des sorties OX
sont utilisées en destination,
BLKM effectuera le transfert,
qu’elles soient forcées ou non.
Si une sortie a été forcée pour
réparation ou maintenance, un
risque de potentiel existe car
l’état de la sortie peut se
modifier à la suite de l’opération
BLKM.
Eléments
Supérieur:
table source
0x** ou
4x
Médian:
table cible
BLKM
K***
Inférieur:
longueur table*
Sorties
(S)
Supérieure:
répercute l’entrée
supérieure
Fonction
Copie tout le contenu
d’une table à une
autre table de sorties
ou de registres
* Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation
de 16 bits TOR (1 à 16, 17 à 32, 33 à 48).
** Si vous utilisez des adresses 0x en tant que cible, vous ne pouvez pas les programmer en tant que sorties, mais uniquement
en tant que contacts faisant référence aux numéros de ces sorties.
*** *K est une constante entière comprise entre 1 et 100.
Exemple d’application: programme de chargement de recette au moyen
de transfert de blocs
Un programme Ladder Logic peut
enregistrer un ensemble de recettes,
chacune d’eux dans une table et
chargeable sur demande dans une table
de fonctionnement dans laquelle un
processus générique est en cours
d’exécution. Les recettes doivent être
structurées avec des types d’informations
semblables dans les registres
correspondants. Si les informations
relatives à la température de chauffage
figurent dans le troisième registre d’une
recette, des informations semblables
doivent également figurer dans le
troisième registre de toutes les autres
recettes.
On peut charger et retirer les recettes
spécifiques du processus générique via
instructions BLKM.
L’exemple logique de la page suivante
contient une table à huit registres dans
laquelle on peut exécuter trois recettes
différentes. La sélection des recettes est
gérée par trois commutateurs d’entrée,
les contacts 10101, 10102 et 10103.
Instructions relatives à la gestion des données
Breite: 151,5mm
Höhe: 227,5mm
61
40101
10101
10102
10103
40201
BLKM
8
40109
10102
10101
10103
40201
BLKM
8
Pour exécuter le processus A par
exemple, positionnez le contact 10101
sur ON et laissez les contacts 10102 et
10103 sur OFF. Lorsque l’entrée 10101
est excitée, elle laisse passer du courant
par les contacts 10102 et 10103 N.F, et
le premier bloc BLKM charge les recettes
du processus A des registres 40101 à
40108 ves les registres 40201 à 40208.
Les autres recettes, 40109 à 40116 ou
40117 à 40124 seront chargées en
activant 10102 ou 10103.
40117
10103
10101
10102
40201
BLKM
8
62
Instructions relatives à la gestion des données
Chapitre 7
Instructions relatives au
traitement des données
j Instructions logiques booléennes
j Exemple d’application: moyenne sur une table simple
j Complémentation binaire dans une matrice de données
j Comparaison binaire dans une matrice de données
j Détection et traitement binaires dans une matrice de données
Instructions relatives au traitement des données
Breite: 151,5mm
Höhe: 227,5mm
63
Instructions logiques booléennes
Trois instructions permettent d’effectuer
des opérations ET, OU et OU exclusif.
sorties ont été forcées pour
réparation ou maintenance, un
risque de potentiel existe car
l’état de la sortie peut se
modifier à la suite de l’opération
logique.
Attention Ces instructions
booléennes modifient les sorties
d’une matrice cible. Si des
Instruction
Entrées
(E)
Structure
I
ET booléen
0x, 1x, *
3x, ou 4x
O
Supérieure:
Lance une opération ET
OU booléen
O
Supérieure:
Supérieur:
Lance une opéra- matrice source
tion OU logique
OU exclusif
booléen
0x, 1x, *
3x, ou 4x
Supérieure:
répercute l’entrée
supérieure
Effectue une opération
OU logique sur les bits
de la matrice source et
les bits positionnés de
manière équivalente
dans la matrice cible,
puis place le résultat
dans la matrice cible
recouvrant le profil binaire original
Supérieure:
répercute l’entrée
supérieure
Effectue une opération
OU exclusif sur les bits
de la matrice source et
les bits positionnés de
manière équivalente
dans la matrice cible,
puis place le résultat
dans la matrice cible
recouvrant le profil binaire original
Inférieur:
longueur matrice*
OR
K***
I
Effectue une opération
ET sur les bits de la
matrice source et les
bits positionnés de
manière équivalente
dans la matrice cible,
puis place le résultat
dans la matrice cible
recouvrant le profil binaire original
Médian:
matrice cible
0x** ou
4x
O
Supérieure:
Lance une opération OU exclusif
0x** ou
4x
XOR
K***
Supérieur:
matrice source
Médian:
matrice cible
Inférieur:
longueur matrice*
Fonction
Supérieure:
répercute l’entrée
supérieure
Inférieur:
longueur matrice*
AND
K****
0x, 1x, *
3x, ou 4x
Supérieur:
matrice source
Sorties
(S)
Médian:
matrice
cible
0x** ou
4x
I
Eléments
* Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation
de 16 bits TOR (1 à 16, 17 à 32, 33 à 48).
** Si vous utilisez des adresses 0x en tant que cible, vous ne pouvez pas les programmer en tant que sorties, mais uniquement
en tant que contacts faisant référence aux numéros de ces sorties.
***K est une constante entière comprise entre 1 et 100.
64
Instructions relatives au traitement des données
Opération ET
0
Bits de matrice source
Bits de matrice cible
0
1
0
1
0
0
Une instruction ET effectue une opération
ET logique sur les bits d’une matrice
source et les bits correspondants d’une
matrice cible, puis place les résultats
dans la matrice cible, recouvrant le profil
binaire précédent qui s’y trouvait.
1
0
1
1
0
Matrice source
40600
1111111100000000
40601
1111111100000000
40604
1111111111111111
40605
0000000000000000
Matrice cible originale
Lorsque le contact 10001 passe ON, la
matrice de bits comprenant les registres
40600 et 40601 fait l’objet d’une
opération ET avec la matrice de bits
comprenant les registres 40604 et 40605.
Matrice ayant fait l’objet
d’une opération ET
40604
1111111100000000
40605
0000000000000000
OU
40600
De même, une instruction OU effectue
une opération logique OU sur les bits
d’une matrice source et les bits
correspondants d’une matrice cible, puis
recouvre la matrice cible avec les
résultats de l’opération.
10001
40604
ET
2
Le résultat est alors copié dans les
registres 40604 et 40605, recouvrant le
profil binaire précédent.
Note Les sorties ne peuvent pas être positionnées sur OFF au moyen de
l’instruction OU.
Opération OU
0
Bits de matrice source
Bits de matrice cible
0
1
0
0
1
1
1
0
1
1
1
Instructions relatives au traitement des données
Breite: 151,5mm
Höhe: 227,5mm
65
Si par exemple nous effectuons une
opération OU sur les deux mêmes
matrices comme dans l’exemple
ci-dessus:
matrice source et les bits correspondants
d’une matrice cible, puis recouvre la
matrice cible avec les résultats de
l’opération.
Si par exemple nous effectuons une
opération XOR sur les deux mêmes
matrices comme dans l’exemple
ci-dessus:
40600
10001
40604
OU
2
40600
10001
40604
XOR
2
le résultat est:
Matrice source
40600
1111111100000000
40601
1111111100000000
le résultat est:
Matrice cible originale
40604
40605
Matrice source
1111111111111111
0000000000000000
Matrice cible ayant fait l’objet
d’une opération OU
40604
1111111111111111
40605
1111111100000000
40600
1111111100000000
40601
1111111100000000
40604
1111111111111111
40605
0000000000000000
Matrice cible originale
Matrice cible ayant fait l’objet
d’une opération XOR
OU exclusif
Une instruction OU exclusif effectue une
opération logique XOR sur les bits d’une
40604
0000000011111111
40605
1111111100000000
Opération XOR
0
Bits de matrice source
Bits de matrice cible
0
1
0
0
1
1
1
0
0
1
1
Archivage des valeurs de la matrice cible originale
Si vous souhaitez enregistrer le profil
binaire original à partir des registres de la
matrice cible, utilisez l’instruction BKLM
66
pour copier les informations dans une
autre table avant d’exécuter l’opération
logique booléenne.
Instructions relatives au traitement des données
Exemple d’application: moyenne sur une table
de valeur
40101
40202
40201
40203
40204
1
ADD
40202
ADD
40201
10006
→R
T
84
40201
40201
40203
40201
DIV
40301
XOR
3
00003
Voici un programme d’application
combinant trois calculs mathématiques
sur des entiers avec un transfert de
données et une instruction XOR. Il
calcule la valeur moyenne de 84 valeurs
enregistrées dans la table des registres
40101 à 40184.
Lorsque le contact 10006 est ON,
l’instruction table à registre exécute un
transfert de données. La valeur du
premier registre de la table est copiée
dans 40204 et le pointeur de la table
s’incrémente. Étant donné que la sortie
supérieure de l’instruction table à registre
est ON, le premier bloc ADD ajoute la
valeur du registre 40204 à celle du
registre 40202 (initialement 0); puis le
résultat de cette addition recouvre la
valeur précédente du registre 40202. La
deuxième instruction est activée pour
faire + 1 si l’addition déborde (> 9999);
l’on incrémente ainsi le registre 40201 qui
sera le poids fort du cumul dans 40201,
40202.
L’exécution du programme se poursuit
ainsi jusqu’à ce que toutes les valeurs de
la table 84 aient été ajoutées les unes
aux autres. A ce stade, la valeur du
pointeur est 84, la sortie médiane passe
ON et active l’instruction DIV.
Le registre 40201 (représentant la partie
de poids fort de la somme de toutes les
valeurs des registres de la table) et
40202 (la partie de poids faible) sont
divisés par 84. Le résultat est placé dans
le registre 40301 et le reste dans le
registre 40302 (étant donné que l’entrée
médiane de l’instruction DIV est ON, le
reste est exprimé comme étant une
décimale). Le résultat de l’opération DIV
est la valeur moyenne des valeurs
courantes enregistrées dans les 84
registres de la table.
Lorsque la sortie supérieure de
l’instruction DIV est ON, l’instruction XOR
est exécutée. Une opération OU exclusif
est effectuée sur les valeurs des registres
40201 à 40203, remettant les registres à
0 et la sortie 3 passe ON indiquant que
l’opération actuelle de moyenne sur les
tables est terminée et qu’une nouvelle
opération peut commencer le cycle
suivant si 10006 est toujours ON.
Instructions relatives au traitement des données
Breite: 151,5mm
Höhe: 227,5mm
67
Complémentation binaire dans une matrice de
données
L’instruction COMP complémente le profil
binaire d’une matrice, c’est-à-dire qu’elle
remplace tous les 0 par des 1 et tous les
1 par des 0, puis copie le résultat dans
une deuxième matrice. Un matrice peut
être complémentée lors d’un cycle.
Attention COMP modifie toutes
les sorties d’une matrice cible si
elles ont été choisies en
destination. Si des sorties ont
été forcée pour réparation ou
maintenance, un risque de
potentiel existe car l’état des
sorties peut se modifier à la
suite de l’opération COMP.
COMP est une instruction à trois
éléments juxtaposés.
Instruction
I
Complémentation
binaire
Entrées
(E)
Structure
0x, 1x, *
3x, ou 4x
O
Supérieure:
Lance une opération de complémentation binaire
Sorties
(S)
Eléments
Supérieur:
matrice source
Supérieure:
répercute l’entrée
supérieure
0x** ou
4x
Médian:
matrice cible
COMP
K***
Inférieur:
longueur matrice*
Fonction
Complémente
les
valeurs binaires de la
matrice source et
place les résultats
dans la matrice cible
* Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation de
16 bits TOR (1 à 16, 17 à 32, 33 à 48).
** Si vous utilisez des adresses 0x en tant que cible, vous ne pouvez pas les programmer en tant que sorties, mais uniquement
en tant que contacts faisant référence aux numéros de ces sorties.
*** K est une constante entière comprise entre 1 et 100.
Exemple de complémentation binaire
Le programme présente ci-dessous un
bloc COMP avec une matrice source
composée de deux registres, 40250 et
40251, et une matrice cible composée
des registres 40252 et 40253.
registre source et place les résultats dans
le registre cible.
Matrice source
40250
1111111100000000
40251
1111111100000000
40250
10001
40252
COMP
2
Lorsque le contact 10001 est ON, le bloc
complémente les valeurs binaires du
68
Matrice cible complémentée
40252
0000000011111111
40253
0000000011111111
Toutes les valeurs enregistrées dans le
registre cible avant l’activation de
l’instruction COMP seront recouvertes par
les valeurs sources complémentées par
l’opération COMP.
Instructions relatives au traitement des données
Comparaison binaire dans une matrice de
données
L’instruction CMPR compare le profil
binaire d’une matrice de registres avec le
profil binaire d’une autre matrice. Lorsque
la valeur binaire d’une matrice ne
coïncide pas avec celle positionnée de
Instruction
I
Comparaison
binaire
Entrées
(E)
Structure
0x, 1x, *
3x, ou 4x
I
O
4x
O
CMPR
K**
O
manière équivalente dans l’autre matrice,
alors une valeur indiquant l’emplacement
de cette matrice est placée dans
l’élément médian appelé pointeur.
Sorties (S)
Eléments
Supérieure:
Supérieur:
Lance la comparai- matrice a
son binaire
Médiane:
0 = recommence
à partir de la
dernière inégalité
1 = recommence
à partir du
début
Supérieure:
répercute l’entrée supérieure
Médian:
4x pointeur donnant le rang du bit
discordant 4x+1
=début
de
la
matrice B
Inférieur:
longueur matrice*
Médiane:
discordance
détectée
Fonction
Compare les profils
binaires des matrices
a et b et signale l’inégalité
Inférieure:
état du bit différent
dans la matrice a
* Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation
de 16 bits TOR (1 à 16, 17 à 32, 33 à 48).
** K est une constante entière comprise entre 1 et 100.
Note Quand le pointeur a pour valeur 1, c’est le bit de poids fort du premier
registre qui est pointé.
Exemple de comparaison binaire
Matrice a
44620
10001
44622
CMPR
2
0000000000000000
40621
1 0 0 0 0 0 0 0 1 0 0 0 0 01 0 0
Bit 1
00143
10002
40620
40623
00144
40624
Cet exemple illustre une comparaison
binaire entre deux matrices de deux
registres. La matrice a comprend les
registres 44620 et 44621; la matrice b
comprend les registres 44623 et 44624:
bit 18
Bit 17
Matrice b
0000000000000000
0000000000000000
bit 32
La matrice a est comparée à la matrice b
bit par bit lors de chaque cycle.
Instructions relatives au traitement des données
Breite: 151,5mm
Höhe: 227,5mm
69
Lors de la première transition ON du
contact 10001, les bits de la matrice sont
comparés jusqu’au bit 17, où la valeur de
la matrice a = 1 et celle de la matrice b =
0. A ce stade, une valeur de 17 est
placée dans le pointeur du registre
44622, la comparaison s’arrête et les
sorties 00143 et 00144 sont ON pendant
un cycle.
70
Si le contact 10002 est ON, la fonction
commence la comparaison à la position
matricielle 1 de la transition suivante de
10001 et s’arrête à nouveau lorsque la
valeur du registre 44622 = 17. Si le
contact 10002 est OFF, la fonction
commence la comparaison à la position
matricielle 18 de la transition suivante de
10001 et s’arrête lorsque la valeur du
registre 44622 = 25.
Instructions relatives au traitement des données
Détection et traitement binaires dans une
matrice
Trois instructions vous permettent
d’examiner et de gérer les profils binaires
d’une matrice de données:
V L’instruction de détection du bit
(SENS) signale l’état à 0 ou 1 le bit
spécifié dans une matrice.
V L’instruction de modification du bit
(MBIT) modifie le bit spécifié dans une
matrice.
V L’instruction de permutation du bit
(BROT) décale le profil binaire d’une
matrice à gauche ou à droite en
rotation ou perte du bit sortant.
Il s’agit d’instructions à trois éléments
juxtaposés.
Instructions relatives au traitement des données
Breite: 151,5mm
Höhe: 227,5mm
71
Instruction
Permutation
binaire
Détection binaire
Modification
binaire
Entrées (E)
Structure
I
0x, 1x, *
3x, ou 4x
I
0x** ou
4x
I
BROT
K***
I
3x, 4x,
ou K1***
O
I
0x** ou
4x
O
I
SENS
K1**
O
I
3x, 4x,
ou K1***
O
O
O
I
0x** ou
4x
O
I
MBIT
O
K1***
Sorties (S)
Eléments
Supérieure:
Lance la permutation
binaire
Supérieur:
matrice source
Médiane:
0 = commence à
gauche
1 = commence à
droite
Médian:
matrice cible
Inférieure:
0 = bit sort de la matrice
1= bit boucle au début de
la matrice
Inférieur:
longueur matrice*
Supérieure:
Lance la détection.
Supérieur:
pointeur vers
matrice
Médiane:
incrémente le pointeur
après une détection binaire
Médian:
adresse du premier
registre de la matrice
Médiane:
copie l’état du bit
détecté
Inférieure:
remet le pointeur à 1
Inférieur:
longueur matrice**
Inférieure:
pointeur >
longueur matrice
Supérieure:
On modifie l’état du bit
pointé
Supérieur:
pointeur vers
matrice
Médiane:
0= met le bit à 0
1 = met le bit à 1
Médian:
Médiane:
adresse du premier répercute
registre de la matrice médiane
Inférieure:
incrémente le pointeur
après une modification
Inférieur:
longueur matrice**
* K est une constante entière comprise entre 1 et 100.
la
la
Fonction
Supérieure:
répercute
l’entrée
supérieure
Médiane:
état du bit sortant de
la matrice
Permute ou décale
le profil binaire
d’une matrice, d’une
position par cycle
Supérieure:
répercute
supérieure
Examine et signale
l’état d’un bit spécifique, c.-à-d. 1 ou 0,
dans une matrice; un
bit par cycle peut être
détecté
l’entrée
Supérieure:
répercute
l’entrée
supérieure
Modifie la valeur d’un
bit de la matrice de 0
à 1 ou de 1 à 0; un bit
par cycle peut être
modifié
l’entrée
Inférieure:
pointeur >
longueur matrice
** K est une constante entière comprise entre 1 et 255.
Attention MBIT et BROT modifient toutes les sorties d’une matrice cible.
Si des sorties ont été forcées pour réparation ou maintenance, un risque
de potentiel existe car l’état de la sortie peut se modifier à la suite de la
manipulation binaire.
Note Quand le pointeur a pour valeur 1, c’est le bit de poids fort du premier
registre qui est pointé.
72
Instructions relatives au traitement des données
Chapitre 8
Communications ASCII
simples
j Communication ASCII via un programme
j Instruction COMM
j Formats de données
j Tableau des caractères ASCII
j Exemple d’application: utilisation d’une console HHP en tant que
terminal d’affichage ASCII
Communications ASCII simples
Breite: 151,5mm
Höhe: 227,5mm
73
Communication ASCII via un programme
L’instruction COMM vous permet de lire
et d’écrire des éléments en caractères
ASCII - claviers, terminal, lecteur de code
à barres par exemple - via un des ports
de communication intégrés àl’API ou, si
l’API est parent, via un port comm d’un
des API enfants sur le réseau
d’extension.
V Pour une opération d’écriture avec
CR/LF, l’instruction COMM envoie
automatiquement un retour
chariot/avancement d’un interligne
après l’envoi du nombre de caractères
sélectionnés.
Formats de message standard
V Pour une opération d’écriture sans
CR/LF, l’instruction COMM n’envoie
pas automatiquement de retour
chariot/avancement d’un interligne.
Les capacités de communication ASCII
offertes par les Micro API Modicon
fournissent des formats de message
standard simples. Ainsi, vous pouvez
utiliser la mini-console de programmation
520 VPU19200 (HHP) peu coûteuse en
tant qu’élément ASCII; la HHP elle-même
ne prend pas en charge l’édition
complète des messages/formats ASCII.
V Pour une opération de lecture avec
CR/LF, vous obtenez le format lorsque
vous tapez le nombre sélectionné de
caractères (c’est-à-dire prélevés du
tampon de sortie) ou lorsque vous
tapez un retour chariot ou un
avancement d’un interligne; dans le
second cas, CR/LF n’est placé dans
aucun registre.
Le tableau ci-dessous présente les
formats, c’est-à-dire les types d’opération,
à utiliser dans l’instruction COMM.
V Pour une opération de lecture sans
CR/LF, la seule façon d’obtenir le
format est de saisir le nombre
sélectionné de caractères.
La différence entre les formats CR/LF
(retour chariot/avancement d’un
interligne) et sans CR/LF est la façon
dont ils traitent les retours chariot et les
avancements d’un interligne.
Formats de messages standard
Format
Indicateur de format décimal
Purge buffer de réception
1000
Purge buffer de réception sans CR/LF
1001
Lecture caractères ASCII, sans CR/LF
1010
Écriture caractères ASCII, sans CR/LF
1110
Lecture caractères ASCII, CR/LF
1020
Écriture caractères ASCII, CR/LF
1120
Lecture entier (1 à 4), sans CR/LF
1031... 1034
Écriture entier (1 à 4), sans CR/LF
1131... 1134
Lecture entier (1 à 4), CR/LF
1041... 1044
Écriture entier (1 à 4), CR/LF
1141... 1144
Lecture.hex. (1 à 4), sans CR/LF
1051... 1054
Écriture hex. (1 à 4), sans CR/LF
1151... 1154
Lecture hex. (1 à 4), CR/LF
1061... 1064
Écriture hex. (1 à 4), CR/LF
1161... 1164
74
Communications ASCII simples
Instruction COMM
Instruction
Entrées
(E)
Structure
I
Lecture/écriture
ASCII simple
I
4x
O
4x
O
COMM
K*
O
Sorties
(S)
Eléments
Supérieure:
ON lance la
fonction
comm
Inférieure:
abandonne la
fonction
et
active la partie
médiane
Supérieur:
Début du bloc
de contrôle
Médian:
Fonction d’écriture source ou
fonction de lecture cible
Inférieur:
Taille de la table
source/cible
Fonction
Exécute la fonction
de communication
ASCII définie dans le
premier registre du
Médiane:
sur ON pendant bloc (registre 4x de
un cycle en cas l’élément supérieur)
de détection d’erreur
Inférieure:
sur ON pendant
un cycle lorsque
la fonction est
terminée
Supérieure:
sortie ACTIVE
*K est une constante entière comprise entre 1 et 255.
Bloc de contrôle COMM (indiqué par le registre de l’élément supérieur de l’instruction)
Num. de registre
4x
4x + 1
Contenu du registre
Type de format de message standard (un des indicateurs de format décimal de la table figurant à la
page précédente)
Etat d’erreur COMM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Aucune erreur
0000
00
API enfant non configuré sélectionné dans le registre 4x + 5
0001
01
Instruction COMM activée plus longtemps que le temps spécifié
dans le registre 4x + 9
0010
02
Type (format) d’opération invalide sélectionné dans le registre 4x
0011
03
Nombre de caractères spécifiés dans le registre 4x + 2 supérieur à la
constante de l’élément inférieur de l’instruction COMM
0100
04
Erreur dans le buffer de réception détectée
0101
05
Valeur erronée d’un entier détectée dans les données d’entrée ou de sortie 0 1 1 0
06
Valeur hex. erronée détectée dans les données d’entrée ou de sortie
0111
07
Le nombre d’octets à transmettre dépasse la taille du buffer d’émission,
à savoir 256 octets pour le port local ASCII, 64 octets pour chaque enfant
1000
08
Aucun port local configuré pour ASCII
1001
09
Port utilisé par API parent/enfant
1010
10
API enfant invalide
1011
11
Ligne DSR active
1100
12
Note: Voir le tableau de la page suivante pour plus amples détails et les mesures à prendre en cas de
réception d’une erreur.
4x + 2
Nombre de caractères fournis/prévus
4x + 3
Nombre de caractères traités (registre chargé par l’instruction)
4x + 4
Réservé pour utilisation Modicon
4x + 5
Numéro de port (1 pour un port de l’API local, 2 à 5 si l’API local est un parent utilisant un port
d’un API enfant)
4x + 6
Réservé pour utilisation Modicon
4x + 7
Réservé pour utilisation Modicon
4x + 8
Réservé pour utilisation Modicon
4x + 9
Tempo d’activité maximal alloué à l’instruction Comm en xioms
Communications ASCII simples
Breite: 151,5mm
Höhe: 227,5mm
75
Codes d’erreur de l’instruction COMM (renvoyés au second mot du bloc de contrôle)
Code
Erreur
Observations
01
API enfant non configuré sélectionné dans
le registre 4x + 5
La valeur du registre 4x + 5 spécifie l’API avec lequel l’instruction
COMM va communiquer. Une valeur 1 sélectionne l’API local; une
valeur 2 sélectionne l’API enfant nº 1; une valeur 3 sélectionne l’API
enfant nº 2; etc.
Note: Le port physique de l’API à utiliser pour une communication
ASCII, à savoir comm 1, comm 2 ou exp link, est sélectionné lors de
la configuration. On ne peut le sélectionner dynamiquement à partir de
l’instruction COMM.
02
Instruction COMM activée plus longtemps
que le temps spécifié dans le registre 4x + 9
03
Type (format) d’opération invalide sélectionné dans le registre 4x
04
Nombre de caractères spécifiés dans le
registre 4x + 2 supérieur à la constante de
l’élément inférieur de l’instruction COMM
Pour les formats ASCII, chaque registre peut contenir deux champs
(caractères ASCII). Ainsi, avec une taille 1, le nombre de champs doit
être < 2 ainsi de suite....
Pour les formats d’entiers (1 à 4), chaque registre peut contenir un
champ (un entier) avec une largeur comprise entre 1 et 4 chiffres.
Pour les formats hex. (1 à 4), chaque registre peut contenir un champ
(un nombre hexadécimal) avec une largeur comprise entre 1 et 4
nombres hexa.
Pour tous les formats qui s’ajoutent à un retour chariot ou un avancement d’un interligne, ce-dernier ne requiert aucun enregistrement de
registre.
05
Erreur dans le tampon réception détectée
Cette erreur peut être une erreur de parité, de cadence ou trame. Pour
effacer l’erreur, vous devez purger le buffer.
06
Valeur erronée d’un entier détectée dans
les données d’entrée ou de sortie
Valeurs valides (en décimales):
Pour I1
0à9
Pour I2
0 à 99
Pour I3
0 à 999
Pour I4
0 à 9999
07
Valeur hex. erronée détectée dans les données d’entrée ou de sortie
Valeurs hex. valides:
Pour H1
0àF
Pour H2
0 à FF
Pour H3
0 à FFF
Pour H4
0 à FFFF
08
Le nombre d’octets à transmettre dépasse la
taille du buffer d’émission, à savoir 256
octets pour le port local ASCII, 64 octets pour
chaque enfant
Le nombre d’octets à envoyer dépend du format sélectionné et du
nombre de champs à traiter. Pour le format ASCII, le nombre d’octets
= le nombre de formats à traiter. Pour les formats entier ou hex., le
nombre d’octets = le nombre de formats à traiter x le spécificateur de
format (1 à 4).
Si le nombre de champs à traiter est 2 par exemple, alors que le spécificateur de format est I3, le nombre d’octets à envoyer est 6 (2 x 3).
Pour tous les formats, vous devez ajouter 2 aux nombres ci-dessus si
le CR/LF est sélectionné, les CR/LF étant enregistrés dans le buffer
d’émission.
Aucun port local configuré pour ASCII
Reconfigurer l’API et affecter le port souhaité ASCII
10
09
Port utilisé par API parent/enfant
Dans un API parent, cette erreur indique que l’unité tente d’accéder à
un port ASCII d’un API enfant alors que ce port a été configuré pour utilisation par l’enfant lui-même. Reconfigurer l’API enfant et affecter le
port souhaité à l’API parent.
Dans un API enfant, cette erreur indique que l’unité tente d’accéder au
port ASCII local alors que ce port a été configuré pour utilisation par
l’API parent. Reconfigurer l’API enfant et affecter le port souhaité à l’API
enfant.
11
API enfant invalide
l’API parent ne peut communiquer avec l’enfant par le réseau d’extension
12
DSR active
Lorsqu’un port comm est configuré pour ASCII, il peut en réalité être en
mode de commutation Modbus/ASCII, dans lequel la ligne DSR permet
de commuter entre les deux protocoles de communication.
Lorsque l’API est arrêté ou lorsque la ligne DSR est excitée alors que
l’API est en marche, le port se reconfigure avec les paramètres Modbus définis dans la configuration.
Lorsque l’API est en marche et la ligne DSR n’est pas excitée, le port se
reconfigure avec les paramètres ASCII définis dans la configuration.
76
Communications ASCII simples
Formats de données
Format caractères ASCII
Numéros de format
1010, 1110, 1020, 1120.
Utilisation générale
Émission/réception de caractères ASCII ou de données
sur 8 bits. Les données sont codées sous forme de
deux caractères par registre 4x, le premier caractère
dans les huit bits les plus significatifs du registre et le
second caractère dans les huit bits les moins
significatifs.
Utilisation dans une
opération d’écriture
Sans auto CR/LF
Format obtenu après n caractères sortis des registres.
Auto CR/LF
Format obtenu après n caractères sortis des registres
et sorties CR/LF.
Utilisation dans une
opération de lecture
Sans auto CR/LF
Format obtenu après n caractères entrés dans les
registres.
Auto CR/LF
Format obtenu après n caractères entrés dans les
registres ou CR/LF reçus dans le buffer.
Format entiers (1 à 4)
Numéros de format
1031 à 1034, 1131 à 1134, 1041 à 1044, 1141 à 1144.
Utilisation générale
Emission/réception de caractères entiers. Les données
sont comprimées sous forme de 1 à 4 chiffres (en
fonction du numéro de format sélectionné) par registre
4x. Elles sont justifiées à gauche, le premier chiffre du
champ de données étant positionné à l’extrémité
gauche.
Utilisation dans une
opération d’écriture
Sans auto CR/LF
Format obtenu après n entiers sortis des registres.
Auto CR/LF
Format obtenu après n entiers sortis des registres et
sorties CR/LF.
Utilisation dans une
opération de lecture
Sans auto CR/LF
Format obtenu après n entiers entrés dans les
registres.
Auto CR/LF
Format obtenu après n entiers entrés dans les registres
ou CR/LF reçus dans le buffer.
Communications ASCII simples
Breite: 151,5mm
Höhe: 227,5mm
77
Format hex. (1 à 4)
Numéros de format
1051 à 1054, 1151 à 1154, 1061 à 1064, 1161 à 1164.
Utilisation générale
Émission/réception de caractères hex. Les données
sont codées sous forme de 1 à 4 caractères (en
fonction du numéro de format sélectionné) par registre
4x. Elles sont justifiées à droite, le premier chiffre du
champ de données étant positionné à l’extrémité
gauche.
Utilisation dans une
opération d’écriture
Sans auto CR/LF
Format obtenu après n caractères sortis des registres.
Auto CR/LF
Format obtenu après n caractères de données sortis
des registres et sorties CR/LF.
Utilisation dans une
opération de lecture
Sans auto CR/LF
Format obtenu après n hexa entrés dans les registres.
Auto CR/LF
Format obtenu après n hexa entrés dans les registres
ou CR/LF reçus dans le buffer.
Format purge du buffer de réception
Numéro de format
1000.
Utilisation générale
Purge du buffer de réception d’entrée. Dans l’API local,
les octets sont purgés immédiatement. Si un API
parent utilise le port comm de l’API enfant pour un
fonctionnement ASCII, la purge est effectuée lorsque
l’API enfant reçoit la demande de l’API parent; le
parent envoie sa demande à la fin du cycle.
Utilisation dans une
opération d’écriture
sans objet
Utilisation dans une
opération de lecture
Tous les octets dans le buffer de réception sont éliminés.
Format purge de n octets du buffer de réception
Numéro de format
1001.
Utilisation générale
Purge d’un certain nombre d’octets du buffer d’entrée.
Dans l’API local, les octets sont éliminés immédiatement. Si un API parent utilise le port comm de l’API
enfant pour un fonctionnement ASCII, la purge est effectuée lorsque l’API enfant reçoit la demande de l’API
parent; le parent envoie sa demande à la fin du cycle.
Utilisation dans une
opération d’écriture
Utilisation dans une
opération de lecture
78
sans objet
Le nombre spécifié d’octets dans le buffer de réception est
ignoré.
Communications ASCII simples
Tableau des caractères ASCII
Décimal
Octal
Hex
0
000
00
1
001
01
2
002
3
003
4
Caractère
ASCII
Symbole
ASCII
Décimal
Octal
Hex
NUL (nul)
33
041
21
!
SOH (début d’en-tête)
34
042
22
”
02
STX (début de texte)
35
043
23
#
03
EXT (fin de texte)
36
044
24
$
004
04
EOT (fin de transmission)
37
045
25
%
5
005
05
ENQ (demande de renseignements)
38
046
26
&
6
006
06
ACK ACK (accusé de réception)
39
047
27
’
7
007
07
BEL (tonalité)
40
050
28
(
8
010
08
BS (espacement arrière)
41
051
29
)
9
011
09
HT (tab horizontale)
42
052
2A
*
10
012
0A
LF (avancement d’un interligne)
43
053
2B
+
11
013
0B
VT (tab verticale)
44
054
2C
‘
12
014
0C
FF (éjection papier)
45
055
2D
-
13
015
0D
CR (retour chariot)
46
056
2E
.
14
016
0E
SO (code spécial/ ruban rouge)
47
057
2F
/
15
017
0F
SI (code normal/ruban noir)
48
060
30
0
16
020
10
DLE (échappement en transmission)
49
061
31
1
17
021
11
DC1 (caractère de service 1 X-ON)
50
062
32
2
18
022
12
DC2 (caractère de service 2 aux-ON)
51
063
33
3
19
023
13
DC3 (caractère de service 3 X-ON)
52
064
34
4
20
024
14
DC4 (caractère de service 1 aux-ON)
53
065
35
5
21
025
15
NAK (accusé de réception négatif)
54
066
36
6
22
026
16
SYN (fichier synchrone)
55
067
37
7
23
027
17
ETB (bloc de fin de transmission)
56
070
38
8
24
030
18
CAN (annulation)
57
071
39
9
25
031
19
EM (fin de support)
58
072
3A
:
26
032
1A
SUB (remplacement)
59
073
3B
;
27
033
1B
ESC (échappement)
60
074
3C
<
28
034
1C
FS (séparateur de fichiers)
61
075
3D
=
29
035
1D
GS (séparateur de groupes)
62
076
3E
>
30
036
1E
RS (séparateur d’enregistrements)
63
077
3F
?
31
037
1F
US (séparateur d’unités)
64
40
@
32
040
20
SP (espace)
080
Communications ASCII simples
Breite: 151,5mm
Höhe: 227,5mm
79
Symbole
ASCII
Décimal
Octal
Hex
65
081
41
A
66
082
42
B
67
083
43
68
084
69
Symbole
ASCII
Octal
Hex
97
121
61
a
98
122
62
b
C
99
123
63
c
44
D
100
124
64
d
085
45
E
101
125
65
e
70
086
46
F
102
126
66
f
71
087
47
G
103
127
67
g
72
090
48
H
104
130
68
h
73
091
49
I
105
131
69
i
74
092
4A
J
106
132
6A
j
75
093
4B
K
107
133
6B
k
76
094
4C
L
108
134
6C
l
77
095
4D
M
109
135
6D
m
78
096
4E
N
110
136
6E
n
79
097
4F
O
111
137
6F
o
80
100
50
P
112
140
70
p
81
101
51
Q
113
141
71
q
82
102
52
R
114
142
72
r
83
103
53
S
115
143
73
s
84
104
54
T
116
144
74
t
85
105
55
U
117
145
75
u
86
106
56
V
118
146
76
v
87
107
57
W
119
147
77
w
88
110
58
X
120
150
78
x
89
111
59
Y
121
151
79
y
90
112
5A
Z
122
152
7A
z
91
113
5B
[
123
153
7B
{
92
114
5C
\
124
154
7C
|
93
115
5D
]
125
155
7D
}
94
116
5E
^
126
156
7E
95
117
5F
_
127
157
7F
96
120
60
‘
80
Communications ASCII simples
Décimal
~
DEL (delete)
Exemple d’application: utilisation d’une HHP
en tant que terminal d’affichage ASCII
Dans cet exemple, une mini-console de
programmation 520VPU19200 portative
est utilisée en tant que terminal d’affichage ASCII affichant un comptage de
pièces et le temps de cycle. L’application
utilise quatre instructions COMM distinctes:
V La première COMM écrit le message
ASCII, PART count =; elle utilise le
format 1110 qui écrit les caractères
ASCII suivis d’un retour chariot et d’un
changement de ligne (CR/LF).
V La seconde COMM écrit quatre entiers
indiquant le comptage de pièces; elle
utilise le format 1144 qui écrit quatre
entiers suivis d’un retour chariot et
d’un changement de ligne (CR/LF).
V La troisième COMM écrit le message
ASCII, CYCLE TIME =; elle utilise le
format 1110.
V La quatrième COMM écrit quatre
entiers représentant le temps de cycle;
elle utilise le format 1144.
Les première et troisième instructions
COMM utilisent le même bloc de
contrôle. Les dix premiers registres de ce
dernier, 40400 à 40409, sont les
suivants:
Bloc de contrôle pour les première et troisième COMM
Numéro
registre
Valeur
registre
Signification
Format de données: écriture
caractère ASCII, CR/LF
40400
1110
40401
nn
L’API génère un message d’erreur où nn est compris entre 00
et 12 (00 indique l’absence de
problème)
40402
14
14 octets à envoyer au
maximum
40403
nn
Nombre de caractères traités
(nn est conservé par l’API)
1
Communication ASCII gérée
à partir de l’API local
Réservé
40404
40405
40406
Réservé
40407
Réservé
40408
Réservé
40409
0
Sans temporisation
Les chaînes de caractères ASCII sont
enregistrées dans les registres 40410 à
40426 du bloc. Le tableau suivant
présente les deux caractères ASCII de
chaque registre et l’équivalent
hexadécimal pour chacun d’eux.
Communications ASCII simples
Breite: 151,5mm
Höhe: 227,5mm
81
Numéro
registre
Octet
fort
ASCII
Octet
faible
ASCII
Octet
fort
Hex
Octet
faible
Hex
40410
P
A
50
41
40411
R
T
52
54
40412
^
C
00
43
40413
O
U
4F
55
40414
N
T
4E
54
40415
^
=
00
3D
40416
^
^
00
00
40420
C
Y
43
59
40421
C
L
43
4C
40422
E
^
45
00
40423
T
I
54
49
40424
M
E
4D
45
40425
^
=
00
3D
40426
^
^
00
00
^ indique un espace caractère vide
Les seconde et quatrième instructions
COMM utilisent également le même bloc.
Les dix premiers registres de ce bloc,
40430 à 40441, sont les suivants:
Bloc de contrôle pour les secondes et
quatrième COMM
Numéro
registre
Valeur
registre
40430
1144
40431
nn
40432
2
2 octets à envoyer au maximum
40433
nn
Nombre de caractères traités
(nn est conservé par l’API)
40434
40435
Signification
Format de données: écriture
quatre entiers, CR/LF
L’API génère un message
d’erreur dans lequel nn est
compris entre 00 et 12 (00
indique
l’absence
de
problème)
Réservé
1
Communication ASCII gérée
à partir de l’API local
40436
Réservé
40437
Réservé
40438
40439
82
Réservé
0
Sans temporisation
Communications ASCII simples
Le registre 40440 de ce bloc contient la
valeur réelle du comptage des pièces. Le
registre 4044 contient le temps de cycle
réel en secondes.
Le réseau 1 configure les blocs de
contrôle pour les quatre instructions
COMM. Ce sont les seuls registres à
remplir.
Le réseau 2 complète les première et
seconde instructions COMM. Lorsque la
00126 passe ON, l’HHP affiche:
PART COUNT = 223
Le curseur commence à partir de la ligne
suivante à cause de la séquence CR/LF
associée au format 1144.
Le réseau 3 complète les troisième et
quatrième instructions COMM. Lorsque la
sortie 00127 passe ON, l’HHP affiche:
CYCLE TIME = 8
Le curseur commence à partir de la ligne
suivante à cause de la séquence CR/LF
associée au format 1144.
Réseau 1
111
40399
14
1
0
0
10
0
0
0
SUB
40399
MUL
40399
SUB
40402
SUB
40405
SUB
40409
40400
2
1
0
34
0
0
0
SUB
40432
SUB
40435
SUB
40439
MUL
40430
Réseau 2
le registre 40440 contient la valeur 223
40400
00125
STRT_MSG
40410
COMM
7
40430
40440
COMM
1
00126
SUITE
Réseau 3
le registre 40441 contient la valeur 8
40400
00126
SUITE
40410
COMM
7
40430
40440
COMM
1
00127
MSG_CMPLT
Communications ASCII simples
Breite: 151,5mm
Höhe: 227,5mm
83
84
Communications ASCII simples
Chapitre 9
Instruction d’exécution de
commandes en séquence
j Instruction SCIF
j Exemple d’application: chronologie avec les blocs SCIF
Instruction d’exécution de commandes en séquence
Breite: 151,5mm
Höhe: 227,5mm
85
Instruction SCIF
Instruction
Entrées
(E)
Structure
Eléments
Supérieure:
Supérieur:
ON exécute l’in- indicateur d’étapes
struction ICMP
I
Interface
d’exécution des
instructions en
I
séquence
4x
I
SCIF
K*
4x
O
Médiane:
ON en mode
séquenceur incréO mente le pointeur
d’étapes à l’étape
suivante;
ON en mode
O comparaison
transfère l’état de
comparaison à la
sortie médiane
Inférieure:
ON en mode
séquenceur remet
le pointeur d’étapes à 0; cette
entrée n’est pas
utilisée en mode
comparaison
Médian:
premier registre de
la table de données
d’étapes; les six premiers registres de la
table sont réservés
comme on le voit cidessous
Inférieur:
nombre de registres
de données d’étapes
spécifiques à l’application de la table
de données d’étapes; le nombre total
de registres de la
table est K + 6
Sorties
(S)
Fonction
Supérieure:
Exécute une ou deux
répercute l’entrée fonctions telles qu’elles
supérieure
ont été définies par la
valeur
du
premier
registre de la table de
Médiane:
données d’étapes:
en mode séquenceur, passe sur ON 0 = mode séquenceur,
pendant la der- dans lequel le bloc
nière étape -c-à-d. contrôle les sorties dans
lorsque le pointeur l’application de l’ordre
d’étapes
=
le séquenceur
nombre maximal
d’étapes;
1 = mode comparaison
ON
en
mode d’entrées (ICMP), dans
comparaison indi- lequel le bloc lit les
que une comparai- entrées pour s’assurer
son valide (1) ou que les fins de course,
invalide (0) des les détecteurs de proxientrées
mité, les boutons-pousInférieure:
ON en cas de
détection d’erreur
soirs, etc., sont correctement positionnés pour
permettre le déclenchement
des
sorties
séquenceur
*K est une constante entière comprise entre 1 et 255.
Registres de la table des données d’étapes (indiqués par le registre de l’élément médian)
Adresse
Nom registre
Description
4x
Sous-fonction
0 = fonctionnalité mode séquenceur
1 = fonctionnalité mode comparaison d’entrées (ICMP)
(Lorsque vous tapez une autre valeur dans ce registre, toutes les sorties passent sur
OFF)
4x + 1
données de sorties masquées Chargé par SCIF chaque fois que le bloc est résolu; dans le registre figure le contenu
du registre de données d’étape courante masqué par le registre masque de sortie
(en mode séquenceur)
données d’entrées brutes
(en mode ICMP)
Chargé par l’utilisateur à partir d’un groupe d’entrées séquentielles à utiliser par le
bloc dans l’étape courante
4x + 2
données d’étapes courantes
Chargé par SCIF chaque fois que le bloc est résolu; le registre contient les données
de l’étape courante (indiquées par le pointeur)
4x + 3
masque de sortie
(en mode séquenceur)
masque de sortie
(en mode ICMP)
4x + 4
4x + 5
non utilisé en mode
séquenceur
données d’entrées masquées Chargé par SCIF lors de chaque résolution de bloc, il contient le résultat de l’opération ET sur le masque d’entrée et les données d’entrées brutes
(en mode ICMP)
non utilisé en mode
séquenceur
état comparaison
(en mode ICMP)
4x + 6
Chargé par l’utilisateur avant utilisation du bloc, le contenu ne sera pas altéré au
cours de la résolution logique; contient un masque à appliquer aux données lors de
chaque étape séquentielle
Chargé par l’utilisateur avant utilisation du bloc, contient un masque faisant l’objet
d’une opération ET avec les données d’entrées brutes pour chaque étape - les bits
masqués ne seront pas comparés; les données masquées seront placées dans le
registre données d’entrées masquées
Table début de données*
Chargé par SCIF lors de chaque résolution de bloc, il contient le résultat de l’opération ET sur les données d’entrées masquées et les données d’étapes courantes;
du fait des entrées d’entrées non masquées qui ne sont pas dans un état logique,
correct, le bit du registre associé devient 1 - les bits différents de 0 entraînent une
inégalité et la sortie médiane passe sur ON depuis le bloc SCIF
Le premier des registres K de la table contenant les données spécifiées par l’utilisateur
*Ce registre et les autres représentent les données d’étapes spécifiques à l’application dans le processus en cours
86
Instruction d’exécution de commandes en séquence
Les sous-fonctions DRUM et ICMP
fonctionnent simultanément pour lire les
entrées, déclencher les sorties et
ordonner les étapes du processus.
L’instruction SCIF émule
électroniquement le séquenceur à
tambour introduit au début des années
1900 et encore utilisé aujourd’hui dans
des applications nécessitant une
commande simultanée de moteurs,
d’électrovannes, de contacteurs, etc.
multiples à différents stades d’un
processus.
Le fonctionnement d’un tambour
mécanique ressemble à celui d’un
rouleau de piano mécanique. Un tambour
comprend une série de cames et de
surfaces planes. Chaque série représente
une étape d’un processus et chaque
came représente un changement d’état
d’un élément mécanique du processus.
Le tambour ne tourne que dans un seul
sens de sorte que chaque série passe,
l’une après l’autre, par un ensemble de
contacts fixes. Au fur et à mesure que les
cames d’une série donnée rencontrent
les contacts, cette étape subit des
modifications d’état mécanique.
Tambour mécanique
Avec un bloc SCIF, une table de données
d’étapes est configurée avec un registre
sur 16 bits pour représenter chaque
étape du processus. La logique analyse
la table du début à la fin, considérant
chaque valeur 1 d’un registre comme
étant une came et chaque 0 comme
étant une surface plane d’une rangée sur
le tambour mécanique.
Valeur
registre
Contenu
registre
4x
4x + 1
4x + 2
4x + 3
4x + 4
Table
données
étapes
Registre
configuration
4x + 5
4x + 6
1 0 11 1 0 0 1 1 0 0 1 1 1 0 0 0
Étape 1
4x + 7
1 0 01 1 1 0 0 1 1 0 0 0 0 1 1 1
Étape 2
4x + 8
0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0
Étape 3
4x + n
0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0
Derniere
étape
Table de données d’étapes d’un bloc SCIF
L’instruction SCIF associe le concept de
tambour mécanique à la puissance ajoutée et à la polyvalence du Micro API Modiconpourobtenirlesavantagessuivans:
V réduction de la durée d’immobilisation
du fait de l’élimination de plusieurs
pièces en mouvement,
V opérations de séquencement
facilement programmées et
maintenues,
V davantage de précision en terme de
synchronisation entre les étapes du
processus,
V plus grande flexibilité dans la définition
des temps, des cames, des
immobilisations.
Les applications modernes du
séquenceur à tambour comprennent le
moulage des pneus et du caoutchouc, le
moulage par injection, le moulage sous
pression, le blindage, la mise en bouteille
et d’autres utilisations à traitement par
lots.
SCIF combine deux sous-fonctions:
DRUM et ICMP. Le mode DRUM permet
d’affecter en séquences, pas à pas, un
profil binaire prédéfini aux sorties d’un
Micro API Modicon. Le mode ICMP
(comparaison d’entrées) permet de faire
correspondre les entrées en provenance
des éléments utilisateur avec une table
prédéfinie de profils binaires correspondant à chaque étape de DRUM.
L’utilisation simultanée de DRUM et de
ICMP permet au programmeur de déclencher les sorties et de comparer les états
des entrées avec un état prédéfini. Si
une discordance se produit, le processus
est interrompu.
Instruction d’exécution de commandes en séquence
Breite: 151,5mm
Höhe: 227,5mm
87
Exemple d’application: chronologie avec les
blocs SCIF
Cet exemple d’application Ladder Logic à
trois réseaux explique comment les blocs
SCIF peuvent être utilisés en mode
DRUM et ICMP. Le réseau 1 démarre et
arrête le cycle du séquenceur. Lorsqu’on
appuye sur le bouton-poussoir
Démarrage cycle, la logique pilote les
cycles du séquenceur jusqu’à ce qu’on
appuie sur le bouton Arrêt cycle ou
E-stop.
Si Arrêt cycle est requis, la séquence
DRUM continue jusqu’à l’exécution de la
dernière étape de la table de données
d’étapes. Si on appuye sur E-stop, le
DRUM s’arrête immédiatement sur
l’étape en cours.
Note Dans certaines applications,
l’instauration de E-stop n’est pas
souhaitable. Si un arrêt immédiat
sur l’étape courante n’est pas
souhaitable dans votre application
lors d’un arrêt d’urgence, vous
devez modifier la logique pour
l’adapter à vos besoins
spécifiques.
Le réseau 1 gère le démarrage et l’arrêt
de l’exemple séquenceur.
La sortie 00128 - Cyclestart
SCIF_CONTR - indique que le cycle
SCIF a démarré.
La sortie 00129 - Seq_start
SCIF_CONTR - indique que la séquence
SCIF a démarré ou redémarré.
Réseau 1
10001
EMERG_STOP
SCIF_CONTR
10002
Stop_cycle
SCIF_CONTR
10003
Startcycle
SCIF_CONTR
00128
CycleStart
00128
CycleStart
SCIF_CONTR
0001 #000
00128
Cyclestart
SCIF_CONTR
00130
Last_step
SCIF_CONTR
0003 #000
10001
EMERG_STOP
SCIF_CONTR
00129
Seq_start
00129
Seq_start
SCIF_CONTR
0001 #000
Attention L’exécution de cet
exemple déclenche des sorties
réelles. N’utilisez cet exemple
que sur un simulateur, et non
sur une machine réelle.
88
Instruction d’exécution de commandes en séquence
Le réseau 2 gère le temps de maintien
de chaque étape du mode exploitation.
La sortie 00131 - Next_step
SCIF_CONTR - incrémente le pointeur
SCIF jusqu’à l’étape suivante.
Réseau 2
40150
Steppointr
SCIF_CONTR
40200
Dwelltable
SCIF_DWELL
SCIF
#0016
40201
Dwelltime
SCIF_DWELL
00129
Seq_start
SCIF_CONTR
00131
Next_Step
SCIF_CONTR
0002 #000
00129
Seq_start
SCIF_CONTR
0001 #000
Le réseau 3 contient les fonctions ICMP
et DRUM à utiliser pour comparer les
entrées du système avec une valeur
prédéterminée et pour déclencher les
sorties de l’exploitation.
Le bloc BLKM du réseau 3 transfère les
entrées en retour (capteurs, fins de
course...)que le bloc SCIF en mode
00129
Seq_start
SCIF_CONTR
0001 #000
T0.1
40400
Junk_reg
SCIF_DWELL
ICMP contigu surveille dans son registre
40100. Ce bloc SCIF compare alors l’état
des entrées en retour avec le résultat
attendu.
La sortie 00132 - Compare_OK
SCIF_CONTR - indique que les entrées
SCIF ICMP égalent les valeurs
prédéfinies souhaitées.
10129
Input_1
SCIF_ICMP
40201
Steppointr
SCIF_CONTR
40101
ICMP_raw
SCIF_ICMP
40100
ICMP_mode
SCIF_ICMP
BLKM
#0001
SCIF
#0016
00129
Seq_start
SCIF_CONTR
0001 #000
00131
00132
Next_step Compare_OK
SCIF_CONTR SCIF_CONTR
0002 #000
0003 #000
00130
Last_step
SCIF_CONTR
0003 #000
00131
Next_Step
Réseau 3
00132
Compare_OK
40201
Steppointr
SCIF_CONTR
40201
DRUMmasked
SCIF_DRUM
40515
DRUM_mode
SCIF_DRUM
40515
Output_1
SCIF_DRUM
SCIF
#0016
SCIF
#0016
00130
Last_step
Instruction d’exécution de commandes en séquence
Breite: 151,5mm
Höhe: 227,5mm
89
Le réseau 3 exécute l’opération du
séquenceur réel. Au fur et à mesure de
l’exécution de chaque étape, la valeur du
registre 40301 est modifiée par le bloc
SCIF en mode DRUM de façon à refléter
le profil binaire de l’étape en cours.
Le bloc BLKM prend les données
masquées du registre 40301 et les
transfère dans les sorties 00001 à 00017.
Ces sorties pourraient être directement
affectées à des sorties réelles;
Référence de contrôle
Nº réf. Nom
Fonction
00128
00129
00130
00131
00132
10001
10002
10003
40150
Cyclestart
Seq_start
Last_step
Next_step
Compare_OK
EMERG_STOP
Stop_cycle
Startcycle
Steppointr
SCIF_CONTR
SCIF_CONTR
SCIF_CONTR
SCIF_CONTR
SCIF_CONTR
SCIF_CONTR
SCIF_CONTR
SCIF_CONTR
SCIF_CONTR
cependant, il est aussi probable que les
contacts de ces sorties permettent de
verrouiller la logique responsable de la
mise sur ON des entrées réelles.
Mnémoniques et commentaires
pour l’exemple d’application
Les références du tableau ci-dessous
permettent de commander le démarrage,
l’arrêtetleverrouillagedelafonctionSCIF:
Description
Indique que le cycle SCIF a démarré
Indique que la séquence SCIF a démarré/redémarré
Indique SCIF à la dernière étape
Incrémente le pointeur SCIF jusqu’à l’étape suivante
Indique que les entrées SCIF ICMP = valeur prédéfinie souhaitée
Arrêt d’urgence interrompt SCIF lors de l’étape courante
Arrêt cycle pour SCIF arrête SCIF en fin de cycle
Démarrage démarre le cycle SCIF
Registre pointeur d’étapes contient le nº de
l’étape courante de SCIF
Les références du tableau ci-dessous
sont utilisées dans la fonction SCIF.
Lorsque celle-ci contient le temps de
maintien des étapes, il faut l’utiliser en
mode DRUM = 0.
Références séjour
Nº réf.
Nom
Fonction
Description
40400
Junk_reg
SCIF_DWELL
40200
Dwelltable
SCIF_DWELL
40201
40206
40207
40208
40209
40210
40211
40212
40213
40214
40215
40216
40217
40218
40219
40220
40221
Dwelltime
Dwelstep1
Dwelstep2
Dwelstep3
Dwelstep4
Dwelstep5
Dwelstep6
Dwelstep7
Dwelstep8
Dwelstep9
Dwelstep10
Dwelstep11
Dwelstep12
Dwelstep13
Dwelstep14
Dwelstep15
Dwelstep16
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
SCIF_DWELL
Registre des informations
pour la tempo d’étape
SCIF permettant de maintenir les temps
pour chaque étape DRUM
Temps courant pour l’étape courante
Temps d’étape 1
Temps d’étape 2
Temps d’étape 3
Temps d’étape 4
Temps d’étape 5
Temps d’étape 6
Temps d’étape 7
Temps d’étape 8
Temps d’étape 9
Temps d’étape 10
Temps d’étape 11
Temps d’étape 12
Temps d’étape 13
Temps d’étape 14
Temps d’étape 15
Temps d’étape 16
90
Instruction d’exécution de commandes en séquence
Les références du tableau ci-dessous
sont utilisées par la fonction comparaison
d’entrées (ICMP) de SCIF et sont
associées aux entrées du système.
Références fonction ICMP
Nº réf.
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
40100
40101
40102
40103
40104
40105
40106
40107
40108
40109
40110
40111
40112
40113
40114
40115
40116
40117
40118
40119
40120
40121
Nom
Input_1
Input_2
Input_3
Input_4
Input_5
Input_6
Input_7
Input_8
Input_9
Input_10
Input_11
Input_12
Input_13
Input_14
Input_15
Input_16
ICMP_mode
ICMP_raw
ICMP_CSD
ICMP_imask
ICMPmasked
ICMPstatus
ICMPstep1
ICMPstep2
ICMPstep3
ICMPstep4
ICMPstep5
ICMPstep6
ICMPstep7
ICMPstep8
ICMPstep9
ICMPstep10
ICMPstep11
ICMPstep12
ICMPstep13
ICMPstep14
ICMPstep15
ICMPstep16
Fonction
Description
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
SCIF_ICMP
1er bloc d’entrée physique transféré å SCIF_ICMP
2ème bloc d’entrée physique transféré å SCIF_ICMP
3ème bloc d’entrée physique transféré å SCIF_ICMP
4ème bloc d’entrée physique transféré å SCIF_ICMP
5ème bloc d’entrée physique transféré å SCIF_ICMP
6ème bloc d’entrée physique transféré å SCIF_ICMP
7ème bloc d’entrée physique transféré å SCIF_ICMP
8ème bloc d’entrée physique transféré å SCIF_ICMP
9ème bloc d’entrée physique transféré å SCIF_ICMP
10ème bloc d’entrée physique transféré å SCIF_ICMP
11ème bloc d’entrée physique transféré å SCIF_ICMP
12ème bloc d’entrée physique transféré å SCIF_ICMP
13ème bloc d’entrée physique transféré å SCIF_ICMP
14ème bloc d’entrée physique transféré å SCIF_ICMP
15ème bloc d’entrée physique transféré å SCIF_ICMP
16ème bloc d’entrée physique transféré å SCIF_ICMP
Sélectionne mode SCIF défini comme étant 1 pour ICMP
Registre d’entrée des données brutes pour ICMP SCIF
Contient les données d’étapes courantes pour la fonction ICMP
Contient le masque d’entrée ICMP
Résultat ET de données brutes avec les données d’étapes ICMP
Contient l’opération XOR de données masquées et de données d’étapes ICMP
1ère entrée dans table données ICMP
2ème entrée dans table données ICMP
3ème entrée dans table données ICMP
4ème entrée dans table données ICMP
5ème entrée dans table données ICMP
6ème entrée dans table données ICMP
7ème entrée dans table données ICMP
8ème entrée dans table données ICMP
9ème entrée dans table données ICMP
10ème entrée dans table données ICMP
11ème entrée dans table données ICMP
12ème entrée dans table données ICMP
13ème entrée dans table données ICMP
14ème entrée dans table données ICMP
15ème entrée dans table données ICMP
16ème entrée dans table données ICMP
Instruction d’exécution de commandes en séquence
Breite: 151,5mm
Höhe: 227,5mm
91
Les références du tableau ci-dessous
sont utilisées par la fonction DRUM de
SCIF et sont associées aux sorties du
système.
Références exploitation
Nº réf.
Nom
Fonction
Description
40300
40301
40302
40303
40304
40305
40306
40307
40308
40309
40310
40311
40312
40313
40314
40315
40316
40317
40318
40319
40320
40321
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
DRUM_mode
DRUMmasked
DRUM_CSD
DRUM_omask
DRUM_R1
DRUM_R2
DRUMstep1
DRUMstep2
DRUMstep3
DRUMstep4
DRUMstep5
DRUMstep6
DRUMstep7
DRUMstep8
DRUMstep9
DRUMstep10
DRUMstep11
DRUMstep12
DRUMstep13
DRUMstep14
DRUMstep15
DRUMstep16
Output_1
Output_2
Output_3
Output_4
Output_5
Output_6
Output_7
Output_8
Output_9
Output_10
Output_11
Output_12
Output_13
Output_14
Output_15
Output_16
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
SCIF_DRUM
Sélectionne mode SCIF, défini sur 0 pour DRUM
Sorties DRUM masquées=données étapes courantes ET masque
Etape en cours
Masque sortie DRUM
Registre 1 DRUM réservé
Registre 2 DRUM réservé
1ère entrée dans table données DRUM
2ème entrée dans table données DRUM
3ème entrée dans table données DRUM
4ème entrée dans table données DRUM
5ème entrée dans table données DRUM
6ème entrée dans table données DRUM
7ème entrée dans table données DRUM
8ème entrée dans table données DRUM
9ème entrée dans table données DRUM
10ème entrée dans table données DRUM
11ème entrée dans table données DRUM
12ème entrée dans table données DRUM
13ème entrée dans table données DRUM
14ème entrée dans table données DRUM
15ème entrée dans table données DRUM
16ème entrée dans table données DRUM
1er bloc sortie physique transféré depuis SCIF_DRUM
2ème bloc sortie physique transféré depuis SCIF_DRUM
3ème bloc sortie physique transféré depuis SCIF_DRUM
4ème bloc sortie physique transféré depuis SCIF_DRUM
5ème bloc sortie physique transféré depuis SCIF_DRUM
6ème bloc sortie physique transféré depuis SCIF_DRUM
7ème bloc sortie physique transféré depuis SCIF_DRUM
8ème bloc sortie physique transféré depuis SCIF_DRUM
9ème bloc sortie physique transféré depuis SCIF_DRUM
10ème bloc sortie physique transféré depuis SCIF_DRUM
11ème bloc sortie physique transféré depuis SCIF_DRUM
12ème bloc sortie physique transféré depuis SCIF_DRUM
13ème bloc sortie physique transféré depuis SCIF_DRUM
14ème bloc sortie physique transféré depuis SCIF_DRUM
15ème bloc sortie physique transféré depuis SCIF_DRUM
16ème bloc sortie physique transféré depuis SCIF_DRUM
92
Instruction d’exécution de commandes en séquence
Chapitre 10
Instructions relatives aux
sous-programmes
j Instructions relatives aux sous-programmes
j Entrées d’interruptions et de compteurs/temporisateurs
j Instruction CTIF
j Exemple d’application CTIF
Instructions relatives aux sous-programmes
Breite: 151,5mm
Höhe: 227,5mm
93
Instructions relatives aux sous-programmes
On peut lancer la logique de
sous-programme au moyen de l’élément
médian d’une interruption matérielle ou
d’une instruction basée sur un
sous-programme (JSR). Si vous utilisez
une interruption basée sur le matériel
pour déclencher le sous-programme,
vous devez configurer l’entrée à grande
vitesse de l’API pour traiter l’(les)
interruption(s) au moyen d’une instruction
appelée CTIF.
Le présent chapitre vous explique les
deux méthodes de branchement et de
sortie d’un sous-programme.
Instruction
Se branche sur un
sous-programme
Entrées
(E)
Structure
I
4x or
K*
Inférieur:
Valeur
toujours
constante de 1
O
O
Supérieure:
ON active le sousprogramme spécifié
O
Supérieure:
ON déclenche le
retour hors de la
fonction
I
LAB
Retourne
à Ladder Logic
I
RET
00001
K*
Eléments
Supérieur:
Supérieure:
ON active le sous- Valeur constante
programme source ou de registre indiO
quant le sous-programme souhaité
JSR
00001
Libelle le
sous-programme
La logique d’un sous-programme figure
toujours dans le dernier segment du
programme Ladder Logic. Aucune autre
logique que celle-ci n’y est enregistrée.
Lors du lancement d’un sous-programme,
le cycle logique se branche sur une
instruction se trouvant dans le dernier
segment appelé LAB. Cette instruction
libelle le début de la logique de ce
sous-programme. Lorsque le cycle
logique atteint une instruction du
sous-programme appelée RET, il sort du
sous-programme et retourne à sa
position initiale dans la logique de
commande.
Supérieur:
Valeur toujours
constante de 1
Instructions relatives aux sous-programmes
Fonction
Supérieure:
répercute l’entrée Indique au cycle logique de se brancher sur
supérieure
un
sous-programme
spécifié dans le dernier
segment (aléatoire) de
la logique utilisateur
Inférieure:
ON en cas de
détection d’erreur
Supérieur:
Supérieure:
Valeur constante ON en cas de
unique indiquant le détection d’erreur
sous-programme
sélectionné
*K est une constante entière comprise entre 1 et 255.
94
Sorties
(S)
Supérieure:
ON en cas de
détection d’erreur
Repère le point de
démarrage du sousprogramme dans le
segment logique utilisateur
Ramène le cycle logique à l’instruction suivant immédiatement
le point de branchement du sous-programme
Vous trouverez ci-dessous une illustration
conceptuelle de la façon dont un
sous-programme est appelé à partir du
Programme Principal. Lorsqu’un cycle
logique du segment 1 trouve une
instruction JSR activée, il se branche sur
le sous-programme indiqué dans le
segment 2. Seule la logique associée au
sous-programme appelé est analysée
dans le segment 2, toute autre logique de
sous-programme étant ignorée.
Lorsque le cycle logique trouve une
instruction RET dans la logique de
sous-programme, il revient à l’abonné
suivant immédiatement l’instruction JSR
du segment 1.
SEGMENT 1
SEGMENT 2
Réseau 1
Réseau 1
LAB
00001
Logique de
sous-programme nº 1
RET
00001
Réseau 2
10001
Réseau 2
00002
JSR
00001
LAB
00002
Logique de
sous-programme nº 2
Réseau 3
Réseau 3
RET
00001
Instructions relatives aux sous-programmes
Breite: 151,5mm
Höhe: 227,5mm
95
Entrées d’interruptions et de compteurs /
temporisateurs
interruption sont très semblables aux
sous-programmes lancés par JSR. Ils
interrompent le cycle logique normal et
l’envoient à une instruction LAB du
segment 2 identifiant le début du
sous-programme approprié. Le
sous-programme est exécuté jusqu’à ce
que le cycle trouve une instruction RET. A
ce point, le cycle logique retourne à son
emplacement précédent dans le segment
1. La principale différence est que le
sous-programme lancé par l’interruption est
déclenché par un événement externe
causé par un élément câblé à l’entrée,
alors que le sous-programme lancé par
JSR est déclenché par la logique
programme utilisateur.
Les modèles 110CPU411, 110CPU512 et
110CPU612 du Micro API possèdent des
entrées intégrées dans l’API pouvant être
configurés en tant que compteurs rapides
et/ou interruptions matériels. Ces entrées
sont situées à gauche du bornier
d’entrées au-dessus de l’API (pour les vis
spécifiques du bornier, reportez-vous au
manuel de votre matériel API).
L’API peut lire ces entrées lors de
chaque cycle exactement comme les
points d’entrées standard. En outre, elles
permettent de déclencher un comptage
rapide ou des opérations de
sous-programme lancées par le matériel
dans le Programme Logique.
Lorsqu’elles sont utilisées en tant
qu’entrées standard, elles sont affectées
aux adresses 10081 à 10088 de
l’affectation d’E/S de l’API. Lorsqu’elles
sont utilisées pour déclencher des
opération d’interruption ou de comptage,
il faut configurer ces entrées en Ladder
Logic via une instruction appelée CTIF.
CTIF configure le système interne
d’interruption et de comptage rapide. Il
n’est pas nécessaire d’adresser les
entrées configurées par CTIF dans
l’affectation d’E/S à moins que les
adresses associées ne soient utilisées
dans le programme logique.
Pour lancer plusieurs interruptions sur la
même entrée, le signal d’interruption doit
faire une nouvelle transition positive. Le
système d’exploitation Ladder Logic
n’autorise aucune nouvelle interruption sur
la même entrée avant que le
sous-programme d’interruption précédent
ne soit terminé depuis au moins 2 ms. Ce
délai empêche un blocage de l’API qui
serait provoqué par un flux continu
d’interruptions à grande vitesse (> 2 ms) à
l’entrée.
L’interruption dédiée est connectée à l’UC
de l’API par un filtre matériel qui introduit
environ 50 μs de délai dans le
sous-programme d’interruption. Le système
d’exploitation peut également fonctionner
avec les interruptions désactivées pendant
un certain laps de temps, environ 300 μs.
Ainsi, le lancement du sous-programme
d’interruption pourrait être retardé d’environ
350 μs.
Opération d’interruptions
matérielles
Lorsqu’une interruption matérielle est
configurée, une transition positive
(OFF/ON) de l’entrée active lance un
sous-programme d’interruption. Les
sous-programmes lancés par une
96
110CPU411
110CPU512
110CPU612
Entrée à
grande vitesse
00
01
02
03
00
01
02
03
00
03
Interruption dédiée
1
1
1
1
2
1
1
2
2
2
Compteur/
interruption
configurable
1
1
1
1
1
1
1
1
1
1
Instructions relatives aux sous-programmes
Tous les API 110CPU411, 110CPU512 et
110CPU612 possèdent au moins une
entrée dédiée aux signaux d’interruption
et une autre entrée configurable via
l’instruction CTIF en tant qu’interruption
matérielle ou compteur rapide.
Le système d’exploitation fonctionne avec
les interruptions ignorées pendant un
certain laps de temps, à savoir environ
300 μs. Ainsi, le lancement du
sous-programme d’interruption pourrait
être retardé d’environ 350 μs.
Entrée du compteur rapide
Pour lancer une autre interruption sur le
même compteur, il faut le redémarrer. Le
système d’exploitation Ladder Logic
n’autorise aucune nouvelle interruption
sur la même entrée avant que le
sous-programme d’interruption précédent
ne soit terminé depuis au moins 2 ms.
Ce délai évite un blocage de l’API qui
pourrait être provoqué par la spécification
d’une petite valeur du compteur avec une
horloge d’entrée rapide.
Lorsque l’entrée configurable est définie
pour un comptage rapide, il faut la
configurer avec une valeur du compteur
et l’activer. Ces conditions sont définies
via l’instruction CTIF.
Le compteur compte les impulsions sur
son entrée jusqu’à ce qu’il atteigne la
valeur du compteur, puis arrête le
comptage. Vous pouvez configurer
l’entrée de façon à ce que le comptage
déclenche une interruption ou en
adressant le comptage et le comptage
courant dans l’affectation d’E/S.
Instructions relatives aux sous-programmes
Breite: 151,5mm
Höhe: 227,5mm
97
Instruction CTIF
Instruction
Configure les
entrées pour les
opérations d’interruption et de
compteur/
tempo
Entrées
(E)
Structure
I
4x
O
CTIF
K*
O
Sorties
(S)
Eléments
Supérieur:
Premier mot du
bloc de paramètres
CTIF
Inférieur:
numéro d’API sur
lequel l’opération
est exécutée
Supérieure:
ON exécute les
opérations spécifiées dans l’élément supérieur
Fonction
Supérieure:
répercute l’entrée
supérieure
Configure les interruptions et les compteur/
tempo; se termine toujours lors du même
cycle que celui au
Inférieure:
ON en cas de cours duquel elle a
détection d’erreur démarré
*K est une constante entière comprise entre 1 et 5 (K =1 > API parent, K2 = API enfant # 1...)
Bloc de paramètres CTIF
Registre 4x
Type erreur/opération
1
2
3
4
5
Code erreur
6
7
8
0100
0101
0110
0111
1000
1001
1010
Chargement du
compteur
terminal:
0 Désactive
1 Active
10
11
2
3
4
5
6
7
8
9
Registre 4x + 2
3
10
11
15
16
12
13
14
15
16
1 0 Activer service inter. pour entrée compteur/tempo
0 1 Désactiver service inter. pour entrée compteur/tempo
Etat pour fonctionnement en mode lecture
4
5
6
7
8
9
10
11
12
13
14
Int3 désactivé 0
Int3 activé 1
Int2 désactivé 0
Int2 activé 1
Aucun sous-prog. pour inter. tempo/compteur
Aucun sous-programme pour interruption Int1
Aucun sous-programme pour interruption Int2
Aucun sous-programme pour interruption Int3
15
16
0 Mode compteur
1 Mode tempo
1 Fonct. compteur/tempo arrêté
0 Fonct. compteur/tempo démarré
Int1 désactivé 0
Int1 activé 1
1 Fonct. auto-redémarrage activé
0 Fonct. auto-redémarrage désactivé
1 Service inter. pour entrée
compteur/tempo activée
0 Service inter. pour entrée
compteur/tempo désactivée
Registre 4x + 3
Valeur comptage courante de l’entrée tempo/compteur
(définie par le bloc d’instruction en tant que comptage courant en mode lecture;
définie par l’utilisateur comme étant la valeur prédéfinie du compteur/tempo en mode init)
98
14
0 1 Mode compteur
1 0 Mode tempo
0 1 Arrêt fonct. compteur/tempo
1 0 Démarrage fonct. compteur/tempo
1 0 Activer fonct. auto-redémarrage
0 1 Désactiver fonct. auto-redémarrage
Désactive service inter. pour Int1 0 1
Active service inter. pour Int1 1 0
2
13
Fonctionnement en mode Définition
1
Désactive service inter. pour Int3 0 1
Active service inter. pour Int3 1 0
Désactive service inter. pour Int2 0 1
Active service inter. pour Int2 1 0
1
12
0 0 Mode
configuration
Aucune erreur détectée
0 1 Mode
Type spécifié d’opération non prise en charge
lecture
Interruption 2 non prise en charge par ce modèle
Interruption 3 non prise en charge quand le compteur est
sélectionné
Valeur du compteur 0 spécifiée
Valeur du compteur trop élevée (> 16,383)
Type d’opération prise en charge uniquement sur l’API local
Drop spécifié absent de l’affectation d’E/S
Aucun sous-programme pour interruption activée
Problème avec Drop distant
Fonction non prise en charge de façon décentralisée
0000
0001
0010
0011
Registre 4x + 1
Type opération
9
Instructions relatives aux sous-programmes
L’instruction CTIF est un outil de
configuration/exploitation pour les Micro
API Modicon contenant des interruptions
matérielles (tous les modèles à
l’exception des modèles 110CPU311). Le
compteur/tempo et les interruptions
réelles sont situés dans le matériel API et
l’instruction CTIF permet de configurer ce
matériel.
Les illustrations ci-dessous expliquent
l’interaction des options de configuration
avec les fonctions d’interruption.
Sous-programme
imposé
LAB 2
INT
1
ACTIF
Entrée
INT1
Contrôlé par les bits 7 et 8
INT
2
ACTIF
Entrée
INT2
(modèles CC uniquement)
LAB 3
Contrôlé par les bits 5 et 6
INT
3
ACTIF
Interruption
câblée
sélectionnable
par l’utilisateur
Contrôlé par les bits 3 et 4
OR
TMR /
CTR
Tempo / compteur
LAB 4
(Voir Note 1)
TMR/CNTR
ACTIF
LAB 1
Contrôlé par les bits 9 et 10
(Voir Note 2)
Note 1
INT 3 n’est disponible que lorsque le tempo/compteur n’est pas utilisé
Note 2
Les bits 15 et 16 sélectionnent le mode (TMR ou CTR). En mode CTR, les impulsions
sur l’entrée sont comptées. En mode TMR, l’entrée agit en tant que validation de la tempo
et doit être ON pour temporiser.
Type d’entrée
Existence
modèles 110CPU
Interruption
tempo/compteur
sélectionnable
par l’utilisateur
Toute les unités
411, 512 et 612
Interruption 1 câblée
Toute les unités
411, 512 et 612
Interruption 2 câblée
Uniquement
les unités
utilisant le CC
Interruption 3
sélectionnable
par l’utilisateur
Toute les unités
411, 512 et 612
Références RAM d’état
pour données d’interruption
Sous-programme déclenché
par cette entrée
10081, mis à jour une fois/cycle
10084, mis à jour au début de
chaque sous-programme
10082, mis à jour une fois/cycle
10085, mis à jour au début de
chaque sous-programme
10083, mis à jour une fois/cycle
10086, mis à jour au début de
chaque sous-programme
Sous-programme nº 1
Sous-programme nº 2
Sous-programme nº 3
10081, mis à jour une fois/cycle
10084, mis à jour au début de
chaque sous-programme
Sous-programme nº 4
Instructions relatives aux sous-programmes
Breite: 151,5mm
Höhe: 227,5mm
99
Exemple d’application CTIF
Voici un programme de démonstration de
six réseaux expliquant la configuration et
l’exploitation de la fonction dans les
différents modes existants.
Les deux premiers réseaux, écrits dans
le segment 1 du programme, sont une
logique de commande. Les quatre
derniers réseaux, écrits dans le segment
2 (le dernier segment) sont une logique
de sous-programme appelée par les
interruptions câblées.
L’exemple illustre les éléments suivants:
V mode compteur rapide,
V mode combiné tempo à grande vitesse
(1 ms) et interruption,
V mode interruption câblé.
La possibilité d’exécuter deux
interruptions câblées n’existe que dans
les API alimentés CC ne figure pas dans
cet exemple.
Segment 1, Réseau 1
Le réseau 1 du segment 1, présenté à la
page suivante, est le premier des deux
réseaux. Toutes les informations du
compteur/tempo programmées dans ce
réseau ont été affectées pour figurer
dans le registre d’entrée 30001; les
données d’interruption câblées existent
dans les entrées 10081 à 10088.
Lorsque le contact 10001 passe de OFF
à ON, les informations des registres
40501 et 40504 sont mises à zéro. Le
registre 40501, le registre d’accumulation
dans le sous-programme 1 (du segment
2), incrémente de 1 chaque fois qu’il est
appelé par la fonction compteur/tempo.
Le registre 40504, le registre
d’accumulation du sous-programme 4,
incrémente de 1 chaque fois l’entrée
câblée compteur/tempo reçoit une
impulsion en mode tempo.
Les données de configuration des
registres 40100 à 40103 sont déplacées
dans le bloc de paramètres CTIF
(registres 40300 à 40303). Ces
informations sont immédiatement
envoyées au CTIF et sont
opérationnelles. Les informations
configurent le bloc de paramètres comme
suit:
100
Registre
Contenu
40300
Informations sur code erreur et type de mode
(toujours mode configuration)
40301
Informations relatives à la configuration réelle
telle que la suivante:
Chargement compteur terminal activé
Service pour Int 3 activée
Service pour Int 2 désactivée
Service pour Int 1 désactivée
Service pour Int entrée tempo/compteur
activée
Opération auto-redémarrage activée
Démarrage opération tempo/compteur
Mode tempo sélectionné
Le profil binaire du registre est:
1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0
(A5AA en hexadécimal)
40302
Informations sur le statut
40303
Valeur prédéfinie du tempo: 400
La tempo continue à accumuler tant que
le contact câblé est sur ON. Lorsque la
valeur prédéfinie de la tempo est atteinte,
le sous-programme 1 est appelé et sa
fonction est exécutée: c’est-à-dire que 1
est ajouté au contenu du registre 40501.
La tempo est remise à 0 et recommence
tant que l’entrée câblée est sur ON parce
que l’option auto-démarrage a été
sélectionnée. La tempo ne se réinitialise
que lorsqu’elle atteint sa valeur de
réinitialisation. L’interruption 3 compte le
nombre de passages de OFF à ON
effectués par l’entrée.
Lors de chaque passage de l’entrée
reliée à la tempo, le sous-programme 4
est appelé et sa fonction est exécutée c’est-à-dire que 1 est ajouté au contenu
du registre 40504.
Lorsque le contact 10002 passe de OFF
à ON, les informations des registres
40501 et 40502 mises à zéro. Le registre
40501, registre d’accumulation du
sous-programme 1, incrémente de 1 lors
de chaque appel par la fonction
compteur/tempo.
Instructions relatives aux sous-programmes
Segment 1, Réseau 1
P
40501
CTR/TMR
10001 accumtrr
Config
tempo
autoredémarrage
40504
40100
40300
TMR with
INT 3
Start of
accumtr auto-restartCTIF param
block
40501
40504
40300
CTR/TMR
accumtrr
INT 3
accumtr
Start of
CTIF param
block
SUB
SUB
BLKM
40501
40504
#0004
CTIF
#0001
40501
CTR/TMR
accumtrr
40502
INT 1
accumtr
40504
INT 3
accumtr
P
10003
Config tempo et
interruption 1
40501
CTR/TMR
accumtrr
P
10002
Config
compteur
autoredémarrage
40501
CTR/
TMR
accumtrr
40501
CTR/TMR
accumtrr
40502
INT 1
accumtr
40502
INT 1
accumtr
40105
40300
CFR
Start of
with
CTIF param
autoblock
restart
40502
INT 1
accumtr
40504
INT 3
accumtr
40110
Start of
TMR
without CTIF param
block
40300
Start of
CTIF param
block
SUB
SUB
SUB
BLKM
40501
40502
40504
#0004
CTIF
#0001
40300
Start of
CTIF param
block
SUB
SUB
BLKM
40501
40502
#0004
CTIF
#0001
Instructions relatives aux sous-programmes
Breite: 151,5mm
Höhe: 227,5mm
40300
101
Le registre 40502 est le registre
d’accumulation du sous-programme 2,
qui incrémente de 1 lors de chaque
transition OFF/ON de l’entrée interruption
1 câblée.
Chaque fois que l’interruption 1 câblée
passe de OFF à ON, le sous-programme
2 est appelé et sa fonction est exécutée,
c’est-à-dire que 1 est ajouté au contenu
du registre 40502.
Les données de configuration des
registres 40105 à 40108 sont transférées
dans le bloc de paramètres CTIF
(registres 40300 à 40303). Ces
informations sont immédiatement
envoyées au CTIF et sont
opérationnelles. Les informations
configurent le bloc de paramètres comme
suit:
Lorsque le contact 10003 passe de OFF
à ON, les informations des registres
40501, 40502 et 40504 sont mises à
zéro. Le registre 40501, registre
d’accumulation du sous-programme,
incrémente de 1 chaque fois qu’il est
appelé par la fonction compteur/tempo.
Le registre 40501, registre
d’accumulation du sous-programme 1,
incrémente de 1 chaque fois qu’il est
appelé par la fonction compteur/tempo.
Le registre 40504, registre
d’accumulation du sous-programme 4,
incrémente de 1 chaque fois que l’entrée
câblée compteur/tempo reçoit une
impulsion en mode tempo.
Registre
Contenu
40300
Informations sur code erreur et type de mode
(toujours mode configuration)
40301
Informations relatives à la configuration réelle
telle que la suivante:
Chargement compteur terminal activé
Service pour Int 3 désactivée
Service pour Int 2 désactivée
Service pour Int 1 activée
Service pour Int entrée tempo/compteur activée
Opération auto-redémarrage activée
Démarrage opération tempo/compteur
Mode tempo sélectionné
Le profil binaire du registre est:
1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1
(96A9 en hexadécimal)
40302
Informations sur l’état
40303
Valeur du précompte: 9999
Le contact câblé doit passer de OFF à
ON pour que le compteur incrémente.
Lorsque la valeur prédéfinie du compteur
est atteinte, le sous-programme 1 est
appelé à nouveau et il incrémente le
contenu du registre 40501 de 1 lors de
chaque appel.
Le compteur est remis à 0 et
recommence le comptage une nouvelle
fois lorsque l’entrée câblée passe de
OFF à ON parce que l’option
auto-démarrage a été sélectionnée. Le
compteur ne se réinitilise que lorsqu’il
atteint le précompte. L’interruption 3
compte le nombre de passages de OFF
à ON effectués par l’entrée.
102
Les données de configuration des
registres 40100 à 40103 sont transférées
dans le bloc de paramètres CTIF
(registres 40300 à 40303). Ces
informations sont immédiatement
envoyées au CTIF et sont
opérationnelles. Les informations
définissent le bloc de paramètres comme
suit:
Registre
Contenu
40300
Informations sur code erreur et type de mode
(toujours mode configuration)
40301
Informations relatives à la configuration réelle
telle que la suivante:
Chargement compteur terminal activé
Service pour Int 3 activée
Service pour Int 2 désactivée
Service pour Int 1 activée
Service pour Int entrée tempo/compteur activée
Opération auto-redémarrage activée
Démarrage opération tempo/compteur
Mode tempo sélectionné
Le profil binaire du registre est:
1 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0
(A69A en hexadécimal)
40302
Informations sur l’état
40303
Valeur prédéfinie du tempo: 400
Instructions relatives aux sous-programmes
La tempo continue à s’accumuler tant
que le contact câblé est sur ON. Lorsque
la valeur prédéfinie du tempo est atteinte,
le sous-programme 1 est appelé et sa
fonction est exécutée, c’est-à-dire que 1
est ajouté au contenu du registre 40501.
Dans cet exemple, l’option
auto-redémarrage est désactivée. Le
temporisateur est remis à 0, mais il ne
commence pas à chronométrer avant que
le contact 10003 ne passe à nouveau de
OFF à ON, recommençant tout le
processus.
Chaque fois que l’interruption 1 câblée
passe de OFF à ON, le sous-programme
2 est appelé et sa fonction est exécutée,
c’est-à-dire qu’elle est ajoutée au contenu
du registre 40502.
Segment 1, réseau 2
Le second réseau du segment 1 suit la
même configuration que le premier. La
principale différence est le fait que le
réseau 2 permet de configurer CTIF dans
un API enfant. Les informations en
provenance de ce-dernier ne sont pas
directement accessibles à l’API parent.
Segment 1, réseau 2
10004
Config for
tempo with
auto-restart
40115
TMR with
auto-restart
40400
Start of
CTIF param
block
40400
Start of
CTIF param
block
CTIF
#0002
BLKM
#0004
10005
Config for
counter with
auto-restart
40120
TMR with
auto-restart
& INT 1
40400
Start of
CTIF param
block
10006
Config for
tempo without
auto-restart
40125
TMR without
auto-restart
40400
Start of
CTIF param
block
40400
Start of
CTIF param
block
CTIF
#0002
BLKM
#0004
40400
Start of
CTIF param
block
CTIF
#0002
BLKM
#0004
Instructions relatives aux sous-programmes
Breite: 151,5mm
Höhe: 227,5mm
103
Segment 2, sous-programmes
Voici une série de quatre réseaux de
sous-programmes appelés par les
entrées câblées à partir des deux
réseaux précédents.
Segment 2, réseau 1
LAB
#0003
LAB
#0001
00001
Segment 2, réseau 3
00001
00003
40501
CTR/TMR
accumultr
40503
#0001
#0001
ADD
40501
CTR/TMR
accumultr
ADD
40503
Segment 2, réseau 2
LAB
#0002
00002
104
00003
Segment 2, réseau 4
LAB
#0004
00002
00004
40502
INT 1
accumultr
40504
#0001
#0001
ADD
40502
INT 1
accumultr
ADD
40504
Instructions relatives aux sous-programmes
00004
Chapitre 11
Instructions standard
supplémentaires
j Saut de réseaux
j Vérification des mots d’état de l’API
j Instructions relatives au cycle d’exécution
Instructions standard supplémentaires
Breite: 151,5mm
Höhe: 227,5mm
105
Saut de réseaux
L’instruction SKP vous permet de sauter
un certain nombre de réseaux dans un
programme.
Lorsqu’elle est activée, l’instruction SKP
est exécutée lors de chaque cycle. Le
reste du réseau dans lequel se trouve
l’instruction est considéré comme étant le
premier réseau du nombre spécifié de
réseaux à sauter: l’UC ignore les réseaux
jusqu’à ce que le nombre total de
réseaux sautés soit égal au nombre
spécifié dans le bloc d’instructions ou
jusqu’à ce que la frontière d’un segment
soit atteinte. Une opération SKP ne peut
traverser un segment.
Vous pouvez activer une instruction SKP
seulement si vous spécifiez que les sauts
sont autorisées dans l’éditeur de
configuration de l’API.
Instruction
Saut
de
réseaux
logiques
Structure
I
SKP
3x, 4x,
or K*
Entrées
(E)
Supérieure:
ON active la fonction de saut
Attention Si les entrées et les
sorties qui normalement
prennent en charge le
processus, sont
involontairement sautées, le
résultat peut créer des
conditions dangereuses pour le
personnel et l’équipement
d’application.
Les sorties sautées sous SKP
restent figées dans leur dernier
état tout le temps que dure le
saut.
SKP est une instruction à un élément.
Eléments
Sorties
(S)
Supérieur:
Spécifie le nombre
de réseaux logiques à sauter
Fonction
Saute les réseaux de
Ladder Logic dans le
programme et n’exécute pas la logique
sautée
*K est une constante entière comprise entre 1 et 255.
Exemple SKP simple
Lorsque le contact 10001 est fermé, le
reste du réseau 06 et tout le réseau 07
est sauté. La sortie 00001 est toujours
gérée par le contact 10003 car elle est
contrôlée avant SKP.
Réseau 06
10003
10001
00001
SKP
2
Réseau 07
10003
106
Instructions standard supplémentaires
00002
Vérification des mots d’état de l’API
Note Bien que vous soyez
autorisé à spécifier un registre 0x
ou 4x de l’élément supérieur, nous
vous recommandons de spécifier
un registre 4x du fait du nombre
excessif d’adresses 0x qui serait
requis pour gérer les informations
relatives à l’ état.
Le registre spécifié dans l’élément
supérieur du bloc est chargé avec le
profil paramètres binaires du mot 1. Le
nombre de registres spécifié dans
l’élément inférieur déterminera la
longueur de la table de mots d’état.
Les Micro API Modicon gardent en
mémoire une table dans laquelle figurent
des informations de diagnostic vital
relatives à L’API, à ses E/S et à ses
communications. La table a une longueur
de 56 mots et son contenu est structuré
comme suit:
Mot
d’état
1 ... 11
12 ... 31
32
Contenu du registre
du statut
Informations sur le statut de l’U.C.
Etat des emplacements d’E/s
Codes d’erreurs générées lors du
démarrage du système
33 ... 36
Etat des emplacements d’E/S
37 ... 40
Etat des communications d’E/S
de la station locale
41 ... 56
Etat des communications d’E/S vers et
à partir des stations décentralisées
Chaque mot d’état a 16 bits et les
informations d’état sont indiquées par test
des bits dans chaque mot. Les
illustrations des pages suivantes
expliquent comment les informations
d’état sont présentées dans la table des
mots d’état.
On peut accéder à certains ou à tous les
mots de la table des états au moyen de
l’instruction STAT. Le bloc STAT affiche le
profil binaire des mots d’état dans une
table de registres 4x contigus dont les
paramètres apparaissent alors dans le
logiciel.
Instruction
Mots d’état de
l’ UC et des E/S.
Entrées
(E)
Structure
I
0x or 4x
O
Supérieure:
ON accède à la
table des états
STAT
K*
Si, par exemple, vous ne souhaitez
accéder qu’aux informations relatives aux
états de l’API, vous pourriez spécifier une
adresse du registre de 40701 par
exemple dans l’élément supérieur du bloc
et une valeur de 11 dans l’élément
inférieur. Les valeurs binaires de 11
premiers mots de la table d’états seront
chargées respectivement dans les
registres 40701 à 40711.
Si vous souhaitez charger toute la table
des états, spécifiez 56 dans l’élément
inférieur de l’instruction. Si vous n’utilisez
pas les E/S externes, il vous suffit de
spécifier 40 dans l’élément inférieur pour
obtenir toutes les informations pertinentes
sur l’état général.
STAT est une instruction à deux éléments
juxtaposés.
Eléments
Supérieur:
premier mot de la
table des états du
système
Inférieur:
taille de la table
des états
Sorties
(S)
Supérieure:
opération
terminée
Fonction
Va chercher les données
d’état dans la table des
états dans la mémoire du
système et les affiche dans
les registres utilisateur
*K est une constante entière comprise entre 1 et 56.
Instructions standard supplémentaires
Breite: 151,5mm
Höhe: 227,5mm
107
Table des états du Micro API Modicon
Mot 1 Etat UC
Si le bit est défini comme étant 1, la condition est VRAIE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Pile défectueuse
U.C. à l’arrêt
1 = logique utilisateur sur 16 bits
0 = logique utilisateur sur 24 bits
Cycle unique activé
Cycle constant activé
Mot 2 Adresse station API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
API configuré en mode simple ou parent =
API configuré en tant qu’enfant nº 1 sur un réseau d’E/S étendu =
001
010
01
02
API configuré en tant qu’enfant nº 2 sur un réseau d’E/S étendu =
API configuré en tant qu’enfant nº 3 sur un réseau d’E/S étendu =
011
100
03
04
API configuré en tant qu’enfant nº 4 sur un réseau d’E/S étendu =
101
05
Mot 3 Etat API supplémentaire
Si le bit est défini comme étant 1, la condition est VRAIE
1
2
3
4
5
6
7
8
9
10
11
Temps de cycle ayant dépassé
le temps prévu du cycle constant
Commande DÉMARRAGE U.C. en attente
Premier cycle
12
13
14
15
16
Nb. de cycles uniques
Mot 4 Nombre maximal de stationss autorisés sur un réseau d’E/S
1
2
3
4
5
6
7
8
9
10
11
12
13
(toujours défini comme étant 4)
108
Instructions standard supplémentaires
14
15
100
16
Table des états du Micro API Modicon (suite)
Mot 5 Conditions d’arrêt de l’U.C.
Si le bit est défini comme étant 1, la condition est VRAIE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Configuration API
invalide
Bobine forcée en mode
optimisé
Erreur checksum logique
Instruction illégale dans le
programme
Erreur fatale sur la liaison E/S A120
Discordance table sorties utilisées/programme
Erreur horloge temps réel
Tempo chien de garde dépassée
Nombre invalide de DOIO/EOL
Test de la RAM d’état échoué
Absence de SON lors du démarrage d’un segment
Scrutateur de segments invalide
Intervention périphérique invalide
Erreur dans l’affectation d’E/S
Arrêt port périphérique
Mot 6 Segments dans le programme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Nombre de segments dans le programme Ladder Logic courant
Mot 7 Indicateur fin de logique
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Adresse de l’indicateur EOL (fin de ligne)
Mot 8 Réservé
Mot 9 Réservé
Mot 10 État exécution/chargement/debug
1
2
3
4
5
6
7
8
9
10
11
12
13
MODIF
=
OPTIMIZE
=
CHARGEMENT =
14
15
16
00
01
10
Mot 11 Réservé
Instructions standard supplémentaires
Breite: 151,5mm
Höhe: 227,5mm
109
Table des états du Micro API Modicon (Suite)
Mots 12 à 31 Etat des unités d’E/S
Quatre mots contigus sont utilisés par chacun des cinq Micro API Modicon sur un réseau d’extension d’E/S; un mot de chaque
groupe de quatre est utilisé par chaque embase d’E/S possible, prenant en charge une extension d’E/S A120.
Mot
API
Embase
12
13
14
15
1
1
2
3
4
16
17
18
19
2
1
2
3
4
20
21
22
23
3
1
2
3
4
24
25
26
27
4
1
2
3
4
28
29
30
31
5
1
2
3
4
L’embase 1 est toujours un Micro API Modicon et les embases 2 à 4 sont des embases A120 connectés au Micro via un port
d’extension d’E/S A120.
Chaque mot comprend cinq bits représentatifs indiquant l’état de l’unité d’E/S associée à chaque embase, c’est-à-dire que chaque embase peut prendre en charge un maximum de cinq emplacements d’E/S:
Si le bit est défini comme étant 1, l’emplacement possède une unité d’E/S valide
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Emplacement 5
Emplacement 4
Emplacement 3
Emplacement 2
Emplacement 1
Pour ce qui est des modules d’E/S A120, un emplacement est la position physique du module dans son boîtier DTA. Quant au
Micro API Modicon, l’emplacement est lié aux composants fixes de l’unité, à savoir:
• L’emplacement 1 représente les entrées et les sorties T.O.R. fixes de l’unité
•
L’emplacement 2 représente l’ état des composants de l’interruption dédiée de l’unité
•
L’emplacement 3 représente le comptage compteur/tempo sélectionnable par l’utilisateur de l’unité
• L’emplacement 4 représente les entrées et les sorties analogiques fixes de l’unité
• L’emplacement 5 représente le composant de transfert des données de l’unité pour l’extension d’E/S (parent/enfant)
Un emplacement d’E/S est valide lorsque il est correctement configuré et adressé dans l’affectation d’E/S, son fonctionnement
est correct et des communications valides existent entre lui et l’UC qui le gère.
Conversion du Mot nº en API et embase
Mot nº de - 12
4
= quotient + reste
où
quotient + 1 = station nº
reste + 1 = embase nº
110
Instructions standard supplémentaires
Conversion de la station et du embase en Mot nº
Mot nº = (station nº x 4) + embase nº + 7
Table des états Micro API Modicon (suite)
Mot 32 Code d’erreurs de démarrage (toujours 0 lorsque le système est exécuté correctement)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Longueur affectation d’E/S erronée
Numéro de liaison erroné des API enfants du réseau
Nombre d’API enfants dans l’affectation d’E/S erroné
Checksum de l’affectation d’E/S erroné
000001
000010
000011
000100
01
02
03
04
Longueur du descripteur API enfant erroné
Nombre d’API enfants erroné
Temps de maintien erroné de l’API enfant sur le réseau
Numéro de port ASCII erroné
Nombre d’emplacements erronés dans un API enfant
API enfant déjà configuré
Port comm déjà configuré
Nombre de points de sortie supérieur à 1024
Nombre de points d’entrée supérieur à 1024
001010
001011
001100
001101
001110
001111
010000
010001
010010
10
11
12
13
14
15
16
17
18
Adresse emplacement erronée
Adresse embase erronée
Nombre d’octets de sortie erroné
Nombre d’octets d’entrée erroné
010100
010101
010110
010111
20
21
22
23
Première adresse affectée erronée
Seconde adresse affectée erronée
Sans octets d’entrée ni de sortie
TOR non sur un modulo sur 16 bits
011001
011010
011011
011100
25
26
27
28
Unité de sortie impaire non couplée
Unité d’entrée impaire non couplée
Adresse unité d’entrée/sortie impaire sans correspondance
Adresse 1x après registre 3x
Adresse unité fictive déjà utilisée
Adresse 3x non fictive
Adresse 4x non fictive
011110
011111
100000
100001
100010
100011
100100
30
31
32
33
34
35
36
Adresse 1x fictive, puis réelle
Adresse 1x réelle, puis fictive
Adresse 3x fictive, puis réelle
Adresse 3x réelle, puis fictive
Nombre excédentaire de points d’E/S dans une station
101000
101001
101010
101011
101100
40
41
42
43
44
Embase descripteur unité erronée
Emplacement descripteur unité erronée
Comptage d’octets d’entrée descripteur unité erroné
Comptage d’octets de sortie descripteur unité erroné
Gestionnaire d’E/S non chargé
L’unité ne peut être utilisée que dans embase 1
110010
110011
110100
110101
110110
110111
50
51
52
53
54
55
Mot 33 Communications globales
pour un API en mode parent ou simple:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0 = communication avec tout API enfant
sur le réseau d’extension d’E/S Nombre d’interruptions de communications
échouée
non récupérables sur une configuration API
du réseau d’extension d’E/S.
pour un API en mode enfant:
1
2
3
4
5
6
7
0 = l’API enfant n’a pas reçu de commande de sortie valide de l’API
parent avant expiration du temps
de maintien
8
9
10
11
12
13
14
15
16
Nombre d’expirations du temps
de maintien de l’API enfant
Instructions standard supplémentaires
Breite: 151,5mm
Höhe: 227,5mm
111
Tables des états Micro API Modicon (suite)
Mot 34 Communications globales supplémentaires
pour un API en mode parent:
1
2
3
4
5
6
7
8
9
Nombre d’absences de réponses
dans le système
10
11
12
13
14
15
16
Nombre de tentatives de relance
dues à une erreur comm précédente
pour un API en mode enfant:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Nombre restant de ms avant expiration du temps de maintien
Mot 35 Communications globales supplémentaires
(pour un API en mode parent uniquement)
1
2
3
4
5
6
7
8
9
Nombre d’erreurs de parité détectées
parmi les caractères reçus
10
11
12
13
14
15
16
Nombre d’erreurs de trame détectées
parmi les caractères reçus
Mot 36 Communications globales supplémentaires
(pour un API en mode parent uniquement)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Nombre d’erreurs de cadence détectées
parmi les caractères reçus
Dernière erreur de parité détectée
Dernière erreur de trame détectée
Dernière erreur de cadence détectée
Dernière erreur de non réponse détectée
Mot 37 Communications valides dans embase 1
(pour une extension A120 uniquement)
Si le bit est défini comme étant 1, la condition est VRAIE
1
2
3
4
5
6
7
8
9
Toutes les unités valides
10
11
12
13
14
15
16
Nombre de passages d’une
unité locale de valide à invalide
Mot 38 Détection d’erreurs d’E/S dans embase 1
(pour une extension A120 uniquement)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Nombre de détections d’une erreur lors de la communication avec E/S
Mot 39 Comptage des tentatives de relance d’E/S dans embase 1
(pour une extension A120 uniquement)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Nombre de tentatives de relance dans un emplacement d’E/S local
Mot 40 est réservé, tous les bits sont 0.
112
Instructions standard supplémentaires
16
Tables des états Micro API Modicon (suite et fin)
Mots 41 à 56 Pour les communications sur le réseau d’extension d’E/S ils n’ont de signification que sur les unités parent
Chaque API enfant potentiel du réseau est décrit par un groupe de quatre mots contigus:
Mots 41 à 44 s’appliquent à L’API enfant nº 1
Mots 45 à 48 s’appliquent à L’API enfant nº 2
Mots 49 à 52 s’appliquent à L’API enfant nº 3
Mots 53 à 46 s’appliquent à L’API enfant nº 4
Mots 41, 45, 49, 53 Format
1
2
3
4
5
6
7
8
9
0 = communication échouée de l’API
parent à un API enfant spécifique
10
11
12
13
14
15
16
Nombre
de
communications
échouées irrécupérables avec l’API
enfant spécifique
1 = communication réussie avec
un API enfant spécifique
Mots 42, 46, 50, 54 Format
1
2
3
4
5
6
7
8
Nombre d’absences de réponses
d’un API enfant spécifique
9
10
11
12
13
14
15
16
Nombre de tentatives de relance dues
à une erreur comm précédente
Mots 43, 47, 51, 55 Format
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Nombre d’erreurs de trame détectées
parmi les caractères reçus d’un API
enfant spécifique
Nombre d’erreurs CRC détectées
parmi les caractères reçus d’un
API enfant spécifique
Mots 44, 48, 52, 56 Format
1
2
3
4
5
6
7
8
9
10
Dernière erreur de CRC détectée
Dernière erreur de trame détectée
11
12
13
14
15
16
Nombre d’erreurs de
cadence détectées
parmi les caractères
reçus
Dernière erreur de cadence détectée
Dernière erreur de non réponse détectée
Instructions standard supplémentaires
Breite: 151,5mm
Höhe: 227,5mm
113
Instructions relatives au cycle d’exécution
Les fonctions de cycle vous permettent
d’analyser la logique à des intervalles
fixes (elles n’accélèrent pas la résolution
de la logique par l’automate et ne
terminent pas prématurément les cycles).
Les cycles peuvent être constants ou
prédéterminés selon un certain nombre
fixe de cycles, c’est-à-dire les cycles
uniques.
Le cycle constant vous permet de cibler
vos temps de cycle entre 10 et 200 ms
(multiples de 10 ms). Un temps de cycle
prévu est le temps écoulé entre le début
d’un cycle et le début du cycle suivant. Si
un cycle constant est appelé dans un
laps de temps inférieur au temps du
cycle réel, le temps du cycle est ignoré et
le système utilise sa vitesse de cycle
normale.
Les fonctions de cycle unique permettent
à votre automate d’exécuter un nombre
fixe de cycles (de 1 à 15), puis
d’interrompre la résolution de la logique
tout en continuant la scrutation des E/S.
Cette fonction permet le travail de
diagnostic, à savoir la recherche des
erreurs figurant dans la logique résolue,
les données transférées et les calculs
terminés.
Attention Il ne faut pas utiliser
les cycles uniques pour la mise
au point (debug) les commandes
des machines outil, les
processus ou les systèmes de
manipulation de matériel
lorsqu’ils sont activés. Lorsque
le nombre spécifié de cycles a
été résolu, toutes les sorties
sont bloquées dans leur dernier
état; l’automate ignore toutes les
informations d’entrée car la
résolution logique n’a pas lieu.
Ceci peut entraîner un
fonctionnement risqué,
dangereux et destructeur des
outils ou des processus
connectés à l’automate.
Le temps du cycle constant prévu
comprend le temps de résolution logique,
le service des ports d’E/S et Modbus et
les diagnostics du système. Si vous
définissez un cycle 40 ms alors que la
résolution logique, le service des ports et
les diagnostics actuels ne requièrent que
30 ms, l’automate attendra 10 ms au
terme de chaque cycle avant de
continuer le suivant.
Vous trouverez les procédures d’appel
des instructions relatives au cycle dans
votre documentation sur la
programmation.
114
Instructions standard supplémentaires
Chapitre 12
Jeu d’instructions évoluées
pour les Micro API Modicon
j Instructions relatives aux transferts entre bloc et table
j Instruction checksum
j Instruction proportionnelle - intégrale - dérivée (P.I.D.)
j Instructions mathématiques évoluées
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
115
Instructions relatives aux transferts entre bloc
et table
Instruction
Entrées
(E)
Structure
I
4x
O
Supérieure:
ON lance le
transfert
Supérieur:
premier registre
du bloc source
O
Médiane:
ON bloque
le pointeur
Médian:
pointeur dans le
premier registre
(4x + 1) de la table
cible
Inférieure:
ON remet
le pointeur à 0
Inférieur:
taille de la table
cible
Supérieur:
premier registre
de la table source
Transfert de
bloc à table
I
4x
I
BLKT
K*
I
4x
O
Supérieure:
ON lance le
transfert
I
4x
O
Médiane:
ON bloque
le pointeur
Médian:
pointeur dans le
premier registre
(4x + 1) du bloc
cible
I
TBLK
K*
Inférieure:
ON remet
le pointeur à 0
Inférieur:
taille du bloc cible
Transfert
de
table à bloc
*K est une constante entière comprise entre 1 et 100.
116
Eléments
Jeu d’instructions évoluées
Sorties
(S)
Supérieure:
ON lorsque
l’opération
est terminée
Médiane:
erreur détectée,
déplacement
impossible
Supérieure:
ON lorsque
l’opération est
terminée
Médiane:
erreur détectée,
transfert
impossible
Fonction
Transfère une grande
quantité de registres 4x
depuis un bloc source
fixe vers une table cible
Transfère une grande
quantité de registres
contigus d’une table
vers un bloc cible fixe
Instruction checksum
Instruction
Entrées
(E)
Structure
I
4x
Total de contrôle
I
4x
I
CKSM
K*
Supérieure:
ON calcule le
O CKSM de la table
source
Médiane:
utilisé avec l’eninférieure
O trée
pour déterminer le
type de CKSM
Inférieure:
utilisé avec l’entrée
médiane pour déterminer le type de
CKSM
Eléments
Supérieur:
premier registre
du bloc source
Médian:
premier des deux
registres contenant le résultat et le
comptage implicite des registres
Inférieur:
taille de la table
cible
Sorties
(S)
Fonction
Supérieure:
ON lorsque le cal- Effectue le checksum,
cul est terminé
l’addition
d’addition
binaire, le contrôle
Médiane:
erreur détectée, CRC-16 ou le LRC
comptage registre selon l’état des entrées
médiane et inférieure
=0
(voir tableau ciou
comptage registre dessous)
> taille de la table
source
*K est une constante entière comprise entre 1 et 255.
Utilisation des entrées CKSM
Calcul CKSM
Entrée médiane Entrée inférieure
Checksum direct
OFF
ON
Addition binaire
ON
ON
CRC-16
ON
OFF
LRC
OFF
OFF
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
117
Instruction proportionnelle - intégrale dérivée
Instruction
Entrées
(E)
Structure
I
4x
Supérieure:
0 = mode manuel
O 1 = mode auto
ProportionnelleintégraleI
dérivée
4x
Médiane:
0 = Tracking ON
O 1 = Tracking OFF
I
PID2
K*
Inférieure:
O 0 = sortie augmente
au fur et à mesure
que E** augmente
1 = sortie diminue
au fur et à mesure
que E** augmente
Eléments
Sorties
(S)
Supérieur:
Supérieure:
premier des 21
paramètre invalide
registres de la table
ou
source
boucle active mais
Médian:
non résolue
premier des 9
registres utilisés
par le bloc pour Médiane:
les calculs
PV≥ limite basse
alarme***
Inférieur:
constante représentant l’intervalle
dans lequel le cal- Inférieure:
cul est effectué en PV≥ limite
dixièmes de sec- basse alarme***
onde
Fonction
Établit un algorithme
qui effectue l’opération P, PI ou PID spécifiée, telle qu’elle est
décrite
dans
les
registres 4x + 5, 4x +
6, 4x + 7 et 4x + 8 de
la table source
*K est une constante entière comprise entre 1 et 255.
**E est une erreur exprimée en unités analogiques brutes.
***PV est la variable d’entrée du procédé.
Fonction
bloc
Paramètre des registres de la table source
4x + 5
4x + 6
4x + 7
4x + 8
P
différent de zéro
zéro
zéro
différent de zéro
PI
différent de zéro
différent de zéro
zéro
zéro
PI
différent de zéro
différent de zéro
différent de zéro
zéro
Table source PID2 (élément supérieur)
Numéro registre
Contenu registre
PV, mesure mise à l’échelle: chargé par le bloc lors de chaque cycle; une échelle linéaire s’effectue dans
le registre 4x + 13 au moyen des limites supérieure et inférieure de 4x + 11 et 4x + 12:
4x
reg 4x + 13
PV à l’échelle =
4095
x (reg 4x + 11 - reg 4x + 12) + reg 4x + 12
Coupez le résultat à la virgule décimale et éliminez tous les chiffres à droite de la virgule - il ne faut pas
arrondir le résultat.
4x + 1
SP: point de consigne spécifié dans les unités techniques; sa valeur doit être > 4x + 11 > 4x + 12.
4x + 2
Mv: chargé par le bloc lors de chaque résolution de boucle; il se trouve dans la plage comprise entre 0
et 4095, permettant la compatibilité de la sortie avec une sortie analogique; la sortie Mv traitée permet
d’effectuer des calculs supplémentaires, telles que les boucles en cascade.
4x + 3
Limite supérieure de l’alarme: chargez un paramètre dans ce registre pour spécifier une alarme haute
pour le PV (au SP ou au-delà); tapez le paramètre en unités physiques dans
l’intervalle spécifié dans les registres 4x + 11 et 4x + 12.
4x + 4
Limite inférieure de l’alarme: chargez un paramètre dans ce registre pour spécifier une alarme basse
pour la PV (au SP ou en dessous); saisir le paramètre dans les unités physiques dans l’intervalle spécifié
dans les registres 4x + 11 et 4x + 12.
4x + 5
Bande proportionnelle: chargez dans ce registre la constante proportionnelle souhaitée comprise entre
5 et 500; plus le nombre est petit, plus la contribution proportionnelle est grande; un nombre valide est
requis dans ce registre pour permettre au PID2 de fonctionner.
118
Jeu d’instructions évoluées
Instruction proportionnelle - intégrale - dérivée (suite)
Table source PID2 (élément supérieur)
Numéro registre
Contenu registre
4x + 6
Intégrale: chargez ce registre pour ajouter une opération intégrale au calcul: la valeur est une constante
entière comprise entre 0000 et 9999, représentant une série de 00,00 à 99,99 répétitions par minute - les
valeurs <9999 ou 0000 > interrompent le calcul: plus le nombre est grand, plus la contribution de l’intégrale
est grande.
4x + 7
Dérivée: chargez ce registre pour ajouter une opération dérivée au calcul: la valeur est une constante
entière comprise entre 0000 et 9999, représentant une série de 00,00 à 99,99 répétitions par minute - les
valeurs <9999 ou >0000 interrompent le calcul: plus le nombre est grand, plus la contribution de la dérivée
est grande.
4x + 8
Pied: chargez ce registre pour ajouter au pied à la sortie - la valeur, ajoutée directement à Mv, doit être
comprise entre 0000 et 4095.
4x + 9
Limite supérieure de l’antisaturation de l’intégrale: chargez dans ce registre la limite maximale de la
valeur de sortie de l’intégrale (entre 0 et 4095); si la valeur spécifiée (normalement 4095) est dépassée,
la somme intégrale n’est plus mise à jour.
4x + 10
Limite inférieure de l’antisaturation de l’intégrale: chargez dans ce registre la limite basse de la valeur
de sortie de l’intégrale (entre 0 et 4095); la valeur spécifiée est normalement 0.
4x + 11
Echelle haute: chargez dans ce registre la valeur supérieure pour laquelle la mesure est mise à l’échelle
- si par exemple une sonde à résistance est comprise entre 0 et 500 degrés C, la valeur est 500; la valeur
supérieure doit être spécifiée en tant qu’entier positif entre 0001 et 9999, correspondant à une valeur d’entrée analogique brute de 4095.
4x + 12
Echelle basse: chargez dans ce registre la valeur inférieure pour laquelle la mesure est mise à l’échelle;
elle doit être spécifiée en tant qu’entier positif entre 0001 et 9998, correspondant à une valeur d’entrée analogique brute de 0 - elle doit être inférieure à la valeur spécifiée dans le registre 4x + 11.
4x + 13
Mesure analogique brute: le programme logique charge la mesure dans ce registre; la mesure doit être
linéaire entre 0 et 40956.
4x + 14
Pointeur sur le registre compteur de boucles: la valeur chargée dans ce registre indique le registre qui
compte le nombre de boucles résolues lors de chaque cycle; la valeur saisie est l’adresse affectée du
registre contenant le comptage des boucles. Si, par exemple, le registre 41236 conserve le comptage,
tapez la valeur 1236 dans le registre 4x +14 de la table source PID2; chargez la même valeur dans le
registre 4x + 14 de chaque bloc PID2 d’un programme logique.
4x + 15
Nombre maximal de boucles/cycle: si le registre 4x + 14 contient une valeur différente de zéro, vous pouvez ajouter une valeur dans ce registre pour spécifier la limite du nombre de boucles à résoudre dans un
cycle unique.
4x + 16
Pointeur sur l’entrée de calcul de l’intégrale: la valeur que vous chargez dans ce registre indique le
registre contenant la valeur en retour (F); les calculs d’intégrales dépendent de la valeur F connectée à
Mv - à l’instar de la sortie PID2 qui varie entre 0 et 4095, F doit également varier entre 0 et 4095; la valeur
entrée dans le registre est l’adresse affectée du registre en retour. Si, par exemple, le registre en retour
est 42250, tapez la valeur 2250 dans le registre 4x + 16 de la table source de PID2.
4x + 17
Limite haute sortie: la valeur saisie dans ce registre détermine la limite supérieure de Mv (normalement
4095).
4x + 18
Limite basse sortie: la valeur saisie dans ce registre détermine la limite inférieure de Mv (normalement
0)
4x + 19
Constante RGL: la valeur limite degain en fréquence entrée dans ce registre détermine le degré effectif
du filtrage de la dérivée; cette valeur est comprise entre 2 et 30; plus la valeur est petite, plus le filtrage est
important.
4x + 20
Pointeur sur l’entrée poursuite: la valeur saisie dans ce registre indique le registre de rétention
contenant la valeur d’entrée de tracking (T): la valeur T est connectée à l’entrée du calcul de l’intégrale
lorsque le bit auto et le bit tracking sont tous deux VRAIS; la valeur saisie dans ce registre est le numéro
du registre d’entrée de tracking. Si par exemple le registre d’entrée de tracking est 40956, tapez 0956 dans
le registre 4x + 20 de la table source de PID2.
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
119
Instruction proportionnelle - intégrale - dérivée (suite)
Bloc de calcul PID2 (élément médian)
Numéro registre
4x
Contenu registre
Registre des états de la boucle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Voir note
Etat manuel/auto
de l’entrée supérieure
Suivi de l’état ON/OFF
de l’entrée médiane
Action directe/inverse
Copie de l’entrée médiane
Valeurs négatives dans l’équation
Limite intégrale dépassée
Toujours défini comme étant 1
0 = +E dans registre source 4x + 6
0 = -E dans registre source 4x + 6
L’adressage de 4x + 14 par 4x + 15 est valide
Boucle en mode auto mais non résolue
En mode de déroulement
Boucle en mode auto et temps depuis la dernière résolution > à l’intervalle de
solution
Sortie inférieure ON
Sortie médiane ON
Sortie supérieure ON
Note: le bit 16 est mis à 1 après le démarrage initial ou l’installation de la boucle. Si le bit est effacé, toutes
les opérations suivantes ont lieu lors d’un seul cycle:
Le registre des états de la boucle est réinitialisé.
La valeur actuelle de l’horloge en temps réel est enregistrée dans le registre
4x + 1 de ce bloc.
Les registres 4x + 3, 4x + 4 et 4x + 5 de ce bloc sont remis à zéro.
La valeur du registre de la table source 4x + 13 est multipliée par 8 et
enregistrée dans le registre 4x + 6 de ce bloc.
Les registres 4x + 7 et 4x + 8 de ce bloc sont initialisés.
120
Jeu d’instructions évoluées
Instruction proportionnelle - intégrale - dérivée (suite)
Bloc de calcul PID2 (élément médian)
Numéro registre
4x + 1
Contenu registre
Etat d’erreurs (E)
Code
binaire
Vérifier ce registre dans la
table source
(élément supérieur)
Signification
0000
Aucune erreur, toutes les validations OK
0001
SP à l’échelle au-dessus de 9999
4x + 1
0002
Alarme haute supérieure à 9999
4x + 3
0003
Alarme basse supérieure à 9999
4x + 4
0004
Bande proportionnelle inférieure à 5
4x + 5
0005
Bande proportionnelle supérieure à 5
4x + 5
0006
Réinitialisation au-dessus de 99,99 répétitions/min
4x + 6
0007
Fréquence au-dessus de 99,99 min
4x + 7
0008
Pied au-dessus de 4095
4x + 8
0009
Limite intégrale haute au-dessus de 4095
4x + 9
0010
Limite intégrale basse au-dessus de 4095
4x + 10
0011
Échelle unité physique supérieure au-dessus de 9999
4x + 11
0012
Échelle unité physique inférieure au-dessus de 9999
4x + 12
0013
Échelle unité phys. sup. en dessous de l’échelle unité phys. inf.
4x + 11 et 4x + 12
0014
SP mis à l’échelle au-dessus de l’unité physique sup.
4x + 1 et 4x + 11
0015
SP mis à l’échelle en dessous de l’unité physique sup.
4x + 1 et 4x + 11
0016
Boucles/cycle > 9999
(4x + 15 = 0)
0017
Erreur registre point entrée intégrale
4x + 16
0018
Serrage de sortie maximal au-dessus de 4095
4x + 17
0019
Serrage de sortie minimal au-dessus de 4095
4x + 18
0020
Serrage de sortie min. au-dessus du serrage de sortie max.
4x + 17 et 4x + 18
0021
RGL inférieur à 2
4x + 19
0022
RGL supérieur à 30
4x + 19
0023
Indicateur tracking F hors limites
4x + 20 et entrée médiane ON
0024
Indicateur tracking F est zéro
4x + 20 et entrée médiane ON
0025
Boucle inactive (temps du cycle insuffisant )
Voir note ci-dessous
0026
Pointeur compteur boucles est zéro
4x + 14 et 4x + 15
0024
Pointeur compteur boucles est hors limites
4x + 14 et 4x + 15
Note: Si la boucle s’inactive fréquemment et tous les paramètres sont valides, augmentez le nombre maximal autorisé de boucles par cycle. Le verrouillage peut également se produire si les registres de comptage
en cours d’utilisation ne sont pas initialisés comme requis.
4x + 2
Registre timer boucles: enregistre les mesures en temps réel dans l’horloge du système chaque fois que
la boucle est résolue; la différence entre la valeur de l’horloge courante et celle du registre est le temps
écoulé; si le temps écoulé > l’intervalle de résolution (10 fois la valeur donnée dans l’élément supérieur
du bloc PID2), la boucle doit être résolue lors du cycle actuel.
4x + 3
4x + 4
4x + 5
Réservé pour usage interne
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
121
Instruction proportionnelle - intégrale - dérivée (suite et fin)
Bloc de calcul PID2 (élément médian)
Numéro registre
Contenu registre
4x + 6
Pv x 8 (filtré): enregistre le résultat de l’entrée analogique filtrée (à partir du registre source 4x + 4) multiplié par huit; cette valeur est utilisée dans les opérations de contrôle dérivées.
4x + 7
Valeur absolue de E: contient la valeur absolue de SP - PV; le bit 8 du registre 4x + 1 de ce bloc indique
le signe de E; la valeur de ce registre est mise à jour au terme de chaque résolution de boucle.
4x + 8
Réservé pour usage interne.
122
Jeu d’instructions évoluées
Instructions mathématiques évoluées
Instruction
Entrées
(E)
Structure
I
Addition
en double
précision
(32 bits)
4x
O
4x
O
Supérieure:
ON lance
l’addition en
double précision
Eléments
Supérieur:
Supérieure:
premier de deux ON lorsque le
registres contigus calcul est terminé
contenant
l’opérande 1, sa valeur
étant comprise entre
0 et 99,999,999
Médian:
premier de six
registres du bloc
décrit ci-dessous
EMTH
1
Sorties
(S)
Médiane:
un opérande est
invalide ou hors
limites
Fonction
Ajoute l’opérande 1
(valeur du bloc de
registre de l’élément
supérieur) et l’opérande 2 (valeur des
deux premiers registres
du bloc de l’élément
médian), puis place le
résultat dans les quatrième et cinquième
registres du bloc de l’élément médian
Inférieur:
code de fonction
EMTH approprié
Bloc de l’élément médian
Numéro registre
4x et 4x + 1
Contenu registre
Valeur de l’opérande 2 comprise entre 0 et 99,999,999
4x + 2
Unevaleurdifférentedezéroindiqueuneconditiondedébordement
4x + 3 et 4x + 4
Résultat de l’addition en double précision
4x + 5
Non utilisé mais doit être réservé
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
123
Instructions mathématiques évoluées (suite)
Instruction
Entrées
(E)
Structure
I
Soustraction en
double précision
(32 bits)
4x
O
4x
O
EMTH
2
O
Supérieure:
ON lance
la soustraction
en double précision
Sorties
(S)
Eléments
Supérieure:
Supérieur:
premier de deux ON lorsque le
registres conti- calcul est terminé
gus contenant l’opérande 1, sa
valeur étant comprise entre 0 et
99,999,999
Médian:
Médian:
premier de six opérande= opérande
registres du bloc
1
2
décrit ci-dessous
Fonction
Soustrait l’opérande
2 (valeur des premier
et second registres
du bloc de l’élément
médian) de l’opérande 1 (valeur du
bloc de l’bonné supérieur), puis place le
résultat dans les troisième et quatrième
registres du bloc de
l’élément médian.
Inférieur:
Inférieur:
code de fonction opérande<opérande
EMTH approprié
1
2
Bloc de l’élément médian
Numéro registre
Multiplication en
double précision
I
4x
O
4x
O
Contenu registre
4x et 4x + 1
Valeur de l’opérande 2 comprise entre 0 et 99,999,99
4x + 2 et 4x + 3
Unevaleurdifférentedezéroindiqueuneconditiondedébordement
4x + 4
Une valeur différente de zéro indique une condition hors norme
4x + 5
Non utilisé mais doit être configuré
Supérieure:
ON lance
la multiplication
à double précision
Supérieure:
Supérieur:
Premier des deux ON lorsque le
registres contigus calcul est terminé
contenant l’opérande 1 dont la
valeur est comprise entre 0 et
9.999.999
Médian:
premier de six
registres du bloc
décrit ci-dessous
EMTH
3
Médian:
un opérande
est hors norme
Multiplie l’opérande 1
(valeur du bloc des
registres de l’élément
supérieur) par l’opérande 2 (valeur des
deux
premiers
registres du bloc de
l’élément médian),
puis place le résultat
dans les troisième,
quatrième,
cinquième et sixième
registres du bloc de
l’élément médian.
Inférieur:
code de fonction
EMTH approprié
Bloc de l’élément médian
Numéro registre
4x et 4x + 1
4x + 2, 4x + 3,
4x + 4, et 4x + 5
124
Jeu d’instructions évoluées
Contenu registre
Valeur de l’opérande 2 comprise entre 0 et 99,999,999
Résultat de la multiplication en double précision
Instructions mathématiques évoluées (suite)
Instruction
Division
en double
précision
Entrées
(E)
Structure
I
4x
O
I
4x
O
EMTH
4
O
Supérieure:
ON lance
la division à
double précision
Médian:
ON = le reste est
enregistré en tant
que fraction
OFF = le reste est
enregistré en tant
que nombre entier
Sorties
(S)
Eléments
Supérieur:
premier de deux
registres contigus contenant l’opérande 1, sa
valeur étant comprise entre 0 et
99,999,999
Médian:
premier de six
registres du bloc
décrit ci-dessous
Inférieur:
code de fonction
EMTH approprié
Supérieure:
ON lorsque le
calcul est terminé
Médiane:
une valeur est hors
limites
Inférieur:
Opérande 2 = 0
Fonction
Divise l’opérande 1
(du bloc de registres
de l’élément supérieur) par l’opérande
2 (les deux premiers
registres du bloc de
l’élément médian),
puis place le résultat
dans les troisième et
quatrième registres
du bloc de l’élément
médian et le reste
dans les cinquième
et sixième registres
du bloc de l’élément
médian.
Bloc de l’élément médian
Numéro registre
I
Racine carrée
3x or 4x
O
4x
O
Contenu registre
4x et 4x + 1
Valeur de l’opérande 2 comprise entre 0 et 99,999,99
4x + 2 et 4x + 3
résultat (quotient) de la division en double précision
4x + 4 et 4x + 5
reste de la division en double précision
Supérieur:
ON lance
l’opération
√
EMTH
5
Supérieur:
Supérieure:
Premier des deux
ON lorsque le
registres contencalcul est terminé
ant une valeur
source comprise
entre
0
et
99.999.999
Médian:
Médian:
Premier des deux La valeur source
registres
dans est hors norme
lequel le résultat
est
enregistré
dans le format
décimal
fixe:
1234.5600
Calcule la racine carrée de la valeur
source des registres
de l’élément supérieur et enregistre le
résultat dans les
registres de l’élément
médian.
Inférieur:
code de fonction
EMTH approprié
Supérieur:
ON lance
I
Racine carrée
process
3x or 4x
O
4x
O
EMTH
6
l’opération
√
Supérieur:
Premier des deux
registres contenant une valeur
source comprise
entre
0
et
99.999.999
Supérieure:
ON lorsque le
calcul est terminé
Médian:
Premier des deux
registres contenant le résultat
linéarisé.
Médian:
La valeur source
est hors norme
Inférieur:
code de fonction
EMTH approprié
Calcule la racine carrée de la valeur
source des regfistres
de l’élément supérieur, la linéarise en
la multipliant par
63,9922 (la racine
carrée de 4095), puis
enregistre le résultat
linéarisé dans les
registres de l’élément supérieur.
On utilise souvent
les racines carrées
process en liaison
avec PID2.
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
125
Instructions mathématiques évoluées (suite)
Instruction
Entrées
(E)
Structure
I
3x or 4x
O
4x
O
Logarithme
Supérieure:
ON lance une
opération
logarithmique
EMTH
7
Eléments
Supérieur:
premier de deux
registres contigus
contenant
une
valeur
comprise
entre
0
et
99,999,999
Supérieure:
ON lorsque le
calcul est terminé
Médian:
registre contenant
le résultat
Médiane:
une erreur a été
détectée ou une
valeur est hors limites
Inférieur:
code de fonction
EMTH approprié
I
Antilogarithme
3x or 4x
O
4x
O
Supérieure:
ON lance une
opération
logarithmique
EMTH
8
Sorties
(S)
Supérieur:
registre
qui
contient une valeur
source enregistrée
dans le format
décimal fixe 1 234
et comprise entre 0
et 7,999
Supérieure:
ON lorsque le
calcul est terminé
Médian:
premier de deux
registres contigus
dans lequel le
résultat est enregistré
Médiane:
une erreur a été
détectée ou une
valeur est hors
limites
Fonction
Effectue une opération logarithme décimal sur la valeur des
registres source de
l’élément supérieur,
puis enregistre le
résultat
dans
le
registre de l’élément
médian
Effectue une opération antilogarithme de
base 10 sur la valeur
du registre source,
puis enregistre le
résultat
dans
le
registre de l’élément
médian en format
décimal fixe:
12345678
Inférieur:
code de fonction
EMTH approprié
Supérieure:
ON lance la
conversion
I
Conversion
d’un entier en
virgule flottante
4x
O
4x
EMTH
9
Supérieur:
premier de deux
registres contigus
contenant
une
valeur
source
entière en double
précision
Médian:
premier d’un bloc
de quatre registres
contigus
Supérieure:
ON lorsque le
calcul est terminé
Inférieur:
code de fonction
EMTH approprié
Convertit une valeur
entière en une valeur
en virgule flottante
sur 32 bits et enregistre le résultat
dans les troisième et
quatrième registres
du bloc de l’élément
médian
Les deux premiers
registres du bloc ne
sont pas utilisés*
* Note: Si vous souhaitez économiser les registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur dans l’instruction EMTH 9.
Addition d’un
entier et d’une
virgule flottante
I
4x
O
Supérieure:
ON
lance
l’addition
4x
EMTH
10
Supérieur:
premier de deux
registres contigus
contenant
une
valeur entière en
double précision
Médian:
premier d’un bloc de
quatre registres contigus
Inférieur:
code de fonction
EMTH approprié
126
Jeu d’instructions évoluées
Supérieure:
ON lorsque le
calcul est terminé
Ajoute la valeur
entière en double
précision dans le bloc
de
registres
de
l’élément supérieur
et la valeur en VF
dans
les
deux
premiers registres du
bloc de l’élément
médian, puis enregistre le résultat dans
les
troisième
et
quatrième registres
du bloc de l’élément
médian
Instructions mathématiques évoluées (suite)
Instruction
Soustraction
entier virgule flottante
Entrées
(E)
Structure
I
3x or 4x
O
Supérieure:
ON lance la
soustraction
4x
Sorties
(S)
Eléments
Supérieur:
premier de deux
registres contigus
contenant
une
valeur entière en
double précision
Supérieure:
ON lorsque le
calcul est terminé
Soustrait la valeur
en VF des deux premiers registres du
bloc de l’élément
médian de la valeur
entière du bloc de
registres et enregistre le résultat
dans les troisième et
quatrième registres
du bloc de l’élément
médian
Supérieure:
ON lorsque le
calcul est terminé
Multiplie la valeur
entière en double
précision du bloc de
registres de l’élément supérieur par
la valeur en VF des
deux
premiers
registres du bloc de
l’élément médian et
enregistre le quotient dans les troisième et quatrième
registres du bloc de
l’élément médian
Supérieure:
ON lorsque le
calcul est terminé
Divise
la
valeur
entière en double
précision du bloc de
registres de l’élément
supérieur par la
valeur en VF des
deux
premiers
registres du bloc de
l’élément médian et
enregistre le quotient
dans les troisième et
quatrième registres
du bloc de l’élément
médian
Supérieure:
ON lorsque le
calcul est terminé
Soustrait la valeur
entière en double
précision des deux
premiers registres du
bloc de l’élément
médian de la valeur
VF du bloc de
registres de l’élément
supérieur, puis enregistre le résultat dans
les troisième et quatrième registres du
bloc de l’élément
médian
Médian:
premier d’un bloc de
quatre registres contigus
EMTH
11
Inférieur:
code de fonction
EMTH approprié
I
Multiplication
entier x virgule
flottante
3x or 4x
O
Supérieure:
ON lance la
multiplication
4x
Supérieur:
premier de deux
registres contigus
contenant
une
valeur entière en
double
précision
Médian:
premier d’un bloc de
quatre registres contigus
EMTH
12
Inférieur:
code de fonction
EMTH approprié
I
Division entier /
virgule flottante
4x
O
Supérieure:
ON lance la
division
4x
Supérieur:
premier de deux
registres contigus
contenant
une
valeur entière en
double
précision
Médian:
premier d’un bloc de
quatre registres contigus
EMTH
13
Inférieur:
code de fonction
EMTH approprié
Soustraction
virgule flottante entier
I
4x
O
Supérieure:
ON lance la
soustraction
Supérieur:
premier de deux
registres contigus
contenant
une
valeur en virgule
flottante
4x
EMTH
14
Médian:
premier d’un bloc de
quatre
registres
contigus
Inférieur:
code de fonction
EMTH approprié
Fonction
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
127
Instructions mathématiques évoluées (suite)
Instruction
Entrées
(E)
Structure
I
Division virgule
flottante/entier
3x or 4x
O
Supérieure:
ON lance la
division
4x
Sorties
(S)
Eléments
Supérieur:
premier de deux
registres contigus
contenant
une
valeur en virgule
flottante
Fonction
Supérieure:
ON lorsque le
calcul est terminé
Divise
la
valeur
entière en double précision des deux premiers registres du
bloc de l’élément
médian par la valeur
en VF du bloc de
registres de l’élément
supérieur, puis enregistre le quotient dans
les troisième et quatrième registres du
bloc de l’élément
médian
Supérieure:
ON lorsque le
calcul est terminé
Compare la valeur
entière en double
précision avec la
valeur en VF (des
deux
premiers
registres du bloc de
l’élément médian),
puis indique la relation via les sorties
médiane et inférieure
(voir tableau ci-dessous)
Médian:
premier d’un bloc
de quatre registres
contigus
EMTH
15
Inférieur:
code de fonction
EMTH approprié
I
Comparaison
entier - virgule
flottante
3x or 4x
O
4x
O
EMTH
16
O
Supérieure:
ON lance la
comparaison
Supérieur:
premier de deux
registres contigus
contenant
une
valeur
source
entière en double
précision
Médian:
utilisé avec la sortie
inférieure pour indiMédian:
quer la relation de la
premier d’un bloc de valeur
quatre
registres
contigus
Inférieure:
utilisé avec la sortie
médiane pour indiquer la relation de la
valeur
Inférieur:
code de fonction
EMTH approprié
Les troisième et quatrième registres du
bloc de l’élément
médian ne sont pas
utilisés mais doivent
être réservés
Sorties EMTH 16
Etat sortie médiane
Etat sortie inférieure
ON
Conversion de
virgule flottante
en entier
I
4x
O
EMTH
17
ON
I < FP
ON
ON
I = FP
Supérieur:
premier de deux
registres contigus
contenant un entier en double précision
Médian:
premier d’un bloc
de quatre registres
contigus
O
I > FP
OFF
Supérieure:
ON lance la
conversion
4x
Relation valeur
OFF
Inférieur:
code de fonction
EMTH approprié
Supérieure:
ON lorsque le
calcul est terminé
Convertit la valeur en
VF enregistrée dans
les troisième et quatrième registres du
bloc de l’élément
médian une valeur
entière en double précision, puis enregistre
la valeur convertie
dans les registres de
l’élément médian
Les premier et second
registres de l’élément
Inférieure:
médian ne sont pas
0 = valeur entière + utilisés mais doivent
1 = valeur entière - être configurés*
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la
valeur entière en double précision dans les premier et second registres du bloc de
l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur
de l’instruction EMTH 17.
128
Jeu d’instructions évoluées
Instructions mathématiques évoluées (suite)
Instruction
Addition
virgule flottante
Entrées
(E)
Structure
I
4x
O
Supérieure:
ON
lance
l’addition
EMTH
18
I
4x
O
Supérieure:
ON lance la
soustraction
O
Multiplication
virgule flottante
EMTH
20
Division
virgule flottante
4x
EMTH
21
Soustrait la valeur 2 en
VF (enregistrée dans
les premier et second
registres du bloc de
l’élément médian) de
la valeur 1 en VF (du
bloc de registres de
l’élément médian) et
enregistre la différence dans les troisième et quatrième
registres du bloc de
l’élément médian
Supérieur:
premier de deux
registres contigus
contenant
une
valeur 1 en VF
Supérieure:
ON lorsque le
calcul est terminé
Multiplie la valeur 1
en VF (du bloc de
registres de l’élément
supérieur) par la
valeur 2 en VF (des
deux
premiers
registres du bloc de
l’élément médian) et
enregistre le produit
dans les troisième et
quatrième registres
du bloc de l’élément
médian
Supérieure:
ON lorsque le
calcul est terminé
Divise la valeur 1 en
VF (du bloc de
registres du bloc de
l’élément supérieur)
part la valeur 2 VF
(des
premier
et
second registres du
bloc de l’élément
médian), puis enregistre le quotient dans
les troisième et quatrième registres du
bloc de l’élément
médian
Médian:
premier d’un bloc de
quatre registres contigus
4x
4x
Supérieure:
ON lorsque le
calcul est terminé
Inférieur:
code de fonction
EMTH approprié
Supérieure:
ON lance la
multiplication
I
Ajoute la valeur 1 en
VF (du bloc de
registres de l’élément supérieur) et la
valeur 2 en VF des
deux
premiers
registres du bloc de
l’élément médian),
puis enregistre la
somme dans les troisième et quatrième
registres du bloc de
l’élément médian
Médian:
premier d’un bloc de
quatre
registres
contigus
EMTH
19
4x
Supérieur:
premier de deux
registres contigus
contenant
une
valeur 1 en VF
Inférieur:
code de fonction
EMTH approprié
O
Supérieure:
ON lance la
division
Supérieur:
premier de deux
registres contigus
contenant
une
valeur 1 en VF
Médian:
premier d’un bloc
de quatre registres
contigus
Inférieur:
code de fonction
EMTH approprié
Fonction
Supérieure:
ON lorsque le
calcul est terminé
Inférieur:
code de fonction
EMTH approprié
4x
I
Supérieur:
premier de deux
registres contigus
contenant
une
valeur 1 en VF
Médian:
premier d’un bloc de
quatre registres contigus
4x
Soustraction
virgule flottante
Sorties
(S)
Eléments
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
129
Instructions mathématiques évoluées (suite)
Instruction
Entrées
(E)
Structure
I
Comparaison
virgule flottante
4x
O
4x
O
EMTH
22
O
Sorties
(S)
Eléments
Supérieure:
ON lance la
comparaison
Fonction
Supérieur:
premier de deux
registres contigus contenant
une valeur 1 en
VF
Supérieure:
ON lorsque le
calcul est terminé
Médian:
premier d’un bloc
de quatre registres
contigus
Médian:
utilisé avec la sortie
inférieure pour indiquer la relation de la
valeur
Inférieur:
code de fonction
EMTH approprié
Inférieure:
utilisé avec la sortie médiane pour
indiquer la relation
de la valeur
Compare la valeur 1 en
VF (du bloc de registres
de l’élément supérieur)
avec la valeur 2 en VF
(des deux premiers
registres du bloc de
l’élément médian), puis
indique la relation via les
sorties médiane et inférieure (voir le tableau cidessous)
Les troisième et quatrième registres du bloc
de l’élément médian ne
sont pas utilisés mais
doivent être réservés*
Sorties EMTH 16
Etat sortie médiane
Etat sortie inférieure
ON
I
4x
O
Relation valeur
Valeur 1 VF > valeur 2 VF
OFF
ON
Valeur 1 VF < valeur 2 VF
ON
ON
Valeur 1 VF = valeur 2 VF
Supérieure:
ON lance
Racine carrée
virgule flottante
OFF
l’opération
√
Supérieur:
premier de deux
registres contigus
contenant
une
valeur en VF
Médian:
premier d’un bloc de
quatre registres
contigus
4x
EMTH
23
Inférieur:
code de fonction
EMTH approprié
Supérieure:
ON lorsque le
calcul est terminé
Effectue une opération
racine carrée sur la
valeur VF du bloc de l’élément supérieur et
enregistre le résultat
dans les troisième et
quatrième registres du
bloc de l’élément médian
Les premier et second
registres de l’élément
médian ne sont pas
utilisés mais doivent être
réservés*
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la
valeur entière en double précision dans les premier et second registres du bloc de
l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de
l’instruction EMTH 23.
Changement
de signe
virgule flottante
I
4x
O
Change le signe de la
Supérieure:
valeur VF du bloc de
ON lorsque le
calcul est terminé registres de l’élément
supérieur et enregistre le
résultat dans les troisième
et
quatrième
Médian:
registres du bloc de l’élépremier d’un bloc
ment médian
de quatre registres
contigus
Les troisième et quatrième registres du bloc
Inférieur:
de l’élément médian ne
code de fonction
sont pas utilisés mais
EMTH approprié
doivent être réservés
Supérieur:
premier de deux
registres contigus
de
de
contenant
une
valeur en VF
Supérieure:
ON lance
l’opération
changement
signe
4x
EMTH
24
Supérieure:
Chargement
I
O
π
de en virgule
flottante
4x
ON charge
Supérieur:
Non utilisé
dans le bloc de Médian:
registres médian premier de quatre
registres dans lesquels la valeur VF
de pi est chargée
EMTH
25
130
π
Jeu d’instructions évoluées
Inférieur:
code de fonction
EMTH approprié
Supérieure:
Charge la valeur VF de pi
ON lorsque le
dans les troisièmes et
calcul est terminé quatrième registres du
bloc
de
l’élément
médian; les premier et
seconds registres du
bloc de l’élément médian
ne sont pas utilisés
Instructions mathématiques évoluées (suite)
Instruction
Sinus d’un
angle en
virgule flottante
Entrées
(E)
Structure
I
4x
O
Supérieure:
ON lance le
calcul
4x
EMTH
26
Sorties
(S)
Eléments
Supérieur:
premier de deux
registres
contigus
contenant la valeur
VF d’un angle en
radians; la grandeur
est < 65536,0
Médian:
premier d’un bloc de
quatre registres contigus
Inférieur:
code de fonction
EMTH approprié
Fonction
Calcule en radians le
Supérieure:
sinus de la valeur en
ON lorsque le
calcul est terminé virgule flottante des
registres de l’élément
supérieur et enregistre
le résultat dans les
troisième et quatrième
registres du bloc de
l’élément médian.
Les premier et second
registres du bloc de
l’élément médian ne
sont pas utilisés mais
doivent être réservés*
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 26.
I
Cosinus
d’un
angle en
virgule flottante
4x
Supérieur:
premier de deux
registres
contigus
contenant la valeur
VF d’un angle en
radians; la grandeur
est < 65536,0
EMTH
27
Médian:
premier d’un bloc de
quatre registres contigus
4x
O
Supérieure:
ON lance le
calcul
Inférieur:
code de fonction
EMTH approprié
Supérieure:
Calcule en radians le
ON lorsque le
cosinus de la valeur en
calcul est terminé virgule flottante des
registres de l’élément
supérieur et enregistre
le résultat dans les
troisième et quatrième
registres du bloc de
l’élément médian.
Les premier et second
registres du bloc de
l’élément médian ne
sont pas utilisés mais
doivent être réservés*
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 27.
I
Tangente d’un
angle en
virgule flottante
4x
4x
EMTH
28
O
Supérieure:
ON lance le
calcul
Supérieur:
premier de deux
registres contigus
contenant la valeur
VF d’un angle en
radians; la grandeur
est < 65536,0
Médian:
premier d’un bloc de
quatre registres contigus
Inférieur:
code de fonction
EMTH approprié
Supérieure:
Calcule en radians la
ON lorsque le
tangente de la valeur en
calcul est terminé virgule flottante des
registres de l’élément
supérieur et enregistre
le résultat dans les
troisième et quatrième
registres du bloc de
l’élément médian.
Les premier et second
registres du bloc de
l’élément médian ne
sont pas utilisés mais
doivent être réservés*
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 28.
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
131
Instructions mathématiques évoluées (suite)
Instruction
Entrées
(E)
Structure
Supérieure:
ON lance le
calcul
Arc-sinus
d’un angle en
virgule flottante
I
4x
O
Sorties
(S)
Eléments
Supérieur:
premier
de
deux
registres contenant la
valeur en VF du sinus
Supérieure:
ON lorsque le
calcul est terminé
π
d’un angle entre - /2
π
et
/2 radians; la
valeur doit être comprise entre -1,0 et +1,0
4x
EMTH
29
Fonction
Calcule en radians
l’arc-sinus de la
valeur en virgule flottante des registres de
l’élément supérieur et
enregistre le résultat
dans les troisième et
quatrième registres
du bloc de l’élément
médian.
Les
premier
et
second registres du
bloc de l’élément
médian ne sont pas
utilisés mais doivent
être réservés*
Inférieur:
code de fonction
EMTH approprié
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 29.
Arc-cosinus
d’un angle en
virgule flottante
I
4x
O
Supérieure:
ON lance le
calcul
Supérieur:
premier de deux
registres contenant la
valeur VF du cosinus
d’un angle entre 0 et
Supérieure:
ON lorsque le
calcul est terminé
π radians; la valeur
4x
est comprise entre
-1,0 et +1,0
EMTH
30
Médian:
premier d’un bloc de
quatre registres contigus
Calcule en radians
l’arc-cosinus de la
valeur en virgule flottante des registres
de l’élément supérieur et enregistre le
résultat dans les troisième et quatrième
registres du bloc de
l’élément médian.
Les
premier
et
second registres du
bloc de l’élément
médian ne sont pas
utilisés mais doivent
être réservés
Inférieur:
code de fonction
EMTH approprié
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 30.
I
Arc-tangente
d’un angle en
virgule flottante
4x
O
Supérieure:
ON lance le
calcul
Supérieur:
premier de deux
registres
contigus
contenant la valeur
VF d’un angle entre
π
- /2 et
4x
π/2 radians
Médian:
premier d’un bloc de
quatre registres contigus
EMTH
31
Inférieur:
code
de
fonction
EMTH approprié
Supérieure:
ON lorsque le
calcul est terminé
Calcule en radians
l’arc-tangente de la
valeur en virgule flottante des registres de
l’élément supérieur et
enregistre le résultat
dans les troisième et
quatrième registres
du bloc de l’élément
médian.
Les premier et second
registres du bloc de
l’élément médian ne
sont pas utilisés mais
doivent être réservés
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 31.
132
Jeu d’instructions évoluées
Instructions mathématiques évoluées (suite)
Instruction
Conversion de
radians en
degrés en
virgule flottante
Entrées
(E)
Structure
I
4x
O
Supérieure:
ON lance la
conversion
4x
EMTH
32
Sorties
(S)
Eléments
Supérieur:
premier de deux
registres contigus
contenant la valeur
VF d’un angle en
radians
Médian:
premier d’un bloc de
quatre
registres
contigus
Supérieure:
ON lorsque la
conversion est
terminée
Inférieur:
code de fonction
EMTH approprié
Fonction
Convertit la valeur en VF
des registres de l’élément
supérieur en une représentation de cette valeur
en radians et enregistre la
conversion dans les troisième
et
quatrième
registres du bloc de l’élément médian.
Les premier et second
registres du bloc de l’élément médian ne sont pas
utilisés mais doivent être
réservés*
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 32.
Conversion
de degrés
en radians en
virgule flottante
I
4x
O
Supérieure:
ON lance la
conversion
4x
Supérieur:
premier de deux
registres
contigus
contenant la valeur
VF d’un angle en
degrés
Supérieure:
ON lorsque la conversion est terminée
Médian:
premier d’un bloc de
quatre registres contigus
EMTH
33
Convertit la valeur en VF
des registres de l’élément
supérieur en une représentation de cette valeur
en degrés et enregistre la
valeur convertie dans les
troisième et quatrième
registres du bloc de l’élément médian.
Les premier et second
registres du bloc de l’élément médian ne sont pas
utilisés mais doivent être
réservés*
Inférieur:
code de fonction
EMTH approprié
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 33.
Nombre en
virgule flottante
élevé à une
puissance
entière
I
4x
O
Supérieure:
ON lance le
calcul
4x
4x
4x
EMTH
35
Élève la valeur VF des
registres de l’élément
supérieur à la puissance
entière spécifiée dans le
second registre du bloc de
l’élément médian et enregistre le résultat dans les
troisième et quatrième
registres du bloc de l’élément médian; le premier
registre de l’élément
médian doit être remis à 0
Supérieur:
Supérieure:
premier de deux ON lorsque le
registres contenant calcul est terminé
une valeur VF comprise entre
-87,34 et +88,72
Calcule la valeur exponentielle du nombre VF
des registres de l’élément
supérieur et enregistre le
résultat dans les troisième
et
quatrième
registres du bloc de l’élément médian.
Inférieur:
code de fonction
EMTH approprié
Supérieure:
ON lance le
calcul
I
Supérieure:
ON lorsque le
calcul est terminé
Médian:
premier d’un bloc de
quatre registres contigus
EMTH
34
Exponentielle en
virgule flottante
Supérieur:
premier de deux
registres contenant
une valeur VF
O
Médian:
premier d’un bloc de
quatre registres contigus
Inférieur:
code de fonction
EMTH approprié
Les premier et second
registres du bloc de l’élément médian ne sont pas
utilisés mais doivent être
réservés*
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction
EMTH 35.
Jeu d’instructions évoluées
Breite: 151,5mm
Höhe: 227,5mm
133
Instructions mathématiques évoluée (suite et fin)
Instruction
Logarithme
naturel en
virgule flottante
Entrées
(E)
Structure
I
O
4x
Sorties
(S)
Eléments
Supérieure:
Supérieur:
ON lance le premier de deux
calcul
registres contigus
contenant
une
valeur VF > 0
Fonction
Supérieure:
ON lorsque le
calcul est terminé
Médian:
premier d’un bloc de
quatre
registres
contigus
4x
EMTH
36
Calcule le logarithme
naturel de la valeur VF
des registres de l’élément supérieur et enregistre le résultat dans
les troisième et quatrième registres du bloc
de l’élément médian.
Les premier et second
registres du bloc de l’élément médian ne sont
pas utilisés mais doivent
être réservés*
Inférieur:
code de fonction
EMTH approprié
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur
entière en double précision dans les premier et second registres du bloc de l’élément
médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 36.
Logarithme
commun en
virgule flottante
Supérieure:
ON lance le
calcul
I
Supérieur:
premier de deux
registres contigus
contenant
une
valeur VF > 0
O
4x
Supérieure:
ON lorsque le
calcul est terminé
Médian:
premier d’un bloc de
quatre
registres
contigus
4x
EMTH
37
Calcule le logarithme
commun de la valeur VF
des registres de l’élément supérieur et enregistre le résultat dans les
troisième et quatrième
registres du bloc de l’élément médian.
Les premier et second
registres du bloc de l’élément médian ne sont
pas utilisés mais doivent
être réservés*
Inférieur:
code de fonction
EMTH approprié
*Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la
valeur entière en double précision dans les premier et second registres du bloc de
l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de
l’instruction EMTH 37.
Gestion des
erreurs
I
O
4x
Supérieure:
ON lance le
calcul
Supérieur:
non utilisé
Médian:
premier de quatre
registres contenant
les données du journal des erreurs
O
EMTH
38
Les données d’erreur
sont consignées dans le
troisième registre du
bloc
de
l’élément
médian et le quatrième
Médiane:
1 = différent de zéro registre est toujours
dans le registre défini comme étant 0.
0 = tous les bits
définis comme Les premier et second
registres du bloc de l’éétant zéro
lément médian ne sont
pas utilisés mais doivent
être réservés.
Supérieure:
ON lorsque le
calcul est terminé
Inférieur:
code de fonction
EMTH approprié
Registre 4x + 2 de l’élément médian de EMTH 38
1
2
3
4
5
6
7
8
9
Code fonction de la dernière erreur consignée
10
11
12
13
14
15
16
Débordement VF
Débordement VF
Valeur ou opération en
VF invalide
Puissance fonction
exponentielle trop grande
Erreur de conversion entier/VF
134
Jeu d’instructions évoluées
Annexe A
Mise à jour du système
d’exploitation mémoire Flash
j Utilitaires de mise à jour de l’exécutif
j Accès à Modfax et à la messagerie télématique
Mise à jour du système d’exploitation mémoire Flash
Breite: 151,5mm
Höhe: 227,5mm
135
Utilitaires de mise à jour de l’exécutif
Le système d’exploitation Ladder Logic
de votre Micro API Modicon a été chargé
dans la mémoire Flash de l’API à l’usine.
Il définit la fonctionnalité élémentaire de
l’API et son jeu d’instructions.
Il est possible que des mises à jour
soient nécessaires pour augmenter la
fonctionnalité du système ou corriger des
erreurs. Les informations suivantes vous
permettent, le cas échéant, de mettre à
jour la mémoire Flash.
Mise à jour du système au
moyen d’un utilitaire de
chargement
Bien que la mémoire Flash soit
permanente, vous pouvez facilement la
modifier. Vous pouvez effectuer une mise
à jour d’une version du système
d’exploitation au moyen du port Modbus
sans apporter de modification au logiciel.
Il vous suffit d’avoir un fichier binaire de
l’exécutif et un programme utilitaire de
chargement. Vous pouvez charger dans
le micro le fichier binaire de l’exécutif
grâce à un utilitaire de chargement à
partir d’un PC.
L’utilitaire de chargement contient cinq
fichiers:
V LOADER.EXE, fichier exécutable
exécutant la fonction de chargement,
V LOADER.HLP, fichier texte d’aide,
V LOADER.NDX, fichier index pour les
écrans d’aide,
V MCMIII.MSG, fichier des messages
d’erreur de Modcom III,
V README.1ST, fichier expliquant
comment effectuer la mise à jour.
Vous pouvez obtenir l’utilitaire de
chargement et le logiciel superviseur le
plus récent de deux façons:
136
V via le serveur du service clientèle (24h
sur 24, 365 jours par an et sans frais),
V chez votre distributeur Modicon.
La liste des révisions les plus récentes
des divers systèmes d’exploitation (ou
des micrologiciels superviseurs) est
dressée au service clientèle du BBS et
sur Modfax. Le numéro, figurant dans le
document Modfax, des mises à jour les
plus récentes est 3727. Vous trouverez
les détails relatifs à l’accès à Modfax et
au service clientèle BBS dans la présente
annexe.
Détermination de la dernière
version
Il existe deux façon de déterminer la
version du système d’exploitation
actuellement installé dans un API.
V Si vous possédez MODSOFT Lite,
vérifiez la ligne Exec ID de l’écran des
statuts du contrôleur. Si cet écran
affiche par exemple:
EXEC ID 0861 REV 0101
alors, la version de votre système
d’exploitation est 1.01.
V Si vous ne possédez pas MODSOFT
ni MODSOFT Lite, appelez les
adresses absolues en mémoire
suivantes pour afficher la version de
supervision du contrôleur:
Automate
Page
All Micro PLCs
F
Adresse
4020 (hex)
L’accès à l’adresse ci-dessus dépend du
logiciel que vous utilisez. Pour plus
amples détails, veuillez prendre contact
avec votre distributeur.
Mise à jour du système d’exploitation mémoire Flash
Accès à Modfax
Modfax est un système de consultation
automatique de documents à la
disposition des clients Modicon. Il s’agit
d’un système interactif. Pour accéder au
Modfax, appelez 31-2907-9794 et
sélectionnez l’option 3. Munissez-vous du
numéro de votre photocopieur lors de
votre appel.
Pour une assistance technique matérielle
et logicielle supplémentaire, appelez le
centre d’assistance utilisateur au (1)
64-10-43-43
questions qui vous sont alors
posées.
Étape 3
Lorsque vous accédez au menu
principal, sélectionnez m et
appuyez sur <Retour>. Vous
accédez
au
service
de
téléchargement Flash.
Étape 4
Le menu présente un certain
nombre de modèles d’API.
Sélectionnez
le
numéro
correspondant au vôtre.
Étape 5
Vous obtenez une liste de
fichiers numérotés de 1 à 8, avec
une description de chaque
fichier à droite de l’écran.
Sélectionnez le numéro de la
dernière version de votre API,
normalement 1 ou 2.
Étape 6
Sélectionnez le protocole de
communication correspondant
au protocole de votre système
de communication. Si vous avez
ZMODEM, utilisez-le, sinon
utilisez KERMIT ou XMODEM.
Étape 7
Si votre système accepte
ZMODEM,
le
chargement
commence automatiquement.
Avec les autres protocoles,
indiquez à votre logiciel de
communication
que
vous
souhaitez charger un fichier,
puis sélectionnez le protocole
correspondant à celui qui a été
sélectionné au préalable sur le
BBS.
Étape 8
Vous devez désormais avoir le
fichier approprié dans votre
chemin
de
chargement
(déterminé par le logiciel de
communication).
Étape 9
Supposons que le premier
fichier auquel vous accédez est
le fichier binaire de l’exécutif.
Vous souhaitez maintenant
accéder
à
l’utilitaire
de
Accès au serveur service
clientèle
Le service clientèle BBS Modicon offre
plusieurs caractéristiques et avantages.
Pour plus amples informations,
demandez le Document Modfax nº 3 ou
prenez contact avec le centre
d’assistance utilisateur Modicon.
Les membres de BBS peuvent utiliser la
procédure donnée ci-dessous ou passer
directement à Flash Lib. Le
téléchargement des superviseurs Flash
est gratuit. Nous recommandons aux non
membres du BBS de récupérer un fichier
superviseur binaire et l’utilitaire de
chargement à partir de BBS au moyen de
la procédure suivante:
Procédure du superviseur
de mise à jour
Étape 1
Étape 2
Composez 19-31 2907-9794 au
moyen du modem de votre
système de communication.
Vous pouvez travailler à la
vitesse maximale de votre
modem, nous prenons en
charge jusqu’à 14 400 bauds,
sans parité, 8 bits de données et
1 bit de stop.
S’il s’agit de votre premier appel,
vous devez créer un compte.
Pour cela, répondez aux cinq
Mise à jour du système d’exploitation mémoire Flash
Breite: 151,5mm
Höhe: 227,5mm
137
chargement. Si vous appuyez
une fois sur <Retour>, vous
retournez au menu principal.
Sinon, tapez /GO EXEC et
appuyez sur <Retour>.
Étape 10 Pour accéder à l’utilitaire de
chargement,
répétez
la
procédure ci-dessus, à partir de
l’étape 5, en utilisant cette fois
la lettre L.
138
Étape 11 Les fichiers chargés sont
compactés
et
seront
automatiquement décompactés
lors de l’exécution.
Le résultat de l’exécution d’un
fichier.exe est un fichier
d’exécutif binaire.
Étape 12 Suivez les instructions du fichier
README.1ST afin de mettre à
jour le système d’exploitation
Ladder Logic.
Mise à jour du système d’exploitation mémoire Flash
Annexe B
Réparation
j Diagnostic des conditions de démarrage
j Codes d’erreurs d’arrêt de l’API
j Codes de pannes de l’API affichés sur les LED
Réparation
Breite: 151,5mm
Höhe: 227,5mm
139
Diagnostic des conditions de démarrage
Symptôme: Absence de la
LED power ok (alimentation
OK)
La LED power ok, de couleur verte, du
Micro API passe sur ON lorsque les
conditions d’alimentation internes de l’API
sont correctes et que celui-ci est alimenté
par une source externe. Si cette LED ne
passe pas sur ON après mise sous
tension de l’API, reportez-vous à
l’organigramme 1.
Organigramme 1
tension, reportez-vous à l’organigramme
2.
Organigramme 2
LED ready OFF
Non
Voir
organigramme 1
LED
power ok ON ?
Yes
LED power ok est OFF
Retirer tous les connecteurs d’E/S
Vérifier connexions
terminales d’alimentation
Mettre l’API sous tension
Vérifier la source
d’alimentation
Non
Courant
présent sur la borne
d’alimentation
de l’API ?
Non
Oui
Oui
Remplacer API
Symptôme: absence de LED
ready (prêt)
Cette LED ready, de couleur ambre,
passe sur ON lorsque l’API a réussi ses
diagnostics de mise sous tension et reste
allumée tant que l’API est alimenté et
fonctionne correctement. Si cette LED ne
passe pas sur ON après la mise sous
140
Réparation
LED
ready ON ?
Remplacer l’API
Réparer les
connexions d’E/S
Symptôme: LED Run
(exécution) éteinte ou
clignotante
La LED RUN de l’API passe sur ON lors
du démarrage de l’API et de l’analyse du
programme. Elle clignote lorsque l’API
est alimenté mais ne peut trouver une
configuration valide. Si cette LED est
OFF ou présente un comportement
inattendu, reportez-vous à
l’organigramme 3 de la page suivante.
Symptôme: Absence de
commication sur l’API
Si les communications s’interrompent
inopinément sur l’API, reportez-vous à
l’organigramme 5. Vous pouvez
également consulter le code d’erreurs
d’arrêt de l’API s’affichant sur votre
console de programmation ou le codes
d’arrêt clignotant sur les LED d’entrée du
Micro API. Les codes d’erreurs d’arrêt et
les codes de pannes du système sont
décrits plus loin dans la présente annexe.
Symptôme: LED exp link
éteinte ou clignotante
La LED exp link, de couleur verte, passe
sur ON lorsque les communications
valides ont lieu sur le réseau d’extension
d’E/S entre un API parent ou enfant; la
LED des deux API doit présenter le
même comportement. Elle clignote
lorsque des erreurs se produisent sur la
liaison. Si cette LED clignote ou si elle
est OFF lors de communications I/O,
reportez-vous à l’organigramme 4 de la
page suivante.
Réparation
Breite: 151,5mm
Höhe: 227,5mm
141
Organigramme 4
Organigramme 3
exp link OFF ou clignotante
run non allumée
power ok ON ?
Non
Configurer
en tant que API
parent ou enfant
Oui
API configuré en
tant API simple ?
Voir organigramme 1
Oui
ready ON ?
Non
Non
Voir
organigramme 3
run ON ?
Non
Voir organigramme 2
Oui
Oui
run clignotante ?
Oui
Voir organigramme 5
Continuer le
fonctionnement
Oui
Non
run OFF ?
Oui
Connecter console
exp link ON ?
Non
Remplacer
l’API
Non
exp link clignotante ?
Oui
Vérifier les câbles de
l’API parent et de tous
les API enfants
Démarrer API
run ON ?
Non
Tous les API enfants
se trouvent sur liaison câble ?
Oui
Consulter le code de
pannes de l’API
Oui
Corriger le problème
Vérifier que la vis J2 a
une terminaison correcte
run ON dans tous les
API enfants
Continuer le fonctionnement
Appeler le distributeur pour assistance
142
Réparation
Organigramme 5
Absence de communication
avec API
Oui
311 / 411
run ON ?
512 / 612
Non
Remettre API
sous tension
essayer port 2
LED run clignotante ?
Non
Remettre API
sous tension
Oui
Non
Comm ok ?
Entrées clignotantes ?
Oui
Vérifier câble et
adaptateur comm
Remettre API
sous tension
Remettre API sous
tension aussitôt que
possible pour
réinitialiser port 1
Non
Consulter le code
de pannes au
moyen du logiciel
de programmation
Corriger problème ou
Oui
Consulter le code
de pannes sur LED
d’entrées
Remettre API sous
tension
Recharger OS dans Flash
Remplacer API ou
Appeler le distributeur
pour assistance
Réparation
Breite: 151,5mm
Höhe: 227,5mm
143
Codes d’arrêt de l’API
En cas d’arrêt inopiné de l’API, un code
d’erreur d’arrêt s’affiche sur le logiciel. Le
code s’affichera en tant nombre
hexadécimal à quatre caractères. Avec
MODSOFT Lite, le code d’arrêt s’affiche
à l’écran de bilan de l’API; sur une
micro-console HHP, il est indiqué.
Le tableau ci-dessous présente la
description des divers codes.
Code d’erreur d’arrêt
Code bit de stop Conditions d’arrêt
Description
8000
PCSTOPPED
4000
BADTCOP
Erreur dans l’affectation d’E/S
2000
DIMAWAR
L’API n’a pas de configuration valide
1000
PORTIVENT
Intervention sur port erronée
0800
BADSEGSCH
Les segments Ladder Logic ne sont pas
correctement scrutés pour l’exécution
0400
SONNOTIST
L’instruction de démarrage du réseau n’a
pas démarré le réseau
0200
PDCHECKSUM
Checksumdemisehorstensionerroné
0080
NOEOLDOIO
Tempo de chien de garde a expiré
avant le fin du cycle logique
0040
RTCFAILED
L’horloge temps réel est en panne
0020
BADOXUSED
Erreur dans la table des sorties utilisées
0010
RIOFAILED
Panne sur réseau d’extension d’E/S
0008
NODETYPE
Instruction inconnue
0004
ULCSUMERR
Erreur checksum logique
0002
DSCRDISAB
Forçage T.O.R.
0001
BADCONFIG
Configuration invalide
144
Réparation
L’API est arrêté
Codes d’arrêt de l’API affichés sur les LED
Si l’UC détecte une erreur fatale, un des
codes d’erreurs énumérés ci-dessous
clignotera sur la rangée de LED d’entrée
située sur le panneau avant de l’API. La
LED ready sera allumée et la LED run
clignotera à la même vitesse que les LED
d’entrée, à savoir 0,5 s ON et 2,5 s OFF.
Il existe deux types de codes d’arrêt de
l’API: ceux générés par l’API en mode
kernel- et ceux générés lors de
l’exécution.
Dans les illustrations ci-dessous, les LED
clignotantes sont représentées par ¯ et
les LED d’entrée en état OFF par ¥.
Codes de pannes en mode kernel
Erreur checksum
PROM kernel
Erreur de
données RAM
du système
Erreur programme/
effacement dans la Flash
Erreur d’adresse
RAM du système
Retour exécutif
inopiné
Réparation
Breite: 151,5mm
Höhe: 227,5mm
145
Codes d’erreur en exécution
146
Erreur checksum
PROM
Erreur sur activation RUN
Etat comm défectueuxtransmission
RTU
Erreur test
données RAM
Interruption
inopinée
Etat comm
défectueuxréception
RTU
Erreur test
d’adresse RAM
Circuit UART
défectueux
Etat comm défectueuxréception
ASCII
Buff de commande
Modbus en
débordement
Interruption
UART erronée
(externe au
microprocesseur)
Etat Modbus
défectueuxévénement
tempo 0
Longueur commande
Modbus = 0
Etat comm
réception
défectueux
Etat Modbus défectueux- transmission interruption
Erreur commande
abandon Modbus
Etat comm
transmission
invalide
Etat Modbus
défectueuxréception
interruption
Erreur RAM lors du
dimensionnement
Etat comm
défectueuxtransmission
ASCII
Temporisation
d’éjection
mémoire prête
Réparation

Manuels associés