35010606_k01_000_07

134
35010606.07 www.schneider-electric.com Unity Pro 35010606 07/2011 Unity Pro Motion Function Blocks Bibliothèque de blocs 07/2011

Transcript of 35010606_k01_000_07

Page 1: 35010606_k01_000_07

Unity Pro

35010606 07/2011

3501

0606

.07

www.schneider-electric.com

Unity ProMotion Function BlocksBibliothèque de blocs

07/2011

Page 2: 35010606_k01_000_07

Le présent document comprend des descriptions générales et/ou des caractéris-tiques 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 d’amélioration ou de correction ou avez relevé des erreurs dans cette publication, veuillez nous en informer.

Aucune partie de ce document ne peut être reproduite sous quelque forme ou par quelque moyen que ce soit, électronique, mécanique ou photocopie, sans l’autorisation écrite expresse de Schneider Electric.

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 fonction-nement incorrect.

Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages matériels.

© 2011 Schneider Electric. Tous droits réservés.

2 35010606 07/2011

Page 3: 35010606_k01_000_07

Structure de la documentation

Documents à consulter

Dossiers à consulter :Aide en ligne de Unity ProAide en ligne de Unity Pro (MFB sous Unity Pro, Guide de démarrage)CD de documentation Lexium 05 fourni avec le produitCD de documentation Lexium 15 fourni avec le produitGuide d’utilisation ATV 31Guide d’utilisation ATV 32Guide d’utilisation ICLA, IFxxGuide d’utilisation ATV 71Aide en ligne de Unilink L pour Lexium 15LP et Unilink MH pour Lexium 15MP/HPDocumentation Lexium 32

35010606 07/2011 3

Page 4: 35010606_k01_000_07

4 35010606 07/2011

Page 5: 35010606_k01_000_07

Table des matières

Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . 7A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Partie I Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Chapitre 1 Types de module et leur utilisation. . . . . . . . . . . . . . . . . 13

Types de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Structure d’un FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16EN et ENO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Chapitre 2 Disponibilité des blocs sur les différentes plates-formes 23Disponibilité des blocs sur les différents variateurs. . . . . . . . . . . . . . . . . . 23

Partie II Les blocs MFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Chapitre 3 Le paramètre RefAxis. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Axis_Ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Diagramme d’état de l’axe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Chapitre 4 Bloc fonction de mouvement . . . . . . . . . . . . . . . . . . . . . 31Blocs MFB et paramètres de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33CAN_HANDLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37MC_READPARAMETER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39MC_WRITEPARAMETER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41MC_READACTUALPOSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43MC_READACTUALVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45MC_READACTUALTORQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47MC_TORQUECONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49MC_RESET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51MC_STOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53MC_POWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56MC_MOVEABSOLUTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58MC_MOVERELATIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60MC_MOVEADDITIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62MC_MOVEVELOCITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65MC_JOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67MC_READAXISERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71MC_READSTATUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75MC_HOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

35010606 07/2011 5

Page 6: 35010606_k01_000_07

LXM_GEARPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80LXM_GearPosS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83TE_UPLOADDRIVEPARAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86TE_DOWNLOADDRIVEPARAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88LXM_UPLOADMTASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90LXM_DOWNLOADMTASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92LXM_STARTMTASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Unités et variateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Service Messaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Taille mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Annexe A Codes et valeurs d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . 105

Tableaux des codes d’erreur pour la librairie MFB (Motion Function Block) 105Annexe B Performances MFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Tableau des performances MFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

6 35010606 07/2011

Page 7: 35010606_k01_000_07

§

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 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 07/2011 7

Page 8: 35010606_k01_000_07

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 cet appareil.

Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction et du fonctionnement des équipements électriques et installations et ayant bénéficié d’une formation de sécurité afin de reconnaître et d’éviter les risques encourus.

8 35010606 07/2011

Page 9: 35010606_k01_000_07

A propos de ce manuel

Présentation

Objectif du document

Ce manuel décrit la bibliothèque MFB (Motion Function Block) sous Unity Pro.

Champ d’application

Cette documentation est applicable à partir de Unity Pro v6.0.

Information spécifique au produit

Commentaires utilisateur

Envoyez vos commentaires à l’adresse e-mail [email protected]

AVERTISSEMENTCOMPORTEMENT IMPREVU DE L’EQUIPEMENT

L’utilisation de ce produit requiert une expertise dans la conception et la programmation des systèmes de contrôle. 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.

35010606 07/2011 9

Page 10: 35010606_k01_000_07

10 35010606 07/2011

Page 11: 35010606_k01_000_07

35010606 07/2011

I

Unity Pro

Généralités

35010606 07/2011

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 Titre du chapitre Page

1 Types de module et leur utilisation 13

2 Disponibilité des blocs sur les différentes plates-formes 23

11

Page 12: 35010606_k01_000_07

Généralités

12 35010606 07/2011

Page 13: 35010606_k01_000_07

35010606 07/2011

1

Unity Pro

Types de module et leur utilisation

35010606 07/2011

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 19

13

Page 14: 35010606_k01_000_07

Types de module et leur utilisation

Types de bloc

Types de bloc

Différents types de bloc sont utilisés dans Unity Pro. 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)les blocs fonction élémentaires (EFB)Blocs fonction dérivés (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) ne disposent pas d’état interne et 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’addition de deux valeurs donne le même résultat à chaque exécution de la fonction.

Une fonction élémentaire est représentée dans les langages graphiques (FBD et LD) sous la forme d’un rectangle avec des entrées et une sortie. Les entrées sont toujours représentées à gauche du rectangle et les sorties à droite. Le nom de la fonction, c’est-à-dire le type de fonction, est affiché au centre du rectangle.

Pour certaines fonctions élémentaires, il est possible d’augmenter le nombre d’entrées.

NOTE : la désactivation d’une fonction élémentaire (EN=0) entraîne la réinitiali-sation 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 la fonction élémentaire et être utilisée pour connecter l’entrée de l’élément.

ATTENTIONCOMPORTEMENT INATTENDU DE L’EQUIPEMENT

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.

14 35010606 07/2011

Page 15: 35010606_k01_000_07

Types de module et leur utilisation

Bloc fonction élémentaire

Les blocs fonction élémentaires (EFB) possèdent 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 la forme d’un rectangle avec des entrées et des sorties. Les entrées sont toujours représentées à gauche du rectangle et les sorties à droite. Le nom du bloc fonction, c’est-à-dire le type de bloc fonction, est affiché au centre du rectangle. Le nom d’instance est affiché au-dessus du cadre.

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 CEI 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.

35010606 07/2011 15

Page 16: 35010606_k01_000_07

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 :

Appel formel d’un bloc fonction dans le langage de programmation ST :

ATTENTIONCOMPORTEMENT 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 07/2011

Page 17: 35010606_k01_000_07

Types de module et leur utilisation

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.

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 plus d’informations, consultez le 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.

35010606 07/2011 17

Page 18: 35010606_k01_000_07

Types de module et leur utilisation

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.

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/composantes de variables différentes peuvent être reliées à l’entrée VAR_IN_OUT et à la sortie VAR_IN_OUT. Dans un tel cas, la valeur de la variable/composante de variable en entrée est copiée dans la variable/composante de variable en sortie. Il est interdit d’utiliser des négations au niveau des 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.

18 35010606 07/2011

Page 19: 35010606_k01_000_07

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à réglée sur 1, lors de l’appel de FFB, les algorithmes définis par FFB sont exécutés. Une fois les algorithmes exécutés, la valeur de la sortie 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 Unity Pro, Modes de marche).

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 fonctionTraitement 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.

35010606 07/2011 19

Page 20: 35010606_k01_000_07

Types de module et leur utilisation

Fonctions/procéduresComme 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 :

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 :

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éeappels 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éeappels 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, le bloc fonction 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.

20 35010606 07/2011

Page 21: 35010606_k01_000_07

Types de module et leur utilisation

Remarque concernant les langages IL et ST

Les paramètres EN et la sortie 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 =>.

L’entrée EN et la sortie ENO ne peuvent pas être utilisées pour un appel informel.

ATTENTIONEQUIPEMENT 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.

35010606 07/2011 21

Page 22: 35010606_k01_000_07

Types de module et leur utilisation

22 35010606 07/2011

Page 23: 35010606_k01_000_07

35010606 07/2011

2

Unity Pro

Disponibilité des blocs

35010606 07/2011

Disponibilité des blocs sur les différentes plates-formes

Disponibilité des blocs sur les différents variateurs

Motion Function Blocks (MFB, blocs fonction de mouvement)

Les blocs ne sont pas disponibles sur toutes les plates-formes. Les tableaux suivants indiquent les blocs disponibles sur votre plate-forme Modicon M340 dotée d’un bus de terrain CANopen.

Type Nom du bloc ATV 31ATV312 (7.)

ATV 32

ATV 71

Lexium32

Lexium 05

Lexium 15 HP, MP, LP

IclAIFA, IFE, IFS

PLCopenmotioncontrol V1.1

MC_ReadParameter X X X X X X X

MC_WriteParameter X X X X X X X

MC_ReadActualPosition X X X X

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

MC_MoveAbsolute X X X X

MC_MoveRelative X X X

MC_MoveAdditive X X X

MC_Home X 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

MC_TorqueControl (1.) X X X X (3.)

MC_ReadActualTorque (1.) X X X X X X

MC_Jog (2.) X X X (3.), sauf 15 LP X

23

Page 24: 35010606_k01_000_07

Disponibilité des blocs

Fonction de sauvegarde et restitution des jeux de paramètres pour gestion des recettes ou remplacement de variateur défectueux

TE_UploadDriveParam X X X X (6.) X X X

TE_DownloadDriveParam X X X X (6.) X X X

Fonctions avancées pour le Lexium

Lxm_GearPos X (4.) X (5.)

Lxm_GearPosS X X (4.) X (5.)

Lxm_UploadMTask X

Lxm_DownloadMTask X

Lxm_StartMTask X X

Fonction système

CAN_Handler X X X X X X X

1. Extension PLCopen V0.99 partie 22. Pas à la norme PLCopen3. Uniquement pour micrologiciel version >= 6.734. Uniquement pour micrologiciel version >= 1.4035. Uniquement pour micrologiciel version >= 2.366. La liste de paramètres est celle du variateur Lexium32Advanced.7. Par le biais d’une configuration d’équipement CANopen ATV 31 V1.7.

Type Nom du bloc ATV 31ATV312 (7.)

ATV 32

ATV 71

Lexium32

Lexium 05

Lexium 15 HP, MP, LP

IclAIFA, IFE, IFS

24 35010606 07/2011

Page 25: 35010606_k01_000_07

35010606 07/2011

II

Unity Pro

MotionFunctionBlock

35010606 07/2011

Les blocs MFB

Objet de cette partie

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 Titre du chapitre Page

3 Le paramètre RefAxis 27

4 Bloc fonction de mouvement 31

25

Page 26: 35010606_k01_000_07

MotionFunctionBlock

26 35010606 07/2011

Page 27: 35010606_k01_000_07

35010606 07/2011

3

Unity Pro

Abbreviated title of Chapter

35010606 07/2011

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

27

Page 28: 35010606_k01_000_07

Abbreviated title of Chapter

Axis_Ref

Description

Un axe est défini par un objet de type AXIS_REF.

Du point de vue de l’utilisateur, l’objet de type AXIS_REF est :

Une variable structurée contenant l’ensemble des données nécessaires aux blocs MFB pour travailler avec un axe (état logique, adressage, état de la messagerie...),Une variable créée automatiquement lors de la création (voir MFB sous Unity Pro, Guide de démarrage) de l’axe dans le répertoire Movement (voir Unity Pro, Modes de marche) du navigateur Unity Pro,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’AXIS_REF sont :

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 du variateur 1=Lexium, 2=Ifx, 3=ATV31...

Axis_Reference 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 que le variateur possède (exemple : le chiffre 5 dans le nombre 6.5).

28 35010606 07/2011

Page 29: 35010606_k01_000_07

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 07/2011 29

Page 30: 35010606_k01_000_07

Abbreviated title of Chapter

Valeurs d’état

Le tableau ci-dessous décrit les valeurs d’état :

Etat 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.

30 35010606 07/2011

Page 31: 35010606_k01_000_07

35010606 07/2011

4

Unity Pro

Bloc fonction de mouvement

35010606 07/2011

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 MFB et paramètres de base 33

