Les échanges explicites sont effectués sur demande du programme utilisateur à l'aide des instructions ci-dessous :
-
READ_STS : lecture des mots d'état,
-
WRITE_CMD : écriture des mots de commande,
-
WRITE_PARAM : écriture des paramètres de réglage,
-
READ_PARAM : lecture des paramètres de réglage,
-
SAVE_PARAM : enregistrement des paramètres de réglage,
-
RESTORE_PARAM : restitution des paramètres de réglage.
Ces échanges s'appliquent à un ensemble d'objets %MW de même type (état, commandes ou paramètres) appartenant à une voie.
NOTE : ces objets fournissent des informations sur le module (par exemple, type d'erreur d'une voie, etc.), permettent de le commander (par exemple, commutateur) et définissent ses modes opératoires (enregistrement et restitution des paramètres de réglage en cours d'application).
NOTE : vous ne pouvez pas envoyer les requêtes WRITE_PARAM et RESTORE_PARAM aux voies gérées par des nœuds logiques identiques en même temps. Le nœud logique ne peut traiter qu'une requête, l'autre génère une erreur. Pour éviter ce type d'erreur, vous devez gérer l'échange de chaque voie avec %MWr.m.c.0.x et %MWr.m.c.1.x.
Principe général d'utilisation des instructions explicites
Le schéma ci-dessous présente les différents types d'échanges explicites possibles entre le processeur et le module.
Exemple d'utilisation d'instructions
Instruction READ_STS :
l'instruction READ_STS permet de lire les mots SENSOR_FLT (%MWr.m.c.2) et NOT_READY (%MWr.m.c.3). Il est ainsi possible de déterminer plus précisément les erreurs qui ont pu survenir lors du fonctionnement.
L'exécution d'une instruction READ_STS sur toutes les voies risquerait de surcharger l'automate. Une méthode moins lourde consiste à tester le bit d'erreur de tous les modules à chaque cycle, puis les voies des modules en cause. Il suffit ensuite d'utiliser l'instruction READ_STS sur l'adresse obtenue.
L'algorithme pourrait se présenter comme suit :
WHILE (%I0.m.ERR <> 1) OR (m <= Nombre de modules) THEN
m=m+1
Boucle
END WHILE
WHILE (%I0.m.c.ERR <> 1) OR (c <= Nombre de voies) THEN
c=c+1
Boucle
END WHILE
READ_STS (%I0.m.c)
Instruction WRITE_PARAM :
l'instruction WRITE_PARAM permet de modifier certains paramètres de configuration des modules en cours de fonctionnement.
Il suffit pour cela d'assigner les nouvelles valeurs aux objets concernés et d'utiliser l'instruction WRITE_PARAM sur la voie désirée.
Ainsi, vous pouvez utiliser cette instruction pour modifier la valeur de repli par programmation (uniquement pour les modules analogiques de sortie). Assignez la valeur voulue au mot Fallback (%MWr.m.c.7), puis utilisez l'instruction WRITE_PARAM.