Vous êtes sur la page 1sur 270

AUTOMATISME

SCHNEIDER
Control Expert

AFPI BOURGOGNE 21-71


Pôle formation UIMM Bourgogne 21-71 Damien Quévat
10, allée André Bourland – BP 87401 – 21074 Dijon cedex V1-2023
Sommaire

1. MODICOM M580 ......................................................................................................................... 8

1.1. Processeurs autonomes BME P58 ............................................................................ 9


1.1.1. Bloc de visualisation ............................................................................................................ 11
1.2. Processeurs redondants BME H58 ........................................................................ 12
1.3. Processeurs de sécurité BME P58●040S ............................................................. 13
1.4. Modules de communication compatibles M580 uniquement ..................... 15
1.4.1. Module maître CANOPEN BME CXM 0100 ................................................................. 15
1.4.2. Module PROFIBUS DP maître PME PXM 0100 .......................................................... 16
1.4.3. Modules divers ...................................................................................................................... 17

2. STRUCTURATION DU PROGRAMME................................................................................. 19

2.1. Le cycle automate ........................................................................................................ 19


2.2. Taches.............................................................................................................................. 21
2.2.1. Tâche principale MAST....................................................................................................... 21
2.2.2. Tâche rapide FAST ............................................................................................................... 23
2.2.3. Tâches événementielles ..................................................................................................... 23
2.2.4. Structuration Multi Tâches ............................................................................................... 27

3. LES VARIABLES ........................................................................................................................ 29

3.1. Structuration des données ....................................................................................... 29


3.2. Types de variables ...................................................................................................... 30
3.2.1. Types de données élémentaires EDT ............................................................................ 30
3.2.2. Types de données dérivées DDT..................................................................................... 41
3.2.3. Types de données dérivées d’E/S IODDT .................................................................... 51
3.2.4. Types de données dérivées d’Équipement DDDT .................................................... 65
3.3. Espace mémoire des variables localisées ........................................................... 68

4. LES LANGAGES DE PROGRAMMATION ............................................................................ 70

4.1. Langage FBD .................................................................................................................. 72


4.1.1. Création d’une section FBD .............................................................................................. 73
4.1.2. Composition d'une section FBD ...................................................................................... 74
Sommaire

4.1.3. La barre d'outils FBD........................................................................................................... 75


4.1.4. Les fonctions en FBD ........................................................................................................... 76
4.1.5. Les liaisons .............................................................................................................................. 77
4.1.6. Négation de broche .............................................................................................................. 79
4.1.7. Appel d’un sous-programme ............................................................................................ 79
4.1.8. Sauts........................................................................................................................................... 80
4.1.9. Ordre de scrutation .............................................................................................................. 81
4.1.10. La condition d’exécution d’un bloc ............................................................................ 83
4.1.11. Commentaires .................................................................................................................... 83
4.1.12. Outils...................................................................................................................................... 84
4.1.13. Affectation des variables................................................................................................ 91
4.2. Langage ST ..................................................................................................................... 93
4.2.1. Création d’une section ST .................................................................................................. 94
4.2.2. Composition d'une section ST ......................................................................................... 95
4.2.3. La barre d'outils ST .............................................................................................................. 96
4.2.4. Les instructions ..................................................................................................................... 97
4.2.5. Les commentaires ................................................................................................................ 98
4.2.6. Les étiquettes ......................................................................................................................... 98
4.2.7. Les opérateurs ....................................................................................................................... 99
4.2.8. Les fonctions .........................................................................................................................101
4.2.9. Les sous programmes .......................................................................................................105
4.2.10. Actions conditionnelles ................................................................................................106

5. LES FONCTIONS .....................................................................................................................112

5.1. Fonctions élémentaires EF .....................................................................................112


5.1.1. Sélection d’une fonction élémentaire (EF) ...............................................................113
5.2. Blocs fonctions élémentaires EFB .......................................................................116
5.2.1. Sélection d’un bloc fonction élémentaire (EFB) .....................................................117
5.2.2. Utilisation de la sortie d’un bloc fonction élémentaire EFB dans le
programme ...........................................................................................................................................120
5.2.3. Gérer une instance .............................................................................................................121
5.2.4. Renommer une instance ..................................................................................................122
5.3. Blocs fonctions dérivés DFB ..................................................................................123
5.3.1. Présentation d’un bloc DFB ............................................................................................124
5.3.2. Mise en œuvre d’un bloc DFB ........................................................................................125
Sommaire

5.3.3. Protection d’un bloc fonction dérivé DFB .................................................................132


5.3.4. Mise en bibliothèque d’un bloc fonction dérivé DFB ............................................134

6. OUTILS DE DIAGNOSTIC .....................................................................................................136

6.1. Animation d’un programme FBD .........................................................................136


6.2. Animation d’un programme ST ............................................................................137
6.3. Point d’arrêt ................................................................................................................138
6.4. Pas à pas........................................................................................................................140
6.5. Point de visualisation ..............................................................................................143
6.6. Écrans de diagnostique ...........................................................................................145
6.7. Écran de l’automate ..................................................................................................148
6.8. Viewer de diagnostic ................................................................................................150
6.9. Simulation ....................................................................................................................154
6.10. Mise au point SFC : Commandes de l’animation .............................................158

7. COMPLEMENTS......................................................................................................................160

7.1. Analogique ...................................................................................................................160


7.1.1. Définition ...............................................................................................................................160
7.1.2. Chaine d’acquisition analogique ...................................................................................161
7.1.3. Chaine d’action analogique .............................................................................................161
7.1.4. Câblage de module analogique ......................................................................................162
7.1.5. Calibrage et mise à l’échelle d’une entrée analogique..........................................163
7.1.6. Mise à l’échelle d’une sortie analogique ....................................................................165
7.1.7. Configuration de la carte analogique ..........................................................................166
7.1.8. Programmation de la mise à l’échelle de l’entrée ..................................................173
7.1.9. Programmation de la mise à l’échelle de la sortie .................................................175
7.1.10. Diagnostic d’une carte analogique ...........................................................................176
7.2. Services .........................................................................................................................177
7.2.1. I/O Scanning .........................................................................................................................177
7.2.2. Global Data ............................................................................................................................196
7.2.3. Read/Write var ....................................................................................................................201
7.3. Carte SD .........................................................................................................................207
7.3.1. Mise à jour à distance ........................................................................................................207
Sommaire

7.3.2. Relation RAM et carte SD .................................................................................................207


7.3.3. Coupure secteur ..................................................................................................................208
7.3.4. Gestion contenu RAM et carte SD .................................................................................208
7.4. Bilan mémoire ............................................................................................................209
7.5. Les reprises secteur ..................................................................................................210
7.6. Options du projet.......................................................................................................212
7.7. Protection de section ...............................................................................................215
7.8. Importer / Exporter .................................................................................................218
7.9. OS Loader .....................................................................................................................219
7.10. Logiciel Unity Loader ...............................................................................................223
7.10.1. Transfert de projet .........................................................................................................223
7.10.2. Transfert de firmware ..................................................................................................224
7.11. Ajout d’un fichier EDS ..............................................................................................225

8. ECRANS D’EXPLOITATION .................................................................................................228

8.1. Ajout d’un écran d’exploitation ............................................................................228


8.2. La barre d’outils .........................................................................................................230
8.3. Présentation des objets ...........................................................................................231
8.3.1. Objets simple ........................................................................................................................231
8.3.2. Objets de pilotage ...............................................................................................................240
8.3.3. Objets composés .................................................................................................................243
8.3.4. Animer un écran d’exploitation ....................................................................................244
8.4. Bibliothèque des écrans d’exploitation .............................................................245

9. VARIABLES SYSTÈME ..........................................................................................................246

9.1. Bits système %S0 à %S7 .........................................................................................246


9.2. Bits système %S9 à %S13 .......................................................................................246
9.3. Bits système %S15 à %S21 ....................................................................................247
9.4. Bits système %S30 à %S59 ....................................................................................248
9.5. Bits système %S62 à %S79 ....................................................................................249
9.6. Bits système %S80 à %S97 ....................................................................................250
Sommaire

9.7. Bits système %S100 à %S124 ...............................................................................250


9.8. Mots système %SW0 à %SW11 ............................................................................252
9.9. Mots système %SW12 à %SW29 ..........................................................................253
9.10. Mots système %SW30 à %SW47 ..........................................................................254
9.11. Mots système %SW48 à %SW69 ..........................................................................254
9.12. Mots système %SW70 à %SW99 ..........................................................................255
9.13. Mots système %SW100 à %SW117 .....................................................................257
9.14. Mots système %SW124 à %SW127 .....................................................................258
9.15. Mots système %SW138 à %SW163 pour M340 ..............................................259
9.16. Mots système %SW128 à %SW141 pour M580 ..............................................260
9.17. Mots système %SW185 à %SW640 pour M580 ..............................................262

10. NOTES .......................................................................................................................................266


MODICOM M580
Processeurs autonomes BME P58

1. MODICOM M580
Les Modicon M580 (automates programmables Ethernet) offrent efficacité, résilience,
cybersécurité renforcée et sécurité pour les opérations automatisées.
Ils sont conçus sur la base d’un réseau principal Ethernet pour optimiser la connectivité et la
transparence des données. Ils prennent en charge les modules d’entrées/sorties Modicon X80
communs aux Modicon M340, qui peuvent être facilement intégrés dans leur architecture.
Ces puissants processeurs offrent des niveaux élevés de calcul pour des communications en
réseau complexes, la concentration de données et les applications de contrôle.

◼ Programmable avec le logiciel EcoStruxure Control Expert

◼ Composants :

8
MODICOM M580
Processeurs autonomes BME P58
1.1.PROCESSEURS AUTONOMES BME P58
Le processeur autonome BME P58 est un processeur d'automatisme modulaire qui occupe
physiquement deux emplacements de module sur un fond de panier.
Les processeurs peuvent être installés sur les racks Ethernet + bus X BME XBP et sur les
racks bus X BMX XBP.
Les neuf processeurs de cette gamme ont différentes capacités de mémoire, vitesses de
traitement, fonctions intégrées du port Ethernet, ainsi qu'un nombre variable
d’entrées/sorties et de racks locaux supportés.

1 Un bloc de visualisation avec 8 voyants pouvant se combiner pour un diagnostic rapide de


l’état du processeur :
Voyant RUN (vert) : processeur en fonctionnement (exécution du programme)
Voyant ERR (rouge) : erreur processeur ou système détectée
Voyant I/O (rouge) : erreur module E/S détectée
Voyant DL (vert) : téléchargement du firmware en cours
Voyant BACKUP (rouge) : indique l’état de la mémoire de sauvegarde (interne ou carte)
Voyant ETH MS (bicolore vert/rouge) : indique l’état de configuration du port Ethernet
Voyant ETH NS (bicolore vert/rouge) : indique l’état de connexion du port Ethernet
FORCED I/O (bicolore vert/rouge) : état des E/S forcées par le processeur.

2 Un port USB mini-B pour le raccordement à une console de programmation.


3 Un port RJ45 Ethernet de Service qui permet le diagnostic des ports Ethernet et fournit un
accès aux outils externes, périphériques et périphériques E/S distribuées.
4 Les processeurs BME P58pp20 ont des doubles ports RJ45 Ethernet pour la connexion aux
équipements distribués (DIO) et les processeurs BME P58pp40 ont des doubles ports RJ45
Ethernet pour la connexion aux stations E/S distantes (EIO) et aux équipements distribués (via
les DRS) .
5 Un emplacement équipé d’une carte mémoire SD optionnelle pour le stockage
d’applications et de données (un voyant, situé derrière le capot de protection, indique l’accès
à la carte mémoire).

9
MODICOM M580
Processeurs autonomes BME P58
6 Un numéro de série, une version de produit et une adresse MAC imprimés en face avant du
processeur.
7 Deux crochets et deux vis pour la fixation mécanique et la mise à la masse avec le fond de
panier.
8 Deux connecteurs pour la connexion électrique à un fond de panier M580 (bus X uniquement
ou fond de panier Ethernet).

10
MODICOM M580
Processeurs autonomes BME P58
1.1.1.BLOC DE VISUALISATION

Chaque voyant en face avant du processeur a une fonction dédiée

Les différentes combinaisons de voyant donnent des informations de diagnostic et de


dépannage sans que l’on soit connecté au processeur.

LED Fonction
RUN Etat de fonctionnement du processeur
ERR Défaut processeur or système détecté
I/O Défaut de modules d’E/S détecté
DL Firmware en cours de chargement
Défaut de carte mémoire ou de cohérence de
BACKUP
l’application sauvegardée détecté
Etat de la configuration du port Ethernet (Module
ETH MS MOD STATUS
Status)
ETH NS NET STATUS Etat de la connexion Ethernet (Network Status)

11
MODICOM M580
Processeurs redondants BME H58
1.2.PROCESSEURS REDONDANTS BME H58

Les processeurs redondants BME H58 sont dédiés aux architectures à haute disponibilité
et occupent physiquement deux emplacements de module sur un fond de panier.
Les processeurs BME H58 peuvent être installés sur les racks Ethernet + bus X BME XBP,
sur les racks bus X BMX XBP et sur les racks à double alimentation BME XBP0602/1002 (ce
qui permet l'utilisation d’alimentations redondantes BMX CPS4002p).

1 Un bloc de visualisation comprenant 13 voyants qui


permettent un diagnostic rapide du processeur :
Voyant RUN (vert) ; Voyant ERR (rouge) ; voyant I/O
(rouge) ; Voyant DL (vert) ; Voyant REMOTE (vert) ; Voyant
BACKUP (rouge) ; Voyant ETH MS (bicolore vert/rouge) ;
Voyant ETH NS (bicolore vert/rouge) ; A (vert) ; B (vert) ;
PRIM (vert) ; STBY (vert) ; FORCED I/O (rouge)
2 Un port USB mini-B pour le raccordement à une console
de programmation.
3 Un port RJ45 Ethernet qui permet le diagnostic des ports
Ethernet et fournit un accès aux outils externes,
périphériques et périphériques E/S distribuées.
4 Les processeurs BMEH58pp40 ont des doubles ports RJ45
Ethernet pour la connexion aux stations E/S distantes (EIO)
et aux équipements distribués.
5 Un emplacement équipé d’une carte mémoire SD
optionnelle pour le stockage d’applications et de données
(un voyant, situé derrière le capot de protection, indique
l’accès à la carte mémoire ; le capot de protection peut être
verrouillé pour empêcher le vol de la carte SD).
6 Un numéro de série, une version de produit et une
adresse MAC imprimés en face avant du processeur.
7 Deux crochets et deux vis pour la fixation mécanique et la
mise à la masse avec le fond de panier.
8 Deux connecteurs pour la connexion électrique à un fond
de panier M580 (bus X uniquement ou fond de panier
Ethernet).
9 Un emplacement pour prise SFP acceptant une connexion
de liaison Hot Standby cuivre ou fibre optique.
10 Un câble de liaison pour communication Hot Standby
(cuivre ou fibre optique selon le type de prise SFP).
11 Un voyant indiquant l’état de la liaison Hot Standby.
12 Commutateur rotatif pour identification du processeur

12
MODICOM M580
Processeurs de sécurité BME P58●040S

1.3.PROCESSEURS DE SECURITE BME P58●040S


Les processeurs de sécurité BME P58●040S autonomes et redondants sont une extension de
la gamme de processeurs standards. Ils présentent les mêmes caractéristiques et
performances que les processeurs standards leur correspondant respectivement, mais ils
permettent d’intégrer des fonctions supplémentaires relativement à la sécurité pour les
processus, les machines et le rail, ce qui rend les processeurs de sécurité équipés de modules
E/S de sécurité conformes à :
- jusqu’au niveau d’intégrité de sécurité 3 (SIL3) pour la sécurité des process industriels
relativement à la norme IEC 61508/IEC 61511.
- jusqu’à la catégorie 4, niveau de performance «e» (Cat.4/PLe) pour la sécurité des machines,
relativement à la norme ISO13849
- jusqu’à SILCL3 pour la sécurité des machines, relativement à la norme IEC62061
- jusqu’à SIL4 pour la sécurité du rail relativement aux normes EN50126/EN50128/ EN50129.
Les processeurs de sécurité, basés sur la sécurité commune, sont capables de gérer aussi bien
des modules E/S de sécurité pour les fonctions de sécurité décrites dans la logique de sécurité
que des modules E/S X80 non interférents pour les fonctions non liées à la sécurité. Les
processeurs de sécurité peuvent communiquer par le biais de messages de sécurité via
Ethernet.
Les principales différences entre processeurs de sécurité autonomes et redondants sont les
suivantes :
- Les processeurs de sécurité autonomes intègrent le protocole de communication CIP Safety
permettant l’ouverture à des équipements de sécurité tiers
Les processeurs de sécurité redondants BMEH58●040S sont spécifiquement conçus pour la
sécurité et les processus critiques des architectures à haute disponibilité

13
MODICOM M580
Processeurs de sécurité BME P58●040S
1 Les processeurs BME P58p040S comprennent les
éléments suivants :
Bloc de visualisation comprenant 8 voyants qui
permettent un diagnostic rapide du processeur :
Voyant RUN (vert) : processeur en fonctionnement
(exécution du programme)
Voyant ERR (rouge) ; I/O (rouge) ; DL (vert) ; BACKUP
(rouge) ; ETH MS (bicolore vert/rouge) ; ETH NS
(bicolore vert/rouge) ; FORCED I/O (bicolore
vert/rouge) :
2 Port USB mini-B pour le raccordement à une console
de programmation.
3 Port RJ45 Ethernet qui permet le diagnostic des ports
Ethernet et fournit un accès aux outils internes,
périphériques et périphériques d’entrées/sorties
distribués.
4 Doubles ports RJ45 Ethernet pour la connexion aux
stations d’entrées/sorties distantes (EIO) et aux
équipements distribués (via les DRS)
5 Emplacement pour carte mémoire SD optionnelle
dédiée au stockage d’applications et de données : un
voyant, situé derrière le capot de protection, signale
tout accès à la carte mémoire .
6 Numéro de série, version du produit et adresse MAC
imprimés en face avant.
7 Deux crochets et deux vis pour la fixation mécanique
et la mise à la terre avec le fond de panier.
8 Deux connecteurs pour la connexion électrique à un
fond de panier M580 (fond de panier bus X + Ethernet).
9 QR code pour accéder à la fiche technique produit.
BMEP58CPROS3 inclut les éléments suivants :
10 Bloc de visualisation comprenant 2 voyants qui
permettent un diagnostic rapide du processeur :
Voyant ERR (rouge) : erreur détectée au niveau du
coprocesseur ou du système
Voyant DL (vert) : téléchargement du firmware en
cours.
11 Numéro de série et version du produit imprimés en
face avant.
12 Deux crochets et deux vis pour la fixation
mécanique et la mise à la terre avec le fond de panier.
13 Deux connecteurs pour la connexion électrique à un
fond de panier M580 (fond de panier bus X + Ethernet).

14
MODICOM M580
Modules de communication compatibles M580 uniquement
1.4.MODULES DE COMMUNICATION COMPATIBLES M580 UNIQUEMENT

1.4.1.MODULE MAÎTRE CANOPEN BME CXM 0100


Les modules maîtres CANopen X80 BME CXM 0100 permettent d'accéder au bus
CANopen sur un automate M580.

15
MODICOM M580
Modules de communication compatibles M580 uniquement
1.4.2.MODULE PROFIBUS DP MAÎTRE PME PXM 0100

Le PXM permet à l'utilisateur d'intégrer des dispositifs esclaves PROFIBUS DP dans le


système de contrôle M580. Cela permettra au système de contrôle M580 d'échanger
des données de processus, d'alarme et de diagnostic avec des appareils PROFIBUS DP,
ainsi que de fournir le paramétrage et la gestion des actifs des appareils esclaves à
l'aide de gestionnaires de types d'appareils (DTM).

16
MODICOM M580
Modules de communication compatibles M580 uniquement
1.4.3.MODULES DIVERS

MODULE RÉSEAU ETHERNET/IP ET MODBUS/TCP


SWITCH ETHERNET INTÉGRÉ
BME NOC 0301
BME NOS 0300
- Port de service
- Port de service
- Anneau DIO
- Anneau DIO ou Anneau RIO
- Serveur Web Utilisateur (0311)

NOC CONTROL
FACTORYCAST ETH MODULE
BME NOC 0321
BME NOC 0311
- Routeur
- Port de service
- Port de service
- Anneau DIO
- Anneau DIO
- Serveur Web Utilisateur (0311)
- Serveur Web utilisateur

17
MODICOM M580
Modules de communication compatibles M580 uniquement
COUPLEUR DE COMMUNICATION
GLOBAL DATA MODULE
ETHERNET M580 AU PROTOCOLE IEC 61850
BMX NGD 0100
BME NOP 0300
- Global Data
- IEC 61850 (distribution électrique)

MODULE DE COMMUNICATION OPC UA MODULE COUPLEUR RTU ÉVOLUÉ SUR ETHERNET


BME NUA 0100 - 1 PORT SÉRIE BME NOR 2200H

18
STRUCTURATION DU PROGRAMME
Le cycle automate
2. STRUCTURATION DU PROGRAMME

2.1.LE CYCLE AUTOMATE

◼ Cycle cyclique :

Le temps de réalisation des trois phases est fonction de la taille du programme et de la


quantité de variables.

19
STRUCTURATION DU PROGRAMME
Le cycle automate
◼ Cycle périodique :

Le temps de réalisation des trois phases est déterminé, 100ms est un temps standard.
Le cycle se relance donc à intervalle régulier.

20
STRUCTURATION DU PROGRAMME
Taches
2.2.TACHES
Une tâche se définit comme un élément de commande d’exécution, capable de lancer, soit
de façon cyclique, soit de façon périodique, soit lors du front montant d’une variable ou
expression logique, l’exécution d’un ensemble d’unités d’organisation de programme
(sous programmes, blocs fonctions).

2.2.1.TÂCHE PRINCIPALE MAST

La Tâche MAST est la Tâche par défaut et est obligatoire.

Elle est constituée de logique (sections) et de sous programmes.

Elle peut être programmée dans différents langages : IL, ST, LD, FBD, SFC.

Elle peut être exécutée de manière cyclique (durée liée au programme) ou de manière
périodique (1ms à 255ms à configurer).

Enfin, elle est contrôlée par un chien de garde, des bits et des mots systèmes.

21
STRUCTURATION DU PROGRAMME
Taches
◼ Accès aux propriétés de la tâche MAST. Clic droit sur MAST puis Caractéristiques.

Durée de la période
si périodique

Exécution cyclique
ou périodique

◼ Le chien de garde.
La période de l’exécution de la tâche MAST, en fonctionnement cyclique ou périodique est
contrôlée par l’automate et ne doit pas excéder la valeur définie dans a configuration.
C’est le chien de garde.
Si le dépassement du chien de garde se produit, le programme est déclaré en erreur, ce
qui entraîne l’arrêt immédiat de la CPU.

La variable système %S11 Watchdog passe à 1 lorsque le temps d’exécution maximal d’une
tâche est dépassé.

22
STRUCTURATION DU PROGRAMME
Taches
2.2.2.TÂCHE RAPIDE FAST

La Tâche rapide FAST est la Tâche non obligatoire.


Elle est constituée de logique (sections) et de sous programmes.

Elle peut être programmée dans différents langages : IL, ST, LD, FBD, SFC.
Elle est exécutée de manière cyclique manière périodique (1ms à 255ms à configurer).
Enfin, elle est contrôlée par un chien de garde, des bits et des mots systèmes.

Attention, plus la période de la tâche FAST est petite, plus le temps d’exécution de la
tâche MAST augmente et peut alors atteindre la valeur définie dans le chien de garde.

2.2.3.TÂCHES ÉVÉNEMENTIELLES

Les Tâches événementielles sont des Tâches non obligatoires.


Elles sont utilisées pour optimiser la réactivité du programme face à des événements
générés par des modules d’entrées/sorties (EVTi) ou des temporisateurs d’événements
(TIMERi),
Elles sont constituées d’une seule section programmée dans différents langages : IL,
ST, LD et FBD.

23
STRUCTURATION DU PROGRAMME
Taches
◼ Création d’un tâche via un clic droit puis Nouvelle tâche ou Nouvel Evènement :

La variable système %S19 Overrun passe à 1 lorsque le temps d’exécution d’une tâche
périodique est dépassé.

24
STRUCTURATION DU PROGRAMME
Taches
2.2.3.1.Tache évènementielle E/S
Le traitement de l’événement est utilisé pour réduire le temps de réponse du
programme aux événements pouvant provenir de modules d’entrées/sorties.
Tous les modules ne présentent pas cette fonctionnalité.

◼ Exemple d’un codeur raccordé sur une carte de comptage rapide :

Affectation Activation de l’événement


des entrées 0 quand la valeur de
du codeur à comptage deviendra
la tache FAST supérieure à la
présélection
Il faut alors créer une tache évènementielle d’E/S Evt0 dans le langage désiré.

25
STRUCTURATION DU PROGRAMME
Taches
2.2.3.2.Tache évènementielle TIMER
Ces événements sont gérés de manière périodique et entièrement déclenchés par
le programme automate et non plus par une carte d’entrées-sorties

◼ Il faut en 1er créer l’événement TIMER depuis le navigateur du projet.

◼ Renseigner les paramètres de la tâche.

▪ Base de temps (1ms, 10ms, 100ms ou 1s) : Base de temps du temporisateur.


LA base de temps de 1ms est à utiliser avec précaution car il y a un risque
d’Overrun si la fréquence de déclenchement est trop importante

▪ Présélection (1…1023) : Valeur de présélection du temporisateur. La


temporisation élaborée vaut : Présélection x Base de temps

▪ Phase (0…1023) : Valeur de décalage temporel entre la transition STOP/RUN


de l’automate et le 1er redémarrage à 0 du temporisateur. La valeur
temporelle est égale : Phase x Base de temps

La section événement Timer0 sera scruté à chaque fois que la durée sélectionnée
dans la configuration sera écoulée. Le déclenchement de la temporisation
s’effectue par un bloc système ITCNTRL qu’il faut insérer dans une section de la
tache MAST ou FAST.

26
STRUCTURATION DU PROGRAMME
Taches
2.2.4.STRUCTURATION MULTI TÂCHES

L’ordre de traitement des sections de programme en fonction des différentes taches


est indiqué ci-dessous :

◼ Exemple avec une tâche MAST cyclique et une tâche FAST à 5 ms :

◼ Exemple avec une tâche MAST cyclique et une tâche FAST à 20 ms et une tache
événementielle :

On peut voir que le traitement le plus prioritaire est le traitement événementiel, le


programme est dérouté pour traiter cette tâche.

Il faut éviter dans les sections associées aux taches FAST et EVT de placer trop de lignes de
programme car cela sera au détriment du programme principal MAST.

Le temps d’exécution de la tâche MAST peut alors atteindre la valeur définie dans le chien
de garde.

27
STRUCTURATION DU PROGRAMME
Taches
Chaque tâche assure l’écriture et la lecture des entrées/sorties qui lui sont affectées.

L’association d’une voie, d’un groupe de voies ou d’un module d’entrées/sorties à une
tache est définie dans l’écran de configuration du module correspondant.

La tache associée par défaut est la tache MAST.

Dans l’exemple ci-dessus de configuration d’une carte DDI3202K (32 entrées), on peut
affecter par groupe de 8 entrées (4 voies) soit à la tâche MAST ou FAST.

28
LES VARIABLES
Structuration des données
3. LES VARIABLES

3.1.STRUCTURATION DES DONNÉES

Une variable permet d'identifier des objets de données et son contenu et est défini par :
◼ Son Nom (32 caractères maxi)
◼ Son Type
◼ Son Adresse ou repère (non obligatoire)
◼ Un alias (non obligatoire)
◼ Sa Valeur Initiale (non obligatoire)
◼ Son commentaire (non obligatoire)
Exemples :

Variable non localisée


(sans adresse)

Variable localisée
(avec adresse)

◼ Les variables peuvent être localisées ou non localisées :


Une variable localisée est une variable qui est liée à un module d’entrée sorties ou module
métier ou associée à une zone mémoire spécifique et donc a une adresse dite topologique.

Une variable non localisée est une variable qui n’est liée à aucun module ou zone
mémoire. Une variable qui n’a pas d’adresse est dite non localisée.

29
LES VARIABLES
Types de variables
3.2.TYPES DE VARIABLES
Il existe 4 types de variables :
◼ Les variables élémentaire EDT
◼ Les variables dérivées DDT
◼ Les variables dérivées d’E/S IODDT
◼ Les variables dérivées d’équipement DDT d’équipement (M580)

3.2.1.TYPES DE DONNÉES ÉLÉMENTAIRES EDT

Le type de données élémentaire EDT (Elementary Data Type) est utilisé


pour une variable associée à un seul élément. Ces types sont prédéfinis
par la norme IEC 1131-3 tel que le format Binaire, BCD, Chaîne de bits,
Chaîne de caractères ou Réel.

3.2.1.1.Type Booléen

Il existe 2 types booléen, le BOOL et le EBOOL.

Le type BOOL, abréviation du type booléen, contient uniquement la valeur FALSE (=0)
ou TRUE (=1). Il s'agit de l'élément de données de base en informatique.
Un bit extrait de mot est de type BOOL, par exemple : %MW10.4

Le type EBOOL, abréviation du type Extended BOOLean (booléen étendu), contient la


valeur FALSE (=0) ou TRUE (=1) mais aussi des informations concernant la gestion des
front montants ou descendant ainsi que le forçage. Par exemple, une entrée TOR est
de type EBOOL.

Une variable de type EBOOL occupe un octet de mémoire.


L'octet se compose comme suit :
◼ un bit pour la valeur ;
◼ un bit pour le bit d'historique (chaque fois que l'objet d'état change, la valeur
est copiée dans le bit d'historique),
◼ un bit pour le forçage (égal à 0 si l'objet n'est pas forcé, égal à 1 si le bit est
forcé).
La valeur par défaut de chaque bit est 0 (FALSE).

30
LES VARIABLES
Types de variables
3.2.1.2.Type Entier simple et double (INT/DINT/UINT/UDINT)

Il existe 4 types de nombre Entier qui permettent de représenter une valeur dans les
différentes bases.
◼ INT : Entier Signé
◼ UINT : Entier non Signé
◼ DINT : Entier Double Signé
◼ UDINT : Entier Double non Signé
INT est l'abréviation du format Single INTeger (entier simple) et est codé sur 16
bits).
Les butées inférieure et supérieure sont les suivantes :