CAN_HANDLER 37

MC_READPARAMETER 39

MC_WRITEPARAMETER 41

MC_READACTUALPOSITION 43

MC_READACTUALVELOCITY 45

MC_READACTUALTORQUE 47

MC_TORQUECONTROL 49

MC_RESET 51

MC_STOP 53

MC_POWER 56

MC_MOVEABSOLUTE 58

MC_MOVERELATIVE 60

MC_MOVEADDITIVE 62

MC_MOVEVELOCITY 65

MC_JOG 67

MC_READAXISERROR 71

MC_READSTATUS 75

MC_HOME 78

LXM_GEARPOS 80

31

Page 32: 35010606_k01_000_07

Bloc fonction de mouvement

LXM_GearPosS 83

TE_UPLOADDRIVEPARAM 86

TE_DOWNLOADDRIVEPARAM 88

LXM_UPLOADMTASK 90

LXM_DOWNLOADMTASK 92

LXM_STARTMTASK 94

Unités et variateurs 96

Service Messaging 98

Taille mémoire 100

Sujet Page

32 35010606 07/2011

Page 33: 35010606_k01_000_07

Bloc fonction de mouvement

Blocs MFB et paramètres de base

Général

La plupart des blocs utilisent les mêmes paramètres d’entrées et de sorties dits de base.

Le principe de fonctionnement des paramètres de base d’entrées et de sorties est expliqué ci-dessous.

Représentation en FBD

Représentation :

Description des paramètres standard d’entrée

Le tableau suivant décrit les paramètres d’entrée :

Paramètre Type Commentaire

Axe AXIS_REF Objet de type Axis_Ref (voir page 28), définissant l’équipement

Activer BOOL Lorsque Enable est TRUE, les paramètres sont pris en compte et la fonction s’exécute.Dès que Enable est FALSE, les paramètres de sortie Error, Done et CommandAborted sont mis à FALSE immédiatement.

Execute BOOL Sur front montant d’Execute, les paramètres sont pris en compte et la fonction s’exécute.Tant qu’Execute est TRUE, les paramètres de sortie Error, Done, CommandAborted et Busy sont sous le contrôle du bloc.Lorsque Execute est FALSE, le paramètre de sortie Busy est TRUE jusqu’à la fin de l’exécution du bloc. Dès qu’un des paramètres de sortie Error, Done ou CommandAborted passe à TRUE, tous deviennent FALSE.

35010606 07/2011 33

Page 34: 35010606_k01_000_07

Bloc fonction de mouvement

Description des paramètres standard de sortie

Le tableau suivant décrit les paramètres de sortie :

NOTE : Le type de paramètre de sortie ErrorId (Error Identifier (voir page 105)) est UDINT pour les blocs utilisant la messagerie (MC_READ..., MC_WriteParameter et CAN_HANDLER).

Tous les blocs ont la propriété d’enregistrer la dernière erreur ERRID dans le TAMPON DE DIAGNOSTIC Unity.

Fonctionnement d’un bloc avec un paramètre d’entrée Execute

La figure ci-dessous présente le chronogrammme d’un bloc comprenant un paramètre d’entrée Execute mis à 1 jusqu’à ce que l’exécution du bloc soit terminée (DONE=0 et BUSY=0), le bloc s’exécute sans erreur :

Paramètre Type Commentaire

Erreur BOOL Error est TRUE lorsqu’une erreur d’exécution est détectée par le bloc fonction.

Done BOOL Done est TRUE lorsque l’exécution de la fonction est terminée.

Valide BOOL Valid est TRUE lorsque les autres sorties sont valides.

Busy BOOL Busy est TRUE pour indiquer que le bloc fonction est en cours d’exécution.Busy est mis à TRUE lorsque Execute passe à TRUE (sur front montant), et est mis à FALSE car une des valeurs d’états suivants, Done, Error ou CommandAborted passe à TRUE.

ErrorId INT Identifiant d’erreur.

CommandAborted BOOL CommandAborted est TRUE lorsque l’exécution du bloc est annulée. Cette annulation est due à l’exécution d’une autre commande.

34 35010606 07/2011

Page 35: 35010606_k01_000_07

Bloc fonction de mouvement

La figure ci-dessous présente le chronogrammme d’un bloc comprenant un paramètre d’entrée Execute mis à 1 jusqu’à ce que l’exécution du bloc soit terminée (ERROR=0 et BUSY=0), le bloc s’exécute avec des erreurs :

La figure ci-dessous présente le chronogrammme d’un bloc comprenant un paramètre d’entrée Execute mis à 1 jusqu’à ce que l’exécution du bloc soit terminée (COMMANDABBORTED=0 et BUSY=0), l’exécution du bloc est annulée :

La figure ci-dessous présente le chronogramme d’un bloc comprenant un paramètre d’entrée Execute mis à 1 sur un cycle automate, le bloc s’exécute sans erreur :

35010606 07/2011 35

Page 36: 35010606_k01_000_07

Bloc fonction de mouvement

La figure ci-dessous présente le chronogramme d’un bloc comprenant un paramètre d’entrée Execute mis à 1 sur un cycle automate, le bloc s’exécute avec des erreurs :

Fonctionnement d’un bloc avec un paramètre d’entrée Enable

La figure ci-dessous présente le chronogramme d’un bloc comprenant un paramètre d’entrée Enable, l’exécution est rapide :

La figure ci-dessous présente le chronogramme d’un bloc comprenant un paramètre d’entrée Enable, l’exécution est normale (plus d’un cycle automate) :

36 35010606 07/2011

Page 37: 35010606_k01_000_07

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 entre les configurations logicielle et physique.

Cette fonction doit être appelée avant tout appel à un MFB, parce qu’elle détermine le fonctionnement correct de tous les autres MFB.

NOTE : Ce bloc ne doit pas être instancié manuellement. Il est créé automati-quement lors de la création d’un axe dans le répertoire Motion (voir MFB sous Unity Pro, Guide de démarrage).

NOTE : Le paramètre d’axe doit être le AxisRef correspondant défini lors de la création de l’axe dans le répertoire Motion.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

Représentation en IL

Représentation :

CAL CAN_HANDLER(NETOP:=NetworkOperational, AXIS:=Axis, AXISRD=>AxisReady, ERRID=>ErrorId)

35010606 07/2011 37

Page 38: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en ST

Représentation :

CAN_HANDLER(AXIS:=Axis, NETOP:=NetworkOperational, AXISRD=>AxisReady, ERRID=>ErrorId);

Description des paramètres d’entrée

Le tableau suivant décrit le paramètre d’entrée en complément des paramètres de base (voir page 33) :

NOTE : L’affectation de ce paramètre reste à la discrétion du développeur. Il dépend de la philosophie de gestion du bus CANopen.

Il est recommandé d’utiliser un objet (ou une équation) issu de l’IODDT de la carte TSX CPP110 (type T_COM_CPP110) pour l’automate Premium et du port CANopen du Modicon M340 (type T_COM_CO_BMX). Par exemple, il est possible d’affecter le bit SLAVE_ACTIV_X issu de l’IODDT T_COM_CPP110 (X étant l’adresse CANopen de l’équipement).

Description des paramètres de sortie

Le tableau suivant décrit le paramètre de sortie en complément des paramètres de base (voir page 33) :

Paramètre Type Commentaire

NetworkOperational BOOL Résultat d’une équation du bon fonctionnement du bus CANopen.

Paramètre Type Commentaire

AxisReady BOOL La configuration logicielle est cohérente avec la configuration matérielle présente et le bus CANopen est OK.

38 35010606 07/2011

Page 39: 35010606_k01_000_07

Bloc fonction de mouvement

MC_READPARAMETER

Description de la fonction

La fonction MC_READPARAMETER permet de lire, par messagerie SDO (System 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 :

35010606 07/2011 39

Page 40: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_READPARAMETER (AXIS:=Axis, EXEC:=Execute, PN:=ParameterNumber, SI:=SubIndex, ERR=>Error, DO=>Done, B=>Busy, ERRID=>ErrorId, X=>Value, L=>Length)

Représentation en ST

Représentation :

MC_ReadParameter(AXIS:=Axis, EXEC:=Execute, PN:=Parameter-Number, SI:=SubIndex, ERR=>Error, DO=>Done, B=>Busy, ERRID=>ErrorId, X=>Value, L=>Length);

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) :

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

ParameterNumber UINT Numéro d’index CANopen.

SubIndex UINT Numéro de sous-index CANopen.

Paramètre Type Commentaire

Valeur DINT Valeur lue.

Longueur UINT Longueur en octets de la valeur lue.

40 35010606 07/2011

Page 41: 35010606_k01_000_07

Bloc fonction de mouvement

MC_WRITEPARAMETER

Description de la fonction

La fonction MC_WRITEPARAMETER permet d’écrire, par messagerie SDO (System 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 :

35010606 07/2011 41

Page 42: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_WRITEPARAMETER(AXIS:=Axis, EXEC:=Execute, PN:=ParameterNumber, SI:=SubIndex, X:=Value, L:=Length, ERR=>Error, DO=>Done, B=>Busy, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_WRITEPARAMETER(AXIS:=Axis, EXEC:=Execute, PN:=Parameter-Number, SI:=SubIndex, X:=Value, L:=Length, ERR=>Error, DO=>Done, B=>Busy, ERRID=>ErrorId);

Description des paramètres d’entrée

Le tableau suivant décrit les paramètres d’entrée qui complètent les paramètres de base (voir page 33) :

Paramètre Type Commentaire

ParameterNumber UINT Numéro d’index CANopen à écrire.

SubIndex UINT Numéro de sous-index CANopen.

Value DINT Valeur à écrire.

Length UINT Longueur en octets de la valeur à écrire.

42 35010606 07/2011

Page 43: 35010606_k01_000_07

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 :

Représentation en IL

Représentation :

LD Axis

CAL MC_READACTUALPOSITION(AXIS:=Axis, ENB:=Enable, ERR=>Error, VA=>Valid, B=>Busy, ERRID=>ErrorId, POS=>Position)

35010606 07/2011 43

Page 44: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en ST

Représentation :

MC_READACTUALPOSITION(AXIS:=Axis, ENB:=Enable, ERR=>Error, VA=>Valid, B=>Busy, ERRID=>ErrorId, POS=>Position);

Description des paramètres de sortie

Le tableau suivant décrit le paramètre de sortie en complément des paramètres de base (voir page 33) :

Paramètre Type Commentaire

Position DINT Position de l’axe, si la valeur Valid est TRUE.

44 35010606 07/2011

Page 45: 35010606_k01_000_07

Bloc fonction de mouvement

MC_READACTUALVELOCITY

Description de la fonction

La fonction MC_READACTUALVELOCITY permet de déterminer la vitesse actuelle de l’axe.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

Représentation en IL

Représentation :

LD Axis

CAL MC_READACTUALVELOCITY(AXIS:=Axis, ENB:=Enable, ERR=>Error, VA=>Valid, B=>Busy, ERRID=>ErrorId, V=>Velocity)

35010606 07/2011 45

Page 46: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en ST

Représentation :

MC_READACTUALVELOCITY(AXIS:=Axis, ENB:=Enable, ERR=>Error, VA=>Valid, B=>Busy, ERRID=>ErrorId, V=>Velocity);

Description des paramètres de sortie

Le tableau suivant décrit le paramètre de sortie en complément des paramètres de base (voir page 33) :

Paramètre Type Commentaire

Velocity DINT Vitesse de l’axe, quand la valeur Valid est TRUE.

46 35010606 07/2011

Page 47: 35010606_k01_000_07

Bloc fonction de mouvement

MC_READACTUALTORQUE

Description de la fonction

La fonction MC_ReadActualTorque permet de renvoyer le couple courant.

Représentation en FBD

Représentation

Représentation en LD

Représentation

Représentation en IL

Représentation :

LD Slave

CAL MC_READACTUALTORQUE(AXIS:=Axis, ENB:=Enable, ERR=>Error, DO=>Valid, B=>Busy, ERRID=>ErrorId), TORQ=>Torque

35010606 07/2011 47

Page 48: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en ST

Représentation :

MC_READACTUALTORQUE(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Valid, B=>Busy, ERRID=>ErrorId), TORQ=>Torque;

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) :

Le tableau ci-après décrit les unités de chaque variateur.

NOTE : la valeur renvoyée pour le Lexium05 et le Lexium32 est un courant.

Paramètre Type Commentaire

Couple INT Mise à jour toutes les 200 ms.

Variateur 15MP/HP 15LP Lex05 / Lex32

Icla ATV31 ATV71

Unité 1/1000 du couple nominal

1/100 Amp 0,01 du couple de moteur nominal

- 0,01 du couple nominal

0,01 du couple nominal

48 35010606 07/2011

Page 49: 35010606_k01_000_07

Bloc fonction de mouvement

MC_TORQUECONTROL

Description de la fonction

La fonction MC_TORQUECONTROL permet de définir le mode TORQUECONTROL du variateur (s’il n’est pas activé), et de fournir une valeur de commande de couple. Ce bloc fonction applique en permanence un couple ou une force, et définit la sortie de InTorque si le niveau du couple est atteint. Il est applicable à 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

35010606 07/2011 49

Page 50: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Slave

CAL MC_TORQUECONTROL(AXIS:=Axis, EXEC:=Execute, TORQ:=Torque, ERR=>Error, INTORQ=>InTorque, B=>Busy, AB=>CommandeAborted, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_TORQUECONTROL(AXIS:=Axis, EXEC:=Execute, TORQ:=Torque, ERR=>Error, INTORQ=>InTorque, B=>Busy, AB=>CommandeAborted, ERRID=>ErrorId);

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) :

Le tableau ci-après décrit les unités de chaque variateur.

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) :

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 à 1. Selon la configuration du variateur, les deux modes de commutation sont disponibles.

