Le but de cette notice est de mettre en place une communication entre un automate M221 de chez Schneider et un variateur de vitesse LXM32M relier Ă un moteur Schneider de la gamme Lexium.
Montage électrique
Ce montage Ă©lectrique fait parti dâune installation plus large. Sur la partie qui nous intĂ©resse, on a le LXM32M alimentĂ© en triphasĂ© et protĂ©gĂ© par un disjoncteur D32 dĂ©portĂ©. La spĂ©cificitĂ© de ce module par rapport Ă lâATV, câest quâil faut nĂ©cessairement lâalimenter en 24V Ă©galement et shunter le STO manuellement.

Point important, il faut ajouter une carte de communication dans le slot 3 pour avoir de quoi utiliser Ethernet-IP / Modbus TCP. Le port prĂ©sent de base ne sert quâĂ la communication sĂ©rie.
Configuration du LXM32M (LXM32MD30N4)
Il existe deux maniÚres de procéder pour la premiÚre configuration du LXM32M lui permettant de rejoindre un réseau, ce qui nous permettra par la suite de le configurer via Modbus TCP en utilisant SoMove :
- Utiliser un cĂąble hors de prix pour crĂ©er une liaison Modbus serie et configurer Ă lâaide de SoMove
- Utiliser lâĂ©cran du variateur et la roue de sĂ©lection
Configuration de lâIP par Modbus Serie + SoMove
On commence Ă raccorder notre PCâŻen USB au LXM32M sur la prise Modbus VP10S. Puis on ouvre SoMove :

Pour configurer les paramÚtres réseaux, il faut aller dans Liste des paramÚtres > EtherNet/IP > Ethernet :

Il faut dans un premier temps mettre EthIpMode sur Manual si lâon veut rentrer lâadresse manuellement (sinon DHCP / BOTP en fonction de lâinfrastructure rĂ©seau). De mĂȘme EthMode doit ĂȘtre sur Modbus TCP pour la suite avec le M221.
EthIPmodule1 Ă 4 correspond Ă lâIP souhaitĂ©e pour le variateur. EthIPmodule1 = octet1 de lâadresse IP, et ainsi de suite.
EthIPmask1 à 4 correspond au masque du réseau sur lequel se trouve le variateur.
Optionnellement, on peut mettre en place une gateway de réseau en remplissant EthIPgate1 à 4.
Il faut ensuite redémarrer le variateur et on peut procéder à la configuration via Modbus TCP.
Configuration de lâIP par Ă©cran du variateur
Dans un premier temps, mettre la sĂ©lection de lâadresse IP en manuel :
ConF > CoN- > IPNd. Sélectionner Manu.
Ensuite, les paramĂštres iPc1 Ă 4 sont les octets de lâadresse IP du variateur.
Ex : Pour lâIP 10.140.52.44 ; IPC1 = 10, IPC2 = 140, IPC3 = 52, IPC4 = 44.
Puis, il faut configurer le masque du réseau sur lequel se trouve notre variateur :
MĂȘme principe que pour IPC, IPN1 correspond au premier octet du masque, IPN2 au deuxiĂšme, etc.
Ex : pour le masque 255.255.255.128 ; IPN1 = 255, IPN2 = 255, IPN3 = 255, IPN4 = 128.
Optionnellement, il est possible de mettre en place une gateway pour le rĂ©seau avec IPG1 Ă 4. Câest sur le mĂȘme principe que IPC- et IPN-.
Dans un dernier temps, il faut activer Modbus TCP :
Conf > CON- > EtNd. Sélectionner MbtP.
Une fois ceci fait, il nây a quâĂ redĂ©marrer le variateur et il est ensuite possible de se connecter en Modbus TCP depuis SoMove pour terminer la configuration.
Restant de la configuration par SoMove via Modbus TCP
On peut dÚs à présent se connecter au variateur sur SoMove en passant par Modbus TCP :

Il est possible en haut Ă gauche dâouvrir un panel permettant de prendre la main sur le moteur en live :


Ce panel, une fois activĂ© (Alt + F en face de lâavertissement), aura la pleine possession du moteur. Il faudra le dĂ©sactiver si des communications depuis lâautomate doivent se mettre en place.
DĂšs quâune modification est effectuĂ©e, il faut lâenvoyer sur le variateur pour quâelle soit prise en compte, sinon elle ne sera stockĂ©e quâen mĂ©moire de lâordinateur. Il faut appuyer sur ce bouton dĂšs que le variateur est connectĂ© :

