- Schneider Electric
- EcoStruxure™ Control Expert - Blocs fonction de mouvement, Bibliothèque de blocs
- Mode d'emploi
Schneider Electric EcoStruxure™ Control Expert - Blocs fonction de mouvement, Bibliothèque de blocs Mode d'emploi
Ajouter à Mes manuels122 Des pages
▼
Scroll to page 2
of
122
EcoStruxure™ Control Expert 35010606 12/2018 EcoStruxure™ Control Expert Blocs fonction de mouvement Bibliothèque de blocs (Traduction du document original anglais) 35010606.11 12/2018 www.schneider-electric.com Le présent document comprend des descriptions générales et/ou des caractéristiques techniques des produits mentionnés. Il ne peut pas être utilisé pour définir ou déterminer l'adéquation ou la fiabilité de ces produits pour des applications utilisateur spécifiques. Il incombe à chaque utilisateur ou intégrateur de réaliser l'analyse de risques complète et appropriée, l'évaluation et le test des produits pour ce qui est de l'application à utiliser et de l'exécution de cette application. Ni la société Schneider Electric ni aucune de ses sociétés affiliées ou filiales ne peuvent être tenues pour responsables de la mauvaise utilisation des informations contenues dans le présent document. Si vous avez des suggestions, des améliorations ou des corrections à apporter à cette publication, veuillez nous en informer. Vous acceptez de ne pas reproduire, excepté pour votre propre usage à titre non commercial, tout ou partie de ce document et sur quelque support que ce soit sans l'accord écrit de Schneider Electric. Vous acceptez également de ne pas créer de liens hypertextes vers ce document ou son contenu. Schneider Electric ne concède aucun droit ni licence pour l'utilisation personnelle et non commerciale du document ou de son contenu, sinon une licence non exclusive pour une consultation « en l'état », à vos propres risques. Tous les autres droits sont réservés. Toutes les réglementations locales, régionales et nationales pertinentes doivent être respectées lors de l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et afin de garantir la conformité aux données système documentées, seul le fabricant est habilité à effectuer des réparations sur les composants. Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques de sécurité, suivez les instructions appropriées. La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos produits matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect. Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages matériels. © 2018 Schneider Electric. Tous droits réservés. 2 35010606 12/2018 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . . Partie I Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Types de module et leur utilisation . . . . . . . . . . . . . . . . . Types de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure d'un FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EN et ENO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 2 Disponibilité des blocs sur les différentes plateformes . Blocs disponibles sur différents variateurs . . . . . . . . . . . . . . . . . . . . . Partie II Blocs fonction de mouvement . . . . . . . . . . . . . . . . . Chapitre 3 Le paramètre RefAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . Axis_Ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagramme d'état de l'axe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 4 Bloc fonction de mouvement . . . . . . . . . . . . . . . . . . . . . Blocs fonction de mouvement et paramètres de base . . . . . . . . . . . . CAN_HANDLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_READPARAMETER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_WRITEPARAMETER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_READACTUALPOSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_READACTUALVELOCITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_READACTUALTORQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_TORQUECONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_POWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_MOVEABSOLUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_MOVERELATIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_MOVEADDITIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_MOVEVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_JOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_READAXISERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_READSTATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MC_HOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LXM_GEARPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35010606 12/2018 5 9 11 13 14 16 20 23 23 25 27 28 29 31 33 38 40 42 44 46 48 50 52 54 57 59 61 63 67 69 73 77 81 83 3 LXM_GearPosS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TE_UPLOADDRIVEPARAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TE_DOWNLOADDRIVEPARAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LXM_UPLOADMTASK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LXM_DOWNLOADMTASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LXM_STARTMTASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unités et variateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service de messagerie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Taille mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe A Codes et valeurs d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . Tableaux des codes d'erreur pour la librairie MFB (Motion Function Block) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe B Performances MFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tableau des performances MFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 86 89 92 95 98 100 102 104 106 109 111 111 115 115 119 121 35010606 12/2018 Consignes de sécurité Informations importantes AVIS Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil avant de tenter de l'installer, de le faire fonctionner, de le réparer ou d'assurer sa maintenance. Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde contre des risques potentiels ou d'attirer votre attention sur des informations qui clarifient ou simplifient une procédure. 35010606 12/2018 5 REMARQUE IMPORTANTE L'installation, l'utilisation, la réparation et la maintenance des équipements électriques doivent être assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité quant aux conséquences de l'utilisation de ce matériel. Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction, du fonctionnement et de l'installation des équipements électriques, et ayant suivi une formation en sécurité leur permettant d'identifier et d'éviter les risques encourus. AVANT DE COMMENCER N'utilisez pas ce produit sur les machines non pourvues de protection efficace du point de fonctionnement. L'absence de ce type de protection sur une machine présente un risque de blessures graves pour l'opérateur. AVERTISSEMENT EQUIPEMENT NON PROTEGE N'utilisez pas ce logiciel ni les automatismes associés sur des appareils non équipés de protection du point de fonctionnement. N'accédez pas aux machines pendant leur fonctionnement. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Cet automatisme et le logiciel associé permettent de commander des processus industriels divers. Le type ou le modèle d'automatisme approprié pour chaque application dépendra de facteurs tels que la fonction de commande requise, le degré de protection exigé, les méthodes de production, des conditions inhabituelles, la législation, etc. Dans certaines applications, plusieurs processeurs seront nécessaires, notamment lorsque la redondance de sauvegarde est requise. Vous seul, en tant que constructeur de machine ou intégrateur de système, pouvez connaître toutes les conditions et facteurs présents lors de la configuration, de l'exploitation et de la maintenance de la machine, et êtes donc en mesure de déterminer les équipements automatisés, ainsi que les sécurités et verrouillages associés qui peuvent être utilisés correctement. Lors du choix de l'automatisme et du système de commande, ainsi que du logiciel associé pour une application particulière, vous devez respecter les normes et réglementations locales et nationales en vigueur. Le document National Safety Council's Accident Prevention Manual (reconnu aux Etats-Unis) fournit également de nombreuses informations utiles. Dans certaines applications, telles que les machines d'emballage, une protection supplémentaire, comme celle du point de fonctionnement, doit être fournie pour l'opérateur. Elle est nécessaire si les mains ou d'autres parties du corps de l'opérateur peuvent entrer dans la zone de point de pincement ou d'autres zones dangereuses, risquant ainsi de provoquer des blessures graves. Les produits logiciels seuls, ne peuvent en aucun cas protéger les opérateurs contre d'éventuelles blessures. C'est pourquoi le logiciel ne doit pas remplacer la protection de point de fonctionnement ou s'y substituer. 6 35010606 12/2018 Avant de mettre l'équipement en service, assurez-vous que les dispositifs de sécurité et de verrouillage mécaniques et/ou électriques appropriés liés à la protection du point de fonctionnement ont été installés et sont opérationnels. Tous les dispositifs de sécurité et de verrouillage liés à la protection du point de fonctionnement doivent être coordonnés avec la programmation des équipements et logiciels d'automatisation associés. NOTE : La coordination des dispositifs de sécurité et de verrouillage mécaniques/électriques du point de fonctionnement n'entre pas dans le cadre de cette bibliothèque de blocs fonction, du Guide utilisateur système ou de toute autre mise en œuvre référencée dans la documentation. DEMARRAGE ET TEST Avant toute utilisation de l'équipement de commande électrique et des automatismes en vue d'un fonctionnement normal après installation, un technicien qualifié doit procéder à un test de démarrage afin de vérifier que l'équipement fonctionne correctement. Il est essentiel de planifier une telle vérification et d'accorder suffisamment de temps pour la réalisation de ce test dans sa totalité. AVERTISSEMENT RISQUES INHERENTS AU FONCTIONNEMENT DE L'EQUIPEMENT Assurez-vous que toutes les procédures d'installation et de configuration ont été respectées. Avant de réaliser les tests de fonctionnement, retirez tous les blocs ou autres cales temporaires utilisés pour le transport de tous les dispositifs composant le système. Enlevez les outils, les instruments de mesure et les débris éventuels présents sur l'équipement. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Effectuez tous les tests de démarrage recommandés dans la documentation de l'équipement. Conservez toute la documentation de l'équipement pour référence ultérieure. Les tests logiciels doivent être réalisés à la fois en environnement simulé et réel. Vérifiez que le système entier est exempt de tout court-circuit et mise à la terre temporaire non installée conformément aux réglementations locales (conformément au National Electrical Code des Etats-Unis, par exemple). Si des tests diélectriques sont nécessaires, suivez les recommandations figurant dans la documentation de l'équipement afin d'éviter de l'endommager accidentellement. Avant de mettre l'équipement sous tension : Enlevez les outils, les instruments de mesure et les débris éventuels présents sur l'équipement. Fermez le capot du boîtier de l'équipement. Retirez toutes les mises à la terre temporaires des câbles d'alimentation entrants. Effectuez tous les tests de démarrage recommandés par le fabricant. 35010606 12/2018 7 FONCTIONNEMENT ET REGLAGES Les précautions suivantes sont extraites du document NEMA Standards Publication ICS 7.1-1995 (la version anglaise prévaut) : Malgré le soin apporté à la conception et à la fabrication de l'équipement ou au choix et à l'évaluation des composants, des risques subsistent en cas d'utilisation inappropriée de l'équipement. Il arrive parfois que l'équipement soit déréglé accidentellement, entraînant ainsi un fonctionnement non satisfaisant ou non sécurisé. Respectez toujours les instructions du fabricant pour effectuer les réglages fonctionnels. Les personnes ayant accès à ces réglages doivent connaître les instructions du fabricant de l'équipement et les machines utilisées avec l'équipement électrique. Seuls ces réglages fonctionnels, requis par l'opérateur, doivent lui être accessibles. L'accès aux autres commandes doit être limité afin d'empêcher les changements non autorisés des caractéristiques de fonctionnement. 8 35010606 12/2018 A propos de ce manuel Présentation Objectif du document Ce manuel présente la bibliothèque des blocs fonction de mouvement (MFB) sous EcoStruxure™ Control Expert. Champ d'application Cette documentation est applicable à EcoStruxure™ Control Expert 14.0 ou version ultérieure. Documents à consulter Titre du document Numéro de référence EcoStruxure™ Control Expert - Langages de programmation et structure - Manuel de référence 35006144 (anglais), 35006145 (français), 35006146 (allemand), 35013361 (italien), 35006147 (espagnol), 35013362 (chinois) EcoStruxure™ Control Expert - Modes de fonctionnement 33003101 (anglais), 33003102 (français), 33003103 (allemand), 33003104 (espagnol), 33003696 (italien), 33003697 (chinois) EcoStruxure™ Control Expert - Communication Bibliothèque de blocs 33002527 (anglais), 33002528 (français), 33002529 (allemand), 33003682 (italien), 33002530 (espagnol), 33003683 (chinois) Modicon M340 - CANopen - Manuel de configuration 35013944 (anglais), 35013945 (français), 35013946 (allemand), 35013948 (italien), 35013947 (espagnol), 35013949 (chinois) 35010606 12/2018 9 Titre du document Numéro de référence Modicon M580 - Modules BMECXM CANopen Manuel utilisateur EIO0000002129 (anglais), EIO0000002130 (français), EIO0000002131 (allemand), EIO0000002132 (italien), EIO0000002133 (espagnol), EIO0000002134 (chinois) Vous pouvez télécharger ces publications ainsi que d'autres informations techniques sur notre site Web : www.schneider-electric.com/en/download. Information spécifique au produit AVERTISSEMENT FONCTIONNEMENT IMPREVU DE L'EQUIPEMENT L'utilisation de ce produit requiert une expertise dans la conception et la programmation des systèmes d'automatisme. Seules les personnes avec l'expertise adéquate sont autorisées à programmer, installer, modifier et utiliser ce produit. Respectez toutes les réglementations et normes de sécurité locales et nationales. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 10 35010606 12/2018 EcoStruxure™ Control Expert Généralités 35010606 12/2018 Partie I Généralités Généralités Vue d’ensemble Cette partie contient des informations générales concernant les Motion Function Block (MFB). Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 35010606 12/2018 Titre du chapitre Page 1 Types de module et leur utilisation 13 2 Disponibilité des blocs sur les différentes plateformes 23 11 Généralités 12 35010606 12/2018 EcoStruxure™ Control Expert Types de module et leur utilisation 35010606 12/2018 Chapitre 1 Types de module et leur utilisation Types de module et leur utilisation Vue d'ensemble Ce chapitre décrit les différents types de module et leur utilisation. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Page Types de bloc 14 Structure d'un FFB 16 EN et ENO 20 35010606 12/2018 13 Types de module et leur utilisation Types de bloc Types de bloc Différents types de bloc sont utilisés dans Control Expert. FFB est le terme générique pour tous les types de bloc. Une différence est faite entre les types de bloc suivants : Fonction élémentaire (EF) Bloc fonction élémentaire (EFB) Bloc fonction dérivé (DFB) Procédure NOTE : Les blocs fonction de mouvement ne sont pas disponibles sur la plate-forme Quantum. Fonction élémentaire Les fonctions élémentaires (EF) n'ont pas d'état interne et elles possèdent une seule sortie. Si les valeurs des entrées sont similaires, la valeur de la sortie est identique pour les exécutions de la fonction. Par exemple, l'ajout de deux valeurs donne le même résultat à chaque exécution. Une fonction élémentaire est représentée dans les langages graphiques (FBD et LD) sous forme de bloc avec des entrées et une sortie. Les entrées sont représentées à gauche du bloc et les sorties à droite. Le nom de la fonction, c'est-à-dire le type de fonction, est affiché au centre du bloc. Pour certaines fonctions élémentaires, il est possible d'augmenter le nombre d'entrées. NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures. ATTENTION COMPORTEMENT INATTENDU DE L'EQUIPEMENT Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les sorties des blocs fonction lorsque votre application repose sur des données de sortie persistantes d'un bloc EF. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0) entraîne la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal, n'utilisez pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée pour connecter l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous pouvez maintenir les liens de sortie même si un EF est désactivé en activant l'option Maintenir les liens de sortie sur les EF désactivés (EN=0) par l'intermédiaire du menu Outils → Programme → Langues → Commun. 14 35010606 12/2018 Types de module et leur utilisation Bloc fonction élémentaire Les blocs fonction élémentaires (EFB) ont un état interne. Si les valeurs des entrées sont identiques, les valeurs des sorties peuvent différer à chaque exécution du bloc fonction. Pour un compteur, par exemple, la valeur de la sortie est incrémentée. Un bloc fonction élémentaire est représenté dans les langages graphiques (FBD et LD) sous forme de bloc avec des entrées et des sorties. Les entrées sont représentées à gauche du bloc et les sorties à droite. Le nom du bloc fonction, c'est-à-dire le type de bloc fonction, est affiché au centre du bloc. Le nom d'instance est affiché au-dessus du bloc. Bloc fonction dérivé Les blocs fonction dérivés (DFB) ont les mêmes caractéristiques que les blocs fonction élémentaires. Ils sont cependant créés par l'utilisateur dans les langages de programmation FBD, LD, IL et/ou ST. Procédure Les procédures correspondent à des fonctions proposant plusieurs sorties. Elles ne disposent pas d'état interne. L'unique différence par rapport aux fonctions élémentaires est que les procédures peuvent avoir plus d'une sortie et qu'elles supportent des variables du type de donnée VAR_IN_OUT. Les procédures ne renvoient aucune valeur. Les procédures sont un complément de la norme IEC 61131-3 et doivent être activées de manière explicite. Visuellement, il n'existe aucune différence entre les procédures et les fonctions élémentaires. NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures. ATTENTION COMPORTEMENT INATTENDU DE L'EQUIPEMENT Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les sorties des blocs fonction lorsque votre application repose sur des données de sortie persistantes d'un bloc EF. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0) entraîne la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal, n'utilisez pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée pour connecter l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous pouvez maintenir les liens de sortie même si un EF est désactivé en activant l'option Maintenir les liens de sortie sur les EF désactivés (EN=0) par l'intermédiaire du menu Outils → Programme → Langues → Commun. 35010606 12/2018 15 Types de module et leur utilisation Structure d'un FFB Structure Un FFB se compose d'une opération (nom du FFB), des opérandes nécessaires à l'opération (paramètres réels et formels) et d'un nom d'instance pour les blocs fonction élémentaires ou dérivés. Appel d'un bloc fonction dans le langage de programmation FBD : ATTENTION COMPORTEMENT INATTENDU DE L'APPLICATION N'appelez pas plusieurs fois la même instance de bloc pendant un cycle d'automate. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 16 35010606 12/2018 Types de module et leur utilisation Appel formel d'un bloc fonction dans le langage de programmation ST : Opération L'opération détermine la fonction qui doit être exécutée par le FFB, par exemple : registre à décalage ou opérations de conversion. Opérande L'opérande détermine les éléments sur lesquels porte l'opération qui est exécutée. Dans les FFB, il est constitué de paramètres formels et de paramètres réels. Paramètres formels et réels Des entrées et des sorties permettent de transférer les valeurs vers ou depuis un FFB. Ces entrées et ces sorties sont appelées « paramètres formels ». Les paramètres formels sont liés à des objets qui comprennent les états courants du processus. Ces objets sont appelés « paramètres réels ». Durant l'exécution du programme, les valeurs sont transmises, par le biais des paramètres réels, du processus au FFB, et renvoyées à nouveau en sortie après le traitement. Le type de données des paramètres réels doit correspondre au type de données des entrées/sorties (paramètres formels). La seule exception concerne les entrées/sorties génériques dont le type de données est déterminé par le paramètre réel. On choisira un type de données adapté pour le bloc fonction, si les paramètres réels sont constitués de valeurs littérales. 35010606 12/2018 17 Types de module et leur utilisation Appel de FFB dans le langage IL/ST Les FFB peuvent être appelés de deux manières dans les langages textuels IL et ST : formelle ou informelle. Pour obtenir des informations détaillées, reportez-vous au chapitre Langage de programmation (voir EcoStruxure™ Control Expert, Langages de programmation et structure, Manuel de référence). Exemple d'un appel de fonction formel : out:=LIMIT (MN:=0, IN:=var1, MX:=5); Exemple d'un appel de fonction informel : out:=LIMIT (0, var1, 5); NOTE : Les paramètres EN et la sortie ENO peuvent uniquement être utilisés pour des appels formels. Variable VAR_IN_OUT Les FFB sont souvent utilisés pour lire une variable en entrée (variables d'entrée), la traiter et générer les valeurs modifiées de cette même variable (variables de sortie). Ce cas particulier d'une variable d'entrée/de sortie est également appelé variable VAR_IN_OUT. La relation entre la variable d'entrée et la variable de sortie est représentée dans les langages graphiques (FBD et LD) par une ligne. Bloc fonction avec la variable VAR_IN_OUT dans le langage FBD : Bloc fonction avec la variable VAR_IN_OUT dans le langage ST : MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT, OUT1=>Output1, OUT2=>Output2); Tenez compte des points suivants lorsque vous utilisez des FFB avec les variables VAR_IN_OUT : Une variable doit être affectée à toutes les entrées VAR_IN_OUT. Aucune valeur littérale ou constante ne doit être affectée aux entrées/sorties VAR_IN_OUT. 18 35010606 12/2018 Types de module et leur utilisation Les limitations supplémentaires de ces langages graphiques (FBD et LD) sont les suivantes : Les liaisons graphiques permettent uniquement de relier des sorties VAR_IN_OUT à des entrées VAR_IN_OUT. Seule une liaison graphique peut être associée à une entrée/sortie VAR_IN_OUT. Des variables ou des composantes de variables différentes peuvent être reliées à l'entrée VAR_IN_OUT et à la sortie VAR_IN_OUT. Dans ce cas, la valeur de la variable ou de la composante de variable en entrée est copiée dans la variable ou la composante de variable en sortie. Vous ne pouvez pas utiliser des négations sur les entrées/sorties VAR_IN_OUT. Une combinaison de variable/adresse et de liaisons graphiques n'est pas possible pour les sorties VAR_IN_OUT. 35010606 12/2018 19 Types de module et leur utilisation EN et ENO Description Une entrée EN et une sortie ENO peuvent être configurées pour tous les FFB. Si la valeur de EN est déjà réglée sur « 0 », lors de l'appel de FFB, les algorithmes définis par FFB ne sont pas exécutés et ENO est réglé sur « 0 ». Si la valeur de EN est déjà à « 1 », lors de l'appel de FFB, les algorithmes définis par FFB sont exécutés. Après l'exécution sans erreur de ces algorithmes, la valeur de ENO est réglée sur « 1 ». Si certaines conditions d'erreur sont détectées durant l’exécution de ces algorithmes, ENO est réglé sur « 0 ». Si aucune valeur n'est attribuée à la broche EN à l'appel du FFB, l'algorithme défini par ce dernier est exécuté (comme lorsque EN a la valeur « 1 »). Reportez-vous à la section Maintenir les liens de sortie sur les EF désactivés (voir EcoStruxure™ Control Expert, Modes de fonctionnement). Une fois les algorithmes exécutés, la valeur de ENO est réglée sur « 1 », sinon la valeur de ENO est réglée sur « 0 ». Si la valeur de ENO est réglée sur 0 (car EN = 0 ou en raison d'une condition d'erreur détectée lors de l'exécution ou de l'échec de l'exécution des algorithmes) : Blocs fonction Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent (uniquement) une liaison en tant que paramètre de sortie : Si l'entrée EN de BlocFonction_1 est réglée sur « 0 », la connexion de sortie OUT de BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle correctement exécuté. Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent une variable et une liaison en tant que paramètres de sortie : Si l'entrée EN de BlocFonction_1 est réglée sur « 0 », la connexion de sortie OUT de BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle correctement exécuté. La variable OUT1 présente sur la même broche conserve son état précédent ou peut être modifiée de manière externe sans incidence sur la connexion. La variable et la liaison sont enregistrées indépendamment l'une de l'autre. 20 35010606 12/2018 Types de module et leur utilisation Fonctions/procédures NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures. ATTENTION COMPORTEMENT INATTENDU DE L'EQUIPEMENT Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les sorties des blocs fonction lorsque votre application repose sur des données de sortie persistantes d'un bloc EF. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0) entraîne la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal, n'utilisez pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée pour connecter l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous pouvez maintenir les liens de sortie même si un EF est désactivé en activant l'option Maintenir les liens de sortie sur les EF désactivés (EN=0) par l'intermédiaire du menu Outils → Programme → Langues → Commun. Comme spécifié dans la norme CEI 61131-3, les sorties de fonctions désactivées (entrée EN réglée sur « 0 ») ne sont pas définies. (Cette caractéristique s'applique également aux procédures.) Voici une explication des états des sorties dans un tel cas : Traitement des paramètres EN/ENO avec des fonctions/procédures qui possèdent (uniquement) une liaison en tant que paramètre de sortie : 35010606 12/2018 Si l'entrée EN de Function/Procedure_1 est réglée sur 0, la connexion de sortie OUT de Function/Procedure_1 est également réglée sur 0. Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent une variable et une liaison en tant que paramètres de sortie : 21 Types de module et leur utilisation Si l'entrée EN de Function/Procedure_1 est réglée sur 0, la connexion de sortie OUT de Function/Procedure_1 est également réglée sur 0. La variable OUT1 présente sur la même broche conserve son état précédent ou peut être modifiée de manière externe sans incidence sur la connexion. La variable et la liaison sont enregistrées indépendamment l'une de l'autre. Le comportement de la sortie des FFB ne dépend pas de la façon dont les FFB sont appelés (sans EN/ENO ou avec EN=1). Appel de FFB conditionnel/inconditionnel Un FFB peut être appelé de manière « conditionnelle » ou « inconditionnelle ». La condition est établie en pré-connectant l'entrée EN. Entrée EN connectée appels conditionnels (le FFB est exécuté uniquement si EN = 1) Entrée EN affichée, masquée et marquée comme TRUE, ou affichée et non occupée appels inconditionnels (le FFB est traité indépendamment de l'entrée EN) NOTE : pour les blocs fonction désactivés (EN = 0) équipés d'une fonction d'horloge interne (par exemple DELAY), le temps semble s'écouler, étant donné qu'il est calculé à l'aide d'une horloge système et qu'il est, par conséquent, indépendant du cycle du programme et de la libération du bloc. ATTENTION EQUIPEMENT D'APPLICATION IMPREVU Ne désactivez pas les blocs fonction équipés d'une fonction d'horloge interne en cours de fonctionnement. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Remarque concernant les langages IL et ST Les paramètres EN et ENO peuvent uniquement être utilisés dans les langages textuels et dans le cadre d'un appel de FFB formel, par exemple : MY_BLOCK (EN:=enable, IN1:=var1, IN2:=var2, ENO=>error, OUT1=>result1, OUT2=>result2); L'affectation de variables à ENO doit être effectuée à l'aide de l'opérateur =>. EN et ENO ne peuvent pas être utilisés pour un appel informel. 22 35010606 12/2018 EcoStruxure™ Control Expert Disponibilité des blocs : 35010606 12/2018 Chapitre 2 Disponibilité des blocs sur les différentes plateformes Disponibilité des blocs sur les différentes plateformes Blocs disponibles sur différents variateurs Blocs fonction de mouvement Les blocs fonction de mouvement disponibles sont répertoriés dans les tableaux suivants. Type Nom du bloc ATV31 ATV312 (7.) ATV32 ATV71 Lexium 32, 32i Lexium 05 Lexium 15 HP, MP, LP IclA IFA, IFE, IFS PLCopen motioncontrol V1.1 MC_ReadParameter X X X X X X X MC_WriteParameter X X X X X X X X X X X MC_ReadActualPosition MC_ReadActualVelocity (1.) X X X X X X X MC_Reset X X X X X X X MC_Stop X X X X X X X MC_Power X X X X X X X X MC_MoveAbsolute X X X MC_MoveRelative X X X MC_MoveAdditive X X MC_Home X X X MC_MoveVelocity X X X X X X X MC_ReadAxisError X X X X X X X MC_ReadStatus X X X X X X X X X X X (3.) MC_TorqueControl (1.) MC_ReadActualTorque (1.) MC_Jog (2.) 35010606 12/2018 X X X X X X X X X X X (3.), sauf 15 LP X 23 Disponibilité des blocs : Type Nom du bloc Fonctions de TE_UploadDriveParam configuration, d'enregistreTE_DownloadDriveParam ment et de restauration de paramètres pour la gestion des recettes ou le remplacement de variateurs défaillants Fonctions avancées pour Lexium ATV31 ATV312 (7.) ATV32 ATV71 Lexium 32, 32i X X X X(6.), X sauf 32i X X X X X X X(6.), sauf 32i X X Lxm_GearPos Lxm_GearPosS X X (4.) X (5.) X (4.) X (5.) Lxm_UploadMTask X Lxm_DownloadMTask X Lxm_StartMTask Fonction système Lexium 05 Lexium 15 HP, MP, LP CAN_Handler X X X X X IclA IFA, IFE, IFS X X X X 1. Extension PLCopen V0.99 partie 2 2. Non conforme à PLCopen 3. Uniquement pour une version de micrologiciel >= 6.73 4. Uniquement pour une version de micrologiciel >= 1.403 5. Uniquement pour une version de micrologiciel >= 2.36 6. La liste de paramètres est une liste de paramètres de variateur Lexium32Advanced. 7. Via une configuration d'équipement CANopen ATV 31 V1.7. 24 35010606 12/2018 EcoStruxure™ Control Expert MotionFunctionBlock 35010606 12/2018 Partie II Blocs fonction de mouvement Blocs fonction de mouvement Objet de cette section Cette partie décrit les fonctions et les blocs fonctions élémentaires de la librairie MotionFunctionBlock. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 35010606 12/2018 Titre du chapitre Page 3 Le paramètre RefAxis 27 4 Bloc fonction de mouvement 31 25 MotionFunctionBlock 26 35010606 12/2018 EcoStruxure™ Control Expert Abbreviated title of Chapter 35010606 12/2018 Chapitre 3 Le paramètre RefAxis Le paramètre RefAxis Objet de ce chapitre Ce chapitre décrit en détail le paramètre RefAxis. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Page Axis_Ref 28 Diagramme d'état de l'axe 29 35010606 12/2018 27 Abbreviated title of Chapter Axis_Ref Description Un axe est défini par un objet de type AXIS_REF. D'un point de vue utilisateur, l'objet de type AXIS_REF est : une variable structurée qui contient l'ensemble des données nécessaire aux MFB pour travailler avec un axe (état logique, adressage, état de la messagerie…), une variable créée automatiquement lors de la création de l'axe, une variable à adresser aux blocs MFB. L'objet AXIS_REF est représenté par une structure de type DDT qui contient des données publiques, modifiables par la configuration de l'axe, et des données non visibles et non modifiables. Les données visibles de l'objet AXIS_REF sont les suivantes : Données Type Description AxisReady BOOL Informe sur l'initialisation de Axis_Ref, ainsi que sur la disponibilité de l'équipement sur le réseau. AxisType UINT Type de variateur 1=Lexium, 2=Ifx, 3=ATV31… AxisReference UINT Référence de l'équipement 1=MHDA1004, 2=MHDA1008… Pour vérification lors de l'utilisation des fonctions UploadParam et DownloadParam. PLCTask UINT Identification de la tâche (1=MAST, 2=FAST). NetworkType UINT Réservé AxisMajorVersion UINT Partie entière de la version minimale que le variateur doit posséder (exemple : le chiffre 6 dans le nombre 6.43). AxisMinorVersion UINT Partie décimale de la version minimale que le variateur configuré doit posséder (exemple : le nombre 43 dans 6.43). AxisMajorVersionRead UINT Partie entière de la version minimale du variateur actuel (exemple : le chiffre 6 dans le nombre 6.5). AxisMinorVersionRead UINT Partie décimale de la version minimale du variateur possède (exemple : le chiffre 5 dans le nombre 6.5). 28 35010606 12/2018 Abbreviated title of Chapter Diagramme d'état de l'axe Présentation Les inverseurs et variateurs sont gérés par le diagramme d'état standard DRIVECOM. Les blocs fonction de mouvement définissent le comportement de l'axe à un niveau élevé par un diagramme d'état standard PLCopen. Les commandes MFB agissent sur le diagramme d'état de l'axe. L'axe est toujours dans un des états définis. Toute commande de déplacement est une transition faisant changer les états de l'axe et en conséquence la méthode de calcul du déplacement en cours. Il y a quatre valeurs d'état principales dans ce tableau : désactivé standstill, errorstop, stopping. D'autres états sont décrits ci-dessous. Le diagramme Ci dessous le diagramme d'état de l'Axis_Ref : 35010606 12/2018 29 Abbreviated title of Chapter Valeurs d'état Le tableau ci-dessous décrit les valeurs d'état : Etat 30 Correspond à Disabled Etat repos ou initial de l'axe. Standstill Etat d'attente de l'axe ; il est sous puissance et sans erreur. Discrete Motion Déplacement discret en cours. Continuous Motion Déplacement continu en cours. Synchronized Motion Déplacement synchronisé en cours. MotionTask Motion Programme de tâche de mouvement en cours. Downloading Des paramètres ou des tâches de mouvement sont en cours de transfert entre l'automate et la mémoire du variateur. Homing Axe en cours d'exécution d'une prise d'origine. Stopping Valide durant l'exécution du MC_STOP de l'axe, le Done et la non exécution du MC_STOP amène l'Axis_Ref à l'état Standstill. Errorstop Valide durant l'arrêt de l'axe suite à une erreur et avant que l'erreur soit acquittée. 35010606 12/2018 EcoStruxure™ Control Expert Bloc fonction de mouvement 35010606 12/2018 Chapitre 4 Bloc fonction de mouvement Bloc fonction de mouvement Vue d'ensemble Ce chapitre présente les différents blocs appartenant à la bibliothèque Blocs fonction de mouvement. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Page Blocs fonction de mouvement et paramètres de base 33 CAN_HANDLER 38 MC_READPARAMETER 40 MC_WRITEPARAMETER 42 MC_READACTUALPOSITION 44 MC_READACTUALVELOCITY 46 MC_READACTUALTORQUE 48 MC_TORQUECONTROL 50 MC_RESET 52 MC_STOP 54 MC_POWER 57 MC_MOVEABSOLUTE 59 MC_MOVERELATIVE 61 MC_MOVEADDITIVE 63 MC_MOVEVELOCITY 67 MC_JOG 69 MC_READAXISERROR 73 MC_READSTATUS 77 MC_HOME 81 LXM_GEARPOS 83 LXM_GearPosS 86 TE_UPLOADDRIVEPARAM 89 TE_DOWNLOADDRIVEPARAM 92 LXM_UPLOADMTASK 95 35010606 12/2018 31 Bloc fonction de mouvement Sujet LXM_DOWNLOADMTASK 32 Page 98 LXM_STARTMTASK 100 Unités et variateurs 102 Service de messagerie 104 Taille mémoire 106 35010606 12/2018 Bloc fonction de mouvement Blocs fonction de mouvement et paramètres de base Présentation La plupart des blocs utilisent les mêmes paramètres d'entrée et de sortie, dénommés collectivement par l'expression « de base ». Le principe régissant les paramètres d'entrée et de sortie est décrit ci-après. Représentation en FBD Représentation : Description des paramètres d'entrée standard Le tableau suivant décrit les paramètres d’entrée : Paramètre Type Commentaire AXIS AXIS_REF Objet de type Axis_Ref (voir page 28), qui définit l'équipement. ENABLE BOOL Lorsque ENABLE a pour valeur TRUE, les paramètres sont pris en compte et la fonction est exécutée. Dès que ENABLE a pour valeur FALSE, les paramètres de sortie ERROR, DONE et COMMANDABORTED sont immédiatement réglés sur FALSE. EXECUTE BOOL Sur un front montant EXECUTE, les paramètres sont pris en compte et la fonction est exécutée. Lorsque EXECUTE a pour valeur TRUE, les paramètres de sortie ERROR, DONE, COMMANDABORTED et BUSY sont contrôlés par le bloc. Lorsque EXECUTE a pour valeur FALSE, le paramètre de sortie BUSY garde la valeur TRUE jusqu'à la fin de l'exécution du bloc. Dès que le paramètre de sortie ERROR, DONE ou COMMANDABORTED prend la valeur TRUE, tous adoptent la valeur FALSE. 35010606 12/2018 33 Bloc fonction de mouvement Description des paramètres de sortie standard Le tableau suivant décrit les paramètres de sortie : Paramètre Type Commentaire ERROR BOOL ERROR a pour valeur TRUE lorsque le bloc fonction détecte une erreur d'exécution. DONE BOOL DONE a pour valeur TRUE lorsque l'exécution de la fonction est terminée. VALID BOOL VALID a pour valeur TRUE lorsque les autres paramètres sont activés. BUSY BOOL BUSY a pour valeur TRUE pour indiquer que le bloc fonction est en cours d'exécution. BUSY est réglé sur TRUE lorsque EXECUTE prend la valeur TRUE (sur un front montant), et sur FALSE lorsqu'un ou plusieurs des paramètres DONE, ERROR et COMMANDABORTED prennent la valeur TRUE. ERRORID INT Identifiant de l'erreur. COMMANDABORTED BOOL COMMANDABORTED a pour valeur TRUE lorsque l'exécution du bloc est annulée. Cette annulation est due à l'exécution d'une autre commande. NOTE : le paramètre de sortie ErrorId (Error Identifier (voir page 111)) est de type UDINT pour les blocs qui utilisent la messagerie (MC_READ..., MC_WRITEPARAMETER et CAN_HANDLER). Tous les blocs peuvent enregistrer la dernière erreur ERRID dans le tampon DIAG BUFFER de Control_Expert. 34 35010606 12/2018 Bloc fonction de mouvement Fonctionnement du bloc avec un paramètre d'entrée Execute La figure ci-dessous montre le chronogramme d'un bloc comprenant le paramètre d'entrée EXECUTE réglé sur 1 jusqu'à la fin de l'exécution du bloc (DONE = 0 et BUSY = 0). Ce bloc s'exécute sans erreur : La figure ci-dessous montre le chronogramme d'un bloc comprenant le paramètre d'entrée EXECUTE réglé sur 1 jusqu'à la fin de l'exécution du bloc (ERROR = 0 et BUSY = 0). Ce bloc s'exécute en générant des erreurs : 35010606 12/2018 35 Bloc fonction de mouvement La figure ci-dessous montre le chronogramme d'un bloc comprenant le paramètre d'entrée EXECUTE réglé sur 1 jusqu'à la fin de l'exécution du bloc (COMMAND ABORTED = 0 et BUSY = 0). L'exécution de ce bloc est annulée : La figure ci-dessous montre le chronogramme d'un bloc comprenant le paramètre d'entrée EXECUTE réglé sur 1 pendant un cycle d'automate. Ce bloc s'exécute sans erreur : La figure ci-dessous montre le chronogramme d'un bloc comprenant le paramètre d'entrée EXECUTE réglé sur 1 pendant un cycle d'automate. Ce bloc s'exécute avec des erreurs : 36 35010606 12/2018 Bloc fonction de mouvement Fonctionnement du bloc avec un paramètre d'entrée Enable La figure ci-dessous montre le chronogramme d'un bloc comprenant le paramètre d'entrée ENABLE. Son exécution est rapide : La figure ci-dessous montre le chronogramme d'un bloc comprenant le paramètre d'entrée ENABLE. Son exécution est normale (plus longue qu'un cycle d'automate) : 35010606 12/2018 37 Bloc fonction de mouvement CAN_HANDLER Description de la fonction La fonction CAN_HANDLER permet de vérifier la communication CANopen et la cohérence des configurations logicielle et physique. Elle doit être appelée avant un bloc fonction de mouvement, car elle conditionne le bon fonctionnement de tous les autres blocs fonction de mouvement. NOTE : ce bloc ne doit pas être instancié manuellement. Il est automatiquement créé lors de la création d'un axe dans le répertoire Motion (voir EcoStruxure™ Control Expert, Modes de fonctionnement). NOTE : le paramètre AXIS correspondant doit être défini lorsque l'axe est créé dans le répertoire Motion. Représentation en FBD Représentation : Représentation en LD Représentation : 38 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : CAL CAN_HANDLER_Instance(NETWORKOPERATIONAL:=NETOP, AXIS:=AXIS, AXISREADY=>AXISRD, ERRORID=>ERRID) Représentation en ST Représentation : CAN_HANDLER_Instance(NETWORKOPERATIONAL:=NETOP, AXIS:=AXIS, AXISREADY=>AXISRD, ERRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire NETWORKOPERATIONAL BOOL Calcul correct du résultat de l'équation du bus CANopen. NOTE : l'affectation de ce paramètre est laissée à la discrétion du développeur. Elle dépend de la philosophie de gestion du bus CANopen. Il est recommandé d'affecter un bit confirmant le bon fonctionnement du réseau CANopen. Par exemple, vous pouvez affecter le bit SLAVE_ACTIV_X (où X correspond à l'adresse CANopen de l'équipement) provenant : de l'IODDT T_COM_CPP110 pour Premium (carte TSX CPP110), de l'IODDT T_COM_CO_BMX ou T_COM_CO_BMX_EXPERT pour Modicon M340 CANopen. Pour le PAC M580, il est possible d'affecter un bit provenant du DDT d'équipement du module maître CANopen Modicon X80 (voir Modicon M580, Modules CANopen BMECXM , Manuel utilisateur). Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire AXISREADY BOOL La configuration logicielle est cohérente avec la configuration matérielle, et le bus CANopen est opérationnel. 35010606 12/2018 39 Bloc fonction de mouvement MC_READPARAMETER Description de la fonction La fonction MC_READPARAMETER permet de lire, via la messagerie SDO (Service Data Object), une variable du variateur défini par le paramètre AXIS. Représentation en FBD Représentation : Représentation en LD Représentation : 40 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_READPARAMETER_Instance (AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERNUMB ER:=PN, SUBINDEX:=SI, ERROR=>ERR, DONE=>DO, BUSY=>B, ERRORID=>ERRID, VA LUE=>X, LENGTH=>L) Représentation en ST Représentation : MC_READPARAMETER_Instance (AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERNUMBER:= PN, SUBINDEX:=SI, ERROR=>ERR, DONE=>DO, BUSY=>B, ERRORID=>ERRID, VALUE= >X, LENGTH=>L); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire PARAMETERNUMBER UINT Numéro de l'index CANopen. SUBINDEX UINT Numéro du sous-index CANopen. Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire VALUE DINT Valeur lue. LENGTH UINT Longueur en octets de la valeur lue. 35010606 12/2018 41 Bloc fonction de mouvement MC_WRITEPARAMETER Description de la fonction La fonction MC_WRITEPARAMETER permet d'écrire, via la messagerie SDO (Service Data Object), une variable dans le variateur défini par le paramètre Axis. Représentation en FBD Représentation : Représentation en LD Représentation : 42 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_WRITEPARAMETER_Instance(AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERNUMB ER:=PN, SUBINDEX:=SI, VALUE:=X, LENGTH:=L, ERROR=>ERR, DONE=>DO, BUSY=> B, ERRORID=>ERRID) Représentation en ST Représentation : MC_WRITEPARAMETER_Instance(AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERNUMBER:= PN, SUBINDEX:=SI, VALUE:=X, LENGTH:=L, ERROR=>ERR, DONE=>DO, BUSY=>B, E RRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire PARAMETERNUMBER UINT Numéro de l'index CANopen à écrire. SUBINDEX UINT Numéro du sous-index CANopen. VALUE DINT Valeur à écrire. LENGTH UINT Longueur en octets de la valeur à écrire. 35010606 12/2018 43 Bloc fonction de mouvement MC_READACTUALPOSITION Description de la fonction La fonction MC_READACTUALPOSITION permet de lire la position de l'axe. Représentation en FBD Représentation : Représentation en LD Représentation : 44 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_READACTUALPOSITION_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, VALID=>VA, BUSY=>B, ERRORID=>ERRID, POSITION=>POS) Représentation en ST Représentation : MC_READACTUALPOSITION_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, VALID=>VA, BUSY=>B, ERRORID=>ERRID, POSITION=>POS); Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire POSITION DINT Position de l'axe, si VALID est TRUE. 35010606 12/2018 45 Bloc fonction de mouvement MC_READACTUALVELOCITY Description de la fonction La fonction MC_READACTUALVELOCITY permet de déterminer la vitesse réelle de l'axe. Représentation en FBD Représentation : Représentation en LD Représentation : 46 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_READACTUALVELOCITY_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, VALID=>VA, BUSY=>B, ERRORID=>ERRID, VELOCITY=>V) Représentation en ST Représentation : MC_READACTUALVELOCITY_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, VAL ID=>VA, BUSY=>B, ERRORID=>ERRID, VELOCITY=>V); Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire VELOCITY DINT Vitesse de l'axe, lorsque VALID est TRUE. 35010606 12/2018 47 Bloc fonction de mouvement MC_READACTUALTORQUE Description de la fonction La fonction MC_READACTUALTORQUE permet de renvoyer le couple actuel. Représentation en FBD Représentation Représentation en LD Représentation Représentation en IL Représentation : LD Slave CAL MC_READACTUALTORQUE_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, V ALID=>DO, BUSY=>B, ERRORID=>ERRID, TORQUE=>TORQ 48 35010606 12/2018 Bloc fonction de mouvement Représentation en ST Représentation : MC_READACTUALTORQUE_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, VALID =>DO, BUSY=>B, ERRORID=>ERRID, TORQUE=>TORQ; Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire TORQUE INT Mise à jour toutes les 200 ms. Le tableau ci-après décrit les unités de chaque variateur. Variateur 15MP/HP 15LP Lex05/Lex32 Icla ATV31 ATV71 Unité 1/100 Amp 0,01 du couple de moteur nominal - 0,01 du couple nominal 0,01 du couple nominal 1/1 000 du couple nominal NOTE : la valeur renvoyée pour le Lexium05 et le Lexium32 est un courant. 35010606 12/2018 49 Bloc fonction de mouvement MC_TORQUECONTROL Description de la fonction La fonction MC_TORQUECONTROL permet d'activer le mode TORQUECONTROL du variateur (si ce n'est pas déjà le cas) et de fournir une valeur de commande de couple. Ce bloc fonction applique en permanence un couple ou une force, et active la sortie InTorque si le niveau du couple est atteint. Il s'applique à la force et au couple. En l'absence de charge externe applicable, le couple positif est orienté dans la direction positive de la vitesse. Représentation en FBD Représentation Représentation en LD Représentation 50 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Slave CAL MC_TORQUECONTROL_Instance(AXIS:=AXIS, EXECUTE:=EXEC, TORQUE:=TORQ, ERROR=>ERR, INTORQUE=>INTORQ, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERR ID) Représentation en ST Représentation : MC_TORQUECONTROL_Instance(AXIS:=AXIS, EXECUTE:=EXEC, TORQUE:=TORQ, ERRO R=>ERR, INTORQUE=>INTORQ, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire TORQUE INT Valeur du couple Le tableau ci-après décrit les unités de chaque variateur. Variateur Lexium 15MM/HP Lexium 15LP Lexium 05/Lexium 32 ATV 71 Unité 1/1 000 du couple nominal 1/1 000 du couple nominal 0,01 Amp 1/1000 du couple de moteur nominal Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire INTORQUE BOOL INTORQUE est TRUE lorsque l'axe atteint la valeur de TORQUE en mode TorqueControl. Sinon, il reste à FALSE (non significatif pour Lexium05). NOTE : l'ATV71 permet de gérer le mode de couple de deux manières : régulation de couple ou régulation de vitesse. Le basculement entre ces deux modes est possible par LI ou par niveau de fréquence. LI est une entrée numérique ou virtuelle, composée des trois MSB de ControlWord (bits 15 à 13). Lorsqu'il est activé, ce MFB définit systématiquement le bit 15 sur 1. Selon la configuration du variateur, les deux modes de commutation sont disponibles. 35010606 12/2018 51 Bloc fonction de mouvement MC_RESET Description de la fonction La fonction MC_RESET permet d'acquitter les défauts internes (AxisFault) ou les alertes internes (AxisWarning) résultant de l'exécution d'un bloc fonction de mouvement sur l'axe (Axis_ref). Elle réinitialise le contenu du bloc ReadAxisError, c'est-à-dire les informations de diagnostic. Dans le diagramme d'état, elle vous permet de basculer de l'état Errorstop à l'état Standstill (voir page 29). Les paramètres (voir page 33) d'entrée et de sortie sont des paramètres de base. Représentation en FBD Représentation : Représentation en LD Représentation : 52 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_RESET_Instance(AXIS:=AXIS, EXECUTE:=EXEC, ERROR=>ERR, DONE=>DO, BUSY=>B, ERRORID=>ERRID) Représentation en ST Représentation : MC_RESET_Instance(AXIS:=AXIS, EXECUTE:=EXEC, ERROR=>ERR, DONE=>DO, BUSY =>B, ERRORID=>ERRID); 35010606 12/2018 53 Bloc fonction de mouvement MC_STOP Description de la fonction La fonction MC_STOP permet d'arrêter un mouvement en cours et de mettre l'axe à l'état Stopping (voir page 29). Dès que l'axe a une vitesse nulle, le paramètre de sortie DONE est mis à TRUE et l'axe prend l'état Stopping. L'axe prend l'état Standby si le paramètre d'entrée revient à FALSE. Les paramètres d'entrée et de sortie du bloc sont des paramètres de base (voir page 33). Représentation en FBD Représentation : Représentation en LD Représentation : 54 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_STOP_Instance(AXIS:=AXIS, EXECUTE:=EXEC, ERROR=>ERR, DONE=>DO, B USY=>B, ERRORID=>ERRID, COMMANDABORTED=>ABORT) Représentation en ST Représentation : MC_STOP_Instance(AXIS:=AXIS, EXECUTE:=EXEC, ERROR=>ERR, DONE=>DO, BUSY= >B, ERRORID=>ERRID, COMMANDABORTED=>ABORT); Arrêt sur l'axe Z L'exemple ci-dessous montre comment la fonction MC_STOP se comporte lorsqu'elle est combinée à MC_MOVEVELOCITY. Le graphique ci-dessous montre le chronogramme de l'exemple avec : a) un axe en rotation arrêté à l'aide du bloc fonction de mouvement MC_Stop ; b) l'axe rejetant la commande de mouvement lorsque le paramètre Execute du bloc MC_STOP est à 1. Le bloc fonction de mouvement MC_MOVEVELOCITY génère une erreur indiquant que la commande MC_STOP est active. 35010606 12/2018 55 Bloc fonction de mouvement Le graphique ci-dessous montre le chronogramme de l'arrêt de l'axe : 56 35010606 12/2018 Bloc fonction de mouvement MC_POWER Description de la fonction La fonction MC_POWER permet de faire passer l'axe de l'état Disabled (voir page 29) à l'état Standstill. Représentation en FBD Représentation : Représentation en LD Représentation : Représentation en IL Représentation : LD Axis CAL MC_POWER_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, STATUS=>ST, ERRORID=>ERRID) 35010606 12/2018 57 Bloc fonction de mouvement Représentation en ST Représentation : MC_POWER_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, STATUS=>ST, ERRO RID=>ERRID); Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : 58 Paramètre Type Commentaire STATUS BOOL Si STATUS est réglé sur TRUE, l'état est Standstill (voir page 29). Si STATUS est réglé sur FALSE, l'état est Disabled (voir page 29). 35010606 12/2018 Bloc fonction de mouvement MC_MOVEABSOLUTE Description de la fonction La fonction MC_MOVEABSOLUTE permet d'exécuter un déplacement vers une position absolue. Done est égal à TRUE si la position est atteinte et si la vitesse est nulle. Représentation en FBD Représentation : Représentation en LD Représentation : 35010606 12/2018 59 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_MOVEABSOLUTE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, POSITION:=POS, VELOCITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO , BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID) Représentation en ST Représentation : MC_MOVEABSOLUTE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, POSITION:=POS, VELO CITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO, BU SY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire POSITION DINT Valeur spécifiant la position du variateur. VELOCITY UDINT Valeur de la vitesse. ACCELERATION UDINT Valeur de l'accélération. DECELERATION UDINT Valeur de la décélération. NOTE : la valeur 0 attribuée aux paramètres d'accélération et de décélération vous permet d'utiliser la valeur configurée dans le variateur. Si la valeur est différente de 0, le variateur la prend en compte. NOTE : pour le variateur Icla, la valeur d'accélération est identique à celle de décélération. Le type est UINT. Le paramètre de décélération n'est pas actif. 60 35010606 12/2018 Bloc fonction de mouvement MC_MOVERELATIVE Description de la fonction La fonction MC_MOVERELATIVE permet d'effectuer un déplacement vers une position relative (par rapport à la position actuelle du variateur). Représentation en FBD Représentation : Représentation en LD Représentation : 35010606 12/2018 61 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_MOVERELATIVE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, DISTANCE:=DIS, VELOCITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO , BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID) Représentation en ST Représentation : MC_MOVERELATIVE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, DISTANCE:=DIS, VELO CITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO, BU SY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire DISTANCE DINT Valeur spécifiant la distance que le variateur doit parcourir. VELOCITY UDINT Valeur de la vitesse. ACCELERATION UDINT Valeur de l'accélération. DECELERATION UDINT Valeur de la décélération. NOTE : la valeur 0 attribuée aux paramètres d'accélération et de décélération vous permet d'utiliser la valeur configurée dans le variateur. Si la valeur est différente de 0, le variateur la prend en compte. 62 35010606 12/2018 Bloc fonction de mouvement MC_MOVEADDITIVE Description de la fonction La fonction MC_MOVEADDITIVE permet d'appliquer une commande de déplacement supplémentaire à un variateur déjà en mouvement. Dès que le paramètre d'entrée EXECUTE est actif : le bloc MC_MOVEADDITIVE prend le contrôle du bloc en mouvement (MC_MOVERELATIVE ou MC_MOVE_ABSOLUTE) ; la valeur saisie dans le paramètre DISTANCE est ajoutée à la valeur cible du mouvement en cours ; les paramètres d'entrée VELOCITY, ACCELERATION et DECELERATION sont immédiatement pris en compte. Représentation en FBD Représentation : 35010606 12/2018 63 Bloc fonction de mouvement Représentation en LD Représentation : Représentation en IL Représentation : LD Axis CAL MC_MOVEADDITIVE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, DISTANCE:=DIS, VELOCITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO , BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID) Représentation en ST Représentation : MC_MOVEADDITIVE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, DISTANCE:=DIS, VELO CITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO, BU SY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID); 64 35010606 12/2018 Bloc fonction de mouvement Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire DISTANCE DINT Valeur spécifiant la distance supplémentaire à couvrir. VELOCITY UDINT Valeur de la vitesse. ACCELERATION UDINT Valeur de l'accélération. DECELERATION UDINT Valeur de la décélération. NOTE : la valeur 0 attribuée aux paramètres d'accélération et de décélération vous permet d'utiliser la valeur configurée dans le variateur. Si la valeur est différente de 0, le variateur la prend en compte. NOTE : pour le variateur Icla, la valeur d'accélération est identique à celle de décélération. Le type est UINT. Le paramètre de décélération n'est pas actif. 35010606 12/2018 65 Bloc fonction de mouvement Exemple Le graphe ci-dessous décrit le fonctionnement du bloc MC_MOVEADDITIVE combiné à un bloc de mouvement MC_MOVE_ABSOLUTE. 66 35010606 12/2018 Bloc fonction de mouvement MC_MOVEVELOCITY Description de la fonction La fonction MC_MOVEVELOCITY permet d'exécuter un mouvement sans fin à une vitesse donnée. Pour utiliser celle-ci, l'axe doit être dans l'état continu ou StandStill. Combiné au bloc MC_STOP (voir page 54), ce bloc est utilisable en mode manuel. Représentation en FBD Représentation : Représentation en LD Représentation : 35010606 12/2018 67 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_MOVEVELOCITY_Instance(AXIS:=AXIS, EXECUTE:=EXEC, VELOCITY:=V, IN VERT:=I, ERROR=>ERR, INVELOCITY=>IV, BUSY=>B, COMMANDABORTED=>AB, ERROR ID=>ERRID) Représentation en ST Représentation : MC_MOVEVELOCITY_Instance(AXIS:=AXIS, EXECUTE:=EXEC, VELOCITY:=V, INVERT :=I, ERROR=>ERR, INVELOCITY=>IV, BUSY=>B, COMMANDABORTED=>AB, ERRORID=> ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire VELOCITY DINT Valeur de la vitesse. Pour les variateurs ICLA ou ATV31, le paramètre VELOCITY est de type INT. INVERT Bool Sens de rotation. Si INVERT est réglé sur TRUE, le sens est l'inverse du signe VELOCITY. Lorsque INVERT est réglé sur FALSE, le sens est celui de VELOCITY. Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en complément des paramètres de base (voir page 33) : 68 Paramètre Type Commentaire INVELOCITY BOOL INVELOCITY est réglé sur TRUE lorsque la vitesse VELOCITY est atteinte. Sinon, il garde la valeur FALSE. 35010606 12/2018 Bloc fonction de mouvement MC_JOG Description de la fonction La fonction MC_JOG permet de configurer le variateur en mode Position (si ce n'est pas le cas) et d'indiquer la valeur des commandes de sens et de vitesse. Elle n'est acceptée que si le diagramme d'état est dans l'état STANDSTILL. Elle permet : un déplacement par étape ou en continu (Lexium05, Lexium32 et Icla), un déplacement hors de LimitSwitch (Lexium05 et Icla) en cas d'erreur détectée de LimitSwitch : Au démarrage du mouvement dans le sens approprié, l'axe prend l'état de référencement. En cas de libération de MC_Home avant de sortir de LimitSwitch, une erreur errorID 8 se produit. Une commande MC_Reset est nécessaire avant d'exécuter une autre fonction MC_JOG. Représentation en FBD Représentation 35010606 12/2018 69 Bloc fonction de mouvement Représentation en LD Représentation Représentation en IL Représentation : LD Slave CAL MC_JOG_Instance(AXIS:=AXIS FORWARD:=FWRD, BACKWARD:=BWRD, FAST:=FST , STEPPOS:=STEPPOS, WAITTIME:=WAITTIME, VELOCITYSLOW:=VSLW, VELOCITYFAS T:=VFST, ERROR=>ERR, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID) Représentation en ST Représentation : MC_JOG_Instance(AXIS:=AXIS FORWARD:=FWRD, BACKWARD:=BWRD, FAST:=FST, ST EPPOS:=STEPPOS, WAITTIME:=WAITTIME, VELOCITYSLOW:=VSLW, VELOCITYFAST:=V FST, ERROR=>ERR, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID)); 70 35010606 12/2018 Bloc fonction de mouvement Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire FORWARD BOOL Sens avant. BACKWARD BOOL Sens arrière. FAST BOOL Sélection de la vitesse de marche par incréments. STEPPOS INT Chemin de marche par incréments jusqu'à la marche continue. WAITTIME INT Période d'attente avant la marche continue. VELOCITYSLOW UDINT Vitesse pour un mouvement lent. Doit toujours être connecté. VELOCITYFAST UDINT Vitesse pour un mouvement rapide. Doit toujours être connecté. Pour les Lexium 15MP et 15HP, les entrées STEPPOS et WAITTIME ne sont pas significatives. Lorsqu'elles sont toutes les deux actives, le bloc détecte la différence et attribue à la valeur 10 le code d'erreur : Condition incorrecte pour la marche par incréments (voir page 111). Pour les Lexium 05 et 32, les entrées STEPPOS et WAITTIME : doivent être définies ; sont envoyées par l'objet SDO ; ne sont pas envoyées si la valeur est égale à -1. Cela signifie que la mise à jour de ce paramètre n'est pas requise et que le bloc fonction de mouvement s'exécute avec la valeur de ces paramètres déjà définie dans le variateur. L'entrée FAST permet de sélectionner VELOCITYSLOW ou VELOCITYFAST. Comportement de la fonction Les entrées FORWARD et BACKWARD sont actives sur les fronts : Un front montant déclenche le mouvement. Un front descendant arrête le mouvement. 35010606 12/2018 71 Bloc fonction de mouvement Description des paramètres pour le Lexium 05 72 Groupe.Nom Index:Sous-index déc. (hex.) Description Affectation des bits Unités Plage ? FASTSPEED NFST Vitesse du mouvement manuel rapide (8-16) La valeur d'ajustement est limitée en interne à l'ajustement du paramètre réel dans RAMPn_max. tr/min 1 180 13 200 SLOWSPEED NSLW Vitesse du mouvement manuel lent (8-16) La valeur d'ajustement est limitée en interne à l'ajustement du paramètre réel dans RAMPn_max. tr/min 1 60 13 200 STEPPOS Chemin de marche par incréments avec démarrage manuel avant la usr 0 marche continue 20 0 : activation directe de la marche continue > 0 : positionnement de la distance par cycle manuel WAITTIME Période d'attente avant la marche continue (8-16) Effectif uniquement si le chemin de marche par incréments est différent de 0 ms 1 500 32 767 35010606 12/2018 Bloc fonction de mouvement MC_READAXISERROR Description de la fonction La fonction MC_READAXISERROR permet de récupérer des erreurs du système. Représentation en FBD Représentation : 35010606 12/2018 73 Bloc fonction de mouvement Représentation en LD Représentation : Représentation en IL Représentation : LD Axis CAL MC_READAXISERROR_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, VALI D=>DO, BUSY=>B, ERRORID=>ERRID, AXISFAULT=>AXFLT, AXISFAULTID=>AXFLTID, AXISDIAG=>AXDIAG, AXISDIAGID=>AXDIAGID, AXISWARNING=>AXWARN, AXISWARNI NGID=>AXWARNID, AXISERRORID=>AXERRID, MSGERRORID=>MSGERRORID) Représentation en ST Représentation : MC_READAXISERROR_Instance(AXIS:=AXIS, ENABLE:=ENB, ERROR=>ERR, VALID=>D O, BUSY=>B, ERRORID=>ERRID, AXISFAULT=>AXFLT, AXISFAULTID=>AXFLTID, AXI SDIAG=>AXDIAG, AXISDIAGID=>AXDIAGID, AXISWARNING=>AXWARN, AXISWARNINGID =>AXWARNID, AXISERRORID=>AXERRID, MSGERRORID=>MSGERRORID); 74 35010606 12/2018 Bloc fonction de mouvement Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire AXISFAULT BOOL Erreur du variateur. AXISFAULTID UDINT Valeur de l'erreur du variateur. AXISDIAG BOOL Premium : copie du bit de diagnostic CPP110 de l'esclave. M340 : copie du bit SLAVE_EMCY de l'esclave. M580 : copie du bit SLAVE_LIVE de l'esclave. AXISDIAGID UINT Valeur de AxisDiag. AXISWARNING BOOL Avertissement du variateur. AXISWARNINGID UINT Valeur de l'avertissement du variateur. AXISERRORID WORD Mémorisation du numéro d'erreur du bloc fonction de mouvement. MSGERRORID UINT Mémorisation de l'erreur par la messagerie. Codes d'erreur Le tableau suivant répertorie les objets de diagnostic et les valeurs correspondantes en fonction des types de variateur : ATV31 ATV71 Lexium 15MP/HP Lexium 05 / Lexium 32 Icla Lexium 15LP AXISFAULTID LFT 2029:16 LFT 2029:16 ERRCODE 2070:16 SignLatched 301C:8 FaulSig_SR 301C:12 ERRCODE 385D:01 AXISWARNINGID - LRS6 2002:38 1002:00 WarnLatched 301C:0C WarnSig 301C:A 1002:00 AXISDIAGID ERRD 603F:0 ERRD 603F:0 1003:01 StopFault 603F:0 StopFault 3020:7 1003:01 NOTE : Consultez la documentation de l'équipement CANopen pour connaître la signification du code. Mention spéciale : le code ERRCODE du Lexium 15MP renvoie à la documentation des objets ASCII du Lexium. 35010606 12/2018 75 Bloc fonction de mouvement Diagnostic Le tableau suivant décrit une procédure de diagnostic du comportement après l'exécution d'un bloc fonction de mouvement. L'équipement utilisé dans cet exemple est un Lexium 15MP. Etape 76 Action 1 Le paramètre de sortie AXISFAULT a pour valeur 1. Le paramètre de sortie AXISFAULTID affiche la valeur d'un code d'erreur. Le graphique ci-dessous montre comment le diagnostic est fourni à l'aide de valeurs de code : 2 Dans la documentation des objets ASCII du Lexium 15MP, recherchez le code d'erreur ERRCODE 2070:16. 3 Dans la documentation ASCII, la valeur 16#0080 (128 au format décimal) de ERRCODE désigne une vitesse excessive. 4 Corrigez les constantes de vitesse. 5 Exécutez le bloc MC_RESET. 35010606 12/2018 Bloc fonction de mouvement MC_READSTATUS Description de la fonction La fonction MC_READSTATUS permet de déterminer l'état logique du variateur (voir page 29). Représentation en FBD Représentation : 35010606 12/2018 77 Bloc fonction de mouvement Représentation en LD Représentation : 78 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_READSTATUS_Instance(AXIS:=AXIS, ENABLE:=ENABLE, ERROR=>ERR, VALI D=>DO, BUSY=>B, ERRORID=>ERRID, ERRORSTOP=>ERRSTOP, STOPPING=>STOP, STA NDSTILL=>ST, DISCRETMOTION=>DM, CONTINUOUSMOTION=>CM, SYNCHRONIZEDMOTIO N=>SM, MOTIONTASKMOTION=>MTM, REFERENCED=>REF, DOWNLOADING=>DWNLD, DISA BLED=>DIS, HOMING=>HOM) Représentation en ST Représentation : MC_READSTATUS_Instance(AXIS:=AXIS, ENABLE:=ENABLE, ERROR=>ERR, VALID=>D O, BUSY=>B, ERRORID=>ERRID, ERRORSTOP=>ERRSTOP, STOPPING=>STOP, STANDST ILL=>ST, DISCRETMOTION=>DM, CONTINUOUSMOTION=>CM, SYNCHRONIZEDMOTION=>S M, MOTIONTASKMOTION=>MTM, REFERENCED=>REF, DOWNLOADING=>DWNLD, DISABLED =>DIS, HOMING=>HOM); Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire ERROR BOOL Lorsque ERROR a pour valeur TRUE, le bloc fonction détecte une erreur d'exécution. ERRORID INT L'axe est manquant ou en défaut. ERRORSTOP BOOL Lorsque ERRORSTOP a pour valeur TRUE, le bloc s'arrête en raison d'une erreur. STOPPING BOOL Lorsque STOPPING a pour valeur TRUE, MC_STOP est en cours d'exécution. STANDSTILL BOOL Lorsque StandStill a pour valeur TRUE, le variateur est dans l'état StandStill. DSICRETMOTION BOOL Lorsque DISCRETMOTION a pour valeur TRUE, un déplacement en mode absolu ou relatif est en cours (marche par incréments). CONTINUOUSMOTION BOOL Lorsque CONTINUOUSMOTION a pour valeur TRUE, un déplacement en mode vitesse est en cours (couple). SYNCHRONIZEDMOTION BOOL Une opération de synchronisation est en cours, via le mode de fonctionnement Engrenage. MOTIONTASKMOTION BOOL Une opération MotionTask est en cours via le bloc LXM_STARTMTASK. 35010606 12/2018 79 Bloc fonction de mouvement 80 Paramètre Type Commentaire REFERENCED BOOL Le variateur est référencé (référencement terminé). Remarque : ce bit n'est pas pris en compte pour les variateurs de type ATV. DOWNLOADING BOOL Lorsque DOWNLOADING a pour valeur TRUE, un téléchargement est en cours. DISABLED BOOL L'axe est dans l'état désactivé (Disabled). HOMING BOOL Lorsque HOMING a pour valeur TRUE : MC_HOME est en cours. Sortie de MC_JOG de LimitSwitches est en cours pour l'équipement Lexium 05 / Icla. 35010606 12/2018 Bloc fonction de mouvement MC_HOME Description de la fonction La fonction MC_HOME permet d'exécuter une commande de référencement (prise d'origine). Représentation en FBD Représentation : Représentation en LD Représentation : 35010606 12/2018 81 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL MC_HOME_Instance(AXIS:=AXIS, EXECUTE:=EXEC, POSITION:=POS, SPEED:=H MS, HTYPE:=HMT, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED=>AB, ERRO RID=>ERRID) Représentation en ST Représentation : MC_HOME_Instance(AXIS:=AXIS, EXECUTE:=EXEC, POSITION:=POS, SPEED:=HMS, HTYPE:=HMT, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED=>AB, ERRORID= >ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire HTYPE INT Type de prise d'origine. Pour Lexium 15MP. HTYPE : si la valeur est définie sur -1 et si aucune modification n'est effectuée, le paramètre n'est pas transmis. POSITION DINT Position en fin de prise d'origine. SPEED DINT Vitesse de prise d'origine. Si la valeur est définie sur 0, aucune modification. NOTE : la valeur du type de prise d'origine est décrite dans le manuel de l'équipement à installer. Pour le Lexium 15, consultez la rubrique traitant de la prise d'origine dans le manuel sur la communication CANopen du Lexium. 82 35010606 12/2018 Bloc fonction de mouvement LXM_GEARPOS Description de la fonction La fonction LXM_GEARPOS permet de synchroniser la position d'un axe esclave à un axe maître, en fonction d'un coefficient (ratio). NOTE : une connexion physique au connecteur d'interface de la commande du codeur auxiliaire (X5) doit exister entre les deux variateurs. Représentation en FBD Représentation Représentation en LD Représentation 35010606 12/2018 83 Bloc fonction de mouvement Représentation en IL Représentation : LD Slave CAL LXM_GEARPOS_Instance(AXIS:=AXIS, EXECUTE:=EXEC, RATIONUMERATOR:=RN, RATIONDENOMINATOR:=RD, ERROR=>ERR, INSYNCH=>IS, BUSY=>B, ERRORID=>ERRI D) Représentation en ST Représentation : LXM_GEARPOS_Instance(AXIS:=AXIS, EXECUTE:=EXEC, RATIONUMERATOR:=RN, RAT IONDENOMINATOR:=RD, ERROR=>ERR, INSYNCH=>IS, BUSY=>B, ERRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire AXIS AXIS_REF Objet de type Axis_Ref (voir page 28), qui définit l'équipement esclave. RATIONUMERATOR UINT Numérateur du ratio de synchronisation du mouvement (plage autorisée : 1 à 32 767 pour le LXM05). RATIONDENOMINATOR UINT Dénominateur du ratio de synchronisation du mouvement. Calcul de la position de l'esclave pour l'équipement Lexium 15MP. Calcul de la position de l'esclave pour l'équipement Lexium 15LP. 84 35010606 12/2018 Bloc fonction de mouvement Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire INSYNCH BOOL INSYNCH a pour valeur TRUE lorsque la position de synchronisation, par rapport au maître, est atteinte. Il garde la valeur TRUE tant que EXECUTE a pour valeur TRUE même si l'axe s'est arrêté (non significatif pour le Lexium 05/32). Description des paramètres pour les équipements Lexium 05 et Lexium 32 Le tableau suivant décrit le paramètre supplémentaire pour les équipements Lexium 05 et Lexium 32 : Paramètre Type Commentaire SYNCMODE BOOL SYNCMODE est un paramètre supplémentaire pour les équipements Lexium 05/32. Il est accessible dans MC_READPARAMETER ou MC_WRITEPARAMETER avant d'appeler MFB_Gear, en utilisant : Index = 0, sous-index = 200 comme numéro d'objet SYNCMODE. FALSE : synchronisation immédiate : le contrôleur de positionnement suit les impulsions de référence à partir de l'activation de l'engrenage. TRUE : synchronisation avec le mouvement de compensation. Avec l'activation de l'engrenage, le moteur tente de récupérer les impulsions de référence accumulées. 35010606 12/2018 85 Bloc fonction de mouvement LXM_GearPosS Description de la fonction Similaire à LXM_GEARPOS, la fonction LXM_GEARPOSS permet de synchroniser la position d'un axe esclave à un axe maître, en fonction d'un coefficient (ratio). Elle permet d'utiliser et d'obtenir des valeurs négatives pour le coefficient. NOTE : une connexion physique au connecteur d'interface de commande du codeur auxiliaire (X5) doit exister entre les deux variateurs. Représentation en FBD Représentation Représentation en LD Représentation 86 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Slave CAL LXM_GEARPOSS_Instance(AXIS:=AXIS, EXECUTE:=EXEC, RATIONUMERATOR=RN, RATIONDENOMINATOR:=RD, ERROR=>ERR, INSYNCH=>IS, BUSY=>B, ERRORID=>ERRI D) Représentation en ST Représentation : LXM_GEARPOSS_Instance(AXIS:=AXIS, EXECUTE:=EXEC, RATIONUMERATOR=RN, RAT IONDENOMINATOR:=RD, ERROR=>ERR, INSYNCH=>IS, BUSY=>B, ERRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire AXIS AXIS_REF Objet de type Axis_Ref (voir page 28), qui définit l'équipement esclave. RATIONUMERATOR INT Numérateur du ratio de synchronisation du mouvement. RATIONDENOMINATOR INT Dénominateur du ratio de synchronisation du mouvement. Valeurs autorisées Lexium 15MP/HP Lexium 05/32 Lexium 15LP Plage de RATIONUMERATOR -32 768 à 32 767 -32 768 à 32 767 1 à 32 767 Plage de RATIONDENOMINATOR 1 à 32 767 1 à 32 767 -32 768 à 32 767 Sur Lexium 15LP/MP La valeur 0 signifie que « la valeur ne change pas » et que le paramètre à l'intérieur du variateur n'est pas mis à jour. Lorsqu'une des valeurs d'entrée est hors plage, le bloc génère le code d'erreur 8 : AXIS_COMMAND_REFUSED. Calcul de la position de l'esclave pour l'équipement Lexium 15MP. 35010606 12/2018 87 Bloc fonction de mouvement Calcul de la position de l'esclave pour l'équipement Lexium 15LP. Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire INSYNCH BOOL INSYNCH a pour valeur TRUE lorsque la position de synchronisation, par rapport au maître, est atteinte. Il garde la valeur TRUE tant que EXECUTE a pour valeur TRUE même si l'axe s'est arrêté (non significatif pour le Lexium 05/32). Description des paramètres pour les équipements Lexium 05 et Lexium 32 Le tableau suivant décrit le paramètre supplémentaire pour les équipements Lexium 05 et Lexium 32 : 88 Paramètre Type Commentaire SYNCMODE BOOL SYNCMODE est un paramètre supplémentaire pour les équipements Lexium 05/32. Il est accessible dans MC_READPARAMETER ou MC_WRITEPARAMETER avant d'appeler MFB_Gear, en utilisant : Index = 0, sous-index = 200 comme numéro d'objet SYNCMODE. FALSE : synchronisation immédiate : le contrôleur de positionnement suit les impulsions de référence à partir de l'activation de l'engrenage. TRUE : synchronisation avec le mouvement de compensation. Avec l'activation de l'engrenage, le moteur tente de récupérer les impulsions de référence accumulées. 35010606 12/2018 Bloc fonction de mouvement TE_UPLOADDRIVEPARAM Description de la fonction La fonction TE_UPLOADDRIVEPARAM permet d'enregistrer les paramètres d'un variateur dans une zone mémoire d'un automate. NOTE : Avant d'exécuter cette fonction, le variateur doit avoir l'état Disabled (voir page 29). Représentation en FBD Représentation : 35010606 12/2018 89 Bloc fonction de mouvement Représentation en LD Représentation : Représentation en IL Représentation : LD Axis CAL TE_UPLOADDRIVEPARAM_Instance(AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERLI ST:=AXISPARAMDESC_xx, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED=>AB , ERRORID=>ERRID, PARAMETERSET=>PDS, SIZE=>S, ERRPARAMNUMBER=>ERRNB) Représentation en ST Représentation : CAL TE_UPLOADDRIVEPARAM_Instance(AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERLI ST:=AXISPARAMDESC_xx, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED=>AB , ERRORID=>ERRID, PARAMETERSET=>PDS, SIZE=>S, ERRPARAMNUMBER=>ERRNB); 90 35010606 12/2018 Bloc fonction de mouvement Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire PARAMETERLIST ANY_ARRAY_UINT Liste des paramètres : adresse et longueur. PARAMETERLIST doit être attribué au tableau correspondant créé par le MTM. NOTE : ParameterList doit être attribué à la variable ParamDesc provenant de la configuration de la recette de l'axe dans le répertoire Movement. Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire PARAMETERSET ANY_ARRAY_BYTE Tampon des paramètres. PARAMETERSET doit être attribué au tableau correspondant créé par le MTM. SIZE UINT Taille de PARAMETERSET en octets. ERRPARAMNUMBER UDINT Numéro de l'index et du sous-index en défaut. NOTE : PARAMETERSET peut être attribué à la variable Recette si une seule recette est déclarée pour l'axe. 35010606 12/2018 91 Bloc fonction de mouvement TE_DOWNLOADDRIVEPARAM Description de la fonction La fonction TE_DOWNLOADDRIVEPARAM permet de transférer les paramètres d'un variateur déjà enregistrés dans la zone mémoire automate de celui-ci. Les paramètres ont été enregistrés pour une modification de la production ou le remplacement d'un variateur défectueux. NOTE : avant d'exécuter cette fonction, le variateur doit avoir l'état Disabled (voir page 29). Représentation en FBD Représentation : 92 35010606 12/2018 Bloc fonction de mouvement Représentation en LD Représentation : Représentation en IL Représentation : LD Axis CAL TE_DOWNLOADDRIVEPARAM_Instance(AXIS:=AXIS, EXECUTE:=EXEC, PARAMETE RSET:=RECIPE_0, PARAMETERLIST:=AXISPARAMETERDESC_0, ERROR=>ERR, DONE=>D O, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID, ERRPARAMNUMBER=>ERRNB) Représentation en ST Représentation : TE_DOWNLOADDRIVEPARAM_Instance(AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERSET :=RECIPE_0, PARAMETERLIST:=AXISPARAMETERDESC_0, ERROR=>ERR, DONE=>DO, B USY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID, ERRPARAMNUMBER=>ERRNB); 35010606 12/2018 93 Bloc fonction de mouvement Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire PARAMETERLIST ANY_ARRAY_UINT Liste des paramètres : adresse et longueur. PARAMETERLIST doit être attribué au tableau correspondant créé par le MTM. PARAMETERSET ANY_ARRAY_BYTE Tampon des paramètres. PARAMETERSET doit être attribué au tableau correspondant créé par le MTM. Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : 94 Paramètre Type Commentaire ERRPARAMNUMBER UDINT Numéro de l'index et du sous-index en défaut. 35010606 12/2018 Bloc fonction de mouvement LXM_UPLOADMTASK Description de la fonction Les tâches de mouvement sont créées par UniLink (par GMT) et enregistrées dans la mémoire EEPROM du Lexium 15MP/LP/HP. La fonction LXM_UPLOADMTASK permet d'enregistrer les paramètres MotionTask du variateur dans une zone mémoire de l'automate. Elle ne s'applique qu'au variateur Lexium 15MP/LP/HP. NOTE : avant d'exécuter cette fonction, le variateur doit avoir l'état Disabled (voir page 29). Représentation en FBD Représentation : 35010606 12/2018 95 Bloc fonction de mouvement Représentation en LD Représentation : Représentation en IL Représentation : LD Axis CAL LXM_UPLOADMTASK_Instance (AXIS:=AXIS, EXECUTE:=EXEC, ERROR=>ERR, DO NE=>DO, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID, PARAMETERSET=>PS, SIZE=>S) Représentation en ST Représentation : LXM_UPLOADMTASK_Instance (AXIS:=AXIS, EXECUTE:=EXEC, ERROR=>ERR, DONE=> DO, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID, PARAMETERSET=>PS, SIZE =>S); 96 35010606 12/2018 Bloc fonction de mouvement Description des paramètres de sortie Le tableau suivant décrit les paramètres de sortie en plus des paramètres de base (voir page 33) : Paramètre Type Commentaire PARAMETERSET ANY_ARRAY_BYTE Tableau d'octets dans lequel les tâches de mouvement sont enregistrées (structure de DDT). Il dépend du nombre de blocs fonction de mouvement utilisés dans le projet. Sur les Lexium 17/15MP, le tableau d'octets est égal à : 12 + 27 TM x octets Sur le Lexium 15LP, le tableau d'octets est égal à : 12 + 29 TM x octets TM : tâche de mouvement SIZE UINT Taille du tableau correspondant au paramètre PARAMETERSET. 35010606 12/2018 97 Bloc fonction de mouvement LXM_DOWNLOADMTASK Description de la fonction La fonction LXM_DOWNLOADMTASK permet de charger dans le variateur une tâche de mouvement provenant de la mémoire de l'automate. Elle ne s'applique qu'au variateur Lexium 15. NOTE : avant d'exécuter cette fonction, le variateur doit avoir l'état Disabled (voir page 29). Représentation en FBD Représentation : Représentation en LD Représentation : 98 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL LXM_DOWNLOADMTASK_Instance (AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERSET :=PS, ERASEUNUSED:=ERASE, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED =>AB, ERRORID=>ERRID) Représentation en ST Représentation : LXM_DOWNLOADMTASK_Instance (AXIS:=AXIS, EXECUTE:=EXEC, PARAMETERSET:=PS , ERASEUNUSED:=ERASE, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED=>AB , ERRORID=>ERRID)); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire PARAMETERSET ANY_ARRAY_BYTE Valeur des tâches de mouvement (structure de DDT). ERASEUNUSED BOOL Efface les tâches inutilisées. 35010606 12/2018 99 Bloc fonction de mouvement LXM_STARTMTASK Description de la fonction La fonction LXM_STARTMTASK permet de lancer l'exécution de la tâche de mouvement du Lexium 15, dont le numéro correspond à la valeur saisie dans le paramètre d'entrée MTNUMBER. La fonction LXM_STARTMTASK permet également de lancer l'exécution de la séquence de mouvement du Lexium 32. Représentation en FBD Représentation : Représentation en LD Représentation : 100 35010606 12/2018 Bloc fonction de mouvement Représentation en IL Représentation : LD Axis CAL LXM_STARTMTASK_Instance(AXIS:=AXIS, EXECUTE:=EXEC, MTNUMBER:=MTNUM, ERROR=>ERR, DONE=>DO, COMMANDABORTED=>AB, BUSY=>B, ERRORID=>ERRID) Représentation en ST Représentation : LXM_STARTMTASK_Instance(AXIS:=AXIS, EXECUTE:=EXEC, MTNUMBER:=MTNUM, ERR OR=>ERR, DONE=>DO, COMMANDABORTED=>AB, BUSY=>B, ERRORID=>ERRID); Description des paramètres d'entrée Le tableau suivant décrit les paramètres d'entrée en complément des paramètres de base (voir page 33) : Paramètre Type Commentaire MTNumber UINT Numéro de la tâche ou de la séquence de mouvement. 35010606 12/2018 101 Bloc fonction de mouvement Unités et variateurs Unités Le tableau suivant indique les unités de vitesse, de position et de rotation selon le variateur : Unités Lexium 15MP/HP/LP Icla ATV31 ATV71 Lexium 05 / Lexium 32 Position PUNIT inc - - USR Vitesse VUNIT tr/min tr/min tr/min tr/min Rotation tr/min tr/min tr/min tr/min tr/min Couple 1/1 000 du couple nominal - 0,01 du couple nominal 0,01 du couple nominal 1/100 amp USR est une unité que l'utilisateur définit dans Powersuite (par défaut 16 384 unités par tour). PUNIT est une unité de position que l'utilisateur définit dans Unilink. VUNIT est une unité à définir par Unilink (par défaut PUNIT/s). NOTE : les unités de rotation ne concernent que le bloc MC_MOVEVELOCITY. Equation de vitesse du Lexium 15 MP/HP en mode vitesse La vitesse de rotation du moteur piloté en mode vitesse par un Lexium 15MP est la consigne de vitesse multipliée par 0,5722 (0,5722=60*10 000/220). Exemple : La valeur du paramètre d'entrée VELOCITY du bloc MC_MOVEVELOCITY est 3 000. La vitesse de rotation de l'arbre est donc de 1 716,6 tr/min (3 000*0,5722). Equation de vitesse du Lexium 15 MP/HP en mode position La vitesse de rotation d'un axe piloté en mode position par un Lexium 15MP est la consigne de vitesse multipliée par un coefficient K. K=PGearI/10 000 PGearI est le numérateur de la résolution paramétrée dans le variateur par Unilink. Exemple : La valeur du paramètre d'entrée VELOCITY du bloc MC_MOVEABSOLUTE est 3 000. PGearI est égal à 5 000. PUNIT est exprimé en μm. K=5 000/10 000=0,5 La vitesse de l'axe est donc de 15 000 µm/s. (30 000*0,5). 102 35010606 12/2018 Bloc fonction de mouvement Equation de vitesse du Lexium 15 LP en modes position et vitesse Equation du paramètre VELOCITY du Lexium 15 LP en mode position pour MC_MOVEABSOLUTE et MC_MOVERELATIVE : VELOCITY (tr/min) = VELOCITY (inc/250 μs) * (60*4 000) / 2 ^ 32 Equation du paramètre VELOCITY du Lexium 15 LP en mode vitesse pour MC_MOVEVELOCITY : VELOCITY (tr/min) = VELOCITY * 60 / P_GEARI Unité de vitesse du Lexium 15 LP pour MC_READACTUALVELOCITY : PUNIT (écran de base de Unilink) définit l'unité du paramètre VELOCITY. Unité du paramètre Position et état du Lexium 15 LP VUNIT (écran de base de Unilink) définit l'unité du paramètre Position. Nous recommandons vivement d'utiliser l'unité de vitesse tr/min, quelle que soit la commande. Pour les autres unités (mm/min), les formules doivent être adaptées afin de prendre en compte la dimension linéaire de l'unité, et non la dimension angulaire, en intégrant le facteur P_GEARI. Onglet Synthèse => unité du paramètre VELOCITY en tr/min en mode position avec la commande MC_MOVEABSOLUTE, par exemple : Consigne du paramètre VELOCITY en tr/min. Lecture dans Unilink en tr/min. Valeur du paramètre VELOCITY renvoyée par MC_READACTUALVELOCITY : VELOCITY (inc/250 μs) = Consigne du paramètre VELOCITY (tr/min) * 2 ^ 32 / (60 x 4 000) En mode vitesse, avec la commande MC_MOVEVELOCITY Consigne du paramètre VELOCITY à appliquer selon la vitesse à atteindre en tr/min. Lecture dans Unilink en tr/min. Consigne du paramètre VELOCITY = VELOCITY (tr/min) * P_GEARI / 60 Valeur du paramètre VELOCITY renvoyée par MC_READACTUALVELOCITY : VELOCITY = Consigne du paramètre VELOCITY * 2 ^ 32 / (P_GEARI x 4 000) 35010606 12/2018 103 Bloc fonction de mouvement Service de messagerie Introduction Les blocs qui utilisent la messagerie ralentissent le cycle d'automate, car ils envoient des requêtes de type READ_VAR et WRITE_VAR au variateur. Bloc fonction de mouvement Le tableau ci-dessous montre les blocs qui utilisent le service de messagerie, par type de variateur : Nom du bloc Lexium 15MP/HP Icla ATV31 ATV71 MC_JOG W 2024:7 W 3029:4 W 3029:5 W 3029:7 W 3029:8 Sans objet Sans objet W 3029:4 W 3029:5 W 3029:7 W 3029:8 S.O. R position – – – – MC_READACTUALPOSITION – MC_READACTUALTORQUE S.O. R 2002:6 R 6077 R 301E:3 R 6077 MC_READACTUALVELOCITY – R vitesse – – – – MC_STOP R état d'arrêt – R état d'arrêt R état d'arrêt – R état d'arrêt MC_TORQUECONTROL W2060 Sans objet Sans objet MC_MOVEABSOLUTE MC_MOVERELATIVE MC_MOVEADDITIVE W 6083:0 (ACC) W 6084:0 (DEC) W 301D:1A (ACC) MC_READAXISERROR R 2070:16 R 1002:0 R 1003:1 R 301C:12 R 2029:16 R 301C:A R 603F:0 R 3020:7 MC_HOME W 607C:0 (position H) W 6099:1 (vitesse H) W 6098:0 (type H) W 3028:B (position H) W 3028:4 (Vitesse H) LXM_GEARPOS LXM_GEARPOSS W 3540:1 (Engrenage I) W 353E:1 (Engrenage O) Sans objet Sans objet Sans objet Aucun SDO W 3540:1 W 353E:1 LXM_DOWNLOADMTASK Equationf(MT) – – 104 – Lexium 05 / Lexium Lexium 32 15LP – – – W6071 Aucun SDO W6071 R 2002:39 W 6083:0 (ACC) W 6084:0 (DEC) W 6083:0 (ACC) W 6084:0 (DEC) R 2029:16 R 301C:8 R 603F:0 R 301C:C R 603F:0 R 385D:1 R 1002:0 R 1003:1 – W 607C:0 (position H) W 6099:1 (vitesse H) W 6098:0 (type H) – W 3028:B (position H) W 6099:1 (vitesse H) – Equationf (MT) 35010606 12/2018 Bloc fonction de mouvement Nom du bloc Lexium 15MP/HP Icla ATV31 ATV71 Lexium 05 / Lexium Lexium 32 15LP LXM_UPLOADMTASK Equationf(MT) – – – – Equationf (MT) LXM_STARTMTASK Numéro de la tâche – – – – Numéro de la tâche Remarques R : utilisation du service de messagerie READ_VAR W : utilisation du service de messagerie WRITE_VAR R 2029:16 : lecture d'un objet de type SDO ayant l'index 2029 et le sous-index 16 W 3540:1 : écriture d'un objet de type SDO ayant l'index 3540 et le sous-index 1 S.O. : sans objet 35010606 12/2018 105 Bloc fonction de mouvement Taille mémoire Taille en mémoire de la déclaration de l'axe L'espace mémoire utilisé pendant une déclaration d'axe AXIS_REF dans le répertoire Motion sans aucune recette est de 240 octets. Taille mémoire de la recette Le tableau ci-dessous indique la taille mémoire (en mots) utilisée par une ou plusieurs recettes. 106 Equipement Taille utilisée par la première recette Taille utilisée par la recette suivante, avec la version actuelle du micrologiciel du variateur Taille utilisée par la recette suivante, avec la version précédente du micrologiciel du variateur Lexium 15LP 1435 577 664 Lexium 15MP/HP 1268 510 Lexium 32 1428 394 ATV31 646 167 170 ATV71 1726 437 499 Lexium 05 314 96 133 Icla Ifa 303 99 Icla Ife 244 82 Icla Ifs 230 77 35010606 12/2018 Bloc fonction de mouvement Taille mémoire des blocs fonction de mouvement pour la plate-forme Premium Le tableau ci-dessous montre, pour la plate-forme Premium, la taille mémoire (en octets) utilisée par le code, ainsi que les données par instance et par information de chargement dans les blocs fonction de mouvement. Type de bloc fonction de mouvement Données par instance Code CAN_HANDLER 336 15 229 LXM_DOWNLOADMTASK 112 3248 LXM_GEARPOSS 112 3360 LXM_GEARPOS 112 3296 LXM_STARTMTASK 96 2528 LXM_UPLOADMTASK 96 2288 MC_TORQUECONTROL 144 4336 MC_HOME 112 4686 MC_JOG 192 6784 MC_MOVEABSOLUTE 144 4752 MC_MOVEADDITIVE 144 3376 MC_MOVERELATIVE 144 4 096 MC_MOVEVELOCITY 128 3424 MC_POWER 80 1232 MC_READACTUALPOSITION 80 944 MC_READACTUALTORQUE 96 1110 MC_READACTUALVELOCITY 96 976 MC_READAXISERROR 96 2048 MC_READPARAMETER 96 1104 MC_READSTATUS 80 832 MC_RESET 80 2592 MC_STOP 128 3360 MC_WRITEPARAMETER 96 1248 TE_DOWNLOADDRIVEPARAM 176 5792 TE_UPLOADDRIVEPARAM 160 2352 NOTE : sur les automates Premium existants (TSX571x4, TSX572x4, TSX573x4), la taille maximale du code pour tous les blocs fonction élémentaires de la même famille est limitée à 64 Ko. Vous devez vérifier que la taille de code utilisée par le bloc fonction de mouvement dans votre application ne dépasse pas ce seuil. Sinon, la génération de l'application échoue. 35010606 12/2018 107 Bloc fonction de mouvement Taille mémoire des blocs fonction de mouvement pour la plate-forme Modicon M340 Le tableau ci-dessous montre, pour la plate-forme Modicon M340, la taille mémoire (en octets) utilisée par le code, ainsi que les données par instance et par information de chargement dans les blocs fonction de mouvement. 108 Type de bloc fonction de mouvement Données par instance Axis_ref 248 Code CAN_HANDLER 352 18 992 LXM_DOWNLOADMTASK 128 3032 LXM_GEARPOS 128 3632 LXM_GEARPOSS 128 3840 LXM_STARTMTASK 110 2480 LXM_UPLOADMTASK 86 2832 MC_TORQUECONTROL 148 4816 MC_HOME 136 4688 MC_JOG 160 7984 MC_MOVEABSOLUTE 154 5056 MC_MOVEADDITIVE 146 3552 MC_MOVERELATIVE 154 4320 MC_MOVEVELOCITY 144 3888 MC_POWER 78 1408 MC_READACTUALPOSITION 100 880 MC_READACTUALTORQUE 98 1264 MC_READACTUALVELOCITY 100 912 MC_READAXISERROR 116 2160 MC_READPARAMETER 102 1216 MC_READSTATUS 89 912 MC_RESET 80 2624 MC_STOP 143 3296 MC_WRITEPARAMETER 104 1216 TE_DOWNLOADDRIVEPARAM 176 7184 TE_UPLOADDRIVEPARAM 176 2240 35010606 12/2018 EcoStruxure™ Control Expert 35010606 12/2018 Annexes Présentation Cette section contient les annexes. Contenu de cette annexe Cette annexe contient les chapitres suivants : Chapitre 35010606 12/2018 Titre du chapitre Page A Codes et valeurs d'erreur 111 B Performances MFB 115 109 110 35010606 12/2018 EcoStruxure™ Control Expert Codes et valeurs d'erreur 35010606 12/2018 Annexe A Codes et valeurs d'erreur Codes et valeurs d'erreur Tableaux des codes d'erreur pour la librairie MFB (Motion Function Block) Introduction Les tableaux présentés dans cette section répertorient les codes d'erreur et les valeurs générées par les blocs de la bibliothèque MFB. Motion Function Blocks Le tableau suivant contient les codes d'erreur et les valeurs générés dans le paramètre de sortie ErrorId des blocs MFB. Error_Id (format décimal) Signification 0 Exécution correctement effectuée. 1 Erreur système différée au niveau de la messagerie (voir EcoStruxure™ Control Expert, Communication, Bibliothèque de blocs) des automates Premium et Atrium, ou de la messagerie (voir Modicon M340, CANopen, Manuel utilisateur) de l'automate M340. Pour plus de détails, utilisez le bloc MC_ReadAxisError (voir page 73) avec l'information MSGERRORID. 2 - 3 Bloc interrompu suite à une coupure de courant. 4 Bloc annulé (paramètreEnable défini sur 0 pendant l'exécution). 5 - 6 Axe en défaut ou manquant. 7 Valeur Axisref modifiée pendant l'exécution du bloc, ou même instance programmée avec une valeur Axis_Ref différente. Si la valeur appartient au bloc Can_Handler, la valeur Axis_Ref n'est pas destinée à la variable CAN_Handler. 8 Le variateur de vitesse a rejeté la commande (pour plus de détails, utilisez le bloc MC_ReadAxisError). 9 Bloc non exécutable dans ce mode d'axe (mode d'axe disponible à l'aide de MC_ReadStatus). 10 Condition incorrecte ne permettant pas la marche par incréments : Les entrées avant et arrière sont toutes les deux actives. Dans cette situation, l'axe est stoppé. 35010606 12/2018 111 Codes et valeurs d'erreur Error_Id (format décimal) Signification 11 Bloc interrompu par un MC_Stop. 12 Bloc interrompu par un autre bloc (par exemple : un bloc MC_MOVE interrompt un autre bloc). 13 Bloc interrompu car le variateur de vitesse a mis trop de temps pour exécuter la commande (par exemple : MC_POWER). 14 Le variateur de vitesse devrait être activé mais ne l'est pas. 15 - 16 - 17 Pendant un échange implicite avec le variateur de vitesse, soit le bloc : a perdu le sémaphore parce qu'un bloc prioritaire l'a pris, soit le bloc n'a pas été appelé pendant un certain nombre de cycles, et le système a donc retiré le sémaphore. 18 Impossible d'exécuter le MFB. 19 Pendant un échange implicite avec le variateur de vitesse, le sémaphore n'a pas pu être obtenu dans le temps imparti (trop de blocs en attente du variateur de vitesse, ou temps de réaction trop lent de ce dernier). 20 Erreur interne 21 Erreur de transfert de paramètre (données endommagées) ; blocs TE_UpLoadDriveParam et TE_DownLoadDriveParam. 22 Pendant un échange de messagerie implicite avec le variateur de vitesse, soit le bloc : a perdu le sémaphore parce qu'un bloc prioritaire l'a pris, soit le bloc n'a pas été appelé pendant un certain nombre de cycles, et le système a donc retiré le sémaphore. 23 Erreur interne 24 Pendant un échange de messagerie avec le variateur de vitesse, le système de messagerie de l'automate a été saturé pendant plus de cinq cycles automates. 25 Erreur interne 26 L'AMT a programmé un variateur de vitesse que le MFB ne peut pas programmer. 27 112 Erreur système immédiate au niveau de la messagerie (voir EcoStruxure™ Control Expert, Communication, Bibliothèque de blocs) de l'automate. Pour plus de détails, utilisez le bloc MC_ReadAxisError (voir page 73) avec l'information MSGERRORID. 28 Axe programmé dans deux blocs CAN_HANDLER. 29 InitAxis: Aucun réseau détecté à l'adresse réseau programmée. 35010606 12/2018 Codes et valeurs d'erreur Error_Id (format décimal) Signification 30 - 31 Erreur interne 32 Erreur temporaire renvoyée par MC_Readstatus pendant une reprise à chaud. 33 Variable SETtrop petite pour les données à écrire. 34 Variable SET non compatible avec ce variateur de vitesse. 35 Variable LIST non compatible avec ce variateur de vitesse. 36 Variable LIST endommagée (erreur de checksum). 37 Variable SET endommagée (erreur de checksum). 38 Redémarrage de Can_handler 39 La carte TSX CPP 110 ne trouve pas l'équipement à l'adresse configurée. 40 La famille définie dans la configuration ne correspond pas à celle définie dans le variateur de vitesse en cours d'exécution. 41 La référence définie dans la configuration ne correspond pas à celle définie dans le variateur de vitesse en cours d'exécution. 42 Variateur de vitesse inconnu. 43 La version List de paramètres ne correspond pas à la version Set de l'ensemble de paramètres. 44 Le variateur de vitesse est toujours défaillant après réinitialisation. 45 L'équipement ne fonctionne pas correctement lorsque la commande MFB est exécutée (concerne seulement Lexium 17). 35010606 12/2018 113 Codes et valeurs d'erreur 114 35010606 12/2018 EcoStruxure™ Control Expert Performances MFB 35010606 12/2018 Annexe B Performances MFB Performances MFB Tableau des performances MFB Présentation Le tableau ci-après présente les performances de chaque variateur au cours des différents tests réalisés avec le MFB (Motion Function Block). Conditions et règles Configuration du débit CANopen = 500 kbds Période de tâche de l'automate : 5 ms + nb_axe_x1 ms si nb_axe>3, 5 ms si nb_axe<=3. Tableau des tests Les tests ont été réalisés pour les variateurs suivants : Lexium 05 / Lexium 32, Lexium 15 MP/HP, Lexium 15 LP, Icla, ATV31 et ATV71. Performances (ms) Type de test Lexium 05/ Lexium 32 Lexium 15 Lexium 15 MP/HP LP Icla ATV31 ATV71 Démarrage de MC_MOVEABSOLUTE (mode de changement, modification de l'accélération et de la décélération) (6 à 7) c (6 à 7) c (6 à 7) c (4 à 5) c X X Démarrage de MC_MOVEABSOLUTE (pas de changement) 1c 1c 1c 1c X X Délai entre 2 MC_MOVEABSOLUTE (1) 2c 2 c + 3 ms 2 c + 1 ms + TcMH + TcLP 2c X X 1 c + 3 ms 1 c + 1 ms + TcMH + TcLP 1 c + 0,5 ms X X 1 c + 0,5 ms Délai entre 2 MC_MOVEABSOLUTE (seconde tâche de mouvement immédiatement après la première tâche de mouvement) 35010606 12/2018 115 Performances MFB Performances (ms) Type de test Lexium 05/ Lexium 32 Lexium 15 Lexium 15 MP/HP LP Icla ATV31 ATV71 Délai d'interruption MC_MOVEABSOLUTE avec la même instance 1 c + 0,5 ms 1 c + 5 ms 1 c + 1 ms + TcMH + TcLP 1 c + 0,5 ms X X Délai d'interruption MC_MOVEABSOLUTE avec une autre instance 1 c + 0,5 ms 1 c + 5 ms 1 c + 1 ms + TcMH + TcLP 1 c + 0,5 ms X X Démarrage de la tâche de mouvement X 1 c + 5 ms 1 c + 2 ms + TcMH + TcLP X X X Délai entre deux tâches de mouvement (1) X 1 c + 5 ms 42 + TcLP + TcMH X X X Arrêt durant le mouvement 1 c + 0,5 ms 1 c + 1 ms 1 c + 2 ms + TcMH + TcLP 1 c + 0,5 ms X X Changement de vitesse dans la 1 c + 0,5 ms même instance de MC_MOVEVELOCITY 1 c + 1 ms 1 c + 1 ms + TcMH + TcLP 1 c + 0,5 ms 1 c + 10 ms 1 c + 5 ms + TcATV31 + TcATV71 Enregistrement des paramètres 212 du variateur (TE_UPLOADDRIVEPARAM) 760 851 197 473 1283 Transfert des paramètres du variateur (TE_DOWNLOADDRIVEPARAM) 219 1239 1460 204 502 1329 Enregistrement de 20 tâches de mouvement (LXM_UPLOADMTASK) X 1778 1739 X X X Chargement de 20 tâches de mouvement (LXM_DOWNLOADMTASK) X 1237 583 X X X Légende (1): en présence d'un programme dont la seconde commande intervient avant la première commande, vous devez ajouter une période de tâche d'automate dans l'équation. c: période de tâche de l'automate TcMH : durée du cycle Lexium 15 MP/HP (0 à 3 ms) TcLP : durée du cycle Lexium 15 LP (0 à 1 ms) TcATV31 : durée du cycle ATV31 (15 ms) TcATV71 : durée du cycle ATV71 (5 ms) 116 35010606 12/2018 Performances MFB Exemples Applications avec 3 axes (Lexium 05) : c = 5 ms Démarrage d'un MC_MOVEABSOLUTE sans changement = 1 c = 5 ms Délai d'interruption de la même instance de MC_MOVEABSOLUTE = 1 c + 0,5 ms = 5 + 0,5 = 5,5 ms Applications avec 1 axe (Lexium 15LP) : c = 5 ms Démarrage d'un MC_MOVEABSOLUTE sans changement = 6 c + 1 c = 6 x 5 + 5 = 35 ms 35010606 12/2018 117 Performances MFB 118 35010606 12/2018 EcoStruxure™ Control Expert Glossaire 35010606 12/2018 Glossaire B BOOL BOOL est l'abréviation du type booléen. Il s'agit du type de données de base en informatique. Une variable de type BOOL peut avoir l'une des deux valeurs suivantes : 0 (FALSE) ou 1 (TRUE). Un bit extrait d'un mot est de type BOOL, par exemple :%MW10.4 D DINT DINT est l'abréviation du format Double INTeger (entier double codé sur 32 bits). Les limites supérieure/inférieure sont les suivantes : - (2 puissance 31) à (2 puissance 31) - 1. Exemple : -2147483648, 2147483647, 16#FFFFFFFF. I INT INT est l'abréviation du format single INTeger (entier simple codé sur 16 bits). Les limites supérieure/inférieure sont les suivantes : - (2 puissance 15) à (2 puissance 15) - 1. Exemple : -32768, 32767, 2#1111110001001001, 16#9FA4. IODDT IODDT est l'acronyme de « Input/Output Derived Data Type » (type de données dérivées d'E/S). Cet acronyme désigne un type de données structuré représentant un module ou une voie d'un module automate. Chaque module expert possède ses propres IODDT. 35010606 12/2018 119 Glossaire U UDINT UDINT est l'acronyme du format « Unsigned Double INTeger » (entier double non signé) (codé sur 32 bits). Les limites inférieure et supérieure sont les suivantes : 0 à (2 puissance 32) - 1. Exemple : 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF. UINT UINT est l'abréviation du format « Unsigned INTeger » (entier non signé codé sur 16 bits). Les limites inférieure et supérieure sont les suivantes : 0 à (2 puissance 16) - 1. Exemple : 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF. 120 35010606 12/2018 EcoStruxure™ Control Expert Index 35010606 12/2018 Index A AXIS_REF, 28 C CAN_HANDLER, 38 D diagramme d'état, 29 disponibilité des instructions, 23 I instructions disponibilité, 23 instructions de mouvement CAN_HANDLER, 38 MC_JOG, 69 MC_MOVEABSOLUTE, 59 MC_MOVEADDITIVE, 63 MC_MOVERELATIVE, 61 MC_MOVEVELOCITY, 67 MC_POWER, 57 MC_READACTUALPOSITION, 44 MC_READACTUALVELOCITY, 46 MC_READAXISERROR, 73 MC_READPARAMETER, 40 MC_READSTATUS, 77 MC_RESET, 52 MC_STOP, 54 MC_WRITEPARAMETER, 42 TE_DOWNLOADDRIVEPARAM, 92 TE_UPLOADDRIVEPARAM, 89 instructions Lexium LXM_DOWNLOADMTASK, 98 LXM_GEARPOS, 83 LXM_GearPosS, 86 LXM_UPLOADMTASK, 95 35010606 12/2018 L Lexium - instructions LXM_STARTMTASK, 100 LXM_DOWNLOADMTASK, 98 LXM_GEARPOS, 83 LXM_GearPosS, 86 LXM_STARTMTASK, 100 LXM_UPLOADMTASK, 95 M MC_HOME, 81 MC_JOG, 69 MC_MOVEABSOLUTE, 59 MC_MOVEADDITIVE, 63 MC_MOVERELATIVE, 61 MC_MOVEVELOCITY, 67 MC_POWER, 57 MC_READACTUALPOSITION, 44 MC_READACTUALTORQUE, 48 MC_READACTUALVELOCITY, 46 MC_READAXISERROR, 73 MC_READPARAMETER, 40 MC_READSTATUS, 77 MC_RESET, 52 MC_STOP, 54 MC_TORQUECONTROL, 50 MC_WRITEPARAMETER, 42 mouvement - instructions MC_HOME, 81 MC_READACTUALTORQUE, 48 MC_TORQUECONTROL, 50 P paramètres de base, 33 T TE_DOWNLOADDRIVEPARAM, 92 121 Index TE_UPLOADDRIVEPARAM, 89 122 35010606 12/2018