Paramètre Type Commentaire

Couple INT Valeur du couple.

Variateur Lexium 15MM/HP Lexium 15LP Lexium 05/Lexium 32

ATV 71

Unité 1/1000 du couple nominal

1/1000 du couple nominal

0,01 Amp 1/1000 du couple de moteur nominal

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).

50 35010606 07/2011

Page 51: 35010606_k01_000_07

Bloc fonction de mouvement

MC_RESET

Description de la fonction

La fonction MC_RESET permet d’acquitter les défauts internes (AxisFault) ou alertes internes (AxisWarning) conséquences de l’exécution d’un MFB pour l’axe (Axis_ref). La fonction réinitialise le contenu du bloc ReadAxisError, qui contient les informations de diagnostic.

Dans le diagramme d’état, la fonction permet de passer 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 :

35010606 07/2011 51

Page 52: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_RESET(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Done, B=>Busy, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_RESET(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Done, B=>Busy, ERRID=>ErrorId);

52 35010606 07/2011

Page 53: 35010606_k01_000_07

Bloc fonction de mouvement

MC_STOP

Description de la fonction

La fonction MC_STOP permet d’arrêter tout mouvement en cours et de place Axis_Ref dans l’état Stopping (voir page 29).

Dès que l’axe s’arrête (vitesse nulle), le paramètre de sortie DONE est mis sur TRUE et l’état de l’axe devient Stopping. Axis_Ref passe à 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 :

35010606 07/2011 53

Page 54: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_STOP(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Done, B=>Busy, Abort=>CommandAborted, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_STOP(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Done, B=>Busy, Abort=>CommandAborted, ERRID=>ErrorId);

Arrêt sur l’axe Z

L’exemple ci-dessous illustre le comportement de MC_STOP associée à MC_MOVEVELOCITY.

Le graphique ci-dessous présente le chronogramme de l’exemple avec les éléments suivants :

a) Un axe en rotation arrêté avec un MFB MC_Stop

b) L’axe rejette la commande de déplacement tant que le paramètre Execute du bloc MC_STOP est à 1. Le MFB MC_MOVEVELOCITY génère une erreur indiquant que la commande MC_STOP est active.

54 35010606 07/2011

Page 55: 35010606_k01_000_07

Bloc fonction de mouvement

Le graphique ci-dessous représente le chronogramme de l’arrêt de l’axe :

35010606 07/2011 55

Page 56: 35010606_k01_000_07

Bloc fonction de mouvement

MC_POWER

Description de la fonction

La fonction MC_POWER permet de passer l’état de l’Axis_Ref de Disabled (voir page 29) à Standstill.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

Représentation en IL

Représentation :

LD Axis

CAL MC_POWER(AXIS:=Axis, ENB:=Enable, ERR=>Error, ST=>Status, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_POWER(AXIS:=Axis, ENB:=Enable, ERR=>Error, ST=>Status, ERRID=>ErrorId);

56 35010606 07/2011

Page 57: 35010606_k01_000_07

Bloc fonction de mouvement

Description des paramètres de sortie

Le tableau suivant décrit le paramètre de sortie en complément des paramètres de base (voir page 33) :

Paramètre Type Commentaire

Status BOOL Si Status est défini sur TRUE, l’état est Standstill (voir page 29).Si Status est défini sur FALSE, l’état est Disabled (voir page 29).

35010606 07/2011 57

Page 58: 35010606_k01_000_07

Bloc fonction de mouvement

MC_MOVEABSOLUTE

Description de la fonction

La fonction MC_MOVEABSOLUTE permet d’exécuter une commande de déplacement en position absolue.

Done est à TRUE si la position est atteinte et la vitesse nulle.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

58 35010606 07/2011

Page 59: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_MOVEABSOLUTE(AXIS:=Axis, EXEC:=Execute, POS:=Position, V:=Velocity, ACC:=Acceleration, DEC:=Deceleration, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_MOVEABSOLUTE(AXIS:=Axis, EXEC:=Execute, POS:=Position, V:=Velocity, ACC:=Acceleration, DEC:=Deceleration, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId);

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) :

NOTE : la définition des paramètres d’accélération et de décélération sur la valeur 0 permet d’utiliser la valeur configurée dans le variateur. Si elle n’est pas égale à 0, cette valeur est prise en compte par le variateur.

NOTE : pour l’Icla, les valeurs d’accélération et de décélération sont identiques. Le type est UINT. Le paramètre de décélération n’est pas actif.

Paramètre Type Commentaire

Position DINT Valeur précisant la position du variateur.

Velocity UDINT Valeur de la vitesse.

Acceleration UDINT Valeur d’accélération.

Deceleration UDINT Valeur de décélération.

35010606 07/2011 59

Page 60: 35010606_k01_000_07

Bloc fonction de mouvement

MC_MOVERELATIVE

Description de la fonction

La fonction MC_MOVERELATIVE permet d’exécuter une commande de déplacement en position relative, par rapport à la position actuelle du variateur.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

60 35010606 07/2011

Page 61: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_MOVERELATIVE(AXIS:=Axis, EXEC:=Execute, DIS:=Distance, V:=Velocity, ACC:=Acceleration, DEC:=Deceleration, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_MOVERELATIVE(AXIS:=Axis, EXEC:=Execute, DIS:=Distance, V:=Velocity, ACC:=Acceleration, DEC:=Deceleration, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId);

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) :

NOTE : la définition des paramètres d’accélération et de décélération sur la valeur 0 permet d’utiliser la valeur configurée dans le variateur. Si elle n’est pas égale à 0, cette valeur est prise en compte par le variateur.

Paramètre Type Commentaire

Distance DINT Valeur précisant la distance que le variateur doit parcourir.

Vitesse UDINT Valeur de vitesse.

Acceleration UDINT Valeur d’accélération.

Décélération UDINT Valeur de décélération.

35010606 07/2011 61

Page 62: 35010606_k01_000_07

Bloc fonction de mouvement

MC_MOVEADDITIVE

Description de la fonction

La fonction MC_MOVEADDITIVE permet d’appliquer une commande de déplacement supplémentaire au variateur en cours de mouvement.

Dès que le paramètre d’entrée du bloc Execute est actif :

le bloc MC_MOVEADDITIVE prend le contrôle du bloc en cours de mouvement (MC_MOVERELATIVE ou MC_MOVE_ABSOLUTE),la valeur saisie pour 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 :

Représentation en LD

Représentation :

62 35010606 07/2011

Page 63: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_MOVEADDITIVE(AXIS:=Axis, EXEC:=Execute, DIS:=Distance, V:=Velocity, ACC:=Acceleration, DEC:=Deceleration, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_MOVEADDITIVE(AXIS:=Axis, EXEC:=Execute, DIS:=Distance, V:=Velocity, ACC:=Acceleration, DEC:=Deceleration, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId);

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) :

NOTE : la définition des paramètres d’accélération et de décélération sur la valeur 0 permet d’utiliser la valeur configurée dans le variateur. Si elle n’est pas égale à 0, cette valeur est prise en compte par le variateur.

NOTE : pour l’Icla, les valeurs d’accélération et de décélération sont identiques. Le type est UINT. Le paramètre de décélération n’est pas actif.

Paramètre Type Commentaire

Distance DINT Valeur précisant la distance supplémentaire à parcourir.

Velocity UDINT Valeur de la vitesse.

Acceleration UDINT Valeur d’accélération.

Deceleration UDINT Valeur de décélération.

35010606 07/2011 63

Page 64: 35010606_k01_000_07

Bloc fonction de mouvement

Exemple

Le graphique ci-dessous schématise le fonctionnement du bloc MC_MOVEADDITIVE associé à un bloc mouvement MC_MOVE_ABSOLUTE.

64 35010606 07/2011

Page 65: 35010606_k01_000_07

Bloc fonction de mouvement

MC_MOVEVELOCITY

Description de la fonction

La fonction MC_MOVEVELOCITY permet d’exécuter une commande de déplacement sans fin à une vitesse donnée. Pour utiliser cette fonction, l’état courant de l’axe doit être continu ou StandStill.

Ce bloc, associé au bloc MC_STOP (voir page 53), peut être utilisé pour le mode manuel.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

35010606 07/2011 65

Page 66: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_MOVEVELOCITY(AXIS:=Axis, EXEC:=Execute, V:=Velocity, I:=Invert, ERR=>Error, IV=>InVelocity, B=>Busy, AB=>CommandA-borted, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_MOVEVELOCITY(AXIS:=Axis, EXEC:=Execute, V:=Velocity, I:=Invert, ERR=>Error, IV=>InVelocity, B=>Busy, AB=>CommandA-borted, ERRID=>ErrorId);

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) :

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

Velocity DINT Valeur de la vitesse.Pour les variateurs ICLA ou ATV31 le paramètre Velocity est utilisé comme type INT.

Invert Bool Sens de rotation.Si Invert est défini sur TRUE, le sens est inverse au sens de Velocity. Quand Invert est défini sur FALSE, le sens est celui de Velocity.

Paramètre Type Commentaire

InVelocity BOOL InVelocity est TRUE lorsque la vitesse Velocity est atteinte, sinon il reste à FALSE.

66 35010606 07/2011

Page 67: 35010606_k01_000_07

Bloc fonction de mouvement

MC_JOG

Description de la fonction

La fonction MC_JOG permet de définir le mode Position du variateur (si ce dernier n’est pas activé), ainsi que de fournir un sens et une valeur de commande de vitesse. Cette fonction n’est acceptée que si l’état du diagramme des états est STANDSTILL.

Cette fonction permet de réaliser les opérations suivantes :Avancer par étapes ou de façon continue (Lexium05, Lexium32 et Icla),Sortir de la limite LimitSwitch (Lexium05 et Icla) en cas de situation détection d’erreur LimitSwitch :

Lors du démarrage du mouvement dans le sens approprié, l’état de l’axe est basculé vers l’état Homing.En cas de libération d’une commande MC_Home avant de sortie de la limite LimitSwitch, une ID d’erreur 8 apparaît. Il est nécessaire d’exécuter une commande MC_Reset avant de réaliser une autre fonction MC_JOG.

Représentation en FBD

Représentation

35010606 07/2011 67

Page 68: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en LD

Représentation

Représentation en IL

Représentation :

LD Slave

CAL MC_JOG(AXIS:=Axe, FWRD:=Avant, BWRD:=Arrière, FST:=Rapide, STEPPOS:=StepPos, WAITTIME:=WaitTime, VSLW:=VelocitySlow, VFST:=VelocityFast, ERR=>Erreur, B=>Occupé, AB=>CommandAborted, ERRID=>ErrorId)

Représentation en ST

Représentation :

MC_JOG(AXIS:=Axe, FWRD:=Avant, BWRD:=Arrière, FST:=Rapide, STEPPOS:=StepPos, WAITTIME:=WaitTime, VSLW:=VelocitySlow, VFST:=VelocityFast, ERR=>Erreur, B=>Occupé, AB=>CommandA-borted, ERRID=>ErrorId);

68 35010606 07/2011

Page 69: 35010606_k01_000_07

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) :

