La fonction MOD_PARAM permet d’effectuer le réglage d’un de façon dynamique. Dans ce cas le transfert des données modifiées n’implique pas le passage du processeur en STOP. Si le transfert s’effectue correctement alors les nouveaux paramètres sont pris en compte par le module. Si le transfert ne s’effectue pas correctement alors le module en applique les anciennes valeurs de réglage de l’axe.
Cette fonction s'applique à une voie, donc à une variable de type IODDT. Nous utiliserons la variable Channel_0 de type T_CCY_GROUP0.
MOD_PARAM affecte à chaque échange les paramètres :
-
PRESET_ANG_VALUE : valeur de de l’angle
-
PRESET_TURN_VALUE : valeur de recalage du nombre de
-
SLACK_VALUE : valeur du jeu de l’axe
-
MAX_PIECES : valeur limite du compteur de pièces
La zone d’échange utilisée par la fonction MOD_PARAM est un buffer constitué de mots réservés : %MWr.m..0.16 à %MWr.m.0.19.
Chargement de la zone d’échange
La zone d’échange (buffer) peut être préchargée :
-
avec les valeurs initiales de réglage MOD_PARAM (Channel_0,0,0,0,0) action {Get}
-
avec les valeurs courantes de réglage MOD_PARAM (Channel_0,1,0,0,0) action {Read}
Envoi des nouvelles valeurs au module
Après modification dans le buffer, la fonction MOD_PARAM (Channel_0,2,0,0,0), action {Send} envoie les nouvelles valeurs au module et met à jour la zone des paramètres courants.
Initialisation du buffer de paramètres
action {Get} ou action {Read}
{Get} MOD_PARAM (Channel_0,0,0,0,0);
{Read} MOD_PARAM (Channel_0,1,0,0,0);
Envoi des nouveaux paramètres
Action {send}
{Send} MOD_PARAM (Channel_0,2,0,0,0)
Pendant le transfert, le bit (x15) Adj_In_Prog est à 1. A la fin de l’échange, le bit Adjust_err est mis à 1 si l’échange ne s’est pas passé correctement. La fonction READ_STS permet le rafraîchissement du status voie.
On y trouve les informations :