GMF, canal, mode programme, comportement après remise à zéro
3.17 Remplacement de fonctions par des sous-programmes
3.17.4
Propriétés des sous-programmes
Règles générales
• Le sous-programme appelé lors du remplacement peut contenir l'instruction PROC et les
attributs SBLOF et DISPLOF.
• Le remplacement peut également être exécuté en mode langage ISO. Cependant, les sous-
programmes de remplacement ne sont exécutés qu'en mode langage standard (Siemens). Il
y a alors un basculement implicite vers le mode langage standard. Avec un retour à partir du
sous-programme de remplacement, le système repasse au mode langage initial.
• Les informations sont transférées au sous-programme de remplacement exclusivement via
des variables système. Des paramètres de transfert ne sont pas possibles.
• Le comportement en présence du bloc par bloc et de l'attribut SBLOF dépend du réglage
dans :
MD10702 IGNORE_SINGLEBLOCK_MASK, Bit 14 (Empêcher l'arrêt bloc par bloc)
Valeur Signification
0
1
• Dans le cas de sous-programmes de remplacement avec l'attribut DISPLOF, la ligne de
programme qui a conduit à l'appel du sous-programme est affichée comme bloc actuel dans
la vue des blocs.
• Dans le sous-programme de remplacement, les instructions DELAYFSTON et DELAYFSTOF
peuvent être utilisées pour protéger des zones ou l'ensemble du sous-programme de
remplacement contre les interruptions telles que l'arrêt CN, le blocage de la lecture, etc.
• Les remplacements ne sont pas récursifs. En d'autres termes, la fonction qui a conduit à
l'appel du sous-programme de remplacement n'est plus remplacée si le sous-programme de
remplacement est reprogrammé.
252
Le sous-programme de remplacement se comporte comme un sous-programme "normal" :
•
Retour avec M17 : Arrêt en fin de sous-programme
Remarque
La transmission de la fonction M à l'AP dépend de :
PM20800 $MC_SPF_END_TO_VDI, bit 0 (Fin de sous-programme vers l'AP)
- Bit 0 = 0 : pas de sortie
- Bit 0 = 1 : M17 est transmis à l'AP.
•
Retour avec RET : Pas d'arrêt en fin du sous-programme de remplacement
Il n'y a qu'un seul arrêt dans le bloc dans lequel le sous-programme de remplacement est
appelé. Peu importe que :
•
Le sous-programme soit appelé en début et/ou en fin de bloc
•
d'autres sous-programmes soient appelés dans le sous-programme
•
Le sous-programme avec M17 ou RET est abandonné.
L'arrêt bloc par bloc s'effectue pour le remplacement des fonctions M à la fin du sous-programme
de remplacement.
Lors du remplacement des fonctions T et D/DL, le moment auquel le bloc par bloc est arrêté
dépend du moment où le sous-programme est appelé :
•
Appel en début de bloc : Arrêt bloc par bloc en fin de bloc
•
Appel en fin de bloc : Arrêt bloc par bloc en fin de sous-programme de remplacement
Description fonctionnelle, 01/2023, A5E48764112D AE
Fonctions de base