UINT est l'abréviation du format Unsigned INTeger (entier non signé) et est codé
sur 16 bits).
Les butées inférieure et supérieure sont les suivantes :

DINT est l'abréviation du format Double INTeger (entier double) et est codé sur 32
bits).
Les butées inférieure et supérieure sont les suivantes :

UDINT est l'abréviation du format Unsigned Double INTeger (entier double non
signé) et est codé sur 32 bits).
Les butées inférieure et supérieure sont les suivantes :

31
LES VARIABLES
Types de variables
3.2.1.3.Type Time (TIME)

Le Type Time est représenté par un type entier double non signé (UDINT).
Il exprime une durée où l’unité de temps est la milliseconde, ce qui représente
approximativement une durée maximum de 49 jours.

Les unités de temps autorisées pour représenter une valeur de type TIME sont le jour
(D), l’heure (H), la minute (M), la seconde (S) et la milliseconde (MS).

Une valeur littérale du type TIME est déterminée par la lettre "T" ou "TIME" et le signe
"#".

3.2.1.4.Type Date (DATE)

Le type Date est codé sur un format de 32 bits et contient les informations suivantes :
◼ L’année codée sur 16 bits (4 quartets de poids forts)
◼ Le mois codé sur 8 bits (2 quartets)
◼ Le jour codé sur 8 bits (2 quartets de poids faibles)
Le format de saisie du type DATE est : D#AAAA-MM-JJ

Exemple : 22 Mars 2003

Et donc D#2003-03-22 ou D#2003-3-22

32
LES VARIABLES
Types de variables
3.2.1.5.Type Time Of Day (TOD)
Le type Time Of Day est codé sur un format de 32 bits et contient les informations
suivantes :
◼ L’heure est codée sur 8 bits (2 quartets de poids forts)
◼ Les minutes sont codées sur 8 bits (2 quartets)
◼ Les secondes sont codées sur 8 bits (2 quartets)
Le format de saisie du type TOD est : TOD#HH:MM:SS

Exemple : 10 Heure 57 minutes et 5 secondes

Et donc TOD#10:57:05 ou TOD#10:57:5

3.2.1.6.Type Date et Temps (DT)


Le type Date et Temps est codé sur un format de 64 bits et contient les informations
suivantes :
◼ L’année codée sur 16 bits (4 quartets de poids forts)
◼ Le mois codé sur 8 bits (2 quartets)
◼ Le jour codé sur 8 bits (2 quartets de poids faibles)
◼ L’heure est codée sur 8 bits (2 quartets)
◼ Les minutes sont codées sur 8 bits (2 quartets)
◼ Les secondes sont codées sur 8 bits (2 quartets)
Le format de saisie du type DT est : DT#AAAA-MM-JJ-HH:MM:SS

Exemple : 22 Mars 2003 à 10 Heure 57 minutes et 5 secondes

Et donc DT#2003-03-22-10:57:05

33
LES VARIABLES
Types de variables
3.2.1.7.Type Chaîne de bits (BYTE/WORD/DWORD)

Ce format, surtout utilisé pour la concaténation de bits, est composé de 3 types :


◼ Le Byte
◼ Le Word
◼ Le DWord
La particularité de ce format est que l’ensemble des bits qui le compose ne représente
pas une valeur numérique mais une combinaison de bits séparés.
Très utilisé pour stocker des grandeurs de type BCD.

Lorsque 8 bits sont regroupés, on parle alors de BYTE (octet). Le type BYTE est codé sur
un format 8 bits qui, au format hexadécimal, va de 16#00 à 16#FF.

Lorsque 16 bits sont regroupés, on parle alors de WORD (mot). Le type WORD est codé
sur un format 16 bits qui, au format hexadécimal, va de 16#00 à 16#FFFF.

Lorsque 32 bits sont regroupés, on parle alors de DWORD (double mot). Le type
DWORD est codé sur un format 32 bits qui, au format hexadécimal, va de 16#00 à
16#FFFF.

34
LES VARIABLES
Types de variables
3.2.1.8.Type chaîne de caractères (STRING)

Le format chaîne de caractères STRING permet de représenter une chaîne de


caractères ASCII.
Chaque caractère est codé sur un format de 8 bits.
Les caractéristiques du type chaîne de caractères sont les suivantes:
◼ 16 caractères par défaut dans la chaîne (caractère fin de chaîne exclu),
◼ une chaîne est composée de caractères ASCII compris entre 16#20 et 16#FF .
◼ la taille maximale d’une chaîne est de 65534 caractères,
◼ la saisie est précédée et terminée par le caractère cote "’" (code ASCII 16#27).
Exemple : String[29] := ‘BOUTON ARRET URGENCE ACTIONNE’

3.2.1.9.Type réel (REAL)

Le format Réel (flottant dans la norme ANSI/IEEE) est codé sur un format de 32 bits ce
qui correspond à des nombres flottants simple précision.

3.2.1.10.Création d’une variable élémentaire EDT

◼ Depuis l’éditeur de données :

35
LES VARIABLES
Types de variables
◼ Nommer la variable et choisir son type (ici Formation de type EBOOL)

◼ Si vous souhaitez localisée cette nouvelle variable, renseigner l’adresse.

36
LES VARIABLES
Types de variables
Une variable peut être crée directement depuis un éditeur de programmation au fur et
à mesure du développement du programme.

Exemple en Ladder, placer un contact, nommer la variable (ici mofif), la variable


n’existant pas, une fenêtre Créer Variable? S’ouvre. Renseigner le type et valider.

La variable modif apparait alors également dans l’éditeur de données.

3.2.1.11.Les tableaux ARRAY

Un tableau ARRAY est un ensemble de données de même type.

Exemple d’un tableau nommé Tableau_int et composé de 8 entiers simple signés INT

37
LES VARIABLES
Types de variables
3.2.1.11.1.Création d’un tableau

◼ Créer une variable (tableau_int ici) dans l’éditeur de données. Choisir le type de
cette variable en fonction du type des variables du tableau que l’on souhaite créer
(INT ici).

◼ Cliquer dans la case du type de la variable et cliquer sur la touche . La fenêtre


suivante apparait.

◼ Cocher alors et choisir la dimension du tableau (ici 8, de 0 à 7) ainsi que


le type de données qu’il contient (ici INT).

38
LES VARIABLES
Types de variables
◼ Valider. Le tableau est alors créé.

Il est également possible de créer des tableaux de plusieurs dimensions.


La syntaxe est : ARRAY[a..b,c..d] of type

Exemple : le tableau2 ci-dessous est un tableau à 2 dimensions pour 7 x 5 INT.

Autre exemple à 4 dimensions :

39
LES VARIABLES
Types de variables
3.2.1.11.2.Utilisation des variables du tableau dans le programme

◼ En langage Ladder par exemple, cliquer sur la patte où l’on souhaite incérer
l’élément du tableau et cliquer sur la touche . La fenêtre suivante apparait.

◼ La fenêtre suivante apparait. Sélectionner la variable et valider par OK.

◼ La variable apparait sous la forme NomTableau[index]

40
LES VARIABLES
Types de variables
3.2.2.TYPES DE DONNÉES DÉRIVÉES DDT

Le type de données dérivée DDT (Derived Data Type) est utilisé pour une variable associée
à plusieurs éléments. Ces types sont réalisés par l’utilisateur tel que des Structures ou des
Tableaux.

3.2.2.1.Type tableau ARRAY

Un tableau ARRAY est un ensemble de données de même type (EDT ou


DDT).

3.2.2.1.1.Création d’un type tableau

◼ Se rendre dans l’onglet Types DDT de l’éditeurs de données

◼ Nommer la type tableau (ici vitesses), choisir le type <Tableau> puis cliquer sur la
touche .

41
LES VARIABLES
Types de variables
◼ Choisir la dimension du tableau (ici 5, de 1 à 5) ainsi que le type de données qu’il
contient (ici INT). Remarque : Le tableau peut être constitué de type structure.

◼ Le type tableau est créé mais doit encore être analysé.

◼ Clic droit sur le type tableau puis Analyser type :


◼ Si aucune erreur n’est détectée, l’icône du tableau change, le tableau est prêt à
être instancié.

◼ On peut voir dans le navigateur du projet le type DDT apparaitre.

42
LES VARIABLES
Types de variables
3.2.2.1.2.Instancier un type tableau

L’onglet types DDT permet la création du type tableau et l’onglet variables va permettre
d’instancier le type tableau.

◼ Créer une variable (convoyeur1 ici) et aller chercher le type tableau créé
précédemment (ici vitesses) :

◼ L’instance de type tableau est créé.

43
LES VARIABLES
Types de variables
3.2.2.2.Type Structure

Une structure Struct est un ensemble de données de


type différent.

Les structures sont très utilisées dans les programmes


d’automatismes

Exemple d’une structure appelé variateur qui regroupera les paramètres suivants :
• 4 entiers UINT (ACC, DEC, LSP, HSP)
• 1 entier INT (LFRD)
• 1 mot WORD (CMD)

◼ Se rendre dans l’onglet Types DDT de l’éditeurs de données

◼ Nommer la structure (ici variateur) et choisir le type <Struct>

◼ Renseigner alors les différentes variables EDT et/ou DDT composant la structure.

44
LES VARIABLES
Types de variables
◼ La structure est créée mais doit encore être analysé.

◼ Clic droit sur la structure puis Analyser type :

◼ Si aucune erreur n’est détectée, l’icône de la structure change, elle est prête à être
instancié.

◼ On peut voir dans le navigateur du projet le type DDT apparaitre.

45
LES VARIABLES
Types de variables
L’onglet types DDT permet la création de la structure et l’onglet variables va permettre
d’instancier la structure.

◼ Créer une variable (variateur1 ici) et aller chercher la structure crée précédemment
(ici variateur) :

◼ L’instance de type structure est créé.

46
LES VARIABLES
Types de variables
3.2.2.3.Utilisation d’une variable DDT dans le programme

◼ Pour utiliser une variable DDT instanciée dans le programme, qu’elle soit de type
tableau ou structure, cliquer sur l’icône .
◼ En langage Ladder par exemple, cliquer sur la patte où l’on souhaite incérer
l’élément du tableau et cliquer sur la touche . La fenêtre suivante apparait.

◼ La fenêtre suivante apparait. Sélectionner la variable et valider par OK.

47
LES VARIABLES
Types de variables
3.2.2.4.Instruction Bit Rank
Plusieurs méthodes existent pour l’utilisation des booléens dans une structure
DDT. :
◼ Soit utiliser les bits d’un entier, mais ils ne comportent pas de mnémoniques
du type NomDDT.Variable.X.
◼ Soit déclarer un booléen directement dans la structure, mais son poids est
d’un byte par booléen.

L’instruction Bit Rank va permettre d’avoir dans une structure des booléens avec
mnémoniques et qui occupent 1 seul bit par booléen.

◼ Créer un type structure DDT (ici Codage_couche). Déclarer ensuite un entier


dans cette structure (ici Prise).

◼ Clic droit sur cet entier et sélectionner Editer Bit Rank.

◼ Définir un mnémonique par booléen. Il n’est pas obligatoire de renseigner


tous les bits.

48
LES VARIABLES
Types de variables
◼ Après validation, les bit apparaissent avec une flèche bleue.

◼ Clic droit sur la structure et Analyser type.

◼ Le type DDT structure composée de booléens est validé, il peut maintenant


être instancié.

49
LES VARIABLES
Types de variables
◼ Exemple d’instance du type DDT structure composée de booléens.

◼ Exemple d’utilisation du bit dans le programme.

50
LES VARIABLES
Types de variables
3.2.3.TYPES DE DONNÉES DÉRIVÉES D’E/S IODDT

Le type de données dérivée d’E/S IODDT (IO Derived Data Type) est utilisé pour une
variable associée à plusieurs éléments d’un module d’Entrées/Sorties ainsi qu’aux modules
métier (comptage) et de communication.

Ces types sont prédéfinis par le constructeur en fonction des modules et des voies.
Ils contiennent des objets langage de la famille EDT appartenant à la voie d’un module
métier.

Chaque module expert de l'application possède ses propres IODDT.

◼ Cliquer sur l’icone pour afficher la fenêtre de Gestion de bibliothèque de type.

◼ Pour visualiser la liste des types de données dérivées d’E/S, choisir Catalogue,
Modicon M340 puis la famille de module.

◼ Dans l’exemple ci-dessous les IODDT des modules analogiques sont affichés.

IODDT associés aux entrées /


sorties analogiques

IODDT associés
au comptage

51
LES VARIABLES
Types de variables
◼ Dans l’exemple ci-dessous les IODDT des modules TOR sont affichés.

◼ Exemples d’instances de type T_DIS_OUT_GEN et T_DIS_IN_GEN qui s’appliquent


aux modules d’entrées/sorties TOR.

C’est le constructeur qui a choisi les mnémoniques des structures et ils sont en anglais.

◼ Principe d’adressage des IODDT :

52
LES VARIABLES
Types de variables
3.2.3.1.Création des IODDT

◼ Depuis les propriétés de la carte, cocher %CH puis appuyer sur la touche Mettre
à jour grille. Il est alors possible d’affecter un nom et un commentaire aux
entrées-sorties de la carte et à l’état du module.

◼ Structures IODDT T_DIS_IN_GEN (Entrées TOR générique)


Voies : Module
Entrées

Structures
Type IODDT

53
LES VARIABLES
Types de variables
◼ Structures IODDT T_DIS_OUT_GEN (Sorties TOR génériques)

Voies : Module
Sorties

Structures
Type IODDT

54
LES VARIABLES
Types de variables
◼ Les modules des automates sont associés à un IODDT de type T_GEN_MOD

55
LES VARIABLES
Types de variables
◼ Structure IODDT T_ANA_IN_BMX (Entrées ANALOGIQUES)

56
LES VARIABLES
Types de variables

Exemple :

57
LES VARIABLES
Types de variables
◼ Structure IODDT T_ANA_OUT_BMX (Sorties ANALOGIQUES)

58
LES VARIABLES
Types de variables

Exemple :

59
LES VARIABLES
Types de variables
3.2.3.2.Utilisation des IODDT dans le programme

◼ Cocher Dans structure et aller chercher la variable dans la structure :

◼ Un clic gauche sur la variable et l’adresse s’affiche dans la barre d’état :

◼ Pour visualiser les données IODDT dans l’éditeur de données, cocher IODDT.

60
LES VARIABLES
Types de variables
3.2.3.3.Échanges implicites et explicites

L’utilisation des structures IODDT de certains modules métiers implique la présence de


variables implicites et de variables explicites.

Les échanges implicites se font à chaque tour de cycle automate. Il n’y a pas besoin
d’instruction spécifique pour aller mettre à jour la variable. C’est le cas par exemple des
entrées et des sorties %I et %Q.

Les échanges explicites ne se font pas à chaque tour de cycle automate. Ce sont des
échanges réalisés à la demande de l’utilisateur du programme à l’aide d’instructions.

◼ Exemple avec la structure IODDT T_ANA_IN_BMX pour les entrées


analogiques :

Echanges implicites

Echanges explicites

61
LES VARIABLES
Types de variables
◼ Objets à échange implicite :

◼ Objets à échange explicites:


Les objets à échange explicites sont de 3 types :
▪ Les paramètres d’état, informations ou défaut tel que défaut bornier, fusible…
▪ Les paramètres de commande tel que réarmement sortie disjonctée…
▪ Les paramètres de réglage tel que valeur de consigne, valeur de seuil…

Les instructions READ_STS (lecture état) permettent la lecture explicite des mots d’état
associés aux modules métier (état du module ou état de la voie).
Exemple : READ_STS (%CH 0.2.0); (* voie 0 de l’emplacement 2)

Les instructions WRITE_CMD (écriture commande) permettent l’écriture implicite des mots
de commande associés aux modules métier (commande du module ou de la voie).

62
LES VARIABLES
Types de variables

Les instructions READ_PARAM (lecture paramètre) permettent la lecture explicite des


paramètres de réglage d’une voie du module métier.
Exemple : READ_PARAM (%CH 0.2.0);

Les instructions WRITE_PARAM (écriture paramètre) permettent l’écriture explicite des


paramètres de réglage d’une voie du module métier.
Exemple : WRITE_PARAM (%CH 0.2.0);

Les instructions SAVE_PARAM (sauvegarde paramètre) permettent la mise à jour de la


zone de sauvegarde à partir de la mémoire du module métier.
Exemple : SAVE_PARAM (%CH 0.2.0);

Les instructions RESTORES_PARAM (restauration paramètre) permettent la mise à jour


des paramètres de réglage dans la mémoire du module métier à partir de la zone de
sauvegarde.
Exemple : RESTORE_PARAM (%CH 0.2.0);

Ce reporter à la documentation de la carte métier pour le détail des différents paramètres.

Remarque :

Les paramètres de réglage et de configuration sont conservés après une reprise à chaud

En cas de reprise à chaud suite au débrochage / rebrochage du module métier, la cpu


envoie les paramètres de configuration puis les valeurs de réglage.

En cas de reprise à froid, les paramètres de réglage courant sont écrasés par les paramètres
de réglage initiaux ou sauvegardés. Les paramètres de configuration sont conservés.

63
LES VARIABLES
Types de variables
◼ Exemple :

64
LES VARIABLES
Types de variables
3.2.4.TYPES DE DONNÉES DÉRIVÉES D’ÉQUIPEMENT DDDT

Le type de données dérivée DDT d’équipement (Device Derived Data Type) correspond à
une structure DDT associée à un équipement crée par défaut lors de l’insertion de
l’équipement.

◼ Exemple : Insertion d’un nouvel équipement BMX DDI 1602.


◼ Bien sélectionner Type de données d’E/S DDT d’équipement et pas topologique.

◼ Dans les propriétés de la carte, l’onglet DDT d’équipement permet de modifier


le nom si besoin.

Nom modifiable

Ouvre l’éditeur de
données

Données DDT
d’équipement de la
carte BMX DDI 1602

65
LES VARIABLES
Types de variables
◼ Toujours dans les propriétés de la carte, cliquer sur Voie 0 pour visualiser toutes
les données DDT de la carte.

◼ Nous retrouvons donc ces données dans l’éditeur de données.

◼ Nous allons maintenant créer des Alias pour lier les variables du programme
aux données DDT d’équipement.

66
LES VARIABLES
Types de variables
◼ Dans l’onglet Variables, cocher EDT et saisir le nom des variables donc on souhaite
créer l’Alias. Choisir le type (EBOOL) et dans la colonne Alias pour aller chercher la
variable DDT d’équipement.

◼ Retourner dans les propriétés de la carte, cliquer sur Voie 0, on peut voir que
les noms des entrées dont l’alias pour a été créé ont changés.

67
LES VARIABLES
Espace mémoire des variables localisées
3.3.ESPACE MÉMOIRE DES VARIABLES LOCALISÉES

◼ %M : 512 bits mémoire


◼ %MW : 1024 mots mémoire
◼ %KW : 256 mots constants
◼ %S : 128 bits système
◼ %SW : 168 mots système
Les octets (8 bits), les mots simples (16 bits), les mots doubles (32 bits) et flottants (32
bits) sont rangés à l’intérieur de l’espace donné dans un même zone mémoire.

Ainsi, il y a recouvrement (chevauchement des zones) entre :


◼ Le mot double %MDi et les mot simples %MWi et %MWi+1
◼ Le mot simple %MWi et les octets %MBj et %MBj+1 avec j=2 x i

L’adressage direct des zones mémoires de type mot double et flottant n’existe pas dans le
M340. Pour les déclarer, il faut donc déclarer une zone de type mot %MW.

68
LES VARIABLES
Espace mémoire des variables localisées
Du fait de l’organisation mémoire du M340, si l’on doit localiser des variables du type :
DINT - UDINT - REAL - TIME - DT - DATE - DWORD – TOD (qui sont codées sur plusieurs
mots), les variables auront toutes forcément une adresse mémoire qui débutera par une
adresse PAIRE.

◼ Exemple de chevauchement:

Recouvrement

69
LES LANGAGES DE PROGRAMMATION
Espace mémoire des variables localisées
4. LES LANGAGES DE PROGRAMMATION
Control Expert propose les langages suivants pour la création du programme utilisateur :
◼ Diagramme fonctionnel en séquence (SFC)

◼ Langage à contacts (LD)

◼ Langage à blocs fonction (FBD)

70
LES LANGAGES DE PROGRAMMATION
Espace mémoire des variables localisées

◼ Littéral structuré (ST)

◼ Liste d'instructions (IL)

Tous ces langages peuvent être utilisés ensemble dans le même projet.
Tous ces langages sont conformes à la norme CEI 61131-3.

71
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.LANGAGE FBD

Le Functional Block Diagram (FBD) est un langage graphique. Il permet la construction de


procédures complexes à partir de fonctions existantes de la librairie standard ou de la
section des fonctions ou des blocs fonctionnels.

Le diagramme FBD décrit une fonction entre des variables d'entrée et des variables de
sortie.

Fonction

Sortie
Entrées
Arc de lien

Une fonction est décrite comme un réseau de blocs élémentaires. Les variables d'entrée
et de sortie sont connectées aux blocs par des arcs de lien.

Une sortie d'un bloc peut aussi être connectée sur une entrée d'un autre bloc.

72
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.1.CRÉATION D’UNE SECTION FBD

◼ Clic doit sur le dossier Logique et sélectionner Nouvelle Section…

◼ Nommer la section, sélectionner le langage de programmation FBD et le type


d’accès.

Une fois la section créée, il


n’est plus possible de Aucun : Lecture et Ecriture
modifier le langage. Lecture seule
Pas de lecture ni d’écriture : Non accessible

73
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.2.COMPOSITION D'UNE SECTION FBD

Une section FBD se compose de :


◼ D'une fenêtre comportant une seule page.
◼ Cette fenêtre comporte (valeurs par défaut, modifiables dans les options du
projet)
◼ 36 Unités de grille horizontalement et 24 Unités verticalement.
◼ Chaque Unité se compose de 100 points de trame qui servent à positionner les
blocs fonctionnels et à déterminer l'ordre d'exécution des blocs

Commentaire

Inversion

Expression
logique ST

Valeur littérale

Adresse
Variables Liaison
E/S EN et ENO

Croisement Valeur littérale

L'ordre d'exécution des blocs qui ne sont pas reliés entre eux par des liaisons est défini par
l'ordre graphique : gauche à droite puis haut vers le bas

L'exécution d'une section a lieu réseau par réseau de gauche à droite puis du haut vers le
bas.

74
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.3.LA BARRE D'OUTILS FBD

Outils

Sélection de données

Assistant de saisie FFB

Navigateur bibliothèque de types

Appel des Sous programmes

Liaison

Négation de broche

Fenêtre d’inspection (en ligne)

Chaînes étendues

Animation des instances de DFB

Sauts

Saut à l’étiquette

Étiquette de saut

Retour

Commentaire

Insérer un commentaire

Afficher/Cacher les commentaires

Barre de favoris

Gestion de la barre d’outils favoris

Gestion affichage graphique

Redimensionner les blocs FBD en fonction de la police

Taille de police

75
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.4.LES FONCTIONS EN FBD

4.1.4.1.Fonction élémentaire

Pas d'état interne.


1 sortie unique, ou 2.
Jusqu'à 32 entrées maximum

Pour le détail des fonctions élémentaires se reporter au chapitre LES FONCTIONS/Fonction


élémentaire.

4.1.4.2.Bloc fonction élémentaire

Des états internes.


32 sorties maximum.
32 entrées maximum

Pour le détail des bloc fonctions élémentaires se reporter au chapitre LES FONCTIONS/Bloc
fonction élémentaire.

76
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.4.3.Bloc fonction dérivé

Des états internes.


32 sorties maximum.
32 entrées maximum.
A réaliser par l'utilisateur

Pour le détail des blocs fonction dérivé se reporter au chapitre LES FONCTIONS/Bloc
fonction dérivé.

4.1.5.LES LIAISONS

Les liaisons sont des liens verticaux et horizontaux entre les blocs.
◼ Les points de liaison sont marqués par un cercle rempli.
◼ Le croisement est représenté par une liaison "interrompue".

Les liaisons peuvent être utilisées pour n'importe quel type de données mais les types
de données respectifs des entrées/sorties à relier doivent correspondre les uns aux
autres. Plusieurs liaisons peuvent être reliées à une sortie. Une seule cependant peut
être reliée à une entrée.

77
LES LANGAGES DE PROGRAMMATION
Langage FBD
Les entrées et sorties peuvent être reliées ensemble. La liaison de plusieurs sorties
n'est pas possible. Cela signifie qu'aucun lien OU via des liaisons n'est possible en
langage FBD. Il faut utiliser une fonction OR dans ce cas.

Le chevauchement des liaisons avec d’autres objets est admis.


Les boucles ne peuvent pas être configurées par le biais de liaisons, étant donné que,
dans ce cas, l’ordre d’exécution dans la section ne peut pas être déterminé clairement.

Afin d'éviter le croisement de liaisons, ces dernières peuvent également être


représentées sous la forme de connecteurs.
A cette occasion, la source et la cible de la liaison sont caractérisées par un nom unique
au sein de la section.

Selon le type d'objet source, le nom du connecteur est formé comme suit :
▪ Pour les fonctions : "numéro de fonction/paramètre formel" de la source de la
liaison.
▪ Pour les blocs fonction : "nom d'instance/paramètre formel" de la source de la
liaison.

78
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.6.NÉGATION DE BROCHE

Les broches (entrées et sorties) du type de données BOOL peuvent être inversées.
Les broches inversées sont identifiées par un symbole en forme de cercle. Les broches
inversées doivent obligatoirement être reliées avec une liaison graphique ou une
variable. Les broches inversées ouvertes ne sont pas autorisées.

FBD Équation logique

OUT = Bp_Bleu OR NOT Bp_noir

4.1.7.APPEL D’UN SOUS-PROGRAMME

Le sous-programme à appeler doit se trouver dans la même tâche que la section FBD à
appeler.
Pour l'appel sans condition du sous-programme, masquer EN et ENO du bloc de sous-
programme ou affecter la valeur 1 à l'entrée EN.
Pour l'appel sous conditions du sous-programme, afficher EN et ENO du bloc de sous-
programme et relier l'entrée EN à une sortie booléenne.

Appel sans
condition

Appel sous
condition

79
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.8.SAUTS

Une étiquette doit être en début de combinatoire.


La longueur maximale d’une étiquette est de 32 caractères.
Une étiquette se termine par “ : “ (placé automatiquement)
Les étiquettes doivent être uniques dans toute la section

Étiquette de saut

Saut à l’étiquette

Un objet ne peux pas être utilisé dans le programme principal.

Dans un bloc de fonction dérivé (DFB), un objet force le retour au programme


qui a appelé le DFB.
Le reste de la section de DFB contenant l'objet RETURN n'est pas exécuté. Les sections
suivantes du DFB ne sont pas exécutées. Le programme qui a appelé le DFB sera
exécuté après retour du DFB. Si le DFB est appelé par un autre DFB, le DFB appelant
sera exécuté après le retour.

Dans un SR, un objet RETURN force le retour au programme qui a appelé le SR.
Le reste du SR contenant l'objet RETURN n'est pas exécuté.
Le programme qui a appelé le SR sera exécuté après retour du SR.

Le reste du DFB contenant l'objet RETURN n'est pas exécuté.


Le programme qui a appelé le SR est exécuté après le retour à partir du SR.

80
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.9.ORDRE DE SCRUTATION

Le numéro d'exécution (numéro figurant dans le coin supérieur droit du cadre de FFB)
indique l'ordre d'exécution.
L'ordre d'exécution des blocs qui ne sont pas reliés entre eux par des liaisons est défini
par l'ordre graphique : gauche à droite puis haut vers le bas

L'exécution d'une section a lieu réseau par réseau de gauche à droite puis du haut vers
le bas.

L'ordre d'exécution des blocs qui sont reliés à différentes sorties du même bloc va du
haut vers le bas.

81
LES LANGAGES DE PROGRAMMATION
Langage FBD
Il est possible de modifier l’ordre d’exécution :

82
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.10.LA CONDITION D’EXÉCUTION D’UN BLOC

Par défaut un bloc fonction n’est pas conditionné, il est exécuté à chaque tour de cycle.

Il est possible de conditionner son exécution. Double cliquer sur le bloc pour afficher
ses propriétés. Cocher alors la case Afficher EN/ENO.

Coder alors les conditions d’exécution de la fonction.

4.1.11.COMMENTAIRES

Il est possible d’ajouter des commentaires via l’icône pour améliorer la


compréhension du programme.

L’icône permet de masquer les commentaires.

83
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.12.OUTILS

FFB est le terme générique pour désigner les fonctions élémentaires (EF), les blocs
fonction élémentaires (EFB) et les blocs fonction dérivés (DFB). (voir chapitre Les
fonctions).

4.1.12.1.Sélection de données

L’icône permet d’afficher la fenêtre de sélection de données

Sélectionnez l'onglet Fonction et types de bloc fonction puis la bibliothèque et la famille


dans la colonne Bibliothèques/Familles contenant le bloc fonction souhaité.
Dans la colonne Nom, sélectionnez le bloc fonction et confirmez la sélection avec OK.

84
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.12.2.Assisant de saisie FFB

◼ L’assisant de saisie FFB s’ouvre en appuyant sur l’icône .

▪ Possibilité d’entrer le type de FFB dans la zone de texte Type FFB.

Zone de Liste
saisie directe Liste des FFB complète
du type FFB déjà utilisées des FFB

Dans la colonne Bibliothèques/Familles sélectionnez la bibliothèque contenant le bloc


fonction. Si vous ne savez pas où trouver un FFB, sélectionnez l'entrée Bibliothèques
pour afficher la liste de tous les FFB disponibles, indépendamment de la bibliothèque.

85
LES LANGAGES DE PROGRAMMATION
Langage FBD
Dans la colonne Nom, taper * pour visualiser tous les blocs fonction ou renseigner le
nom du bloc s’il est connu (TON par exemple) puis valider par OK.

La boîte de dialogue est fermée et l'assistant de saisie FFB est activé.


L'instance de bloc fonction dans la zone de texte Instance est déjà renseignée. Vous
pouvez appliquer le nom proposé ou vous pouvez modifier le nom proposé.

86
LES LANGAGES DE PROGRAMMATION
Langage FBD
Paramètres Type de donnée
formels (entrées, des paramètres Paramètres réels
sorties) associés à formels (entrées, de l’instance de la
l’instance de la sorties) associés à fonction / du bloc
fonction / du bloc l’instance de la fonction
fonction fonction / du bloc
fonction

Commentaires des paramètres Ouvre l’aide de la


formels (entrées, sorties) associés à fonction / du bloc
l’instance de la fonction / du bloc fonction

Assistant détaillé : Certains FFB complexes proposent des fenêtres supplémentaires


pour entrer des paramètres réels. Pour accéder à ces fenêtres, cliquez sur le bouton
Assistant détaillé.
Instance
Type FFB
Paramètres Paramètres
formels d’entrée, formels de sortie,
associés à associés à
l’instance de la l’instance de la
fonction / du bloc fonction / du bloc

Si la valeur de EN est déjà réglé sur 0, lors de l'appel de FFB, les algorithmes définis par
FFB ne sont pas exécutés et ENO est réglé sur 0.
Si la valeur de EN est déjà réglé sur 1, lors de l'appel de FFB, les algorithmes définis par
FFB sont exécutés. Après l'exécution sans erreur de ces algorithmes, la valeur de ENO
est réglée sur 1. Si une erreur se produit durant l’exécution de ces algorithmes, ENO
est réglé sur 0.

87
LES LANGAGES DE PROGRAMMATION
Langage FBD

Ajouter broche : Ce bouton vous permet d'augmenter le nombre d'entrées des


fonctions extensibles (par ex., AND, OR).

Supprimer broche(s) : Cliquez sur ce bouton pour diminuer le nombre d'entrées des
fonctions extensibles (par ex. AND, OR). Pour diminuer le nombre d'entrées,
sélectionnez-la ou les dernières broches de la structure et cliquez sur le bouton
Supprimer broche(s).

Par défaut le logiciel insère 2 bornes d’entrées sur les blocs. Il est bien sûr possible
d’ajouter des bornes d’entrées. Pour cela, sélectionner le bloc, puis pointer la souris
sur le carré noir en bas au centre du bloc et l’étirer vers là-bas

Possibilité d’ajouter ou
de supprimer
directement depuis
l’éditeur en
agrandissant ou
réduisant le bloc

88
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.12.3.Navigateur bibliothèque de types

◼ Le navigateur bibliothèque de types s’affiche en appuyant sur l’icône .

◼ Il est alors possible de déplacer par glisser-déplacer des fonctions et blocs fonction
(FFB) du navigateur bibliothèque de types vers une section de programme.

Sélectionner la
bibliothèque

Sélectionner la
famille

* pour afficher Permet d’afficher/masquer les


tous les blocs types de bloc EF, EFB et DFB

Liste des types de bloc EF, EFB et DFB


de la bibliothèque Base Lib et de la
famille Logic

89
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.12.4.Barre de favoris

La barre de favoris permet à l’utilisateur de disposer de fonctions des fonctions


élémentaires EF, de bloc fonctions élémentaire EFB ou de blocs fonction dérivé DFB
favoris

◼ Appuyer sur l’icône pour afficher la fenêtre de gestion de la barre d’outils


favoris. Possibilité d’ajouter/supprimer voir même d’exporter/importer les favoris.

Exemple :

90
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.13.AFFECTATION DES VARIABLES

◼ Pour affecter les variables à une entrée ou une sortie, faire un double clic sur
l’élément :

Zone de saisie Liste des Liste


directe variables déjà complète des
utilisées variables

4.1.13.1.Réutilisation des variables

Il est autorisé d’utiliser le nom d’instance d’un bloc fonction élémentaire pour accéder
à une variable en sortie.

Le bloc fonction
élémentaire tempo TON
avec comme nom
d’instance tempo1

Test de la sortie Q
du bloc TON
Tempo1.q

91
LES LANGAGES DE PROGRAMMATION
Langage FBD
4.1.13.2.Utilisation d’expression ST

Il est possible d’écrire un test de comparaison ST sur une entrée logique d’un bloc si
l’option est cochée dans les options du projet.

Exemple : nbre_cycle > 5

92
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.LANGAGE ST

Le langage ST (Structured Text) est un langage textuel de haut niveau dédié aux
applications d'automatisation. Ce langage est principalement utilisé pour implémenter des
procédures complexes, difficilement modélisables avec les langages graphiques.

93
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.1.CRÉATION D’UNE SECTION ST

◼ Clic doit sur le dossier Logique et sélectionner Nouvelle Section…

◼ Nommer la section, sélectionner le langage de programmation ST et le type


d’accès.

Une fois la section créée, il


n’est plus possible de Aucun : Lecture et Ecriture
modifier le langage. Lecture seule
Pas de lecture ni d’écriture : Non accessible

94
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.2.COMPOSITION D'UNE SECTION ST

Un programme ST (littéral structuré) comprend une suite d'instructions qui sont


traitées l'une après l'autre par l'automate.
Les listes d’instructions permettent par exemple d’appeler des blocs fonctions, des
fonctions et des procédures de façon conditionnelle ou inconditionnelle, d’exécuter
des affectations, d’exécuter des instructions de façon conditionnelle, de répéter des
instructions et des sauts au sein de la section de façon conditionnelle ou
inconditionnelle.

Les instructions sont composées des éléments suivants : un opérateur, un opérande, le


cas échéant une expression et le cas échéant un commentaire et éventuellement une
étiquette (Label).
Les instructions doivent être terminées par des points-virgules.

Une ligne peut contenir plusieurs instructions (séparées par des points-virgules) et est
limitée à 300 caractères. Un seul point-virgule représente une instruction vide.

Une vérification de la syntaxe et de la sémantique a lieu directement après la saisie des


instructions d'affectation. Le résultat de la vérification est indiqué par différentes
couleurs de texte.
Les sections comportant des erreurs de syntaxe ou de sémantique peuvent également
être enregistrées.

Commentaire

Enoncé ou instruction

Variable

Opérateur
Structure
IF THEN
END IF

95
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.3.LA BARRE D'OUTILS ST

Instructions

Insérer une instruction IF

Insérer une instruction FOR

Insérer une instruction WHILE

Insérer une instruction REPEAT

Insérer une instruction CASE

Outils

Rechercher

Assistant de saisie FFB

Navigateur bibliothèque de types

Insérer un commentaire

Fenêtre d’inspection (en ligne)

Appel des Sous programmes

Passe la sélection en majuscules

Passe la sélection en minuscules

Chaînes étendues (visualisation String de + de 16 caractères)

Animation des instances de DFB

Gestion affichage graphique

Taille de police

96
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.4.LES INSTRUCTIONS

Une instruction est constituée des éléments suivants : un opérateur, un opérande, le


cas échéant une expression et le cas échéant un commentaire et éventuellement une
étiquette (Label) et doit être terminée par un point-virgule.

Expression

Instruction

Opérateur Opérande

◼ Les expressions sont des constructions qui comprennent des opérateurs et des
opérandes qui livrent une valeur lors de leur exécution.
◼ Un opérande peut être une adresse, une étiquette, une variable, une variable
multi-éléments, un élément d’une variable multiéléments.
◼ Un opérateur est un symbole permettant de réaliser une opération arithmétique,
une opération logique, un traitement de fonction (appel).

Une ligne peut contenir plusieurs instructions qui sont séparées par des points-virgules.

Une erreur de programmation est soulignée comme dans la figure ci-dessous :

Passer la souris sur l’erreur permet d’afficher un pop-up qui indique la raison de
l’erreur.

◼ Équivalence des instructions de lecture et d’écriture en ST et Ladder :

97
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.5.LES COMMENTAIRES

Un commentaire commence obligatoirement par (* et doit se terminer par *).

La touche de fonction F8 permet d’insérer rapidement un commentaire.

4.2.6.LES ÉTIQUETTES

Une Étiquette sert de cible à atteindre pour les sauts. L’option doit être cochée dans
les options du projet.

Une Étiquette doit être le 1er élément d’une ligne, uniquement devant les instructions
du premier ordre (pas dans les boucles) et est terminé par deux points ":"

Une Étiquette est unique dans toute la section. On ne fait pas de distinction ici entre
majuscules et minuscules et elle doit contenir 32 caractères maximum.

L’instruction JMP permet le saut au label

98
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.7.LES OPÉRATEURS

Un opérateur est un symbole permettant de réaliser une opération arithmétique, une


opération logique, un traitement de fonction (appel).

Les Opérateurs sont exécutés en fonction de leur rang :

◼ Opérateurs logiques sur bits :

99
LES LANGAGES DE PROGRAMMATION
Langage ST
◼ Opérateurs de comparaison sur mots, doubles mots et réels :

◼ Opérateurs arithmétiques sur mots et doubles mots:

◼ Opérateurs arithmétiques sur réels:

100
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.8.LES FONCTIONS

◼ L’assisant de saisie FFB s’ouvre en appuyant sur l’icône .

◼ Possibilité d’entrer le type de FFB dans la zone de texte Type FFB.

Zone de Liste
saisie directe Liste des FFB complète
du type FFB déjà utilisées des FFB

◼ Dans la colonne Bibliothèques/Familles sélectionnez la bibliothèque contenant le


bloc fonction. Si vous ne savez pas où trouver un FFB, sélectionnez l'entrée
Bibliothèques pour afficher la liste de tous les FFB disponibles, indépendamment
de la bibliothèque.

101
LES LANGAGES DE PROGRAMMATION
Langage ST
◼ Dans la colonne Nom, taper * pour visualiser tous les blocs fonction ou renseigner
le nom du bloc s’il est connu (TON par exemple) puis valider par OK.

◼ La boîte de dialogue est fermée et l'assistant de saisie FFB est activé. L'instance de
bloc fonction dans la zone de texte Instance est déjà renseignée. Vous pouvez
appliquer le nom proposé ou vous pouvez modifier le nom proposé.

102
LES LANGAGES DE PROGRAMMATION
Langage ST
◼ La fonction est insérée dans la section. Toutes les bornes d’entrée et de sorties
sont présentes. Un commentaire indique le type de variable attendu sur chaque
borne. Remplacer alors le commentaire par la variable.

Bornes d’entrée

Bornes de sortie
Instance

◼ Les bornes non utilisées doivent être effacées de la section. Exemple ci-dessous,
seules les bornes IN et PT sont utilisées.

◼ Il est possible d’utiliser l’assisant de saisie FFB pour renseigner les bornes
d’entrée et de sortie.

Commentaires des paramètres Ouvre l’aide de la


formels (entrées, sorties) associés à fonction / du bloc
l’instance de la fonction / du bloc fonction

◼ Ainsi, seules les bornes utilisées sont insérées dans la section.

103
LES LANGAGES DE PROGRAMMATION
Langage ST
Par défaut le logiciel insère 2 bornes d’entrées sur les blocs. Il est bien sûr possible
d’ajouter des bornes d’entrées.

Ajouter broche : Ce bouton vous permet d'augmenter le nombre d'entrées des


fonctions extensibles (par ex., AND, OR).

Supprimer broche(s) : Cliquez sur ce bouton pour diminuer le nombre d'entrées des
fonctions extensibles (par ex. AND, OR). Pour diminuer le nombre d'entrées,
sélectionnez-la ou les dernières broches de la structure et cliquez sur le bouton
Supprimer broche(s).

Il est également possible d’ajouter une borne d’entrée directement depuis la section
en respectant la syntaxe :

104
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.9.LES SOUS PROGRAMMES

L'appel d'un sous-programme comprend le nom de la section du sous-programme suivi


d'une liste de paramètres vide.

105
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.10.ACTIONS CONDITIONNELLES

4.2.10.1.IF – THEN – END_IF

L’instruction IF détermine qu’une instruction ou un groupe d’instructions peuvent


être exécutés uniquement si la valeur de l’expression booléenne correspondante
est 1 (vrai). Si la valeur de la condition est 0 (faux), l’instruction ou le groupe
d’instructions ne sont pas exécutés.
L’instruction THEN marque la fin d’une condition et le début d’une ou plusieurs
instructions.
L’instruction END_IF marque la fin de l’instruction ou des instructions.

◼ Syntaxe :
Condition(s)
Action(s) ;

◼ Exemples :

4.2.10.2.IF – THEN – ELSE – END_IF

◼ Syntaxe :
Condition(s)
Action(s) 1 ;

Action(s) 2 ;

◼ Exemple :

106
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.10.3.IF – THEN – ELSEIF – ELSE – END_IF

◼ Syntaxe :
Condition(s) 1

Action(s) 1 ;
Condition(s) 2

Action(s) 2 ;
Condition(s) 3

Action(s) 3 ;

Action(s) 4 ;

◼ Exemple :

107
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.10.4.FOR – TO – BY - DO -END_FOR

◼ Syntaxe :
Indice := valeur initiale

Valeur finale
Action(s)

L’instruction FOR reprend une chaîne d’instructions jusqu’à l’instruction END_FOR.


Le nombre d'occurrences est déterminé par la valeur initiale, la valeur finale et
l’indice.

L’instruction FOR incrémente la valeur de l’indice d'une valeur initiale à une valeur
finale.

L’indice, la valeur initiale et la valeur finale doivent être du même type de données
(INT, UINT, DINT ou UDINT).

La valeur de l’indice est contrôlée avant chaque nouvelle exécution de la boucle. La


boucle est abandonnée si ladite valeur est en dehors de la plage de la valeur initiale
et de la valeur finale.

L’instruction DO marque la fin de la définition d'une récurrence et le début de


l'instruction (ou des instructions).

L’instruction END_FOR marque la fin de l'instruction (ou des instructions).

◼ Exemple :

Avant la première exécution de la boucle, on contrôlera si l’incrément de l’indice


progresse vers la valeur finale à partir de la valeur initiale. Si ce n'est pas le cas (par
ex. valeur initiale ≤ valeur finale et incrément négatif), la boucle n'est pas traitée.
La valeur de l’indice n'est pas définie en dehors de la boucle.