Les paramètres d’entrée StepPos et WaitTime ne concernent pas Lexium15MP et Lexium 15HP.

Lorsque ces deux paramètres d’entrée sont activés, le bloc détecte la non-correspondance et définit le code d’erreur sur la valeur 10 : Condition incorrecte ne permettant pas la marche par incréments (voir page 105).

Pour Lexium05 et Lexium3, les paramètres StepPos et WaitTime :Doivent être définis,Sont envoyés par le module SDO,Ne sont pas envoyés si la valeur est égale à -1 : cela signifie que la mise à jour du paramètre n’est pas requise, et que le MFB utilisera la valeur déjà installée sur le variateur pour ces paramètres.

Le paramètre d’entrée Fast permet de passer du mode VelocitySlow au mode VelocityFast.

Comportement de la fonction

Les paramètres d’entrée Forward/Backward sont actifs au niveau des fronts :Le front montant permet de démarrer le mouvement.Le front descendant permet de stopper le mouvement.

Paramètre Type Commentaire

Avant BOOL Sens de marche avant.

Arrière BOOL Sens de marche arrière.

Rapide BOOL Sélection de la vitesse de la marche par incréments.

StepPos INT Echelle d’incrémentation jusqu’au fonctionnement en continu.

WaitTime INT Temps restant avant le fonctionnement en continu.

VelocitySlow UDINT Permet de ralentir le mouvement. Doit toujours être connecté.

VelocityFast UDINT Permet d’augmenter la vitesse du mouvement. Doit toujours être connecté.

35010606 07/2011 69

Page 70: 35010606_k01_000_07

Bloc fonction de mouvement

Description des paramètres de Lexium 05

Nom du groupeIndex:Sous-indexdéc. (hex.)

SignificationAffectation des bits

UnitésPlage?

FastSpeedNFST

Permet d’augmenter la vitesse du mouvement manuel (8-16)En interne, le réglage de la valeur est limité au réglage actuel des paramètres dans RAMPn_max.

tr/min118013200

SlowSpeedNSLW

Permet de réduire la vitesse du mouvement manuel (8-16)En interne, le réglage de la valeur est limité au réglage actuel des paramètres dans RAMPn_max.

tr/min16013200

StepPos Echelle d’incrémentation avec démarrage manuel avant fonctionnement en continu0: activation directe du fonctionnement en continu>0: positionnement de la distance par cycle manuel

usr020

WaitTime Temps restant avant le fonctionnement en continu (8-16)ne fonctionne que si l’échelle d’incrémentation n’est pas définie sur 0

ms150032767

70 35010606 07/2011

Page 71: 35010606_k01_000_07

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 :

Représentation en LD

Représentation :

35010606 07/2011 71

Page 72: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL MC_READAXISERROR(AXIS:=Axis, ENB:=Enable, ERR=>Error, DO=>Valid, B=>Busy, ERRID=>ErrorId, AXFLT=>AxisFault, AXFLTID=>AxisFaultId, AXDIAG=>AxisDiag, AXDIAGID=>AxisDiagId, AXWARN=>AxisWarning, AXWARNID=>AxisWarningId, AXERRID=>AxisErrorId, MSGERRORID=>MSGErrorId)

Représentation en ST

Représentation :

MC_READAXISERROR(AXIS:=Axis, ENB:=Enable, ERR=>Error, DO=>Valid, B=>Busy, ERRID=>ErrorId, AXFLT=>AxisFault, AXFLTID=>AxisFaultId, AXDIAG=>AxisDiag, AXDIAGID=>AxisDiagId, AXWARN=>AxisWarning, AXWARNID=>AxisWarningId, AXERRID=>AxisErrorId, MSGERRORID=>MSGErrorId);

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

AxisFault BOOL Erreur du variateur.

AxisFaultId UDINT Valeur de l’erreur du variateur.

AxisDiag BOOL Copie du bit de diagnostic CPP110 pour l’esclave.

AxisDiagId UINT Valeur du paramètre AxisDiag.

AxisWarning BOOL Avertissement du variateur.

AxisWarningId UINT Valeur de l’avertissement du variateur.

AxisErrorId WORD Mémorisation du numéro d’erreur d’un MFB.

MSGErrorId UINT Mémorisation d’erreur par messagerie.

72 35010606 07/2011

Page 73: 35010606_k01_000_07

Bloc fonction de mouvement

Codes d’erreur

Le tableau suivant dresse la liste des objets de diagnostic et des valeurs correspon-dantes en fonction des types de dérivateur :

NOTE : Reportez-vous à la documentation de votre équipement CANopen pour connaître la signification du code.

Particularité : pour l’erreur ERRCODE du Lexium 15MP, consultez la documentation de l’objet ASCII du Lexium.

Diagnostic

Le tableau suivant décrit la procédure de diagnostic du comportement suite à l’exécution d’un MFB. Le Lexium 15MP est l’équipement employé dans cet exemple.

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

Etape Action

1 Le paramètre de sortie AxisFault est à 1.Le paramètre de sortie AxisFaultId affiche une valeur de code d’erreur.Le graphique ci-dessous montre comment le diagnostic est établi dans cet exemple grâce aux valeurs de code :

35010606 07/2011 73

Page 74: 35010606_k01_000_07

Bloc fonction de mouvement

2 Reportez-vous à la documentation de l’objet ASCII du Lexium 15MP et recherchez le code ASCII ERRCODE 2070:16.

3 Dans la documentation ASCII, la valeur 16#0080 (128 en décimal) de ERRCODE désigne une survitesse.

4 Corrigez les constantes de vitesse.

5 Exécutez le bloc MC_Reset.

Etape Action

74 35010606 07/2011

Page 75: 35010606_k01_000_07

Bloc fonction de mouvement

MC_READSTATUS

Description de la fonction

La fonction MC_READSTATUS permet de connaître l’état logique du variateur (voir page 29).

Représentation en FBD

Représentation :

35010606 07/2011 75

Page 76: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en LD

Représentation :

Représentation en IL

Représentation :

LD Axis

CAL MC_READSTATUS(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Valid, B=>Busy, ERRID=>ErrorId, ERRSTOP=>ErrorStop, STOP=>Stopping, ST=>StandStill, DM=>DiscretMotion, CM=>ContinuousMotion, SM=>SynchronizedMotion, MTM=>MotionTas-kMotion, REF=>Referenced, DWNLD=>Downloading, DIS=>Disabled, HOM=>Homing)

76 35010606 07/2011

Page 77: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en ST

Représentation :

MC_READSTATUS(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Valid, B=>Busy, ERRID=>ErrorId, ERRSTOP=>ErrorStop, STOP=>Stopping, ST=>StandStill, DM=>DiscretMotion, CM=>ContinuousMotion, SM=>SynchronizedMotion, MTM=>MotionTas-kMotion, REF=>Referenced, DWNLD=>Downloading, DIS=>Disabled, HOM=>Homing);

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

ErrorStop BOOL Lorsque ErrorStop est TRUE, un arrêt se produit avec erreur.

Arrêt BOOL Lorsque Stopping est TRUE, MC_Stop est en cours.

StandStill BOOL Lorsque StandStill est TRUE, le variateur est à l’état StandStill.

DiscretMotion BOOL Lorsque DiscretMotion est TRUE, un déplacement en mode absolu ou relatif est en cours, ou marche par incréments.

ContinuousMotion BOOL Lorsque ContinuousMotion est TRUE, un déplacement en mode vitesse est en cours, ou couple.

SynchronizedMotion BOOL Une opération de synchronisation est en cours, en mode d’engrenage.

MotionTaskMotion BOOL Une opération MotionTask (tâche de mouvement) est en cours, par le bloc Lxm_StartMtask.

Référencé BOOL Le variateur est référencé (prise d’origine effectuée).Remarque : ce bit n’est pas pris en compte pour les variateurs de type ATVx.

Downloading BOOL Lorsque Downloading est TRUE, un téléchargement est en cours.

Disabled BOOL L’axe est désactivé.

Homing BOOL Lorsque Homing est TRUE :MC_HOME est en cours.Ou pour Lexium 05 / la sortie de MC_JOG de LimitSwitches est en cours.

35010606 07/2011 77

Page 78: 35010606_k01_000_07

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 :

Représentation en IL

Représentation :

LD Axis

CAL MC_HOME(AXIS:=Axis, EXEC:=Execute, HMT:=HType, POS:=Position, HMS:=Speed, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId)

78 35010606 07/2011

Page 79: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en ST

Représentation :

MC_HOME(AXIS:=Axis, EXEC:=Execute, HMT:=HType, POS:=Position, HMS:=Speed, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandA-borted, ERRID=>ErrorId);

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) :

NOTE : la valeur du type de prise d’origine est décrite dans le manuel de l’équipement à implémenter (pour le Lexium 15, consultez la rubrique traitant de la prise d’origine dans le manuel "Lexium communication CANopen").

Paramètre Type Commentaire

HType INT Type de prise d’origine.Pour Lexium 15MP. HType : si la valeur est définie sur -1 et aucune modification, le paramètre n’est pas transmis.

Position DINT Position en fin de prise d’origine.

Vitesse DINT Vitesse de prise d’origine.Si la valeur est définie sur 0 et aucune modification.

35010606 07/2011 79

Page 80: 35010606_k01_000_07

Bloc fonction de mouvement

LXM_GEARPOS

Description de la fonction

La fonction LXM_GEARPOS permet de synchroniser en position un axe esclave avec un axe maître selon un coefficient (ratio).

NOTE : une connexion physique au connecteur d’interface de commande du codeur auxiliaire (X5) entre les deux variateurs doit exister.

Représentation en FBD

Représentation

Représentation en LD

Représentation

80 35010606 07/2011

Page 81: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Slave

CAL LXM_GEARPOS(AXIS:=Axe, EXEC:=Execute, RN:=RatioNumerator, RD:=RatioDenominator, ERR=>Erreur, IS=>InSynch, B=>Occupé, ERRID=>ErrorId)

Représentation en ST

Représentation :

LXM_GEARPOS(AXIS:=Axe, EXEC:=Execute, RN:=RatioNumerator, RD:=RatioDenominator, ERR=>Erreur, IS=>InSynch, B=>Occupé, ERRID=>ErrorId);

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):

Calcul de la position esclave pour Lexium15MP

Calcul de la position esclave pour Lexium15LP

Paramètre Type Commentaire

Axe AXIS_REF Objet de type Axis_Ref (voir page 28), définissant l’équipement esclave.

RatioNumerator UINT Numérateur du ratio de synchronisation du mouvement (plage autorisée 1-32767 pour LXM05).

RatioDenominator UINT Dénominateur du ratio de synchronisation du mouvement.

35010606 07/2011 81

Page 82: 35010606_k01_000_07

Bloc fonction de mouvement

Description des paramètres de sortie

Le tableau suivant décrit le paramètre de sortie en complément des paramètres de base (voir page 33) :

Paramètre supplémentaire pour Lexium 05 et Lexium 32

Le tableau suivant décrit le paramètre supplémentaire pour Lexium 05 et Lexium 32 :

Paramètre Type Commentaire

InSynch BOOL InSync est TRUE lorsque la position de synchronisation par rapport au Maître est atteinte.Il reste TRUE tant que Execute est TRUE, même si l’axe s’est arrêté. (ne concerne pas Lexium 05/32).

Paramètre Type Commentaire

SyncMode BOOL SyncMode est un paramètre supplémentaire qui s’applique au Lexium05/32. L’accès à ce paramètre par les variables MC_ReadParameter ou MC_WriteParameter avant d’appeler MFB_Gear s’effectue grâce à la configuration suivante : Index =0, Sous-index=200 (numéro d’objet du paramètre).FAUX : synchronisation immédiate : l’automate de positionnement suit les impulsions de référence dès l’activation de l’engrenage. VRAI : synchronisation avec mouvement de compensation. A l’activation de l’engrenage, le moteur essaie de récupérer les impulsions accumulées.

82 35010606 07/2011

Page 83: 35010606_k01_000_07

Bloc fonction de mouvement

LXM_GearPosS

Description de la fonction

A l’instar de la fonction LXM_GearPos, la fonction LXM_GearPosS permet de synchroniser grâce à un coefficient (ou rapport) la position d’un axe esclave par rapport à un axe esclave. Elle permet également 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) entre les 2 variateurs doit exister.

