Opérations de gestion d'exécution de programme
10.9 Remarques importantes sur l'utilisation de la fonctionnalité MCR
10.9
Remarques importantes sur l'utilisation de la fonctionnalité MCR
!
Attention avec les blocs dans lesquels le relais de masquage a été activé par l'instruction
MCRA :
•
Lorsque le relais de masquage (MCR) est hors fonction, la valeur 0 est écrite par toutes les affectation
(T, =) dans les sections de programme entre ---(MCR<) et ---(MCR>) ! Ceci concerne alors
évidemment aussi toutes les boîtes contenant une affectation, y compris la transmission de paramètres
à des blocs !
•
Le MCR se trouve précisément hors fonction lorsque le RLG était égal à 0 avant une instruction MCR<.
!
Danger : arrêt de l'AP ou comportement indéfini de la durée d'exécution !
Pour les calculs d'adresses, le compilateur accède également en écriture aux données
locales suivant les variables temporaires définies dans VAR_TEMP. De ce fait, les
séquences d'instructions suivantes mettent l'AP à l'arrêt ou conduisent à des
comportements indéfinis de la durée d'exécution :
Accès à des paramètres formels
•
Accès à des composants de paramètres FC complexes de type STRUCT, UDT,
ARRAY, STRING
•
Accès à des composants de paramètres FB complexes de type STRUCT, UDT,
ARRAY, STRING de la zone IN_OUT dans un bloc admettant les multi-instances
(bloc de version 2).
•
Accès aux paramètres d'un FB admettant les multi-instances (bloc de version 2)
lorsque leur adresse est supérieure à 8180.0.
•
L'accès à un paramètre de type BLOCK_DB dans un FB admettant les multi-instances
(bloc de version 2) ouvre le DB 0. Les accès ultérieurs aux données mettent la CPU à
l'arrêt. Pour TIMER, COUNTER, BLOCK_FC, BLOCK_FB se sont aussi toujours T 0,
Z 0, FC 0 ou FB 0 qui sont utilisés.
Transmission des paramètres
•
Appels pour lesquels des paramètres sont transmis.
CONT/LOG
•
Dans CONT ou LOG, les branches T et les connecteurs débutent par RLG = 0.
Remède
Séparez les instructions concernées de la dépendance par rapport au relais de
masquage :
Désactivez le relais de masquage en utilisant l'instruction MCRD avant l'instruction ou le
réseau concernés.
Activez le relais de masquage en utilisant l'instruction MCRA après l'instruction ou le
réseau concernés.
142
Langage CONT pour SIMATIC S7-300/400
Manuel de référence, 04/2017, A5E41654705-AA