L’instruction FOR est utilisée si le nombre d’occurrences peut être défini à l’avance.
Sinon, l'instruction WHILE ou REPEAT est utilisée.

108
LES LANGAGES DE PROGRAMMATION
Langage ST
Par défaut, la valeur de l'incrément est 1. Si une autre valeur doit être utilisée, il est
possible d'indiquer explicitement une valeur d'incrément (variable ou constante)
via l’instruction BY.

◼ Exemple :

4.2.10.5.WHILE – DO – END_WHILE

◼ Syntaxe :
Condition(s)

Action(s) ;

L’instruction WHILE provoque l’exécution répétée d’une chaîne d’instructions


jusqu’à ce que l'expression booléenne correspondante soit fausse. Si l'expression
est fausse dès le départ, le groupe d’instructions n’est jamais exécuté.

L’instruction DO marque la fin de la définition d'une répétition et le début de


l'instruction (ou des instructions).

L’instruction END_WHILE marque la fin de l’instruction (des instructions).

L'occurrence peut être interrompue précocement à l'aide de l'instruction EXIT.


WHILE ne doit pas servir à effectuer une synchronisation entre processus, par
exemple une "boucle d'attente" avec une condition de fin définie en externe.
WHILE ne doit pas être utilisé dans un algorithme car la réalisation de la condition
de fin de boucle ou l'exécution d'une instruction EXIT ne peuvent pas être garanties.

◼ Exemple :

109
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.10.6.REPEAT – UNTIL – END_REPEAT

◼ Syntaxe :
Action(s) ;

Condition(s)

L'instruction REPEAT provoque la répétition (au moins une fois) d'une chaîne
d’instructions jusqu'à ce que la condition booléenne associée ait la valeur 1 (vraie).

L'instruction UNTIL marque la condition de fin.

L’instruction END_REPEAT marque la fin de l’instruction (ou des instructions) à


répéter.

La répétition peut être interrompue prématurément à l'aide de l'instruction EXIT.


REPEAT ne doit pas être utilisé pour effectuer une synchronisation entre processus,
par exemple une "boucle d'attente" avec une condition de fin définie en externe.
REPEAT ne doit pas être utilisé dans un algorithme pour lequel la satisfaction de la
condition de fin de boucle ou l'exécution d'une instruction EXIT ne peuvent pas être
garanties.

◼ Exemple :

110
LES LANGAGES DE PROGRAMMATION
Langage ST
4.2.10.7.CASE OF – ELSE – END_CASE

L’instruction CASE est composée d’une expression de type de données INT (le
"sélecteur") et d’une liste de groupes d’instructions.

Chaque groupe porte un repère constitué d’un ou de plusieurs entiers (INT, DINT,
UINT, UDINT) ou de plages de valeurs entières. L’on exécutera le premier groupe
d’instructions dont le repère contient la valeur calculée du sélecteur. Sinon aucune
des instructions n’est exécutée.

L’instruction OF caractérise le début des repères.

A l’intérieur d’une instruction CASE, on peut définir une instruction ELSE dont les
instructions seront exécutées si aucun repère ne contient la valeur du sélecteur.

L’instruction END_CASE marque la fin de l’instruction (ou des instructions).

◼ Syntaxe :
sélecteur
Repère : Action(s) ;

Repère : Action(s) ;

Action(s) ;

◼ Exemple :

111
LES FONCTIONS
Fonctions élémentaires EF
5. LES FONCTIONS

FFB est le terme générique pour désigner les fonctions élémentaires (EF), les blocs fonction
élémentaires (EFB) et les blocs fonction dérivés (DFB).

5.1.FONCTIONS ÉLÉMENTAIRES EF

Une fonction élémentaire (EF) est un élément, utilisé dans un programme, qui réalise une
fonction logicielle prédéfinie.

Une fonction élémentaire (EF) ne dispose pas d'information d'état interne. C'est à dire que
plusieurs appels de la même fonction à l'aide des mêmes paramètres d'entrée fournissent
toujours les mêmes valeurs de sortie. Par exemple, l'addition de deux valeurs donne
toujours le même résultat.

Une fonction élémentaire (EF) dispose de 1 à 32 entrées, d’une sortie unique à 2 et n’est
donc pas instanciable.

Une fonction élémentaire (EF) peut être utilisée dans n’importe quel langage (LD, FBD, ST).

Exemple de la fonction élémentaire (EF) AND : fonction ET :

LD FBD ST

Dans les langages graphiques, une fonction élémentaire est représentée comme un cadre
avec des entrées et une sortie. Les entrées sont toujours représentées sur la gauche et la
sortie toujours sur la droite du cadre. Le nom de la fonction, c’est-à-dire le type de
fonction, est affiché au centre du cadre.

112
LES FONCTIONS
Fonctions élémentaires EF
5.1.1.SÉLECTION D’UNE FONCTION ÉLÉMENTAIRE (EF)

◼ L’assisant de saisie FFB s’ouvre en appuyant sur l’icône .

◼ Possibilité d’entrer le type de FFB dans la zone de texte Type FFB.

Zone de Liste
saisie directe Liste des FFB complète
du type FFB déjà utilisées des FFB

113
LES FONCTIONS
Fonctions élémentaires EF
◼ Pour ne visualiser que les fonctions élémentaires (EF), cocher seulement EF.

◼ Les fonctions sont rangées dans une bibliothèque dans des dossiers et des sous
dossiers en fonction de la famille de fonction.
Par exemple, la fonction élémentaire AND est rangée dans :
Bibliothèques/ Base Lib / Logic /
◼ Application : Permet de visualiser les fonctions déjà utilisées dans l’application

◼ Dans la colonne Nom, taper * pour visualiser toutes les fonctions ou renseigner le
nom du bloc s’il est connu (AND par exemple) puis valider par OK.
◼ La boîte de dialogue est fermée et l'assistant de saisie de fonction est activé.
L’instance est non disponible car le bloc inséré est une fonction élémentaire.

◼ Il est possible de renseigner directement les bornes d’entrée et de sortie depuis la


zone de saisie.
◼ Il est possible d'augmenter ou de diminuer le nombre d'entrées des fonctions
extensibles (par ex., AND, OR).

114
LES FONCTIONS
Fonctions élémentaires EF

Un FFB peut être appelé de manière conditionnelle ou inconditionnelle. La condition est


établie en pré-connectant l'entrée EN.

Si la valeur de EN est déjà à « 0 », lors de l'appel de


FFB, les algorithmes définis par FFB ne sont pas
exécutés et ENO est réglé sur « 0 ».

Si la valeur de EN est déjà à « 1 », lors de l'appel de


FFB, les algorithmes définis par FFB sont exécutés.
Après l'exécution sans erreur de ces algorithmes, la
valeur de ENO est réglée sur « 1 ».
Si une erreur se produit durant l'exécution de ces
algorithmes, ENO est réglé sur « 0 ».

Si l'entrée EN est masquée, le FFB est traité.

115
LES FONCTIONS
Blocs fonctions élémentaires EFB
5.2.BLOCS FONCTIONS ÉLÉMENTAIRES EFB

Une bloc fonction élémentaire (EFB) est un élément, utilisé dans un programme, qui réalise
une fonction logicielle prédéfinie.

Les bloc fonction élémentaire (EFB) possèdent des états et des paramètres internes.
Lorsque les valeurs d'entrée sont identiques, la valeur de sortie peut être différente pour
toutes les exécutions de la fonction. Par exemple, pour un compteur, la valeur de sortie
augmente.

Un bloc fonction élémentaire (EFB) est instancié, c’est-à-dire qu’une zone mémoire dont
la taille dépend du type de bloc fonction élémentaire est alloué, avec le nom de l’instance
définit, dans le dossier « Variables et instances / Instances FB élémentaire » pour y stocker
les instances du bloc fonction.
Le nom d’instance est généré automatiquement mais il est possible de le modifier pour
rendre le programme plus clair. Le nom d'instance (32 caractères maximum) doit être
unique dans tout le projet; aucune distinction n'est faite entre majuscules et minuscules
mais il doit commencer par une lettre. Si vous voulez également utiliser des chiffres
comme premier caractère, vous devez activer cette fonction dans les options de projet.

Une bloc fonction élémentaire (EFB) dispose de 1 à 32 entrées et d’une sortie à 32 sorties.

Il est possible d’utiliser les variables de sortie d’un bloc fonction élémentaire (EFB) dans le
programme en suivant la syntaxe <Nom_instance> . <Variable de sortie>

Un bloc fonction élémentaire (EFB) peut être utilisée dans n’importe quel langage (LD, FBD,
ST).

Exemple de bloc fonction élémentaire (EFB) TON : délai à l'activation

LD FBD

ST

Dans les langages graphiques, un bloc fonction élémentaire (EFB) est représentée comme
un cadre avec des entrées et des sorties. Les entrées sont toujours représentées sur la
gauche et les sorties toujours sur la droite du cadre. Les blocs fonction peuvent avoir
plusieurs sorties.
Le nom de la fonction, c’est-à-dire le type de fonction, est affiché au centre du cadre.
Le nom d'instance est affiché au-dessus du cadre.

116
LES FONCTIONS
Blocs fonctions élémentaires EFB
5.2.1.SÉLECTION D’UN BLOC FONCTION ÉLÉMENTAIRE (EFB)

◼ L’assisant de saisie FFB s’ouvre en appuyant sur l’icône .

◼ Possibilité d’entrer le type de FFB dans la zone de texte Type FFB.

Zone de Liste
saisie directe Liste des FFB complète
du type FFB déjà utilisées des FFB

117
LES FONCTIONS
Blocs fonctions élémentaires EFB
◼ Pour ne visualiser que les blocs fonctions élémentaires (EFB), cocher seulement
EFB.

◼ Les blocs fonctions sont rangées dans une bibliothèque dans des dossiers et des
sous dossiers en fonction de la famille de fonction.
Par exemple, le bloc fonction élémentaire TON est rangé dans :
Bibliothèques/ Base Lib / Timers & Counters /
◼ Application : Permet de visualiser les blocs fonctions déjà utilisées dans
l’application

◼ Dans la colonne Nom, taper * pour visualiser tous les blocs fonctions ou renseigner
le nom du bloc s’il est connu (TON par exemple) puis valider par OK.
◼ La boîte de dialogue est fermée et l'assistant de saisie de fonction est activé.
L'instance de bloc fonction dans la zone de texte Instance est déjà renseignée. Vous
pouvez appliquer le nom proposé ou vous pouvez modifier le nom proposé.

118
LES FONCTIONS
Blocs fonctions élémentaires EFB
◼ Il est possible de renseigner directement les bornes d’entrée et de sortie depuis la
zone de saisie.

Paramètres Type de donnée


formels (entrées, des paramètres Paramètres réels
sorties) associés à formels (entrées, de l’instance de la
l’instance de la sorties) associés à fonction / du bloc
fonction / du bloc l’instance de la fonction
fonction fonction / du bloc
fonction

Commentaires des paramètres Ouvre l’aide de la