Une bonne chose sur ce variateur (et câest dâailleurs la seule), câest quâil est possible de redĂ©marrer le variateur LXM32M directement depuis SoMove en faisant Ăquipement > Fonctions utilisateur > RedĂ©marrer le variateur :

Pour travailler en Modbus TCP avec le M221, il reste Ă renseigner lâadresse IPâŻde notre M221 dans les paramĂštres EthIPmaster1 Ă 4 et EthMbIPswap1 Ă 4 dans lâonglet âModbus TCPâ :

EthMbIPswap- nâest en soit pas obligatoire, mais ça ne coĂ»te rien de lâavoir.
Le restant de la configuration se trouve dans lâonglet variateurs. Dans Simply start > configuration de base se trouve les options principales. A minima, il faudra juste sâassurer que DEVcmdinterf soit positionnĂ© sur âFieldbus Control Modeâ :

Pour le reste, ça dĂ©pendra de la configuration du moteur rattachĂ© au variateur. Il y a de quoi passer une merveilleuse journĂ©e en lisant lâincroyable documentation du seul variateur longue de 708 pages.
Programmation du M221
La programmation avec un M221 dans Ecostruxure Machine expert basic repose essentiellement sur la liaison Modbus TCP car notre automate est pourvu de la carte réseau le permettant.
Communications particuliĂšres
Sur dâautres M221, il est possible de communiquer par Modbus serie, mais il faut activer cette option dans le LXM32M qui ne le fait pas de base. Enfin, si vraiment câest la misĂšre en termes de possibilitĂ©s, il reste lâoption dâutiliser le PTO si lâautomate est pourvu dâun gĂ©nĂ©rateur dâimpulsions (si lâoption est visible dans lâonglet configuration).
Activation de Modbus Serie
Pour activer la communication Modbus sur un RS485, il faut suivre une procĂ©dure trĂšs tarabiscotĂ©e. Dans un premier temps, il faut acquĂ©rir le privilĂšge âexpertâ sur la configuration du LXM32M.
Pour cela, il faut se rendre dans Ăquipement > Niveau utilisateur > RĂ©glage du niveau utilisateur :

Dans le popup qui sâouvre, il faut sĂ©lectionner le niveau dâutilisateur expert et rentrer le mot de passe par dĂ©faut 696969 (lâauteur du logiciel a probablement un message Ă nous faire passer) :

Ensuite il faut aller dans lâonglet My Dashboard et modifier la valeur situĂ©e Ă lâadresse Modbus 1282 dans lâencart direct access. Dans un premier temps, il est prĂ©fĂ©rable de dâabord lire la valeur inscrite Ă lâadresse pour savoir dans quel mode le variateur se trouve :

Puis dâĂ©crire la valeur 3 afin de passer en Modbus serie :

Il faut ensuite enregistrer les changements dans le variateur et le redémarrer.
Utilisation du PTO
Il est possible dâutiliser le PTO avec le LXM32M. Un slot sur le CN4 est prĂ©vu Ă cet effet Ă lâarriĂšre du variateur. Je nâai pas vraiment beaucoup explorer cette possibilitĂ©, mais voici une Ă©bauche de configuration amĂ©liorable.
Dans un premier temps, il faut crĂ©er un objet PTO sur lâautomate en configurant un gĂ©nĂ©rateur dâimpulsions. Il faut aller dans lâonglet âGĂ©nĂ©rateurs dâimpulsionsâ sous configuration.

Puis dans la fenĂȘtre qui sâouvre lorsquâon cherche Ă configurer un gĂ©nĂ©rateur, il faut sĂ©lectionner PTO :

Ă partir de lĂ , une configuration plus ample peut ĂȘtre apportĂ©e. Il ne suffit que dâappliquer le changement Ă la fin :

Cela nous permet dâutiliser la famille dâinstructions, dĂ©jĂ entiĂšrement configurĂ©es, associĂ©es au PTO :