Représentation en FBD

Représentation

Représentation en LD

Représentation

35010606 07/2011 83

Page 84: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Slave

CAL LXM_GearPosS(AXIS:=Axis, EXEC:=Execute, RN:=RatioNumerator, RD:=RatioDenominator, ERR=>Error, IS=>InSynch, B=>Busy, ERRID=>ErrorId)

Représentation en ST

Représentation :

LXM_GearPosS(AXIS:=Axis, EXEC:=Execute, RN:=RatioNumerator, RD:=RatioDenominator, ERR=>Error, IS=>InSynch, B=>Busy, ERRID=>ErrorId);

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) :

Dans Lexium 15LP/MPLa valeur 0 signifie “la valeur ne change pas”. Le paramètre défini dans le variateur n’est pas mis à jourLorsque l’une des valeurs d’entrée est hors-limite, le bloc signale l’erreur en utilisant la valeur de code d’erreur existante, à savoir la valeur 8 : AXIS_COMMAND_REFUSED

Paramètre Type Commentaire

Axe AXIS_REF Objet de type Axis_Ref (voir page 28), définissant l’équipement esclave.

RatioNumerator INT Numérateur du ratio de synchronisation du mouvement.

RatioDenominator INT Dénominateur du ratio de synchronisation du mouvement.

Valeurs autorisées Lexium 15MP/HP Lexium 05/32 Lexium 15LP

Plage de RatioNumerator

-32768,32767 -32768,32767. 1,32767.

Plage de RatioDenominator

1,32767 1,32767. -32768,32767.

84 35010606 07/2011

Page 85: 35010606_k01_000_07

Bloc fonction de mouvement

Calcul de la position esclave pour Lexium15MP

Calcul de la position esclave pour Lexium15LP

Description des paramètres de sortie

Le tableau suivant décrit le paramètre de sortie en complément des paramètres de base (voir page 33):

Paramètre supplémentaire pour Lexium 05 et Lexium 32

Le tableau suivant décrit le paramètre supplémentaire pour Lexium 05 et Lexium 32 :

Paramètre Type Commentaire

InSynch BOOL InSync est TRUE lorsque la position de synchronisation par rapport au Maître est atteinte.Il reste à TRUE tant que Execute est à TRUE, même si l’axe s’est arrêté. (ne concerne pas Lexium 05/32).

Paramètre Type Commentaire

SyncMode BOOL SyncMode est un paramètre supplémentaire qui s’applique au Lexium05/32. L’accès à ce paramètre par les variables MC_ReadParameter ou MC_WriteParameter avant d’appeler MFB_Gear s’effectue grâce à la configuration suivante : Index =0, Sous-index=200 (numéro d’objet du paramètre).FAUX : synchronisation immédiate : l’automate de positionnement suit les impulsions de référence dès l’activation de l’engrenage. VRAI : synchronisation avec mouvement de compensation. A l’activation de l’engrenage, le moteur essaie de récupérer les impulsions accumulées.

35010606 07/2011 85

Page 86: 35010606_k01_000_07

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 de l’automate.

NOTE : Avant d’exécuter cette fonction, le variateur doit être à l’état Disabled (voir page 29).

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

86 35010606 07/2011

Page 87: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL TE_UPLOADDRIVEPARAM(AXIS:=Axis, EXEC:=Execute, AxisParamDesc_xx:=ParameterList, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId, PDS:=ParameterSet, S=>Size, ERRNB=>ErrParamNumber)

Représentation en ST

Représentation :

CAL TE_UPLOADDRIVEPARAM(AXIS:=Axis, EXEC:=Execute, AxisParamDesc_xx:=ParameterList, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId, PDS:=ParameterSet, S=>Size, ERRNB=>ErrParamNumber)

Description des paramètres d’entrée

Le tableau suivant décrit le paramètre d’entrée en complément des paramètres de base (voir page 33):

NOTE : ParameterList doit être affecté à la variable ParamDesc provenant de la configuration de la recette de l’axe du répertoire Mouvement.

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):

NOTE : ParameterSet peut être affecté à la variable Recipe s’il n’y a qu’une recette déclarée pour l’axe.

Paramètre Type Commentaire

ParameterList ANY_ARRAY_UINT Liste de paramètres : adresse et longueur. ParameterList doit être affecté au tableau correspondant créé par le MTM.

Paramètre Type Commentaire

ParameterSet ANY_ARRAY_BYTE Buffer des paramètres. ParameterSet doit être affecté au tableau correspondant créé par le MTM.

Taille UINT Taille de ParameterSet en octets.

ErrParamNumber UDINT Numéros d’index et de sous-index en défaut

35010606 07/2011 87

Page 88: 35010606_k01_000_07

Bloc fonction de mouvement

TE_DOWNLOADDRIVEPARAM

Description de la fonction

La fonction TE_DOWNLOADDRIVEPARAM permet de transférer les paramètres d’un variateur préalablement sauvegardés dans la zone mémoire de l’automate réservée au variateur (pour un changement de production ou pour un remplacement de variateur défectueux).

NOTE : Avant d’exécuter cette fonction, le variateur doit être à l’état Disabled (voir page 29).

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

88 35010606 07/2011

Page 89: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL TE_DOWNLOADDRIVEPARAM(AXIS:=Axis, EXEC:=Execute, AxisParamDesc_xx:=ParameterList, PS=>ParameterSet, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId, ERRNB=>ErrParamNumber)

Représentation en ST

Représentation :

TE_DOWNLOADDRIVEPARAM(AXIS:=Axis, EXEC:=Execute, AxisParamDesc_xx:=ParameterList, PS=>ParameterSet, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId, ERRNB=>ErrParamNumber);

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) :

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

ParameterList ANY_ARRAY_UINT Liste de paramètres : adresse et longueur. ParameterList doit être affecté au tableau correspondant créé par le MTM.

ParameterSet ANY_ARRAY_BYTE Buffer des paramètres. ParameterSet doit être affecté au tableau correspondant créé par le MTM.

Paramètre Type Commentaire

ErrParamNumber UDINT Numéros d’index et de sous-index en défaut

35010606 07/2011 89

Page 90: 35010606_k01_000_07

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 directement dans la mémoire EEPROM du Lexium 15MP/LP/HP.

La fonction LXM_UPLOADMTASK permet d’enregistrer les paramètres des tâches de mouvement du variateur dans une zone mémoire de l’automate.

Cette fonction n’est applicable que pour le variateur Lexium 15MP/LP/HP.

NOTE : Avant d’exécuter cette fonction, le variateur doit être à l’état Disabled (voir page 29).

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

90 35010606 07/2011

Page 91: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL LXM_UPLOADMTASK(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId, PS:=ParameterSet, S=>Size)

Représentation en ST

Représentation :

LXM_UPLOADMTASK(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId, PS:=ParameterSet, S=>Size);

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

ParameterSet ANY_ARRAY_BYTE Tableau d’octets où sont enregistrées les tâches de mouvement (structure DDT). Ce tableau dépend du nombre de blocs fonction Mouvement (Motion Function Block) utilisés dans le projet.Pour le Lexium 17/15MP, le tableau d’octets est égal à :Nombre 12 + 27 MT x octetsPour le Lexium 15LP, le tableau d’octets est égal à :Nombre 12 +29 MT x octetsMT : Tâche de mouvement (Motion Task)

Taille UINT Taille du tableau d’octets correspondant au paramètre ParameterSet.

35010606 07/2011 91

Page 92: 35010606_k01_000_07

Bloc fonction de mouvement

LXM_DOWNLOADMTASK

Description de la fonction

La fonction LXM_DOWNLOADMTASK permet de charger une tâche de mouvement depuis la mémoire de l’automate vers le variateur.

Cette fonction n’est applicable que pour le variateur Lexium 15.

NOTE : Avant d’exécuter cette fonction, le variateur doit être à l’état Disabled (voir page 29).

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

92 35010606 07/2011

Page 93: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL LXM_DOWNLOADMTASK(AXIS:=Axis, EXEC:=Execute, PS:=ParameterSet, ERASE:=Eraseunused, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId)

Représentation en ST

Représentation :

LXM_DOWNLOADMTASK(AXIS:=Axis, EXEC:=Execute, PS:=ParameterSet, ERASE:=Eraseunused, ERR=>Error, DO=>Done, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId);

Description des paramètres d’entrée

Le tableau suivant décrit le paramètre 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 DDT).

Eraseunused BOOL Efface les tâches inutilisées.

35010606 07/2011 93

Page 94: 35010606_k01_000_07

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 :

94 35010606 07/2011

Page 95: 35010606_k01_000_07

Bloc fonction de mouvement

Représentation en IL

Représentation :

LD Axis

CAL LXM_STARTMTASK(AXIS:=Axis, EXEC:=Execute, MTNUM:=MTNumber, ERR=>Error, DO=>Done, AB=>CommandAborted, B=>Busy, ERRID=>ErrorId)

Représentation en ST

Représentation :

LXM_STARTMTASK(AXIS:=Axis, EXEC:=Execute, MTNUM:=MTNumber, ERR=>Error, DO=>Done, AB=>CommandAborted, B=>Busy, ERRID=>ErrorId);

Description des paramètres d’entrée

Le tableau suivant décrit le paramètre d’entrée en complément des paramètres de base (voir page 33) :

Paramètre Type Commentaire

MTNumber INT Numéro de la tâche ou de la séquence de mouvement.

35010606 07/2011 95

Page 96: 35010606_k01_000_07

Bloc fonction de mouvement

Unités et variateurs

Unités

Le tableau suivant vous permet de connaître les unités de vitesse, de position et rotation selon le variateur :

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/sec).

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*10000/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 (3000*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/10000.

PGearI est le numérateur de la résolution paramétré dans le variateur par Unilink.

Exemple :

La valeur du paramètre d’entrée VELOCITY du bloc MC_MOVEABSOLUTE est 3 000. La valeur de PGearI est 5 000. Punit est exprimé en µm.

K=5000/10000=0,5

La vitesse de l’axe est donc de 15 000 µm/s. (30 000*0,5).

Unités Lexium 15MP/HP/LP Icla ATV31 ATV71 Lexium 05 / Lexium 32

Emplacement 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/1000 du couple nominal

- 0,01 du couple nominal

0,01 du couple nominal

1/100 amp

96 35010606 07/2011

Page 97: 35010606_k01_000_07

Bloc fonction de mouvement

Equation de vitesse du Lexium 15 LP en modes position et vitesse

La nouvelle bibliothèque MFB de Unity Pro V3.0 prend en charge la nouvelle gamme de variateurs Lexium 15 compatibles avec la plate-forme d’automates M340 et PREMIUM.

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*4000) / 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 07/2011 97

Page 98: 35010606_k01_000_07

Bloc fonction de mouvement

Service Messaging

Introduction

Les blocs utilisant de la messagerie ralentissent le temps de cycle de l’automate car ils envoient des requêtes de type READ_VAR et WRITE_VAR au variateur.

Motion Function Block

Le tableau ci-dessous permet de savoir quels blocs utilisent le service de messagerie en fonction du type de variateur :

Nom du bloc Lexium 15MP/HP

Icla ATV31 ATV71 Lexium 05 / Lexium 32

Lexium15 LP

MC Jog W2024:7 W:3029:4W:3029:5W:3029:7W:3029:8

Sans objet Sans objet W:3029:4W:3029:5W:3029:7W:3029:8

Sans objet

MC_ReadActualPosition - R position - - - -

MC_ReadActualTorque - Sans objet R:2002:6 R:6077 R:301E:3 R:6077

MC_ReadActualVelocity - R velocity - - - -

MC_Stop R Stopstate - R Stopstate

R Stopstate

X R Stopstate

MC_TorqueControl W:2060 Sans objet Sans objet W:6071R:2002:39

Pas de SDO W:6071

MC_MoveAbsoluteMC_MoveRelativeMC_MoveAdditive

W ACC 6083:0W DEC 6084:0

W ACC 301D:1A

- - W ACC 6083:0W DEC 6084:0

W ACC 6083:0W DEC 6084:0

MC_ReadAxisError R 2070:16R 1002:0R 1003:1

R 301C:12R 301C:AR 3020:7

R 2029:16R 603F:0

R 2029:16R 603F:0

R 301C:8R 301C:CR 603F:0

R 385D:1R 1002:0R 1003:1