formels (entrées, sorties) associés à fonction / du bloc
l’instance de la fonction / du bloc fonction

Assistant détaillé : Certains FFB complexes proposent des fenêtres supplémentaires


pour entrer des paramètres réels. Pour accéder à ces fenêtres, cliquez sur le bouton
Assistant détaillé.
Instance

Type FFB

Paramètres Paramètres
formels d’entrée, formels de sortie,
associés à associés à
l’instance de la l’instance de la
fonction / du bloc fonction / du bloc

119
LES FONCTIONS
Blocs fonctions élémentaires EFB
Un FFB peut être appelé de manière conditionnelle ou inconditionnelle. La condition est
établie en pré-connectant l'entrée EN.

Si la valeur de EN est déjà à « 0 », lors de l'appel de


FFB, les algorithmes définis par FFB ne sont pas
exécutés et ENO est réglé sur « 0 ».

Si la valeur de EN est déjà à « 1 », lors de l'appel de


FFB, les algorithmes définis par FFB sont exécutés.
Après l'exécution sans erreur de ces algorithmes, la
valeur de ENO est réglée sur « 1 ».
Si une erreur se produit durant l'exécution de ces
algorithmes, ENO est réglé sur « 0 ».

Si l'entrée EN est masquée, le FFB est traité.

5.2.2.UTILISATION DE LA SORTIE D’UN BLOC FONCTION ÉLÉMENTAIRE EFB


DANS LE PROGRAMME

Ladder

ST

FBD

120
LES FONCTIONS
Blocs fonctions élémentaires EFB
5.2.3.GÉRER UNE INSTANCE

◼ Les instances des blocs fonctions élémentaires EFB utilisés dans le projet sont
rangées dans le dossier Instances FB élémentaire.

◼ Les instances des blocs fonctions élémentaires EFB utilisés dans le projet sont
rangées dans le dossier Instances FB élémentaire.

◼ Depuis l’éditeur de données, il est possible de créer directement une instance


avant de l’utiliser dans un éditeur (FBD, LD et ST).
◼ Il est également possible de modifier le nom de l’instance et de supprimer les
instances non utilisées.

Instance
non utilisée

121
LES FONCTIONS
Blocs fonctions élémentaires EFB
5.2.4.RENOMMER UNE INSTANCE

◼ Depuis l’éditeur (LD, FBD ou ST), faire un clic droit sur le bloc fonction élémentaire
et choisir Renommer la variable.

122
LES FONCTIONS
Blocs fonctions dérivés DFB
5.3.BLOCS FONCTIONS DÉRIVÉS DFB

Les blocs fonction dérivés (DFB) ont les mêmes caractéristiques que les blocs fonction
élémentaires (EF).

Ils sont cependant créés par l'utilisateur dans les langages FBD, LD, IL et/ou ST.

Exemple de bloc fonction dérivé (DFB) Mesure_Temps instancié


Surv_remplissage_bouteille :

LD FBD

ST

Dans les langages graphiques, un bloc fonction dérivé (DFB) est représentée comme un
cadre avec deux lignes verticales et des entrées et des sorties. Les entrées sont toujours
représentées sur la gauche et les sorties toujours sur la droite du cadre.

Le nom de la fonction, c’est-à-dire le type de fonction, est affiché au centre du cadre.


Le nom d'instance est affiché au-dessus du cadre.

Une fois crée, les blocs fonction dérivés (DFB) sont accessibles depuis l’éditeur de données
de types DFB.

Ils peuvent être sauvegardés dans une bibliothèque utilisateur afin d’être réutilisés dans
d’autre programme.

123
LES FONCTIONS
Blocs fonctions dérivés DFB
5.3.1.PRÉSENTATION D’UN BLOC DFB

◼ Les variables d’entrée : Elles peuvent être élémentaires EDT ou dérivées DDT.
Elles permettent de passer des valeurs du programme vers le DFB.
Le programme n’a pas accès aux variables d’entrée.

◼ Les variables de sortie : Elles peuvent être élémentaires EDT ou dérivées DDT.
Elles permettent de passer des valeurs du DFB vers le programme.
Le programme a accès aux variables de sortie via la syntaxe
Nom_InstanceDFB.Nom_Sortie

◼ Les variables d’entrée / sortie: Elles peuvent être élémentaires EDT, dérivées
DDT ou dérivées d’E/S IODDT.
Elles permettent de passer des valeurs du programme vers le DFB, qui peut les
modifier, puis les renvoyer au programme.

Le bloc disposera au maximum de 32 points de connexion en entrée et 32 points


de connexion en sortie.

Chaque point de connexion pourra être associé ou pas à une variable.

◼ Les variables publiques : Ces variables, internes au bloc DFB, sont accessibles en
lecture et en écriture par le programme application, en plus du DFB. Elles
peuvent être élémentaires EDT ou dérivées DDT.
Le programme a accès aux variables publiques via la syntaxe
Nom_InstanceDFB.Nom_Variable_Publique

124
LES FONCTIONS
Blocs fonctions dérivés DFB
◼ Les variables privées : Ces variables, internes au bloc DFB, ne sont pas
accessibles au programme application. Elles peuvent être élémentaires EDT ou
dérivées DDT.
Ces variables sont généralement des variables nécessaires à la programmation
du bloc mais sans intérêt pour l’utilisateur.

◼ Le code: Le code n’a pas de limite de taille, il doit être structuré en une ou
plusieurs sections en langage LD, FBD, ST ou IL.
Il est possible d’imbriquer un DFB dans un DFB.
Le code peut utiliser les variables du type :
▪ Entrées du DFB
▪ Sorties du DFB
▪ Variables publiques du DFB
▪ Variables privées du DFB
▪ Bits et Mots système

5.3.2.MISE EN ŒUVRE D’UN BLOC DFB

◼ Création du modèle DFB appelé type DFB


▪ Déclaration des variables (entrée, sortie, entrée-sortie, privée,
publique)
▪ Saisie du code programme

◼ Création d’une image de ce bloc appelée instance pour chaque utilisation


dans le programme utilisateur

◼ Appel des instances du DFB dans le programme

125
LES FONCTIONS
Blocs fonctions dérivés DFB
5.3.2.1.Création du type DFB

◼ Sélectionner l’onglet Types DFB dans l’éditeur de données.


◼ Nommer le nouveau DFB (ici Gestion_Var). Il apparait en construction .

◼ Déplier la structure et renseigner les différentes variables (entrées, sorties,


entrées/sorties, public, privé) en définissant pour chaque variable, son nom,
son type, son commentaire et éventuellement une valeur initiale. Il est évident
qu’il sera possible à tout moment d’ajouter ou de supprimer une variable du
type DFB, quelle qu’elle soit son type (entrée, sortie, publique, privée).

N° du point de
connexion

126
LES FONCTIONS
Blocs fonctions dérivés DFB
◼ Renseigner alors le ou les noms de la ou les sections composants le type DFB
ainsi que le langage des sections.

◼ Le DFB apparait dans le navigateur du projet, sous le dossier Types FB dérivées.

◼ Il est possible d’ajouter une section au DFB directement depuis le navigateur du


projet, sous le dossier Types FB dérivées via un clic droit sur Sections puis
Nouvelle Section...

◼ Coder alors la ou les sections de programme du DFB.

Ladder

127
LES FONCTIONS
Blocs fonctions dérivés DFB
ST

◼ Une fois le code terminé, cliquer sur l’icône ou alors clic droit sur le nom du
type DFB et Analyser type.

128
LES FONCTIONS
Blocs fonctions dérivés DFB
◼ L’icône du type DFB en construction .disparait. Cela veut dire qu’il est prêt à
être instancié de la même manière qu’un bloc fonction élémentaire EFB.

5.3.2.2.Création de l’instance du bloc DFB depuis l’éditeur de données

◼ Depuis l’éditeur de données, dans l’onglet Blocs fonction, nommer l’instance


(ici Moteur_1) du type du DFB (ici Gestion_Var).

5.3.2.3.Appel de l’instance du DFB dans le programme

◼ Cliquer sur l’icône sélectionner les données Dans l’onglet Blocs fonction,
cocher DFB et sélectionner l’instance du DFB (Moteur_1 ici).

129
LES FONCTIONS
Blocs fonctions dérivés DFB

◼ Valider est déposer l’instance du DFB dans le programme.

Ladder

FBD

ST

130
LES FONCTIONS
Blocs fonctions dérivés DFB
5.3.2.1.Création de l’instance du bloc DFB depuis l’éditeur (LD, FBD ou ST)

◼ Appuyer sur l’icône pour ouvrir l’assisant de saisie de fonction


◼ Appuyer sur pour ouvrir la sélection de type FFB. Cocher DFB et choisir
Application pour retrouver le type DFB crée ( Gestion_Var ici).

◼ Une instance est automatiquement définie. Il est possible de la modifier


(Moteur_2 ici). Valider est déposer l’instance du DFB dans le programme.

Ladder

FBD ST

131
LES FONCTIONS
Blocs fonctions dérivés DFB
5.3.3.PROTECTION D’UN BLOC FONCTION DÉRIVÉ DFB

◼ Il est possible de protéger de manière globale le code d’un bloc fonction dérivé
DFB en lecture et/ou en écriture.
◼ Clic droit sur le type DFB depuis le navigateur du projet puis Propriétés.

◼ Définir la protection.

◼ Il existe 4 niveaux de protection pour un type DFB :


o Aucune protection : le type DFB n'est pas protégé.
o Lecture seule : les répertoires des paramètres des types DFB (entrées,
sorties, entrées/sorties, public, privé et sections) sont en lecture seule.
o Pas de lecture ni d'écriture : les répertoires des paramètres des types
DFB privé et sections ne s'affichent pas. Les autres répertoires (entrées,
sorties, entrées/sorties et public) sont accessibles à partir de l'éditeur
de données en lecture seule.
o Protection de la version : le type DFB n'est pas protégé, à l'exception du
numéro de version DFB.

132
LES FONCTIONS
Blocs fonctions dérivés DFB
◼ Saisir et confirmer le mot de passe (8 caractères maximum).
◼ Cocher mot de passe crypté pour une protection renforcée si nécessaire.

◼ Les blocs fonctions dérivé DFB protégés apparaissent avec un cadenas dans le
navigateur du projet.

133
LES FONCTIONS
Blocs fonctions dérivés DFB
5.3.4.MISE EN BIBLIOTHÈQUE D’UN BLOC FONCTION DÉRIVÉ DFB

◼ Il est possible de transférer un bloc fonction dérivé DFB dans une bibliothèque.
◼ Clic droit sur le type DFB depuis le navigateur du projet puis Placer dans la
bibliothèque.

◼ Choisir l’emplacement de destination.

◼ Cliquer sur l’icône pour ouvrir le gestionnaire de bibliothèque de type. Le


bloc est bien rangé dans la bibliothèque.

134
LES FONCTIONS
Blocs fonctions dérivés DFB
◼ La bibliothèque gère le versionnement des bloc fonction dérivé DFB.

◼ En cas de modification du bloc, après analyse, sa version change. Il faut alors le


placer à nouveau dans la bibliothèque. Le système alerte sur le changement de
version.

135
OUTILS DE DIAGNOSTIC
Animation d’un programme FBD
6. OUTILS DE DIAGNOSTIC

6.1.ANIMATION D’UN PROGRAMME FBD

◼ L’icône permet de stopper ou de redémarrer l’animation. S’il y a modification


de programme, l’animation des sections modifiées est stoppée tant que le projet
n’est pas régénéré.
◼ La couleur de fond de l’éditeur est grise.

◼ Vert : Variable booléenne à 1 (True)


◼ Rouge : Variable booléenne à 0 (False)
◼ Jaune : Variable numérique
◼ Encadrée : Variable forcée
Les variables de types DDT, les instances EFB/DFB ne sont pas animées.

136
OUTILS DE DIAGNOSTIC
Animation d’un programme ST
6.2.ANIMATION D’UN PROGRAMME ST

◼ L’icône permet de stopper ou de redémarrer l’animation. S’il y a modification


de programme, l’animation des sections modifiées est stoppée tant que le projet
n’est pas régénéré.
◼ La couleur de fond de l’éditeur est grise.
◼ Le texte apparait en noir et les commentaires en vert.

◼ Vert : Variable booléenne à 1 (True)


◼ Rouge : Variable booléenne à 0 (False)
◼ Jaune : Les autres types de variables
◼ Encadrée : Variable forcée
Seules les variables de types booléennes sont animées dans l’éditeur.

137
OUTILS DE DIAGNOSTIC
Point d’arrêt
6.3.POINT D’ARRÊT

Un point d’arrêt permet de stopper l’exécution de la tâche à l’endroit où il a été posé.


Il permet en phase de mise au point d’examiner le comportement du code et de visualiser
la valeur des variables.

Il y a un seul point d’arrêt à un instant donné dans le projet.

◼ Pour afficher la barre d’outils Mise au point, clic droit dans la barre d’outils et
sélectionner Mise au point.

◼ Pour insérer un point d’arrêt, sélectionner Définir le point d’arrêt depuis le


menu Mise au point ou depuis l’éditeur à partir du menu contextuel Définir le
point d’arrêt ou depuis l’icône de la barre d’outils.

◼ La fenêtre suivante peut apparaitre. Effectivement, le programme n’est plus


exécuté.

138
OUTILS DE DIAGNOSTIC
Point d’arrêt
◼ La fonction Afficher le point d’arrêt du menu Mise au point permet de repérer
le point d’arrêt en affichant la partie de l’éditeur langage où il est posé.

◼ La fonction Effacer le point d’arrêt du menu Mise au point permet de supprimer


le point d’arrêt.

◼ La suppression d’un point d’arrêt ne relance pas la tâche, il faut utiliser la


fonction Aller à du menu Mise au point.

139
OUTILS DE DIAGNOSTIC
Pas à pas
6.4.PAS A PAS

Le mode pas à pas est lancé via un point d’arrêt défini au préalable. Il permet
d’examiner le comportement du code et la valeur des variables. Il est mis en œuvre en
mode connecté. La section exécutée en mode pas à pas stoppe la tâche
correspondante et les liens ne sont plus animés.

◼ La commande relance l’exécution de la tâche pour atteindre de


nouveau le point d’arrêt.

◼ La commande est utilisée lors de l’appel de sous-


programme.
Si l’élément est un appel d’un SR ou d’un DFB, le curseur rentre dans le code et
se positionne sur le 1er élément.

◼ La commande est utilisée pour se déplacer au réseau suivant.


Si l’élément est un bloc fonctionnel alors le bloc est exécuté et le curseur se
positionne sur le bloc suivant. Si l’élément est un appel à un SR ou un DFB, alors
le SR ou le DFB est exécuté entièrement et le curseur se positionne sur le bloc
suivant.

◼ La commande est utilisée pour sortir d’un sous-


programme.
Si l’élément un bloc fonctionnel, la section courante est exécutée entièrement
et le curseur se positionne au début de la section suivante. Si l’élément
appartient au code d’un SR ou d’un DFB, tous les éléments du SR ou du DFB
sont exécutés et le curseur se positionne sur l’instruction après l’appel du SR ou
du DFB.

◼ La fonction permet de visualiser les réseaux évalués. Une


flèche jaune se positionne en face du réseau ladder en évaluation.

◼ Exemple en Ladder :

140
OUTILS DE DIAGNOSTIC
Pas à pas
◼ Exemple en FBD :

◼ Exemple en ST :

141
OUTILS DE DIAGNOSTIC
Pas à pas

◼ La fonction permet d’afficher la fenêtre suivante :

◼ La fonction permet de visualiser l’état de fonctionnement de


la tâche :

142
OUTILS DE DIAGNOSTIC
Point de visualisation
6.5.POINT DE VISUALISATION

Sans point de visualisation, les valeurs des variables animés sont rafraîchies à la fin du
traitement de la tache MAST.

La limite de ce mode de fonctionnement est qu’il ne permet pas de connaitre la valeur


d’une variable en un point précis du programme si celle-ci est utilisée dans différentes
sections.

Le point de visualisation permet donc de synchroniser l’affichage des variables animées


avec l’exécution d’un élément programme afin de connaitre leur valeur à ce point
précis du programme.

◼ Pour afficher la barre d’outils Point de surveillance, clic droit dans la barre
d’outils et sélectionner Point de surveillance.

Les variables synchrones au point de visualisation appartiennent obligatoirement à la


section dans laquelle le point de visualisation est posé. La visualisation des autres
variables reste synchrone avec la fin de la tache MAST.

La pose d’un point de visualisation n’est possible qu’en mode connecté, un seul point
de visualisation n’est autorisé à un moment donné.

Un compteur est incrémenté chaque fois que le réseau connexe possédant le point de
visualisation est exécuté.

Poser le point de Compteur du


visualisation nombre de
passage
Effacer Rechercher Synchroniser
la table

La modification d’une section n’est pas autorisée si un point de visualisation est posé.

143
OUTILS DE DIAGNOSTIC
Point de visualisation
◼ Pose d’un point de visualisation : menu Mise au point/Définir le point d’arrêt ou
clic droit puis Définir le point d’arrêt ou directement l’icône .

◼ Le point de visualisation est affiché.

◼ Ouvrir la table d’animation à synchroniser avec la section contenant le point de


visualisation en appuyant sur l’icône .
◼ Les variables contenues dans la table sont rafraîchies de façon synchrone au
point de visualisation.

◼ La commande effacer le point d’arrêt rend toutes les variables de la table


d’animation synchrones avec la fin de la tache MAST.

144
OUTILS DE DIAGNOSTIC
Écrans de diagnostique
6.6.ÉCRANS DE DIAGNOSTIQUE

Les écrans de diagnostique sont disponibles à partir de l’éditeur de configuration pour la


CPU et les modules métiers.

◼ Depuis le bus automate, double cliquer sur le module en défaut. Un carré rouge
sur le module signale la présence d’un défaut :

◼ Sélectionner l’onglet Défaut. Cela permet de connaître un certain nombre


d’éléments sur la nature du ou des défauts.

◼ Exemple de la carte de sortie TOR DD0 3202K :

145
OUTILS DE DIAGNOSTIC
Écrans de diagnostique
◼ Configuration des paramètres TOR de la carte DD0 3202K :

o La case à cocher Surveillance alimentation définit l'état actif ou inactif de la


surveillance de l'alimentation externe. Il agit par groupe de 16 voies consécutives.
Par défaut le contrôle est actif (case cochée).

o Le menu déroulant Mode de repli permet de configurer le mode de repli que


prennent les sorties lors du passage à l’état STOP de l’automate en cas d’erreur du
processeur, de connexion du rack, de connexion du câble inter-rack et d’une
commande STOP dans Control Expert.
Si le mode Repli est sélectionnée, mes voies sont mises à l’état 0 ou 1 en fonction
de la valeur de repli paramétrée pour le groupe des 8 voies correspondantes.
Si le mode Maintien est sélectionné; les sorties conservent l’état dans lequel elles
se trouvent avant le passage en STOP.

o Le menu déroulant Réarmer permet de définir le mode de réarmement des sorties


disjonctées.
Si Automatique est sélectionné, le réarmement est réalisé automatiquement
toutes les 10s jusqu’à la disparition de l’erreur.
Si Programmé est sélectionné, le réarmement est exécuté par une commande du
programme ou par l’intermédiaire de l’écran de mise au point.

146
OUTILS DE DIAGNOSTIC
Écrans de diagnostique
◼ Exemple du module Ethernet NOC 0401 :

147
OUTILS DE DIAGNOSTIC
Écran de l’automate
6.7.ÉCRAN DE L’AUTOMATE

◼ Une fois connecté à l’automate, cliquer sur Outils/ Écran de l’automate.

◼ Onglet Tâche.

Visualisation
des tâches

Permet un redémarrage
à chaud ou à froid de Permet la mise au repli
l’automate. des sorties.

◼ Onglet Horodateur :

148
OUTILS DE DIAGNOSTIC
Écran de l’automate

◼ Onglet Informations :

149
OUTILS DE DIAGNOSTIC
Viewer de diagnostic
6.8.VIEWER DE DIAGNOSTIC

Le Viewer de diagnostic est un outil intégré à Control Expert qui permet de visualiser les
messages d’erreur de l’application.

Deux types de diagnostic existent :

◼ Le diagnostic système : Lorsqu’un projet a été généré avec l’option Diagnostic


système, le comportement des bits et des mots système génère automatiquement
des messages de diagnostic sur le viewer de diagnostic. Par exemple, lorsque
l’automate détecte une erreur système (dépassement du chien de garde, défaut
d’entrées/sorties, division par zéro…), une information est transmise au viewer de
diagnostic.

◼ Le diagnostic projet : il est constitué d’EFB et de DFB spécifiques qui sont intégrés
dans le code d’un projet et donc intégrés au programme automate afin de donner
à l’utilisateur (exploitant ou technicien de maintenance) des informations claires
sur les conditions de fonctionnement du process surveillé.
Ces éléments de programme vont déclencher des alarmes visualisables dans le
Viewer de diagnostic.

◼ Activation du diagnostic système et projet :

150
OUTILS DE DIAGNOSTIC
Viewer de diagnostic
◼ Ouverture du viewer de diagnostic :

◼ La fenêtre du viewer de diagnostic comporte 2 zones d’affichages.

Zone dans laquelle s’affichent


les messages d’erreur relatif au
diagnostic

Zone qui affiche des informations


supplémentaires concernant le message d’erreur
sélectionné dans la liste des alarmes

151
OUTILS DE DIAGNOSTIC
Viewer de diagnostic
◼ Les icones suivants indiquent l’état du message :

◼ Pour chaque alarme, les informations suivantes sont disponibles :


Champ Description
L’icone et le texte indiquent l’état du message : non acquitté, acquitté,
Acquittement
supprimé ou pas d’acquittement
Message d’erreur. Ce message contient les 40 premiers caractères du
Message texte saisi dans le commentaire de l’instance de bloc de fonction qui a
généré l’erreur
Défaut Type du FB de diagnostic ou bit système qui a détecté l’erreur
Symbole Symbole associé au défaut
Zone Zone de l’automate défectueuse
Date d’apparition Date et heure d’apparition du défaut
Date de disparition Date et heure de disparition du défaut
Date d’acquittement Date et heure d’acquittement du défaut

◼ La barre d’outils ci-dessous s’affiche lorsque le viewer de diagnostic est


sélectionné.
Propriétés du
viewer de
diagnostic
Redéclencher les
causes de défaut
Acquittement

Table Référence Retourner à


d’animation croisée l’éditeur

152
OUTILS DE DIAGNOSTIC
Viewer de diagnostic
◼ Les EFB et DFB de diagnostic sont dans la bibliothèque Diagnostics.

◼ Exemple :

153
OUTILS DE DIAGNOSTIC
Simulation
6.9.SIMULATION

Le simulateur intégré à Control Expert est en réalité un véritable automate virtuel lancé
sur le PC. Il permet de simuler le processeur de l’automate.

Tous les outils de diagnostic sont disponibles afin de tester le projet pour les taches Maître,
rapide et auxiliaire.

En revanche, le simulateur ne prend pas en charge les entrées et les sorties, la régulation
Loop, les E/S sur bus FIPIO, BUS X et la communication avec les E/S distribuées et les
variables réseaux.

Comme pour un automate réel, le projet doit être généré et ne pas contenir d’erreur.

◼ Basculer en mode simulation via l’icone ou via la commande Automate/Mode


Simulation.

◼ Cliquer sur Automate/Définir l’adresse pour accéder aux paramètres de


communication avec le simulateur.

L’adresse par défaut du simulateur est localhost 127.0.0.1

154
OUTILS DE DIAGNOSTIC
Simulation
◼ Cliquer sur Automate/Connexion.

◼ La fenêtre suivante peut apparaitre. Dans ce cas, décocher la case Utiliser


l’application par défaut pour démarrer le simulateur.

◼ Une fois connecté à l’automate virtuel, la barre d’état affiche « aucune info de
chargement n’a été transférée ».

◼ Il faut donc transférer le programme vers le simulateur comme si c’était un


automate physique. Menu Automate/Transférer le projet vers l’automate.

◼ La barre d’état affiche au final les information Run

155
OUTILS DE DIAGNOSTIC
Simulation
◼ Après le lancement du simulateur, l'icône du simulateur s'affiche dans la barre
d'outils. Cette icône identifie le simulateur actif et affiche les différents états de
l'automate simulé.

▪ La couleur d'arrière-plan représente l'état de base.

▪ Un cadre autour de l'icône indique le mode de mise au point actif.

▪ Le symbole central indique l'état actuel de l'automate tel que NOCONF, REPOS,
ARRETE, RUN.

▪ La couleur du symbole central indique l'état de la connexion :

▪ Etats d'erreur :

▪ États internes : Les symboles ci-après représentent les états internes temporaires
qui ne doivent normalement pas être vus. Il n'est pas possible de récupérer de ces
états. Le simulateur de l'automate doit donc être fermé et redémarré.

156
OUTILS DE DIAGNOSTIC
Simulation
◼ Un double clic sur l’icône de la barre d’outils ouvre la fenêtre ci-dessous.

▪ Le panneau avant de la CPU virtuelle indique l'état de la CPU sur un écran de


plusieurs lignes via les voyants RUN et ERR

▪ Le bouton RAZ permet la simulation d’un démarrage à froid de la CPU, c’est-à-dire


que la connexion entre Control Expert et le simulateur est interrompue, que les
variables du projet sont initialisées et que le simulateur passe à l’état RUN (si le
démarrage automatique est activé) ou STOP.
Ce bouton de commande correspond au bouton de réinitialisation sur une unité
réelle.

▪ Le bouton cycle d’alimentation permet d’exécuter un redémarrage (mise hors


tension/mise sous tension) de l’automate simulé. Il correspond à un démarrage à
chaud de l’automate, la connexion entre control Expert et le simulateur est
interrompue et toutes les variables du projet en cours restent inchangées.

▪ Le voyant Accès carte s'allume lorsque la carte est accessible.


Il est possible de simuler les fonctions suivantes d'une carte mémoire pour la CPU
ModiconM340 :
o Fichiers sur la carte mémoire générés par les blocs fonction de stockage des
données.
o Retrait/insertion de la carte mémoire.
o Carte mémoire pleine.
o Protection en écriture.

157
OUTILS DE DIAGNOSTIC
Mise au point SFC : Commandes de l’animation
6.10.MISE AU POINT SFC : COMMANDES DE L’ANIMATION

◼ Afficher le menu Commande de l’animation sous le menu Services :

◼ : Cocher la case désactive la ou les étapes actives et décocher la


case active la ou les étapes initiales.
◼ : Ne tiens plus compte des temps d’exécution des étapes .
◼ : Cocher cette case pour rendre possible le gel du diagramme
quel que soit l'état de transition. Le fond de l’éditeur SFC devient bleu clair.
Donne accès aux Opérations et .
◼ : Stoppe le traitement des étapes.

: Désactive l’étape ou les étapes actives


: Initialise les informations de débordement des temps
d’activité des étapes.
: Passe à l’étape suivante sans tenir compte de la transition.
: Passe à l’étape suivante en tenant compte de la transition.
Uniquement en mode "inhiber transitions" (écran bleu). Lorsque la condition de transition
n'est pas remplie, le diagramme est dégelé et attend la condition correcte. Le diagramme
revient à l'état de gel dès que l'étape suivante est activée.
: Passe à l'étape suivante si la condition de transition est
remplie. Lorsque la condition de transition n'est pas remplie, le diagramme est dégelé et
attend la condition correcte pour pouvoir passer à l'étape ou aux étapes suivantes (en cas
de divergence). Le diagramme revient à l'état de gel dès que l'étape suivante est activée.

158
OUTILS DE DIAGNOSTIC
Mise au point SFC : Commandes de l’animation
: Uniquement disponible lorsque l'élément actuel est une
étape appartenant à une section macro-étape. Cette commande dégèle le diagramme (le
maître et la macro appartiennent de manière logique au même diagramme) pour
permettre un fonctionnement normal au-delà de la fin de la macro. La ou les conditions
de transition doivent être remplies pour pouvoir passer à l'étape ou aux étapes suivantes
(en cas de divergence). Le diagramme revient à l'état de gel dès que la (première) étape
suivante est activée.
: Définit un point d'arrêt sur toutes les étapes sélectionnées.
: Définit le ou les marqueurs de prépositionnement sur les
étapes et macro-étapes sélectionnées de la section SFC.
: Active toutes les étapes et macro-étapes prépositionnées
par la commande Définir préposition sur sélection.
: Sélectionne les étapes actives.
: Active les étapes et macro-étapes sélectionnées.
: Désactive les étapes et macro-étapes sélectionnées. Pour
le mode de fonctionnement à jetons multiples seulement (Options du projet/Autoriser
plusieurs jetons).
: Désactive tous les points d'arrêt.
: Désactive toutes les étapes et macro-étapes
prépositionnées.

