Documentation MCS32
Remarques :
<Carte> doit être une carte CANopen.
11-4- Exemples
11-4-1- Liaison CANopen entre deux MCS
Le paramétrage de la communication entre deux MCS consiste à attribuer un NodeID à chaque
MCS. Une communication par SDO est alors possible après paramétrage de ceux-ci. Il est
également possible d'échanger des événements par PDO.
Les COBID par défaut des serveurs SDO sont 600h+NodeID en réception et 580h+NodeID en
émission. Les COBID par défaut du premier PDO sont 200h+NodeID pour la réception et
180h+NodeID pour l'émission. On paramètre donc les clients respectifs en conséquence.
Initialisation de la MCS 1
'Démarrage de la carte à 500KBits/s sur le nœud 1
StartCan(Can1,1,5)
'COBID ClientSDO Rx Mcs1= COBID ServerSDO Tx Mcs2
CanSetup&(Can1,1280h,1,582h)
'COBID ClientSDO Tx Mcs1= COBID ServerSDO Rx Mcs2
CanSetup&(Can1,1280h,2,602h)
'COBID TxPDO1 = COBID RxPDO2
CanSetup&(Can1,1800h,1,202h)
Initialisation de la MCS 2
'Démarrage de la carte à 500KBits/s sur le nœud 2
StartCan(Can2,2,5)
'COBID ClientSDO Rx Mcs2= COBID ServerSDO Tx Mcs1
CanSetup&(Can2,1280h,1,581h)
'COBID ClientSDO Tx Mcs2= COBID ServerSDO Rx Mcs1
CanSetup&(Can2,1280h,2,601h)
'COBID TxPDO2 = COBID RxPDO1
CanSetup&(Can2,1800h,1,201h)
Cette initialisation terminée les MCS peuvent échanger des variables et des événements. Dans
cet exemple, la MCS 2 envoie des ordres de positionnement à l'axe X de la MCS 1. La MCS 1
reçoit les ordres à exécuter par un PDO et signale la fin de l'ordre en envoyant un PDO. La
position à atteindre est lue dans la variable 5 du tableau "Lecture de variable 32 bits" de la MCS
2. La MCS 1 met également à disposition la position de son axe X dans la variable 1 de son
tableau "Ecriture de variable 32 bits".
Wait PDOEvent(Can1,1)
O$=PDO(Can1,1)
Ordre#=Asc(Left$(O$,1))
Pos&=CanRemote&(Can1,7180h,5)
If Ordre#=1 Then Stta(X=Pos&)
If Ordre#=2 Then Sttr(X=Pos&)
...
R342
EX
'Attente du PDO signalant le message
'Lecture du PDO
'Décodage de l'ordre
'Lecture de la position
'Exécution en absolu
'Exécution en relatif
- 241 -
SERAD S.A.