MC_Home W Hposition 607C:0W Hspeed 6099:1W HType 6098:0

W Hposition 3028:BW Hspeed 3028:4

- - W Hposition 3028:BW Hspeed 6099:1

W Hposition 607C:0W Hspeed 6099:1W HType 6098:0

Lxm_GearPosLxm_GearPosS

W GearI 3540:1W GearO 353E:1

Sans objet Sans objet Sans objet Pas de SDO W:3540:1W353E:1

98 35010606 07/2011

Page 99: 35010606_k01_000_07

Bloc fonction de mouvement

Lxm_DownloadMTask Equationf(MT) - - - - Equationf(MT)

Lxm_UploadMTask Equationf(MT) - - - - Equationf(MT)

Lxm_StartMTask Numéro de tâche - - - - Numéro de tâche

Remarques R : utilisation du service de messagerie READ_VARW : utilisation du service de messagerie WRITE_VARR 2029:16 : lecture d’un objet de type SDO d’index 2029 et de sous-index 16.

Nom du bloc Lexium 15MP/HP

Icla ATV31 ATV71 Lexium 05 / Lexium 32

Lexium15 LP

35010606 07/2011 99

Page 100: 35010606_k01_000_07

Bloc fonction de mouvement

Taille mémoire

Taille mémoire de la déclaration d’axe

Sans compter la recette, la taille de la mémoire utilisée au cours d’une déclaration d’axe AXIS_REF dans le répertoire Mouvement est de 240 octets.

Taille mémoire de la recette

Le tableau ci-dessous indique la taille mémoire (en nombre de mots) de différentes recettes.

Taille mémoire des blocs MFB pour la plate-forme Premium

Le tableau ci-dessous présente pour la plate-forme Premium l’espace mémoire (en octets) occupé dans les blocs MFB par différents éléments :

Equipement Taille de la première recette

Taille de la recette suivante, avec la version actuelle du microprogramme du variateur

Taille de la recette suivante, avec la version précédente du microprogramme de 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

Type de bloc MFP données par instance

code

CAN_HANDLER 336 15229

Lxm_DownloadMTask 112 3248

Lxm_GearPosS 112 3360

Lxm_GearPos 112 3296

Lxm_StartMTask 96 2528

Lxm_UploadMTask 96 2288

MC_TorqueControl 144 4336

100 35010606 07/2011

Page 101: 35010606_k01_000_07

Bloc fonction de mouvement

NOTE : Sur les anciens automates Premium (TSX571x4, TSX572x4, TSX573x4), la taille maximum du code utilisé par l’ensemble des EFB d’une même famille est limitée à 64 Ko. Vous devez vérifier que le poids du code utilisé par MFB dans votre application n’excède pas 64 Ko. L’application ne pourra être exécutée si ce poids est dépassé.

Taille mémoire des blocs MFB pour la plate-forme Modicon M340

Le tableau ci-dessous présente pour la plate-forme Modicon M340 l’espace mémoire (en octets) occupé dans les blocs MFB par différents éléments :

MC_Home 112 4686

MC_Jog 192 6784

MC_MoveAbsolute 144 4752

MC_MoveAdditive 144 3376

MC_MoveRelative 144 4096

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

Type de bloc MFP données par instance

code

Type de bloc MFP données par instance

code

Axis_ref 248

CAN_HANDLER 352 18992

Lxm_DownloadMTask 128 3032

Lxm_GearPos 128 3632

Lxm_GearPosS 128 3840

35010606 07/2011 101

Page 102: 35010606_k01_000_07

Bloc fonction de mouvement

Lxm_UploadMTask 110 2480

Lxm_StartMTask 86 2832

MC_TorqueControl 148 4816

MC_Home 136 4688

MC_Jog 160 7984

MC_MoveAbsolute 154 5056

MC_MoveAdditif 146 3552

MC_MoveRelatif 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

Type de bloc MFP données par instance

code

102 35010606 07/2011

Page 103: 35010606_k01_000_07

Unity Pro

35010606 07/2011

Annexes

Objet de ce chapitre

Cette section contient les annexes.

Contenu de cette annexe

Cette annexe contient les chapitres suivants :

Chapitre Titre du chapitre Page

A Codes et valeurs d’erreur 105

B Performances MFB 109

35010606 07/2011 103

Page 104: 35010606_k01_000_07

104 35010606 07/2011

Page 105: 35010606_k01_000_07

35010606 07/2011

A

Unity Pro

Codes et valeurs d’erreur

35010606 07/2011

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 Unity Pro, Communication, Bibliothèque de blocs) des automates Premium et Atrium, ou de la messagerie (voir Modicon M340 avec Unity Pro, CANopen, Manuel utilisateur) de l’automate M340. Pour plus de détails, utilisez le bloc MC_ReadAxisError (voir page 71) 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).

105

Page 106: 35010606_k01_000_07

Codes et valeurs d’erreur

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é.

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.

Error_Id (format décimal)

Signification

106 35010606 07/2011

Page 107: 35010606_k01_000_07

Codes et valeurs d’erreur

27 Erreur système immédiate au niveau de la messagerie (voir Unity Pro, Communication, Bibliothèque de blocs) de l’automate. Pour plus de détails, utilisez le bloc MC_ReadAxisError (voir page 71) 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.

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).

Error_Id (format décimal)

Signification

35010606 07/2011 107

Page 108: 35010606_k01_000_07

Codes et valeurs d’erreur

108 35010606 07/2011

Page 109: 35010606_k01_000_07

35010606 07/2011

B

Unity Pro

Performances MFB

35010606 07/2011

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 MP/HP

Lexium 15LP

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)

1 c 1 c 1 c 1 c X X

Délai entre 2 MC_MOVEABSOLUTE (1)

2 c 2 c + 3 ms+ TcMH

2 c + 1 ms+ TcLP

2 c X X

109

Page 110: 35010606_k01_000_07

Performances MFB

Délai entre 2 MC_MOVEABSOLUTE (seconde tâche de mouvement immédiatement après la première tâche de mouvement)

1 c + 0,5 ms 1 c + 3 ms+ TcMH

1 c + 1 ms+ TcLP

1 c + 0,5 ms X X

Délai d’interruption MC_MOVEABSOLUTE avec la même instance

1 c + 0,5 ms 1 c + 5 ms+ TcMH

1 c + 1 ms+ 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+ TcMH

1 c + 1 ms+ TcLP

1 c + 0,5 ms X X

Démarrage de la tâche de mouvement

X 1 c + 5 ms+ TcMH

1 c + 2 ms+ TcLP

X X X

Délai entre deux tâches de mouvement (1)

X 1 c + 5 ms+ TcMH

42 + TcLP X X X

Arrêt durant le mouvement 1 c + 0,5 ms 1 c + 1 ms+ TcMH

1 c + 2 ms+ TcLP

1 c + 0,5 ms X X

Changement de vitesse dans la même instance de MC_MOVEVELOCITY

1 c + 0,5 ms 1 c + 1 ms+ TcMH

1 c + 1 ms+ TcLP

1 c + 0,5 ms 1 c + 10 ms+ TcATV31

1 c + 5 ms+ TcATV71

Enregistrement des paramètres du variateur (TE_UPLOADDRIVEPARAM)

212 760 851 197 473 1283

Transfert des paramètres du variateur (TE_DOWNLOADDRIVEPARAM)

219 1239 1460 204 502 1329

Performances (ms)

Type de test Lexium 05/Lexium 32

Lexium 15 MP/HP

Lexium 15LP

Icla ATV31 ATV71

110 35010606 07/2011

Page 111: 35010606_k01_000_07

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

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’automateTcMH : 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)

Performances (ms)

Type de test Lexium 05/Lexium 32

Lexium 15 MP/HP

Lexium 15LP

Icla ATV31 ATV71

35010606 07/2011 111

Page 112: 35010606_k01_000_07

Performances MFB

112 35010606 07/2011

Page 113: 35010606_k01_000_07

Unity Pro

Glossaire

35010606 07/2011

Glossaire

0-9

%ISelon la norme CEI, %I indique un objet langage de type entrée TOR.

%IWSelon la norme CEI, %IW indique un objet langage de type entrée analogique.

%KWSelon la norme CEI, %KW indique un objet langage de type mot constante.

%MSelon la norme CEI, %M indique un objet langage de type bit mémoire.

%MWSelon la norme CEI, %MW indique un objet langage de type mot mémoire.

%QSelon la norme CEI, %Q indique un objet langage de type sortie TOR.

%QWSelon la norme CEI, %QW indique un objet langage de type sortie analogique.

35010606 07/2011 113

Page 114: 35010606_k01_000_07

Glossaire

A

ADDM_TYPECe type prédéfini est utilisé comme sortie pour la fonction ADDM. C’est un tableau ARRAY[0..8] OF Int. Vous pouvez le trouver dans la bibliothèque, dans la même famille que les EF qui l’utilisent.

ADDR_TYPECe type prédéfini est utilisé comme sortie pour la fonction ADDR. C’est un tableau ARRAY[0.0,5] OF Int. Vous pouvez le trouver dans la bibliothèque, dans la même famille que les EF qui l’utilisent.

ANL_INANL_IN est l’abréviation du type de données entrée analogique. Ce type est employé lors du traitement de valeurs analogiques. Les adresses %IW du module d’entrée analogique configuré, qui sont indiquées dans la liste des composants d’E/S, sont automatiquement affectées à des types de données et doivent par conséquent être occupées uniquement par des variables non affectées.

ANL_OUTANL_OUT est l’abréviation du type de données sortie analogique. Ce type est employé lors du traitement de valeurs analogiques. Les adresses %MW du module d’entrée analogique configuré, qui sont indiquées dans la liste des composants d’E/S, sont automatiquement affectées à des types de données et doivent par conséquent être occupées uniquement par des variables non affectées.

114 35010606 07/2011

Page 115: 35010606_k01_000_07

Glossaire

ANYUne hiérarchie existe entre les différents types de données. Dans les DFB, il est parfois possible de déclarer les variables pouvant contenir plusieurs types de valeurs. On utilise alors les types ANY_xxx.

La figure suivante décrit cette structure hiérarchisée :

35010606 07/2011 115

Page 116: 35010606_k01_000_07

Glossaire

ARRAYUn ARRAY est un tableau d’éléments de même type.

La syntaxe est la suivante : ARRAY [<limites>] OF <Type>

Exemple :

ARRAY [1..2] OF BOOL est un tableau à une dimension composé de deux éléments de type BOOL.

ARRAY [1..10, 1..20] OF INT est un tableau à deux dimensions composé de 10x20 éléments de type INT.

B

BCDBCD est l’abréviation du format Binary Coded Decimal (décimal codé en binaire).

Le format BCD permet de représenter des nombres décimaux compris entre 0 et 9 à l’aide d’un groupe de quatre bits (demi-octet).

Dans ce format, les quatre bits employés pour coder les nombres décimaux ont une plage de combinaisons inutilisée.

Exemple de codage BCD : Le nombre 2 450 est ainsi codé : 0010 0100 0101 0000

BOOLBOOL 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 possède l’une ou l’autre des valeurs suivantes : 0 (FALSE) ou 1 (TRUE).

Un bit extrait d’un mot est de type BOOL, par exemple : %MW10.4.

BYTELorsque 8 bits sont regroupés, on parle alors de BYTE (octet). La saisie d’un BYTE s’effectue soit en mode binaire, soit en base 8.

Le type BYTE est codé dans un format 8 bits qui, au format hexadécimal, s’étend de 16#00 à 16#FF.

116 35010606 07/2011

Page 117: 35010606_k01_000_07

Glossaire

C

CEI 61131-3Norme internationale : automates programmables

Partie 3 : langages de programmation

Conventions de désignation (identificateur)Un identificateur est une suite de lettres, de chiffres et de signes de soulignement commençant par une lettre ou un signe de soulignement (par exemple, le nom d’un type de bloc fonction, d’une instance, d’une variable ou d’une section). Les lettres accentuées (comme ö, ü, é et õ) peuvent être utilisées, sauf dans les noms de projet et DFB. Les signes de soulignement sont significatifs dans les identificateurs. Par exemple, A_BCD et AB_CD sont interprétés comme des identificateurs différents. L’utilisation de plusieurs soulignés consécutifs ou au début d’un identificateur est incorrecte.

