Documentation MCS32
5-3- Mode asservi / non asservi
5-3-1- Passage en mode non asservi
Un axe passe en mode non asservi ( boucle ouverte ) :
A chaque redémarrage de la MCS.
A chaque exécution de l'instruction AXIS(Axe)=Off à partir d'une tâche.
A chaque exécution de l'instruction CONS à partir d'une tâche.
Sur erreur de poursuite de n'importe quel axe servo ( sauf si l'instruction SECURITY a été
affectée ).
Sur un forçage à partir des menus de debug ( bouton asservi / débrayé ...), du menu
communication ( arrêt des tâches, redémarrage des tâches, Envoyer les tâches ).
L'instruction AXIS_S(Axe) permet de lire l'état dans lequel se trouve la carte d'axe.
Si une instruction de mouvement est envoyée à une carte paramétrée en boucle ouverte, elle sera
consommée par celle-ci mais le mouvement ne sera pas effectué. Par exemple :
Tâche Process
PROG
...
...
...
MOVA(X=1000)
OUT(S1)=1
MOVA(X=2000)
OUT(S1)=0
...
...
END PROG
5-3-2- Passage en mode asservi
Pour qu'un axe servo puisse piloter et contrôler les mouvements, il est nécessaire de le passer en
mode asservi.
Un axe passe en mode asservi ( boucle fermée ) :
A chaque exécution de l'instruction AXIS(Axe)=On à partir d'une tâche.
Sur un forçage à partir des menus de debug ( bouton asservi ).
L'instruction AXIS_S(Axe) permet de lire l'état dans lequel se trouve la carte d'axe et
CONS_S(Axe) de lire sa tension.
Pour des raisons de sécurité, il est nécessaire d'affecter une sortie logique de la MCS à la
gestion de la fonction « Enable / Disable » des drives reliés aux cartes d'axes.
Cette sortie devra être reliée sur l'entrée « Enable » du drive. La gestion de la sortie sera
insérer dans une tâche de surveillance non bloquante. Par exemple :
Tâche Defauts
PROG
....
OUT(EnableDrive)=AXIS_S(Axe)
....
END PROG
R342
EX
' la MCS a détecté une erreur de poursuit sur un
' axe => tous les axes passent en mode non asservi
' le mouvement est consommé par la carte d'axe
' mais non effectué
' sortie S1=1
' le mouvement est consommé par la carte d'axe
'mais non effectué
' sortie S1=0
' la sortie S1 est passée fugitivement à 1 car
' l'instruction Mova(X=2000)a pris peu de temps au système
' si axe en mode asservi
' => OUT(EnableDrive)=1 sinon =0
- 90 -
SERAD S.A.