Les produits Omron sont conçus pour être utilisés par un utilisateur qualifié,
en respectant les procédures appropriées et uniquement aux fins précisées
dans le présent document.
Les conventions suivantes sont utilisées dans ce manuel pour indiquer
et catégoriser les précautions de sécurité. Lisez toujours attentivement
les informations fournies. Le non-respect de ces précautions peut entraîner
des blessures ou des dégâts matériels.
Définition des informations de sécurité
DANGER
Indique une situation dangereuse qui, si elle n’est pas évitée,
peut entraîner des blessures graves ou mortelles.
AVERTISSEMENT
Indique une situation potentiellement dangereuse qui, si elle n’est
pas évitée, peut provoquer des blessures graves ou mortelles.
/i
Attention
Indique une situation potentiellement dangereuse qui, si elle n’est
pas évitée, risque d’entraîner des blessures mineures ou modérées,
ou des dégâts matériels.
Marques et droits d’auteur
PROFIBUS est une marque déposée de PROFIBUS International.
MECHATROLINK est une marque déposée de Yaskawa Corporation.
DeviceNet est une marque déposée de Open DeviceNet Vendor Assoc Inc.
Révision 3.0
CIP est une marque déposée de Open DeviceNet Vendor Assoc Inc.
Trajexia est une marque déposée d’Omron.
Motion Perfect est une marque déposée de Trio Motion Technology Ltd.
Tous droits réservés. Aucune partie du présent manuel ne peut être reproduite, stockée
dans un système de restitution ou transmise, par quelque moyen que ce soit (mécanique,
électronique, photocopie, enregistrement ou autre) sans l’accord écrit préalable d’Omron.
Toute responsabilité concernant les brevets est exclue eu égard à l’utilisation des informations fournies dans le présent manuel. De plus, dans un souci d’améliorer la qualité de ses
produits, Omron se réserve le droit de modifier toute information contenue dans le présent
manuel sans avis préalable. Toutes les mesures de précaution ont été prises lors de la préparation du présent manuel. Omron n’assume toutefois aucune responsabilité quant aux
erreurs ou omissions éventuelles. En outre, Omron exclut toute responsabilité quant aux
dommages résultant de l’utilisation des informations fournies dans le présent manuel.
À propos de ce manuel
NomCat. No.Sommaire
Le présent manuel décrit l’installation et l’utilisation du système de contrôle
d’axes Trajexia.
Veuillez lire attentivement ce manuel et tous les manuels repris dans le tableau
suivant et vous assurer d’avoir bien compris les informations qu’ils contiennent
avant d’essayer d’installer ou d’utiliser les cartes de contrôle d’axes Trajexia.
Veillez à lire les consignes fournies dans la section suivante.
/i
NomCat. No.Sommaire
Système de contrôle
d’axes Trajexia GUIDE DE DÉMARRAGE
RAPIDE
Système de contrôle d’axes
Trajexia - MANUEL DE RÉFÉRENCE DU MATÉRIEL
Système de contrôle
d’axes Trajexia MANUEL DE
PROGRAMMATION
Manuel du servodriver de série
Sigma-II
Manuel du servodriver de série
JUNMA
Révision 3.0
Manuel JUSP-NS115SIEP C71080001Décrit l’installation et l’utilisa-
I50EFournit des informations
permettant de se familiariser
avec le système Trajexia
et décrit une configuration de
test visant à déplacer un seul
axe via MECHATROLINK-II.
I51EDécrit l’installation et les
caractéristiques matérielles
des cartes Trajexia. Explique
également la philosophie
du système Trajexia.
I52E
SIEP S800000 15
TOEP-C71080603 01-OY Décrit l’installation et l’utilisa-
Décrit les commandes BASIC
à utiliser pour programmer le
système Trajexia, explique les
protocoles de communication
et le logiciel Trajexia Tools,
fournit des exemples pratiques
et des informations de résolution des problèmes.
Décrit l’installation et l’utilisation
des servodrivers Sigma-II.
tion des servodrivers
JUNMA.
tion du module d’application
MECHATROLINK-II.
Manuel des servodrivers
Sigma-III avec interface
MECHATROLINK-II
Variateur V7TOEP C71060605 02-OY Décrit l’installation et l’utilisa-
Variateur F7ZTOE S616-55 1-OYDécrit l’installation et l’utilisa-
Variateur G7TOE S616-60Décrit l’installation et l’utilisa-
Interface MECHATROLINK SI-T
pour variateurs G7 et F7
Interface MECHATROLINK
ST-T/V7 pour variateurs V7
Modules d’E/S MECHATROLINK
Commandes de communication SYSMAC série CS/CJ
SIEP S800000 11Décrit l’installation et l’utilisa-
tion des servodrivers SigmaIII avec une interface
MECHATROLINK.
tion des variateurs V7.
tion des variateurs F7Z.
tion des variateurs G7.
SIBP-C730600-08Décrit l’installation et l’utilisa-
tion des interfaces MECHATROLINK pour les variateurs
G7 et F7.
SIBP-C730600-03
SIE C887-5
W342Décrit le protocole de com-
Décrit l’installation et l’utilisation
des interfaces MECHATROLINK pour les variateurs V7.
Décrit l’installation et l’utilisation
des modules d’entrées et de
sorties MECHATROLINK et du
répéteur MECHATROLINK-II.
munication FINS et les commandes FINS.
AVERTISSEMENT
L’utilisateur qui ne lit pas et ne comprend pas les informations
fournies dans le présent manuel s’expose à des blessures graves,
voire mortelles, et risque d’endommager le produit. Veuillez lire
chaque section dans son intégralité et vous assurer d’avoir compris
les informations fournies avant d’exécuter les procédures ou les
opérations indiquées.
MANUEL DE PROGRAMMATION3
Fonctions prises en charge par les versions
Lors du développement du système Trajexia, de nouvelles fonctionnalités
ont été ajoutées à la carte de contrôle après sa mise sur le marché.
Ces fonctionnalités sont mises en œuvre dans le firmware et/ou dans
le FPGA de la carte de contrôle.
Le tableau ci-dessous présente les fonctionnalités concernées en fonction
de la version du firmware et du FPGA du TJ1-MC__.
/i
FonctionnalitéVersion du firmware
du TJ1-MC__
Prise en charge complète
de la carte TJ1-FL02
Prise en charge des commandes BASIC FINS_COMMS
Prise en charge de la carte
TJ1-DRT
Prise en charge des cartes
TJ1-MC04 et
TJ1-ML04
1.650921 et ultérieure
1.6509Toutes les versions
1.6509Toutes les versions
1.660721 et ultérieure
Version du FPGA
du TJ1-MC__
Vérification la version du firmware et du FPGA du TJ1-MC__
Connectez le TJ1-MC__ au logiciel Trajexia Tools. Consultez le Manuel
de programmation.
Ouvrez la fenêtre de terminal et tapez les commandes suivantes :
Tapez
PRINT VERSION dans la fenêtre de terminal. Le paramètre de version
renvoie le numéro de version actuel du firmware pour le contrôleur d’axes.
Tapez
PRINT FPGA_VERSION SLOT(-1)
dans la fenêtre du terminal.
Ce paramètre renvoie le numéro de version actuel du FPGA pour le TJ1-MC__.
Révision 3.0
MANUEL DE PROGRAMMATION4
Sommaire
1Avertissements et précautions de sécurité..............................................................................................................................................16
1.3Précautions de sécurité ..................................................................................................................................................................................................................16
1.4Précautions liées à l’environnement d’utilisation ............................................................................................................................................................................17
1.5Précautions en matière d’application..............................................................................................................................................................................................18
1.6Précautions à prendre lors du montage de cartes..........................................................................................................................................................................21
2.1.2Présent manuel ................................................................................................................................................................................................................23
2.3.1Instructions liées aux axes, au système et aux tâches.....................................................................................................................................................24
2.3.3Structure des données et variables ..................................................................................................................................................................................25
2.4Exécution de mouvement ...............................................................................................................................................................................................................28
2.4.1Générateur de mouvement...............................................................................................................................................................................................28
2.4.3Chargement de mouvement .............................................................................................................................................................................................29
2.5Interface de ligne de commande ....................................................................................................................................................................................................30
2.6.1Gestion des programmes .................................................................................................................................................................................................30
2.6.2Compilation de programmes ............................................................................................................................................................................................31
2.6.3Exécution de programmes................................................................................................................................................................................................31
3.1.3Commandes et paramètres de communication ...............................................................................................................................................................36
3.1.5Commandes, fonctions et paramètres d’E/S ...................................................................................................................................................................36
3.1.6Fonctions et opérandes mathématiques ..........................................................................................................................................................................37
Révision 3.0
MANUEL DE PROGRAMMATION5
3.1.7Commandes de programme.............................................................................................................................................................................................37
3.1.8Commandes de contrôle de programme ..........................................................................................................................................................................38
3.1.9Paramètres et modificateurs d’emplacement ..................................................................................................................................................................38
3.1.10Commandes et fonctions système ...................................................................................................................................................................................38
3.1.12Commandes et paramètres de tâche ..............................................................................................................................................................................40
3.2Toutes les commandes BASIC.......................................................................................................................................................................................................41
3.2.14' (champ de commentaire)................................................................................................................................................................................................44
3.2.122 FLAG ................................................................................................................................................................................................................................84
3.2.133 GET ..................................................................................................................................................................................................................................88
3.2.134 GLOBAL ...........................................................................................................................................................................................................................89
3.2.137 HALT ................................................................................................................................................................................................................................90
3.2.170 MARK .............................................................................................................................................................................................................................106
3.2.175 MOD ...............................................................................................................................................................................................................................109
3.2.187 NEW ...............................................................................................................................................................................................................................117
3.2.190 NOT ................................................................................................................................................................................................................................118
3.2.192 OFF ................................................................................................................................................................................................................................118
3.2.194 ON ..................................................................................................................................................................................................................................119
3.2.197 OP ..................................................................................................................................................................................................................................119
3.2.199 OR ..................................................................................................................................................................................................................................120
3.2.204 PI ....................................................................................................................................................................................................................................122
3.2.211 PROCESS ......................................................................................................................................................................................................................125
3.2.258 TAN ................................................................................................................................................................................................................................144
3.2.267 TRON .............................................................................................................................................................................................................................146
3.2.272 UNTIL .............................................................................................................................................................................................................................147
3.2.274 VERSION .......................................................................................................................................................................................................................147
3.2.282 WAIT UNTIL ...................................................................................................................................................................................................................150
4Protocoles de communication.................................................................................................................................................................153
4.2.1Communication directe entre Trajexia et l’ordinateur .....................................................................................................................................................154
4.2.2Communication à distance avec Trajexia.......................................................................................................................................................................155
4.2.4Protocole serveur FINS .................................................................................................................................................................................................156
4.3.1Maître Host Link ............................................................................................................................................................................................................158
4.3.2Esclave Host Link ...........................................................................................................................................................................................................163
4.3.3Protocole défini par l’utilisateur ......................................................................................................................................................................................165
4.4.2Paramétrage de la communication.................................................................................................................................................................................167
4.4.3État de communication ...................................................................................................................................................................................................172
4.5.2Paramétrage de la communication.................................................................................................................................................................................173
4.5.3État de communication ...................................................................................................................................................................................................178
5.2Caractéristiques et connexions.....................................................................................................................................................................................................180
5.2.1Caractéristiques de l’ordinateur......................................................................................................................................................................................180
5.2.2Installation du logiciel Trajexia Tools..............................................................................................................................................................................181
Révision 3.0
MANUEL DE PROGRAMMATION13
5.2.3Connexion au TJ1-MC__................................................................................................................................................................................................186
5.3.2Fenêtre Check project (Vérifier un projet) .....................................................................................................................................................................192
5.4Fenêtre de l’application Trajexia Tools .........................................................................................................................................................................................194
Sommaire
5.4.1Panneau de commande .................................................................................................................................................................................................194
5.4.2Barre de menus..............................................................................................................................................................................................................194
5.5Description des menus ................................................................................................................................................................................................................196
5.5.3Menu Program (Programme)..........................................................................................................................................................................................203
5.5.7Menu Help (Aide)............................................................................................................................................................................................................224
6Exemples et conseils................................................................................................................................................................................ 225
6.1.2Paramètres de gain .......................................................................................................................................................................................................229
6.1.3Réglage du paramètre d’axe UNITS et du taux de réduction.........................................................................................................................................239
6.1.4Mappage des entrées et sorties de servodriver .............................................................................................................................................................251
6.1.7Traçabilité et surveillance...............................................................................................................................................................................................269
6.2.4Position avec détection de produit .................................................................................................................................................................................287
6.2.5Position sur une grille ....................................................................................................................................................................................................289
6.2.6Programme d’alimentation de sacs ...............................................................................................................................................................................291
6.2.7Table CAM dans un programme ...................................................................................................................................................................................293
6.2.8Programme pour cisaille volante ...................................................................................................................................................................................295
6.2.9Programme de correction ..............................................................................................................................................................................................298
7Résolution des problèmes.......................................................................................................................................................................300
7.1Tension et outils d’analyse ...........................................................................................................................................................................................................300
7.2.1Erreurs système .............................................................................................................................................................................................................300
7.2.3Erreurs de carte..............................................................................................................................................................................................................301
7.2.4Erreurs de configuration .................................................................................................................................................................................................302
7.2.5Remplacer la batterie .....................................................................................................................................................................................................302
7.3.1Erreurs système .............................................................................................................................................................................................................302
7.3.2Problèmes de communication de données d’E/S...........................................................................................................................................................303
7.4.1Erreurs système .............................................................................................................................................................................................................304
7.4.2Problèmes de communication de données d’E/S...........................................................................................................................................................304
7.5.1Erreurs système .............................................................................................................................................................................................................304
7.5.2Erreurs de bus................................................................................................................................................................................................................304
7.6.1Erreurs système .............................................................................................................................................................................................................305
Révision 3.0
MANUEL DE PROGRAMMATION15
Avertissements et précautions de sécurité
1Avertissements et précautions de sécurité
1.1Public visé
Ce manuel est destiné au personnel disposant d’une connaissance des systèmes
électriques (ingénieur électricien ou équivalent) et en charge de la conception,
de l’installation et de la gestion des systèmes et des installations d’automatisation.
AVERTISSEMENT
Ne court-circuitez jamais les bornes positives et négatives des batteries, ne chargez jamais les batteries, ne les démontez pas, ne les
déformez pas par l’application d’une force importante et ne les jetez
jamais au feu.
Les batteries risquent d’exploser, de brûler ou de couler.
1.2Précautions générales
L’utilisateur doit se servir du produit conformément aux caractéristiques
de performances décrites dans le présent manuel.
Avant d’utiliser ce produit dans des conditions non décrites dans ce manuel
ou d’appliquer le produit à des systèmes de contrôle nucléaire, des systèmes
ferroviaires, des systèmes aéronautiques, des véhicules, des équipements
de sûreté, des usines pétrochimiques et d’autres systèmes, machines
et équipements susceptibles d’avoir des conséquences graves pour la vie
et la propriété d’autrui en cas d’utilisation inadéquate, demandez conseil
à votre revendeur Omron.
1.3Précautions de sécurité
AVERTISSEMENT
N’essayez pas de démonter la carte et ne touchez pas aux composants internes lorsque l’appareil est sous tension.
Cela peut provoquer une décharge électrique.
AVERTISSEMENT
Ne touchez jamais les bornes ou borniers pendant que le système
est sous tension.
Révision 3.0
Cela peut provoquer une décharge électrique.
AVERTISSEMENT
Des mesures de sécurité doivent être prises par le client pour
garantir la sécurité dans le cas de signaux incorrects, manquants
ou anormaux dus à une rupture des lignes de signaux, à des interruptions momentanées de l’alimentation ou à d’autres causes.
Le non-respect de cet avertissement pourrait provoquer des accidents graves.
AVERTISSEMENT
Des circuits d’arrêt d’urgence, des circuits de verrouillage, des limiteurs et des mesures de sécurité similaires doivent être fournis par
le client en tant que circuits externes (c’est-à-dire, extérieurs au contrôleur d’axes Trajexia).
Le non-respect de cet avertissement pourrait provoquer des accidents graves.
AVERTISSEMENT
Lorsque la sortie 24 Vc.c. (alimentation d’E/S du TJ1) est surchargée ou court-circuitée, il peut y avoir une baisse de tension entraînant une désactivation des sorties. Pour se prémunir contre ce
type de problème, des mesures de sécurité externes doivent être
prises pour assurer la sécurité du système.
MANUEL DE PROGRAMMATION16
Avertissements et précautions de sécurité
Révision 3.0
AVERTISSEMENT
Les sorties TJ1 se désactivent en cas de surcharge des transistors
de sortie (protection). Pour se prémunir contre ce type de problème, des mesures de sécurité externes doivent être prises pour
assurer la sécurité du système.
AVERTISSEMENT
Le TJ1 désactive le WDOG lorsque la fonction d’autodiagnostic
détecte une erreur. Pour se prémunir contre ce type d’erreur,
des mesures de sécurité externes doivent être prises pour assurer
la sécurité du système.
AVERTISSEMENT
Prévoyez des mesures de sécurité pour les circuits externes (extérieurs au contrôleur d’axes Trajexia, également appelé « TJ1 ») afin
de garantir la sécurité du système si une anomalie se produit à la suite
d’un dysfonctionnement du TJ1 ou d’un autre facteur externe affectant
le fonctionnement du TJ1.
Le non-respect de cet avertissement pourrait provoquer des accidents graves.
AVERTISSEMENT
N’essayez jamais de démonter, de réparer ou de modifier les cartes.
Vous risquez de provoquer un dysfonctionnement, un incendie
ou une décharge électrique.
Attention
Assurez-vous de la sécurité de la carte de destination avant de transférer un programme vers une autre carte ou de modifier la mémoire.
Si vous exécutez l’une de ces opérations sans vérifier la sécurité,
vous risquez de vous blesser.
Attention
Les programmes utilisateur écrits sur la carte de contrôle d’axes
ne sont pas automatiquement sauvegardés dans la mémoire flash
du TJ1 (fonction de mémoire flash).
Attention
Prêtez particulièrement attention à la polarité (+/-) lors du raccordement de l’alimentation c.c. En effet, un raccordement incorrect
risque de faire dysfonctionner le système.
Attention
Serrez les vis du bornier de la carte d’alimentation en respectant
le couple spécifié dans le présent manuel.
Des vis mal serrées risquent de provoquer un incendie ou un dysfonctionnement.
1.4Précautions liées à l’environnement d’utilisation
Attention
N’utilisez pas la carte dans l’un des endroits suivants :
À défaut, vous risquez de provoquer un dysfonctionnement,
une décharge électrique ou un incendie.
-Endroits exposés à la lumière directe du soleil.
-Endroits soumis à des températures ou des taux d’humidité
en dehors des valeurs indiquées dans les spécifications.
-Endroits soumis à la condensation due à des variations importantes de température.
-Endroits en contact avec des gaz corrosifs ou inflammables.
-Endroits soumis à la poussière (en particulier, la limaille de fer)
ou au contact de sels.
-Endroits soumis à l’exposition d’eau, d’huile ou de produits
chimiques.
-Endroits soumis à des chocs ou à des vibrations importantes.
MANUEL DE PROGRAMMATION17
Avertissements et précautions de sécurité
Attention
Prenez les mesures qui s’imposent lors de l’installation des systèmes dans les endroits suivants.
Des mesures inadaptées et insuffisantes risquent d’entraîner
un dysfonctionnement.
-Endroits soumis à de l’électricité statique ou à d’autres formes
de parasites.
-Endroits soumis à des champs électromagnétiques intenses.
-Endroits susceptibles d’être exposés à de la radioactivité.
-Endroits à proximité de sources d’alimentation.
Attention
L’environnement d’utilisation du système TJ1 peut affecter fortement sa longévité et sa fiabilité.
Un environnement d’utilisation hostile peut provoquer des dysfonctionnements, des défaillances et d’autres problèmes imprévisibles au niveau du système TJ1.
Au moment de l’installation, assurez-vous que l’environnement d’utilisation est conforme aux conditions spécifiées et qu’il présente toujours
les mêmes conditions tout au long de la durée de vie du système.
1.5Précautions en matière d’application
AVERTISSEMENT
Ne démarrez pas le système avant d’avoir vérifié que les axes
sont présents et qu’ils sont du type approprié.
Le nombre d’axes flexibles change si des erreurs réseau MECHATROLINK-II se produisent lors du démarrage ou en cas de modification de la configuration du réseau MECHATROLINK-II.
Révision 3.0
AVERTISSEMENT
Vérifiez le fonctionnement du programme utilisateur avant
de l’exécuter sur la carte.
Le non-respect de cet avertissement risque de provoquer un fonctionnement inattendu.
Attention
Utilisez toujours la tension d’alimentation indiquée dans le présent
manuel.
Une tension incorrecte peut provoquer des dysfonctionnements
ou un incendie.
Attention
Prenez les mesures qui s’imposent pour vous assurer que la puissance indiquée est conforme à la tension et à la fréquence nominales. Soyez particulièrement prudent aux endroits où l’alimentation
électrique est instable.
Une alimentation électrique incorrecte peut provoquer des dysfonctionnements.
Attention
Installez des disjoncteurs externes et prenez également d’autres
mesures de sécurité contre les courts-circuits dans le câblage externe.
Des mesures de sécurité insuffisantes contre les courts-circuits
peuvent provoquer un incendie.
Attention
N’appliquez jamais une tension supérieure à la tension nominale
d’entrée aux cartes d’entrées.
Une tension excessive peut provoquer un incendie.
MANUEL DE PROGRAMMATION18
Avertissements et précautions de sécurité
Attention
N’appliquez pas de tension et ne connectez pas de charges aux cartes de sorties qui dépassent la capacité maximale de commutation.
Une tension ou une charge excessive peut provoquer un incendie.
Attention
Pendant les essais de tension de régime, débranchez la prise
de terre fonctionnelle.
À défaut, le système pourrait subir une surchauffe.
Attention
Effectuez toujours une mise à la terre de classe 3 (100Ω ou moins)
lors de l’installation des cartes.
L’absence de connexion à la terre de classe 3 peut provoquer une
décharge électrique.
Attention
Mettez toujours le système hors tension avant de tenter d’effectuer
l’une des opérations suivantes.
À défaut, vous risquez de provoquer un dysfonctionnement
ou de recevoir une décharge électrique.
-Montage ou démontage de cartes d’extension, de cartes UC
ou d’autres cartes.
-Assemblage des cartes.
-Réglage des interrupteurs DIP et des commutateurs rotatifs.
-Connexion des câbles.
-Branchement ou débranchement des connecteurs.
Attention
Assurez-vous que toutes les vis de montage, de borne et de connecteur de câble sont serrées au couple prescrit dans le présent manuel.
Un serrage avec un couple incorrect peut provoquer des dysfonctionnements.
Attention
Laissez l’étiquette de protection contre la poussière sur la carte
pendant le câblage.
À défaut, vous risquez de provoquer un dysfonctionnement.
Attention
Lorsque le câblage est terminé, enlevez l’étiquette de protection contre
la poussière pour assurer une bonne dissipation de la chaleur.
Si vous laissez cette étiquette, vous risquez de provoquer
un dysfonctionnement.
Attention
Utilisez des bornes serties pour le câblage. Ne raccordez pas
directement de fils toronnés nus à des bornes.
Le raccordement de fils toronnés nus peut provoquer un incendie.
Attention
Vérifiez encore une fois tout le câblage avant de procéder
à la mise sous tension.
Un câblage incorrect peut provoquer une surchauffe.
Attention
Révision 3.0
Effectuez correctement les connexions.
Un câblage incorrect peut provoquer une surchauffe.
MANUEL DE PROGRAMMATION19
Avertissements et précautions de sécurité
Attention
Installez la carte uniquement après avoir complètement vérifié
le bornier.
Attention
Vérifiez que les borniers, les câbles d’extension et les autres
éléments avec systèmes de verrouillage sont bien connectés.
Un verrouillage incorrect peut provoquer un dysfonctionnement.
Attention
Assurez-vous que le système ne sera pas perturbé avant d’en
modifier le mode de fonctionnement.
Le non-respect de cette précaution peut engendrer un fonctionnement intempestif.
Attention
Reprenez l’exploitation uniquement après avoir transféré dans
la nouvelle UC le contenu du VR et de la mémoire table nécessaire pour l’exploitation.
Le non-respect de cette précaution peut engendrer un fonctionnement intempestif.
Attention
Lorsque vous remplacez des pièces, vérifiez que les caractéristiques nominales des pièces neuves sont correctes.
Une différence risque de provoquer un dysfonctionnement
ou une surchauffe.
Attention
Avant de toucher le système, touchez d’abord un objet métallique
relié à la terre afin de vous décharger de toute électricité statique
qui aurait pu s’accumuler.
Le non-respect de cette consigne peut provoquer un dysfonctionnement ou des dommages.
Attention
Les câbles UTP ne sont pas blindés. Dans des environnements
exposés aux parasites, utilisez un système équipé d’un câble
blindé à paire torsadée (STP) et de concentrateurs correspondant
à un environnement FA.
Ne placez pas de câbles à paire torsadée avec des lignes haute
tension.
Ne placez pas de câbles à paire torsadée à proximité d’appareils
générant des parasites.
Ne placez pas de câbles à paire torsadée dans des endroits exposés à un taux d’humidité élevé.
Ne placez pas de câbles à paire torsadée dans des endroits exposés à une présence excessive de poussière et de salissure, à des
traces d’huile ou à d’autres contaminants.
Attention
Utilisez les câbles de raccordement dédiés spécifiés dans les
manuels d’utilisation pour connecter les cartes. L’utilisation
de câbles informatiques RS-232C disponibles dans le commerce
risque de provoquer des pannes des périphériques externes
ou de la carte de contrôle d’axes.
Révision 3.0
Attention
Ne tirez pas sur les câbles et ne les pliez pas au-delà des limites
qu’ils peuvent normalement supporter. Vous pourriez en effet casser les câbles.
MANUEL DE PROGRAMMATION20
Avertissements et précautions de sécurité
Attention
Les sorties peuvent rester activées à la suite d’un dysfonctionnement au niveau des sorties de transistor intégrées ou d’autres
circuits internes. Pour se prémunir contre ce type de problème,
des mesures de sécurité externes doivent être prises pour assurer
la sécurité du système.
Attention
Le TJ1 démarre en mode RUN à sa mise sous tension et lorsqu’un
programme BASIC est défini en mode d’exécution automatique
(Auto Run).
1.6Précautions à prendre lors du montage de cartes
Attention
Installez la carte correctement.
Toute installation incorrecte de la carte peut provoquer un dysfonctionnement.
Attention
Veillez à placer la carte de terminaison fournie avec le TJ1-MC__
sur la carte située la plus à droite.
Le TJ1 ne fonctionnera pas correctement en cas de montage
incorrect de la carte de terminaison.
Révision 3.0
MANUEL DE PROGRAMMATION21
Système Trajexia
2Système Trajexia
2.1Introduction
Trajexia est la plate-forme de contrôle d’axes d’Omron qui procure
les performances et la convivialité d’un système de contrôle d’axes
dédié.
Trajexia est un système modulaire autonome qui offre une
souplesse et une évolutivité optimales. Au cœur de Trajexia,
on retrouve le nouveau coordinateur multitâche TJ1. Optimisé
par un DSP 32 bits, il peut effectuer des tâches de contrôle d’axes
telles que la came électronique (e-cam), le réducteur électronique
(e-gearbox), le contrôle d’enregistrement et l’interpolation, le tout
à l’aide de commandes de contrôle simples.
Trajexia permet de contrôler jusqu’à 16 axes sur le bus d’axes
MECHATROLINK-II ou un contrôle analogique ou par impulsions
classique avec un contrôle indépendant de la position, de la vitesse
ou du couple de chaque axe. Par ailleurs, son puissant jeu
d’instructions d’axe permet une programmation intuitive et aisée.
Vous disposez d’un vaste choix de variateurs et de servodrivers
rotatifs, linéaires et à entraînement direct, qui se classent aux
meilleures places de leur catégorie. Enfin, le système est
extensible jusqu’à 16 axes et 8 variateurs et modules d’E/S.
IHM série NS
E/S numérique
Hostlink
MECHATROLINK-II
Fig. 1
API série CJCX-One
Trajexia Tools
Ethernet
Maître
PROFIBUS-DP
Maître
DEVICENET
Révision 3.0
MANUEL DE PROGRAMMATION22
Système Trajexia
2.1.1Matériel Trajexia
Le matériel Trajexia est décrit dans le Manuel de référence du matériel Trajexia.
Il est recommandé de commencer par lire ce Manuel de référence du matériel.
Le système Trajexia présente les avantages suivants :
Connectivité directe via Ethernet
Le port Ethernet intégré de Trajexia permet d’établir une connexion directe
et rapide vers des ordinateurs, des API, des IHM et d’autres périphériques.
En outre, il fournit un accès complet aux drivers via un bus de contrôle d’axes
MECHATROLINK-II. Ce connecteur autorise la transmission de messages
explicites via Ethernet et MECHATROLINK-II afin de garantir la transparence totale
jusqu’au niveau de l’actionneur. Il permet enfin de configurer un accès à distance.
Préservation de votre savoir-faire
La méthode de cryptage de Trajexia garantit la protection et la confidentialité
de votre précieux savoir-faire.
Port série et E/S locales
Un port série fournit la connectivité directe aux API, IHM et autres
périphériques de terrain Omron. Des entrées/sorties sont librement
configurables (16 entrées et 8 sorties) sur le contrôleur, ce qui vous
permet de personnaliser Trajexia en fonction de votre équipement.
Maître MECHATROLINK-II
Le maître MECHATROLINK-II permet de contrôler un maximum de
16 servos, variateurs ou E/S, tout en assurant une transparence complète
sur l’ensemble du système. MECHATROLINK-II offre la vitesse de
communication et la précision temporelle essentielles pour garantir un
parfait contrôle des axes des servos. Le temps de cycle de contrôle d’axes
peut être réglé sur différentes valeurs : 0,5 ms, 1 ms ou 2 ms.
Drivers et variateurs
Vous disposez d’un vaste choix de variateurs et de servodrivers rotatifs,
linéaires et à entraînement direct, qui répondent à tous vos besoins
en termes de compacité, de performances et de fiabilité. Les variateurs
raccordés au réseau MECHATROLINK-II sont pilotés au même rythme
de cycle de mise à jour que les servos.
E/S déportées
Les E/S du bus de contrôle d’axes MECHATROLINK-II permettent d’étendre
le système tout en regroupant les périphériques sur un seul bus de contrôle
d’axes.
PROFIBUS-DP
L’esclave PROFIBUS-DP permet d’établir la connexion avec le réseau
PROFIBUS sur la machine.
DeviceNet
L’esclave DeviceNet permet d’établir la connexion avec le réseau DeviceNet
sur la machine.
2.1.2Présent manuel
Ce Manuel de programmation fournit des informations dédiées relatives
aux éléments suivants :
•Description et utilisation des commandes BASIC
•Protocoles de communication nécessaires pour le système Trajexia
•Description et utilisation des éléments de l’interface Trajexia Tools
•Exemples de programmes et recommandations relatives à la programmation
•Résolution des problèmes et recherche de pannes
2.2Programmation BASIC multitâche
TJ1-FL02 (carte d’axe flexible)
La carte TJ1-FL02 assure un contrôle intégral de deux actionneurs via une
sortie analogique ou un train d’impulsions. Le module prend en charge les
Révision 3.0
principaux protocoles de codeur absolu afin d’établir la connexion d’un
codeur externe au système.
MANUEL DE PROGRAMMATION23
Les cartes TJ1-MC__ (cartes de contrôle d’axes) proposent une version
multitâche du langage de programmation BASIC. Le langage de contrôle
d’axes repose essentiellement sur des commandes BASIC à jetons et les
programmes sont compilés dans le format à jetons avant d’être exécutés.
Système Trajexia
La configuration et l’utilisation du multitâche sont très simples. En outre,
le multitâche permet de programmer des machines très complexes. Le TJ1-MC__
bénéficie ainsi d’un avantage significatif par rapport aux systèmes monotâche
équivalents. En effet, le multitâche permet de créer des applications modulaires
dans lesquelles il est possible de regrouper les processus liés logiquement dans un
même programme de tâche, ce qui simplifie l’architecture et la conception du code.
Le TJ1-MC__ peut contenir jusqu’à 14 programmes si la taille de la mémoire
l’autorise. L’exécution des programmes est déterminée par l’utilisateur
à l’aide de commandes BASIC.
Les commandes, fonctions et paramètres BASIC présentés dans cette
section figurent au chapitre 3.
2.3Programmation BASIC
Le langage BASIC est constitué, entre autres, de commandes, de fonctions
et de paramètres. Ces instructions BASIC représentent les unités
élémentaires fournies pour contrôler le fonctionnement du TJ1-MC__.
Une commande est un mot reconnu par le processeur qui permet d’effectuer
une action donnée, mais qui ne renvoie aucune valeur. Par exemple, PRINT
est un mot reconnu qui entraîne l’impression de la valeur des fonctions ou
variables qui suivent sur un périphérique de sortie donné.
Une fonction est un mot reconnu par le processeur qui permet d’effectuer une
action donnée et qui renvoie une valeur liée à cette action. Par exemple,
prend la valeur du paramètre correspondant et renvoie sa valeur absolue,
PRINT
ABS(-1)
pour générer
qui peut être utilisée par une autre fonction ou commande. Ainsi,
renvoie la valeur 1, qui peut être utilisée par la commande
une chaîne à transmettre à un périphérique donné, par exemple.
Un paramètre est un mot reconnu par le processeur qui contient une valeur
donnée. Cette valeur peut être lue et écrite, si elle n’est pas en lecture seule.
Les paramètres servent à déterminer et à surveiller le comportement
du système. Par exemple, ACCEL détermine le taux d’accélération d’un
mouvement pour un axe donné.
2.3.1Instructions liées aux axes, au système et aux tâches
Les commandes, fonctions et paramètres concernent les axes, les tâches
Révision 3.0
en cours d’exécution ou le système en général.
ABS
Instructions liées aux axes
Les commandes de contrôle d’axes et les paramètres d’axe s’appliquent à un
ou plusieurs axes. Les paramètres d’axe déterminent et contrôlent la réaction
d’un axe face aux commandes fournies et à l’environnement extérieur. Chaque
axe comporte un jeu de paramètres, de sorte que tous les axes puissent travailler
indépendamment les uns des autres. Les commandes de contrôle d’axes
permettent de contrôler simultanément un ou plusieurs axes, chaque axe
présentant un comportement qui lui est propre. À chaque démarrage,
les valeurs par défaut des paramètres d’axe sont rétablies.
Les commandes et paramètres fonctionnent sur un ou plusieurs axes
de base spécifiés par la commande BASE, qui sert à modifier ce groupe
d’axes de base. Chaque tâche est associée à un groupe donné qui peut
être modifié à tout moment. L’axe de base par défaut est 0.
Il est également possible de programmer des commandes ou des paramètres
d’axe individuel afin de travailler sur un axe de base temporaire. Pour cela, il suffit
AXIS
d’inclure la fonction
de l’axe. Un axe de base temporaire n’est valable que pour la commande
ou le paramètre qui précède
en tant que modificateur de la commande dépendante
AXIS
.
Instructions liées aux tâches
Les paramètres de tâche ne concernent qu’une seule tâche. Ils permettent
de contrôler la tâche, par exemple à des fins de traitement des erreurs.
Le modificateur
PROC
Si
La commande
utilisée avec le modificateur
n’est pas spécifié, c’est la tâche actuelle qui est prise en compte.
PROC
BASE
permet d’accéder au paramètre d’une tâche donnée.
(voir ci-dessus) est spécifique d’une tâche et peut être
PROC
.
Instructions liées au système
Ces instructions concernent les fonctionnalités liées à l’ensemble du système.
Il s’agit essentiellement de toutes les instructions n’appartenant pas aux deux
premiers groupes.
2.3.2Zones mémoire
Trois zones mémoire principales sont identifiables sur la carte de contrôle
d’axes Trajexia :
•Mémoire E/S
•Mémoire VR
•Mémoire TABLE
MANUEL DE PROGRAMMATION24
Système Trajexia
Mémoire E/S
La mémoire E/S sert à stocker l’état des périphériques d’entrée et de sortie
connectés au système Trajexia. Elle est divisée en deux zones secondaires :
une pour la mémoire E/S numérique et une autre pour la mémoire E/S
analogique. La mémoire E/S numérique contient l’état d’entrée et de sortie des
périphériques d’E/S numériques. Sa capacité est de 256 bits (points d’entrée)
pour les entrées et de 256 bits (points de sortie) pour les sorties. Les entrées de
cette mémoire sont accessibles à l’aide de la commande
OUT
sont accessibles à l’aide de la commande
La mémoire E/S analogique contient les valeurs d’entrée et de sortie des
périphériques d’E/S analogiques. Sa capacité est de 36 canaux d’entrée et de
36 canaux de sortie. Les canaux d’entrée analogiques sont accessibles à l’aide
de la commande
accessibles à l’aide de la commande
AIN
, tandis que les canaux de sortie analogiques sont
AOUT
.
.
IN
, tandis que les sorties
Mémoire VR
La mémoire VR est généralement utilisée si des données ou des valeurs
doivent être définies de manière globale, c’est-à-dire qu’elles doivent être
accessibles simultanément à partir de tous les programmes du projet. La taille
de cette mémoire est de 1024 emplacements avec des indices de 0 à 1023.
L’adresse d’un emplacement mémoire est définie à l’aide de la macro
où
x
correspond à l’indice de l’emplacement mémoire VR. La mémoire VR est
accessible en lecture et en écriture. L’écriture est effectuée en réalisant une
=
affectation mathématique à l’aide de la commande
Le contenu de cette mémoire est placé dans la mémoire RAM alimentée
par batterie et est préservé lors de la mise sous tension. La mémoire VR est
également préservée lors du remplacement de la batterie, si cette opération
est effectuée rapidement.
dans le programme.
VR(x)
Mémoire TABLE
La mémoire TABLE est généralement utilisée si des données ou des valeurs doivent
être définies de manière globale, c’est-à-dire qu’elles doivent être accessibles
simultanément à partir de tous les programmes du projet. La mémoire VR est
utilisée à des fins similaires pour définir plusieurs données et valeurs globales.
Toutefois, la mémoire TABLE est utilisée pour des volumes de données globales
Révision 3.0
plus importants et qui doivent également être disposés dans un ordre spécifique.
Par conséquent, la mémoire TABLE sert généralement à stocker des données
TABLE, des profils de mouvement, des données de journalisation, etc. Certaines
commandes BASIC qui fournissent ce type et cette taille de données (
CAM, CAMBOX
leurs résultats. La taille de cette mémoire est de 64000 emplacements avec des
indices de 0 à 63999. La mémoire TABLE est également accessible en lecture et en
écriture, mais le mode d’accès diffère pour ces deux opérations. Pour pouvoir être lu,
un emplacement donné de la mémoire TABLE doit d’abord être défini et écrit à l’aide
de la commande
premier emplacement de la mémoire TABLE à définir, et
correspondent aux valeurs écrites dans la mémoire TABLE aux indices x, x+1, etc.
Une fois défini et écrit, l’emplacement de la mémoire TABLE peut être lu à l’aide
de la commande
TABLE. Toute tentative de lecture d’un emplacement mémoire TABLE non défini
entraîne une erreur signalée par le TJ1-MC__. Le contenu de la mémoire TABLE
placé dans la mémoire RAM alimentée par batterie et est préservé lors de la mise
sous tension. La mémoire TABLE est également préservée lors du remplacement
de la batterie, si cette opération est effectuée rapidement.
, etc.) nécessitent l’utilisation de la mémoire TABLE pour écrire
TABLE(x, valeur1, valeur2,…)
TABLE(x)
, où x correspond à l’indice de l’emplacement mémoire
, où x correspond à l’indice du
valeur1, valeur2
SCOPE
,
, etc.,
2.3.3Structure des données et variables
Les programmes BASIC peuvent stocker des données numériques dans
,
différents types de variables. Certaines variables contiennent des fonctions
prédéfinies, comme les paramètres liés aux axes et au système, tandis que
d’autres variables peuvent être définies en fonction des besoins du
programmeur. Cette section explique les variables TABLE, globales
et locales du TJ1-MC__. Elle décrit également l’utilisation des labels.
Variables TABLE
La mémoire TABLE est une structure tabulaire qui contient une série de
nombres. Ces nombres servent, par exemple, à spécifier des positions dans
le profil pour une commande CAM ou CAMBOX. Ils peuvent également être
utilisés pour stocker des données pour une utilisation ultérieure, par
exemple pour stocker des paramètres servant à définir une pièce à traiter.
Les variables TABLE sont communes à toutes les tâches du TJ1-MC__.
Ainsi, les valeurs écrites dans la mémoire TABLE à partir d’une tâche
peuvent être lues sur les autres tâches.
Les valeurs TABLE peuvent être écrites et lues à l’aide de la commande
TABLE. La longueur maximale du tableau est de 64 000 éléments,
de TABLE(0) à TABLE(63999). Le tableau TABLE est initialisé jusqu’à
l’élément défini le plus élevé.
MANUEL DE PROGRAMMATION25
Système Trajexia
Variables globales
Définies dans la mémoire VR, les variables globales sont communes à toutes
les tâches du TJ1-MC__. Ainsi, si un programme exécuté sur la tâche 2 définit
VR(25) sur une valeur donnée, tout autre programme exécuté sur une autre
tâche peut lire cette valeur à partir de VR(25). Cela peut s’avérer utile pour
synchroniser plusieurs tâches, mais vous devez rester prudent afin d’éviter
que plusieurs programmes n’écrivent simultanément dans la même variable.
Le contrôleur contient 1024 variables globales, VR(0) à VR(1023). Les variables
VR
sont lues et écrites à l’aide de la commande
.
Les données TABLE et VR sont accessibles à partir des
différentes tâches en cours d’exécution. En cas d’utilisation de variables VR ou TABLE, veillez à n’utiliser qu’une
seule tâche pour écrire dans une variable spécifique.
Vous éviterez ainsi les problèmes liés à l’écriture inattendue de deux tâches de programme dans une variable.
Variables locales
Des variables nommées, ou variables locales, peuvent être déclarées dans
des programmes. Il s’agit de variables locales à la tâche, ce qui signifie que
plusieurs programmes exécutés sur des tâches différentes peuvent utiliser
le même nom de variable, mais leurs valeurs peuvent être différentes. Les
variables locales ne peuvent pas être lues à partir des tâches, à l’exception
de celle dans laquelle elles sont déclarées. Les variables locales sont
toujours effacées au lancement d’un programme. Il est possible de les
effacer à l’aide de la commande CLEAR ou RESET.
Un maximum de 255 variables locales peuvent être déclarées. Seuls les
16 premiers caractères du nom sont importants. Les variables locales non
définies renvoient la valeur zéro. Il est impossible de déclarer des variables
locales dans la ligne de commande.
Utilisation des variables et des labels
Chaque tâche possède ses propres labels et variables locaux. Prenons
par exemple les deux programmes suivants :
/i
start:
FOR a = 1 to 100
MOVE(a)
WAIT IDLE
NEXT a
GOTO start
Lorsqu’ils sont exécutés sur des tâches différentes, ces deux programmes
possèdent leur propre version de la variable a et du label start.
Si vous souhaitez conserver des données communes entre plusieurs
programmes, vous devez utiliser des variables VR. Si le volume des
données à conserver est important, vous pouvez utiliser la mémoire TABLE.
Pour qu’un programme soit plus lisible lors de l’utilisation d’une variable VR
globale, deux approches sont possibles. La première consiste à utiliser une
variable locale nommée en tant que constante de la variable VR. Toutefois,
la variable constante locale doit être déclarée dans chaque programme
à l’aide de la variable VR globale. En fonction de cette approche, l’exemple
ci-dessous indique comment utiliser la variable VR(3) afin qu’elle contienne
un paramètre de longueur (length) commun à plusieurs programmes :
Les programmes BASIC sont exécutés dans l’ordre décroissant via les lignes.
Des labels peuvent être utilisés pour modifier ce flux d’exécution à l’aide des
Révision 3.0
commandes BASIC
correspondre à la première instruction d’une ligne et doit se terminer par le signe
deux-points (:). Un label peut être une chaîne de caractères de longueur indéfinie,
GOTO
et
GOSUB
. Pour pouvoir être défini, un label doit
Initial:
length = 3
RETURN
La seconde approche est plus lisible et utilise la commande GLOBAL pour
déclarer le nom en tant que référence à l’une des variables VR globales.
Ce nom peut ensuite être utilisé à partir du programme qui contient la
Initial:
length = 3
RETURN
mais seuls les 15 premiers caractères sont importants.
MANUEL DE PROGRAMMATION26
Système Trajexia
définition GLOBAL et tous les autres programmes. N’oubliez pas que
le programme qui contient la définition GLOBAL doit être exécuté avant que
le nom soit utilisé dans d’autres programmes. Il est recommandé de définir
des noms globaux dans le programme de démarrage. En fonction de cette
approche, l’exemple ci-dessus se présente comme suit :
/i
'Déclaration dans le programme de démarrage
GLOBAL length, 3
'Dans les autres programmes exécutés aprčs le programme
de démarrage
start:
length = x
...
...
start:
MOVE(length)
PRINT(length)
...
2.3.4Spécifications mathématiques
Format des nombres
Le TJ1-MC__ prend en charge deux formats principaux pour les valeurs
numériques : virgule flottante à simple précision et nombre entier à simple précision.
Le format virgule flottante simple précision correspond à une valeur
de 32 bits en interne. Elle comporte un champ d’exposant de 8 bits, un bit
de signe et un champ de fraction de 23 bits avec la valeur 1 implicite en tant
que 24ème bit. Les nombres à virgule flottante doivent être compris dans
la plage de ±5,9×10
Les nombres entiers sont essentiellement des nombres à virgule flottante
avec un exposant zéro, ce qui implique qu’ils correspondent à 24 bits.
La plage de nombres entiers est comprise entre -16 777 216 et 16 777 215.
Les valeurs numériques non comprises dans cette plage sont des nombres
à virgule flottante.
Tous les calculs mathématiques sont effectués au format
Révision 3.0
virgule flottante. Ainsi, pour les calculs impliquant des
valeurs élevées, la précision des résultats risque d’être
limitée. L’utilisateur doit tenir compte de ce fait lors du
développement de l’application de contrôle d’axes.
−39
à ±3,4×1038.
Format hexadécimal
Le TJ1-MC__ prend en charge l’affectation et l’impression de valeurs
hexadécimales. Un nombre hexadécimal est entré en lui ajoutant le
caractère $ comme préfixe. La plage valide s’étend de -0x0 à 0xFFFFFF.
Exemple :
>> VR(0) = $FF
>> PRINT VR(0)
255.0000
Il est possible d’afficher une valeur au format hexadécimal à l’aide de la fonction
HEX
. Les valeurs négatives entraînent des valeurs hexadécimales à complément 2
En ce qui concerne le positionnement, le TJ1-MC__ effectue un arrondi si la
distance fractionnaire du front du codeur dépasse la valeur 0,9. Sinon, la fraction
est arrondie vers le bas. La position mesurée et la position demandée internes
des axes, représentées par les paramètres d’axe
MPOS
et
DPOS
, possèdent
des compteurs 32 bits.
Comparaison à virgule flottante
Afin d’éviter les résultats de comparaison inattendus, la fonction de
comparaison considère que des valeurs séparées par un faible écart sont
égales. Par conséquent, deux valeurs dont l’écart est inférieur à 1,19×10
−6
sont considérées comme étant égales.
Ordre de priorité
L’ordre de priorité des opérateurs est indiqué ci-dessous :
1. Moins unaire, NOT
2. ^
3. / *
4. MOD
5. + -
6. = <> > >= <= <
7. AND OR XOR
8. Gauche à droite
MANUEL DE PROGRAMMATION27
Système Trajexia
Pour garantir l’ordre de priorité des différents opérateurs,
il est recommandé d’utiliser des parenthèses.
2.4Exécution de mouvement
Chaque tâche du TJ1-MC__ est associée à un ensemble
de tampons qui contiennent les informations provenant des
commandes de mouvement fournies.
2.4.1Générateur de mouvement
Le générateur de mouvement comporte deux tampons
de mouvement pour chaque axe. Un tampon, appelé MTYPE,
contient le mouvement réel, c’est-à-dire le mouvement
actuellement exécuté sur l’axe. L’autre tampon, appelé NTYPE,
contient le mouvement suivant, exécuté après le mouvement réel.
Pour obtenir des informations détaillées, reportez-vous au chapitre 2.8
« Tampons de contrôle » du Manuel de référence du matériel.
Les programmes BASIC sont distincts du programme du générateur
de mouvement, qui contrôle les mouvements des axes. Le générateur
de mouvement dispose de fonctions distinctes pour chaque axe. Ainsi,
il est possible de programmer chaque axe en fonction de paramètres
d’axe qui lui sont propres (par exemple, vitesse, accélération) et de
le déplacer de manière indépendante et simultanée. Par ailleurs,
des commandes spéciales permettent de relier des axes.
Lors du traitement d’une commande de mouvement, le générateur
de mouvement attend que le mouvement soit terminé et que
le tampon de l’axe soit vide, puis charge les informations sur
le mouvement suivant dans les tampons.
Révision 3.0
MANUEL DE PROGRAMMATION28
Système Trajexia
Si les tampons de tâches sont saturés, l’exécution du
programme est interrompue jusqu’à ce que les tampons
soient à nouveau disponibles. Ce principe concerne également la tâche de ligne de commande et aucune commande ne peut être générée pendant cette période.
Le cas échéant, Trajexia Tools se déconnecte. Le paramètre de tâche PMOVE prend la valeur TRUE si les tampons de tâches sont saturés et la valeur FALSE lorsque
ces tampons sont à nouveau disponibles.
2.4.2Séquençage
À chaque interruption du cycle de servo (voir la section 2.6.3),
le générateur de mouvement examine les tampons NTYPE pour
déterminer leur disponibilité. Si un tampon est disponible, il contrôle
les tampons de tâches pour savoir si un mouvement est en attente
de chargement. Si un mouvement peut être chargé, les données
correspondant à tous les axes spécifiés sont chargées des
tampons de tâches vers les tampons NTYPE et les tampons
de tâches correspondants sont marqués comme inactifs.
Ce processus est appelé « séquençage ».
Fig. 2
Tampons de tâches
Tâche 1
MOVECIRC(..) AXIS(0)
FORWARD AXIS(1)
Tâche 2
Tâche 3
MOVE(..) AXIS(0)
Tampons de mouvement
Axe
Mouvement suivant
(NTYPE)
Mouvement suivant
(NTYPE)
Générateur
de mouvement
Séquençage
012
MOVE (1)
MOVECIRC (4)
FORWARD (10)
MOVECIRC (4)
IDLE (0)
IDLE (0)
Chargement
de mouvement
2.4.3Chargement de mouvement
Une fois le séquençage terminé, les tampons
pour déterminer si des mouvements peuvent être chargés. Si les
tampons
MTYPE
des tampons
NTYPE
sont marqués comme inactifs. Ce processus est appelé
requis sont disponibles, le mouvement est chargé
NTYPE
vers les tampons
« chargement de mouvement ». Si les tampons
un mouvement valide, celui-ci est traité. Une fois le mouvement terminé,
les tampons
Révision 3.0
MANUEL DE PROGRAMMATION29
MTYPE
sont marqués comme inactifs.
MTYPE
MTYPE
sont contrôlés
, puis les tampons
MTYPE
contiennent
Système Trajexia
2.5Interface de ligne de commande
L’interface de ligne de commande fournit une interface directe permettant
d’exécuter des commandes et d’accéder aux paramètres sur le système.
Utilisez la fenêtre de terminal de Trajexia Tools lorsque le TJ1-MC__ est
connecté. Pour plus d’informations, reportez-vous à la section 5.5.4.
Le TJ1-MC__ place dans un tampon les 10 dernières commandes transmises
par la ligne de commande. Appuyez sur la touche Haut ou Bas du clavier pour
faire défiler le contenu du tampon et réexécuter une commande.
2.6Programmes BASIC
Le TJ1-MC__ peut stocker jusqu’à 14 programmes en mémoire, sous réserve
de ne pas dépasser la capacité de la mémoire. Le TJ1-MC__ prend en charge
les instructions de gestion de fichiers simples pour gérer les fichiers
programmes à l’instar du système de fichiers DOS sur un ordinateur.
Le progiciel Trajexia Tools sert à stocker et à charger des programmes
avec un ordinateur à des fins d’archivage, d’impression et de modification.
Il intègre également des fonctions de surveillance et de débogage
du contrôleur. Reportez-vous au chapitre 5.
2.6.1Gestion des programmes
Trajexia Tools crée automatiquement un projet contenant les programmes
à utiliser pour une application. Les programmes du projet sont conservés
sur le contrôleur et sur l’ordinateur. Lors de la création ou de la modification
d’un programme, Trajexia Tools modifie les deux copies afin qu’il existe
toujours une sauvegarde précise en dehors du contrôleur. Trajexia Tools
vérifie que les deux versions du projet sont identiques à l’aide d’un contrôle
de redondance cyclique. En cas de différence, Trajexia Tools autorise
la copie de la version TJ1-MC__ vers le disque ou inversement.
Les programmes stockés sur l’ordinateur sont au format de fichiers texte ASCII.
Par conséquent, il est possible de les afficher, de les modifier et de les copier
à l’aide d’un simple éditeur de texte. Les programmes sources sont conservés
sur le TJ1-MC__ dans un format à jetons. Ainsi, la taille des programmes
Révision 3.0
sur le TJ1-MC__ est inférieure à celle des programmes sur l’ordinateur.
Les programmes du TJ1-MC__ sont placés dans la mémoire RAM alimentée
par batterie et sont préservés lors de coupures d’alimentation. Ce principe
est similaire aux mémoires VR et TABLE. Le contenu de la mémoire RAM
des programmes est préservé tant que la batterie est dans le TJ1-MC__.
Les programmes sont également préservés lors du remplacement de la batterie,
si cette opération est effectuée rapidement. Pour conserver les programmes sans
la batterie pendant une période prolongée, les programmes actuels doivent être
copiés dans la mémoire flash du contrôleur à l’aide de la commande
puis lus lors de la mise sous tension (paramètre système
POWER_UP
EPROM
).
,
Commandes des programmes
Le TJ1-MC__ propose plusieurs commandes BASIC permettant de créer,
de manipuler et de supprimer des programmes. Toutefois, l’utilisation
de ces commandes n’est généralement pas requise dans les programmes,
car Trajexia Tools fournit des boutons permettant également d’effectuer
ces opérations.
/i
Commande
SELECTSélectionne un programme à des fins de modification, de suppression, etc.
NEWSupprime le programme actuel, un programme donné ou tous
DIRAffiche le contenu du répertoire de l’ensemble des programmes.
COPYDuplique un programme donné.
RENAMERenomme un programme donné.
DELSupprime le programme actuel ou un programme donné.
LISTAffiche le programme actuel ou un programme donné.
Fonction
les programmes.
Stockage des programmes
MANUEL DE PROGRAMMATION30
Système Trajexia
2.6.2Compilation de programmes
Le système TJ1-MC__ compile automatiquement les programmes. Il n’est
dès lors généralement pas nécessaire de forcer le TJ1-MC__ à compiler
les programmes. Toutefois, il est possible de compiler les programmes
via le menu Program (Programme) de Trajexia Tools.
Le système TJ1-MC__ compile automatiquement un programme dans
les cas suivants :
•Le programme sélectionné est compilé avant son exécution s’il a été
modifié.
•Le programme sélectionné est compilé s’il a été modifié avant de
sélectionner un autre programme.
•Le programme sélectionné est compilé à l’aide de la commande
COMPILE.
La syntaxe et la structure d’un programme sont contrôlées lors de
la compilation. En cas d’échec de la compilation, un message s’affiche
et aucun code programme n’est généré. Une crois rouge s’affiche dans
l’arborescence Trajexia Tools.
Il est impossible d’exécuter un programme si des erreurs de compilation
se produisent. Dans ce cas, les erreurs doivent être corrigées
et le programme recompilé.
Le processus de compilation implique également les opérations suivantes :
•Suppression des commentaires.
•Compilation des nombres dans le format de processeur interne.
•Conversion des expressions au format RPN (Reverse Polish Notation)
à des fins d’exécution.
•Précalcul des emplacements des variables.
•Calcul et incorporation des destinations de structure en boucle.
Le processus de compilation nécessitant de la mémoire
libre, des erreurs de compilation inattendues peuvent
se produire en cas d’insuffisance de la mémoire libre.
Révision 3.0
2.6.3Exécution de programmes
Le timing de l’exécution des différentes tâches et du rafraîchissement des E/S
du TJ1-MC__ varie en fonction du cycle servo du système. Ce cycle est
déterminé par le paramètre système
SERVO_PERIOD
. Pour le TJ1-MC__,
le cycle servo est égal à 0,5, 1,0 ou 2,0 ms.
Rafraîchissement d’E/S
L’état des E/S du TJ1-MC__ est rafraîchi au début de chaque cycle servo.
•L’état capturé des entrées numériques est transféré à la variable
d’entrée système IN. Il s’agit du statut capturé lors du cycle servo
précédent.
•Les sorties analogiques sont mises à jour pour les références de vitesse.
•Les sorties numériques sont mises à jour en fonction de l’état de la
variable de sortie système OP.
•L’état des entrées numériques est capturé.
Aucun traitement automatique des signaux d’E/S n’a lieu, sauf pour
l’enregistrement. Ainsi, toutes les actions doivent être programmées
dans les programmes BASIC.
Commandes correspondantes
Trajexia Tools permet d’exécuter, de mettre en pause et d’arrêter
les programmes de différentes manières, à l’aide de boutons présents
sur le panneau de commande et dans les fenêtres de modification.
Les commandes ci-dessous peuvent être fournies dans la ligne
de commande à des fins de contrôle de l’exécution.
/i
CommandeFonction
RUNExécute le programme actuel ou un programme donné,
éventuellement pour un numéro de tâche spécifique.
STOPArrête le programme actuel ou un programme donné.
HALTArrête tous les programmes du système.
PROCESSAffiche toutes les tâches en cours d’exécution.
MANUEL DE PROGRAMMATION31
Système Trajexia
L’utilisateur peut définir la priorité de tâche selon laquelle le programme
BASIC doit être exécuté. Lorsqu’un programme utilisateur est exécuté sans
allocation de tâche explicite, il prend automatiquement la priorité de tâche
la plus élevée disponible.
Définition de programmes pour exécution au démarrage
Il est possible de définir les programmes pour qu’ils soient exécutés
automatiquement en fonction de priorités différentes lors de la mise sous
tension. Si nécessaire, l’ordinateur peut rester connecté en tant qu’interface
opérateur ou peut être supprimé, auquel cas les programmes sont exécutés
en mode autonome.
Dans Trajexia Tools, les programmes sont définis pour être exécutés
automatiquement au démarrage à l’aide de l’option Set Power Up Mode...
(Définir le mode au démarrage...) du menu Program (Programme). Cette
opération permet de déterminer l’exécution automatique et la priorité d’un
programme. Elle peut également être effectuée à l’aide de la commande
BASIC RUNTYPE. Vous pouvez consulter l’état actuel à l’aide
de la commande DIR.
Pour plus d’informations sur le contrôle de programme, le multitâche
et les cycles, reportez-vous aux sections 2.2 et 2.3 du Manuel de référence
du matériel Trajexia.
Révision 3.0
MANUEL DE PROGRAMMATION32
Commandes BASIC
3Commandes BASIC
3.1Catégories
Cette section répertorie toutes les commandes BASIC classées par catégories.
Ces catégories sont les suivantes :
•Commandes d’axe
•Paramètres d’axe
•Commandes et paramètres de communication
•Constantes
•Commandes, fonctions et paramètres d’E/S
•Fonctions et opérandes mathématiques
•Commandes de programme
•Commandes de contrôle de programme
•Paramètres et modificateurs d’emplacement
•Commandes et fonctions système
•Paramètres système
•Commandes et paramètres de tâche
Ces listes ne servent qu’à titre de référence rapide. La section suivante
fournit la description détaillée des commandes par ordre alphabétique.
3.1.1Commandes d’axe
/i
NomDescription
ACCModifie simultanément les paramètres ACCEL et DECEL.
ADD_DACAdditionne la valeur DAC d’un axe à la sortie analogique de l’axe
de base.
ADDAXDéfinit un lien vers un axe superposé. Tous les mouvements
de position demandée pour l’axe superposé sont ajoutés aux mouvements en cours d’exécution.
B_SPLINEDéveloppe le profil stocké dans la mémoire TABLE à l’aide
Révision 3.0
de la fonction mathématique B-spline.
NomDescription
BASESert à définir l’axe de base auquel les commandes et paramètres
sont appliqués.
CAMDéplace un axe en fonction des valeurs d’un profil de mouvement
stocké dans le tableau des variables TABLE.
CAMBOXDéplace un axe en fonction des valeurs d’un profil de mouvement
stocké dans le tableau des variables TABLE. Le mouvement est lié
au mouvement mesuré d’un autre axe afin de constituer un réducteur électronique logiciel à variation continue.
CANCELAnnule le mouvement sur un axe.
CONNECTRelie la position demandée d’un axe aux mouvements mesurés
de l’axe spécifié pour l’argument axe_pilotage afin de produire
un réducteur électronique.
DATUM
DEFPOSDéfinit la position actuelle en tant que nouvelle position absolue.
DISABLE_GROUPRegroupe les axes à des fins de désactivation d’erreur.
DRIVE_ALARMSurveille l’alarme actuelle.
DRIVE_CLEAREfface l’état d’alarme du servodriver.
DRIVE_READLit le paramètre spécifié du servodriver.
DRIVE_RESETRéinitialise le servodriver.
DRIVE_WRITEÉcrit une valeur donnée dans le paramètre spécifié du servodriver.
ENCODER_READLit un paramètre du codeur absolu EnDat.
ENCODER_WRITE Écrit dans un paramètre du codeur absolu EnDat.
FORWARDDéplace un axe selon un mouvement continu vers l’avant
HW_PSWITCHActive et désactive le commutateur matériel sur la sortie 0 de
MECHATROLINKInitialise le bus MECHATROLINK-II et effectue différentes opéra-
MHELICAL
Effectue l’une des 7 séquences de recherche d’origine afin de placer
un axe sur une position absolue ou de réinitialiser une erreur
de mouvement.
et la vitesse définie dans le paramètre SPEED.
la carte TJ1-FL02 lorsque des positions prédéfinies sont atteintes.
tions sur les stations MECHATROLINK-II reliées au bus.
Interpole 3 axes orthogonaux en fonction d’un mouvement hélicoïdal.
MANUEL DE PROGRAMMATION33
Commandes BASIC
NomDescription
MOVEDéplace un ou plusieurs axes en fonction de la vitesse, de l’accélé-
ration et de la décélération demandées vers la position spécifiée
en tant qu’incrément à partir de la position actuelle.
MOVEABSDéplace un ou plusieurs axes en fonction de la vitesse, de l’accélé-
ration et de la décélération demandées vers la position spécifiée
en tant que position absolue.
MOVECIRCInterpole 2 axes orthogonaux en fonction d’un arc circulaire.
MOVELINKCrée un mouvement linéaire sur l’axe de base lié via un réducteur
électronique logiciel vers la position mesurée d’un axe de liaison.
MOVEMODIFY
RAPIDSTOPAnnule le mouvement actuel sur tous les axes.
REGISTCapture une position d’axe en cas de détection d’une entrée d’enre-
REVERSEDéplace un axe selon un mouvement continu vers l’arrière
STEP_RATIODéfinit le rapport de la sortie du moteur à pas d’axe.
Modifie la position finale absolue du mouvement linéaire d’axe simple
actuel (
MOVE
ou
MOVEABS
gistrement ou du repère Z sur le codeur.
et la vitesse définie dans le paramètre SPEED.
).
3.1.2Paramètres d’axe
/i
NomDescription
ACCELContient le taux d’accélération de l’axe.
ADDAX_AXISContient le numéro de l’axe auquel l’axe de base est actuelle-
ment relié par la commande ADDAX.
ATYPEContient le type d’axe.
AXIS_DISPLAYSélectionne les informations représentées par les voyants
situés sur le capot avant de la carte TJ1-FL02.
AXIS_ENABLE
Révision 3.0
AXISSTATUSContient l’état de l’axe.
CLOSE_WINDéfinit la fin de la fenêtre dans laquelle un repère d’enregistre-
Active et désactive un axe spécifique indépendamment de l’autre axe.
ment est attendu.
NomDescription
CLUTCH_RATEDéfinit la modification du rapport de connexion en cas d’utilisa-
tion de la commande CONNECT.
CREEPContient la vitesse lente sous charge.
D_GAINContient le gain de contrôle dérivé.
DAC_SCALEDéfinit l’échelle et la polarité appliquées aux valeurs DAC.
DATUM_INContient le numéro de l’entrée à utiliser comme entrée d’origine.
DECELContient le taux de décélération de l’axe.
DEMAND_EDGESContient la valeur actuelle du paramètre d’axe DPOS pour
les fronts du codeur.
DPOSContient la position demandée générée par les commandes
de déplacement.
DRIVE_CONTROLSélectionne les données à surveiller à l’aide du paramètre
DRIVE_MONITOR pour les axes connectés via le bus MECHA-
TROLINK-II. En ce qui concerne les axes connectés via la carte
TJ1-FL02, le paramètre DRIVE_CONTROL définit les sorties
de la carte TJ1-FL02.
DRIVE_INPUTS
DRIVE_MONITOR
DRIVE_STATUSContient l’état actuel du servodriver.
ENCODERContient une copie brute du registre matériel du codeur.
ENCODER_BITSDéfinit le nombre de bits pour le codeur absolu connecté
ENCODER_CONTROLDétermine le mode de fonctionnement du codeur absolu EnDat.
ENCODER_IDRenvoie la valeur d’ID du codeur absolu connecté à la carte
ENCODER_RATIO
ENCODER_STATUSRenvoie l’état du codeur absolu Tamagawa.
ENCODER_TURNSRenvoie le nombre de multitours du codeur absolu.
ENDMOVEContient la position de la fin du mouvement actuel.
Contient les données d’E/S du driver connecté au bus MECHATROLINK-II. Les données sont mises à jour à chaque cycle servo.
Surveille les données du servodriver connecté au bus MECHATROLINK-II. Les données sont mises à jour à chaque cycle servo.
à la carte TJ1-FL02.
TJ1-FL02.
Définit la valeur d’échelle pour les impulsions de codeur entrantes.
MANUEL DE PROGRAMMATION34
Commandes BASIC
NomDescription
ERRORMASKContient la valeur de masque qui détermine si le paramètre
MOTION_ERROR se produit en fonction de l’état de l’axe.
FAST_JOG
FASTDECDéfinit le rapport rampe/décélération zéro lorsqu’un fin de
FEContient l’erreur suivante.
FE_LATCHContient la valeur FE qui a entraîné l’axe à placer le contrôleur
FE_LIMIT_MODEDéfinit comment FE influence l’état MOTION_ERROR.
FE_RANGEContient la limite de plage d’avertissement d’erreur suivante.
FHOLD_IN
FHSPEEDContient la vitesse de maintien d’alimentation.
FS_LIMITContient la position absolue de la limite logicielle avant.
FWD_IN
FWD_JOG
I_GAINContient le gain de contrôle intégral.
INVERT_STEPCommute un variateur matériel sur le circuit de sortie de moteur
JOGSPEEDDéfinit la vitesse de pas à pas (jog).
LINKAXContient le numéro de l’axe de liaison lors d’un mouvement lié.
MARKDétecte l’événement d’enregistrement principal sur une entrée
MARKBDétecte l’événement d’enregistrement secondaire sur une
MERGECorrespond à un commutateur logiciel permettant d’activer
Révision 3.0
MPOSCorrespond à la position de l’axe mesurée par le codeur.
Contient le numéro de l’entrée à utiliser comme entrée de jog rapide.
course ou une position d’axe est atteinte.
àl’état MOTION_ERROR.
Contient le numéro de l’entrée à utiliser comme entrée de maintien
d’alimentation.
Contient le numéro de l’entrée à utiliser comme entrée de limite avant.
Contient le numéro de l’entrée à utiliser comme entrée de jog avant.
à pas.
d’enregistrement.
entrée d’enregistrement.
ou de désactiver la fusion de mouvements consécutifs.
NomDescription
MSPEEDReprésente la modification de la position mesurée au cours
du dernier cycle servo.
MTYPEContient le type de mouvement en cours d’exécution.
NTYPEContient le type de mouvement dans le tampon de mouvement
suivant.
OFFPOSContient un décalage à appliquer à la position demandée sans
aucun autre impact sur le mouvement.
OPEN_WINDéfinit le début de la fenêtre dans laquelle un repère d’enregis-
trement est attendu.
OUTLIMITContient la limite restreignant la sortie de référence de vitesse
issue de la carte TJ1-MC__.
OV_GAINContient le gain de contrôle de vitesse de sortie.
P_GAINContient le gain de contrôle proportionnel.
REG_POSContient la position à laquelle un événement d’enregistrement
s’est produit.
REG_POSBContient la position à laquelle l’événement d’enregistrement
secondaire s’est produit.
REMAIN
REMOTE_ERRORRenvoie le nombre d’erreurs sur la connexion MECHATRO-
REP_DISTContient ou définit la distance de répétition.
REP_OPTIONContrôle l’application du paramètre d’axe REP_DIST.
REV_IN
REV_JOG
RS_LIMITContient la position absolue de la limite logicielle arrière.
S_REFContient la valeur de référence de vitesse appliquée lorsque
S_REF_OUTContient la valeur de référence de vitesse appliquée au servo-
SERVO
Correspond à la distance restante jusqu’à la fin du mouvement actuel.
LINK-II du servodriver.
Contient le numéro de l’entrée à utiliser comme entrée de limite arrière.
Contient le numéro de l’entrée à utiliser comme entrée de jog arrière.
l’axe est en boucle ouverte.
driver pour la boucle ouverte et fermée.
Détermine si l’axe pivote en contrôle servo ou en boucle ouverte.
MANUEL DE PROGRAMMATION35
Commandes BASIC
NomDescription
SPEEDContient la vitesse demandée exprimée en unités/s.
SRAMPContient le facteur de courbe en S.
T_REF
TRANS_DPOSContient la position demandée de l’axe à la sortie de transfor-
UNITSContient le facteur de conversion d’unités.
VERIFYSélectionne différents modes de fonctionnement sur un axe
VFF_GAINContient le gain de contrôle de réaction de vitesse.
VP_SPEEDContient la vitesse du profil de vitesse.
Contient la valeur de référence de couple appliquée au servomoteur.
mation de trame.
de sortie moteur à pas.
3.1.3Commandes et paramètres de communication
/i
NomDescription
FINS_COMMSEnvoie les commandes FINS Lecture de mémoire et Écriture
de la mémoire à un serveur FINS donné.
HLM_COMMANDExécute une commande Host Link spécifique sur l’esclave.
HLM_READLit les données de l’esclave Host Link dans le tableau de varia-
bles VR ou TABLE.
HLM_STATUSReprésente l’état de la dernière commande du maître Host Link.
HLM_TIMEOUTDéfinit le délai de temporisation du maître Host Link.
HLM_WRITEÉcrit des données sur l’esclave Host Link à partir du tableau
de variables VR ou TABLE.
HLS_NODEDéfinit le numéro de carte esclave pour le protocole esclave
Host Link.
SETCOMDéfinit les communications série.
Révision 3.0
3.1.4Constantes
/i
NomDescription
FALSECorrespond à la valeur numérique 0.
OFFCorrespond à la valeur numérique 0.
ONCorrespond à la valeur numérique 1.
PICorrespond à la valeur numérique 3,1416.
TRUECorrespond à la valeur numérique -1.
3.1.5Commandes, fonctions et paramètres d’E/S
/i
NomDescription
GETAttend la réception d’un caractère et affecte à la variable le code
ASCII du caractère.
INRenvoie la valeur des entrées numériques.
INDEVICEDéfinit le périphérique d’entrée par défaut.
INPUTAttend la réception d’une chaîne et affecte la valeur numérique
à la variable.
KEYRenvoie la valeur TRUE ou FALSE en fonction de la réception
d’un caractère.
LINPUT
OPDéfinit une ou plusieurs sorties ou renvoie l’état des
OUTDEVICEDéfinit le périphérique de sortie par défaut.
PRINTEnvoie une série de caractères à un port série.
PSWITCHActive une sortie lorsqu’une position prédéfinie est atteinte et
Attend la réception d’une chaîne et la place dans des variables VR.
24 premières sorties.
désactive la sortie lorsqu’une seconde position est atteinte.
MANUEL DE PROGRAMMATION36
Commandes BASIC
3.1.6Fonctions et opérandes mathématiques
/i
NomDescription
+ (ADDITION)Additionne deux expressions.
- (SOUSTRACTION)Soustrait deux expressions.
* (MULTIPLICATION)Multiplie deux expressions.
/ (DIVISION)Divise deux expressions.
^ (PUISSANCE)Applique la puissance d’une expression à l’autre expression.
= (ÉGAL À)Vérifie deux expressions pour déterminer si elles sont égales.
= (ATTRIBUTION)Affecte une expression à une variable.
<> (DIFFÉRENT DE)
> (SUPÉRIEUR À)
>= (SUPÉRIEUR OU
ÉGAL À)
< (INFÉRIEUR À)
<= (INFÉRIEUR OU
ÉGAL À)
ABSRenvoie la valeur absolue d’une expression.
ACOSRenvoie le cosinus inverse d’une expression.
ANDEffectue une opération AND (ET) sur les bits correspondants
ASINRenvoie le sinus inverse d’une expression.
ATANRenvoie la tangente inverse d’une expression.
ATAN2Renvoie la tangente inverse du nombre complexe non nul
COSRenvoie le cosinus d’une expression.
Révision 3.0
EXPRenvoie la valeur exponentielle d’une expression.
FRACRenvoie la fraction d’une expression.
Vérifie deux expressions pour déterminer si elles sont différentes.
Vérifie deux expressions pour déterminer si l’expression de gauche
est supérieure à l’expression de droite.
Vérifie deux expressions pour déterminer si l’expression de gauche
est supérieure ou égale à l’expression de droite.
Vérifie deux expressions pour déterminer si l’expression de gauche
est inférieure à l’expression de droite.
Vérifie deux expressions pour déterminer si l’expression de gauche
est inférieure ou égale à l’expression de droite.
des éléments entiers de deux expressions.
obtenu par deux expressions.
NomDescription
IEEE_INRenvoie le nombre à virgule flottante au format IEEE, repré-
senté par 4 octets.
IEEE_OUT
INTRenvoie l’élément entier d’une expression.
LNRenvoie le logarithme naturel d’une expression.
MODRenvoie le module de deux expressions.
NOTEffectue une opération NOT (NON) sur les bits correspondants
OREffectue une opération OR (OU) entre les bits correspondants
SGNRenvoie le signe d’une expression.
SINRenvoie le sinus d’une expression.
SQRRenvoie la racine carrée d’une expression.
TANRenvoie la tangente d’une expression.
XOREffectue une opération XOR (OU exclusif) entre les bits corres-
Renvoie l’octet extrait du nombre à virgule flottante au format IEEE.
de l’élément entier de l’expression.
des éléments entiers de deux expressions.
pondants des éléments entiers de deux expressions.
3.1.7Commandes de programme
/i
NomDescription
' (CHAMP DE
COMMENTAIRE)
: (SÉPARATEUR
D’INSTRUCTIONS)
AUTORUNDémarre tous les programmes définis pour être exécutés
COMPILECompile le programme actuel.
COPYCopie dans un nouveau programme un programme existant
DELSupprime un programme du contrôleur d’axes.
Permet d’insérer une ligne sans l’exécuter.
Permet d’insérer d’autres instructions sur une ligne.
au démarrage.
dans le contrôleur d’axes.
MANUEL DE PROGRAMMATION37
Commandes BASIC
NomDescription
DIR
EDIT
EPROM
LIST
NEW
PROCESS
RENAME
RUN
RUNTYPE
SELECT
STEPLINE
STOP
TROFF
TRON
Affiche la liste des programmes contenus dans le contrôleur d’axes,
leur taille et leur commande RUNTYPE sur la sortie standard.
Permet de modifier un programme à l’aide d’un terminal VT100.
Stocke un programme dans la mémoire flash.
Affiche le programme sur la sortie standard.
Supprime toutes les lignes du programme dans le contrôleur d’axes.
Renvoie l’état d’exécution et le numéro de chaque tâche actuelle.
Modifie le nom d’un programme dans le contrôleur d’axes.
Exécute un programme.
Détermine si un programme est exécuté au démarrage et spécifie
la tâche concernée.
Spécifie le programme actuel.
Exécute une ligne d’un programme.
Interrompt l’exécution du programme.
Interrompt un traçage à la ligne actuelle et reprend l’exécution normale du programme.
Crée un point d’interruption dans un programme.
NomDescription
ON.. GOSUB ou ON..
GOTO
REPEAT..UNTILCrée une boucle permettant de répéter un segment de pro-
WHILE...WENDCrée une boucle permettant de répéter un segment de pro-
Permet de créer un saut conditionnel vers un label.
gramme jusqu’à ce que la condition soit « TRUE », page 146.
gramme jusqu’à ce que la condition soit FALSE.
3.1.9Paramètres et modificateurs d’emplacement
/i
NomDescription
COMMSTYPE
FPGA_VERSIONRenvoie la version FPGA de la carte numéro_carte dans
SLOTCorrespond à un modificateur spécifiant le numéro d’emplace-
Contient le type de carte insérée dans un emplacement de contrôleur.
un système de contrôleur.
ment de la carte.
3.1.10 Commandes et fonctions système
/i
3.1.8Commandes de contrôle de programme
/i
NomDescription
FOR..TO..STEP..NEXTCrée une boucle permettant de répéter un segment de pro-
gramme en fonction d’une variable d’augmentation/diminution.
GOSUB..RETURNPasse à une sous-routine à la ligne située juste après le label.
L’exécution du programme reprend à l’instruction suivante
après la fourniture d’une commande « RETURN », page 132.
GOTOPasse à la ligne contenant le label.
Révision 3.0
IF..THEN..ELSE..ENDIF
Contrôle le flux du programme d’après les résultats de la condition.
NomDescription
$ (ENTRÉE
HEXADÉCIMALE)
AXISDéfinit l’axe pour une commande, une lecture de paramètre
BASICERRORSert à exécuter une routine spécifique lorsqu’une erreur se pro-
CLEAR
CLEAR_BITEfface le bit spécifié de la variable VR donnée.
CLEAR_PARAMSRétablit les valeurs par défaut de l’ensemble des paramètres
CONSTANTDéclare une constante à utiliser dans un programme BASIC.
Affecte un nombre hexadécimal à une variable.
d’axe ou l’affectation à un axe spécifique.
duit dans une commande BASIC.
Efface toutes les variables globales et locales de la tâche actuelle.
et des variables en mémoire flash EPROM.
MANUEL DE PROGRAMMATION38
Commandes BASIC
NomDescription
DATE$Affiche la date du jour sous la forme d’une chaîne.
DAY$Affiche le jour actuel sous la forme d’une chaîne.
DEVICENETConfigure la carte TJ1-DRT (esclave DeviceNet) pour l’échange
de données ou renvoie l’état d’échange de données de la carte
TJ1-DRT.
ETHERNETLit et définit divers paramètres du port Ethernet TJ1-MC__.
EXRemet le contrôleur à zéro.
FLAGLit et définit une banque de 32 bits.
FLAGSLit et définit des drapeaux (FLAGS) en tant que bloc.
FREERenvoie la capacité de mémoire disponible.
GLOBALDéclare une référence à une variable VR.
HALT
INITIALISERétablit les valeurs par défaut de tous les axes et paramètres.
INVERT_INInverse les canaux d’entrée 0 à 31 dans le logiciel.
INVERTER_COMMAND Lit les E/S et efface l’alarme du variateur de fréquence.
INVERTER_READLit la référence de paramètre, d’alarme, de vitesse et de couple
INVERTER_WRITEÉcrit la référence de paramètre, de vitesse et de couple
LIST_GLOBALAffiche toutes les variables GLOBAL et CONSTANT.
LOCKEmpêche l’affichage et la modification des programmes.
PROFIBUSConfigure la carte TJ1-PRT (esclave PROFIBUS-DP) pour
READ_BITRenvoie la valeur du bit spécifié dans la variable VR donnée.
RESETRéinitialise toutes les variables locales d’une tâche.
SCOPEProgramme le système pour stocker automatiquement jusqu’à
Révision 3.0
SET_BITDéfinit le bit spécifié dans la variable VR donnée sur un.
Arrête l’exécution de tous les programmes en cours d’exécution.
du variateur de fréquence.
du variateur de fréquence.
l’échange de données d’E/S avec le maître et renvoie l’état
de la carte TJ1-PRT.
4 paramètres à chaque période d’échantillonnage dans
le tableau de variables TABLE.
NomDescription
TABL EÉcrit et lit les données dans le tableau de variables TABLE.
TABLEVALUESRenvoie la liste de valeurs provenant de la mémoire TABLE.
TIME$Affiche l’heure actuelle sous la forme d’une chaîne.
TRIGGERDémarre une commande SCOPE déjà définie.
VRÉcrit et lit les données dans les variables globales (VR).
VRSTRING
WASuspend l’exécution du programme pendant la durée spécifiée
WAIT IDLE
WAIT LOADEDSuspend l’exécution du programme jusqu’à ce que l’axe
WAIT UNTIL
Combine des valeurs de mémoire VR afin de pouvoir les afficher
sous la forme d’une chaîne.
(en millisecondes).
Suspend l’exécution du programme jusqu’à ce que l’axe de base ait
terminé son mouvement en cours et tout mouvement en tampon.
de base n’ait plus aucun mouvement en tampon, hormis
le mouvement en cours.
Évalue la condition de manière répétée jusqu’à ce qu’elle soit
TRUE
.
3.1.11Paramètres système
/i
NomDescription
AINContient la valeur du canal analogique.
AOUTContient la valeur du canal analogique.
BATTERY_LOWRenvoie l’état actuel de la batterie.
CHECKSUMContient la somme de contrôle pour les programmes
en mémoire RAM.
COMMSERRORContient toutes les erreurs de communication qui se sont pro-
duites depuis la dernière initialisation.
CONTROLContient le type de TJ1-MC__ dans le système.
D_ZONE_MAXContrôle la sortie DAC avec la valeur d’erreur suivante.
D_ZONE_MINContrôle la sortie DAC avec la valeur d’erreur suivante.
MANUEL DE PROGRAMMATION39
Commandes BASIC
NomDescription
DATE
DAY
DISPLAY
ERROR_AXIS
FRAME
LAST_AXISContient le numéro du dernier axe traité par le système.
MOTION_ERRORContient un drapeau d’erreur pour les erreurs de contrôle d’axe.
NAIORenvoie le nombre de canaux analogiques connectés au bus
NEG_OFFSETApplique un décalage négatif au signal DAC à partir de la bou-
NIO
POWER_UP
POS_OFFSETApplique un décalage positif au signal DAC à partir de la boucle
SCOPE_POSContient la position TABLE actuelle à laquelle la commande
Règle ou renvoie la date du jour contenue par l’horloge temps réel.
Définit ou renvoie le jour actuel.
Détermine les canaux d’E/S à afficher sur les voyants en face avant.
Contient le numéro de l’axe à l’origine de l’erreur de mouvement.
Spécifie la trame d’exploitation pour les transformations de trame.
MECHATROLINK-II.
cle servo.
Contient le nombre d’entrées et de sorties connectées au système.
Détermine si des programmes doivent être lus dans la mémoire
flash EPROM lors de la mise sous tension ou de la réinitialisation.
servo.
SCOPE stocke son premier paramètre.
3.1.12 Commandes et paramètres de tâche
/i
NomDescription
ERROR_LINEContient le numéro de la ligne à l’origine de la dernière erreur
de programme BASIC.
PMOVEContient l’état des tampons de tâches.
PROCPermet d’accéder à un paramètre de processus à partir d’un pro-
cessus spécifique.
PROC_STATUSRenvoie l’état du processus spécifié.
PROCNUMBERContient le numéro de la tâche dans laquelle le programme
sélectionné est en cours d’exécution.
RUN_ERRORContient le numéro de la dernière erreur BASIC qui s’est pro-
duite sur la tâche spécifiée.
TICKSContient le nombre actuel d’impulsions d’horloge de tâche.
SERVO_PERIODDéfinit le cycle servo de la carte TJ1-MC__.
SYSTEM_ERRORContient les erreurs système qui se sont produites depuis
la dernière initialisation.
TIMERenvoie l’heure actuelle contenue par l’horloge temps réel.
TSIZERenvoie la taille de la table actuellement définie.
VERSIONRenvoie le numéro de version du micrologiciel du contrôleur.
WDOGSpécifie le commutateur logiciel qui active les servodrivers.
Révision 3.0
MANUEL DE PROGRAMMATION40
Commandes BASIC
3.2Toutes les commandes BASIC
3.2.1+ (addition)
/i
TypeFonction mathématique
Syntaxeexpression1 + expression2
DescriptionL’opérateur + additionne deux expressions.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
Exempleresult = 4 + 3
Attribue la valeur 7 à la variable result.
Voir aussiN/A
3.2.2- (soustraction)
/i
TypeFonction mathématique
Syntaxeexpression1 - expression2
DescriptionL’opérateur – soustrait expression2 de expression1.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
Exempleresult = 10 – 2
Attribue la valeur 8 à la variable result.
Voir aussiN/A
3.2.3* (multiplication)
/i
TypeFonction mathématique
Syntaxeexpression1 * expression2
DescriptionL’opérateur * multiplie deux expressions.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
Exempleresult = 3 * 7
Attribue la valeur 21 à la variable result.
Voir aussiN/A
3.2.4/ (division)
/i
TypeFonction mathématique
Syntaxeexpression1 / expression2
DescriptionL’opérateur / divise expression1 par expression2.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
Exempleresult = 11 / 4
Attribue la valeur 2,75 à la variable result.
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION41
Commandes BASIC
3.2.5^ (puissance)
/i
TypeFonction mathématique
Syntaxeexpression_1 ^ expression_2
DescriptionL’opérateur de puissance ^ élève expression_1 à la puissance
expression_2.
Cette opération utilise des algorithmes à virgule flottante et peut entraîner
de faibles écarts pour les calculs à nombres entiers.
Arguments•expression_1
Expression BASIC.
•expression_2
Expression BASIC.
Exempleresult = 2^5
Attribue la valeur 32 à la variable result.
Voir aussiN/A
3.2.6= (égal à)
/i
TypeFonction mathématique
Syntaxeexpression1 = expression2
DescriptionL’opérateur = renvoie la valeur TRUE si expression1 est égal
à expression2 ; sinon, renvoie la valeur FALSE.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
ExempleIF a = 10 THEN GOTO label1
Si la variable a contient une valeur égale à 10, l’exécution du programme
passe au label label1. Sinon, elle passe à l’instruction suivante.
3.2.7= (attribution)
/i
TypeFonction mathématique
Syntaxevariable = expression
DescriptionL’opérateur = attribue la valeur de l’expression à la variable.
Arguments•variable
Nom de la variable.
•expression
Expression BASIC valide.
Exemplevar = 18
Attribue la valeur 18 à la variable var.
Voir aussiN/A
3.2.8<> (différent de)
/i
TypeFonction mathématique
Syntaxeexpression1 <> expression2
DescriptionL’opérateur <> renvoie la valeur TRUE si expression1 n’est pas égal
à expression2 ; sinon, renvoie la valeur FALSE.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
ExempleIF a <> 10 THEN GOTO label1
Si la variable a contient une valeur différente de 10, l’exécution du programme passe au label label1. Sinon, elle passe à l’instruction suivante.
Voir aussiN/A
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION42
Commandes BASIC
3.2.9> (supérieur à)
/i
TypeFonction mathématique
Syntaxeexpression1 > expression2
DescriptionL’opérateur > renvoie la valeur TRUE si expression1 est supérieur
à expression2 ; sinon, renvoie la valeur FALSE.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
ExempleIF a > 10 THEN GOTO label1
Si la variable a contient une valeur supérieure à 10, l’exécution du programme passe au label label1. Sinon, elle passe à l’instruction suivante.
Voir aussiN/A
3.2.10 >= (supérieur ou égal à)
/i
TypeFonction mathématique
Syntaxeexpression1 >= expression2
DescriptionL’opérateur >= renvoie la valeur TRUE si expression1 est supérieur ou égal
à expression2 ; sinon, renvoie la valeur FALSE.
3.2.11< (inférieur à)
/i
TypeFonction mathématique
Syntaxeexpression1 < expression2
DescriptionL’opérateur < renvoie la valeur TRUE si expression1 est inférieur
à expression2 ; sinon, renvoie la valeur FALSE.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
ExempleIF a < 10 THEN GOTO label1
Si la variable a contient une valeur inférieure à 10, l’exécution du programme
passe au label label1. Sinon, elle passe à l’instruction suivante.
Voir aussiN/A
3.2.12 <= (inférieur ou égal à)
/i
TypeFonction mathématique
Syntaxeexpression1 <= expression2
DescriptionL’opérateur <= renvoie la valeur TRUE si expression1 est inférieur ou égal
à expression2 ; sinon, renvoie la valeur FALSE.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
ExempleIF a >=10 THEN GOTO label1
Si la variablea contient une valeur supérieure ou égale à 10, l’exécution
du programme passe au label
Voir aussiN/A
Révision 3.0
label1
. Sinon, elle passe à l’instruction suivante.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
ExempleIF a <= 10 THEN GOTO label1
Si la variablea contient une valeur inférieure ou égale à 10, l’exécution
du programme passe au label
Voir aussiN/A
label1
. Sinon, elle passe à l’instruction suivante.
MANUEL DE PROGRAMMATION43
Commandes BASIC
3.2.13 $ (entrée hexadécimale)
/i
TypeCommande système
Syntaxe$nbre_hex
DescriptionLa commande $ convertit le nombre qui suit au format hexadécimal.
Arguments•nbre_hex
Nombre hexadécimal (constitué des caractères 0 à 9 et A à F). La valeur
de l’argument nbre_hex est comprise entre 0 et FFFFFF.
Exemple>>TABLE(0,$F,$ABCD)
>>print TABLE(0),TABLE(1)
15.0000 43981.0000
Voir aussiHEX (PRINT)
3.2.14 ' (champ de commentaire)
/i
TypeCommande de programme
Syntaxe'
Description' signale tous les éléments qui suivent sur une ligne en tant que commentaire,
au lieu de code programme. Un commentaire n’est pas exécuté lors de l’exécution du programme. Vous pouvez utiliser ' au début d’une ligne ou après
une instruction valide.
ArgumentsN/A
Exemple' Cette ligne n’est pas imprimée
PRINT "Start"
Voir aussiN/A
3.2.15 : (séparateur d’instructions)
/i
TypeCommande de programme
Syntaxe:
DescriptionLe séparateur d’instructions : permet de séparer plusieurs instructions BASIC
sur une ligne. Vous pouvez l’utiliser dans la ligne de commande et dans les
programmes.
ArgumentsN/A
ExemplePRINT "THIS LINE" : GET low : PRINT "DOES THREE THINGS"
Voir aussiN/A
3.2.16 #
/i
TypeCaractère spécial
Syntaxe#
DescriptionLe symbole # sert à spécifier le canal de communication à utiliser pour
les commandes d’entrée/sortie série.
Remarque : les canaux de communication supérieurs à 3 ne sont utilisés
que lors de l’exécution du logiciel Trajexia Tools.
ArgumentsN/A
ExemplePRINT #1,"RS232"
PRINT #2,"Port 2"
ExempleIF KEY #1 THEN GET #1,k
Vérifie le clavier sur le port RS232.
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION44
Commandes BASIC
3.2.17 ABS
/i
TypeFonction mathématique
SyntaxeABS(expression)
DescriptionLa fonction ABS renvoie la valeur absolue d’une expression.
Arguments•expression
Expression BASIC valide.
Exemple
Voir aussiN/A
IF ABS(A) > 100 THEN PRINT "A n’est pas compris dans la plage –100 ... 100"
3.2.18 ACC
/i
TypeCommande d’axe
SyntaxeACC(taux)
DescriptionDéfinit simultanément l’accélération et la décélération.
Cette commande permet de régler rapidement ACCEL et DECEL. Il est toutefois recommandé de régler les taux d’accélération et de décélération
à l’aide des paramètres d’axe ACCEL et DECEL.
Arguments•taux
Taux d’accélération exprimé en unités/s2. Vous pouvez définir les unités
à l’aide du paramètre d’axe UNITS.
ExempleACC(100)
Règle ACCEL et DECEL sur 100 unités/s
Voir aussiACCEL, DECEL, UNITS
2
.
3.2.19 ACCEL
/i
TypeParamètre d’axe
SyntaxeACCEL = expression
DescriptionLe paramètre d’axe ACCEL contient le taux d’accélération d’un axe.
Ce taux est exprimé en unités/s
ou égale à zéro.
ArgumentsN/A
ExempleBASE(0)
ACCEL = 100 ' Règle le taux d’accélération
PRINT "Taux d’acceleration : ";ACCEL;" mm/s/s"
ACCEL AXIS(2) = 100 ' Règle le taux d’accélération de l’axe (2)
Voir aussiACCEL, DECEL, UNITS
2
. La valeur de ce paramètre doit être positive
3.2.20 ACOS
/i
TypeFonction mathématique
SyntaxeACOS(expression)
DescriptionLa fonction ACOS renvoie le cosinus inverse d’une expression. La valeur
de l’expression doit être comprise entre –1 et 1. Le résultat en radians est
compris entre 0 et Pi. Les valeurs d’entrée en dehors de la plage renvoient 0.
Arguments•expression
Expression BASIC valide.
Exemple>> PRINT ACOS(-1)
3.1416
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION45
Commandes BASIC
3.2.21 ADD_DAC
/i
TypeCommande d’axe
SyntaxeADD_DAC(axe)
DescriptionLa commande ADD_DAC peut fournir un double contrôle de retour en per-
mettant d’utiliser un codeur secondaire sur l’axe servo. Cette commande permet d’additionner la sortie de 2 boucles servo afin de déterminer la référence
de vitesse transmise au servodriver.
Cette commande est généralement utilisée dans des applications telles qu’un
dispositif d’alimentation à rouleaux où un codeur secondaire est requis pour
compenser le glissement.
Pour utiliser
ment être reliés à un axe commun sur lequel les mouvements requis sont exécutés. En règle générale, pour réaliser cet objectif, les mouvements sont exécutés
sur l’un des deux axes et la commande
générer la position demandée correspondante (
Les gains de boucle servo doivent être définis pour les deux axes. Les sorties
de boucle servo sont additionnées afin de déterminer la référence de vitesse
de l’axe servo. Utilisez
ADD_DAC est valable sur l’axe de base par défaut (réglé avec BASE), sauf
si la commande AXIS est utilisée pour spécifier un axe de base temporaire.
Remarque :
1.N’oubliez pas que les gains de boucle de contrôle doivent être déterminés
2.Réglez le paramètre
Arguments•axe
Révision 3.0
ADD_DAC
avec soin pour les deux axes. En effet, les gains ne sont pas identiques, car
des codeurs distincts sont utilisés avec des résolutions différentes.
Axe à partir duquel la sortie de référence de vitesse doit être additionnée
à l’axe de base. Définissez l’argument sur la valeur -1 pour annuler la
liaison et rétablir le fonctionnement normal.
, les deux axes avec retour physique doivent nécessaire-
ADD_DAC(-1)
OUTLIMIT
sur la même valeur pour les deux axes reliés.
ADDAX
pour annuler la liaison.
ou
CONNECT
DPOS
) pour les deux axes.
est utilisée pour
ExempleBASE(0)
OUTLIMIT AXIS(1) = 15000
ADD_DAC(1) AXIS(0)
ADDAX(0) AXIS(1)
WDOG = ON
SERVO AXIS(0) = ON
SERVO AXIS(1) = ON
' Exécute des mouvements sur l’axe 0
Cet exemple illustre le contrôle de l’axe de servodriver 0 avec double contrôle
de retour à l’aide des axes 0 et 1.
ExempleBASE(0)
OUTLIMIT AXIS(1) = 15000
ADD_DAC(1) AXIS(0)
ADDAX(0) AXIS(1)
WDOG = ON
SERVO = OFF
S_REF = 0
BASE(1)
SERVO = ON
' Exécute des mouvements sur l’axe 1
Cet exemple illustre le contrôle de l’axe de servodriver 0 uniquement à l’aide
du retour de codeur sur l’axe 1.
Voir aussiAXIS, ADDAX, OUTLIMIT
3.2.22 ADDAX
/i
TypeCommande d’axe
SyntaxeADDAX(axe)
DescriptionLa commande ADDAX récupère les changements de la position demandée
par rapport à l’axe superposé défini par l’argument d’axe et les ajoute au mouvement en cours sur l’axe pour lequel la commande est générée.
Dès que la commande ADDAX est générée, la liaison entre les deux axes est
préservée jusqu’à ce qu’elle soit interrompue. Utilisez ADDAX(-1) pour annuler la liaison d’axes. ADDAX permet à un axe d’effectuer les mouvements
spécifiés pour 2 axes additionnés. Il est possible de combiner plus de deux
axes en appliquant la commande ADDAX à l’axe superposé.
ADDAX est valable sur l’axe de base par défaut (réglé avec BASE), sauf si la
commande AXIS est utilisée pour spécifier un axe de base temporaire.
MANUEL DE PROGRAMMATION46
Commandes BASIC
Arguments•axe
Axe à définir comme axe superposé. Définissez l’argument sur la valeur 1 pour annuler la liaison et rétablir le fonctionnement normal.
ExempleFORWARD ' Définit le mouvement continu
ADDAX(2) ' Ajoute l’axe 2 pour correction
REPEAT
GOSUB getoffset ' Obtient le décalage à appliquer
MOVE(offset) AXIS(2)
UNTIL IN(2) = ON ' Jusqu’à ce que la correction soit effectuée
Des pièces sont placées sur une courroie à déplacement continu et sont récoltées
en aval de la ligne. Un système de détection indique si une pièce est devant ou derrière sa position nominale et détermine le décalage correspondant.
Dans cet exemple, l’axe 0 correspond à l’axe de base. Il exécute un mouvement
avant continu et un mouvement superposé sur l’axe 2 est utilisé pour appliquer
des décalages en fonction du décalage calculé dans une sous-routine.
Voir aussiAXIS, OUTLIMIT
AVERTISSEMENT
N’oubliez pas que la génération de plusieurs commandes
dans un système peut créer une boucle dangereuse lorsqu’un
axe est relié à un autre, et inversement, par exemple. Cette situation peut rendre le système instable.
3.2.23 ADDAX_AXIS
/i
TypeParamètre d’axe (en lecture seule)
ADDAX
3.2.24 AIN
/i
TypeParamètre système
SyntaxeAIN(canal_analogique)
DescriptionDes canaux d’entrée analogiques +/-10 V sont fournis en connectant des
modules JEPMC-AN2900 au bus MECHATROLINK-II.
Remarque : la valeur d’entrée analogique est contrôlée pour garantir qu’elle
est supérieure à zéro, même si elle doit toujours être positive. Ce contrôle
permet de détecter la présence de parasites sur le signal entrant, qui risque
de rendre la valeur négative et d’entraîner une erreur. En effet, une vitesse
négative n’est valide pour aucun type de mouvement, à l’exception
de FORWARD et REVERSE.
Argumentscanal_analogique
Numéro du canal d’entrée analogique (0 à 31).
ExempleMOVE(-5000)
REPEAT
a=AIN(1)
IF a<0 THEN a=0
SPEED=a*0.25
UNTIL MTYPE=0
La vitesse d’une ligne de production est déterminée par le taux d’alimentation
des matériaux. Cette alimentation est effectuée via une disposition en boucle
passive intégrée à un dispositif de détection de hauteur par ultrasons. La sortie du capteur à ultrasons est comprise dans la plage 0 V à 4 V, la sortie étant
égale à 4 V lorsque la boucle est la plus longue.
Voir aussiN/A
SyntaxeADDAX_AXIS
DescriptionLe paramètre d’axe ADDAX_AXIS renvoie le numéro de l’axe auquel l’axe
de base est actuellement relié par la commande ADDAX.
ArgumentsN/A
Exemple>> BASE(0)
Révision 3.0
Voir aussiADDAX, AXIS
>> ADDAX(2)
>> PRINT ADDAX_AXIS
2.0000
3.2.25 AND
/i
TypeOpération mathématique
Syntaxeexpression1 AND expression2
MANUEL DE PROGRAMMATION47
Commandes BASIC
DescriptionL’opérateur AND effectue la fonction logique AND (ET) sur les bits correspon-
dants des éléments entiers de deux expressions BASIC valides.
La fonction logique AND entre deux bits est définie comme suit :
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
ExempleVR(0) = 10 AND (2,1*9)
Les parenthèses sont évaluées en premier lieu, mais seul l’élément
entier du résultat, 18, est utilisé pour l’opération AND. Par conséquent,
cette expression est équivalente à la suivante :
VR(0) = 10 AND 18
La fonction AND étant un opérateur de bits, l’action binaire est la suivante :
01010 AND 10010 = 00010
Par conséquent, VR(0) contient la valeur 2.
ExempleIF MPOS AXIS(0) > 0 AND MPOS AXIS(1) > 0 THEN GOTO cycle1
Voir aussiN/A
3.2.26 AOUT
/i
TypeParamètre système
SyntaxeAOUT(canal_analogique)
DescriptionCette commande définit la valeur de sortie des canaux de sortie analogiques
+/-10 V fournis en connectant des modules JEPMC-AN2910 au bus MECHATROLINK-II. La plage de la valeur définie est [–32 000, 32 000] pour la plage
de tension [–10 V, 10 V].
Arguments•canal_analogique
Numéro du canal de sortie analogique (0 à 31).
ExemplePas d’exemple.
Révision 3.0
Voir aussiN/A
3.2.27 ASIN
/i
TypeFonction mathématique
SyntaxeASIN(expression)
DescriptionLa fonction ASIN renvoie le sinus inverse de l’argument. La valeur de l’argu-
ment doit être comprise entre -1 et 1. Le résultat en radians est compris entre
-Pi/2 et Pi/2. Les valeurs d’entrée en dehors de cette plage renvoient 0.
Arguments•expression
Expression BASIC valide.
Exemple>> PRINT ASIN(-1)
-1.5708
Voir aussiN/A
3.2.28 ATAN
/i
TypeFonction mathématique
SyntaxeATAN(expression)
DescriptionLa fonction ATAN renvoie la tangente inverse de l’argument. expression peut
avoir n’importe quelle valeur. La valeur du résultat est exprimée en radians et
est comprise entre -Pi/2 et Pi/2.
Arguments•expression
Expression BASIC valide.
Exemple>> PRINT ATAN(1)
0.7854
Voir aussiN/A
3.2.29 ATAN2
/i
TypeFonction mathématique
SyntaxeATAN2(expression1,expression2)
MANUEL DE PROGRAMMATION48
Commandes BASIC
DescriptionLa fonction ATAN2 renvoie la tangente inverse du nombre complexe non nul
(expression2, expression1), qui équivaut à l’angle entre le point correspon-dant à la coordonnée (expression1, expression2) et l’axe des X. Si
expression2 >= 0, le résultat est égal à la valeur de ATAN(expression1 /
expression2). La valeur du résultat exprimée en radians est comprise entre -
Pi et Pi.
Arguments•expression1
Expression BASIC valide.
•expression2
Expression BASIC valide.
Exemple>> PRINT ATAN2(0,1)
0.0000
Voir aussiN/A
3.2.30 ATYPE
/i
TypeParamètre d’axe
SyntaxeATYPE = valeur
DescriptionLe paramètre d’axe ATYPE définit le type de l’axe. Les valeurs valides varient
en fonction du module TJ1 auquel le servodriver contrôlant l’axe est connecté. Consultez le tableau ci-après. Les paramètres ATYPE sont définis par
le système au démarrage. En ce qui concerne les axes contrôlés par les servodrivers connectés au système via le bus MECHATROLINK-II, la valeur
ATYPE par défaut est 41 (Mechatro Vitesse). En ce qui concerne les axes
contrôlés par les servodrivers connectés au système via la carte TJ1-FL02,
la valeur ATYPE par défaut est 44 (Axe flexible Servo).
Type AXISValeur ATYPECarte TJ1 applicable
Mechatro Position40TJ1-ML__ (carte maître
MECHATROLINK-II)
Mechatro Vitesse41TJ1-ML__
Mechatro Couple42TJ1-ML__
Axe flexible Sortie moteur à pas43TJ1-FL02
Axe flexible Servo44TJ1-FL02
Axe flexible Sortie codeur45TJ1-FL02
Axe flexible Tamagawa absolu46TJ1-FL02
Axe flexible EnDat absolu47TJ1-FL02
Axe flexible SSI absolu48TJ1-FL02
3.2.31 AUTORUN
/i
TypeCommande de programme
SyntaxeAUTORUN
DescriptionLa commande AUTORUN démarre tous les programmes définis pour être
exécutés au démarrage.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiRUNTYPE
ArgumentsN/A
ExempleATYPE AXIS(1) = 45
Cette commande définit l’axe 1 comme axe de sortie du codeur (axe flexible).
Voir aussiAXIS
/i
Révision 3.0
Type AXISValeur ATYPECarte TJ1 applicable
Virtuel0Toutes
3.2.32 AXIS
/i
TypeCommande système
SyntaxeAXIS(numéro_axe)
MANUEL DE PROGRAMMATION49
Commandes BASIC
DescriptionLe modificateur AXIS définit l’axe pour une commande de mouvement simple
ou une opération de lecture/écriture de paramètre d’axe pour un axe spécifique. La commande AXIS n’est valable que pour la commande ou la ligne de
programme dans laquelle elle est programmée. Utilisez la commande BASE
pour modifier l’axe de base pour toutes les lignes de commande suivantes.
Arguments•numéro_axe
Expression BASIC valide qui spécifie le numéro d’axe.
ExempleBASE(0)
PRINT VP_SPEED AXIS(2)
ExempleMOVE(300) AXIS(0)
ExempleREPDIST AXIS(1) = 100
Voir aussiBASE
3.2.33 AXIS_DISPLAY
/i
TypeParamètre d’axe
SyntaxeAXIS_DISPLAY = valeur
DescriptionLe paramètre d’axe AXIS_DISPLAY permet l’affichage de différentes
données sur les voyants situés sur le capot avant de la carte TJ1-FL02.
Les voyants concernés par ce paramètre sont deux voyants jaunes indiquant
l’état de l’axe. Au démarrage de chaque axe, la valeur par défaut de ce paramètre est 0. Le tableau ci-dessous répertorie les valeurs valides.
ArgumentsN/A
ExempleAXIS_DISPLAY AXIS(2) = 2
Cette commande affiche l’état des sorties OUT 0 et OUT 1 allouées à l’axe 2.
Voir aussiN/A
/i
Valeur AXIS_DISPLAY0123
A0REG 0AUX INOUT 0CODEUR A
Révision 3.0
A1REG 1CODEUR ZOUT 1CODEUR B
B0REG 0AUX INOUT 0CODEUR A
Valeur AXIS_DISPLAY0123
B1REG 1CODEUR ZOUT 1CODEUR B
3.2.34 AXIS_ENABLE
/i
TypeParamètre d’axe
SyntaxeAXIS_ENABLE = ON/OFF
Description
ArgumentsN/A
ExempleAXIS_ENABLE AXIS(3) = OFF
Voir aussiAXIS, DISABLE_GROUP
Le paramètre d’axe
indépendamment des autres axes. Ce paramètre peut être activé ou désactivé
pour chaque axe individuel. La valeur par défaut au démarrage correspond à ON
(activé) pour tous les axes. L’axe est activé si AXIS_ENABLE est activé pour cet
axe et si
du paramètre AXIS_ENABLE désactive la sortie de servodriver vers le moteur.
Pour l’axe flexible Axe servo, la valeur OFF du paramètre AXIS_ENABLE impose
la valeur 0 aux deux sorties de tension. Pour les axes flexibles Sortie moteur à pas
et Sortie codeur, la valeur OFF du paramètre AXIS_ENABLE bloque la génération
d’impulsions sur les sorties.
Cette commande désactive l’axe 3 indépendamment des autres axes du système.
WDOG
AXIS_ENABLE
est activé. Pour les axes MECHATROLINK-II, la valeur OFF
sert à activer ou désactiver un axe spécifique
3.2.35 AXISSTATUS
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeAXISSTATUS
DescriptionLe paramètre d’axe AXISSTATUS contient l’état d’un axe. Le tableau ci-après
répertorie les valeurs du paramètre d’axe AXISSTATUS.
Le paramètre AXISSTATUS est utilisé dans le cadre du traitement des
erreurs de contrôle d’axes de la carte.
ArgumentsN/A
ExempleIF (AXISSTATUS AND 16) > 0 THEN PRINT "Limite avant"
Voir aussiAXIS, ERRORMASK
MANUEL DE PROGRAMMATION50
Commandes BASIC
/i
Numéro
de bit
0–1–
1Avertissement d’erreur suivante2w
2
3Alarme du servodriver8m
4Limite avant16f
5Limite arrière32r
6Référencement64d
7Entrée de maintien d’alimentation128h
8Limite d’erreur suivante256e
9Limite avant logicielle512x
10Limite arrière logicielle1024y
11Annulation du mouvement2048c
12Survitesse de la sortie codeur4096o
DescriptionValeurCaractère (utilisé dans
Trajexia Tools)
Erreur de communication du servodriver
4a
3.2.36 B_SPLINE
/i
Arguments•type
Réservé pour une extension ultérieure. Toujours régler sur la valeur 1.
•entrée_données
Emplacement de la zone TABLE qui stocke le profil source.
•entrée_nombre
Nombre de points du profil source.
•sortie_données
Emplacement de la zone TABLE où le profil étendu sera stocké.
•taux_extension
Taux d’extension. Par exemple, si le profil source correspond
à 100 points et que taux_extension est défini sur 10, le profil
qui en résulte comporte 1 000 points (100 x 10).
DescriptionÉtend un profil existant stocké dans la zone TABLE à l’aide de la fonction
mathématique B-spline en fonction d’un facteur d’extension configurable,
vers une autre zone de TABLE.
Il est recommandé d’utiliser cette commande lorsque le profil CAM source
est trop court et doit être extrapolé en un nombre de points plus important.
Révision 3.0
MANUEL DE PROGRAMMATION51
Commandes BASIC
DescriptionLa commande BASE sert à définir l’axe de base par défaut ou un groupe de
séquence d’axes spécifique. Toutes les commandes de contrôle d’axes et les
paramètres d’axe ultérieurs s’appliquent à l’axe de base ou au groupe d’axes
spécifié, sauf si la commande AXIS est utilisée pour spécifier un axe de base
temporaire. L’axe de base est valable jusqu’à ce qu’il soit modifié par BASE.
Chaque processus BASIC peut comporter un groupe d’axes spécifique et chaque programme peut définir un groupe d’axes de manière indépendante. Utilisez
PROC
le modificateur
Le groupement d’ordre
manière explicite. Cet ordre est utilisé à des fins d’interpolation dans des mouvements circulaires et linéaires multiaxes. La valeur par défaut du groupe d’axes
de base est (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) au démarrage ou au début
de l’exécution d’un programme sur une tâche. Si aucun argument n’est spécifié,
la commande
Remarque : si la commande BASE ne spécifie pas tous les axes, elle renseigne automatiquement les valeurs restantes. Elle complète d’abord les axes
restants à partir de la dernière valeur déclarée, puis complète les axes restants de la séquence.
Ainsi, BASE(2,6,10) définit le tableau interne de 16 axes sur :
2,6,10,11,12,13,14,15,0,1,3,4,5,7,8,9.
ArgumentsLa commande peut comporter jusqu’à 16 arguments.
•axe_n
Numéro de l’axe défini en tant qu’axe de base et axes suivants du groupe
pour les mouvements multiaxes.
ExempleBASE(1)
UNITS = 2000 ' Définit le facteur de conversion d’unités pour l’axe 1
SPEED = 100 ' Règle la vitesse de l’axe 1
ACCEL = 5000 ' Règle le taux d’accélération de l’axe 1
BASE(2)
UNITS = 2000 ' Définit le facteur de conversion d’unités pour l’axe 2
SPEED = 125 ' Règle la vitesse de l’axe 2
ACCEL = 10000 ' Règle le taux d’accélération de l’axe 2
Il est possible de programmer chaque axe en fonction d’une vitesse,
d’une accélération et d’autres paramètres spécifiques.
pour accéder au paramètre d’une tâche donnée.
BASE
peut être défini en attribuant l’ordre des axes de
BASE
renvoie le groupement d’ordre de base actuel.
ExempleBASE(0)
MOVE(100,-23.1,1250)
Dans cet exemple, les axes 0, 1 et 2 se déplacent vers les positions spécifiées à la vitesse et au taux d’accélération définis pour l’axe 0. BASE(0) définit l’axe 0 en tant qu’axe de base, qui détermine les trois axes utilisés par
MOVE, ainsi que la vitesse et le taux d’accélération.
Exemple>> BASE(0,2,1)
Dans la ligne de commande, l’ordre du groupe de base peut être affiché en
tapant BASE.
Exemple>> RUN "PROGRAM",3
>> BASE PROC(3)(0,2,1)
Utilisez le modificateur PROC pour afficher l’ordre du groupe de base d’une
tâche donnée.
Exemple>> BASE(2)
>> PRINT BASE
2.0000
L’impression de BASE renvoie l’axe de base sélectionné.
Voir aussiAXIS
3.2.38 BASICERROR
/i
TypeCommande système
SyntaxeBASICERROR
DescriptionLa commande BASICERROR sert à exécuter une routine lorsqu’une erreur
d’exécution se produit dans un programme. BASICERROR ne peut être utilisé que dans le cadre d’une commande ON ... GOSUB ou ON ... GOTO.
Cette commande doit obligatoirement être exécutée une fois dans le programme BASIC. Si plusieurs commandes sont utilisées, seule la dernière
commande exécutée est valable.
ArgumentsN/A
Révision 3.0
MANUEL DE PROGRAMMATION52
Commandes BASIC
Exemple ON BASICERROR GOTO error_routine
...
no_error = 1
STOP
error_routine:
IF no_error = 0 THEN
PRINT "L’erreur ";RUN_ERROR[0];
PRINT " s’est produite a la ligne ";ERROR_LINE[0]
ENDIF
STOP
Dans cet exemple, la routine d’erreur est exécutée si une erreur se produit
dans une commande BASIC.
La présence de l’instruction IF permet d’empêcher le déclenchement
de la routine d’erreur lorsque le programme s’arrête normalement.
Voir aussiERROR_LINE, ON, RUN_ERROR.
3.2.39 BATTERY_LOW
/i
TypeParamètre système (en lecture seule)
SyntaxeBATTERY_LOW
DescriptionCe paramètre renvoie l’état actuel de la batterie. Si BATTERY_LOW=ON,
la batterie doit être remplacée. Si BATTERY_LOW=OFF, l’état de la batterie
est satisfaisant.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
Révision 3.0
3.2.40 BREAK_RESET
/i
TypeCommande système
SyntaxeBREAK_RESET "nom_programme"
DescriptionCommande utilisée par Trajexia Tools pour supprimer tous les points d’inter-
ruption du programme spécifié.
Arguments•nom_programme
Nom du programme dont vous souhaitez supprimer tous les points
d’interruption.
ExempleBREAK_RESET "testsimple"
Supprime tous les points d’interruption du programme testsimple.
DescriptionLa commande CAM sert à générer le mouvement d’un axe en fonction d’un
profil de position stocké dans le tableau de variables TABLE. Les valeurs
TABLE sont des positions absolues par rapport au point de départ et sont
spécifiées dans les fronts du codeur. Le tableau TABLE est spécifié à l’aide
de la commande TABLE.
Le mouvement peut être défini à l’aide d’un nombre de points compris entre 2
et 64000. Le TJ1-MC__ passe en permanence d’une valeur à l’autre du
tableau TABLE afin de permettre à un nombre de points de définir un profil
constant. Il est possible d’exécuter simultanément plusieurs commandes
CAM en utilisant des valeurs identiques ou qui se chevauchent dans le
tableau TABLE. Le profil TABLE est traversé une fois.
CAM exige que l’élément de début du tableau TABLE ait la valeur zéro.
L’argument de distance et les paramètres SPEED et ACCEL déterminent
la vitesse de déplacement dans le tableau TABLE. Pour suivre précisément
le profil CAM, la valeur du paramètre ACCEL de l’axe doit être au moins
1 000 fois plus grande que celle du paramètre SPEED.CAM est valable sur l’axe de base par défaut (réglé avec BASE), sauf si
la commande AXIS est utilisée pour spécifier un axe de base temporaire.
MANUEL DE PROGRAMMATION53
Commandes BASIC
Arguments•point_départ
Adresse du premier élément du tableau TABLE à utiliser.
La définition du point de départ permet au tableau TABLE de contenir
plusieurs profils et/ou d’autres informations.
•point_fin
Adresse du dernier élément du tableau TABLE.
•multiplicateur_table
La valeur du multiplicateur Table sert à définir l’échelle des valeurs
stockées dans TABLE. Les valeurs Table étant spécifiées dans les fronts
du codeur, utilisez cet argument pour définir les valeurs du facteur
de conversion d’unités, par exemple (défini par le paramètre UNITS).
•distance
Facteur exprimé en unités utilisateur qui détermine la vitesse de mouvement dans la table. La durée d’exécution de CAM varie en fonction de
la vitesse d’axe actuelle et de la distance. Par exemple, supposons que
le système est programmé en mm, que la vitesse est réglée sur 10 mm/s
et que le taux d’accélération est suffisamment élevé. Si une distance
de 100 mm est spécifiée, l’exécution de CAM prend 10 secondes.
Le paramètre SPEED de l’axe de base permet de modifier la vitesse
de mouvement en cas d’utilisation du mouvement CAM.
Remarque : lors de l’exécution de la commande
est défini sur la fin du mouvement précédent.
ExempleSupposons qu’un mouvement doive respecter l’équation de position t(x) =
x*25 + 10000(1-cos(x)). Dans ce cas, x est exprimé en degrés. Cet exemple
correspond à un tableau TABLE qui fournit une oscillation simple superposée
à une vitesse constante. Pour charger le tableau TABLE et le parcourir
de manière continue, le code suivant doit être utilisé.
GOSUB camtable
loop:
CAM(1,19,1,200)
GOTO loop
La sous-routine camtable charge les données de la table inférieure dans
le tableau TABLE.
La commande
profil de position stocké dans le tableau de variables TABLE. Le mouvement est
lié au mouvement mesuré d’un autre axe afin de constituer un réducteur électronique logiciel à variation continue. Les valeurs TABLE sont des positions absolues par rapport au point de départ et sont spécifiées dans les fronts du codeur.
Le tableau TABLE est spécifié à l’aide de la commande TABLE. Le mouvement peut être défini à l’aide d’un nombre de points compris entre 2 et 64000.
La définition du point de départ permet au tableau TABLE de contenir plusieurs profils et/ou d’autres informations. Le TJ1-MC__ passe en permanence d’une valeur à l’autre du tableau TABLE afin de permettre à un nombre
de points de définir un profil constant. Il est possible d’exécuter simultanément plusieurs commandes CAMBOX en utilisant des valeurs identiques
ou qui se chevauchent dans le tableau TABLE.
La commande CAMBOX exige que l’élément de début du tableau TABLE ait
la valeur zéro. Notez également que la commande CAMBOX permet de traverser le tableau TABLE vers l’arrière ou vers l’avant, en fonction du sens
de l’axe maître.
L’argument option_liaison sert à spécifier différentes options pour démarrer
la commande et spécifier une commande CAM continue. Par exemple,
si option_liaison a la valeur 4, la commande CAMBOX fonctionne comme
une commande CAM «physique».
CAMBOX est valable sur l’axe de base par défaut (réglé avec BASE), sauf
si la commande AXIS est utilisée pour spécifier un axe de base temporaire.
Remarque : lors de l’exécution de la commande CAMBOX, le paramètre
ENDMOVE est défini sur la fin du mouvement précédent. Le paramètre d’axe
REMAIN contient le reste de la distance sur l’axe de liaison.
CAMBOX
sert à générer le mouvement d’un axe en fonction d’un
Arguments•point_départ
Adresse du premier élément du tableau TABLE à utiliser.
•point_fin
Adresse du dernier élément du tableau TABLE.
•multiplicateur_table
La valeur du multiplicateur Table sert à définir l’échelle des valeurs stockées dans TABLE. Les valeurs TABLE étant spécifiées dans les fronts
du codeur, utilisez cet argument pour définir les valeurs du facteur de
conversion d’unités, par exemple (défini par le paramètre UNITS).
•distance_liaison
Distance en unités utilisateur que l’axe de liaison doit parcourir pour terminer le mouvement de sortie spécifié. La valeur de la distance de liaison
doit être positive.
•axe_liaison
Axe à lier.
•option_liaison
Consultez le tableau ci-dessous.
•position_liaison
Position absolue de démarrage de la commande CAMBOX lorsque
option_liaison est défini sur 2.
ExemplePas d’exemple.
Voir aussi•AXIS, CAM, REP_OPTION, TABLE
/i
Valeur
option_liaison
1La liaison démarre lorsque l’événement d’enregistrement se produit
2La liaison démarre à une position absolue de l’axe de liaison
4Répétition automatique de la commande CAMBOX de manière bidi-
5Combinaison des options 1 et 4.
6Combinaison des options 2 et 4.
Description
sur l’axe de liaison.
(voir position_liaison).
rectionnelle. Cette option est annulée en définissant le bit 1 du paramètre REP_OPTION (REP_OPTION = REP_OPTION OR 2).
MANUEL DE PROGRAMMATION55
Commandes BASIC
3.2.43 CANCEL
/i
TypeCommande d’axe
SyntaxeCANCEL[(1)]
CA[(1)]
DescriptionLa commande CANCEL annule le mouvement actuel d’un axe. Les mouve-
ments à profil de vitesse (FORWARD, REVERSE, MOVE, MOVEABS, MOVECIRC, MHELICAL et MOVEMODIFY) sont décélérés au taux de décélération défini par le paramètre DECEL avant d’être arrêtés. Les autres mouvements sont immédiatement arrêtés.
La commande CANCEL annule le contenu du tampon de mouvement actuel
(MTYPE). La commande CANCEL(1) annule le contenu du tampon de mouvement suivant (NTYPE) sans perturber le mouvement actuel du tampon
MTYPE.
CANCEL est valable sur l’axe de base par défaut (réglé avec BASE), sauf
si la commande AXIS est utilisée pour spécifier un axe de base temporaire.
Remarque :
•La commande
cution. Si d’autres mouvements sont mis en tampon, ils sont chargés.
•Lors de la décélération du mouvement actuel, les commandes CANCEL
supplémentaires sont ignorées.
•La commande CANCEL(1) annule uniquement le mouvement en tampon
actuel. Tous les mouvements stockés dans les tampons de tâches signalés par la variable PMOVE peuvent être chargés dans le tampon dès
que le mouvement en tampon est annulé.
ArgumentsN/A
ExempleFORWARD
WA(10000)
CANCEL
CANCEL
annule uniquement le mouvement en cours d’exé-
3.2.44 CHECKSUM
/i
TypeParamètre système (en lecture seule)
SyntaxeCHECKSUM
DescriptionLe paramètre CHECKSUM contient la somme de contrôle des programmes
en mémoire RAM. Au démarrage, la somme de contrôle est recalculée
et comparée à la valeur stockée précédente. Le programme n’est pas
exécuté si la somme de contrôle est incorrecte.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
3.2.45 CHR
/i
TypeCommande d’E/S
SyntaxeCHR(x)
DescriptionLa commande CHR sert à envoyer des caractères ASCII référen-
cés par un nombre. PRINT CHR(x); équivaut à PUT(x) dans
d’autres versions du langage BASIC.
Arguments•x
Expression BASIC.
Exemple>>PRINT CHR(65);
A
Voir aussiN/A
ExempleMOVE(1000)
MOVEABS(3000)
CANCEL ' Annule le mouvement vers 3000 et passe à 4000.
MOVEABS(4000)
Notez que, dans ce cas, il est recommandé d’utiliser la commande
Révision 3.0
Voir aussiAXIS, MTYPE, NTYPE, PMOVE, RAPIDSTOP
pour modifier les points de fin de mouvements.
MOVEMODIFY
MANUEL DE PROGRAMMATION56
Commandes BASIC
3.2.46 CLEAR
/i
TypeCommande système
SyntaxeCLEAR
DescriptionLa commande CLEAR remet à zéro toutes les variables VR globales. Si vous
l’utilisez dans un programme, elle réinitialise également les variables locales
de la tâche actuelle.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussi•RESET, VR
3.2.47 CLEAR_BIT
/i
TypeCommande système
SyntaxeCLEAR_BIT(numéro_bit, numéro_vr)
DescriptionLa commande CLEAR_BIT remet à zéro le bit spécifié dans la variable VR
spécifiée. Les valeurs des autres bits de la variable sont préservées.
Arguments•numéro_bit
Numéro du bit à réinitialiser. Plage : 0 - 23.
•numéro_vr
Numéro de la variable VR dont le bit doit être remis à zéro. Plage : 0 - 1023.
ExemplePas d’exemple.
Voir aussiREAD_BIT, SET_BIT, VR.
3.2.48 CLEAR_PARAMS
/i
TypeCommande système
Révision 3.0
SyntaxeCLEAR_PARAMS
DescriptionRétablit les valeurs par défaut de l’ensemble des variables et des paramètres
en mémoire flash EPROM. La commande CLEAR_PARAM ne peut pas être
exécutée si le contrôleur est verrouillé.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
3.2.49 CLOSE_WIN
/i
TypeParamètre d’axe
SyntaxeCLOSE_WIN
CW
DescriptionLe paramètre d’axe CLOSE_WIN définit la fin de la fenêtre dans ou en dehors
de laquelle un repère d’enregistrement est attendu. La valeur est exprimée
en unités utilisateur.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiAXIS, OPEN_WIN, REGIST, UNITS.
3.2.50 CLUTCH_RATE
/i
TypeParamètre d’axe
SyntaxeCLUTCH_RATE
DescriptionLe paramètre d’axe CLUTCH_RATE définit le changement de rapport
de connexion en cas d’utilisation de la commande CONNECT. Le taux est
défini en tant que montant du rapport par seconde.
La valeur par défaut est élevée (1000000) afin de garantir la compatibilité
avec les cartes TJ1-MC__ antérieures.
Remarque : L’opération qui utilise la commande
ministe pour la position. Si nécessaire, utilisez plutôt la commande
pour éviter toute différence de phase inutile entre l’axe de base et l’axe lié.
CLUTCH_RATE
n’est pas déter-
MOVELINK
ArgumentsN/A
MANUEL DE PROGRAMMATION57
Commandes BASIC
ExempleCLUTCH_RATE = 4
Ce paramètre indique que lors de la génération de la commande
la connexion complète est atteinte en une seconde.
Voir aussiAXIS, CONNECT, MOVELINK.
CONNECT(4,1)
3.2.51 COMMSERROR
/i
TypeParamètre système (en lecture seule)
SyntaxeCOMMSERROR
DescriptionLe paramètre COMMSERROR contient les erreurs de communication
qui se sont produites depuis la dernière initialisation.
Le tableau ci-dessous répertorie les bits de la commande COMMSERROR.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
/i
BitDescription Emplacement de l’erreur
8Port 1 - Données Rx prêtesPort série 1
9Port 1 - Engorgement RxPort série 1
10Port 1 - Erreur de paritéPort série 1
3.2.52 COMMSTYPE
,
/i
TypeParamètre d’emplacement
SyntaxeCOMMSTYPE SLOT(numéro_carte)
DescriptionCe paramètre renvoie le type de carte installée dans un contrôleur.
Le tableau ci-dessous répertorie les valeurs renvoyées.
Arguments•numéro_carte
La plage de numéros de carte va de 0 à 6, 0 correspondant à la carte
située directement à droite de la carte TJ1-MC__.
ExemplePas d’exemple.
Voir aussiN/A
/i
Valeur
renvoyée
0Carte non utilisée
31TJ1-ML__
33TJ1-FL02
34TJ1-PRT
35TJ1-DRT
Description
11Port 1 - Erreur de trame RxPort série 1
12Port 2 - Données Rx prêtesPort série 2
13Port 2 - Engorgement RxPort série 2
14Port 2 - Erreur de paritéPort série 2
15Port 2 - Erreur de trame RxPort série 2
Révision 3.0
3.2.53 COMPILE
/i
TypeCommande de programme
SyntaxeCOMPILE
DescriptionLa commande COMPILE force la compilation du programme actuel en code
intermédiaire. Un programme est automatiquement compilé par le logiciel
système avant son exécution ou lors de la sélection d’un autre programme.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
MANUEL DE PROGRAMMATION58
Commandes BASIC
3.2.54 CONNECT
/i
TypeCommande d’axe
SyntaxeCONNECT(rapport, axe_pilotage)
CO(rapport, axe_pilotage)
DescriptionLa commande CONNECTE relie la position demandée de l’axe de base
aux mouvements mesurés de l’axe spécifié par l’argument axe_pilotage
afin de produire un réducteur électronique.
Il est possible de modifier le rapport à tout moment en exécutant une autre
commande CONNECT sur le même axe. Pour modifier l’axe de pilotage,
la commande CONNECT doit d’abord être annulée. La commande CON-
NECT est ignorée si elle porte sur un autre axe de pilotage. La commande
CONNECT peut être annulée à l’aide de la commande CANCEL ou RAPIDSTOP. Le paramètre d’axe CLUTCH_RATE peut servir à définir un taux de
changement de connexion spécifique.
CONNECT est valable sur l’axe de base par défaut (réglé avec BASE), sauf
si la commande AXIS est utilisée pour spécifier un axe de base temporaire.
Arguments•rapport
Rapport de connexion du réducteur. Le rapport est spécifié en tant
que rapport de fronts de codeur (pas en unités). Il contient le nombre
de fronts que l’axe de base doit déplacer par pas de front de l’axe
de pilotage. La valeur de rapport peut être positive ou négative et est
exprimée par une résolution de fraction 16 bits.
•axe_pilotage
Axe maître qui pilote l’axe de base.
ExempleDans une alimentation de presse, un rouleau doit pivoter à une vitesse cor-
respondant à un quart du taux mesuré à partir d’un codeur installé sur le
transporteur à courroie. Le rouleau est connecté à l’axe 0. Un canal d’entrée
surveille les impulsions du codeur à partir du transporteur et constitue l’axe 1.
Vous pouvez utiliser le code suivant :
BASE(1)
SERVO = OFF ' Cet axe sert à surveiller le transporteur
BASE(0)
SERVO = ON
DescriptionDéclare le nom en tant que constante à utiliser dans le programme qui con-
tient la définition CONSTANT et tous les autres programmes du projet Trajexia Tools.
Remarque : le programme qui contient la définition CONSTANT doit être exécuté avant que le nom soit utilisé dans d’autres programmes. En outre, seul
ce programme doit être exécuté lors de l’exécution de CONSTANT. À défaut,
une erreur programme s’affiche et le programme s’interrompt lors de la tentative d’exécution de cette commande. Pour accélérer le démarrage, il est également recommandé que le programme soit le seul processus en cours
d’exécution lors de la mise sous tension.
Une fois la définition CONSTANT déclarée, la déclaration reste active jusqu’à
la prochaine réinitialisation du TJ1-MC__ par un cycle de mise hors/sous tension ou par l’exécution de la commande EX.
Il est possible de déclarer un maximum de 128 définitions CONSTANT.
Arguments•nom
Nom défini par l’utilisateur contenant des caractères alphanumériques
minuscules, des chiffres ou des traits de soulignement (_).
•valeur
Valeur attribuée à l’argument nom.
ExempleCONSTANT "nak",$15
CONSTANT "start_button",5
IF IN(start_button)=ON THEN OP(led1,ON)
IF key_char=nak THEN GOSUB no_ack_received
Voir aussiN/A
3.2.56 CONTROL
/i
TypeParamètre système (en lecture seule)
SyntaxeCONTROL
DescriptionLe paramètre CONTROL contient le type de TJ1-MC__ dans le système.
La valeur de ce paramètre système est 262 pour le TJ1-MC__.
MANUEL DE PROGRAMMATION59
Commandes BASIC
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
3.2.57 COPY
/i
TypeCommande de programme
SyntaxeCOPY nom_programme nom_nouveau_programme
DescriptionLa commande COPY copie un programme existant du contrôleur dans un
nouveau programme portant le nom spécifié. Le nom du programme peut être
spécifié sans guillemets.
Remarque : cette commande est mise en œuvre pour un terminal hors connexion (VT100). Dans Trajexia Tools, l’utilisateur peut sélectionner la commande dans le menu Program (Programme).
Arguments•nom_programme
Nom du programme à copier.
•nom_nouveau_programme
Nom à attribuer au nouveau programme.
Exemple>> COPY "prog" "nouveauprog"
Voir aussiDEL, NEW, RENAME.
3.2.59 CREEP
/i
TypeParamètre d’axe
SyntaxeCREEP
DescriptionLe paramètre d’axe CREEP contient la vitesse lente sous charge de l’axe.
Cette vitesse est utilisée pour la partie lente d’une séquence de recherche
d’origine. La valeur de CREEP doit être positive ou égale à zéro.
La vitesse sous charge lente est exprimée en unités avec le facteur de conversion d’unités UNITS. Par exemple, si ce facteur est défini sur le nombre
de fronts du codeur/cm, la vitesse est réglée en centimètres.
DescriptionLa fonction COS renvoie le cosinus d’une expression. Les valeurs d’entrée
sont exprimées en radians. Il peut s’agir de n’importe quelle valeur. La valeur
du résultat est comprise entre -1 et 1.
Arguments•expression
Expression BASIC valide.
Révision 3.0
Exemple>> PRINT COS(0)
1.0000
Voir aussiN/A
/i
TypeParamètre d’axe
SyntaxeD_GAIN
DescriptionLe paramètre d’axe D_GAIN contient le gain dérivé de l’axe. La contribution
de sortie dérivée est calculée en multipliant le changement de l’erreur suivante par D_GAIN. La valeur par défaut est 0.
Ajoutez le gain dérivé à un système pour obtenir une réponse plus souple
et pour pouvoir utiliser un gain proportionnel plus élevé. Une valeur élevée
peut entraîner une oscillation.
Remarque : le gain servo ne doit être modifié que lorsque
DescriptionCe paramètre est utilisé avec D_ZONE_MIN pour forcer la sortie DAC
sur zéro lorsque le mouvement demandé est terminé et que la magnitude
de l’erreur suivante est inférieure à la valeur D_ZONE_MIN. La boucle servo
est réactivée lorsque l’erreur suivante dépasse la valeur D_ZONE_MAX
ou lorsqu’un nouveau mouvement est démarré.
ArgumentsN/A
ExempleD_ZONE_MIN=3
D_ZONE_MAX=10
En fonction des deux paramètres ci-dessus, la sortie DAC est forcée sur zéro
lorsque le mouvement est terminé et que l’erreur suivante est inférieure à 3.
La boucle servo est réactivée lorsqu’un mouvement est redémarré ou si l’erreur
suivante dépasse la valeur 10.
Voir aussiD_ZONE_MIN.
3.2.62 D_ZONE_MIN
/i
TypeParamètre système
SyntaxeD_ZONE_MIN=valeur
DescriptionCe paramètre est utilisé avec D_ZONE_MAX pour forcer la sortie DAC
sur zéro lorsque le mouvement demandé est terminé et que la magnitude
de l’erreur suivante est inférieure à la valeur D_ZONE_MIN. La boucle servo
est réactivée lorsque l’erreur suivante dépasse la valeur D_ZONE_MAX
ou lorsqu’un nouveau mouvement est démarré.
ArgumentsN/A
ExempleD_ZONE_MIN=3
D_ZONE_MAX=10
Révision 3.0
En fonction des deux paramètres ci-dessus, la sortie DAC est forcée sur zéro
lorsque le mouvement est terminé et que l’erreur suivante est inférieure à 3.
La boucle servo est réactivée lorsqu’un mouvement est redémarré ou si l’erreur
suivante dépasse la valeur 10.
Voir aussiD_ZONE_MAX.
3.2.63 DAC
Voir S_REF.
3.2.64 DAC_OUT
Voir S_REF_OUT.
3.2.65 DAC_SCALE
/i
TypeParamètre d’axe
SyntaxeDAC_SCALE
DescriptionCe paramètre poursuit deux objectifs :
1.Il est défini sur la valeur 16 au démarrage des axes intégrés du système.
Cette opération met à l’échelle les valeurs appliquées à la résolution
supérieure DAC afin que les gains requis pour l’axe soient similaires
à ceux requis pour les autres contrôleurs.
2.DAC_SCALE peut être défini sur une valeur négative (-16) afin
d’inverser la polarité du signal de sortie DAC. Lorsque le servo est désactivé, la magnitude de DAC_SCALE n’a pas d’importance car la tension appliquée est contrôlée par le paramètre DAC. La polarité est
toutefois inversée par DAC_SCALE.
ArgumentsN/A
ExempleDAC_SCALE AXIS(3)=-16
Voir aussiDAC, S_REF.
MANUEL DE PROGRAMMATION61
Commandes BASIC
3.2.66 DATE
/i
TypeParamètre système
SyntaxeDATE
Description
ArgumentsN/A
ExempleDATE=20:10:05
Exemple>>PRINT DATE
Voir aussiN/A
Règle ou renvoie la date du jour contenue par l’horloge temps réel de Trajexia.
La date peut être entrée au format JJ:MM:AA ou JJ:MM:AAAA.
ou
DATE=20:10:2005
36956
Cette commande affiche le nombre représentant la date du jour. Il s’agit du
nombre de jours écoulés depuis le 1er janvier 1900, cette date correspondant
à la valeur 1.
La commande
tionner un axe sur une position absolue et de réinitialiser les erreurs suivantes.
DATUM utilise la vitesse lente sous charge et la vitesse demandée dans le
cadre de la recherche d’origine. La vitesse lente sous charge des séquences
est définie à l’aide du paramètre d’axe CREEP, tandis que la vitesse deman-
dée est définie à l’aide du paramètre d’axe SPEED. Le numéro d’entrée
de commutateur de référence, utilisé pour les séquences 3 à 6, est défini
par le paramètre DATUM_IN.DATUM est valable sur l’axe de base par défaut (réglé avec BASE), sauf
si la commande AXIS est utilisée pour spécifier un axe de base temporaire.
Remarque : l’entrée d’origine réglée à l’aide du paramètre
entrée faible active, c’est-à-dire que le commutateur d’origine est réglé lorsque
l’entrée est désactivée. Les entrées de maintien d’alimentation, de jog avant
et arrière et de limite avant et arrière sont également des entrées faibles actives.
Les entrées faibles actives servent à activer le câblage de sécurité.
Consultez le tableau ci-dessous.
MOTION_ERROR, SPEED.
DATUM
effectue l’une des 6 recherches d’origine afin de posi-
DATUM_IN
est une
DescriptionAffiche la date du jour JJ/MM/AA en tant que chaîne sur le port. Une descrip-
tion d’année à 2 chiffres est fournie.
ArgumentsN/A
ExemplePRINT #1,DATE$
Cette commande affiche la date au format donné, par exemple : 20/10/05
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION62
Commandes BASIC
/i
Valeur de
séquence
0La commande DATUM(0) acquitte l’erreur de mouvement. La position actuel-
1L’axe se déplace vers l’avant à la vitesse lente sous charge jusqu’à ce
2L’axe se déplace vers l’arrière à la vitesse lente sous charge jusqu’à ce
3L’axe se déplace vers l’avant à la vitesse demandée jusqu’à ce que le com-
4L’axe se déplace vers l’arrière à la vitesse demandée jusqu’à ce que le com-
5L’axe se déplace vers l’avant à la vitesse demandée jusqu’à ce que le com-
Révision 3.0
Description
lement mesurée est définie en tant que position demandée (ce qui s’avère
particulièrement utile sur les axes de moteur à pas avec vérification de la position). DATUM(0) acquitte également l’erreur suivante qui dépasse la condition
FE_LIMIT dans le registre AXISSTATUS pour tous les axes. Cette commande
met à zéro les bits pour AXXISSTATUS :
Bit 1 : Avertissement d’erreur suivante.
Bit 2 : Erreur de communication du driver déporté.
Bit 3 : Erreur du driver déporté.
Bit 8 : Limite d’erreur suivante dépassée.
Bit 11 : Annulation du mouvement.
Il est impossible d’effacer l’état si la cause du problème est toujours présente.
que le repère Z soit atteint. La position demandée est alors remise à zéro
et la position mesurée est corrigée afin de maintenir l’erreur suivante.
que le repère Z soit atteint. La position demandée est alors remise à zéro
et la position mesurée est corrigée afin de maintenir l’erreur suivante.
mutateur de référence soit atteint. L’axe se déplace ensuite vers l’arrière à la
vitesse lente sous charge jusqu’à ce que le commutateur de référence soit réinitialisé. La position demandée est alors remise à zéro et la position mesurée
est corrigée afin de maintenir l’erreur suivante.
mutateur de référence soit atteint. L’axe se déplace ensuite vers l’avant à la
vitesse lente sous charge jusqu’à ce que le commutateur de référence soit réinitialisé. La position demandée est alors remise à zéro et la position mesurée
est corrigée afin de maintenir l’erreur suivante.
mutateur de référence soit atteint. L’axe se déplace ensuite vers l’arrière
à la vitesse lente sous charge jusqu’à ce que le commutateur de référence
soit réinitialisé. L’axe continue à la vitesse lente sous charge jusqu’à ce que
le repère Z du codeur soit atteint. La position demandée est alors remise
à zéro et la position mesurée est corrigée afin de maintenir l’erreur suivante.
Valeur de
séquence
6L’axe se déplace vers l’arrière à la vitesse demandée jusqu’à ce que le com-
Description
mutateur de référence soit atteint. L’axe se déplace ensuite vers l’avant
à la vitesse lente sous charge jusqu’à ce que le commutateur de référence
soit réinitialisé. L’axe continue à la vitesse lente sous charge jusqu’à ce que
le repère Z du codeur soit atteint. La position demandée est alors remise
à zéro et la position mesurée est corrigée afin de maintenir l’erreur suivante.
3.2.69 DATUM_IN
/i
TypeParamètre d’axe
SyntaxeDATUM_IN
DAT_IN
Description
Sigma II•Entrée 28 : CN1-40
Sigma III•Entrée 28 : CN1-13
Le paramètre d’axe
entrée de commutateur de référence pour la commande
valide est comprise entre 0 et 31. Les valeurs 0 à 15 correspondent aux entrées
physiques du connecteur d’E/S du TJ1-MC__. Elles sont communes à tous les axes.
Les valeurs 16 à 27 correspondent aux entrées logicielles pouvant être librement
utilisées dans des programmes et des commandes tels que IN et OP. Il s’agit également d’entrées communes à tous les axes. Les valeurs 28 à 31 sont directement
mappées sur les entrées de driver présentes sur le connecteur CN1. Elles sont uniques à chaque axe. Le mappage entre les entrées de driver et les entrées 28 à 31
varie en fonction de la valeur du paramètre de servodriver Pn81E. La valeur recommandée du paramètre Pn81E est 0x4321, avec le mappage ci-dessous :
Remarque : l’entrée d’origine est une entrée faible active, c’est-à-dire que
le commutateur d’origine est réglé lorsque l’entrée est désactivée. Les entrées
de maintien d’alimentation, de jog avant et arrière et de limite avant et arrière
sont également des entrées faibles actives. Les entrées faibles actives servent
à activer le câblage de sécurité.
•Entrée 29 : CN1-41
•Entrée 30 : CN1-42
•Entrée 31 : CN1-43
•Entrée 29 : CN1-7
•Entrée 30 : CN1-8
•Entrée 31 : CN1-9
DATUM_IN
contient le numéro de l’entrée à utiliser comme
DATUM
. La plage d’entrées
MANUEL DE PROGRAMMATION63
Commandes BASIC
Junma•Entrée 26 : CN1-2
•Entrée 27 : CN1-1
Pour plus d’informations sur le réglage du paramètre de driver Pn81E,
consultez le manuel correspondant au servodriver. Par défaut, le paramètre
est réglé sur la valeur -1 (aucune entrée sélectionnée).
ArgumentsN/A
ExempleDATUM_IN AXIS(0) = 5
Voir aussiAXIS, DATUM.
3.2.70 DAY
/i
TypeParamètre système
SyntaxeDAY
DescriptionRenvoie le jour actuel sous la forme d’un chiffre de 0 à 6, 0 correspondant
au dimanche. DAY peut être réglé par affectation.
ArgumentsN/A
Exemple>>DAY=3
>>? DAY
3.0000
Voir aussiN/A
3.2.71 DAY$
/i
TypeCommande système
SyntaxeDAY$
DescriptionAffiche le jour actuel sous la forme d’une chaîne.
ArgumentsN/A
Exemple>>DAY=3
Révision 3.0
Voir aussiN/A
>>? DAY$
Mercredi
3.2.72 DECEL
/i
TypeParamètre d’axe
SyntaxeDECEL
Description
ArgumentsN/A
ExempleDECEL = 100 ' Règle le taux de décélération
Voir aussiACCEL, AXIS, UNITS.
Le paramètre d’axe
exprimé en unités/s
PRINT " Le taux de deceleration est ";DECEL;" mm/s/s"
DECEL
2
contient le taux de décélération d’un axe. Ce taux est
. La valeur de ce paramètre doit être positive ou égale à zéro.
DescriptionLa commande DEFPOS définit la position demandée actuelle (DPOS) en tant
que nouvelle position absolue. La position mesurée (MPOS) est modifiée
en conséquence afin de conserver l’erreur suivante. La commande DEFPOS
est généralement utilisée après une séquence de recherche d’origine
(voir commande DATUM), car cette opération remet la position actuelle
à zéro. DEFPOS peut être utilisé à tout moment.
Il est également possible d’utiliser le paramètre d’axe OFFPOS, qui sert
à effectuer un ajustement relatif de la position actuelle.
DEFPOS est valable sur l’axe de base par défaut (réglé avec BASE), sauf
si la commande AXIS est utilisée pour spécifier un axe de base temporaire.
Remarque : les changements de la position d’axe effectués à l’aide de DEFPOS ou OFFPOS sont appliqués lors de la mise à jour suivante du servo.
Cela constitue une source potentielle de problème lorsqu’un mouvement est
initié dans le même cycle servo que DEFPOS ou OFFPOS.
L’exemple ci-dessous indique comment utiliser le paramètre OFFPOS afin
d’éviter ce problème. Les commandes DEFPOS sont converties en interne
en décalages de position OFFPOS. Le problème peut ainsi être facilement
contourné en effectuant la programmation suivante :
DEFPOS(100) : WAIT UNTIL OFFPOS = 0 : MOVEABS(0)
MANUEL DE PROGRAMMATION64
Commandes BASIC
ArgumentsLa commande peut comporter jusqu’à 16 arguments.
•pos_n
Position absolue de l’axe (base + n) exprimée en unités utilisateur. Reportezvous à la commande
La dernière ligne définit la position actuelle sur (-1000,-3500) en unités utilisateur. La position actuelle aurait été réinitialisée sur (0,0) par les deux commandes DATUM.
Voir aussiAXIS, DATUM, DPOS, OFFPOS, MPOS, UNITS.
BASE
pour connaître le regroupement des axes.
3.2.74 DEL
/i
TypeCommande de programme
SyntaxeDEL [nom_programme]
RM [nom_programme]
DescriptionLa commande DEL supprime un programme du contrôleur. Si aucun nom
de programme n’est spécifié, la commande DEL permet de supprimer le programme actuellement sélectionné (à l’aide de SELECT). Le nom du programme peut également être spécifié sans guillemets. DEL ALL supprime
tous les programmes.
La commande DEL peut également être utilisée pour supprimer la table :
DEL "TABLE". Le nom "TABLE" doit être placé entre guillemets.
Remarque : cette commande est mise en œuvre pour un terminal hors connexion (VT100). Dans Trajexia Tools, l’utilisateur peut sélectionner la commande dans le menu Program (Programme).
Arguments•nom_programme
Nom du programme à supprimer.
Exemple>> DEL ancienprog
Révision 3.0
Voir aussiCOPY, NEW, RENAME, SELECT, TA BLE.
3.2.75 DEMAND_EDGES
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeDEMAND_EDGES
DescriptionLe paramètre d’axe DEMAND_EDGES contient la valeur actuelle du paramè-
tre d’axe DPOS, exprimée en unités de front du codeur.
DescriptionLa fonction 2 de DEVICENET configure la carte TJ1-DRT pour l’échange
de données avec la carte maître DeviceNet et définit les zones de la mémoire
VR où l’échange d’E/S a lieu. La fonction 4 de DEVICENET renvoie l’état
d’échange des données de la carte TJ1-DRT. Reportez-vous au tableau ciaprès pour obtenir la description des bits dans l’état d’échange des données.
Arguments•numéro_carte
Indique le numéro de la carte TJ1-DRT dans le système Trajexia.
•sorties_début_VR
Adresse de début de la mémoire VR du contrôleur où les données
de sortie du maître DeviceNet sont stockées.
•nbre_sorties
Nombre de mots de sortie du maître DeviceNet en mémoire VR.
•entrées_début_VR
Adresse de début de la mémoire VR du contrôleur où les données
d’entrée du maître DeviceNet sont stockées.
•nbre_entrées
Nombre de mots d’entrée au maître DeviceNet en mémoire VR.
MANUEL DE PROGRAMMATION65
Commandes BASIC
ExempleDEVICENET (0,2,1,10,16,150,31)
Dans cet exemple, la carte TJ1-DRT est configurée pour échanger des données avec le maître DeviceNet en fonction de 16 mots de sortie (envoyés
par le maître) situés aux adresses VR(10) à VR(25) et de 31 mots d’entrée
(envoyés au maître) situés aux adresses VR(150) à VR(180).
Voir aussiN/A
/i
BitValeurDescription
00
1
10Pas de connexion d’E/S DeviceNet
1Connexion d’E/S DeviceNet en cours d’exécution
20Variables VR mises à jour dans la plage de données de sortie
1Variables VR pas encore mises à jour dans la plage de données
30Taille de connexion d’E/S DeviceNet correspondant à la commande
1Taille de connexion d’E/S DeviceNet ne correspondant pas à la com-
4-70Toujours zéro
80Alimentation réseau OK
1Panne d’alimentation réseau
90Pas de BUSOFF
1BUSOFF
100Pas d’erreur de duplication de l’adresse de nœud
1Erreur de duplication de l’adresse de nœud
Commande
Commande
de sortie
DEVICENET (numéro_carte, 2,…)
mande DEVICENET (numéro_carte, 2,…)
DEVICENET (numéro_carte, 2, ...)
DEVICENET (numéro_carte, 2, ...)
pas encore exécutée
exécutée sans erreur
Révision 3.0
MANUEL DE PROGRAMMATION66
Commandes BASIC
3.2.77 DIR
/i
TypeCommande de programme
SyntaxeDIR
LS
DescriptionLa commande DIR affiche la liste des programmes contenus dans le contrô-
leur, la taille de la mémoire et la commande RUNTYPE. DIR affiche également la taille de la mémoire disponible, le mode de mise sous tension
et le programme actuellement sélectionné du contrôleur.
DescriptionCette commande sert à regrouper des axes à des fins de désactivation
d’erreur. Si un groupe d’axes est défini, lorsqu’une erreur se produit sur un
axe, les paramètres AXIS_ENABLE et SERVO sont désactivés (OFF) pour
tous les axes. Il est possible de définir plusieurs groupes, mais un axe ne peut
pas appartenir à plus d’un groupe. Tous les groupes peuvent être effacés
à l’aide de la commande DISABLE_GROUP(-1).
Arguments•axe_n
Expression BASIC évaluée sur un numéro d’axe.
ExempleDISABLE_GROUP(-1)
DISABLE_GROUP(0,1,2,3)
DISABLE_GROUP(4,5,6,7)
WDOG=ON
STOP
enable_b:
FOR ax=4 TO 7
AXIS_ENABLE AXIS(ax)=ON
NEXT ax
Un système de 8 axes nécessite que l’exécution des axes 4 à 7 se poursuit
en cas d’erreur des axes 0 à 3 et inversement. Les axes sont regroupés
à l’aide de la commande DISABLE_GROUP.
Remarque : à utiliser avec MECHATROLINK-II uniquement.
Voir aussiN/A
3.2.79 DISPLAY
/i
TypeParamètre système
SyntaxeDISPLAY=valeur
DescriptionDétermine les canaux d’E/S à afficher sur les voyants en face avant. Le para-
mètre DISPLAY peut être utilisé pour sélectionner la banque d’E/S à afficher.
Le tableau ci-dessous répertorie les valeurs possibles.
Le paramètre d’axe
utilisateur, générée par les commandes de déplacement dans le contrôle servo.
Lorsque le contrôleur est en boucle ouverte (
(
MPOS
) est copiée dans
La plage de la position demandée est déterminée par les paramètres d’axe
REP_DIST et REP_OPTION. Il est possible d’ajuster la valeur sans effectuer
de mouvement à l’aide de la commande DEFPOS ou du paramètre d’axe
OFFPOS. DPOS est remis à zéro au démarrage.
34.0000
La ligne ci-dessus renvoie la position demandée en unités utilisateur.
REP_OPTION, OFFPOS, UNITS.
DPOS
contient la position demandée exprimée en unités
SERVO=OFF
DPOS
afin de conserver une erreur suivante 0.
), la position mesurée
3.2.81 DRIVE_ALARM
/i
TypeCommande d’axe
SyntaxeDRIVE_ALARM(VR)
Description
Arguments•VR
ExempleIF NOT DRIVE_ALARM(10) AXIS(2) THEN
La commande DRIVE_ALARM lit l’alarme actuelle du servodriver connecté
au système Trajexia via MECHATROLINK-II. En cas d’exécution réussie, la commande renvoie la valeur -1 et la stocke dans l’emplacement de mémoire VR spécifié par le paramètre VR. Si la commande ne peut pas être exécutée, la valeur 0
est renvoyée. La commande est exécutée sur le driver de l’axe de base défini par
BASE. Il est possible de modifier l’axe de base à l’aide du modificateur AXIS,
comme pour l’ensemble des autres commandes et paramètres d’axe.
Cette commande attend la réponse de l’axe. Son exécution peut être lente
et variable dans le temps. N’utilisez pas cette commande si vous souhaitez
obtenir une réponse rapide.
Valeur d’alarme stockée à l’adresse VR en cas d’exécution réussie.
PRINT "Echec de lecture de l’alarme pour le servodriver"
ELSE
IF VR(10) = 0 THEN
Cet exemple lit une alarme du servodriver qui pilote l’axe 2 et affiche
ces informations pour l’utilisateur.
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION68
Commandes BASIC
3.2.82 DRIVE_CLEAR
/i
TypeCommande d’axe
SyntaxeDRIVE_CLEAR
DescriptionLa commande DRIVE_CLEAR efface l’état d’alarme du servodriver connecté
via le bus MECHATROLINK-II. Elle ne peut pas effacer tous les états
d’alarme possibles. En effet, certaines alarmes ne peuvent être annulées
qu’en mettant le système hors tension (TJ1-MC__ et servodriver) puis
en le remettant sous tension.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiDRIVE_STATUS.
Attention
Assurez-vous qu’aucune console de paramétrage ou qu’aucun
logiciel informatique n’est connecté au servodriver lors de l’exécution de cette commande. À défaut, la tâche du programme sera
mise en pause jusqu’à ce que la connexion entre l’autre périphérique et le servodriver soit désactivée.
ExempleDRIVE_CONTROL AXIS(2) = 256
Dans cet exemple, la sortie 0 est activée pour l’axe 2 connecté à l’aide
de la carte TJ1-FL02.
Voir aussiN/A
/i
CodeDescription
2Erreur suivante (valeur FE réelle en cas d’utilisation de ATYPE = 40)
8Vitesse de retour (avec Atype = 41 Cartes = Vitesse max./40000000H, avec autres
cartes Atype = unités de référence/s)
9Vitesse de commande (unités identiques à la vitesse de retour)
10Vitesse cible (unités identiques à la vitesse de retour)
Moniteur sélectionné avec Pn813.0, utile pour surveiller les moniteurs servo (Unxxx)
Moniteur sélectionné avec Pn813.1, utile pour surveiller les moniteurs servo (Unxxx)
3.2.83 DRIVE_CONTROL
/i
TypeParamètre d’axe
SyntaxeDRIVE_CONTROL
DescriptionLorsqu’il est appliqué à un axe contrôlé par le servodriver connecté au sys-
tème via le bus MECHATROLINK-II, ce paramètre sélectionne les données
à surveiller par DRIVE_MONITOR en fonction du tableau ci-dessous. Si un
servodriver est connecté pour l’axe à l’aide de la carte TJ1-FL02, ce paramètre définit les sorties de cette dernière. Réglez le bit 8 de ce paramètre afin
Révision 3.0
ArgumentsN/A
MANUEL DE PROGRAMMATION69
d’activer la sortie 0 d’un axe. Réglez le bit 9 de ce paramètre afin d’activer
la sortie 1 d’un axe. N’oubliez pas que les mêmes sorties sont utilisées par
la commande HW_PSWITCH.
Commandes BASIC
3.2.84 DRIVE_INPUTS
/i
TypeParamètre d’axe
SyntaxeDRIVE_INPUTS
DescriptionCe paramètre surveille l’état des entrées du servodriver connecté via le bus
MECHATROLINK-II. La valeur du paramètre est rafraîchie à chaque cycle
SERVO_PERIOD. Il s’agit d’un mot par bit. Reportez-vous au tableau ci-dessous pour connaître la description des bits. Paramétrage recommandé :
Pn81E=4321 et Pn511=654x.
ArgumentsN/A
ExempleToutes les entrées peuvent être contrôlées dans ce mot comme suit
(servodriver Sigma-II) :
CN1-40 DRIVE_INPUTS bit 12
CN1-41 DRIVE_INPUTS bit 13
CN1-42 DRIVE_INPUTS bit 14
CN1-43 DRIVE_INPUTS bit 15
CN1-44 DRIVE_INPUTS bit 06
CN1-45 DRIVE_INPUTS bit 07
CN1-46 DRIVE_INPUTS bit 08
ExempleToutes les entrées peuvent être contrôlées dans ce mot comme suit
(servodriver Junma) :
CN1-1 DRIVE_INPUTS bit 6
CN1-2 DRIVE_INPUTS bit 2
CN1-3 DRIVE_INPUTS bit 1
CN1-4 DRIVE_INPUTS bit 0
Voir aussiN/A
/i
Numéro
de bit
0P_OTP_OT
1N_OTN_OT
Révision 3.0
2Signal DEC (sélectionné avec Pn511.0)/DEC
3Codeur phase AN/C
Description (Sigma-II)Description (Junma)
Numéro
de bit
4Codeur phase BN/C
5Codeur phase CN/C
6Signal EXT1 (sélectionné avec Pn511.1)/EXT1
7Signal EXT2 (sélectionné avec Pn511.2)N/C
8Signal EXT3 (sélectionné avec Pn511.3)N/C
9Sortie de frein BRK/BK
10RéservéE_STP
11RéservéN /C
12IO12 (signal d’entrée CN1 sélectionné dans
13IO13 (signal d’entrée CN1 sélectionné dans
14IO14 (signal d’entrée CN1 sélectionné dans
15IO15 (signal d’entrée CN1 sélectionné dans
Description (Sigma-II)Description (Junma)
N/C
Pn81E.0)
N/C
Pn81E.1)
N/C
Pn81E.2)
N/C
Pn81E.3)
3.2.85 DRIVE_MONITOR
/i
TypeParamètre d’axe
SyntaxeDRIVE_MONITOR
DescriptionCe paramètre contient les données surveillées du servodriver connecté
au système via le bus MECHATROLINK-II. Les données à surveiller sont
sélectionnées à l’aide de DRIVE_CONTROL et peuvent être affichées dans
l’oscilloscope Trajexia Tools ou utilisées dans un programme. Les données
surveillées sont rafraîchies à chaque cycle SERVO_PERIOD.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
MANUEL DE PROGRAMMATION70
Commandes BASIC
3.2.86 DRIVE_READ
/i
TypeCommande d’axe
SyntaxeDRIVE_READ(paramètre,taille,VR)
DescriptionLa commande DRIVE_READ lit le paramètre spécifié du servodriver connecté
au système Trajexia via le bus MECHATROLINK-II. En cas d’exécution réussie, cette commande renvoie la valeur -1 et stocke la valeur lue dans l’emplacement de mémoire VR spécifié par le paramètre VR. Si la commande ne
peut pas être exécutée, la valeur 0 est renvoyée. La commande est exécutée
sur le driver de l’axe de base défini avec BASE. Il est possible de modifier
l’axe à l’aide du modificateur AXIS, comme pour l’ensemble des autres commandes et paramètres d’axe.
Remarque : cette commande attend la réponse de l’axe. Son exécution peut
dès lors être lente et variable dans le temps. N’utilisez pas cette commande
avec d’autres commandes nécessitant une exécution rapide.
Remarque : l’exécution de DRIVE_READ désactive temporairement l’affichage du panneau avant du servodriver.
Remarque : en cas d’exécution réussie, la commande DRIVE_READ renvoie
la valeur -1. Cette valeur est également renvoyée sans paramètre si le
numéro du paramètre n’existe pas ou présente une taille incorrecte.
Arguments•paramètre
Numéro du paramètre à lire. Les numéros des paramètres sont au format
hexadécimal. Consultez le manuel du servodriver pour connaître le format des données.
•taille
Pour la plupart des paramètres, la taille est de 2 octets. Toutefois,
certains paramètres spéciaux peuvent avoir une longueur de 4 octets.
Consultez le manuel du servodriver pour connaître la taille de chaque
paramètre.
•VR
Adresse VR où le paramètre lu est stocké en cas d’exécution réussie.
Attention
Assurez-vous qu’aucune console de paramétrage ou qu’aucun
logiciel informatique n’est connecté au servodriver lors de l’exécution de cette commande. À défaut, la tâche du programme sera
mise en pause jusqu’à ce que la connexion entre l’autre périphérique et le servodriver soit désactivée.
3.2.87 DRIVE_RESET
/i
TypeCommande d’axe
SyntaxeDRIVE_RESET
DescriptionLa commande DRIVE_RESET réinitialise le servodriver connecté via le bus
MECHATROLINK-II.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
Attention
Assurez-vous qu’aucune console de paramétrage ou qu’aucun
logiciel informatique n’est connecté au servodriver lors de l’exécution de cette commande. À défaut, la tâche du programme sera
mise en pause jusqu’à ce que la connexion entre l’autre périphérique et le servodriver soit désactivée.
PRINT "Impossible de lire le gain de boucle de vitesse"
ENDIF
MANUEL DE PROGRAMMATION71
Commandes BASIC
3.2.88 DRIVE_STATUS
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeDRIVE_STATUS
DescriptionPour les axes MECHATROLINK-II, ce paramètre est réglé à partir du champ
STATUS de la trame de communication MECHATROLINK-II et est rafraîchi
à chaque cycle servo. Ces bits s’affichent dans la fenêtre de configuration
des drivers intelligents de Trajexia Tools. Ils peuvent être utilisés dans des
programmes. Le tableau ci-dessous décrit chaque bit. (Remarque : seuls
les bits correspondant aux axes MECHATROLINK-II sont répertoriés.)
Pour obtenir l’explication détaillée de ces bits d’état, reportez-vous au manuel
MECHATROLINK-II.
Pour les axes flexibles, ce paramètre stocke l’état des entrées d’enregistrement et auxiliaires, ainsi que la sélection d’enregistrement. Le second
tableau ci-après décrit chaque bit. (Remarque : seuls les bits correspondant
aux axes flexibles sont répertoriés.)
ArgumentsN/A
ExemplePRINT DRIVE_STATUS AXIS(4)
Cette commande affiche la valeur actuelle de la commande DRIVE_STATUS
pour l’axe (4).
ExempleBASE(3)
ATYPE = 44IF (DRIVE_STATUS AND 32)= 32 THENPRINT "Entree REG 0 activee pour axe(3)"
La commande
du servodriver connecté via le bus MECHATROLINK-II. En cas d’exécution réussie, cette commande renvoie la valeur -1. Si la commande ne peut pas être exécutée, la valeur 0 est renvoyée. La commande est exécutée sur le driver de l’axe
de base défini avec
AXIS
, comme pour l’ensemble des autres commandes et paramètres d’axe. Pour
certains paramètres, le driver doit être mis hors tension puis remis sous tension.
La commande
Remarque : cette commande attend la réponse de l’axe. Son exécution peut
dès lors être lente et variable dans le temps. N’utilisez pas cette commande
avec d’autres commandes nécessitant une exécution rapide.
Remarque : l’exécution de DRIVE_WRITE désactive temporairement l’affichage du panneau avant du servodriver.
Remarque : en cas d’exécution réussie, la commande DRIVE_WRITE
renvoie la valeur -1. Cette valeur est également renvoyée sans paramètre
si le numéro du paramètre n’existe pas ou présente une taille incorrecte.
Numéro du paramètre dans lequel l’écriture doit être effectuée.
Les numéros des paramètres sont au format hexadécimal. Consultez
le manuel du servodriver pour connaître le format des données.
•taille
Pour la plupart des paramètres, la taille est de 2 octets. Toutefois, certains
paramètres spéciaux peuvent avoir une longueur de 4 octets. Consultez
le manuel du servodriver pour connaître la taille de chaque paramètre.
•valeur
Valeur à écrire dans le paramètre du driver.
•mode
Mode d’écriture. Valeurs possibles : 0 (ou ignoré) - écriture et stockage
en mémoire RAM ; 1 - écriture et stockage en mémoire EPROM.
DRIVE_WRITE
BASE
. Il est possible de modifier l’axe à l’aide du modificateur
Assurez-vous qu’aucune console de paramétrage ou qu’aucun
logiciel informatique n’est connecté au servodriver lors de l’exécution de cette commande. À défaut, la tâche du programme sera
mise en pause jusqu’à ce que la connexion entre l’autre périphérique et le servodriver soit désactivée.
3.2.90 EDIT
/i
TypeCommande de programme
SyntaxeEDIT [ numéro_ligne ]
ED [ numéro_ligne ]
DescriptionLa commande EDIT démarre l’éditeur intégré à l’écran qui permet de modifier
un programme du contrôleur à l’aide d’un terminal VT100. Le programme
actuellement sélectionné peut être modifié.
Les commandes de l’éditeur sont les suivantes :
Cette commande est mise en œuvre pour un terminal hors connexion
(VT100). Dans Trajexia Tools, l’utilisateur peut sélectionner la commande
dans le menu Program (Programme).
•Quit Editor (Quitter l’éditeur) : [CTRL] K et D
•Delete Line (Supprimer la ligne) : [CTRL] Y
Arguments•numéro_ligne
Numéro de la ligne à laquelle la modification doit commencer.
ExemplePas d’exemple.
Voir aussiSELECT.
3.2.91 ELSE
ExempleIF DRIVE_WRITE($100,2,90) THEN
Révision 3.0
PRINT "Nouveau gain de boucle de vitesse : 90"
ELSE
PRINT "Impossible d’ecrire le gain de boucle de vitesse en memoire RAM"
ENDIF
Voir IF..THEN..ELSE..ENDIF.
3.2.92 ELSEIF
Voir IF..THEN..ELSE..ENDIF.
MANUEL DE PROGRAMMATION73
Commandes BASIC
3.2.93 ENCODER
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeENCODER
DescriptionLe paramètre d’axe ENCODER contient une copie brute du codeur.
Le paramètre d’axe MPOS contient automatiquement la position mesurée
calculée à partir de la valeur ENCODER. Des dépassements et des décalages sont ainsi possibles.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiAXIS, MPOS.
3.2.94 ENCODER_BITS
/i
TypeParamètre d’axe
SyntaxeENCODER_BITS = valeur
DescriptionCe paramètre d’axe configure l’interface pour le nombre de bits de codeur
pour les axes flexibles de codeur absolu SSI et EnDat. Ce paramètre ne concerne que les axes dont la valeur ATYPE correspond à 47 ou 48.
Lorsque ce paramètre est appliqué à l’axe flexible de codeur absolu EnDat,
les bits 0 à 7 doivent être définis sur le nombre total de bits de codeur.
Les bits 8 à 14 doivent être définis sur le nombre de bits multitours à utiliser.
Lorsque ce paramètre est appliqué à l’axe flexible de codeur absolu SSI,
les bits 0 à 5 doivent être définis sur le nombre total de bits de codeur. Le bit 6
doit correspondre à 1 pour le fonctionnement binaire et à 0 pour le code Gray.
Remarque : en cas d’utilisation d’un axe flexible de codeur absolu, il est essentiel de définir ce paramètre pour l’axe avant de régler le paramètre ATYPE.
ArgumentsN/A
ExempleENCODER_BITS = 25 + (256 * 12)
ATYPE = 47
Révision 3.0
Dans cet exemple, un codeur EnDat 25 bits est utilisé, 12 bits servant pour
la valeur multitours et 13 bits par rotation.
ExempleENCODER_BITS = 12 + (64 * 1)
ATYPE = 48
Dans cet exemple, un codeur SSI 12 bits est utilisé (4096 positions par rotation),
avec le type de sortie binaire.
Voir aussiAXIS.
3.2.95 ENCODER_CONTROL
/i
TypeParamètre d’axe
SyntaxeENCODER_CONTROL = valeur
DescriptionLe paramètre ENCODER_CONTROL ne concerne que l’axe flexible de
codeur absolu EnDat avec la valeur ATYPE 47. Il détermine le mode selon
lequel le codeur EnDat renvoie sa position. Le codeur peut être réglé pour
renvoyer sa position de manière cyclique ou pour fonctionner en mode de
lecture/écriture de paramètre. Après l’initialisation, le paramétrage par défaut
correspond au mode d’envoi de position cyclique. Pour plus d’informations,
consultez les caractéristiques de l’interface du codeur absolu EnDat.
ArgumentsN/A
ExempleENCODER_CONTROL AXIS(1) = 0
Cette commande définit le mode d’envoi de position cyclique.
ExempleENCODER_CONTROL AXIS(1) = 1
Cette commande définit le mode de lecture/écriture de paramètre.
Voir aussiAXIS, ENCODER, ENCODER_BITS.
MANUEL DE PROGRAMMATION74
Commandes BASIC
3.2.96 ENCODER_ID
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeENCODER_ID
DescriptionCe paramètre renvoie la valeur d’ID d’un codeur absolu pour l’axe.
Ce paramètre ne concerne que l’axe flexible Tamagawa absolu dont la valeur
ATYPE correspond à 46.
Il renvoie le paramètre ENID du codeur, qui a la valeur 17. Pour plus d’informations, consultez les caractéristiques de l’interface du codeur absolu Tamagawa.
S’il est appliqué à un axe dont la valeur ATYPE est différente de 46, ce paramètre renvoie la valeur 0.
ArgumentsN/A
Exemple>>PRINT ENCODER_ID AXIS (1)
17.0000
Cette commande affiche la valeur d’ID de codeur absolu pour l’axe 1.
Voir aussiAXIS, ENCODER, ENCODER_BITS.
3.2.97 ENCODER_RATIO
/i
TypeParamètre d’axe
SyntaxeENCODER_RATIO(dénominateur,numérateur)
DescriptionPermet de mettre à l’échelle le compteur de codeur entrant en fonction
d’un nombre non entier, à l’aide de l’équation suivante :
MPOS = (numérateur)/(dénominateur) x entrée fronts de codeur
Contrairement au paramètre UNITS, ENCODER_RATIO influence MOVECIRC et CAMBOX.
Remarque : il est recommandé de ne pas définir de taux élevés car ils entraînent une perte de résolution ou réduisent la fluidité du mouvement.
Le compteur de codeur physique réel constitue la résolution de base de l’axe
et l’utilisation de cette commande risque de diminuer le positionnement précis
Révision 3.0
par le contrôleur d’axes.
Remarque : ENCODER_RATIO ne remplace pas UNITS. Utilisez
ENCODER_RATIO qu’en cas d’absolue nécessité. Pour toutes les autres
opérations de mise à l’échelle d’axe, utilisez UNITS.
Arguments•dénominateur
Nombre compris entre 0 et 16777215 qui sert à définir le dénominateur
dans l’équation ci-dessus.
•numérateur
Nombre compris entre 0 et 16777215 qui sert à définir le numérateur
dans l’équation ci-dessus.
ExempleENCODER_RATIO(8192,7200)
UNITS=20
Une table rotative comporte un servomoteur directement connecté à son centre de rotation. Un codeur est placé à l’arrière du servomoteur et renvoie une
valeur de 8 192 unités par tour. L’application exige que la table soit étalonnée
en degrés, de sorte qu’un degré corresponde à un nombre entier d’unités.
Voir aussiN/A
3.2.98 ENCODER_READ
/i
TypeCommande d’axe
SyntaxeENCODER_READ(adresse)
DescriptionLa commande ENCODER_READ ne concerne que l’axe flexible de codeur
absolu EnDat avec la valeur ATYPE 47. Elle renvoie un paramètre de codeur
16 bits stocké à l’adresse indiquée. Les bits 8 à 15 de l’adresse représentent
les paramètres de champ MRS EnDat et les bits 0 à 7 constituent le décalage
dans le bloc MRS EnDat. En cas d’erreur CRC, cette commande renvoie
la valeur -1. Pour plus d’informations, consultez les caractéristiques de l’interface du codeur absolu EnDat.
Arguments•adresse
Spécifie le champ MRS à lire.
ExempleVR(100) = ENCODER_READ($A10D) AXIS(7)
Cette commande lit le nombre de bits de codeur et place cette valeur dans
l’emplacement de mémoire VR(10).
Voir aussiAXIS, ENCODER, ENCODER_BITS.
MANUEL DE PROGRAMMATION75
Commandes BASIC
3.2.99 ENCODER_STATUS
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeENCODER_STATUS
DescriptionCe paramètre renvoie l’état du codeur absolu Tamagawa.
Ce paramètre ne concerne que l’axe flexible de codeur absolu Tamagawa
avec la valeur ATYPE 46. Il renvoie le champ d’état SF et le champ d’erreur
de codeur ALMC. Le champ SF contient un bit de 0 à 7, tandis que le champ
ALMC contient un bit de 8 à 15. Pour plus d’informations, consultez les caractéristiques de l’interface du codeur absolu Tamagawa.
S’il est appliqué à un axe dont la valeur ATYPE est différente de 46, ce paramètre renvoie la valeur 0.
ArgumentsN/A
ExemplePRINT (ENCODER_STATUS AXIS (1) AND 255)
Cette commande affiche le champ SF du codeur absolu Tamagawa pour l’axe 1.
Voir aussiAXIS, ENCODER, ENCODER_BITS.
3.2.100 ENCODER_TURNS
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeENCODER_TURNS
DescriptionLe paramètre ENCODER_TURNS renvoie le nombre de multitours du codeur.
Ce paramètre ne concerne que l’axe flexible de codeur absolu Tamagawa
avec la valeur ATYPE 46 et l’axe flexible de codeur absolu EnDat avec
la valeur ATYPE 47.
Les données multitours ne sont pas automatiquement appliquées au paramètre
d’axe
MPOS
après l’initialisation. En effet, le programmeur de l’application doit les
appliquer à partir du programme à l’aide de la commande
S’il est appliqué à un axe dont la valeur ATYPE est différente de 46 ou 47,
ce paramètre renvoie la valeur 0.
OFFPOS
ou
DEFPOS
3.2.101 ENCODER_WRITE
/i
TypeCommande d’axe
SyntaxeENCODER_WRITE(adresse, valeur)
DescriptionLa commande ENCODER_WRITE ne concerne que l’axe flexible de codeur
absolu EnDat avec la valeur ATYPE 47. Elle effectue une écriture dans
le paramètre de codeur spécifié par l’adresse. Les bits 8 à 15 de l’adresse
représentent les paramètres de champ MRS EnDat et les bits 0 à 7 constituent le décalage dans le bloc MRS EnDat. En cas d’erreur CRC, cette commande renvoie la valeur -1. L’écriture sur l’adresse 0 exécute une fonction
de réinitialisation du codeur. Pour plus d’informations, consultez les caractéristiques de l’interface du codeur absolu EnDat. Pour écrire correctement
un paramètre de codeur à l’aide de cette commande, le paramètre
ENCODER_WRITE doit être défini sur la valeur 1, qui correspond au mode
de lecture/écriture de paramètre du codeur.
Arguments•adresse
Spécifie le champ MRS dans lequel l’écriture doit être effectuée.
Cette commande affiche le nombre de multitours du codeur absolu pour l’axe 1.
Voir aussiAXIS, ENCODER, ENCODER_BITS.
MANUEL DE PROGRAMMATION76
Commandes BASIC
3.2.103 ENDMOVE
/i
TypeParamètre d’axe
SyntaxeENDMOVE
DescriptionLe paramètre d’axe ENDMOVE contient la position de la fin du mouvement
actuel, exprimée en unités utilisateur. Si le paramètre d’axe SERVO est
activé, le paramètre ENDMOVE peut être écrit pour produire un changement
d’étape de la position demandée (DPOS).
Remarque : la position mesurée n’étant pas modifiée à l’origine, la limite
d’erreur suivante (FE_LIMIT) doit être prise en compte. Si la variation
de la position demandée est trop importante, la limite est dépassée.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiAXIS, DPOS, FE_LIMIT, UNITS.
3.2.104 EPROM
/i
TypeCommande de programme
SyntaxeEPROM
Description
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiPOWER_UP, RUNTYPE.
La commande
sauvegardée par batterie du TJ1-MC__, dans la mémoire flash EPROM.
Le paramètre système POWER_UP détermine si les programmes stockés dans
la mémoire flash EPROM sont copiés dans la mémoire RAM au démarrage.
Remarque : Dans Trajexia Tools, cette commande est disponible sous la
forme d’un bouton dans le panneau de commande. En outre, des écrans contextuels invitent à écrire les données de programme dans la mémoire flash.
EPROM
stocke les programmes BASIC de la mémoire RAM
3.2.105 ERROR_AXIS
/i
TypeParamètre système (en lecture seule)
SyntaxeERROR_AXIS
DescriptionLe paramètre d’axe ERROR_AXIS contient le numéro de l’axe qui a entraîné
l’erreur de mouvement.
Une erreur de mouvement se produit lorsque l’état AXISSTATUS d’un axe
correspond au paramètre ERRORMASK. Dans ce cas, le commutateur
d’activation (WDOG) se désactive, le paramètre MOTION_ERROR prend
la valeur 1 et le paramètre ERROR_AXIS contient le numéro du premier
axe sur lequel l’erreur s’est produite.
DescriptionLe paramètre ERROR_LINE contient le numéro de la ligne qui a entraîné
la dernière erreur d’exécution BASIC dans la tâche de programme. Cette
valeur n’est valide que si le paramètre BASICERROR a la valeur TRUE.
Chaque tâche est associée à un paramètre
Utilisez le modificateur
PROC
Si
ArgumentsN/A
Exemple>> PRINT ERROR_LINE PROC(4)
23.0000
Voir aussiBASICERROR, PROC, RUN_ERROR.
n’est pas spécifié, c’est la tâche actuelle qui est prise en compte.
PROC
pour accéder au paramètre d’une tâche donnée.
ERROR_LINE
spécifique.
Révision 3.0
MANUEL DE PROGRAMMATION77
Commandes BASIC
3.2.107 ERRORMASK
/i
TypeParamètre d’axe
SyntaxeERRORMASK
DescriptionLe paramètre d’axe ERRORMASK contient une valeur de masque définie bit
par bit par AND avec le paramètre d’axe AXISSTATUS à chaque cycle servo
afin de détecter la présence d’une erreur de mouvement.
Lorsqu’une erreur de mouvement se produit, le commutateur d’activation
(WDOG) se désactive, le paramètre MOTION_ERROR prend la valeur 1
et le paramètre ERROR_AXIS contient le numéro du premier axe sur lequel
l’erreur s’est produite.
Consultez le paramètre AXISVALUES pour les allocations de bit d’état.
La valeur par défaut du paramètre ERRORMASK est 268.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiAXIS, AXISSTATUS, MOTION_ERROR, WDOG.
Attention
L’utilisateur est chargé de définir les cas dans lesquels une erreur
de mouvement est générée. Pour une utilisation en toute sécurité,
il est fortement recommandé de générer une erreur de mouvement lorsque l’erreur suivante dépasse sa limite dans tous les cas.
Pour ce faire, réglez le bit 8 du paramètre
DescriptionLa commande ETHERNET sert à lire et à définir certaines fonctions de com-
munication Ethernet. Elle doit être entrée dans la ligne de commande lorsque
Trajexia Tools est en mode déconnecté via le port série 0.
Remarque : pour activer les nouveaux paramètres, vous devez effectuer
un cycle de mise hors/sous tension du système Trajexia.
Arguments•fonction
0 = lecture, 1 = écriture.
•numéro_carte
-1.
•paramètre
0 = adresse IP ; 2 = masque de sous-réseau ; 3 = adresse MAC ;
8 = passerelle ; 11 = cache ARP (en lecture seule).
•valeurs
Paramètre obligatoire pour une écriture.
ExempleETHERNET(1,-1,0,192,200,185,2)
Règle l’adresse IP du système Trajexia sur 192.200.185.002.
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION78
Commandes BASIC
3.2.109 EX
/i
TypeCommande système
SyntaxeEX[(option)]
DescriptionRéinitialise le contrôleur comme s’il s’agissait d’une mise sous tension.
La commande EX permet d’effectuer deux types de réinitialisation. EX sans
argument ou EX(0) effectue une réinitialisation logicielle du contrôleur. EX(1)
effectue une réinitialisation matérielle du contrôleur.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
3.2.110 EXP
/i
TypeFonction mathématique
SyntaxeEXP(expression)
DescriptionLa fonction EXP renvoie la valeur exponentielle d’une expression.
Arguments•expression
Expression BASIC valide.
Exemple>> print exp(1.0)
2.7183
Voir aussiN/A
3.2.111 FALSE
/i
TypeConstante (en lecture seule)
SyntaxeFALSE
DescriptionLa constante FALSE renvoie la valeur numérique 0.
ArgumentsN/A
Exempletest:
res = IN(0) OR IN(2)
IF res = FALSE THEN
PRINT "Entrees desactivees"
ENDIF
Voir aussiN/A
3.2.112 FAST_JOG
/i
TypeParamètre d’axe
SyntaxeFAST_JOG
DescriptionLe paramètre d’axe FAST_JOG contient le numéro de l’entrée à utiliser
comme entrée de jog rapide. Ce numéro est compris entre 0 et 7.
Par défaut, le paramètre est réglé sur -1 (aucune entrée sélectionnée).
L’entrée de jog rapide détermine la vitesse pas à pas entre deux vitesses.
Si l’entrée de jog rapide est définie, la vitesse fournie par le paramètre d’axe
SPEED est utilisée comme vitesse pas à pas. Si l’entrée n’est pas définie,
c’est la vitesse fournie par le paramètre d’axe JOGSPEED qui est utilisée.
Remarque : cette entrée est une entrée faible active.
DescriptionLa valeur par défaut de ce paramètre est zéro. Si une valeur non nulle
est définie pour le paramètre FASTDEC, l’axe se dirige vers zéro à ce taux
de décélération lorsqu’un fin de course ou une position d’axe est atteinte.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
3.2.114 FE
/i
TypeParamètre d’axe (en lecture seule)
SyntaxeFE
DescriptionLe paramètre d’axe FE contient l’erreur de position exprimée en unités utilisa-
teur. Cette erreur est calculée en soustrayant la position mesurée (paramètre
d’axe MPOS) de la position demandée (paramètre d’axe DPOS). La valeur
de l’erreur suivante peut être consultée à l’aide des paramètres d’axe
FE_LIMIT et FE_RANGE.
DescriptionContient la valeur FE initiale qui a entraîné l’axe à placer le contrôleur à l’état
MOTION_ERROR. Cette valeur n’est définie que si FE dépasse FE_LIMIT
et si le paramètre SERVO est défini sur 0. FE_LATCH est remis à 0 lorsque
le paramètre SERVO de l’axe reprend la valeur 1.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
3.2.116 FE_LIMIT
/i
TypeParamètre d’axe
SyntaxeFE_LIMIT
DescriptionLe paramètre d’axe FE_LIMIT contient la limite maximale d’erreur suivante
exprimée en unités utilisateur. Lorsque cette limite est atteinte, le bit 8 du
paramètre AXISSTATUS de l’axe est activé. Si le paramètre ERRORMASK
est correctement défini, une erreur de mouvement est générée.
Cette limite fait office de protection contre les états d’erreur, comme
un verrouillage mécanique, une perte de retour du codeur, etc.
DescriptionLorsque ce paramètre est défini sur 0, l’axe entraîne directement une
erreur MOTION_ERROR lorsque FE dépasse la valeur FE_LIMIT.
Si FE_LIMIT_MODE a la valeur 1, l’axe ne génère une erreur
MOTION_ERROR que si FE dépasse la valeur FE_LIMIT pendant deux
cycles servo consécutifs. Autrement dit, le paramètre est ignoré si la valeur
FE_LIMIT est dépassée dans un seul cycle servo.
La valeur par défaut du paramètre FE_LIMIT_MODE est 0.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiN/A
3.2.118 FE_RANGE
/i
TypeParamètre d’axe
SyntaxeFE_RANGE
DescriptionLe paramètre d’axe FE_RANGE contient la limite de la plage d’avertissement
d’erreur suivante exprimée en unités utilisateur. Si l’erreur suivante dépasse
cette valeur pour un axe servo, le bit 1 du paramètre d’axe AXISSTATUS
s’active.
Cette plage fait office de première indication des états d’erreur de l’application (à comparer à FE_LIMIT).
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiAXIS, AXISSTATUS, ERRORMASK, FE, UNITS.
3.2.119 FHOLD_IN
/i
TypeParamètre d’axe
SyntaxeFHOLD_IN
FH_IN
Description
Sigma II•Entrée 28 : CN1-40
Sigma III•Entrée 28 : CN1-13
Junma•Entrée 26 : CN1-2
Le paramètre d’axe
entrée de maintien d’alimentation. La plage d’entrées valide est comprise entre
0 et 31. Les valeurs 0 à 15 correspondent aux entrées physiques du connecteur
d’E/S du TJ1-MC__. Elles sont communes à tous les axes. Les valeurs 16 à 27
correspondent aux entrées logicielles pouvant être librement utilisées dans des
programmes et des commandes tels que IN et OP. Il s’agit également d’entrées
communes à tous les axes. Les valeurs 28 à 31 sont directement mappées sur
les entrées de driver présentes sur le connecteur CN1. Elles sont uniques à chaque axe. Le mappage entre les entrées de driver et les entrées 28 à 31 varie en
fonction de la valeur du paramètre de servodriver Pn81E. La valeur recommandée du paramètre Pn81E est 0x4321, avec le mappage ci-dessous. Par défaut,
le paramètre est réglé sur la valeur -1 (aucune entrée sélectionnée).
Remarque : cette entrée est une entrée faible active.
•Entrée 29 : CN1-41
•Entrée 30 : CN1-42
•Entrée 31 : CN1-43
•Entrée 29 : CN1-7
•Entrée 30 : CN1-8
•Entrée 31 : CN1-9
•Entrée 27 : CN1-1
Pour plus d’informations sur le réglage du paramètre de driver Pn81E, consultez le manuel correspondant au servodriver. Par défaut, le paramètre est réglé
sur la valeur -1 (aucune entrée sélectionnée).
FHOLD_IN
contient le numéro de l’entrée à utiliser comme
Révision 3.0
MANUEL DE PROGRAMMATION81
Commandes BASIC
Si un numéro d’entrée est défini et que l’entrée de maintien d’alimentation
s’active, la vitesse de mouvement de l’axe prend la valeur définie dans
le paramètre d’axe FHSPEED. Le mouvement actuel n’est pas annulé.
En outre, le bit 7 du paramètre AXISSTATUS est activé. Lorsque l’entrée
est réinitialisée, le mouvement en cours lors de l’activation de l’entrée reprend
à la vitesse programmée.
Remarque : cette fonction n’est valable que pour des mouvements à vitesse
contrôlée. Les mouvements dont la vitesse n’est pas contrôlée (CAMBOX, CONNECT et MOVELINK) ne sont pas concernés.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiAXIS, AXISSTATUS, UNITS.
3.2.120 FHSPEED
/i
TypeParamètre d’axe
SyntaxeFHSPEED
DescriptionLe paramètre d’axe FHSPEED contient la vitesse de maintien d’alimentation.
Il peut être défini sur une valeur exprimée en unités/s utilisateur à laquelle
l’axe se déplace lorsque l’entrée de maintien d’alimentation s’active. Le mouvement actuel n’est pas annulé. La valeur du paramètre FHSPEED doit être
positive ou égale à zéro. Sa valeur par défaut est 0.
Remarque : cette fonction n’est valable que pour des mouvements à vitesse
contrôlée. Les mouvements dont la vitesse n’est pas contrôlée (CAMBOX, CONNECT et MOVELINK) ne sont pas concernés.
FINS (Factory Interface Network Service) est un protocole de communication
propriétaire d’Omron. Un sous-ensemble de ce protocole a été mis en œuvre
dans le système Trajexia. Le protocole FINS a été mis en œuvre afin de permettre des communications transparentes avec les autres périphériques (API, IHM,
etc.) et logiciels d’Omron (CX-Drive, CX-Server, etc.). Pour plus d’informations
sur le protocole de communication FINS, consultez la section 4.2.4, ainsi que
le Manuel de référence des commandes de communication (réf. cat. W342-E1),
sections 3 et 5.
Intégrant des fonctions client FINS, le système Trajexia peut initier les communications FINS avec des périphériques esclaves FINS à l’aide de la commande FINS_COMMS. Les commandes FINS 0101 (lecture de mémoire)
et FINS 0102 (écriture de la mémoire) sont mises en œuvre. Grâce à FINS
0101, la mémoire peut être lue à partir des autres périphériques disposant
de la fonction de serveur FINS. FINS 0102 peut servir à écrire des données
sur les périphériques disposant de la fonction de serveur FINS.
Cette commande renvoie l’une des valeurs ci-dessous en fonction du résultat
de l’exécution :
-1 : Exécution de la commande réussie.
0 : Échec de la commande.
1 : Requête non envoyée car le client ou le protocole FINS est occupé.
2 : Un ou plusieurs paramètres de requête ne sont pas valides.
3 : Zone de mémoire source non valide.
4 : Requête envoyée, mais le serveur distant n’a pas envoyé de réponse
dans le délai de temporisation.
5 : Code de réponse d’erreur envoyé par le serveur distant.
Révision 3.0
MANUEL DE PROGRAMMATION82
Commandes BASIC
Arguments•type
Type de commande FINS. La valeur 0 indique FINS 0101 (lecture
de la mémoire à partir du serveur FINS distant). La valeur 1 indique
FINS 0102 (écriture de la mémoire sur le serveur distant).
•réseau
Réseau de destination. Pour plus d’informations, consultez le Manuel
de référence des commandes de communication (réf. cat. W342-E1),
section 3.
•nœud
Nœud du serveur FINS de destination. Pour plus d’informations,
consultez le Manuel de référence des commandes de communication
(réf. cat. W342-E1), section 3.
•carte
Numéro de carte du serveur FINS de destination. Pour plus d’informations, consultez le Manuel de référence des commandes de communication (réf. cat. W342-E1), section 3.
•zone_distante
Zone de mémoire accédée sur le serveur FINS de destination. Plage :
128 à 255. Cette zone doit correspondre à l’une des valeurs suivantes
si la destination est un autre système Trajexia : 0xB0 (valeur VR entière),
0x82 (valeur TABLE entière) ou 0xC2 (valeur TABLE flottante).
•décalage_distant
Décalage de mémoire sur le serveur FINS de destination. Plage :
0 à 65535. Cette plage est restreinte aux adresses TABLE ou VR
maximum si la destination est un autre système Trajexia.
•longueur
Nombre d’éléments à transférer. La plage varie en fonction de la longueur
de trame FINS et des fonctions du client et du serveur distant. Pour un système Trajexia, la plage est comprise entre 1 et 700 valeurs entières
ou entre 1 et 350 valeurs à virgule flottante.
•zone_locale
Zone de mémoire (source) locale. Cette zone doit correspondre à l’une
des valeurs suivantes si la destination est un autre système Trajexia :
0x00 (valeur VR entière), 0x01 (valeur TABLE entière) ou 0x02
(valeur TABLE flottante).
•décalage_local
Décalage de la première valeur dans la zone de mémoire (source)
locale. La plage varie en fonction de la taille de tableau VR ou TABLE
et de la valeur de l’argument de longueur.
•temporisation
Temps d’attente (en millisecondes) d’une réponse envoyée par le serveur FINS de destination avant l’expiration du délai imparti.
•IP1, IP2, IP3, IP4
Paramètres facultatifs qui déterminent l’adresse IP du serveur (de destination) distant. Ces arguments doivent être utilisés si le système Trajexia
et le serveur FINS de destination ne sont pas situés sur le même réseau.
ExempleUn système Trajexia et un API OMRON CJ1 muni d’une carte Ethernet
CJ1W-ETN11 sont connectés au même réseau. L’adresse IP du système
Trajexia est 192.168.0.5, tandis que celle de la carte Ethernet de l’API
est 192.168.0.12.
Lorsque vous exécutez la commande FINS_COMMS(0,0,12,0,$82, 1000,20,0,500,5000,192,168,0,12), 20 mots (longueur=20) de la zone
mémoire DM de l’API (zone_distante=$82) sont lus, en commençant
par DM1000 (décalage_distant=1000), et sont écrits dans la mémoire
VR Trajexia au format entier (zone_locale=0), en commençant par VR(500)
(décalage_local=500). Ainsi, les valeurs de la plage de mémoire API
DM1000 à DM1019 sont placées dans la mémoire Trajexia VR(500)
à VR(519). Le délai de temporisation est défini sur 5 secondes.
Lorsque vous exécutez la commande FINS_COMMS(1,0,12,0,$80, 50,10,0,300,3000,192,168,0,12), 10 mots (longueur=10) de la mémoire VR
de Trajexia, sous la forme de nombres entiers (zone_locale=0), en commençant par VR(300) (décalage_local=300) sont écrits dans la zone CIO de l’API
(zone_distante=$80), en commençant par CIO50 (décalage_distant=50).
Ainsi, les valeurs de la plage de mémoire Trajexia VR(300) à VR(309) sont
placés dans la mémoire CIO50 à CIO59 de l’API. Le délai de temporisation
est défini sur 3 secondes.
Voir aussiN/A
Révision 3.0
MANUEL DE PROGRAMMATION83
Commandes BASIC
3.2.122 FLAG
/i
TypeCommande système
SyntaxeFLAG(numéro_drapeau [,valeur])
DescriptionLa commande FLAG sert à définir et à lire une banque de 32 bits de drapeau.
Elle peut être utilisée avec un ou deux paramètres. Si un paramètre est spécifié, l’état du bit de drapeau donné est renvoyé. Si deux paramètres sont spécifiés, le drapeau donné est défini sur la valeur du second paramètre.
La commande FLAG assure la compatibilité avec les contrôleurs antérieurs.
Son utilisation n’est pas recommandée pour les nouveaux programmes.
Arguments•numéro_drapeau
Numéro de drapeau, dont la valeur est comprise entre 0 et 31.
•valeur
Si cet attribut est spécifié, il s’agit de l’état à définir pour le drapeau donné
(ON ou OFF). Cette valeur peut également correspondre à 1 ou à 0.
ExempleFLAG(27,ON)
Active le bit de drapeau 27.
Voir aussiN/A
3.2.123 FLAGS
/i
TypeCommande système
SyntaxeFLAGS([valeur])
DescriptionLit et définit des drapeaux (FLAGS) en tant que bloc. La commande FLAGS
assure la compatibilité avec les contrôleurs antérieurs. Son utilisation n’est
pas recommandée pour les nouveaux programmes. Les 32 bits de drapeau
peuvent être lus avec FLAGS et définis avec FLAGS(valeur).
Arguments•valeur
Équivalent décimal du schéma de bit en fonction duquel les drapeaux
doivent être définis. Consultez le tableau ci-dessous.
ExempleFLAGS(146) ' 2 + 16 + 128
Active les drapeaux 1, 4 et 7 et désactive tous les autres.
ExempleIF (FLAGS and 8) <>0 then GOSUB somewhere
Teste si le drapeau 3 est activé.
Voir aussiN/A
/i
Numéro de bitValeur décimale
01
12
24
38
416
532
664
7128
Révision 3.0
MANUEL DE PROGRAMMATION84
Commandes BASIC
3.2.124 FOR..TO..STEP..NEXT
/i
TypeCommande de contrôle de programme
SyntaxeFOR variable = début TO fin [STEP incrément]
commandes
NEXT variable
DescriptionLa boucle FOR ... NEXT permet de répéter le segment de programme entre
les instructions FOR et NEXT un certain nombre de fois.
Lors de l’activation de cette boucle, la variable est initialisée sur la valeur
de début et le bloc de commandes est alors exécuté. Lorsque la commande
NEXT est atteinte, la variable est augmentée en fonction de l’incrément spécifié après STEP. La valeur STEP peut être positive ou négative. Si elle n’est
pas spécifiée, la valeur 1 est utilisée.
Tant que la variable est inférieure ou égale à la fin, le bloc de commandes
est exécuté de manière répétée. Dès que la variable est supérieure à la fin,
l’exécution du programme se poursuit après l’instruction NEXT.
Remarque : les instructions FOR ... NEXT peuvent être imbriquées dans
un maximum de 8 niveaux dans un programme BASIC.
Arguments•variable
Expression BASIC.
•début
Expression BASIC.
•fin
Expression BASIC.
•incrément
Expression BASIC.
•commandes
Une ou plusieurs commandes BASIC.
Exempleloop:
FOR dist = 5 TO -5 STEP -0.25
MOVEABS(dist)
GOSUB pick_up
NEXT dist
L’incrément STEP peut être positif ou négatif.
Exempleloop1:
FOR l1 = 1 TO 8
loop2:
FOR l2 = 1 TO 6
MOVEABS(l1*100,l2*100)
GOSUB 1000
NEXT l2
NEXT l1
Les instructions FOR..TO..STEP..NEXT peuvent être imbriquées
(maximum 8 niveaux) à condition que les commandes FOR et NEXT
internes soient situées dans la boucle FOR..TO..STEP..NEXT externe.
Voir aussiREPEAT..UNTIL, WHILE...WEND.
ExempleFOR opnum = 8 TO 13
OP(opnum,ON)
NEXT opnum
Cette boucle active les sorties 8 à 13.
Révision 3.0
MANUEL DE PROGRAMMATION85
Commandes BASIC
3.2.125 FORWARD
/i
TypeCommande d’axe
SyntaxeFORWARD
FO
DescriptionLa commande FORWARD déplace un axe selon un mouvement continu vers
l’avant et la vitesse définie dans le paramètre d’axe SPEED. Le taux d’accélération est défini par le paramètre d’axe ACCEL.
FORWARD
si la commande
Remarque : le mouvement vers l’avant peut être interrompu en exécutant
la commande
ArgumentsN/A
Exemplestart:
FORWARD
WAIT UNTIL IN(0) = ON ' Attente du signal d’arrêt
CANCEL
est valable sur l’axe de base par défaut (réglé avec
AXIS
est utilisée pour spécifier un axe de base temporaire.
CANCEL
ou
RAPIDSTOP
ou lorsque la limite avant est atteinte.
BASE
3.2.126 FPGA_VERSION
/i
TypeParamètre d’emplacement
SyntaxeFPGA_VERSION SLOT(numéro_carte)
DescriptionCe paramètre renvoie la version FPGA de la carte numéro_carte dans un sys-
tème de contrôleur.
Arguments•numéro_carte
La plage de numéros de carte va de -1 à 6 (dont 0), -1 correspondant
à TJ1-MC__ et 0 à la carte située directement à droite du TJ1-MC__.
ExempleN/A
Voir aussiN/A
Révision 3.0
), sauf
3.2.127 FRAC
/i
TypeFonction mathématique
SyntaxeFRAC(expression)
DescriptionLa fonction FRAC renvoie la fraction d’une expression.
Arguments•expression
Expression BASIC valide.
Exemple>> PRINT FRAC(1.234)
0.2340
Voir aussiN/A
3.2.128 FRAME
/i
TypeParamètre système
SyntaxeFRAME=valeur
Description
ArgumentsN/A
ExempleFRAME=1
Voir aussiN/A
Ce paramètre sert à spécifier la trame à utiliser dans le cadre de transformations
de trame. Les transformations de trame permettent de spécifier des mouvements dans une trame de référence à coordonnées multiaxe pour lesquels il n’y
a pas de correspondance avec les axes. Prenons l’exemple d’un bras robotisé
SCARA avec axes angulaires. Pour que l’extrémité du bras robotisé puisse
effectuer des mouvements en ligne droite en coordonnées X-Y, les moteurs
doivent se déplacer selon un schéma déterminé par la géométrie du robot.
Les transformations de trame permettant d’effectuer ces fonctions doivent
être compilées à partir d’un code source en langage C et chargées dans
le logiciel système du contrôleur. Pour obtenir de l’aide, contactez Omron.
Un système machine peut être spécifié avec plusieurs trames différentes.
La trame active est spécifiée à l’aide du paramètre système FRAME.
La valeur par défaut du paramètre FRAME est 0, ce qui correspond à une
transformation un à un.
MANUEL DE PROGRAMMATION86
Commandes BASIC
3.2.129 FREE
/i
TypeFonction système
SyntaxeFREE
DescriptionLa fonction FREE renvoie la quantité restante de mémoire disponible
pour les programmes utilisateur et les éléments du tableau TABLE.
Remarque : chaque ligne occupe un minimum de 4 caractères (octets)
en mémoire. Cela correspond à la longueur de la ligne actuelle, à celle de
la ligne précédente, au nombre d’espaces au début de la ligne et à un seul
jeton de commande. Les commandes supplémentaires nécessitent un octet
par jeton ; la plupart des autres données sont stockées au format ASCII.
Le TJ1-MC__ compile les programmes avant leur exécution. Par conséquent,
l’exécution d’un programme exige le double de la mémoire.
ArgumentsN/A
Exemple>> PRINT FREE
47104.0000
Voir aussiN/A
3.2.130 FS_LIMIT
/i
TypeParamètre d’axe
SyntaxeFS_LIMIT
FSLIMIT
DescriptionLe paramètre d’axe FS_LIMIT contient la position absolue de la limite logi-
cielle avant exprimée en unités utilisateur.
Il est possible de définir une limite logicielle pour le mouvement avant à l’aide
du programme afin de déterminer la plage de travail de la machine. Une fois
la limite atteinte, le TJ1-MC__ décélère jusqu’à 0, puis annule le mouvement.
Le bit 9 du paramètre d’axe AXISSTATUS s’active lorsque la position d’axe
est supérieure à FS_LIMIT.
ArgumentsN/A
Révision 3.0
ExemplePas d’exemple.
Voir aussiAXIS, AXISSTATUS, UNITS.
3.2.131 FWD_IN
/i
TypeParamètre d’axe
SyntaxeFWD_IN
Description
Sigma II•Entrée 28 : CN1-40
Sigma III•Entrée 28 : CN1-13
Junma•Entrée 26 : CN1-2
ArgumentsN/A
Le paramètre d’axe
comme entrée de limite avant. La plage d’entrées valide est comprise
entre 0 et 31. Les valeurs 0 à 15 correspondent aux entrées physiques du connecteur d’E/S du TJ1-MC__. Elles sont communes
à tous les axes. Les valeurs 16 à 27 correspondent aux entrées logicielles pouvant être librement utilisées dans des programmes et des
commandes tels que IN et OP. Il s’agit également d’entrées communes à tous les axes. Les valeurs 28 à 31 sont directement mappées
sur les entrées de driver présentes sur le connecteur CN1. Elles sont
uniques à chaque axe. Le mappage entre les entrées de driver et les
entrées 28 à 31 varie en fonction de la valeur du paramètre de servodriver Pn81E. La valeur recommandée du paramètre Pn81E est
0x4321, avec le mappage ci-dessous :
Le mouvement avant éventuel de l’axe est interrompu si un
numéro d’entrée est défini et que la limite est atteinte. Le bit 4
de AXISSTATUS est également activé.
Remarque : cette entrée est une entrée faible active.
•Entrée 29 : CN1-41
•Entrée 30 : CN1-42
•Entrée 31 : CN1-43
•Entrée 29 : CN1-7
•Entrée 30 : CN1-8
•Entrée 31 : CN1-9
•Entrée 27 : CN1-1
Pour plus d’informations sur le réglage du paramètre de driver
Pn81E, consultez le manuel correspondant au servodriver.
Par défaut, le paramètre est réglé sur la valeur -1 (aucune entrée
sélectionnée).
FWD_IN
contient le numéro de l’entrée à utiliser
MANUEL DE PROGRAMMATION87
Commandes BASIC
ExemplePas d’exemple.
Voir aussiAXIS, AXISSTATUS REV_IN.
3.2.132 FWD_JOG
/i
TypeParamètre d’axe
SyntaxeFWD_JOG
DescriptionLe paramètre d’axe FWD_JOG contient le numéro de l’entrée à uti-
liser comme entrée de jog avant. L’entrée peut être définie sur une
valeur de 0 à 7. Par défaut, le paramètre est réglé sur -1 (aucune
entrée sélectionnée).
Remarque : cette entrée est une entrée faible active.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiAXIS, FAST_JOG, JOGSPEED, REV_JOG.
3.2.133 GET
/i
TypeCommande d’E/S
SyntaxeGET [#n,] variable
ExempleGET#5, k
Cette ligne stocke le caractère ASCII reçu sur le canal 5 du port Trajexia Tools
dans la variable k.
Voir aussiINDEVICE INDEVICE, INPUT, KEY, LINPUT.
/i
Numéro
du périphérique
d’entrée
0Port de programmation 0
1Port série RS-232C 1
2Port série RS-422A/485 2
5Port Trajexia Tools 0, canal utilisateur 5
6Port Trajexia Tools 0, canal utilisateur 6
7Port Trajexia Tools 0, canal utilisateur 7
Description
DescriptionLa commande GET attribue à une variable le code ASCII d’un caractère reçu.
Si le tampon du port série est vide, l’exécution du programme est interrompue
jusqu’à la réception d’un caractère. Lors de l’utilisation de Trajexia Tools,
les canaux 5 à 7 sont des canaux logiques superposés sur le port de
programmation 0.
Remarque : le canal 0 est réservé pour la connexion à Trajexia Tools et/ou
à l’interface de ligne de commande. Notez que ce canal peut poser des problèmes pour cette fonction.
Arguments•n
Révision 3.0
Périphérique d’entrée spécifié. Si cet argument n’est pas spécifié, c’est le port
déterminé par
•variable
Nom de la variable qui doit recevoir le code ASCII.
INDEVICE
qui est utilisé. Consultez le tableau ci-dessous.
MANUEL DE PROGRAMMATION88
Commandes BASIC
3.2.134 GLOBAL
/i
TypeCommande système
SyntaxeGLOBAL "nom", numéro_vr
DescriptionDéclare le nom en tant que référence à une variable VR globale.
Ce nom peut être utilisé dans le programme qui contient la définition GLOBAL et dans tous les autres programmes du projet Trajexia Tools 2.
Remarque : le programme qui contient la définition GLOBAL doit
être exécuté avant que le nom soit utilisé dans d’autres programmes. En outre, seul ce programme doit être exécuté lors de l’exécution de GLOBAL. À défaut, une erreur programme s’affiche
et le programme s’interrompt lors de la tentative d’exécution de
cette commande. Pour accélérer le démarrage, il est également
recommandé que le programme soit le seul processus en cours
d’exécution lors de la mise sous tension.
Une fois la définition GLOBAL déclarée, la déclaration reste active
jusqu’à la prochaine réinitialisation du TJ1-MC__ par un cycle de
mise hors/sous tension ou par l’exécution de la commande EX.
Dans les programmes qui utilisent la commande GLOBAL définie,
l’argument nom a la même signification que VR(numéro_vr).
N’utilisez pas la syntaxe suivante : VR(nom).
Il est possible de déclarer un maximum de 128 définitions
Arguments•nom
Nom défini par l’utilisateur contenant des caractères alphanumériques minuscules, des chiffres ou des traits de soulignement (_).
•numéro_vr
Numéro de la variable VR à associer à l’argument nom.
DescriptionLa structure GOSUB active un saut de sous-routine. GOSUB stocke la posi-
tion de la ligne après la commande GOSUB avant de passer au label spécifié.
Lorsque l’instruction RETURN est atteinte, l’exécution du programme revient
à la position stockée.
Remarque : les sous-routines de chaque tâche peuvent être imbriquées
jusqu’à 8 niveaux.
Arguments•label
Label valide présent dans le programme. Un label non valide génère
une erreur de compilation avant l’exécution.
Un label peut être une chaîne de caractères de longueur indéfinie,
mais seuls les 15 premiers caractères sont importants.
Exemplemain:
GOSUB routine
GOTO main
.
Voir aussiGOTO
routine:
PRINT "Position mesuree=";MPOS;CHR(13);
RETURN
3.2.136 GOTO
/i
TypeCommande de contrôle de programme
SyntaxeGOTO label
DescriptionLa structure GOTO active un saut d’exécution de programme. GOTO fait pas-
ser l’exécution du programme à la ligne du programme qui contient le label.
MANUEL DE PROGRAMMATION89
Commandes BASIC
Arguments•label
Label valide présent dans le programme. Un label non valide génère
une erreur de compilation avant l’exécution.
Un label peut être une chaîne de caractères de longueur indéfinie,
mais seuls les 15 premiers caractères sont importants.
DescriptionLa commande HALT arrête l’exécution de toutes les tâches de programme
en cours d’exécution. Cette commande peut être utilisée dans la ligne de
commande et dans les programmes. Utilisez la commande STOP pour arrêter
une seule tâche de programme.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussiPROCESS, STOP.
3.2.138 HEX
/i
TypeCommande d’E/S
SyntaxeHEX
DescriptionCette commande est utilisée dans une instruction PRINT pour afficher
un nombre au format hexadécimal.
ArgumentsN/A
Révision 3.0
ExemplePRINT#5,HEX(IN(8,16))
3.2.139 HLM_COMMAND
/i
TypeCommande de communication
SyntaxeHLM_COMMAND(commande, port [ , nœud [ , zone_mc/mode
[ , décalage_mc ]]])
Description
Arguments•commande
La commande
Link spécifique sur un ou sur tous les esclaves Host Link sur le port sélectionné.
L’exécution du programme est interrompue jusqu’à la réception de la chaîne
de réponse ou jusqu’à l’expiration du délai de temporisation. Le délai de temporisation est déterminé à l’aide du paramètre HLM_TIMEOUT.
L’état du transfert peut être surveillé à l’aide du paramètre HLM_STATUS.
Remarques :
•En cas d’utilisation de
Host Link à l’aide de la commande
•Les commandes de maître Host Link doivent être exécutées à partir d’une
seule tâche de programme afin d’éviter tout problème lié au multitâche.
Sélection de l’opération Host Link à effectuer. Consultez le premier
tableau ci-après.
•port
Port série spécifié. 1 = port série RS-232C 1 ; port série RS-422A 2.
•nœud (pour HLM_MREAD, HLM_TEST, HLM_ABORT et HLM_STWR)
Numéro du nœud esclave auquel la commande Host Link doit être
envoyée. Plage : [0, 31].
•mode (pour HLM_STWR)
Mode de fonctionnement de la carte UC spécifiée. 0 = mode
PROGRAM ; 2 = mode MONITOR ; 3 = mode RUN.
•zone_mc (pour HLM_MREAD)
Zone mémoire du TJ1-MC__ dans laquelle les données à envoyer sont
lues. Consultez le second tableau ci-après.
•décalage_mc (pour HLM_MREAD)
Adresse de la zone mémoire du TJ1-MC__ dans laquelle les données
sont lues. Plage de variables VR : [0, 1023]. Plage de variables
TABLE : [0, 63999].
HLM_COMMAND
HLM_READ
effectue une opération de commande Host
, veillez à configurer le protocole maître
SETCOM
.
Voir aussiN/A
MANUEL DE PROGRAMMATION90
Commandes BASIC
ExempleHLM_COMMAND(HLM_MREAD,1,12,MC_VR,233)
Cette commande lit le code du modèle de carte UC de l’esclave Host Link
avec l’adresse de nœud 12 connecté au port RS-232C. Le résultat est écrit
dans VR(233).
Si l’esclave connecté est un ordinateur C200HX, la variable VR(233) contient
la valeur 12 (hexadécimal) après une exécution réussie.
ExempleHLM_COMMAND(HLM_TEST,2,23)
PRINT HLM_STATUS PORT(2)
Cette commande vérifie la communication Host Link avec l’esclave Host Link
(nœud 23) connecté au port RS-422A.
La communication est fonctionnelle si le paramètre HLM_STATUS contient
la valeur 0.
ExempleHLM_COMMAND(HLM_INIT,2)
HLM_COMMAND(HLM_ABORT,2,4)
Ces deux commandes effectuent les opérations Host Link INITIALIZE et
ABORT sur le port RS-422A 2. L’esclave est associé au numéro de nœud 4.
ExempleHLM_COMMAND(HLM_STWR,2,0,2)
Lorsque des données sont écrites sur un ordinateur via Host Link, la carte UC
ne peut pas être en mode RUN. La commande HLM_COMMAND peut être
utilisée pour activer le mode MONITOR. L’esclave est associé à l’adresse
de nœud 0 et est connecté au port RS-232C.
Exécute la commande Host Link MODEL READ (MM) pour lire le code
du modèle de carte UC. Le résultat est écrit dans la variable TJ1-MC__
spécifiée par les arguments zone_mc et décalage_mc.
Exécute la commande Host Link TEST (TS) pour vérifier la communication en envoyant la chaîne « MCW151 TEST STRING » et en contrôlant
la chaîne renvoyée en écho. Consultez le paramètre HLM_STATUS pour
connaître le résultat.
Exécute la commande Host Link ABORT (XZ) pour interrompre la commande Host Link en cours de traitement. La commande ABORT ne reçoit
pas de réponse.
Valeur de commande
HLM_INIT
(ou valeur 3)
HLM_STWR
(ou valeur 4)
/i
Valeur
zone_mc
MC_TABLE
(ou valeur 8)
MC_VR
(ou valeur 9)
Description
Exécute la commande Host Link
de contrôle de la transmission de toutes les cartes esclaves.
Exécute la commande Host Link STATUS WRITE (SC) pour modifier
le mode de fonctionnement de la carte UC.
DescriptionLa commande HLM_READ lit les donnés d’un esclave Host Link en envoyant
au port série une chaîne de commande Host Link qui contient le nœud spécifié de l’esclave. Les données de réponse reçues sont écrites dans des variables VR ou TABLE. Chaque mot des données est transféré dans une variable.
La longueur de données maximale est de 30 mots (transfert de trame simple).
L’exécution du programme est interrompue jusqu’à la réception de la chaîne
de réponse ou jusqu’à l’expiration du délai de temporisation. Le délai de temporisation est déterminé à l’aide du paramètre HLM_TIMEOUT.
L’état du transfert peut être surveillé à l’aide du paramètre HLM_STATUS.
Remarques :
•En cas d’utilisation de HLM_READ, veillez à configurer le protocole maî-
tre Host Link à l’aide de la commande SETCOM.
•Les commandes de maître Host Link doivent être exécutées à partir d’une
seule tâche de programme afin d’éviter tout problème lié au multitâche.
MANUEL DE PROGRAMMATION91
Commandes BASIC
Arguments•port
Port série spécifié. 1 = port série RS-232C 1 ; port série RS-422A 2.
•nœud
Numéro du nœud esclave auquel la commande Host Link doit être
envoyée. Plage : [0, 31].
•zone_pc
Zone de mémoire PC sélectionnée pour la commande Host Link.
Consultez le premier tableau ci-après.
•décalage_pc
Adresse de la zone mémoire PC dans laquelle les données sont lues.
Plage : [0, 9999].
•longueur
Nombre de mots de données à transférer. Plage : [1, 30].
•zone_mc
Zone mémoire du TJ1-MC__ dans laquelle les données à envoyer sont
lues. Consultez le second tableau ci-après.
•décalage_mc
Adresse de la zone mémoire du TJ1-MC__ dans laquelle les données
doivent être écrites. Plage de variables VR : [0, 1023]. Plage de variables
TABLE : [0, 63999].
ExempleHLM_READ(2,17,PLC_DM,120,20,MC_TABLE,4000)
Cet exemple indique comment lire 20 mots à partir des adresses de zone
DM 120 à 139 de l’ordinateur vers les adresses TABLE 4000 à 4019
de la carte TJ1-MC__. L’ordinateur est associé à l’adresse de nœud
esclave 17 et connecté au port RS-422A.
DescriptionLe paramètre HLM_STATUS contient l’état de la dernière commande maître
Host Link envoyée au port spécifié. Il indique l’état pour les commandes
HLM_READ, HLM_WRITE et HLM_COMMAND. Le tableau ci-dessous
répertorie les bits d’état.
Le paramètre
valeur est différente de 0, l’action appropriée (nouvelle tentative ou arrêt d’urgence,
par exemple) doit être programmée dans le programme utilisateur BASIC.
Chaque port comporte un paramètre
requis pour spécifier le port.
Arguments•n
Port série spécifié. 1 = port série RS-232C 1 ; port série RS-422A 2.
Exemple>> HLM_WRITE(1,28,PLC_EM,50,25,MC_VR,200)
>> PRINT HEX(HLM_STATUS PORT(1))
1
La carte UC est apparemment en mode RUN et n’accepte pas l’opération
d’écriture.
HLM_STATUS
a la valeur 0 si aucun problème ne s’est produit. Si la
0 - 7Code de finIl s’agit du code de fin défini par l’esclave Host Link (problème
lié à la chaîne de commande envoyée) ou d’un code de fin
défini en raison d’un problème détecté par le maître Host Link
(problème lié à la chaîne de réponse reçue).
8Erreur d’expira-
tion du délai
9Commande
non reconnue
Une erreur d’expiration du délai se produit si aucune réponse
n’a été reçue pendant le délai de temporisation. Cette erreur
indique que la communication a été interrompue.
Cet état indique que l’esclave n’a pas reconnu la commande
et a renvoyé une réponse IC.
3.2.142 HLM_TIMEOUT
/i
TypeParamètre de communication
SyntaxeHLM_TIMEOUT
DescriptionLe paramètre HLM_TIMEOUT spécifie la durée de temporisation
fixe pour le protocole maître Host Link pour les deux ports série.
Une erreur d’expiration de délai se produit lorsque le temps nécessaire à l’envoi de la commande et à la réception de la réponse
de l’esclave est plus long que le temps spécifié par ce paramètre.
Ce paramètre s’applique aux commandes
HLM_COMMAND
et
les cycles servo.
ArgumentsN/A
Exemple>> HLM_TIMEOUT=2000
Si le cycle servo du TJ1-MC__ est défini sur 500 ms
(SERVO_PERIOD=500), le délai de temporisation du maître Host
Link est réglé sur 1 s pour les deux ports série.
DescriptionLa commande HLM_WRITE écrit les donnés du TJ1-MC__ sur un esclave
Host Link en envoyant au port série une chaîne de commande Host Link qui
contient le nœud spécifié de l’esclave. Les données de réponse reçues sont
écrites à partir des variables VR ou TABLE. Chaque variable définit le mot
ou les données à transférer. La longueur de données maximale est de
29 mots (transfert de trame simple).
L’exécution du programme est interrompue jusqu’à la réception de la chaîne
de réponse ou jusqu’à l’expiration du délai de temporisation. Le délai de temporisation est déterminé à l’aide du paramètre HLM_TIMEOUT. L’état
du transfert peut être surveillé à l’aide du paramètre HLM_STATUS.
Remarques :
•En cas d’utilisation de HLM_WRITE, veillez à configurer le protocole
maître Host Link à l’aide de la commande SETCOM.
•Les commandes de maître Host Link doivent être exécutées à partir d’une
seule tâche de programme afin d’éviter tout problème lié au multitâche.
Arguments•port
Port série spécifié. 1 = port série RS-232C 1 ; port série RS-422A 2.
•nœud
Numéro du nœud esclave auquel la commande Host Link doit être
envoyée. Plage : [0, 31].
•zone_pc
Zone de mémoire PC sélectionnée pour la commande Host Link. Consultez
le premier tableau ci-après.
•décalage_pc
Adresse de la zone mémoire du PC dans laquelle les données doivent
être écrites. Plage : [0, 9999].
•longueur
Nombre de mots de données à transférer. Plage : [1, 29].
•zone_mc
Zone mémoire du TJ1-MC__ dans laquelle les données à envoyer sont
lues. Consultez le second tableau ci-après.
•décalage_mc
Adresse de la zone mémoire du TJ1-MC__ dans laquelle les données
sont lues. Plage de variables VR : [0, 1023]. Plage de variables TABLE :
[0, 63999].
ExempleHLM_WRITE(1,28,PLC_EM,50,25,MC_VR,200)
Cet exemple indique comment écrire 25 mots à partir des adresses VR 200
à 224 du TJ1-MC__ vers les adresses de la zone EM 50 à 74 de l’ordinateur.
L’ordinateur est associé à l’adresse de nœud esclave 28 et connecté au port
RS-232C.
DescriptionLe paramètre HLS_NODE définit le numéro de carte esclave pour le proto-
cole esclave Host Link. Le TJ1-MC__ ne répond qu’aux chaînes de commande maître Host Link dont le numéro de carte correspond à celui spécifié
par ce paramètre. La plage de valeurs valides pour ce paramètre est [0, 31].
La valeur par défaut est 0.
La commande
mesurée prédéfinie est atteinte. Elle désactive la sortie si une autre position mesurée est atteinte. Les positions sont définies dans une séquence dans la mémoire
TABLE pour la plage
HW_PSWITCH
Ce paramètre ne concerne que les axes flexibles dont la valeur ATYPE
correspond à 43, 44 ou 45.
La commande peut être utilisée avec un ou cinq paramètres. Un seul paramètre
est nécessaire pour désactiver le commutateur ou pour effacer la file d’attente
FIFO. Les cinq paramètres sont nécessaires pour activer le commutateur.
Une fois la file d’attente FIFO chargée et la séquence des positions lue,
si la même séquence doit être réexécutée, la file d’attente FIFO doit être effacée
avant d’exécuter la commande
0 = désactiver le commutateur ; 1 = activer et charger la file d’attente FIFO ;
2 = effacer la file d’attente FIFO.
•sens
0 = décroissant ; 1 = croissant.
•état_sortie
État de sortie à définir dans la première position de la file d’attente FIFO
(ON ou OFF).
•début_table
Adresse de table de début de la séquence.
•fin_table
Adresse de table de fin de la séquence.
Cette commande charge la file d’attente FIFO avec 30 positions, stockées dans
la mémoire TABLE commençant par
la position stockée dans
puis désactivée et activée lorsque les positions suivantes de la séquence sont
atteintes, jusqu’à ce que la position stockée dans
Cette commande désactive le commutateur s’il était activé, sans effacer la file
d’attente FIFO.
HW_PSWITCH
début_table
, ces positions sont stockées dans la file d’attente FIFO.
active la sortie OUT 0 pour l’axe lorsque la position
à
fin_table
HW_PSWITCH
TABLE(21)
. Lors de l’exécution de la commande
avec les mêmes paramètres.
TABLE(21)
est atteinte, la sortie OUT 0 est activée,
, dans l’ordre croissant. Lorsque
TABLE(50)
soit atteinte.
MANUEL DE PROGRAMMATION95
Commandes BASIC
ExempleHW_PSWITCH(2)
Cette commande efface la file d’attente FIFO si elle était chargée.
Voir aussiAXIS
3.2.146 I_GAIN
/i
TypeParamètre d’axe
SyntaxeI_GAIN
DescriptionLe paramètre d’axe I_GAIN contient le gain intégral de l’axe. La contribution
de sortie intégrale est calculée en multipliant la somme des erreurs suivantes
par la valeur du paramètre I_GAIN. La valeur par défaut est 0.
L’ajout d’un gain intégral à un système servo diminue les risques d’erreur
de positionnement au repos ou en mouvement continu. Il peut générer ou
augmenter l’excès et les oscillations. Par conséquent, il ne convient que pour
les systèmes travaillant à vitesse constante et avec de faibles accélérations.
Remarque : pour éviter toute instabilité, les gains de servo ne doivent être
modifiés que si SERVO est réglé sur OFF.
DescriptionLa fonction IEEE_IN renvoie le nombre à virgule flottante représenté
par 4 octets, généralement reçus via une liaison de communication.
Arguments•octet0 - octet3
Combinaison de valeurs 8 bits représentant un nombre à virgule flottante
IEEE valide.
ExempleVR(20) = IEEE_IN(b0,b1,b2,b3)
Voir aussiN/A
3.2.149 IEEE_OUT
/i
TypeFonction mathématique
Syntaxeoctet_n = IEEE_OUT(valeur, n)
Description
Arguments•valeur
La fonction
à virgule flottante pour une transmission via un système de bus. Cette fonction
est généralement appelée 4 fois pour extraire les octets les uns après les autres.
Remarque : L’octet 0 représente l’octet haut du format à virgule flottante
IEEE 32 bits.
•n
IEEE_OUT
Variable ou paramètre BASIC à virgule flottante.
Numéro de l’octet (0 à 3) à extraire.
renvoie un seul octet au format IEEE extrait de la valeur
SyntaxeIF condition_1 THEN commandes {ELSEIF condition_i THEN comman-
des} [ ELSE commandes ] ENDIF
IF condition_1 THEN commandes
DescriptionCette structure contrôle le flux du programme d’après les résultats de la con-
dition. Si la condition est TRUE, les commandes qui suivent THEN sont exé-
cutées jusqu’à ELSEIF, ELSE ou ENDIF. Si la condition est FALSE et que la
commande d’une sous-structure ELSEIF suivante est TRUE, les commandes
de cette sous-structure sont exécutées. Si toutes les conditions sont FALSE,
les commandes qui suivent ELSE sont exécutées ou le programme reprend
à la ligne après ENDIF si aucune instruction ELSE n’est fournie. L’instruction
ENDIF sert à marquer la fin du bloc de conditions.
Remarque : il est possible d’imbriquer les séquences
sans limite. Pour obtenir une structure
aucune instruction après
utiliser
ENDIF
.
Arguments•condition_i
Expression logique.
•commandes
Une ou plusieurs commandes BASIC.
ExempleIF MPOS > (0.22 * VR(0)) THEN GOTO exceeds_length
DescriptionLa fonction IN renvoie la valeur des entrées numériques.
•
IN(numéro_entrée, numéro_dernière_entrée)
du groupe d’entrées. Les deux arguments doivent être inférieurs à 24.
•Si la valeur numéro_entrée de la fonction IN(numéro_entrée)
est inférieure à 32, c’est la valeur du canal spécifié qui est renvoyée.
•IN (sans argument) renvoie la somme binaire des 24 premières entrées
(comme IN(0,23)).
renvoie la somme binaire
Révision 3.0
MANUEL DE PROGRAMMATION97
Commandes BASIC
Arguments•numéro_entrée
Numéro de l’entrée pour laquelle une valeur doit être renvoyée.
Valeur : nombre entier compris entre 0 et 31.
•numéro_dernière_entrée
Numéro de la dernière entrée pour laquelle une valeur doit être renvoyée. Valeur : nombre entier compris entre 0 et 31.
ExempleLes lignes ci-dessous peuvent être utilisées pour se déplacer vers la position
définie sur une roue codeuse multipliée par un facteur donné. La roue
codeuse est connectée aux entrées 4, 5, 6 et 7 et fournit la sortie dans BCD.
moveloop:
MOVEABS(IN(4,7)*1.5467)
WAIT IDLE
GOTO moveloop
La commande MOVEABS est construite comme suit :
Étape1: IN(4,7) obtient un nombre entre 0 et 15.
Étape 2 : Le nombre est multiplié par 1,5467 afin d’obtenir la distance requise.
Étape 3 : Un mouvement absolu est effectué vers cette position.
ExempleDans cet exemple, une entrée unique est testée :
test:
WAIT UNTIL IN(4)=ON ' Convoyeur en position sur ON
GOSUB place
Voir aussiOP.
3.2.152 INDEVICE
/i
TypeParamètre d’E/S
SyntaxeINDEVICE
DescriptionLe paramètre INDEVICE définit le périphérique d’entrée par défaut. Ce péri-
phérique est sélectionné pour les commandes d’entrée lorsque l’option #n est
omise. Le paramètre INDEVICE est spécifique de la tâche. Le tableau ci-dessous répertorie les valeurs prises en charge.
/i
Valeur Description
0Port de programmation 0 (par défaut)
1Port série RS-232C 1
2Port série RS-422A/485 2
5Port Trajexia Tools 0, canal utilisateur 5
6Port Trajexia Tools 0, canal utilisateur 6
7Port Trajexia Tools 0, canal utilisateur 7
3.2.153 INITIALISE
/i
TypeCommande système
SyntaxeINITIALISE
DescriptionRétablit les valeurs par défaut de tous les paramètres d’axe, système et de
processus. Les paramètres sont également remis à zéro à chaque mise sous
tension du contrôleur ou à l’exécution d’une commande EX (réinitialisation
logicielle). Dans Trajexia Tools, l’option Reset the controller... (Réinitialiser
le contrôleur) du menu Controller (Contrôleur) permet d’effectuer une action
similaire à la commande EX.
ArgumentsN/A
ExemplePas d’exemple.
Voir aussi•EX
ArgumentsN/A
ExemplePas d’exemple.
Révision 3.0
Voir aussiGETGET, INPUT, LINPUT, KEY.
MANUEL DE PROGRAMMATION98
Commandes BASIC
3.2.154 INPUT
/i
TypeCommande d’E/S
SyntaxeINPUT [ #n ], variable { , variable }
DescriptionLa commande INPUT attribue des valeurs numériques de chaîne d’entrée
aux variables spécifiées. Il est possible de demander plusieurs valeurs de
chaîne d’entrée sur une ligne en les séparant par des virgules ou sur plusieurs lignes séparées par un retour chariot. L’exécution du programme est
interrompue jusqu’à ce que la chaîne se termine par un retour chariot après
l’attribution de la dernière variable.
Si la chaîne n’est pas valide, un message d’erreur s’affiche et la tâche
est répétée. Le nombre maximal d’entrées sur une ligne est illimité et varie
en fonction de la longueur de la ligne.
Lors de l’utilisation de Trajexia Tools, les canaux 5 à 7 sont des canaux logiques superposés sur le port de programmation RS-232C 0.
Remarque : le canal 0 est réservé pour la connexion à Trajexia Tools et/ou
à l’interface de ligne de commande. Notez que ce canal peut poser des problèmes pour cette fonction.
Arguments•n
Périphérique d’entrée spécifié. Si cet argument n’est pas spécifié,
c’est le port déterminé par INDEVICE qui est utilisé.
•variable
Variable de destination de l’écriture.
ExempleSoit le programme suivant qui permet de recevoir des données du terminal.
INPUT#5, num
PRINT#5, "NOMBRE DE LOTS=";num[0]
Voici une réponse possible du terminal :
123<CR>
NOMBRE DE LOTS=123
Voir aussiINDEVICE, GET, LINPUT, KEY
Révision 3.0
3.2.155 INT
/i
TypeFonction mathématique
SyntaxeINT(expression)
DescriptionLa fonction INT renvoie l’élément entier d’une expression.
Remarque : pour arrondir un nombre positif à la valeur entière la plus proche,
utilisez la fonction INT de la valeur additionnée de 0,5. De même, pour arrondir une valeur négative, soustrayez 0,5 de la valeur avant d’appliquer INT.
Arguments•expression
Expression BASIC valide.
Exemple>> PRINT INT(1.79)
1.0000
Voir aussiN/A
3.2.156 INVERT_IN
/i
TypeCommande système
SyntaxeINVERT_IN(entrée,ON/OFF)
DescriptionLa commande INVERT_IN permet d’inverser les canaux d’entrée 0 à 31
de manière individuelle dans le logiciel.
Cette opération est importante car les canaux d’entrée peuvent être définis
pour activer des fonctions telles que le maintien d’alimentation.
La fonction INVERT_IN active ou désactive l’inversion d’un canal.
Elle ne peut être appliquée qu’aux entrées 0 à 31.
Arguments•entrée
Expression BASIC.
Exemple>>? IN(3)
0.0000
>>INVERT_IN(3,ON)
>>? IN(3)
1.0000
Voir aussiN/A
MANUEL DE PROGRAMMATION99
Commandes BASIC
3.2.157 INVERT_STEP
/i
TypeParamètre d’axe
SyntaxeINVERT_STEP
DescriptionLe paramètre INVERT_STEP sert à commuter un variateur matériel sur le cir-
cuit de sortie d’impulsions de moteur à pas. Cette opération peut s’avérer
nécessaire pour connecter des drivers de moteur à pas. Selon la logique
électronique inhérente au générateur d’impulsions du moteur à pas Trajexia,
le front FALLING de la sortie de pas correspond au front actif qui entraîne
le mouvement du moteur. Cela convient pour la plupart des variateurs
de moteur à pas. Le paramètre INVERT_STEP=ON permet de convertir
le front RISING du signal de pas en front actif. INVERT_STEP doit être activé
avant d’activer le contrôleur avec WDOG=ON. Le réglage par défaut est OFF.
Remarque : en cas de réglage incorrect, un moteur à pas risque de perdre
sa position d’un pas lors du changement de sens.
La commande
du variateur de fréquence connecté au système via le bus MECHATROLINK-II.
La commande INVERTER_COMMAND permet d’effectuer deux fonctions :
•1 : Effacer une alarme.
•7 : Contrôler les signaux de fonctionnement.
Pour utiliser un variateur via MECHATROLINK-II, vous devez définir la commande et la référence avec l’option de communication suivante :
•Variateur MV/V7 : N3=3 ; N4=9.
•Variateur F7/G7 : B1-01=3 ; B1-02=3.
Assurez-vous que le micrologiciel du variateur prend en charge la carte
MECHATROLINK-II.
La commande renvoie la valeur -1 si elle réussit ou 0 si elle échoue.
La commande envoyée au variateur correspond aux bits indiqués au tableau
ci-dessous.
Numéro de la carte TJ1-ML__ à laquelle le variateur est connecté.
•station
Numéro de station MECHATROLINK-II du variateur.
•numéro_alarme
Numéro de l’alarme. Consultez le manuel du variateur.
•signaux_fonctionnement
Valeurs en bits qui contrôle les signaux de fonctionnement.
Consultez le tableau ci-dessous.
INVERTER_COMMAND
contrôle les entrées et acquitte l’alarme
Voir aussiN/A
Révision 3.0
/i
BitValeurCommandeDescription
0Hex 1Fonctionnement avant
MANUEL DE PROGRAMMATION100
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.