Les identificateurs ne peuvent pas contenir d’espace. Ils ne distinguent pas les majuscules des minuscules. Par exemple, ABCD et abcd sont interprétés comme un seul et même identificateur.

Selon la norme CEI 61131-3, les chiffres initiaux ne sont pas autorisés dans les identificateurs. Cependant, vous pouvez les utiliser si vous cochez, dans la boîte de dialogue Outils → Options du projet, onglet Extensions de langage, la case Chiffres en début autorisés.

Les identificateurs ne peuvent pas être des mots clés.

D

DATELe type DATE, codé en BCD dans un format de 32 bits, contient les informations suivantes :

l’année codée dans un champ de 16 bits ;le mois codé dans un champ de 8 bits ;le jour codé dans un champ de 8 bits.

Le type DATE doit être saisi comme suit : D# <Année> - <Mois> - <Jour>

35010606 07/2011 117

Page 118: 35010606_k01_000_07

Glossaire

Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :

DATE_AND_TIMEVoir DT.

DBCDReprésentation d’un entier double au format double BCD.

Le format BCD (Binary Coded Decimal) est utilisé pour représenter des nombres décimaux compris entre 0 et 9 à l’aide d’un groupe de quatre bits.

Dans ce format, les quatre bits employés pour coder les nombres décimaux ont une plage de combinaisons inutilisée.

Exemple de codage DBCD : Le nombre 78 993 016est ainsi codé : 0111 1000 1001 1001 0011 0000 0001 0110

DDTDDT est l’abréviation de Derived Data Type (type de données dérivées).

Un type de données dérivées est un ensemble d’éléments de même type (ARRAY) ou de types différents (structure).

DFBDFB est l’abréviation de Derived Function Block (bloc fonction dérivé).

Les types DFB sont des blocs fonction programmables par l’utilisateur en langage ST, IL, LD ou FBD.

L’utilisation de ces types DFB dans une application permet :

de simplifier la conception et la saisie du programme ;d’accroître la lisibilité du programme ;de faciliter sa mise au point ;de diminuer le volume de code généré.

Elément Limites Commentaire

Année [1990,2099] Année

Mois [01,12] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

Jour [01,31] Pour les mois 01/03/05/07/08/10/12

[01,30] Pour les mois 04/06/09/11

[01,29] Pour le mois 02 (années bissextiles)

[01,28] Pour le mois 02 (années non bissextiles)

118 35010606 07/2011

Page 119: 35010606_k01_000_07

Glossaire

DINTDINT est l’abréviation du format Double INTeger (entier double) (codé sur 32 bits).

Les limites inférieure et supérieure sont les suivantes : -(2 puissance 31) à (2 puissance 31) -1.

Exemple :

-2147483648, 2147483647, 16#FFFFFFFF.

DTDT est l’abréviation de Date and Time (date et heure).

Le type DT, codé en BCD dans un format de 64 bits, contient les informations suivantes :

l’année codée dans un champ de 16 bits ;le mois codé dans un champ de 8 bits ;le jour codé dans un champ de 8 bits ;l’heure codée dans un champ de 8 bits ;les minutes codées dans un champ de 8 bits ;les secondes codées dans un champ de 8 bits.

NOTE : les 8 bits de poids faible ne sont pas utilisés.

Le type DT doit être saisi comme suit :

DT# <Année> - <Mois> - <Jour> - <Heure> : <Minutes> : <Secondes>

Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :

Champ Limites Commentaire

Année [1990,2099] Année

Mois [01,12] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

Jour [01,31] Pour les mois 01/03/05/07/08/10/12

[01,30] Pour les mois 04/06/09/11

[01,29] Pour le mois 02 (années bissextiles)

[01,28] Pour le mois 02 (années non bissextiles)

Heure [00,23] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

Minute [00,59] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

Seconde [00,59] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

35010606 07/2011 119

Page 120: 35010606_k01_000_07

Glossaire

DWORDDWORD est l’abréviation de Double Word (mot double).

Le type DWORD est codé dans un format de 32 bits.

Le tableau ci-dessous donne les limites inférieure/supérieure des bases qui peuvent être utilisées :

Exemples de représentation :

E

EBOOLEBOOL est l’abréviation du type Extended BOOLean (booléen étendu). Une variable de type EBOOL possède une valeur (0 pour FALSE ou 1 pour TRUE), mais également des fronts montants ou descendants et des fonctions de forçage.

Elle occupe un octet de mémoire.

L’octet contient les informations suivantes :

un bit pour la valeur ;un bit pour l’historique (chaque fois que l’objet change d’état, la valeur est copiée dans ce bit ) ;un bit pour le forçage (égal à 0 si l’objet n’est pas forcé, égal à 1 s’il est forcé).

La valeur par défaut de chaque bit est 0 (FALSE).

EFEF est l’acronyme de Elementary Function (fonction élémentaire).

Il s’agit d’un bloc, utilisé dans un programme, qui réalise une fonction logique prédéterminée.

Base Limite inférieure Limite supérieure

Hexadécimale 16#0 16#FFFFFFFF

Octale 8#0 8#37777777777

Binaire 2#0 2#11111111111111111111111111111111

Données Représentation dans l’une des bases

00000000000010101101110011011110 16#ADCDE

00000000000000010000000000000000 8#200000

00000000000010101011110011011110 2#10101011110011011110

120 35010606 07/2011

Page 121: 35010606_k01_000_07

Glossaire

Une fonction ne dispose pas d’informations sur l’état interne. Plusieurs appels de la même fonction à l’aide des mêmes paramètres d’entrée fournissent toujours les mêmes valeurs de sortie. Vous trouverez des informations sur la forme graphique de l’appel de fonction dans le « [bloc fonctionnel (instance)] ». Contrairement aux appels de bloc fonction, les appels de fonction comportent uniquement une sortie qui n’est pas nommée et dont le nom est identique à celui de la fonction. Dans FBD, chaque appel est indiqué par un [numéro] unique via le bloc graphique. Ce numéro est généré automatiquement et ne peut pas être modifié.

Vous positionnez et paramétrez ces fonctions dans votre programme afin d’exécuter votre application.

Vous pouvez également développer d’autres fonctions à l’aide du kit de développement SDKC.

EFBEFB est l’abréviation de Elementary Function Block (bloc fonction élémentaire).

Il s’agit d’un bloc, utilisé dans un programme, qui réalise une fonction logique prédéterminée.

Les EFB possèdent des états et des paramètres internes. Même si les entrées sont identiques, les valeurs des sorties peuvent différer. Par exemple, un compteur possède une sortie qui indique que la valeur de présélection est atteinte. Cette sortie est réglée sur 1 lorsque la valeur en cours est égale à la valeur de présélection.

ENEN correspond à ENable (activer) ; il s’agit d’une entrée de bloc facultative. Lorsque l’entrée EN est activée, une sortie ENO est automatiquement établie.

Si EN = 0, le bloc n’est pas activé, son programme interne n’est pas exécuté et ENO est réglé sur 0.

Si EN = 1, le programme interne du bloc est exécuté et ENO est réglé sur 1. Si une erreur survient, ENO reprend la valeur 0.

Si l’entrée EN n’est pas connectée, elle est automatiquement réglée sur 1.

ENOENO correspond à Error NOtification (notification d’erreur) ; il s’agit de la sortie associée à l’entrée facultative EN.

Si ENO est réglé sur 0 (car EN = 0 ou en cas d’erreur d’exécution) :l’état des sorties de blocs fonction reste identique à celui dans lequel elles étaient lors du dernier cycle de scrutation exécuté correctement ;la ou les sorties de la fonction, ainsi que les procédures, sont réglées sur 0.

35010606 07/2011 121

Page 122: 35010606_k01_000_07

Glossaire

F

FBDFBD est l’abréviation de Function Block Diagram (langage en blocs fonction).

FBD est un langage de programmation graphique qui fonctionne comme un logigramme. Par l’ajout de blocs logiques simples (ET, OU, etc.), chaque fonction ou bloc fonction du programme est représenté(e) sous cette forme graphique. Pour chaque bloc, les entrées se situent à gauche et les sorties à droite. Les sorties des blocs peuvent être liées aux entrées d’autres blocs afin de former des expressions complexes.

FFBTerme générique pour EF (fonction élémentaire), EFB (bloc fonction élémentaire) et DFB (bloc fonction dérivé).

FonctionVoir EF.

Fonction élémentaireVoir EF.

FTPFile Transfer Protocol (protocole de transfert de fichiers).

G

Global DataGlobal Data fournit un échange automatique de variables de données pour la coordination d’applications d’automates.

GRAYLe code Gray, ou « binaire réfléchi », permet de coder une valeur numérique développée en chaîne de configurations binaires pouvant être différenciées par le changement d’état d’un seul bit.

122 35010606 07/2011

Page 123: 35010606_k01_000_07

Glossaire

Ce code peut être utilisé, par exemple, pour éviter l’événement aléatoire suivant : en binaire pur, le changement de la valeur 0111 en 1000 peut produire des nombres aléatoires compris entre 0 et 1 000, étant donné que les bits ne changent pas tous de valeur simultanément.

Equivalence entre décimal, BCD et Gray :

H

HTTPProtocole de transfert hypertexte

I

ILIL est l’abréviation de Instruction List (liste d’instructions).

Ce langage est une suite d’instructions simples.

Il est très proche du langage d’assemblage utilisé pour programmer les processeurs.

Chaque instruction est composée d’un code instruction et d’un opérande.

INFUtilisé pour signifier qu’un nombre dépasse les limites autorisées.

Pour un nombre de type entier, les plages de valeurs (indiquées en gris) sont les suivantes :

Lorsqu’un résultat est :

inférieur à -3,402824e+38, le symbole -INF (pour -infini) est affiché ;supérieur à +3,402824e+38, le symbole INF (pour +infini) est affiché.

35010606 07/2011 123

Page 124: 35010606_k01_000_07

Glossaire

INTINT est l’abréviation du format single INTeger (entier simple) (codé sur 16 bits).

Les limites inférieure et supérieure sont les suivantes : -(2 puissance 15) à (2 puissance 15) -1.

Exemple :

-32768, 32767, 2#1111110001001001, 16#9FA4.

IODDTIODDT est l’abréviation 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.

J

JetonEtape active d’un SFC.

Jeton uniqueMode de fonctionnement d’un diagramme SFC pour lequel une seule étape peut être active à la fois.

L

Langage en blocs fonctionVoir FBD.

LDLD est l’abréviation de Ladder Diagram (langage à contacts).

LD est un langage de programmation représentant les instructions à exécuter sous forme de schémas graphiques très proches d’un schéma électrique (contacts, bobines, etc.).

124 35010606 07/2011

Page 125: 35010606_k01_000_07

Glossaire

M

Mot cléUn mot clé est une combinaison de caractères unique employée en tant qu’élément syntaxique d’un langage de programmation. (Voir la définition fournie à l’annexe B de la norme CEI 61131-3. Tous les mots clés utilisés dans Unity Pro et mentionnés dans la norme CEI 61131-3 sont répertoriés à l’annexe C de cette norme. Ils ne peuvent pas servir d’identificateurs [noms de variables, sections, types DFB, etc.] dans votre programme.)

MultijetonMode de fonctionnement d’un SFC. En mode multijeton, le SFC peut posséder plusieurs étapes actives simultanément.

N

NANUtilisé pour signifier que le résultat d’une opération n’est pas un nombre (NAN = Not A Number).

Exemple : calcul de la racine carrée d’un nombre négatif.

NOTE : la norme CEI 559 définit deux classes de NAN : le NAN silencieux (QNAN) et le NAN de signalisation (SNAN). Un QNAN est un NAN (Not a Number) avec un bit de fraction de poids fort tandis qu’un SNAN est un NAN sans bit de fraction de poids fort (numéro de bit 22). Les QNAN peuvent être propagés par la plupart des opérations arithmétiques sans générer d’exception. Quant aux SNAN, ils signalent en général une opération non valide lorsqu’ils sont utilisés en tant qu’opérandes dans des opérations arithmétiques (voir %SW17 et %S18).

P

Peer CopLe service Peer Cop est un mécanisme d’échange automatique entre des stations connectées sur le même segment Modbus Plus.

35010606 07/2011 125

Page 126: 35010606_k01_000_07

Glossaire

ProcédureLes procédures sont des vues techniquement fonctionnelles. L’unique différence par rapport aux fonctions élémentaires est que les procédures peuvent inclure plusieurs sorties et qu’elles prennent en charge le type de données VAR_IN_OUT. En apparence, les procédures ne sont pas différentes des fonctions élémentaires.