159
COMPLEMENTS
Analogique
7. COMPLEMENTS

7.1.ANALOGIQUE

7.1.1.DÉFINITION
Un signal analogique est une grandeur physique variant dans le temps.
Un capteur mesure cette grandeur physique analogique et la convertie en signal électrique
qui change continuellement dans le temps. La valeur électrique peut prendre une infinité
de valeurs s’étendant sur une plage définie.

Les différents types de signal analogique :


◼ Tension : Le signal 0-10 Vdc est le signal utilisé pour piloter un variateur de
fréquence. Il existe également un signal 0-5Vdc.
◼ Courant : Le signal 4-20mA est le signal le plus utilisé pour les capteurs. L’avantage
de ce type de signal permet de contrôler la rupture de câble. Il existe également un
signal 0-20mA.
◼ Résistance : Le signal de type résistance est principalement utilisé avec les capteurs
de température type PT100, thermocouples…

160
COMPLEMENTS
Analogique
7.1.2.CHAINE D’ACQUISITION ANALOGIQUE

Une grandeur physique est convertie en signal analogique (tension, courant,


résistance) par un transducteur. Les données sortant du transducteur passent par un
convertisseur analogique/numérique (CAN) qui les transforment en un signal
numérique compréhensible par l’automate.

7.1.3.CHAINE D’ACTION ANALOGIQUE

Un signal numérique est converti en signal analogique par un convertisseur


numérique/analogique (CNA). Ces valeurs numériques peuvent être bipolaire ou
unipolaires.

161
COMPLEMENTS
Analogique
7.1.4.CÂBLAGE DE MODULE ANALOGIQUE

◼ Exemple de câblage d’un Module 4 entrées / 2 sorties ANA non isolées BMX
AMM0600 :

162
COMPLEMENTS
Analogique
7.1.5.CALIBRAGE ET MISE À L’ÉCHELLE D’UNE ENTRÉE ANALOGIQUE

La mise à l’échelle d’une valeur analogique consiste à appliquer à la valeur numérique,


convertie par le coupleur, un Coefficient sous la forme d’une expression linéaire du
type Y = Ax + B pour réaliser le traitement de la donnée dans l’unité utilisée par
l’application. Ce calcul est généralement fait à partir d’instructions automate.

Afin de réaliser la mise à l’échelle, il faut définir les variables de l’expression linéaire
Coeff A et Offset B via 2 mesures avec 2 relevés des points numériques.

La valeur de gestion correspond à la grandeur physique mesurée par le capteur (bars


par exemple) et la valeur lue correspond à la valeur numérique retranscrite par
l’automate en points (10 000 par exemple).

Coeff A = (Valeur de gestion 2 – Valeur de gestion 1) / (Valeur lue 2 – Valeur lue 1)

Offset B = Valeur de gestion 1 – (Valeur lue 1 x Coeff A)

L’équation finale est donc :

Mesure corrigée = Coeff A x Valeur numérique en point + Offset B

La relation grandeur physique et grandeur réelle est linéaire.

Plusieurs méthodes existent pour la mise à l’échelle d’une entrée analogique.

163
COMPLEMENTS
Analogique
◼ Exemple de cas d’utilisation d’une entrée analogique:
Un capteur analogique de pression 0-3 bars qui remonte une valeur de courant 4-20mA
à l’automate convertie une valeur numérique variant entre 0 et 10000 points (celle-ci
varie selon l’état de la grandeur physique mesurée).

Mettre à l’échelle la valeur numérique en une valeur réelle exploitable.

Pour calculer le coefficient directeur de la droite (Coeff A) il faut déterminer 2 points de la


droite, la valeur réelle (en bars) et son équivalence en point API. Pour faciliter le travail, on
peut prendre les valeurs de bornage du capteur, 0 – 3 bars, affichés sur la plaque
signalétique du capteur et qui correspondent donc également au bornage API 0 – 10 000
points. Lorsque la pression exercée sur le capteur est de 3 bars, l’automate affiche 10 000
points.

Coeff A = (3 bars – 0 bars) / (10 000 points – 0 points)


Coeff A = 3 / 10 000 = 0.0003

Offset B = 0 – ( 0 x 0.0003) = 0

Mesure corrigée = Coeff A x Valeur numérique en point + Offset B

164
COMPLEMENTS
Analogique
7.1.6.MISE À L’ÉCHELLE D’UNE SORTIE ANALOGIQUE

Le processus de mise à l’échelle d’une sortie analogique est le même que celui mis en
œuvre pour une entrée analogique.
La seule différence est qu’il faut convertir la valeur écrite (consigne de vitesse de 0 à
100% par exemple) en une valeur variant de 0 à 10 000 points.

La valeur écrite représente la valeur numérique envoyée à la carte analogique de


l’automate. Après réception, cette valeur est convertie en un courant (4-20mA) ou une
tension (+/-10V).
La valeur réelle représente la grandeur physique traitée par le programme (une vitesse
par exemple), à transmette au variateur pilotant le moteur.

◼ Exemple de cas d’utilisation d’une sortie analogique:


Une pompe est pilotée par un variateur de fréquence. La consigne de vitesse est
envoyée en analogique par l’automate en 4-20mA.

Pour calculer le coefficient directeur de la droite (Coeff A) il faut déterminer 2 points


de la droite, la valeur réelle (en % de vitesse) et son équivalence en point API. Pour
faciliter le travail, on peut prendre les valeurs de bornage de la vitesse, 0 – 100% et qui
correspondent donc également au bornage API 0 – 10 000 points. Lorsque la consigne
de vitesse envoyée est à son maximum, c’est-à-dire 100%, la carte automate reçoit une
valeur numérique de 10 000 points, ce qui correspond également au 20mA envoyé au
variateur.

Coeff A = (10000 points – 0 point) / (100% – 0%)


Coeff A = 10000 / 100 = 100

Offset B = 0 – ( 0 x 100) = 0

Vitesse en points = Coeff A x Valeur réelle + Offset B

Plusieurs méthodes existent pour la mise à l’échelle d’une sortie analogique.

165
COMPLEMENTS
Analogique
7.1.7.CONFIGURATION DE LA CARTE ANALOGIQUE

◼ Ouvrir la configuration matérielle :

◼ Choisir la carte analogique dans le catalogue matériel et l’insérer à


l’emplacement prévu dans le rack:

◼ Double-cliquer sur la carte analogique pour afficher ses propriétés :

166
COMPLEMENTS
Analogique

◼ Configurer les entrées analogiques:


Choisir le filtre
pour éviter les
Cocher si la voie variations
est utilisée dues à des
parasites
(de 1 à 6)

Choisir le type
de signal Choisir la mise
à l’échelle de
la voie

Paramètre de la voie en
0-10V
0-20mA
4-20mA

0 à 10 000 points

Paramètre de la voie en
+/-10V

-10 000 points à 10 000 points

◼ Définir enfin la tâche associée et le temps de scrutation des voies de la carte :

Normal : toutes les voies


sont scrutées
Rapide : Seules les voies
configurées sont scrutées

167
COMPLEMENTS
Analogique

◼ Configurer les sorties analogiques:


Détecte si un
câble est
coupé

Comportement des sorties lors du passage


Choisir le type en mode STOP de l'automate ou sur une
Choisir la mise
de signal erreur de communication.
à l’échelle de Repli : les sorties sont définies sur une
la voie valeur paramétrable comprise entre ‐10
000 et +10 000 (0 par défaut).
Maintien de la valeur : les sorties restent
dans l'état où elles se trouvaient avant le
passage de l'automate en mode STOP.

Paramètre de la voie en
0-20mA
4-20mA

0 à 10 000 points

Paramètre de la voie en
+/-10V

-10 000 points à 10 000 points

168
COMPLEMENTS
Analogique
L’association d’une voie, d’un groupe de voies ou d’un module d’entrées/sorties à une
tache est définie dans l’écran de configuration du module correspondant.

La tache associée par défaut est la tache MAST.

Cycle permet de définir le cycle de scrutation des entrées Normal ou Rapide.


Normal : Toutes les voies sont scrutées
Rapide : seules les voies configurées sont scrutées

169
COMPLEMENTS
Analogique
◼ Cliquer sur le type de la carte et afficher l’onglet Objets d’E/S:

◼ Pour l’utilisation de IODDT, cocher %CH puis appuyer sur la touche Mettre à
jour grille. Il est alors possible d’affecter un nom et un commentaire aux voies
de la carte et à l’état du module.

170
COMPLEMENTS
Analogique

◼ Structure IODDT T_GEN_MOD

◼ Structure IODDT T_ANA_IN_BMX

171
COMPLEMENTS
Analogique

◼ Structure IODDT T_ANA_OUT_BMX

172
COMPLEMENTS
Analogique
7.1.8.PROGRAMMATION DE LA MISE À L’ÉCHELLE DE L’ENTRÉE

7.1.8.1.Première méthode par calcul

◼ Créer une variable Coeff_A de type REAL ainsi qu’une variable Offset_B
également de type REAL.
◼ Créer une variable VoieA_R de type REAL

◼ Créer enfin une variable Pression de type REAL.

◼ Créer un nouvelle section Mise à l’échelle et programmer la mise à l’échelle.


◼ Exemple en Ladder du capteur de pression :

◼ Exemple en ST :

173
COMPLEMENTS
Analogique
7.1.8.1.Deuxième méthode via la fonction SCALING

Le bloc fonction SCALING permet de représenter une grandeur numérique dans une
plage de valeurs différente.

◼ Description des paramètres d’entrée :

◼ Description des paramètres de la structure Para_SCALING :

◼ Description des paramètres de sortie :

174
COMPLEMENTS
Analogique
7.1.9.PROGRAMMATION DE LA MISE À L’ÉCHELLE DE LA SORTIE

◼ Créer une variable Var_Coeff_A de type REAL ainsi qu’une variable


Var_Offset_B également de type REAL.

◼ Créer une variable Consigne_correct de type REAL


◼ Créer enfin une variable Consigne de type REAL.

◼ Créer un nouvelle section Mise à l’échelle et programmer la mise à l’échelle.


◼ Exemple en Ladder:

◼ Exemple en ST :

175
COMPLEMENTS
Analogique
7.1.10.DIAGNOSTIC D’UNE CARTE ANALOGIQUE

Depuis la configuration matérielle, double-cliquer sur la carte analogique. En ligne,


l’onglet Mise au point est visible :

Valeur actuelle
mesurée

Led Erreur
Si erreur,
cliquer dessus Bornage de la Permet de
pour afficher valeur compenser un
une boite de décalage de
dialogue Coefficient de capteur
filtrage de 0
(nul) à 6 (fort)

176
COMPLEMENTS
Services
7.2.SERVICES

7.2.1.I/O SCANNING

Le service I/O scanning permet de mettre en œuvre un échange implicite de données


sans écriture de code. Une station peut fonctionner en mode scanner (Maître) mais
peut également être scannée (esclave) de façon transparente.

7.2.1.1.M340 via NOE


Le port intégré de la CPU M340 ne supporte pas le service I/O scanning. La carte BMX
NOE 0100.2 ou BMX NOE0110.2 est alors nécessaire pour réaliser un I/O scanning.

◼ Insérer la carte BMX NOE 0110.2 dans le bus automate.

◼ Clic droit sur Réseaux et sélectionner Nouveau réseau…

177
COMPLEMENTS
Services
◼ Choisir Ethernet et nommer le réseau.

◼ Double clic sur la carte BMX NOE 0110.2 dans le bus automate. Sélectionner la
voie 0 et relier la carte au réseau.

◼ Valider en appuyant sur l’icône .

178
COMPLEMENTS
Services
◼ Ouvrir la configuration du réseau. Renseigner l’adresse IP et le masque de sous-
réseau dans l’onglet Configuration IP.
◼ Activer le service IO Scanning.

179
COMPLEMENTS
Services
◼ Dans l’onglet IO Scanning, configurer le service IO Scanning.

Zone lecture Zone écriture

◼ Adresse IP : Adresse IP du partenaire


◼ Zone lecture
- Objet maître : Adresse du 1er mot du maître où les données lues seront
stockées (%MW300 ici)
- Ref esclave : Adresse du 1er mot à lire dans l’esclave (%MW100 ici)
- Longueur : Nombre de mots à lire dans l’esclave (10 mots)

◼ Zone écriture
- Objet maître : Adresse du 1er mot du maître à partir de laquelle les
valeurs lues seront écrites (%MW200 ici)
- Ref esclave : Adresse du 1er mot de l’esclave où les données seront
écrites (%MW100 ici)
- Longueur : Nombre de mots à écrire dans l’esclave (10 mots)

◼ Dernière valeur entrée: permet soit de maintenir la valeur, soit de la remettre à


0 en cas de défaut de communication.
◼ ID unité : 255
◼ Syntaxe esclave : Permet de choisir le type de syntaxe entre index, modbus et
CEI.
◼ Timeout de validité : indique le temps en ms avant mise passage en défaut de
communication
◼ Période de répétition : correspond au temps en ms entre 2 requêtes I/O
Scanning.

Les échanges Modbus sont limités à un maximum de 125 mots d'entrée et 100 mots
de sortie. Si une application a besoin d'échanger plus de mots pour un équipement, il
est possible d'utiliser plusieurs lignes de la table I/O Scanning : plusieurs lignes par
équipement.

180
COMPLEMENTS
Services
7.2.1.2.M340 via NOC
Le port intégré de la CPU M340 ne supporte pas le service I/O scanning. La carte BMX
NOC 0401.2 peut être utilisée pour réaliser un I/O scanning.

◼ Insérer la carte BMX NOC 0401.2 dans le bus automate. Nommer la carte et
sélectionner le protocole Modbus TCP dans l’onglet Informations sur le
protocole.

◼ La carte BMX NOC 0401.2 apparait alors dans le bus automate.

181
COMPLEMENTS
Services
◼ Double cliquer sur la carte pour afficher la fenêtre de configuration.
◼ Configurer l’adresse des variables de la voie 0.

◼ Entrées : 16 mots d’état sont réservés au début de la table (de %MW9984 à


%MW9999 ici).
Renseigner l’adresse %MW9984 permet de faire commencer les entrées à
l’adresse %MW10000 et étant donné que la longueur est de 1000 mots, la
dernière entrée est %MW10983.

◼ Sorties:
Renseigner l’adresse %MW10984 permet de faire commencer les sorties à
l’adresse %M10984 et étant donné que la longueur est de 1000 mots, la
dernière sortie est %MW11983.
16 mots d’état sont réservés à la fin de la table donc de %MW11984 à
%MW11999.

Les variables DDT d’équipement seront ajoutées aux variables du projet lors de la
génération.

◼ Ouvrir le navigateur DTM via Outils/Navigateur de DTM.

182
COMPLEMENTS
Services
◼ Double cliquer sur la carte NOC. Renseigner l’adresse IP et le masque de la carte
puis Appliquer.

◼ Compiler le projet puis ouvrir l’éditeur de données et cocher DDT. Les mots
d’état ont bien été créé aux adresses définies.

183
COMPLEMENTS
Services
◼ Clic droit sur la NOC depuis le navigateur de DTM et sélectionner Ajouter…

◼ Sélectionner l’équipement Modbus Device puis Ajouter DTM.

◼ Nommer l’équipement.

184
COMPLEMENTS
Services
◼ Double cliquer sur la NOC dans le navigateur de DTM.

◼ Sélectionner l’équipement Modbus, puis dans l’onglet Paramétrage de


l’adresse, renseigner l’adresse IP de la CPU et Appliquer.

185
COMPLEMENTS
Services
◼ Sélectionner l’onglet Paramétrage de la requête puis cliquer sur Ajouter une
requête.

◼ Configurer alors la requête :


▪ ID unité : 255

▪ Timeout de validité : indique le temps en ms avant mise passage en défaut de


communication

▪ Période de répétition : correspond au temps en ms entre 2 requêtes I/O


Scanning.

▪ Adresse lecture : Adresse du 1er mot à lire dans l’esclave (%MW1000)

▪ Longueur lecture : Nombre de mots à lire dans l’esclave (10 mots)

▪ Dernière valeur entrée: permet soit de maintenir la valeur, soit de la remettre à


0 en cas de défaut de communication.

▪ Adresse écriture : Adresse du 1er mot de l’esclave où les données seront écrites.

▪ Longueur écriture : Nombre de mots à écrire dans l’esclave (10 mots)

◼ Appliquer une fois la configuration terminée.

186
COMPLEMENTS
Services
◼ Sélectionner la Requête 001 : Items dans l’arborescence. Dans l’onglet Entrée,
sélectionner toutes les lignes du tableau puis cliquer sur Définir des items.

◼ Choisir le type de données utilisées (ici INT), le type de zone utilisé (ici un
tableau) et enfin nommer la table de communication (ici Read_IO_Scan).

◼ Ouvrir l’éditeur de données et cocher DDT. Le tableau de 10 INT est visible.

187
COMPLEMENTS
Services
2ème
Il n’y a pas de configuration particulière à faire dans la CPU car elle est scannée
ère
(esclave) de façon transparente par la 1 CPU qui elle fonctionne en mode scanner
(Maître).

Il faut néanmoins mettre à disposition les données selon la configuration.


Dans notre exemple il s’agit d’un tableau de 10 INT qui commence au mot %MW1000.

◼ Les données lues peuvent alors être utilisées dans le programme :

188
COMPLEMENTS
Services
7.2.1.3.M580

La CPU M580 supporte le service I/O scanning et DTM au niveau du port intégré sans
avoir besoin d’une carte supplémentaire.

Exemple de configuration : La CPU 1 (Maître) vas lire les données dans la CPU 2
(Esclave) via l’outil DTM.

◼ Configurer le bus automate 1 et double cliquer sur le port EIO de la CPU M580.

◼ Cliquer sur le bouton déverrouiller la sécurité dans l’onglet Security.

189
COMPLEMENTS
Services
◼ Renseigner l’adresse IP et le masque de sous réseau dans l’onglet IPConfig .

◼ Valider en appuyant sur l’icône .

◼ Utilisation de l’outil DTM pour la configuration de la communication entre les 2


CPU. Ouvrir le navigateur DTM via Outils/Navigateur de DTM.

190
COMPLEMENTS
Services
◼ Clic droit sur la CPU et sélectionner Ajouter…

◼ Sélectionner l’équipement Modbus Device puis Ajouter DTM.

◼ Nommer l’équipement.

191
COMPLEMENTS
Services
◼ Double cliquer sur la CPU dans le navigateur de DTM.

◼ Sélectionner l’équipement Modbus, puis dans l’onglet Paramétrage de


l’adresse, renseigner l’adresse IP de la CPU et Appliquer.

192
COMPLEMENTS
Services
◼ Sélectionner l’onglet Paramétrage de la requête puis cliquer sur Ajouter une
requête.

◼ Configurer alors la requête :


▪ ID unité : 255

▪ Timeout de validité : indique le temps en ms avant mise passage en défaut de


communication

▪ Période de répétition : correspond au temps en ms entre 2 requêtes I/O


Scanning.

▪ Adresse lecture : Adresse du 1er mot à lire dans l’esclave (%MW1000)

▪ Longueur lecture : Nombre de mots à lire dans l’esclave (10 mots)

▪ Dernière valeur entrée: permet soit de maintenir la valeur, soit de la remettre à


0 en cas de défaut de communication.

▪ Adresse écriture : Adresse du 1er mot de l’esclave où les données seront écrites.

▪ Longueur écriture : Nombre de mots à écrire dans l’esclave (10 mots)

◼ Appliquer une fois la configuration terminée.

193
COMPLEMENTS
Services
◼ Sélectionner la Requête 001 : Items dans l’arborescence. Dans l’onglet Entrée,
sélectionner toutes les lignes du tableau puis cliquer sur Définir des items.

◼ Choisir le type de données utilisées (ici INT), le type de zone utilisé (ici un
tableau) et enfin nommer la table de communication (ici TAB_COM_DEPUIS).

◼ Ouvrir l’éditeur de données et cocher DDT d’équipement. Le tableau de 10 INT


est alors visible.

194
COMPLEMENTS
Services
2 ème
Il n’y a pas de configuration particulière à faire dans la CPU car elle est scannée
ère
(esclave) de façon transparente par la 1 CPU qui elle fonctionne en mode scanner
(Maître).

Il faut néanmoins mettre à disposition les données selon la configuration.


Dans notre exemple il s’agit d’un tableau de 10 INT qui commence au mot %MW1000.

◼ Les données lues peuvent alors être utilisées dans le programme :

195
COMPLEMENTS
Services
7.2.2.GLOBAL DATA

Le service Global Data a pour objet de permettre un échange de données automatique


pour la coordination des applications d’automate sans ligne de programme
particulière. Ce service n’est pris en charge que par certains modules ou processeurs.

Les modules de communication sont rassemblés dans un groupe de distribution afin


d'échanger les variables utilisées pour la coordination de l'automate.

Chaque module de communication publie une variable d'application locale pour les
autres modules de communication du groupe.

Chaque module peut également souscrire aux variables d'application publiées par
l'ensemble des autres modules partageant le groupe de distribution, quel que soit son
emplacement.

Une fois le module configuré, les échanges entre les modules de communication
partageant le même groupe de distribution s'effectuent automatiquement lorsque
l'automate est en mode RUN.

Un groupe de distribution est un groupe de modules de communication identifiés par


la même adresse IP de multidiffusion. Les échanges en "multidiffusion" sont utilisés
pour distribuer les données globales. Plusieurs groupes de distribution indépendants
peuvent coexister sur un même sous-réseau avec leur propre adresse de
multidiffusion.

Il n'existe aucune limite théorique au nombre de stations partageant un groupe de


distribution. La limite principale réside dans le nombre de variables échangées au sein
du groupe de distribution (64 variables).

Chaque station peut publier une variable (jusqu’à 1024 bytes) et souscrire de 1 à 64
variables.
La sélection des variables à publier ou souscrire s’effectue dans l’éditeur de données.

196
COMPLEMENTS
Services

◼ Ouvrir la configuration du réseau et activer le service Global Data.

◼ Aller dans l’onglet Global Data et renseigner les différents paramètres :

197
COMPLEMENTS
Services
◼ Timeout de validité :
Permet de définir la valeur de « timeout » de validité. Cette valeur peut être
réglée entre 50 et 15 000 ms, par incréments de 50 ms. Un bit d'état associé
(objets topologiques %IW entre %IWr.m.c.5 et %IWr.m.c.8) est associé à
chaque élément Global Data et sert à contrôler si les données ont été publiées
et reçues au bout du délai indiqué dans cette fenêtre. Si c'est le cas, la valeur
est 1 ; sinon, le bit est réglé sur 0.

◼ Adresse de groupe :
La zone Adresse de groupe indique l'adresse IP de multidiffusion (classe D) du
groupe de distribution auquel la station appartient : z Valeur minimale :
224.0.0.0 z Valeur maximale (par défaut) : 239.255.255.255

◼ Période de distribution
La zone Période de distribution est utilisée pour sélectionner la période de
distribution de la publication. La publication est temporelle et n'est pas
synchronisée avec la tâche maître (Mast) de l'automate. La valeur de la
distribution est multipliée par 10, de telle sorte que la plage de paramètres
disponibles de 1 à 1 500 représente les périodes de distribution entre 10 et 15
000 ms (par incréments de 10).

◼ Nom de groupe
Le Nom de groupe est défini dans l'éditeur de données. Le nom associe une
variable de l'éditeur de variables à un module donné.

◼ Filtrage multidiffusion
Le filtrage permet de réduire le flux des données sur les grands réseaux. Pour
que le filtrage multidiffusion soit possible, il convient d'utiliser des
commutateurs capables de gérer cette fonction (protocole GMRP IEEE 802.1D).
Si la case est : z cochée : le filtrage est activé z non cochée : le filtrage est
désactivé

◼ Ouvrir ensuite l’éditeur de données et créer une type DDT structure qui
regroupe les variables à publier. Par exemple ici nous avons une structure
COM_INTER_MACHINES.

198
COMPLEMENTS
Services
◼ Dans l’éditeur de données, dans l’onglet Variable, créer une instance du type
DDT crée précédemment. (ici COM_Machine1) qui correspond aux données qui
seront publiées sur le réseau
◼ Créer également une ou plusieurs instances du type DDT crée précédemment.
(ici COM_Machine2 et COM_Machine3) pour souscrire aux données sur le
réseau.
◼ Afficher la colonne Donnée globale et l’ouvrir pour afficher la colonne Groupe.
◼ La colonne Donnée globale propose trois choix de configuration de variables :
NON, PUB et SOU :
▪ NON : ni publiée ni souscrite.
▪ PUB : publiée.
▪ SOU : souscrite.
◼ Attribuer un nom au groupe Donnée globale dans le champ Groupe.
◼ Complétez le champ ID Données : identifiant d'une station distante dans un
groupe de distribution

◼ Exemple pour la machine 1 :


La structure COM_Machine1 est publié sur le groupe Ligne_Prod, la machine 1
possède l’ID 1 (univoque).
La structure COM_Machine2 est souscrite par la machine 1, les données étant
publiées par la machine 2 qui possède l’ID 2.
La structure COM_Machine3 est souscrite par la machine 1, les données étant
publiées par la machine 3 qui possède l’ID 3.

◼ Exemple pour la machine 2 :


La structure COM_Machine2 est publié sur le groupe Ligne_Prod, la machine 2
possède l’ID 2 (univoque).
La structure COM_Machine1 est souscrite par la machine 2, les données étant
publiées par la machine 1 qui possède l’ID 1.
La structure COM_Machine3 est souscrite par la machine 2, les données étant
publiées par la machine 3 qui possède l’ID 3.

199
COMPLEMENTS
Services

◼ Exemple pour la machine 3 :


La structure COM_Machine3 est publié sur le groupe Ligne_Prod, la machine 3
possède l’ID 3 (univoque).
La structure COM_Machine1 est souscrite par la machine 3, les données étant
publiées par la machine 1 qui possède l’ID 1.
La structure COM_Machine2 est souscrite par la machine 3, les données étant
publiées par la machine 2 qui possède l’ID 2.

200
COMPLEMENTS
Services
7.2.3.READ/WRITE VAR

Les blocs fonction de communication Read_Var et Write_Var permettent de mettre en


œuvre un échange explicite de données via le protocole Modbus TCP.

Les fonctions de communication sont asynchrones, elles lancent l’échange (envoi ou


réception) mais il faut attendre qu’il soit terminé.

Une application peut contenir un grand nombre de fonctions explicites mais seules 16
peuvent être actives simultanément.

201
COMPLEMENTS
Services
7.2.3.1.Write_Var

La fonction WRITE_VAR permet d'écrire un ou plusieurs objets langage du même type


et consécutifs:
▪ bits internes
▪ mots internes

◼ ADR : L'adresse de la voie (en mode caractères) de réception du message est


indiquée par la fonction ADDM.
La syntaxe de l'adresse est du type suivant : ADDM ('Nom_réseau{adresseIP}’)
◼ OBJ : Type des objets à écrire :
o %M : bits internes,
o %MW : mots internes
◼ NUM : Indice du premier objet à écrire dans l’équipement destinataire.
◼ NB : Nombre d’objets à écrire.
◼ EMIS : Tableau de mots contenant la valeur des objets à écrire.
◼ GEST : Table de gestion de l'échange composée des mots suivants :
o Mot de rang 1 : mot géré par le système et composé de 2 octets :
▪ octet de poids fort : numéro d'échange,
▪ octet de poids faible : bit d'activité (rang 0) et bit d'annulation
(rang 1)
o Mot de rang 2 : mot géré par le système et composé de 2 octets :
▪ octet de poids fort : compte rendu d'opération
▪ octet de poids faible : compte rendu de communication
o Mot de rang 3 : mot géré par l'utilisateur et qui définit le temps de
réponse maximum en utilisant une base de temps de 100 ms.
o Mot de rang 4 : mot géré par le système et qui définit la longueur de
l'échange.

202
COMPLEMENTS
Services
7.2.3.2.Read_Var

La fonction READ_VAR permet de lire un ou plusieurs objets langage du même type et


consécutifs:
▪ bits internes
▪ mots internes

◼ ADR : L'adresse de la voie (en mode caractères) de réception du message est


