Fonctions définies par l’utilisateur

Pour les fonctions créées par l’utilisateur dans le projet ou la bibliothèque utilisateur, un sous-programme est créé dans le programme compilé. A chaque chargement, les paramètres d’entrée des classes VAR_INPUT et VAR_IN_OUT sont transférés en premier. Puis, le programme appelle le sous-programme correspondant. Enfin, les paramètres de sortie des classes VAR_OUTPUT et VAR_IN_OUT sont relues. Le nombre de sous-programmes ou fonctions que vous pouvez définir dépend du type d’automate.

Pour une fonction définie par l’utilisateur, un seul sous-programme est créé. Il peut être chargé à partir de plusieurs points.

Dans l’exemple suivant, nous avons utilisé des adresses FP pour faciliter la vérification du code assembleur créé à partir de ces adresses. Le programme étant plus complexe avec des adresses FP, nous vous recommandons d’utiliser des variables avec un nom significatif.

Thèmes apparentés

La fonction définie par l’utilisateur User_ADD est chargée dans l’éditeur de schémas à contacts (ladder) :

Elle contient les éléments suivants :

Le code assembleur suivant est créé pour l’automate :

ST R9010

Transfert des paramètres d’entrée

F0 (*MV*)

R9010 est toujours = TRUE

DT0 DT0 -> User_ADD.In1
DT550

F0 (*MV*)

DT1 DT1 -> User_ADD.In2
DT551

CALL 0

Appel du sous-programme User_ADD

ST R9010

Rechargement des paramètres de sortie

F0 (*MV*)

DT552

DT2 User_ADD -> DT2
...

ED

Fin du programme principal

SUB 0

Sous-programme User_ADD

ST R9010

F22 (*PLUS_S*)

DT550

DT551

DT552 if (TRUE)
UserAdd=UserAdd.In1 + UserAdd.In2
RET

Retour au programme principal

Thèmes apparentés

Modifié le : 2020-04-17Commentaires sur cette pageAssistance téléphonique