Câest trĂšs confortable pour programmer lâautomate.
Mise en place de lâIO Scanner pour Modbus TCP
Comme pour chaque projet nĂ©cessitant du Modbus TCP, il faut dans un premier temps donner une adresse IP Ă lâautomate et activer les options intĂ©ressantes au projet :

Puis on peut ajouter le LXM32M dans le Scrutateur dâE/S Modbus TCP. Câest un appareil gĂ©nĂ©rique. Cela signifie que nous auront Ă gĂ©rer toute son implĂ©mentation sur le scrutateur et toute sa logique dans la programmation de lâautomate :

Sâil nây a pas de requĂȘte dâinitialisation Ă fournir, il faut en revanche changer les plages de lecture et dâĂ©criture :

Ces plages sont trĂšs importantes Ă configurer et dĂ©pendent de la configuration rentrĂ©e dans le variateur.âŻEn effet, dâaprĂšs la documentation, il est possible dâallouer 6 mots supplĂ©mentaires en lecture et en Ă©criture, poussant la longueur des deux champs Ă un maximum de 19 tous les deux. Il est important de noter que si les zones ne sont pas en adĂ©quation avec la configuration, la communication sera en Ă©chec. Pour le moins, on peut taper moins large, mais absolument pas dĂ©passer.
Les paramÚtres champs supplémentaires sont configurables dans Liste des paramÚtres > EtherNet/IP > Données E/S Ethernet :

Ensuite, pour utiliser le variateur, il faut jouer avec les registres Modbus en lecture et en Ă©criture. Point important, aucune lecture ne sera effectuĂ©e (i.e : les valeurs resteront Ă zĂ©ro sur le scrutateur) tant quâaucune Ă©criture nâaura prĂ©alablement Ă©tĂ© commandĂ©e.
Controler le moteur
Pour lâĂ©criture depuis le M221 sur le LXM32M :
| Position en octet | Longueur en octet | Variable | But |
|---|---|---|---|
| 0 | 4 | PCTRLms | ParamĂštres du LXM32M |
| 4 | 4 | PVms | ParamĂštres du LXM32M |
| 8 | 2 | dmControl | RĂ©gler lâĂ©tat de fonctionnement et le mode op |
| 10 | 4 | RefA32 | Valeur propre 1 pour mode opératoire |
| 14 | 4 | RefB32 | Valeur propre 2 pour mode opératoire |
| 18 | 4 | Ramp_v_acc | Accélération |
| 22 | 4 | Ramp_v_dec | Décélaration |
| 26 | 4 | EthOptMapOut1 | ParamĂštre optionnel 1 (Ă configurer avant) |
| 30 | 4 | EthOptMapOut2 | ParamĂštre optionnel 2 (Ă configurer avant) |
| 34 | 4 | EthOptMapOut3 | ParamĂštre optionnel 3 (Ă configurer avant) |
GrĂące au scrutateur, ces variables sont directement accessibles dans %QWN300.0.0 (ou plus sâil y a dâautres composants scrutĂ©s).
Le mot (= 2 octets) dmControl est un des plus important pour le contrĂŽle et lâasservissement du moteur. La doc explique comment il est dĂ©coupĂ© :

Lire les informations depuis le variateur
Pour lire des informations depuis le variateur et les récupérer sur le M221.
| Position en octet | Longueur en octet | Variable | But |
|---|---|---|---|
| 0 | 4 | PCTRLsm | Lire des paramĂštres |
| 4 | 4 | PVsm | Lire des paramĂštres |
| 8 | 2 | driveStat | Ătat de fonctionnement actuel |
| 10 | 2 | mfStat | Mode opératoire actuel |
| 12 | 2 | motionStat | Informations moteur |
| 14 | 2 | driveInput | Ătat des entrĂ©es logiques du variateur |
| 16 | 4 | _p_act | Position instantanée |
| 20 | 4 | _v_act | Vitesse instantanée |
| 24 | 2 | _i_act | Courant instantané |
| 26 | 4 | EthOptMapInp1 | ParamĂštre optionnel 1 (Ă configurer avant) |
| 30 | 4 | EthOptMapInp2 | ParamĂštre optionnel 2 (Ă configurer avant) |
| 34 | 4 | EthOptMapInp3 | ParamĂštre optionnel 3 (Ă configurer avant) |
GrĂące au scrutateur, ces variables sont accessibles dans %IWN300.0.0.