indiquée par la fonction ADDM.
La syntaxe de l'adresse est du type suivant : ADDM ('Nom_réseau{adresseIP}’)
◼ OBJ : Type des objets à écrire :
o %M : bits internes,
o %MW : mots internes
◼ NUM : Indice du premier objet à lire de l’équipement destinataire.
◼ NB : Nombre d’objets à lire.
◼ RECP : Tableau de mots contenant la valeur des objets lus.
◼ GEST : Table de gestion de l'échange composée des mots suivants :
o Mot de rang 1 : mot géré par le système et composé de 2 octets :
▪ octet de poids fort : numéro d'échange,
▪ octet de poids faible : bit d'activité (rang 0) et bit d'annulation
(rang 1)
o Mot de rang 2 : mot géré par le système et composé de 2 octets :
▪ octet de poids fort : compte rendu d'opération
▪ octet de poids faible : compte rendu de communication
o Mot de rang 3 : mot géré par l'utilisateur et qui définit le temps de
réponse maximum en utilisant une base de temps de 100 ms.
o Mot de rang 4 : mot géré par le système et qui définit la longueur de
l'échange.

203
COMPLEMENTS
Services
7.2.3.3.Table de gestion de l'échange

Les paramètres de gestion sont regroupés dans un tableau de quatre entiers. Les
valeurs contenues dans ce tableau servent à gérer les fonctions de communication.

7.2.3.3.1.Mot de rang 1

◼ octet de poids faible :


o bit d'activité (rang 0)
Ce bit indique l'état d'exécution de la fonction de communication.
Il prend la valeur 1 lorsque la fonction démarre et revient à 0 une fois
l'exécution terminée.
Il s'agit du premier bit du premier élément de la table.

o bit d'annulation (rang 1)


Pour annuler la fonction de communication, régler ce bit sur 1 et
relancer l'EF.

o bit d'annulation (rang 2)


Pour annuler la fonction de communication, régler ce bit sur 1 et
relancer l'EF.

◼ octet de poids fort : numéro d'échange


Lorsqu'une fonction de communication est envoyée, le système lui attribue
automatiquement un numéro, permettant ainsi l'identification de
l'échange.
Ce numéro peut être utilisé lorsqu'il est nécessaire d'arrêter l'échange en
cours (à l'aide de la fonction CANCEL).

204
COMPLEMENTS
Services
7.2.3.3.2.Mot de rang 2 - Comptes rendu

Le compte rendu de communication est rangé dans l’octet de poids faible du mot
de rang 2.

Si le compte rendu de communication est 16#FF, cela veut dire que le message émis à
été refusé et est revenu à l’expéditeur avec un code de refus rangé dans l’octet de
poids fort du mot de rang 2.

205
COMPLEMENTS
Services
7.2.3.3.3.Mot de rang 3 - Timeout

Le timeout définit le temps d'attente maximum de la réponse. La base de temps pour


ce paramètre est de 100 ms (la valeur 0 correspond à une attente infinie).
Une fois le timeout expiré, l'échange se termine avec un compte rendu d'erreur. En
outre, le système n'accepte aucune réponse après la fin du timeout.

7.2.3.3.4.Mot de rang 4 - Longueur de l'échange.

Le paramètre de longueur est utilisé pour définir le nombre de caractères (en octets) à
envoyer lors de l'émission, mais également pour stocker le nombre de caractères (en
octets) reçus après la réception d'un message.

206
COMPLEMENTS
Carte SD
7.3.CARTE SD

7.3.1.MISE À JOUR À DISTANCE

Pour mettre à jour une application sur un site distant :


◼ Modifier le programme en local
◼ Envoyer la carte SD
◼ Mise en place de la carte automate hors tension et mise sous tension automate

7.3.2.RELATION RAM ET CARTE SD

Le contenu de la carte SD sera mis à jour automatiquement après :


◼ un chargement,
◼ une modification en mode connecté,
◼ un front montant du bit système %S66
Le contenu de la RAM sera mis à jour automatiquement après :
◼ une mise sous tension.
◼ un front montant du bit système %S65

207
COMPLEMENTS
Carte SD
7.3.3.COUPURE SECTEUR

7.3.4.GESTION CONTENU RAM ET CARTE SD

208
COMPLEMENTS
Bilan mémoire
7.4.BILAN MÉMOIRE

◼ Sélection menu Automate/Utilisation de la mémoire...

Variables localisées donc


adressées

Variables non localisées et


mémoire locale des EFB/
DFB

C’est le programme

Sources programme et
commentaires qui dépendent
des options de projet

Configuration automate

Message de diagnostic système


et application qui dépendent
des options de projet

209
COMPLEMENTS
Les reprises secteur
7.5.LES REPRISES SECTEUR

210
COMPLEMENTS
Les reprises secteur

◼ Conséquences d’une reprise à froid :


o RAZ des bits E/S et bits internes %Mi
o INIT des séquences SFC (étapes initiales)
o INIT des blocs fonctions à partir des données de configurations (EFB et DFB)
o RAZ des mots internes si sauvegarde non demandée en configuration CPU
o Annulation des forçages des bits et blocage d’étape
o Envoi des paramètres de configuration à tous les coupleurs métiers
(analogique, comptage, communication, etc…)
o RUN ou STOP après la reprise selon la configuration et/ou l’état de l’entrée
RUN/STOP si elle existe
o Mise à 1 de la variable %S0

◼ Conséquences d’une reprise à chaud :


o Redémarrage en début de programme
o Mise à 1 de la variable %S1
o Initialisation des files de messages
o Envoi des paramètres de configuration à tous les coupleurs métiers
(analogique, comptage, communication, etc…)
o Désactive les tâches EVT et FAST jusqu’à la fin du 1er cycle de MAST
o Vide les files événements
o Relance la tâche MAST

211
COMPLEMENTS
Options du projet
7.6.OPTIONS DU PROJET

◼ Outils/ Options :

◼ Outils/Options du projet :

212
COMPLEMENTS
Options du projet


Permet d’afficher un message d’avertissement lors de l’analyse si une variables est
pilotée plusieurs fois dans le projet. Cela peut être utile pour éviter la multi-écriture
de la même sortie dans le programme.

Permet d’éviter les erreurs de recouvrement. Par exemple si dans le programme on


utilise %MW0 et %MD0, le logiciel nous avertira que ces 2 zones mémoires se
superposent.


Permet de pouvoir transférer le projet de l’automate vers le PC.

Permet de sélectionner le chargement ou pas des commentaires dans l’automate.

Permet le diagnostic en ligne de l’application du système via le viewer de diagnostic

213
COMPLEMENTS
Options du projet

Cocher cette case permet de représenter plusieurs grafcets sur une même page.

214
COMPLEMENTS
Protection de section
7.7.PROTECTION DE SECTION

◼ Clic doit sur la section et sélectionner Caractéristiques…

◼ Sélectionner le niveau de protection (Lecture seule ou Pas de lecture ni


d’écriture) puis Appliquer. La section apparait alors avec un cadenas ouvert.

215
COMPLEMENTS
Protection de section
◼ Clic doit sur le projet et sélectionner Propriétés

◼ Dans l’onglet Protection du Programme & Safety, cocher Protection active.


◼ Renseigner un mot de passe et le confirmer.

◼ Les sections protégées apparaissent alors avec un cadenas fermé.

216
COMPLEMENTS
Protection de section
◼ Pour déverrouiller les sections protégées : Clic doit sur le projet et sélectionner
Propriétés
◼ Dans l’onglet Protection du Programme & Safety, décocher Protection active.
◼ Renseigner un mot de passe et le confirmer.

◼ Les sections protégées apparaissent alors avec un cadenas ouvert.

217
COMPLEMENTS
Importer / Exporter
7.8.IMPORTER / EXPORTER

Le format XEF exporte la totalité du projet mais il est possible d’exporter juste un éditeur
de programmation, la configuration matérielle ou l’es données de l’éditeur de données.

Pour cela, se positionner sur l’élément que l’on veut exporter dans la vue structurelle ou
fonctionnelle du navigateur du projet puis sélectionner la commande Exporter du menu
Fichier ou directement via un clic droit et la commande Exporter du menu contextuel.

Une boite de dialogue s’ouvre demandant le nom et l’emplacement où l’on souhaite


stocker le fichier.

Extensions des fichiers d’export :

◼ Configuration matérielle :
◼ Variables de l’éditeur de données

◼ Sections de programme:

◼ Écrans d’exploitation :
La commande Importer va permettre quant à elle l’importation de ces fichiers d’export
dans un autre programme.

218
COMPLEMENTS
OS Loader
7.9.OS LOADER

Le logiciel OS Loader fourni avec control Expert permet d’effectuer la mise à jour des
systèmes d’exploitation de certains processeurs et modules Ethernet.

Choix du mode de transfert

219
COMPLEMENTS
OS Loader

220
COMPLEMENTS
OS Loader
OSLoader peut exécuter deux commandes différentes :
◼ Télécharger un nouveau système d'exploitation vers l'équipement sélectionné ;
◼ Charger le système d'exploitation de l'équipement sélectionné vers un fichier

Dans cet écran, les éléments suivants sont comparés :


◼ Propriétés du fichier à transférer à l'équipement sélectionné (zone Fichier),
◼ Propriétés du système d'exploitation disponible sur le module cible (zone
Équipement).

221
COMPLEMENTS
OS Loader
rCet écran affiche un résumé des informations principales relatives à la procédure choisie
et permet d'accéder à la phase de transfert des données.

L'écran Etat d'avancement fournit des informations relatives à la procédure en cours :


CHARGEMENT sur l'équipement

Attention : Pendant la phase de mise à jour du système d’exploitation, il ne faut pas de


perte d’alimentation sous réserve de dégâts irréversibles.

L'affichage de la fenêtre État d'avancement 100 % signifie que l'opération est


correctement terminée.

222
COMPLEMENTS
Logiciel Unity Loader
7.10.LOGICIEL UNITY LOADER

Unity Loader est un logiciel autonome destiné à la plateforme matérielle M340


Il n’est pas nécessaire d’avoir une licence control Expert pour utiliser le chargeur.

Unity Loader permet le transfert d’une application du Pc vers l’automate et l’inverse. Il


mermet également le transfert d’un firmware du Pc vers l’automate.

7.10.1.TRANSFERT DE PROJET

◼ Choisir le mode de connexion à l’automate (ici USB).


◼ Choisir le sens du transfert (PC->Automate ou Automate->PC)
◼ Chercher le firmware sur le PC
◼ Cliquer sur Connecter
◼ Cliquer sur Transférer

223
COMPLEMENTS
Logiciel Unity Loader

7.10.2.TRANSFERT DE FIRMWARE

◼ Choisir le mode de connexion à l’automate (ici USB).


◼ Chercher le firmware sur le PC
◼ Cliquer sur Connecter
◼ La version actuelle du firmware de l’automate s’affiche à droite
◼ Cliquer sur Transférer pour démarrer la mise à jour du firmware

224
COMPLEMENTS
Ajout d’un fichier EDS
7.11.AJOUT D’UN FICHIER EDS

Il est nécessaire d''ouvrir le Navigateur de DTM : Outils / Navigateur de DTM

Dans la fenêtre Navigateur de DTM, sélectionner le module de communication concerné


et cliquer avec le bouton droit de la souris.

Dans le menu contextuel qui apparaît, choisir Menu Equipement/Fonctions


supplémentaires/Ajouter un fichier EDS à la bibliothèque.

La page d'introduction de l'assistant apparaît vous autorisant l'ajout de fichiers EDS.

225
COMPLEMENTS
Ajout d’un fichier EDS
Sélectionner le fichier EDS ou le répertoire d'EDS

226
COMPLEMENTS
Ajout d’un fichier EDS

L’étape suivante consiste à mettre à jour le catalogue de DTM et de vérifier si le DTM o


bien été intégré dans le catalogue.

227
ECRANS D’EXPLOITATION
Ajout d’un écran d’exploitation
8. ECRANS D’EXPLOITATION

Les écrans d’exploitation intégrés au projet Control Expert sont destinés à faciliter
l’exploitation d’un procédé automatisé sans avoir à passer par une IHM. Ils sont notamment
utiles en phase de développement et de simulation.

8.1.AJOUT D’UN ÉCRAN D’EXPLOITATION

◼ Clic droit sur le dossier Écrans d’exploitation du navigateur du projet et sélectionner


Nouvel Écran.

◼ L’écran apparait dans le navigateur du projet. Il faut définir les propriétés de


l’écran.

228
ECRANS D’EXPLOITATION
Ajout d’un écran d’exploitation

Numéro d'identification d'écran.


Permet d'associer un bouton de navigation à l'écran.
Nom de l’écran Ce numéro peut être utilisé lorsque l'automate
contrôle l'affichage des écrans en mode connecté

Possibilité de
ranger l’écran dans
une famille

Possibilité de lier
l’écran à un module
fonctionnel

Si coché, l’écran
peut servir de
modèle pour Si coché, l’éran
d’autres écrans utilisera le modèle
(Ne pas mettre sélectionné
d’objets animés
en revanche)
Couleur du fond
d’écran

Taille d’écran

Informations

229
ECRANS D’EXPLOITATION
La barre d’outils
8.2.LA BARRE D’OUTILS

Icone Description Icone Description


Sélection Case à cocher

Création de lignes Compteur

Création de rectangles Curseur

Création d’ellipses Échanges explicites


Symétrie verticale et
Création de courbes
horizontale

Création de lignes
Alignements
polygonales fermées

Création de texte Avant plan

Incorporation d’image Arrière-plan

Bouton de navigation
Association des objets
d’écran

Champ de saisie Dissociation des objets

Bouton

Pilotage automate Propriétés par défaut

Initialise une table


Pilotage opérateur
d’animation
Initialise les références
Objet animé suivant
croisées
Écriture des variables dans
Objet animé précédent
l’automate

230
ECRANS D’EXPLOITATION
Présentation des objets
8.3.PRÉSENTATION DES OBJETS
Les écrans sont réalisés au moyen de textes et d’objets graphiques qui peuvent être
dessinées ou récupérés de la bibliothèque d’objets.

Ils sont constitués de parties statiques (fond de l’écran, titre…) et de parties dynamiques
ou animés qui permettent de refléter l’état du procédé. Des variables seront alors
affectées aux objets dynamiques.

Des objets de pilotage (boutons, zone de saisie…) peuvent être également insérés pour la
conduite du procédé.

8.3.1.OBJETS SIMPLE

8.3.1.1.Ligne, Rectangle, Ellipse, Courbe, Polyligne

◼ Pour créer un objet, sélectionner le type dans la barre d’outils (ici rectangle).

◼ Pointer l’écran avec le bouton gauche et agrandir l’objet. Quand la taille


correspondante est bonne, relâcher la souris. L’objet est alors inséré dans l’écran.
On peut par la suite le déplacer et/ou le redimensionner.

◼ Double clic sur l’objet pour afficher ses propriétés


8.3.1.1.1.Propriétés de dessin

Design de l’objet
Couleur
Motifs…

231
ECRANS D’EXPLOITATION
Présentation des objets
8.3.1.1.2.Propriétés d’affichage et d’animation

Non coché =
Objet statique

Coché =
Objet animé

Choix de la variable
d’animation EBOOL

Choix des
conditions
d’affichage

Objet animé

Choix de la
variable
d’animation INT

Choix des
conditions
d’affichage

232
ECRANS D’EXPLOITATION
Présentation des objets
8.3.1.1.3.Animation Bargraphe
Un Bargraphe permet de représenter graphiquement sous forme de rectangles
l’évolution d’une variable. Seuls les objets de type rectangle peuvent être des
Bargraphes.

Type de bargraphe

Valeurs de seuil de la
variable
Ici 0 bargraphe vide
1000 bargraphe plein

Possibilité de changer
la couleur du bargraphe
en dessous ou au
dessus d’un seuil

233
ECRANS D’EXPLOITATION
Présentation des objets
8.3.1.1.4.Animation Chronogramme
Un chronogramme permet de représenter graphiquement l’évolution d’une variable.
La courbe représentative évoluant de la droite vers la gauche. Seuls les objets de type
rectangle peuvent être des chronogrammes.

Période de
rafraichissement
de l’écran

Valeurs de seuil de la
variable

La durée dépends de la
taille du rectangle , de
l’échantillonnage et de
la définition

234
ECRANS D’EXPLOITATION
Présentation des objets
8.3.1.2.Texte

◼ Pour créer un objet texte, sélectionner le type dans la barre d’outils.

◼ Pointer l’écran avec le bouton gauche et agrandir l’objet. Quand la taille


correspondante est bonne, relâcher la souris. L’objet est alors inséré dans l’écran.
On peut par la suite le déplacer et/ou le redimensionner.

◼ Double clic sur l’objet pour afficher ses propriétés

Texte à afficher

Design du texte

Design de l’objet
Couleur
Motifs…

235
ECRANS D’EXPLOITATION
Présentation des objets
8.3.1.2.1.Propriétés d’affichage et d’animation

Non coché =
Objet statique

Coché =
Objet animé

Choix de la variable
d’animation

Choix des
conditions
d’affichage

8.3.1.2.2.Animation Texte

Des messages composés d’un texte et d’un libellé et mémorisés dans le projet peuvent
être affichés dans une zone de texte

◼ Clic droit sur Écrans d’exploitation puis sélectionner Liste des messages/Ouvrir.

236
ECRANS D’EXPLOITATION
Présentation des objets

◼ Lors de la création du projet, la liste des messages est vide.

◼ Si la case Valeur est cochée, le champ Texte va afficher la valeur courante de la


variable. Bien choisir le format d’affichage (Décimal, Binaire…)
◼ Si la case Message est cochée, le champ Texte va afficher soit un message en
particulier (dans ce cas renseigner le numéro du message) soit le message dont le
numéro correspond à la valeur de la variable (dans ce cas renseigner VAL en
numéro). Le décalage permet de saisir une valeur qui s’ajoute à celle contenue dans
la varaible.
◼ Si la case Commentaire variable est cochée et si la condition d’animation du texte
est réalisée, le commentaire associé à la variable est affiché.

237
ECRANS D’EXPLOITATION
Présentation des objets
◼ Exemples :

238
ECRANS D’EXPLOITATION
Présentation des objets
8.3.1.3.Image

◼ Pour créer un objet image, sélectionner le type dans la barre d’outils.

◼ Sélectionner l’image du type bmp ou jpg.

◼ L’image est insérée. On peut par la suite la déplacer et/ou la redimensionner

239
ECRANS D’EXPLOITATION
Présentation des objets
8.3.2.OBJETS DE PILOTAGE

Les objets de pilotage sont des objets qui permettent de naviguer d’un écran à un
autre, de modifier la valeur d’une variable ou d’envoyer une commande vers un
module métier de l’automate.

8.3.2.1.Bouton

◼ Pour créer un objet, sélectionner le type dans la barre d’outils.

◼ Pointer l’écran avec le bouton gauche et agrandir l’objet. Quand la taille


correspondante est bonne, relâcher la souris. L’objet est alors inséré dans l’écran.
On peut par la suite le déplacer et/ou le redimensionner.

◼ Double clic sur l’objet pour afficher ses propriétés.


8.3.2.1.1.Propriétés de pilotage

Variable sélectionnée
dans l’éditeur de
donnée
A chaque impulsion sur
le bouton, la variable
prend la valeur 1 puis 0
au relâchement

Texte du bouton
Si cochée, le
bouton se
comporte comme
un commutateur

8.3.2.1.1.Propriétés d’affichage et d’animation

Coché = Objet animé

Non coché = Choix de la variable


Objet statique d’animation EBOOL

Choix des
conditions
d’affichage

240
ECRANS D’EXPLOITATION
Présentation des objets
8.3.2.2.Case à cocher

8.3.2.3.Zone de saisie

8.3.2.4.Compteur

241
ECRANS D’EXPLOITATION
Présentation des objets
8.3.2.5.Curseur

8.3.2.6.Bouton de navigation d’écran

8.3.2.7.Objet d’échange explicite

242
ECRANS D’EXPLOITATION
Présentation des objets
Les objets à échange explicites sont de 3 types :
▪ Les paramètres d’état, informations ou défaut tel que défaut bornier, fusible…
▪ Les paramètres de commande tel que réarmement sortie disjonctée…
▪ Les paramètres de réglage tel que valeur de consigne, valeur de seuil…

Les instructions READ_STS (lecture état) permettent la lecture explicite des mots d’état
associés aux modules métier (état du module ou état de la voie).
Exemple : READ_STS (%CH 0.2.0); (* voie 0 de l’emplacement 2)

Les instructions WRITE_CMD (écriture commande) permettent l’écriture implicite des mots
de commande associés aux modules métier (commande du module ou de la voie).

Les instructions READ_PARAM (lecture paramètre) permettent la lecture explicite des


paramètres de réglage d’une voie du module métier.
Exemple : READ_PARAM (%CH 0.2.0);

Les instructions WRITE_PARAM (écriture paramètre) permettent l’écriture explicite des


paramètres de réglage d’une voie du module métier.
Exemple : WRITE_PARAM (%CH 0.2.0);

Les instructions SAVE_PARAM (sauvegarde paramètre) permettent la mise à jour de la


zone de sauvegarde à partir de la mémoire du module métier.
Exemple : SAVE_PARAM (%CH 0.2.0);

Les instructions RESTORES_PARAM (restauration paramètre) permettent la mise à jour


des paramètres de réglage dans la mémoire du module métier à partir de la zone de
sauvegarde.
Exemple : RESTORE_PARAM (%CH 0.2.0);

Ce reporter à la documentation de la carte métier pour le détail des différents paramètres.

Remarque :

Les paramètres de réglage et de configuration sont conservés après une reprise à chaud

En cas de reprise à chaud suite au débrochage / rebrochage du module métier, la cpu


envoie les paramètres de configuration puis les valeurs de réglage.

En cas de reprise à froid, les paramètres de réglage courant sont écrasés par les paramètres
de réglage initiaux ou sauvegardés. Les paramètres de configuration sont conservés.

8.3.3.OBJETS COMPOSÉS
Les objets composés sont créés par l’utilisateur ou proviennent de la bibliothèque et
contiennent des objets simples ainsi que des objets de pilotage.

243
ECRANS D’EXPLOITATION
Présentation des objets
8.3.4.ANIMER UN ÉCRAN D’EXPLOITATION

Le bouton Valider l’écriture de variables permet de passer du mode édition au mode


simulation.

Mode édition

Mode simulation

244
ECRANS D’EXPLOITATION
Bibliothèque des écrans d’exploitation
8.4.BIBLIOTHÈQUE DES ÉCRANS D’EXPLOITATION

La bibliothèque d’objets présente les objets constructeurs et permet de les insérer dans
les écrans d’exploitation. Les objets sont classés par familles. Il est également possible
d’insérer en bibliothèque ses propres objets.

◼ Pour ouvrir la bibliothèque, cliquer sur le menu Outils/Bibliothèque des écrans


d’exploitation.

Familles

Aperçu des objets

245
VARIABLES SYSTÈME
Bits système %S0 à %S7
9. VARIABLES SYSTÈME
Les automates disposent de bits système %Si et de mots système %SWi qui indiquent les états
de l’automate ou permettent d’agir sur le fonctionnement de celui-ci.

Ces bits et mots peuvent être testés dans le programme utilisateur afin de détecter toute
évolution de fonctionnement devant entraîner une procédure particulière de traitement.

Certains de ces bits/mots doivent être remis dans leur état initial ou normal par le programme.
Cependant, les bits/mots système qui sont remis dans leur état initial ou normal par le système
ne doivent pas l’être par le programme ou par le terminal

9.1.BITS SYSTÈME %S0 À %S7


Bit Symbole Fonction Explication
Normalement sur 0, ce bit est mis sur 1 par :
une reprise secteur avec perte de données (défaut de pile),
le programme utilisateur
le terminal,
%S0 COLDSTART Démarrage à froid un changement de cartouche (PCMCIA sur Premium et
Quantum).
Ce bit est mis à l'état 1 lors du premier cycle de restauration
complet de l'automate en mode RUN ou STOP. Il est remis sur 0
par le système avant le cycle suivant.
Normalement sur 0, ce bit est mis sur 1 par :
une reprise secteur avec enregistrement des données,
le programme utilisateur,
%S1 WARMSTART Démarrage à chaud
le terminal.
Il est remis à 0 par le système à la fin du premier cycle complet et
avant la mise à jour des sorties.
%S4 TB10MS Base de temps 10 ms
Un temporisateur interne régule le changement d'état de ces
%S5 TB100MS Base de temps 100 ms
bits.
%S6 TB1SEC Base de temps 1 s
Ils sont asynchrones par rapport au cycle de l'automate.
%S7 TB1MIN Base de temps 1 min

9.2.BITS SYSTEME %S9 A %S13


Symbole
Bit Explication
Fonction

Normalement sur 0, ce bit est mis sur 1 par le programme ou par la borne :
valeur 1 : provoque la mise à 0 ou le maintien de la valeur suivant la configuration choisie
(bus X, Fipio, AS-i, etc.).
valeur 0 : les sorties sont mises à jour normalement.
OUTDIS NOTE : le bit système agit directement sur les sorties physiques et non sur les bits image
Mise en position des sorties.
%S9 de repli des
sorties sur tous Sur Modicon M340 :
les bus Les entrées/sorties distribuées via le bus CANopen ne sont pas affectées par le bit %S9.
Les services Global Data et I/O Scanning Ethernet sont affectés par le bit %S9.
Après un mode de marche, les sorties sont en mode sécurité (état égal à 0) tandis que le bit
est sur 1.
Sur Modicon M580 : Seules les entrées/sorties locales sont affectées par le bit %S9.

246
VARIABLES SYSTÈME
Bits système %S15 à %S21
Normalement à l'état 1, ce bit est mis à l'état 0 quand une erreur est détectée sur un
IOERR
module en rack ou un équipement sur un réseau (configuration non conforme, défaut
%S10 Erreur d'E/S
d'échange, défaut matériel, etc.). Le bit %S10 est remis à 1 par le système une fois que les
globale détectée
erreurs détectées ont été résolues.
WDG Normalement à l'état 0, ce bit est mis à l'état 1 par le système dès que le temps
%S11 Dépassement du d'exécution d'une tâche devient supérieur au temps d'exécution maximum (chien de
chien de garde garde) déclaré dans les propriétés de la tâche.
PLCRUNNING
Ce bit est mis à l'état 1 par le système lorsque l'automate est en RUN. Il est mis à 0 par le
%S12 Automate en
système dès que l'automate n'est plus en RUN (état STOP, INIT...).
RUN
1RSTSCANRUN
Le passage de l'automate du mode STOP au mode RUN (y compris après un démarrage à
Premier cycle
%S13 froid avec démarrage automatique en mode Run) est signalé par la mise à 1 du bit système
après mise en
%S13. Ce bit est remis à 0 à la fin du premier cycle de la tâche MAST en mode RUN.
RUN

9.3.BITS SYSTEME %S15 A %S21


Symbole
Bit Explication
Fonction

Normalement à l'état 0, ce bit est mis à l'état 1 si la zone de destination d'un transfert de
STRINGERROR chaîne de caractères ne possède pas la taille suffisante (avec le nombre de caractères et
%S15 Défaut chaîne de le caractère de fin de chaîne de caractères) pour accueillir cette chaîne de caractères.
caractères L'application s'arrête en erreur si le bit %S78 a été mis à 1.
Ce bit doit être remis à 0 par l'application.

