Skip to main content

Création de cinématiques personnalisées

Important

L'outil open source wkhtmltopdf est nécessaire pour générer la documentation de la cinématique à partir des commentaires du bloc fonction. Cependant, ce composant n'est plus inclus dans la configuration de CODESYS version 3.5 SP15 et supérieure.

Vous pouvez télécharger la DLL à partir de https://wkhtmltopdf.org/downloads.html. Créer un répertoire nommé DocScripting\3.5.xx.x\bin dans le répertoire d'installation de CODESYS et enregistrez le fichier wkhtmltox.dll là.

Attention : depuis wkhtmltox.dll ne prend plus en charge les images par défaut dans la version 0.12.6 et supérieure, vous devez utiliser la version 0.12.5 ou inférieure.

Important

Lorsqu'une instance d'une transformation cinématique d'un groupe d'axes est utilisée, les entrées de l'instance ne doivent plus être modifiées.

Pour modifier le paramétrage de la transformation cinématique, il faut utiliser la configuration si possible, ou créer plusieurs instances.

Lorsque vous créez une cinématique personnalisée, vous devez respecter les points suivants :

  • La cinématique est décrite par des blocs fonctionnels spéciaux qui peuvent être stockés dans des bibliothèques ou dans le POU vision du projet.

  • Pour CODESYS pour lister la cinématique dans le configurateur, les blocs fonctions associés doivent implémenter MC_KIN_REF_SM3 interface (partie de SM3_Transformation.library).

  • Vous pouvez définir une cinématique comme une combinaison de deux autres cinématiques. Les cinématiques avec possibilité de fixer des plaques à outils ou des outils doivent également mettre en œuvre les ISMPositionCinématique2 interface. Les cinématiques qui spécifient une plaque à outils ou un outil doivent mettre en œuvre les ISMToolKinematics2 interface.

    Si vous n'implémentez que ISMPositionKinematics / ISMToolKinematics à la place de ISMPositionKinematics2 / ISMToolKinematics2, les orientations "non disponibles" pourraient être traitées de manière incorrecte.

  • Lorsque vous implémentez également l'interface ISMPositionKinematics_Offset, vous pouvez utiliser le mode d'orientation Axis.

  • Lorsque le POU a le sm_kin_libdoc , le commentaire spécifié dans le bloc fonction est utilisé dans le configurateur comme description de la cinématique. Le formatage "Texte restructuré" est utilisé pour cela. Notez cependant que les liens ne sont pas pris en charge.

  • Les paramètres liés à la conception, tels que les longueurs et les angles des bras, sont créés en tant que variables VAR_INPUT du bloc fonctionnel. Vous devez commenter les paramètres car le commentaire sert de description dans le configurateur. Si les paramètres sont de type numérique et que leur plage de valeurs est restreinte, ils doivent alors être fournis avec le sm_kin_param_range attribut.

    La syntaxe de la plage de valeurs est [a .. b] pour les intervalles fermés et ]a .. b[ pour les intervalles ouverts. Les formulaires combinés ]a .. b] et [a .. b[ sont également possibles. Dans ce but, a et b doivent être des littéraux appropriés pour le type de paramètre. Les valeurs spéciales +inf et -inf sont possibles pour les limites d'intervalle ouvertes. Exemples: [0 .. 1], [1 .. +inf[, ]-inf .. -5].

    Les paramètres peuvent être de n'importe quel type numérique ou BOOL. Les paramètres doivent avoir une valeur initiale utilisée comme valeur par défaut. Vous pouvez spécifier l'unité du paramètre avec l'attribut facultatif sm_kin_param_unit (exemple : "rad", "°", "deg"). Vous devez utiliser l'unité "u" pour les longueurs et les distances. L'application et la mise à l'échelle des variateurs déterminent si ces unités sont "mm", "cm" ou "m".

  • Si aucune documentation de bibliothèque n'est disponible pour le bloc fonctionnel, le commentaire de l'élément FB est affiché aux emplacements respectifs comme option de secours.

  • La langue configurée dans CODESYS est la langue affichée pour la documentation LibDoc. Si une localisation n'est pas disponible dans cette langue, la langue par défaut de la bibliothèque est utilisée.

  • Les noms d'axes de la cinématique sont définis par l'attribut FB sm_kin_axes. La valeur de l'attribut est une liste de noms d'axes (exemple : "A1, A2, A3").

  • Une icône facultative est spécifiée avec l'attribut FB sm_kin_icon. La valeur est indiquée sous la forme <image pool>.<identifier>. Le pool d'images est spécifié par rapport au bloc fonctionnel.

  • Si vous créez un bloc fonction cinématique personnalisé avec des axes rotatifs (par exemple, Kin_Scara3_Z_Config), alors vous devez utiliser le concept de période pour ces axes et implémenter le ISMKinPeriodHandling interface. Pour les axes rotatifs, seule la transformation cinématique inverse (CartesianToAxes) est responsable du calcul de l'angle. Puis CODESYS SoftMotion décale automatiquement cet angle à la période correcte. Par exemple, si la transformation calcule un angle dans la plage ]-180°, 180°], alors CODESYS SoftMotion décale cet angle dans la plage [0°, 360°[, à condition que les limites logicielles de l'entraînement soient de 0° .. 360°. De plus, vous devez mettre en œuvre le ISMKinematicsWithConfiguration3 interface. C'est le seul moyen de s'assurer que la cinématique des mouvements CP fonctionne sans problème.

    Dans le cas d'une cinématique couplée avec une disposition irrégulière de la cinématique de position et d'orientation, vous devez implémenter la ISMCoupledKinematics3 interface. De cette manière, le système peut détecter si un axe pour la cinématique de position ou d'orientation appartient ou non au numéro d'axe respectif.

    Remarque : Vous devez implémenter le ISMKinematicWithConfigurations2.CPConnectible de manière à ce que les paramètres de période soient ignorés lors de la comparaison. Puis CPConnectible renvoie la valeur TRUE, même si le paramètre de période est différent.

Toutes les transformations inverses ont une entrée de type CONFIGDATA qui contient un tableau d'octets avec des informations sur la configuration de la cinématique. Les transformations directes ont une sortie correspondante. Les cinématiques avec une configuration doivent implémenter ISMKinematicWithConfigurations interface. Ces cinématiques comportent chacune un bloc fonction qui doit implémenter ISMConfigurationData interface (fonction de sérialisation des données de configuration). Le nom de ce bloc fonction doit être le même que celui de la cinématique plus le suffixe _config. Vous pouvez utiliser ce FB pour modifier la configuration dans l'application (à l'aide du bloc fonction SMC_SetKinConfiguration bloquer). Cependant, la cinématique ne doit contenir aucune instance du FB correspondant.

Astuce

Pour obtenir des instructions étape par étape, consultez le Cinématique personnalisée chapitre.