Lorsque les données sont échangées entre la mémoire automate et le module, la prise en compte par le module peut nécessiter plusieurs cycles de tâches. Pour gérer les échanges, tous les IODDT comportent deux mots :
NOTE : selon l'emplacement du module, la gestion des échanges explicites (%MW0.0.MOD.0.0, par exemple) ne sera pas détectée par l'application :
-
Pour les modules en rack, les échanges explicites ont lieu immédiatement sur le Bus automate local et se terminent avant la fin de la tâche d'exécution. READ_STS, par exemple, est toujours terminé lorsque l'application vérifie le bit %MW0.0.mod.0.0..
-
Pour le bus interstation (Fipio, par exemple), les échanges explicites et la tâche d'exécution ne sont pas synchrones. La détection peut donc être effectuée par l'application.
L'illustration ci-dessous présente les différents bits significatifs pour la gestion des échanges :
Description des bits significatifs
Chacun des bits des mots EXCH_STS (%MWr.m.c.0) et EXCH_RPT (%MWr.m.c.1) est associé à un type de paramètre :
-
Les bits de rang 0 sont associés aux paramètres d'état :
-
Les bits de rang 1 sont associés aux paramètres de commande :
-
le bit CMD_IN_PROGR (%MWr.m.c.0.1) indique si des paramètres de commande sont envoyés à la voie du module,
-
le bit CMD_ERR (%MWr.m.c.1.1) précise si les paramètres de commande sont acceptés par la voie du module.
-
Les bits de rang 2 sont associés aux paramètres de réglage :
-
le bit ADJ_IN_PROGR (%MWr.m.c.0.2) indique si des paramètres de réglage sont échangés avec la voie du module (par WRITE_PARAM, READ_PARAM, SAVE_PARAM, RESTORE_PARAM),
-
le bit ADJ_ERR (%MWr.m.c.1.2) précise si les paramètres de réglage sont acceptés par le module. Si l'échange s'est correctement déroulé, le bit passe à 0.
-
Les bits de rang 15 indiquent une reconfiguration sur la voie c du module depuis la console (modification des paramètres de configuration et démarrage à froid de la voie).
-
Les bits r, m et c indiquent les emplacements suivants :
-
le bit r représente le numéro du rack,
-
le bit m représente la position du module dans le rack,
-
le bit c représente le numéro de voie dans le module.
NOTE : les mots d'échange et de compte rendu existent aussi au niveau des modules EXCH_STS (%MWr.m.MOD.0) et EXCH_RPT (%MWr.m.MOD.1), selon les IODDT de type T_ANA_IN_BMX, T_ANA_IN_T_BMX et T_ANA_OUT_BMX.
Phase 1 : émission de données à l'aide de l'instruction WRITE_PARAM :
lorsque l'instruction est scrutée par le processeur automate, le bit Echange en cours est réglé sur 1 dans %MWr.m.c.
Phase 2 : analyse des données par le module d'entrée/sortie et compte rendu :
lorsque les données sont échangées entre la mémoire automate et le module, la prise en compte par le module est gérée par le bit ADJ_ERR (%MWr.m.c.1.2) qui, suivant sa valeur, donne le compte rendu suivant :
-
0 : échange correct.
-
1 : erreur d'échange.
NOTE : il n'existe pas de paramètre de réglage au niveau du module.
Indicateur d'exécution d'un échange explicite : EXCH_STS
Le tableau ci-dessous présente les bits de contrôle des échanges explicites EXCH_STS (%MWr.m.c.0) :
Symbole standard
|
Type
|
Accès
|
Signification
|
Adresse
|
STS_IN_PROGR
|
BOOL
|
L
|
Lecture des mots d'état de la voie en cours.
|
%MWr.m.c.0.0
|
CMD_IN_PROGR
|
BOOL
|
L
|
Echange de paramètres de commande en cours.
|
%MWr.m.c.0.1
|
ADJ_IN_PROGR
|
BOOL
|
L
|
Echange de paramètres de réglage en cours.
|
%MWr.m.c.0.2
|
RECONF_IN_PROGR
|
BOOL
|
L
|
Reconfiguration du module en cours.
|
%MWr.m.c.0.15
|
NOTE : si le module n'est pas présent ou est déconnecté, les échanges par objets explicites (READ_STS par exemple) ne sont pas envoyés au module (STS_IN_PROG (%MWr.m.c.0.0) = 0), mais les mots sont rafraîchis.
Compte rendu d'échanges explicites : EXCH_RPT
Le tableau ci-dessous présente les bits de compte rendu EXCH_RPT (%MWr.m.c.1).
Symbole standard
|
Type
|
Accès
|
Signification
|
Adresse
|
STS_ERR
|
BOOL
|
L
|
Erreur de lecture des mots d'état de la voie.
(1 = erreur)
|
%MWr.m.c.1.0
|
CMD_ERR
|
BOOL
|
L
|
Erreur lors d'un échange de paramètres de commande.
(1 = erreur)
|
%MWr.m.c.1.1
|
ADJ_ERR
|
BOOL
|
L
|
Erreur lors d'un échange de paramètres de réglage.
(1 = erreur)
|
%MWr.m.c.1.2
|
RECONF_ERR
|
BOOL
|
L
|
Erreur lors de la reconfiguration de la voie.
(1 = erreur)
|
%MWr.m.c.1.15
|