IOERRTSK Normalement à l'état 1, ce bit est mis à 0 par le système quand un défaut sur un module
Défaut en rack ou un équipement sur Fipio est détecté (configuration non conforme, défaut
%S16
d'entrées/sorties d'échange, défaut matériel, etc.).
tâche Ce bit doit être remis à 1 par l'utilisateur.
CARRY
Normalement à l'état 0.
%S17 Sortie décalage
Lors d'une opération de décalage circulaire, ce bit prend l'état du bit sortant.
circulaire
Normalement à l'état 0, ce bit est réglé sur 1 en cas de dépassement de capacité dans les
cas suivants :
un résultat supérieur à + 32 767 ou inférieur à - 32 768, en nombre entier (INT) ;
un résultat supérieur à + 65 535 ou inférieur à 0, en nombre entier non signé (UINT) ;
un résultat supérieur à + 2 147 483 647 ou inférieur à - 2 147 483 648, en nombre entier
double DINT ;
un résultat supérieur à + 4 294 967 295 ou inférieur à 0, en nombre entier double non
signé (UDINT) ;
valeurs réelles hors bornes ;
OVERFLOW
division par 0 ;
Dépassement ou
%S18 la racine carrée d'un nombre négatif ;
erreur
le forçage à un pas inexistant sur un programmateur cyclique ;
arithmétique
l'empilage d'un registre plein ou le vidage d'un registre déjà vide.
Il n'existe qu'un seul cas où le bit %S18 n'est pas mis à 1 par les automates Modicon
M340, Modicon M580 et Momentum lorsque des valeurs réelles sont hors limites. C'est
lorsque des opérandes non normalisés ou certaines opérations générant des résultats
non normalisés sont utilisés (dépassement progressif par valeur inférieure).
Doit être testé par le programme utilisateur après chaque opération présentant un risque
de dépassement, puis remis à 0 par l'utilisateur en cas de dépassement.
Lorsque le bit %S18 passe à 1, l'application s'arrête en erreur si le bit %S78 a été réglé sur
1.
Normalement à l'état 0, ce bit est mis à l'état 1 par le système en cas de dépassement de
OVERRUN
la période d'exécution (délai d'exécution de tâche supérieur à la période définie par
%S19 Dépassement
l'utilisateur dans la configuration ou programmée dans le mot %SW associé à la tâche).
période de tâche
L'utilisateur doit remettre ce bit à 0. Chaque tâche gère son propre bit %S19.

247
VARIABLES SYSTÈME
Bits système %S30 à %S59
(scrutation
périodique)
Normalement à l'état 0, ce bit est réglé sur 1 lorsque l'adresse de l'objet indexé devient
inférieure à 0 ou dépasse le nombre d'objets déclarés dans la configuration.
INDEXOVF Dans ce cas, l'index est considéré comme étant égal à 0.
%S20 Dépassement Doit être testé par le programme utilisateur, après chaque opération où il y a risque de
d'index dépassement, puis remis à 0 en cas de dépassement.
Lorsque le bit %S20 passe à 1, l'application s'arrête en erreur si le bit %S78 a été réglé sur
1.
Testé dans une tâche (Mast, Fast, Aux0, Aux1, Aux2, Aux3), le bit %S21 indique le premier
1RSTTASKRUN
cycle de cette tâche, y compris après un démarrage à froid avec démarrage automatique
%S21 Premier cycle de
en mode Run et un démarrage à chaud. %S21 est mis à 1 en début de cycle et remis à
tâche
zéro en fin de cycle.

9.4.BITS SYSTEME %S30 A %S59


Bit Symbole Fonction Explication
Normalement à l'état 1. La tâche maître est désactivée lorsque
l'utilisateur règle le bit sur 0. Le code utilisateur n'est alors plus
utilisé.
Activation/désactivation
%S30 MASTACT Ce bit est pris en compte par le système à la fin de chaque cycle
de la tâche maître
de tâche MAST.
En mode Ram d'état, les entrées TOR et analogiques ne sont
pas actualisées lorsque ce bit est réinitialisé.
Normalement à l'état 1 lorsque l'utilisateur crée la tâche. La
Activation/désactivation tâche est désactivée lorsque l'utilisateur règle le bit sur 0.
%S31 FASTACT
de la tâche FAST En mode Ram d'état, les entrées TOR et analogiques ne sont
pas actualisées lorsque ce bit est réinitialisé.
M580 - Normalement à l'état 1 lorsque l'utilisateur crée la
Activation/désactivation
%S32 AUX0ACT tâche. La tâche auxiliaire est désactivée lorsque l'utilisateur
de la tâche auxiliaire 0
règle le bit sur 0
M580 - Normalement à l'état 1 lorsque l'utilisateur crée la
Activation/désactivation
%S33 AUX1ACT tâche. La tâche auxiliaire est désactivée lorsque l'utilisateur
de la tâche auxiliaire 1
règle le bit sur 0
Mise en position de repli
%S36 des sorties sur le réseau Uniquement M580
d'E/S Ethernet
Activation/inhibition des Normalement réglé sur 1. Les événements sont inhibés lorsque
%S38 ACTIVEVT
événements l'utilisateur règle le bit sur 0.
Ce bit est réglé sur 1 par le système pour indiquer qu'un ou
Saturation lors du
plusieurs événements ne peuvent pas être traités lorsque les
%S39 EVTOVR traitement de
files d'attente sont saturées.
l'événement
Ce bit doit être remis à l'état 0 par l'utilisateur.
Défaut d'entrée/de
%S40 RACK0ERR
sortie du rack 0
Défaut d'entrée/de
%S41 RACK1ERR
sortie du rack 1
Normalement réglé sur 1. Ce bit prend la valeur 0 en cas de
Défaut d'entrée/de
%S42 RACK2ERR défaillance des entrées/sorties sur le rack.
sortie du rack 2
Dans ce cas :
Défaut d'entrée/de
%S43 RACK3ERR le bit %S10 est mis à 0,
sortie du rack 3
le voyant du processeur d'E/S est allumé,
Défaut d'entrée/de
%S44 RACK4ERR le bit de module %Ir.m.c.Err est réglé sur 1.
sortie du rack 4
Ce bit reprend la valeur 1 lorsque la défaillance disparaît.
Défaut d'entrée/de
%S45 RACK5ERR
sortie du rack 5
Défaut d'entrée/de
%S46 RACK6ERR
sortie du rack 6

248
VARIABLES SYSTÈME
Bits système %S62 à %S79
Défaut d'entrée/de
%S47 RACK7ERR
sortie du rack 7
Normalement réglé sur 0. Ce bit est réglé sur 1 ou 0 par le
programme ou le terminal :
valeur 0 : mise à jour des mots système %SW50 à %SW53 avec
Mise à jour de la date et
la date et l'heure fournies par l'horodateur de l'automate.
%S50 RTCWRITE de l'heure à l'aide des
valeur 1 : les mots système %SW50 à %SW53 ne sont plus mis à
mots %SW50 à %SW53
jour, ce qui rend possible leur modification.
Le basculement de 1 à 0 met à jour l'horodateur avec les
valeurs saisies dans les mots %SW50 à %SW53.
Lorsqu'il est réglé sur 1, ce bit géré par le système indique que
l'horodateur est non valide ou que ses mots système (%SW50 à
%S51 RTCERR Retard de l'horodateur
%SW53) sont sans signification. Dans ce cas, l'horodateur doit
être réinitialisé sur l'heure correcte.
Si l'application est configurée pour prendre en charge l'heure
Indication de l'heure
%S58 RTCSTIME d'été/d'hiver, lorsque ce bit géré par le système est réglé sur 1,
d'été (M580)
cela signifie que la date actuelle est à l'heure d'été.
Normalement réglé sur 0. Ce bit est réglé sur 1 ou 0 par le
Mise à jour incrémentale programme ou le terminal :
%S59 RTCTUNING de la date et de l'heure à valeur 0 : le système ne gère pas le mot système %SW59.
l'aide du mot %SW59 valeur 1 : le système gère les fronts sur le mot %SW59 pour
régler la date et l'heure (par incrément).

9.5.BITS SYSTEME %S62 A %S79


Symbole /
Bit Explication
Fonction
CARDVAL
%S62 Signature de Ce bit est réglé sur 1 lorsque la carte SD contient une zone de signature valide.
carte valide
Ce bit permet de garantir la cohérence des informations lorsqu'une carte mémoire est
extraite de l'UC.
Pour ce faire, il est nécessaire de générer un front montant sur le bit %S65 avant d'extraire la
carte mémoire.
Si un front montant est détecté, le voyant d'accès à la carte s'éteint lorsque les accès en
cours prennent fin (lecture et modification de fichiers, enregistrement de l'application). Le
voyant CARDERR reste inchangé.
La carte mémoire peut alors être extraite. Le voyant CARDERR reste allumé ou s'allume.
CARDIS
Lorsqu'une carte mémoire est insérée :
%S65 Désactivation de
le voyant d'accès s'allume,
la carte mémoire
le voyant CARDERR affiche l'état de la carte mémoire,
%S65 reste inchangé,
%S65 doit revenir à 0 pour autoriser la détection d'un front montant.
NOTE : si un front montant est généré sur le bit et si la carte mémoire n'est pas extraite, la
remise du bit à 0 ne rend pas la carte mémoire accessible.
Pour rendre la carte mémoire à nouveau accessible, procédez au choix comme suit :
extrayez et remettez en place la carte mémoire,
initialisez à nouveau l'automate (à l'aide du bouton de réinitialisation de l'alimentation).
L'utilisateur paramètre ce bit sur 1 pour démarrer une opération de sauvegarde (transfert de
l'application de la RAM à la carte). Le système détecte le front montant pour démarrer la
sauvegarde. Il procède chaque seconde à des interrogations pour connaître l'état de ce bit.
Une sauvegarde a lieu uniquement si l'application dans la RAM est différente de celle sur la
APPLIBCK
carte.
%S66 Sauvegarde de
Une fois la sauvegarde terminée, le système paramètre ce bit sur 0.
l'application
Avertissement : avant d'effectuer une nouvelle sauvegarde en réglant le bit %S66 sur 1, vous
devez vérifier que le bit %S66 avait été réglé sur 0 par le système (ce qui signifie que la
sauvegarde précédente est terminée). N'utilisez jamais le bit %S66 s'il a la valeur 1. Vous
risqueriez de perdre des données.

249
VARIABLES SYSTÈME
Bits système %S80 à %S97
Le bit %S66 est particulièrement utile après le remplacement de la valeur initiale %S94 et
l'enregistrement de paramètres.
DIAGBUFFCONF Ce bit est réglé sur 1 par le système si l'option de diagnostic est configurée : un tampon de
Tampon de diagnostic destiné au stockage des erreurs détectées par les DFB de diagnostic est alors
%S76
diagnostic réservé.
configuré Ce bit est en lecture seule.
DIAGBUFFFFULL Ce bit est réglé sur 1 par le système lorsque le tampon recevant les erreurs des blocs
%S77 Tampon de fonction de diagnostic est rempli.
diagnostic plein Ce bit est en lecture seule.
HALTIFERROR Normalement à 0, ce bit peut être réglé sur 1 par l'utilisateur, pour programmer l'arrêt de
%S78
Arrêt si erreur l'automate en cas de dysfonctionnement de l'application : %S15, %S18,%S20.

9.6.BITS SYSTEME %S80 A %S97


Symbole /
Bit Explication
Fonction
RSTMSGCNT
Remise à zéro des Normalement à l'état 0, ce bit peut être mis à 1 pour réinitialiser les compteurs de messages
%S80
compteurs de %SW80 à %SW86.
messages
%S88 M580 -Basculement d'adaptateur RIO Quantum S908 en architecture M580
Normalement à l'état 0, ce bit peut être mis à 1 par l'utilisateur pour configurer les fonctions
EXCHGTIME de communication en mode de mesure des performances.
Mode de mesure Le paramètre de timeout des fonctions de communication (qui figure dans le tableau de
%S92
de la fonction de gestion) affiche alors le temps d'échange aller/retour en millisecondes.
communication Lors de la réinitialisation du bit %S92 pour revenir au mode initial, l'application utilisateur
doit réinitialiser la valeur du paramètre de timeout.
Normalement à l'état 0, ce bit peut être mis à 1 par l'utilisateur pour remplacer les valeurs
initiales des variables déclarées ayant un attribut « Save » (par exemple, les variables DFB)
par les valeurs actuelles.
SAVECURRVAL
Le système remet le bit %S94 à 0 quand le remplacement est terminé.
Enregistrement
%S94 Pour Modicon M340, sur un front montant %S94, le contenu de la RAM interne et celui de la
des valeurs de
carte mémoire sont différents (%S96 = 0 = 1 et le voyant CARDERR LED est allumé). Lors d'un
réglage
démarrage à froid, les valeurs en cours sont remplacées par les valeurs initiales les plus
récentes, à condition qu'un enregistrement sur carte mémoire ait été exécuté auparavant
(fonction Enregistrer la sauvegarde ou front montant %S66).
Ce bit est réglé sur 0 ou 1 par le système.
BACKUPPROGOK Il est mis à 0 lorsque la carte est manquante ou inutilisable (format incorrect, type non
%S96 Programme reconnu, etc.) ou lorsque son contenu ne correspond pas à la RAM de l'application interne.
sauvegardé OK Il est mis à 1 lorsque la carte fonctionne et que son contenu correspond à la RAM de
l'application interne de l'UC.
%S97 M580 - Programme sauvegardé OK

9.7.BITS SYSTEME %S100 A %S124


Symbole /
Bit Explication
Fonction
M580 - Etat du code de correction d'erreur (ECC)
Ce bit affiche l'état de la fonction de code de correction d'erreur des UC M580 redondantes :
0 : ECC est activé (par défaut).
%S109 Etat de l'ECC 1 : ECC est désactivé.
Ce bit %S109 est disponible sur les versions de microprogramme 2.50 et ultérieures des UC
M580 redondantes.
L'ECC peut être activé et désactivé à l'aide de %SW150.
M580 - Erreur d'E/S distantes sur le réseau d'E/S Ethernet
%S117 ERIOERR Normalement réglé sur 1, ce bit est réglé sur 0 par le système lorsqu'une erreur est détectée
sur un équipement du réseau d'E/S distribuées Ethernet.

250
VARIABLES SYSTÈME
Bits système %S100 à %S124
NOTE : Dans la sécurité M580, certaines erreurs détectées liées aux modules d'E/S de
sécurité (mais pas toutes) ne sont pas signalées.
Ce bit est remis à 1 par le système une fois que les erreurs détectées ont été résolues.
NOTE : Ce bit est réglé sur 1 pendant le premier cycle suivant un démarrage à froid.
M340 - Défaut général d'E/S distantes
Normalement à 1, ce bit est réglé sur 0 par le système lorsqu'un défaut est détecté sur un
%S118 REMIOERR équipement connecté au bus d'E/S distantes RIO
Ce bit est remis à 1 par le système lorsque le défaut détecté a été résolu.
Ce bit n'est pas mis à jour si une erreur est détectée sur les autres bus (DIO, Profibus, ASI).
LOCIOERR Normalement à 1, ce bit est mis à 0 par le système quand un défaut est détecté sur un
%S119 Défaut général module d'E/S installé dans l'un des racks.
d'E/S sur le rack Ce bit est remis à 1 par le système lorsque le défaut détecté a été résolu.
M580 - Alimentation redondante
Ce bit concerne la prise en charge d'une double alimentation sur le rack BMX :
1 = le rack de l'UC contient deux alimentations redondantes ou ne prend pas en charge ce
%S124
type d'alimentation (rack avec un seul emplacement pour l'alimentation, par exemple).
0 = le rack de l'UC content 2 alimentations mais la redondance est perdue. Par exemple, une
seule alimentation est active.

251
VARIABLES SYSTÈME
Mots système %SW0 à %SW11

9.8.MOTS SYSTÈME %SW0 À %SW11


Symbole /
Mot Explication
Fonction
Ce mot est utilisé pour modifier la période de la tâche Mast via le programme utilisateur ou
MASTPERIOD
le terminal.
Période de
%SW0 La période est exprimée en ms (1 à 255 ms).
scrutation de la
%SW0 = 0 en fonctionnement cyclique.
tâche MAST
Lors d'un redémarrage à froid : ce mot prend la valeur définie par la configuration.
FASTPERIOD Ce mot est utilisé pour modifier la période de la tâche FAST via le programme utilisateur ou
Période de le bornier.
%SW1
scrutation de la Cette période est exprimée en millisecondes (1 à 255 ms).
tâche FAST Lors d'un redémarrage à froid, ce mot prend la valeur définie par la configuration.
M580 - Ces mots sont utilisés pour modifier la période des tâches définies dans la
%SW2 AUX0PERIOD
configuration, via le programme utilisateur ou le bornier.
%SW3 AUX0PERIOD
La période est exprimée en dizaines de ms (10 ms à 2,55 s).
Ces deux mots indiquent l'adresse IP du port Ethernet de l'UC. La modification de la valeur
%SW6
Adresse IP de ce mot n'est pas prise en compte.
%SW7
Ces deux mots sont définis avec la valeur 0 si aucun lien Ethernet n'est associé à l'UC.
Normalement à l'état 0, ce bit peut être paramétré sur 1 ou 0 par le programme ou le
terminal.
Il inhibe la phase d'acquisition d'entrées de chaque tâche :
TSKINHIBIN %SW8.0 = 1 inhibe l'acquisition des entrées concernant la tâche MAST.
Surveillance de %SW8.1 = 1 inhibe l'acquisition des entrées concernant la tâche FAST.
%SW8
l'acquisition des %SW8.2 à 5 = 1 inhibe l'acquisition des entrées concernant les tâches AUX 0 à 3.
entrées de tâche Sur Modicon M340 :
Les E/S CANopen ne sont pas affectées par le mot %SW8.
Sur Modicon M580 :
Les E/S distribuées et Ethernet ne sont pas affectées par le mot %SW8.
Normalement à l'état 0, ce bit peut être paramétré sur 1 ou 0 par le programme ou le
terminal.
Il inhibe la phase de mise à jour des sorties de chaque tâche :
%SW9.0 = 1 affecté à la tâche MAST ; les sorties relatives à cette tâche ne sont plus gérées.
%SW9.1 = 1 affecté à la tâche FAST ; les sorties relatives à cette tâche ne sont plus gérées.
TSKINHIBOUT %SW9.2 à 5 = 1 affecté aux tâches AUX 0 à 3 ; les sorties relatives à ces tâches ne sont plus
Surveillance de la gérées.
%SW9
mise à jour des Sur Modicon M340 :
sorties de tâche Les entrées/sorties distribuées via le bus CANopen ne sont pas affectées par le mot %SW9.
Après un mode de marche, les sorties sont en mode sécurité (état égal à 0) tandis que le bit
est sur 1.
Pour le service I/O Scanning, les entrées sont surveillées par %SW9.0.
Sur Modicon M580 :
Les E/S distribuées et Ethernet ne sont pas affectées par le mot %SW9.
TSKINIT Si le bit de la tâche courante est défini sur 0, cela signifie que la tâche effectue son premier
Premier cycle cycle après un démarrage à froid :
%SW10 après un %SW10.0 : affecté à la tâche MAST.
démarrage à %SW10.1 : affecté à la tâche FAST.
froid %SW10.2 à 5 : affecté aux tâches AUX 0 à 3.
WDGVALUE
Lit la durée du chien de garde. La durée est exprimée en millisecondes (10-1 500 ms).
%SW11 Durée du chien
Ce mot ne peut pas être modifié.
de garde