Les procédures sont un supplément à la norme CEI 61131-3.

R

REALLe type REAL (réel) est un type codé sur 32 bits.

Les plages de valeurs possibles sont illustrées dans la figure suivante :

Lorsqu’un résultat est :

compris entre -1,175494e-38 et 1,175494e-38, il est considéré comme étant un DEN ;inférieur à -3,402824e+38, le symbole -INF (pour -infini) est affiché ;supérieur à +3,402824e+38, le symbole INF (pour +infini) est affiché ;indéfini (racine carrée d’un nombre négatif), le symbole NAN est affiché.

NOTE : la norme standard CEI 559 définit deux classes de NAN : le NAN silencieux (QNAN) et le NAN de signalisation (SNAN). Un QNAN est un NAN (Not a Number) avec un bit de fraction de poids fort tandis qu’un SNAN est un NAN sans bit de fraction de poids fort (numéro de bit 22). Les QNAN peuvent être propagés par la plupart des opérations arithmétiques sans générer d’exception. Quant aux SNAN, ils signalent en général une opération non valide lorsqu’ils sont utilisés en tant qu’opérandes dans des opérations arithmétiques (voir %SW17 et %S18).

NOTE : lorsqu’un DEN (nombre non normalisé) est utilisé en tant qu’opérande, le résultat n’est pas significatif.

126 35010606 07/2011

Page 127: 35010606_k01_000_07

Glossaire

RéseauIl existe deux significations du terme réseau.

En LD : Un réseau est un ensemble d’éléments graphiques interconnectés. La portée d’un réseau est locale, par rapport à l’unité (la section) organisationnelle du programme dans laquelle le réseau est situé.Avec des modules de communication experts : Un réseau est un groupe de stations qui communiquent entre elles. Le terme réseau est également utilisé pour définir un groupe d’éléments graphiques interconnectés. Ce groupe constitue ensuite une partie d’un programme qui peut être composée d’un groupe de réseaux.

S

Scrutation d’E/SInterrogation continuelle des modules d’E/S afin de rassembler les bits de données et les informations d’état, d’erreur et de diagnostic. Ce processus permet de surveiller les entrées et les sorties de contrôle.

SFCSFC est l’abréviation de Sequential Function Chart (diagramme fonctionnel en séquence).

Le SFC permet de représenter graphiquement et de façon structurée le fonction-nement d’un automatisme séquentiel. Cette description graphique du comportement séquentiel de l’automatisme et des différentes situations qui en découlent s’effectue à l’aide de symboles graphiques simples.

SILNiveau d’intégrité de la sécurité

Les fonctions de sécurité sont exécutées dans le but de sécuriser un système, puis de le maintenir dans cet état. La norme IEC 61508 stipule 4 niveaux de performances de sécurité pour une fonction de sécurité. Ces niveaux sont appelés niveaux d’intégrité de la sécurité (SIL) et portent les numéros 1 (niveau le plus faible) à 4 (niveau le plus élevé). L’utilisation de l’automate de sécurité Quantum dans les applications SIL2, dans lesquelles l’état de sécurité est l’état de non-alimentation, est certifiée, comme dans un système d’arrêt d’urgence.

Vous pouvez recourir aux produits de sécurité de Schneider pour mettre au point une solution de redondance d’UC si vous souhaitez disposer d’un système de sécurité hautement disponible.

35010606 07/2011 127

Page 128: 35010606_k01_000_07

Glossaire

SNMPProtocole SNMP (Simple Network Management Protocol)

STST est l’abréviation de Structured Text (langage littéral structuré).

Le langage littéral structuré est un langage élaboré proche des langages de programmation informatiques. Il permet de structurer des suites d’instructions.

STRINGUne variable de type STRING est une chaîne de caractères ASCII. La longueur maximale d’une chaîne de caractères est de 65 534 caractères.

T

TIMELe type TIME exprime une durée en millisecondes. Codé sur 32 bits, ce type permet

d’obtenir des durées de 0 à 2 32-1 millisecondes.

Les unités du type TIME sont les suivantes : jours (d), heures (h), minutes (m), secondes (s) et millisecondes (ms). Une valeur littérale de type TIME est représentée par une combinaison des types précédents associés au préfixe T#, t#, TIME# ou time#.

Exemples : T#25h15m, t#14,7S, TIME#5d10h23m45s3ms

TIME_OF_DAYVoir TOD.

TODTOD est l’abréviation de Time Of Day (heure de la journée).

Le type TOD, codé en BCD dans un format de 32 bits, contient les informations suivantes :

l’heure codée dans un champ de 8 bits ;les minutes codées dans un champ de 8 bits ;les secondes codées dans un champ de 8 bits.

NOTE : les 8 bits de poids faible ne sont pas utilisés.

Le type Time Of Day doit être saisi comme suit : TOD# <Heure> : <Minutes> : <Secondes>

128 35010606 07/2011

Page 129: 35010606_k01_000_07

Glossaire

Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :

Exemple : TOD#23:59:45.

TOPO_ADDR_TYPECe type prédéfini est utilisé comme sortie pour la fonction READ_TOPO_ADDR. C’est un tableau ARRAY[0..4] OF Int. Vous pouvez le trouver dans la bibliothèque, dans la même famille que les EF qui l’utilisent.

U

UDINTUDINT est l’abréviation 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.

UDPUser Datagram Protocol (protocole datagramme utilisateur). UDP est un protocole Internet de communication sans connexion défini par l’IETF RFC 768. Il permet la transmission directe de datagrammes sur des réseaux IP. Les messages UDP/IP n’attendent pas de réponse et, de ce fait, ils sont particulièrement adaptés aux applications dans lesquelles aucune retransmission des paquets envoyés n’est nécessaire (comme dans la vidéo en continu ou les réseaux exigeant des performances en temps réel).

Champ Limites Commentaire

Heure [00,23] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

Minute [00,59] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

Seconde [00,59] Le 0 initial est toujours affiché; il peut être omis lors de la saisie.

35010606 07/2011 129

Page 130: 35010606_k01_000_07

Glossaire

UINTUINT 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.

V

Valeur littérale d’entierUne valeur littérale d’entier est utilisée pour saisir des valeurs de type entier dans le système décimal. Les valeurs peuvent être précédées d’un signe (+/-). Les signes de soulignement (_) séparant les nombres ne sont pas significatifs.

Exemple :

-12, 0, 123_456, +986

Valeur littérale de tempsLes unités du type TIME sont les suivantes : jours (d), heures (h), minutes (m), secondes (s) et millisecondes (ms). Une valeur littérale de type TIME est représentée par une combinaison des types précédents associés au préfixe T#, t#, TIME# ou time#.

Exemples : T#25h15m, t#14,7S, TIME#5d10h23m45s3ms

Valeur littérale en base 10Une valeur littérale en base 10 est utilisée pour représenter une valeur entière décimale. Cette valeur peut être précédée des signes « + » et « - ». Si le caractère « _ » est utilisé dans la valeur littérale, il n’est pas significatif.

Exemple :

-12, 0, 123_456, +986

130 35010606 07/2011

Page 131: 35010606_k01_000_07

Glossaire

Valeur littérale en base 16Une valeur littérale en base 16 est utilisée pour représenter un entier hexadécimal. La base est déterminée par le nombre « 16 » et le signe « # ». Les signes « + » et « - » sont interdits. Pour faciliter la lecture, vous pouvez utiliser le signe « _ » entre les bits.

Exemple :

16#F_F ou 16#FF (qui correspond au nombre décimal 255)

16#E_0 ou 16#E0 (qui correspond au nombre décimal 224)

Valeur littérale en base 2Une valeur littérale en base 2 est utilisée pour représenter un entier binaire. La base est déterminée par le nombre « 2 » et le signe « # ». Les signes « + » et « - » sont interdits. Pour faciliter la lecture, vous pouvez utiliser le signe « _ » entre les bits.

Exemple :

2#1111_1111 ou 2#11111111 (qui correspond au nombre décimal 255)

2#1110_0000 ou 2#11100000 (qui correspond au nombre décimal 224)

Valeur littérale en base 8Une valeur littérale en base 8 est utilisée pour représenter un entier octal. La base est déterminée par le nombre « 8 » et le signe « # ». Les signes « + » et « - » sont interdits. Pour faciliter la lecture, vous pouvez utiliser le signe « _ » entre les bits.

Exemple :

8#3_77 ou 8#377 (qui correspond au nombre décimal 255)

8#34_0 ou 8#340 (qui correspond au nombre décimal 224)

Valeur littérale réelleUne valeur littérale réelle est un nombre exprimé avec une ou plusieurs décimales.

Exemple :

-12,0, 0,0, +0,456, 3,14159_26

Valeur littérale réelle avec exposantNombre pouvant être exprimé à l’aide d’une notation scientifique standard. La représentation est alors la suivante : mantisse + exposant.

Exemple :

-1,34E-12 ou -1,34e-12

1,0E+6 ou 1,0e+6

1,234E6 ou 1,234e6

35010606 07/2011 131

Page 132: 35010606_k01_000_07

Glossaire

VariableEntité mémoire du type BOOL, WORD, DWORD, etc., dont le contenu peut être modifié par le programme en cours d’exécution.

Variable non affectéeVariable dont la position dans la mémoire de l’automate ne peut pas être connue. Une variable à laquelle aucune adresse n’a été associée est dite non affectée.

Variables affectéesVariable dont la position dans la mémoire de l’automate peut être connue. Par exemple, la variable Pression_eau est associée au repère %MW102. Pression_eau est dite affectée.

W

WORDLe type WORD est codé dans un format de 16 bits et est utilisé pour effectuer des traitements sur des chaînes de bits.

Le tableau ci-dessous donne les limites inférieure/supérieure des bases qui peuvent être utilisées :

Exemples de représentation

Base Limite inférieure Limite supérieure

Hexadécimale 16#0 16#FFFF

Octale 8#0 8#177777

Binaire 2#0 2#1111111111111111

Données Représentation dans l’une des bases

0000000011010011 16#D3

1010101010101010 8#125252

0000000011010011 2#11010011

132 35010606 07/2011

Page 133: 35010606_k01_000_07

Unity Pro

Index

35010606 07/2011

CBA

Index

AAXIS_REF, 28

CCAN_HANDLER, 37

Ddiagramme d’état, 29disponibilités des instructions, 23

Iinstructions

disponibilité, 23

LLexium - instructions

LXM_DOWNLOADMTASK, 92LXM_GEARPOS, 80LXM_GearPosS, 83LXM_STARTMTASK, 94LXM_UPLOADMTASK, 90

LXM_DOWNLOADMTASK, 92LXM_GEARPOS, 80LXM_GearPosS, 83LXM_STARTMTASK, 94LXM_UPLOADMTASK, 90

35010606 07/2011

MMC_HOME, 78MC_JOG, 67MC_MOVEABSOLUTE, 58MC_MOVEADDITIVE, 62MC_MOVERELATIVE, 60MC_MOVEVELOCITY, 65MC_POWER, 56MC_READACTUALPOSITION, 43MC_READACTUALTORQUE, 47MC_READACTUALVELOCITY, 45MC_READAXISERROR, 71MC_READPARAMETER, 39MC_READSTATUS, 75MC_RESET, 51MC_STOP, 53MC_TORQUECONTROL, 49MC_WRITEPARAMETER, 41

133

Page 134: 35010606_k01_000_07

Index

mouvement - instructionsCAN_HANDLER, 37MC_HOME, 78MC_MOVEABSOLUTE, 58MC_MOVEADDITIVE, 62MC_MOVERELATIVE, 60MC_MOVEVELOCITY, 65MC_POWER, 56MC_READACTUALPOSITION, 43MC_READACTUALVELOCITY, 45MC_READPARAMETER, 39MC_RESET, 51MC_STOP, 53MC_WRITEPARAMETER, 41TE_DOWNLOADDRIVEPARAM, 88TE_UPLOADDRIVEPARAM, 86

mouvement-instructionsMC_JOG, 67MC_READACTUALTORQUE, 47MC_READAXISERROR, 71MC_READSTATUS, 75MC_TORQUECONTROL, 49

Pparamètres de base, 33

TTE_DOWNLOADDRIVEPARAM, 88TE_UPLOADDRIVEPARAM, 86

134

35010606 07/2011