252
VARIABLES SYSTÈME
Mots système %SW12 à %SW29
9.9.MOTS SYSTEME %SW12 A %SW29
Symbole /
Mot Explication
Fonction
UTWPORTADDR
Adresse du port M340 - Adresse esclave Modbus du port série de l'UC. La modification de la valeur de ce mot
%SW12
série du n'est pas prise en compte. Ce bit est mis à 0 lorsque l'UC ne dispose pas de port série.
processeur
OSCOMMVERS
Version
Ce mot contient la version actuelle du système d'exploitation du processeur de l'automate.
%SW14 commerciale du
Exemple : 16#0135 pour V1.35
processeur de
l'automate
OSCOMMPATCH Ce mot contient la version commerciale du patch pour le processeur de l'automate.
Version du patch Le codage s'effectue sur l'octet de poids faible du mot.
%SW15
du processeur de codage : 0 = pas de patch, 1 = A, 2 = B…
l'automate Exemple : 16#0003 correspond au patch C.
OSINTVERS
Numéro de Ce mot contient le numéro de version (au format hexadécimal) du micrologiciel interne du
%SW16 version du processeur de l'automate.
microprogramme Exemple : 16#0043 pour ir 43
interne
Lorsqu'une erreur est détectée dans une opération arithmétique flottante, le bit %S18 est
réglé sur 1 et l'état d'erreur du mot %S17 est mis à jour selon le codage suivant :
%SW17.0 = opération non valide/le résultat n'est pas un nombre.
FLOATSTAT %SW17.1 = opérande non normalisé/résultat acceptable (indicateur non géré par M340)
Etat d'erreur sur %SW17.2 = division par 0/le résultat est l'infini.
%SW17
opération %SW17.3 = dépassement supérieur - le résultat est l'infini.
flottante %SW17.4 = dépassement inférieur - le résultat est 0.
%SW17.5 à %SW17.15 = non utilisés.
Ce mot est remis à 0 par le système lors d'un démarrage à froid, mais aussi par le programme
pour pouvoir être réutilisé.
%SW18 représente les octets de poids faible et %SW19 les octets de poids fort du double
%SD18: mot %SD18, qui est incrémenté par le système chaque dixième de seconde.
100MSCOUNTER
%SW18 %SD18 est incrémenté systématiquement, même en mode STOP et dans des états
Compteur de
et équivalents. Cependant, les périodes au cours desquelles l'automate est éteint ne sont pas
temps absolu
%SW19 prises en compte (fonction uniquement liée à l'horodateur, pas au programmateur). %SD18
peut être lu par le programme utilisateur ou par le terminal.
%SD20 est incrémenté tous les millièmes de seconde par le système (même lorsque
%SD20:
MSCOUNTER l'automate est en mode STOP ; %SD20 n'est plus incrémenté si l'automate est mis hors
%SW20
Compteur de tension). %SD20 peut être lu par le programme utilisateur ou par la borne.
et
temps absolu %SD20 est réinitialisé lors d'un démarrage à froid.
%SW21
%SD20 n'est pas réinitialisé lors d'un démarrage à chaud.
Valeur du
M340 - L'octet de poids faible correspond au commutateur rotatif du processeur Ethernet.
%SW23 commutateur
Il peut être lu par le programme utilisateur ou par le terminal.
rotatif
Nombre de Ce mot système permet de vérifier côté serveur le nombre de requêtes traitées par
%SW26
requêtes traitées l'automate par seconde.
%SW27 contient la dernière durée du surdébit.
%SW28 contient la durée maximum du surdébit.
%SW27 %SW29 contient la durée minimum du surdébit.
%SW28 Durée surdébit La durée du surdébit dépend de la configuration (nombre d'E/S, etc.) et des requêtes de
%SW29 cycle en cours (communication, diagnostic).
Durée du surdébit = temps de cycle Mast - temps d'exécution du code utilisateur.
Ces mots peuvent être lus et écrits par le programme utilisateur ou par le terminal.

253
VARIABLES SYSTÈME
Mots système %SW30 à %SW47
9.10.MOTS SYSTEME %SW30 A %SW47
Symbole /
Mot Explication
Fonction
Temps d'exécution tâche maître
%SW30 MASTCURRTIME
%SW30 : Ce mot indique le temps d'exécution du dernier cycle de la tâche maître (en ms).
%SW31 : Ce mot indique le temps d'exécution le plus long de la tâche maître, depuis le
%SW31 MASTMAXTIME
dernier démarrage à froid (en ms).
%SW32 : Ce mot indique le temps d'exécution le plus court de la tâche maître, depuis le
%SW32 MASTMINTIME
dernier démarrage à froid (en ms).
Temps d'exécution tâche rapide
%SW33 FASTCURRTIME
%SW33 : Ce mot indique le temps d'exécution du dernier cycle de la tâche rapide (en ms).
%SW34 : Ce mot indique le temps d'exécution le plus long de la tâche rapide depuis le
%SW34 FASTMAXTIME
dernier démarrage à froid (en ms).
%SW35 : Ce mot indique le temps d'exécution le plus court de la tâche rapide depuis le
%SW35 FASTMINTIME
dernier démarrage à froid (en ms).
%SW36 AUX0CURRTIME
%SW37 AUX0MAXTIME M580 - Temps d'exécution de la tâche auxiliaire (AUX0)
%SW38 AUX0MINTIME
%SW39 AUX1CURRTIME
%SW40 AUX1MAXTIME M580 - Temps d'exécution de la tâche auxiliaire (AUX1)
%SW41 AUX1MINTIME

9.11.MOTS SYSTEME %SW48 A %SW69


Mot Symbole / Fonction Explication
IOEVTNB Ce mot indique le nombre d'événements d'E/S et de télégrammes traités depuis le
%SW48
Nombre d'événements dernier démarrage à froid. Il peut être écrit par le programme ou le terminal.
Fonction d'horodateur
Mots système contenant la date et l'heure actuelles (en BCD) :
%SW49 : jour de la semaine :
%SW49 DAYOFWEEK
1 = lundi ;2 = mardi; 3 = mercredi; 4 = jeudi; 5 = vendredi; 6 = samedi; 7 = dimanche
%SW50 : secondes (16#SS00)
%SW50 SEC
%SW51 : heures et minutes (16#HHMM)
%SW52 : mois et jour (16#MMJJ)
%SW51 HOURMIN
%SW53 : année (16#AAAA)
Ces mots sont gérés par le système lorsque le bit %S50 est paramétré sur 0.
%SW52 MONTHDAY
Ils peuvent être écrits par le programme utilisateur ou le terminal lorsque le bit %S50
est réglé sur 1.
%SW53 YEAR
Pour M580 :
L'heure actuelle est l'heure UTC (temps universel coordonné). Si une heure locale est
requise, utilisez la fonction RRTC_DT.
Fonction d'horodateur au dernier arrêt
Mots système contenant la date et l'heure de la dernière coupure du secteur ou du
dernier arrêt de l'automate (au format Binary Coded Decimal) :
%SW54 : secondes (00SS)
%SW54 STOPSEC
%SW55 : heures et minutes (HHMM)
%SW56 : mois et jour (MMJJ)
%SW55 STOPHM
%SW57 : année (AAAA)
%SW58 : l'octet de poids fort contient le jour de la semaine (de 1 pour lundi à 7 pour
%SW56 STOPMD
dimanche), tandis que l'octet de poids faible contient le code du dernier arrêt :
1 = passage du mode RUN au mode STOP par le terminal ou l'entrée dédiée.
%SW57 STOPYEAR
2 = arrêt par le chien de garde (tâche de l'automate ou débordement SFC).
4 = coupure secteur ou opération de verrouillage de la carte mémoire.
%SW58 STOPDAY
5 = arrêt suite à une défaillance matérielle.
6 = arrêt suite à une anomalie logicielle Les détails sur le type de défaillance logicielle
sont stockés dans %SW125.

254
VARIABLES SYSTÈME
Mots système %SW70 à %SW99
Contient deux séries de 8 bits permettant de régler la date courante.
L'action est toujours effectuée sur le front montant du bit.
Ce mot est activé lorsque le bit %S59 est sur 1.
Dans l'illustration ci-dessous, les bits de la colonne de gauche incrémentent la valeur,
ADJDATETIME tandis que ceux de la colonne de droite la décrémentent :
%SW59 Réglage de la date
actuelle

M580 - état de la fonction CCOTF


Signification des octets du mot %SW66 (XXYY) :
%SW66 CCOTF_STATUS
Octet de poids faible (YY) : état du traitement
Octet de poids fort (XX) : état détaillé
M580 - Nombre d'événements d'horodatage
%SW67 TIME_STAMP_RECORDS Ce mot contient le nombre d'enregistrements d'horodatage disponibles dans le
tampon local du module

9.12.MOTS SYSTEME %SW70 A %SW99


Mot Symbole / Fonction Explication
WEEKOFYEAR
%SW70 Mot système contenant le numéro de la semaine dans l'année : 1 à 52 (en BCD).
Fonction d'horodateur
M340 - Journal d'erreurs Unity 984
%SW72 La bibliothèque Extended Math (EMTH) a détecté des erreurs du journal d'erreurs
(comme LL984).
%SW73 TS_DIAGNOSTICS_FLAGS M580 - Indicateurs de diagnostic d'horodatage
%SW74 M580 - Etat de l'horodatage
TIMEREVTNB
Ce mot contient le nombre d'événements de type temporisateur figurant dans la file
%SW75 Compteur d'événements
d'attente.
de type temporisateur
Fonction de diagnostic : enregistrement
Résultat du dernier enregistrement :
%SW76 DLASTREG = 0 si l'enregistrement a réussi.
= 1 si le tampon de diagnostic n'a pas été configuré.
= 2 si le tampon de diagnostic est plein.
Fonction de diagnostic : non-enregistrement
Résultat de la dernière annulation de l'enregistrement :
= 0 si l'enregistrement a bien été annulé.
%SW77 DLASTDEREG
= 1 si le tampon de diagnostic n'a pas été configuré.
= 21 si l'identificateur d'erreur est incorrect.
= 22 si l'erreur n'a pas été enregistrée.
Fonction de diagnostic : nombre d'erreurs
%SW78 DNBERRBUF
Nombre d'erreurs actuellement présentes dans le tampon de diagnostic.
%SW80 MSGCNT0
%SW81 MSGCNT1 Gestion des messages
%SW82 MSGCNT2
%SW83 MSGCNT3 M340 - Ce mot est mis à jour par le système et peut également être réinitialisé à
%SW84 MSGCNT4 l'aide de %S80.
%SW85 MSGCNT5 Nombre de messages envoyés par le système au port terminal (port série Modbus).
%SW86 MSGCNT6
Nombre de requêtes traitées par le serveur synchrone par cycle de tâche maître
MSTSERVCNT (MAST).
%SW87 Gestion des Les requêtes traitées peuvent provenir de tous les ports de communication (ayant
communications accès au serveur Modbus/UNI-TE, chacun avec sa propre limitation). Cela signifie
également que les requêtes d'autres clients, et par conséquent les fonctions

255
VARIABLES SYSTÈME
Mots système %SW70 à %SW99
élémentaires de communication comme le scrutateur d'ES, un module IHM
connecté, etc., sont prises en compte.
%SW88 ASNSERVCNT Nombre de requêtes HTTP reçues chaque seconde par le serveur Web du processeur
%SW89 APPSERVCNT Nombre de requêtes FTP reçues chaque seconde par le serveur FTP.
Nombre maximum de requêtes traitées par cycle de tâche maître
Ce mot est utilisé pour définir un nombre maximal de requêtes (tous protocoles
confondus : UNI-TE, Modbus, etc.) qui peuvent être traitées par le serveur de
l'automate par cycle de tâche maître. (Les requêtes envoyées par l'automate en tant
que client ne sont pas prises en compte).
Le nombre de requêtes à traiter par cycle inclut les requêtes émanant de tous les
ports de communication (ayant accès au serveur). Cela signifie que les requêtes de
clients autres que les fonctions élémentaires de communication, comme le
scrutateur d'E/S, un module IHM connecté, etc., sont également comptabilisées.
Le mot est initialisé par le système avec la valeur N (valeur par défaut). Si la valeur 0
est saisie, la valeur N est prise en compte. Si une valeur comprise entre 1 et le
minimum est saisie, la valeur minimale est prise en compte. Si une valeur supérieure
au maximum est saisie, la valeur maximale est prise en compte.
%SW90 MAXREQNB
NOTE : les requêtes peuvent provenir de différents modules ou ports de
communication intégrés. La capacité de communication de chaque port étant
limitée, le nombre maximum de requêtes défini dans %SW90 peut ne pas être
atteint.
Ce nombre de requêtes doit être compris entre un minimum et un maximum (défini
comme N+4) en fonction du modèle.
Pour la gamme M340 :
BMX P34 10••/20•• : N = 8 (minimum 2, maximum 8 + 4 = 12)
Pour la gamme M580 :
BMX P58 10•0 : N = 16 (minimum 2, maximum 16 + 4 = 20)
BMX P58 20•0 : N = 24 (minimum 2, maximum 24 + 4 = 28)
BMX P58 30•0 : N = 32 (minimum 2, maximum 32 + 4 = 36)
BMX P58 40•0 : N = 40 (minimum 2, maximum 40 + 4 = 44)
%SW91 : nombre de messages de blocs fonction envoyés par seconde
Vitesses d'échange des %SW92 : nombre de messages de blocs fonction reçus par seconde
%SW91 et
messages de blocs Peut être lu par le programme utilisateur ou par le terminal.
%SW92
fonction Ces compteurs n'incluent pas d'autres requêtes sortantes provenant d'un scrutateur
d'ES, par exemple.
Peut être lu et écrit par le programme utilisateur ou par le terminal. Ce mot est
utilisé par le client pour effacer ou nettoyer la carte mémoire.
L'opération d'effacement supprime les pages Web. Pour les récupérer, effectuez
l'une des actions suivantes :
Via FTP :
Avant d'effectuer l'effacement, sauvegardez les pages Web en les copiant via FTP.
Après l'effacement, rechargez les pages Web via FTP.
Réinstallez le micrologiciel de système d'exploitation du processeur.
Commande et état de
L'opération de nettoyage efface le contenu du répertoire de stockage de données.
l'effacement du système
%SW93 L'effacement et le nettoyage ne sont possibles qu'en mode Stop :
de fichiers de carte
%SW93.0 = 1, un front montant démarre l'opération d'effacement.
mémoire
%SW93.1 indique l'état du système de fichiers après une requête d'effacement ou de
nettoyage :
%SW93.1 = 0, système de fichiers incorrect ou commande en cours.
%SW93.1 = 1, système de fichiers valide.
NOTE : La valeur par défaut de %SW93.1 est 0, %SW93.1 passe à 1 après l'exécution
réussie d'un effacement ou un nettoyage, puis le projet est transféré à l'automate,
%SW93.1 passe à 0.
%SW93.2 = 1, un front montant démarre l'opération de nettoyage.
Ces deux mots contiennent une valeur de 32 bits qui change à chaque modification
Signature de
%SW94 et de l'application sauf lors :
modification de
%SW95 d'une mise à jour des informations de chargement.
l'application
d'un remplacement de la valeur initiale par la valeur actuelle.

256
VARIABLES SYSTÈME
Mots système %SW100 à %SW117
d'un enregistrement de la commande de paramètre.
Ils peuvent être lus par le programme utilisateur ou par le terminal.
Ce mot est utilisé pour copier la valeur courante de %MW dans la mémoire Flash
interne ou pour la supprimer de cette même mémoire, et pour fournir l'état de
l'action. Il peut être lu par le programme utilisateur ou par le terminal :
%SW96.0 : requête de copie de la valeur actuelle de %MW dans la mémoire Flash
interne. Paramétrée sur 1 par l'utilisateur pour demander un enregistrement et
paramétrée sur 0 par le système lorsqu'un enregistrement est en cours.
NOTE : Vous devez arrêter le processeur avant d'effectuer la copie via %SW96.0.
%SW96.1 est réglé sur 1 par le système lorsqu'un enregistrement est terminé et sur 0
par le système lorsqu'un enregistrement est en cours.
%SW96.2 = 1 indique une erreur lors d'une opération d'enregistrement ou de
restauration (reportez-vous aux mots %SW96.8 à %SW96.15 pour les définitions de
CMDDIAGSAVEREST
code d'erreur).
Commande et diagnostic
%SW96 %SW96.3 = 1 indique qu'une opération de restauration est en cours.
d'enregistrement et de
%SW96.4 peut être réglé sur 1 par l'utilisateur pour supprimer la zone %MW de la
restauration
mémoire Flash interne.
%SW96.7 = 1 indique que la mémoire interne contient un enregistrement %MW
valide.
%SW96.8 à %SW96.15 sont des codes d'erreur utilisés lorsque %SW96.2 est réglé sur
1:
%SW96.9 = 1 indique que le nombre de %MW enregistrés est inférieur au nombre
configuré.
%SW96.8 = 1 et %SW96.9 = 1 signifient que le nombre de %MW enregistrés est
supérieur au nombre configuré.
%SW96.8 = 1, %SW96.9 = 1 et %SW96.10 = 1 signalent la détection d'une erreur
d'écriture dans la mémoire Flash interne.
Peut être lu par le programme utilisateur ou par le terminal. Indique l'état de la
carte.
%SW97 :
0000 = pas d'erreur.
0001 = sauvegarde de l'application ou écriture dans un fichier envoyée sur une carte
CARDSTS protégée en écriture.
%SW97
Etat de la carte 0002 = carte non reconnue ou sauvegarde de l'application endommagée.
0003 = sauvegarde de l'application requise, mais aucune carte disponible.
0004 = erreur d'accès à la carte, par exemple après la suppression incorrecte d'une
carte.
0005 = aucun système de fichiers présent sur la carte ou système présent non
compatible. Utilisez %SW93.0 pour effacer la carte.

9.13.MOTS SYSTEME %SW100 A %SW117


Mot Symbole / Fonction Explication
M580 - Signification des différents octets du mot %SW100 : XXYY
XX Réservés
YY s'incrémente chaque fois qu'une configuration d'E/S est effectuée dans le rack
CCOTF_COUNT
local.
%SW100 Registre d'état de
Les autres types de modification de l'application n'ont pas d'incidence.
comptage CCOTF
NOTE : lors d'un démarrage à froid, d'un démarrage à chaud ou du téléchargement
d'une application, %SW100 est remis à 0.
NOTE : lorsqu'un octet atteint sa valeur maximale (255), le compteur est réglé sur 1.
Signification des octets du mot %SW101 : (XXYY)
XX Réservés.
EIO_CCOTF_COUNT
YY s'incrémente chaque fois qu'une configuration d'E/S Ethernet est modifiée.
%SW101 Registre d'état de
NOTE : YY s'incrémente à deux reprises chaque fois qu'une modification est
comptage EIO CCOTF
effectuée sur une station distante Quantum S908 redondante.
Les autres types de modification de l'application n'ont pas d'incidence.

257
VARIABLES SYSTÈME
Mots système %SW124 à %SW127
NOTE : lors d'un démarrage à froid, d'un démarrage à chaud ou du téléchargement
d'une application, %SW101 est remis à 0.
M580 - Chaque adresse de bit forcé est stockée dans une table limitée à 1024
entrées.
Compteur des bits forcés Le mot %SW102 contient le nombre de bits stockés dans la table.
%SW102
Quantum stockés. NOTE : Il est possible de forcer davantage de bits que la limite de la table (1024) Dans
ce cas %SW108 est supérieur à %SW102 et la liste complète des bits forcés ne peut
pas être récupérée même si les bits sont déforcés ensuite.
FORCEDIOIM Mot %SW108 :
%SW108 Registre d'état de s'incrémente chaque fois qu'un bit TOR (%I, %Q, %M ou DDDT) est forcé.
comptage des bits forcés décrémente chaque fois qu'un bit TOR est déforcé.
FORCEDANA
Mot %SW109 :
Registre d'état de
%SW109 s'incrémente chaque fois qu'une voie analogique est forcée.
comptage des voies
décrémente chaque fois qu'une voie analogique est déforcée.
analogiques forcées
M580 - Le mot système %SW117 contient l'état des RIO Quantum fourni par le bloc
%SW117
fonction dérivé (DFB) PLCSTAT

9.14.MOTS SYSTEME %SW124 A %SW127


Mot Symbole / Fonction Explication
CPUERR
Utilisé seulement à des fins d'assistance.
Type d'erreur du
%SW124 Le dernier type de défaut système rencontré est écrit dans ce mot par le système
processeur ou du
(ces codes restent inchangés lors d'un redémarrage à froid).
système
Le code du dernier défaut détecté est donné dans ce mot.
Les codes d'erreur suivants entraînent l'arrêt de l'automate si %S78 est réglé sur
1. %S15, %S18 et %S20 sont activés indépendamment de %S78 :
16#2258 : exécution de l'instruction HALT
16#DE87 : erreur de calcul sur les nombres à virgule flottante (%S18, ces erreurs
sont répertoriées dans le mot %SW17)
BLKERRTYPE
%SW125 16#DEB0 : dépassement du chien de garde (%S11)
Dernier défaut détecté
16#DEF0 : division par 0 (%S18)
16#DEF1 : erreur de transfert de chaîne de caractères (%S15)
16#DEF2 : erreur arithmétique (%S18)
16#DEF3 : dépassement d'index (%S20)
NOTE : les codes 16#8xF4, 16#9xF4 et 16#DEF7 indiquent une erreur dans le
diagramme fonctionnel en séquence (SFC
Utilisé seulement à des fins d'assistance.
Adresse de l'instruction qui a généré le défaut bloquant de l'application.
Pour les processeurs 32 bits :
%SW126 %SW126 contient le mot de poids faible pour cette adresse.
ERRADDR0 Adresse d'instruction de %SW127 contient le mot de poids fort pour cette adresse.
%SW127 défaut bloquant Pour un arrêt du système dû à un dépassement du chien de garde :
ERRADDR1 %SW126 contient le numéro de la tâche maître (MAST) présentant le
dépassement.
%SW127 contient la valeur de la tâche maître (MAST) présentant le
dépassement.

258
VARIABLES SYSTÈME
Mots système %SW138 à %SW163 pour M340
9.15.MOTS SYSTEME %SW138 A %SW163 POUR M340
Mot Symbole / Fonction Explication
%SW138 et
Base des objets Modbus Adresses de base pour %I (entrée TOR) et %IW (registre d'entrée)
%SW140
Adresses de base pour %M (adresse de bit de sortie) et %MW (registre de
%SW139 et maintien)
Base des objets Modbus
%SW141 L'adresse de base est le nombre de %M ou de %MW correspondant à l'adresse
Modbus 0000
Inhibe l'erreur d'E/S générée par le système lorsqu'un équipement configuré sur
le bus CANopen n'est pas présent.
Cette inhibition peut être gérée avec les 4 mots système %SW142, %SW143,
%SW144 et %SW145.
Ces mots système mettent en œuvre une liste de bits indiquant une erreur de
nœud CANopen à inhiber :
Le bit 0 de %SW142 concerne l'équipement à l'adresse de nœud 1.
Le bit 1 de %SW142 concerne l'équipement à l'adresse de nœud 2.
...
%SW142 à Désactivation d'un Le bit 15 de %SW145 concerne l'équipement à l'adresse de nœud 64.
%SW145 équipement CANopen Valeurs de bit :
Si le bit est réglé sur 0 et si l'équipement n'est pas présent, une erreur est
générée.
Si le bit est réglé sur 1 et si l'équipement n'est pas présent, aucune erreur n'est
générée.
NOTE : La valeur par défaut est 0.
NOTE : cette inhibition peut être effectuée en temps réel, mais pour qu'elle soit
prise en compte, le maître CANopen doit être réinitialisé (réglage du bit 5 du mot
de sortie %QW0.0.2.0 sur 1). NOTE : les mots système %SW142 à %SW145 sont
disponibles à partir de la version 2.1 du système d'exploitation de l'UC.
Ces deux mots système contiennent le numéro de série unique de la carte SD (32
%SW146 et Numéro de série de bits). Si la carte SD est absente ou non reconnue, les deux mots système sont
%SW147 carte SD réglés sur 0. Cette information peut être utilisée pour protéger une application
contre la copie.
Informations concernant le dernier transfert d'abandon SDO :
%SW150 : mot de poids faible du code d'abandon SDO.
%SW150 à Code d'abandon SDO %SW151 : mot de poids fort du code d'abandon SDO.
%SW154 CANopen %SW152 : numéro de nœud du transfert SDO.
%SW153 : numéro d'index du transfert SDO.
%SW154 : numéro de sous-index du transfert SDO.
Les mots %SW160 à %SW163 sont associés aux racks 0 à 3, respectivement.
Les bits 0 à 15 de chacun de ces mots sont associés aux modules situés aux
positions 0 à 15 de ces racks.
PREMRACK0 à
Le bit est à 0 si une erreur est détectée sur le module et à 1 si le module
%SW160 à PREMRACK3
fonctionne correctement.
%SW163 Erreurs détectées pour
Exemple : %SW163.5 = 0, une erreur a été détectée sur le module situé à
les racks 0 à 3
l'emplacement 5 du rack 3.
Dans le cas de demi-racks, 2 demi-racks contigus forment un rack complet
normal, référencé par un seul SWi.

259
VARIABLES SYSTÈME
Mots système %SW128 à %SW141 pour M580
9.16.MOTS SYSTEME %SW128 A %SW141 POUR M580
Mot
Symbole
%SW132 à Fonction Adresse MAC
%SW134 Etat initial 0
Ces mots contiennent les données suivantes :
%SW132 : adresse MAC - octets de poids fort
%SW133 : adresse MAC - octets de poids moyen
%SW134 : adresse MAC - octets de poids faible
Exemple @MAC = AA-BB-CC-DD-EE-FF
%SW132 = AABB hex
%SW133 = CCDD hex
%SW134 = EEFF hex
%SW135 à Fonction Numéro de série
%SW137 Etat initial 0
Ces mots contiennent le numéro de série de l'automate M580 (correspond au S/N
écrit sur le module lui-même) :
%SW135: le numéro de série - octets de poids fort
%SW136: le numéro de série - octets de poids moyen
%SW137: le numéro de série - octets de poids faible
Exemple : SN21143512345
%SW135: 21 - code d'usine
%SW136: 1435 - année(14) et semaine(35)
%SW137: 12345 - numéro de commande (sur 5 chiffres)
%SW139 et Fonction Base des objets Modbus
%SW141 Etat initial –
Adresses de base pour %M (adresse de bit de sortie) et %MW (registre de maintien)
L'adresse de base est le nombre de %M ou de %MW correspondant à l'adresse
Modbus 0000.
%SW146 et Fonction Numéro de série de carte SD
%SW147 Etat initial 0
Ces deux mots système contiennent le numéro de série unique de la carte SD
(32 bits).
S'il n'y a pas de carte SD ou que la carte n'est pas reconnue, les deux mots système
sont réglés sur 0.
Cette information peut être utilisée pour protéger une application contre la copie.
%SW148 Fonction Compteur d'erreurs du code de correction d'erreur (ECC)
Etat initial 0
Ce mot contient le nombre de bits erronés dans DDR, détectés et corrigés par l'ECC.
%SW150 Fonction Gestion du code de correction d'erreur (ECC)
Etat initial 0
Permet d'activer/de désactiver l'ECC :
Pour désactiver l'ECC : écrivez la valeur 16#DECC dans %SW150.
NOTE : L'ECC étant activé par défaut, vous devez écrire à nouveau la valeur 16#DECC
dans %SW150 après un démarrage à froid dû à l'activation du bouton
REINITIALISATION ou à la logique d'application.

260
VARIABLES SYSTÈME
Mots système %SW128 à %SW141 pour M580
Pour activer l'ECC : écrivez une valeur autre que 16#DECC dans %SW150, redémarrez
l'UC ou appuyez sur le bouton REINITIALISER.
NOTE :
L'état de l'ECC est affiché dans %S109.
%SW150 n'est valide que pour les UC M580 redondantes (BMEH58xxxx) dont la
version de micrologiciel est la version 2.50 ou une version ultérieure. %SW150 n'a
aucun effet sur les UC autonomes.
Dans un système d'UC redondant, la valeur de %SW150 est transférée de l'automate
primaire à l'automate redondant.
%SW151 Fonction Compteur d'erreurs d'ECC multiples
Etat initial 0
Ce compteur est incrémenté chaque fois qu'une erreur d'ECC multiples se produit.
%SW151 n'est valide que pour les UC M580 dont la version de micrologiciel est la
version 2.50 ou une version ultérieure.
Ce compteur ne peut pas être remis à zéro.
%SW160 à Fonction Erreurs détectées pour les racks 0 à 7
%SW167 Etat initial –
PREMRACK0 à Les mots %SW160 à %SW167 sont associés aux racks 0 à 7 respectivement.
PREMRACK7 Les bits 0 à 15 de chacun de ces mots sont associés aux modules situés aux positions 0
à 15 de ces racks.
Le bit est à 0 si une erreur est détectée sur le module et à 1 si le module fonctionne
correctement.
Exemple : %SW163.5 = 0 Une erreur a été détectée sur le module situé à
l'emplacement 5 du rack 3.
Dans le cas de demi-racks, 2 demi-racks contigus forment un rack complet normal,
référencé par un seul SWi.
%SW171 Fonction Indication d'état de tâche rapide
Etat initial –
Etat de la tâche FAST :
0 : il n'existe aucune tâche FAST
1 : Arrêt
2 : Exécution (toutes les tâches de processus sont à l'état Exécution)
3 : Point d'arrêt
4 : Pause
%SW173 Fonction Indication d'état de tâche MAST
Etat initial –
Etat de la tâche MAST :
0 : il n'existe aucune tâche MAST
1 : Arrêt
2 : Exécution
3 : Point d'arrêt
4 : Pause
%SW174 Fonction Indication d'état de tâche AUX0
Etat initial –
NOTE : Uniquement pour les automates autonomes.
Etat de la tâche AUX0 :
0 : il n'existe aucune tâche AUX0

261
VARIABLES SYSTÈME
Mots système %SW185 à %SW640 pour M580
1 : Arrêt
2 : Exécution
3 : Point d'arrêt
4 : Pause
%SW175 Fonction Indication d'état de tâche AUX1
Etat initial –
NOTE : Uniquement pour les automates autonomes.
Etat de la tâche AUX1 :
0 : il n'existe aucune tâche AUX1
1 : Arrêt
2 : Exécution
3 : Point d'arrêt
4 : Pause

9.17.MOTS SYSTEME %SW185 A %SW640 POUR M580

Mot
Symbole
%SW185 à Fonction Bits de validité des stations S908
%SW339 Etat initial 0
IOHEALTHij Les mots %SW185 à %SW339 sont associés aux stations 2 à 32. Chaque station a 5
i=1…32, j=1…5 mots affectés au rack principal et jusqu'à 4 racks d'extension configurés :
%SW185 : bits de validité des modules de la station S908 n° 2, rack 1 (principal).
%SW186 : bits de validité des modules de la station S908 n° 2, rack 2 (extension).
%SW187 : bits de validité des modules de la station S908 n° 2, rack 3 (extension).
%SW188 : bits de validité des modules de la station S908 n° 2, rack 4 (extension).
%SW189 : bits de validité des modules de la station S908 n° 2, rack 5 (extension).
...
%SW335 : bits de validité des modules de la station S908 n° 32, rack 1.
%SW336 : bits de validité des modules de la station S908 n° 32, rack 2.
%SW337 : bits de validité des modules de la station S908 n° 32, rack 3.
%SW338 : bits de validité des modules de la station S908 n° 32, rack 4.
%SW339 : bits de validité des modules de la station S908 n° 32, rack 5.
NOTE : Les stations Quantum prennent en charge uniquement 2 racks et les mots
système des racks 3, 4 et 5 ne sont pas utilisés. Les stations d'E/S de la gamme 800
prennent en charge jusqu'à 5 racks.
Les bits 0 à 15 de chacun de ces mots sont associés aux modules situés aux
positions 16 à 1 de ces racks.
Le bit est égal à 0 si le module est inopérant et à 1 si le module fonctionne
correctement.
Exemple : %SW185.5 = 0 : le module situé dans la station S908 n° 2, rack principal,
emplacement 11 est inopérant.
NOTE : Les modules 140 XBE 100 00 nécessitent une gestion spéciale.
%SW535 Fonction Erreur CRP au démarrage
RIOERRSTAT Etat initial –

262
VARIABLES SYSTÈME
Mots système %SW185 à %SW640 pour M580
Ce mot stocke le code d'erreur de démarrage. Ce mot est toujours défini sur 0
lorsque le système est en marche. En cas d'erreur, le CRP ne démarre pas, mais
génère un code d'état d'arrêt.
01 : Longueur d'affectation des E/S
02 : Numéro de lien d'E/S décentralisée
03 : Nombre de stations dans l'affectation des E/S
04 : Checksum d'affectation des E/S
10 : Longueur du descripteur de station
11 : Numéro de station d'E/S
12 : Temps d'autonomie de la station
13 : Numéro de port ASCII
14 : Nombre de modules de la station
15 : Station déjà configurée
16 : Port déjà configuré
17 : Plus de 1024 points de sortie
18 : Plus de 1024 points d'entrée
20 : Adresse d'emplacement de module
21 : Adresse du châssis de module
22 : Nombre d'octets de sortie
23 : Nombre d'octets d'entrée
25 : Premier numéro de référence
26 : Second numéro de référence
28 : Bits internes hors de la plage des 16 bits
30 : Module de sortie impair dépareillé
31 : Module d'entrée impair dépareillé
32 : Référence de module impair dépareillé
33 : Référence 1x après le registre 3x
34 : Référence du module factice déjà utilisé
35 : Le module 3x n'est pas factice
36 : Le module 4x n'est pas factice
%SW536 Fonction Etat de la communication sur le câble A
CAERRCNT1 Etat initial –
%SW537 Les mots %SW536 à %SW538 sont des mots d'erreur de communication sur le
CAERRCNT2 câble A.
%SW538 %SW536 :
CAERRCNT3 octet de poids fort : compte les erreurs de trame
octet de poids faible : compte les dépassements du récepteur DMA
%SW537 :
octet de poids fort : compte les erreurs de réception
octet de poids faible : compte les réceptions de stations incorrectes
%SW538 :
%SW538.0 = 1, trame courte
%SW538.1 = 1, erreur de CRC
%SW538.2 = 1, erreur d'alignement
%SW538.4 = 1, abandon
%SW538.5 à %SW538.7 = longueur caractères résiduels
%SW538.8 à %SW538.15 et %SW538.3 sont inutilisés
%SW539 Fonction Etat de la communication sur le câble B

263
VARIABLES SYSTÈME
Mots système %SW185 à %SW640 pour M580
CBERRCNT1 Etat initial –
%SW540 Les mots %SW539 à %SW541 sont des mots d'erreur de communication sur le
CBERRCNT2 câble B.
%SW541 %SW539 :
CBERRCNT3 octet de poids fort : compte les erreurs de trame
octet de poids faible : compte les dépassements du récepteur DMA
%SW540 :
octet de poids fort : compte les erreurs de réception
octet de poids faible : compte les réceptions de stations incorrectes
%SW541 :
%SW541.0 = 1, trame courte
%SW541.1 = 1, erreur de CRC
%SW541.2 = 1, erreur d'alignement
%SW541.4 = 1, abandon
%SW541.5 à %SW541.7 = longueur caractères résiduels
%SW541.8 à %SW541.15 et %SW541.3 sont inutilisés
%SW542 Fonction Etat de communication globale
GLOBERRCNT0 Etat initial –
%SW543 Les mots %SW542 à %SW544 sont des mots d'erreur de communication globale.
GLOBERRCNT1 %SW542 : affiche l'état de la communication globale :
%SW544 %SW542.15 = 1, communication correcte.
GLOBERRCNT2 %SW542.14 = 1, communication correcte sur câble A.
%SW542.13 = 1, communication correcte sur câble B.
%SW542.11 à %SW542.8 = compteur des communications perdues.
%SW542.7 à %SW542.0 = compteur du nombre total de nouvelles tentatives.
NOTE : si le câble A est déconnecté de l'automate redondant, l'état de redondance
reste actif. l'automate primaire tient donc compte de l'automate redondant, mais
au lieu d'indiquer %SW542.14 = 0, le bit %SW542.14 de l'automate primaire bascule
entre les valeurs 0 et 1.
%SW543 : est le compteur du nombre total d'erreurs globales pour le câble A :
Octet de poids fort : compteur d'erreurs détectées.
Octet de poids faible : compteurs d'absences de réponse.
%SW544 : est le compteur du nombre total d'erreurs globales pour le câble B :
Octet de poids fort : compteur d'erreurs détectées.
Octet de poids faible : compteurs d'absences de réponse.
%SW548 à Fonction Etat de communication des stations S908
%SW640 Etat initial –
MODUNHEALTHi Les mots %SW548 à %SW640 permettent de décrire l'état de communication des
IOERRCNTi stations S908. Trois mots d'état sont utilisés pour chaque station :
IORETRYi %SW548 : affiche l'état de la communication globale de la station 2 :
i = 2…32 %SW548.15 = 1, communication correcte.
%SW548.14 = 1, communication correcte sur câble A.
%SW548.13 = 1, communication correcte sur câble B.
%SW548.11 à %SW548.8 = compteur des communications perdues.
%SW548.7 à %SW548.0 = compteur du nombre total de nouvelles tentatives.
%SW549 : est le compteur du nombre total d'erreurs globales relatives au câble A
station 2 :
Octet de poids fort : compteur d'erreurs détectées.

264
VARIABLES SYSTÈME
Mots système %SW185 à %SW640 pour M580
Octet de poids faible : compteurs d'absences de réponse.
%SW550 : est le compteur du nombre total d'erreurs globales relatives au câble B
station 2 :
Octet de poids fort : compteur d'erreurs détectées.
Octet de poids faible : compteurs d'absences de réponse.
Les mots :
%SW551 à %SW553 sont attribués à la station S908 n° 3.
%SW554 à %SW556 sont attribués à la station S908 n° 4.
...
%SW638 à %SW640 sont attribués à la station S908 n° 32.

265
NOTES
Mots système %SW185 à %SW640 pour M580

10.NOTES
NOTES
Mots système %SW185 à %SW640 pour M580
NOTES
Mots système %SW185 à %SW640 pour M580
NOTES
Mots système %SW185 à %SW640 pour M580
NOTES
Mots système %SW185 à %SW640 pour M580

Vous aimerez peut-être aussi