contrôleur robot - asyril€¦ · 000.100.520 contrôleur robot - manuel de programmation 4/49 2...

49
Contrôleur robot Manuel de programmation Document Asyril_ROBOT_Manuel_Programmation_FR 000.100.520 Version B1 Date 09.08.2016

Upload: others

Post on 13-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot

Manuel de programmation

Document Asyril_ROBOT_Manuel_Programmation_FR

000.100.520

Version B1 Date 09.08.2016

Page 2: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Introduction Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 2/49

Table des matières

1 INTRODUCTION .............................................................................................................................................. 3

1.1 GÉNÉRALITÉS ........................................................................................................................................... 3

2 ARCHITECTURE DU CONTRÔLEUR ROBOT ............................................................................................... 4

3 CONFIGURATION DU ROBOT ....................................................................................................................... 5

3.1 FICHIERS DE CONFIGURATION ROBOT ..................................................................................................... 5

4 COMMUNICATION AVEC LE ROBOT ............................................................................................................ 6

4.1 GÉNÉRALITÉS ........................................................................................................................................... 6

4.2 PROGRAMMER EN UTILISANT LE SERVEUR TCP/IP EMBARQUÉ ............................................................. 7

4.2.1 Principe de base ........................................................................................................................... 7

4.2.2 Procédure d'établissement d'une session ................................................................................ 7

5 SYNTAXE ......................................................................................................................................................... 8

5.1 GÉNÉRALITÉS ........................................................................................................................................... 8

5.1.1 Syntaxe d'une commande ........................................................................................................... 8

5.1.2 Syntaxe d'une réponse ................................................................................................................ 9

6 MOUVEMENT ET TRAJECTOIRE ................................................................................................................ 10

6.1 MACHINE D'ÉTAT ROBOT ........................................................................................................................ 10

6.2 MODES D'INITIALISATION DU ROBOT POCKETDELTA .............................................................................. 13

7 ROBOT TEXT COMMANDS .......................................................................................................................... 15

7.1 COMMANDES DU CONTRÔLEUR ............................................................................................................. 16

7.2 COMMANDES DE CONFIGURATION ......................................................................................................... 20

7.3 COMMANDES DU MODULE ROBOT .......................................................................................................... 22

7.4 COMMANDES D'ENTRÉES/SORTIES ........................................................................................................ 39

7.5 COMMANDES DE L'INTERPRÉTEUR ARL ................................................................................................ 40

7.6 COMMANDES DU PROCESS .................................................................................................................... 42

7.7 COMMANDES DU MODULE IOWAGO .................................................................................................... 44

8 SUPPORT TECHNIQUE ................................................................................................................................ 45

8.1.1 Pour un meilleur service … ....................................................................................................... 45

8.1.2 Contact ......................................................................................................................................... 45

INDEX ALPHABÉTIQUE ....................................................................................................................................... 46

INDEX THÉMATIQUE ............................................................................................................................................ 47

Page 3: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Introduction Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 3/49

1 Introduction

1.1 Généralités

Ce document appartient à Asyril S.A., il ne peut être reproduit, modifié ou communiqué, que

ce soit en partie ou en totalité sans notre autorisation écrite préalable. Asyril S.A. se réserve

le droit de modifier toute information contenue dans ce document pour des raisons liées à

l’amélioration du produit sans notification préalable. Avant d’utiliser le produit, merci de lire

entièrement ce document afin d’en assurer une utilisation correcte. Toutefois, si vous veniez

à rencontrer des difficultés lors de l’utilisation du produit, n’hésitez pas à contacter notre

service client.

Dans ce Manuel, les informations de sécurité devant être respectées sont réparties en trois

types : « Danger », « Attention » et « note ». Ces messages sont signalés comme suit :

DANGER!

Le non-respect de cette instruction pourrait provoquer des dommages corporels

graves.

DANGER!

Cette instruction signale un danger électrique. Le non-respect de cette instruction

pourrait provoquer une électrocution ou des dommages corporels graves dus au choc

électrique.

ATTENTION !

Le non-respect de cette instruction pourrait entrainer des dégâts matériels graves.

NOTE :

L’attention du lecteur est attirée sur ce point de détail afin d’assurer une utilisation correcte du

produit. Toutefois, le non-respect de cette instruction ne risque pas de se traduire par un

danger.

Référence …

Pour plus d’informations sur un sujet spécifique le lecteur est invité à se référer à un autre

manuel ou une page ultérieure du manuel en cours.

ATTENTION !

Asyril ne peut être tenu responsable de dommages matériels ou humains provoqués par le

non-respect des instructions du le manuel spécifique à votre machine.

NOTE :

Toutes les dimensions et côtes dans ce manuel sont exprimées en millimètres (mm)

Page 4: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Architecture du contrôleur robot Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 4/49

2 Architecture du contrôleur robot

http server tcp server

Task Manager / task queue

Hardware

Command interpreter

Process module Robot module

Workspace / Frames

State Machine

Path planner Robot RT IO

OMAC State Machine

ARL-Interpreter

tcp client http client

Control modules

Fig 1. Architecture du contrôleur robot

Page 5: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Configuration du robot Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 5/49

3 Configuration du robot

3.1 Fichiers de configuration robot

Quatre fichiers permettent de spécifier la configuration du contrôleur et des paramètres

robots. Ces fichiers sont lus et pris en compte une seule fois au démarrage de l'application.

1) Le fichier <serialNumber>.version (extension ".version")

Ce fichier est lu en premier lieu et définit les paramètres globaux du contrôleur et du robot.

En particulier il permet de définir les chemins d'accès aux autres fichiers de configuration

ainsi que le type de robot, le nombre de degré de liberté etc..

2) Le fichier <serialNumber>.controller (extension ".controller")

définit tous les paramètres de réglage du contrôle. (PID, paramètres dynamiques, diverses

options de synchro etc.. )

3) Le fichier <serialNumber>.model (extension ".model")

définit les paramètres géométrique du robot et du volume de travail.

4) Le fichier "process.arc" Ce fichier optionnel permet de déclarer et configurer les modules spécifiques au process comme les io non temps réelles ou la gestion/communication avec le module vision Asyview.

Page 6: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Communication avec le robot Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 6/49

4 Communication avec le robot

4.1 Généralités

Le contrôleur robot est conçu pour être piloté en esclave depuis "l'extérieur" par des

commandes texte. Il intègre un serveur TCP/IP et http et il est nécessaire de se connecter

en "client" pour communiquer avec le robot.

Le rôle de ces serveurs est de recevoir la commande de l'utilisateur, de la traiter et de

formuler la réponse. Chacun des deux serveurs est capable de réaliser la même tâche, seule

le protocole diffère. Le serveur HTTP/XML est réservé par l'interface utilisateur embarquée

(page web).

Par défaut les ports des serveurs Robot sont configurés selon le tableau suivant :

ROBOT Adresse IP Subnet Mask Port http/XML Port TCP/IP

Pocket 192.168.0.10 255.255.255.0 8080 8181

Power 192.168.0.20 255.255.255.0 8080 8181

Desktop 192.168.0.30 255.255.255.0 8080 8181

Tableau 4-1 : paramètres TCP/IP Robot

Le protocole texte inclut aussi un accès limité au système (login) permettant que seuls les

utilisateurs ayant le niveau d'accès correct puissent accéder aux commandes désirées.

Page 7: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Communication avec le robot Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 7/49

4.2 Programmer en utilisant le serveur TCP/IP embarqué

4.2.1 Principe de base

Le robot contient seulement un serveur fonctionnant comme esclave. Ceci signifie qu'il n'est

pas capable d'envoyer activement des données à l'application maître. Toutes les données ou

actions désirées doivent être demandées au robot en envoyant une commande et en

attendant la réponse.

Un exemple d'application maître-escalve est donné sur le graphique ci-dessous. Dans cette

illustration, deux clients TCP sont représentés, l'un utilisant un polling pour maintenir l'état du

robot à jour et l'autre permettant d'envoyer des commandes process au robot.

Figure 1: Exemple de pilotage d'un robot en Master

4.2.2 Procédure d'établissement d'une session

Le robot peut accepter un nombre illimité de clients accédant simultanément aux serveurs.

Les étapes nécessaires à l'établissement d'une connexion sont toujours les mêmes et sont

décrites dans ce qui suit :

1- Créer un socket et essayer de connceter le client au serveur robot

2- Lorsque la connexion est établie, le robot renvoie un message de bienvenue :

← 0 Connected. RobotType=…. SerialNumber=xxx. Use ‘login’ to

begin.

3- La première commande à envoyer au robot est la commande "LOGIN "

→ login user=user passwd=user

Si le login est valide, le robot répond la ligne suivante :

→ 72 Logged as ‘User’.

4- La connexion est désormais ouverte et active. Le robot peut accepter toutes les autres

commandes décrites dans le chapitre "commandes"

GetState

0 p0=v0 … pN=vNPolling

Thread TCP serverTCPClient1

TCPClient2

cmd

0 p0=v0 … pN=vN

Process

Text Protocol

Master application PocketDelta Robot

Page 8: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Syntaxe Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 8/49

5 Syntaxe

5.1 Généralités

La syntaxe du protocole texte est basée sur le code ASCII et permet de contrôler si la

commande reçue est correcte. Ce contrôle est effectué sur les niveaux suivants :

Commande : vérifie si la commande est valide

Paramètres : vérifie si le paramètre est valide et si tous les paramètres

nécessaires à la commande sont présents

Valeurs : vérifie si le type de la valeur correspond au type désiré (booléen, entier,

chaine …)

5.1.1 Syntaxe d'une commande

Une commande en protocole texte est construite de la manière suivante :

Préfixe Paramètres Suffixe

Commande parameterX=valueX Carriage Return & Line Feed

Tableau 5-1 : Syntaxe d’une commande texte

Le nombre de paramètres pour les commandes et les réponses peut varier de 0 à N selon

l’instruction. Si aucun paramètre n'est nécessaire, la commande ou le code est directement

suivi du Carriage Return & Line Feed sans espace. Toutes les instructions sont décrites

dans les chapitres suivants.

NOTE IMPORTANTE :

Dans les commandes envoyées au moins un caractère espace est nécessaire entre chaque

paramètre.

Page 9: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Syntaxe Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 9/49

5.1.2 Syntaxe d'une réponse

5.1.2.1 Construction

La réponse du robot à une commande est construite comme présenté ci-dessous :

Préfixe Paramètres Suffixe

Code parameterX=valueX Carriage Return & Line Feed

Tableau 5-2 : Syntaxe d’une réponse texte

Pour les réponses, le premier paramètre

correspond au code de retour de la

commande. En cas d’erreur, ce même

paramètre transmet le message d’erreur

correspondant et le code est alors non

nul. Toute instruction va induire une

réponse immédiate du robot comme

schématisé sur la Figure 5-1.

Figure 5-1 : réponse immédiate à toute

commande

5.1.2.2 Liste des codes de réponse

Les codes pouvant être retournés ainsi que les significations associées sont listés ci-après :

0 – Command OK.

2– Wrong number of args

5 – Syntax error

10 – Cannot give help

20 – Invalid arguments

30 – Wrong state

32 – Brakes engaged

33 – Out of workspace

40 – Not permitted

50 – Internal error

60 – Wrong value

70 – Wrong login

72 – Logged as 'User'

73 – Logged as 'Admin'

DEMAND

ANSWER

MoveTO x=0.010 y=0.010 z=0.03 speedfactor=0.1CRLFMoveTO x=0.010 y=0.010 z=0.03 speedfactor=0.1CRLF

0CRLF30 Wrong state

0CRLF30 Wrong state

Page 10: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Mouvement et trajectoire Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 10/49

6 Mouvement et trajectoire

Les informations concernant les mouvements, trajectoires, éléments du volume de travail

tels que points et repère sont explicitées dans la documentation

« Asyfeed_Programming_Guide_EN »

6.1 Machine d'état robot

La commande GETSTATE permet de lire l'état du robot et d'obtenir de multiples informations

comme la position courante ou l'état des entrées sorties. Les tableaux suivants résument la

signification de chaque valeur renvoyée dans l'instruction GETSTATE .

current / desired nom correspondant détails

-2 STATE_EMERGENCY_PRESSED

Le robot est en état "arrêt d'urgence".

Relâcher le bouton d'arrêt d'urgence

pour passer en état "off".

-1 STATE_ERROR

Le robot est en état "erreur".

Valider et quittancer l'erreur en

passant dans l'état "off".

0 STATE_OFF

Le robot est en état "off".

Pour pouvoir donner une instruction de

mouvement choisir l'état "idle"

1 STATE_HOMING

Le robot est en état "homing".

A la fin de l'initialisation l'état passe

automatiquement en "on" puis "idle".

2 STATE_ON Le robot est en état "on".

L'état logique suivant est "idle".

3 STATE_IDLE Le robot est en état "idle".

Le robot est prêt à bouger.

Tableau 6-1 : listes des états robot (robot state)

Page 11: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Mouvement et trajectoire Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 11/49

motionstate nom correspondant détails

-1 TRAJ_ERROR Erreur sur la trajectoire

0 INPOSITION Position cible atteinte

1 MOVING_BUFF Mouvement en cours. Le prochain

mouvement nécessaire si un "blend"

est désiré n'est pas encore définit

2 MOVING Mouvement en cours. Le prochain

mouvement est déjà définit.

3 MOVING_BLENDING En mouvement. En cours de blend

Tableau 6-2 : états des mouvements (motionstate)

outofworkspace nom correspondant détails

0 Inclus dans le volume de

travail

le robot se trouve dans son volume de travail

1 Hors volume de travail. la position courante du robot est en dehors du

volume de travail

Tableau 6-3 : position dans le volume de travail (outofworkspace)

Robot error nom correspondant détails

0 NO_ERROR Pas d'erreur

1 POSITION_TRACKING_ERROR Erreur de suivi en position

2 CURRENT_TRACKING_ERROR Erreur de suivi en courant

3 HOMING_ERROR Erreur de homing

4 INTERNAL_ERROR Erreur non spécifique

5* SECURITY_IO_ERROR

Signale que l'entrée digitale de sécurité est dans l'état "bas". La fonction de surveillance de cette entrée est optionnelle et activée/désactivée par un paramètre du fichier de configuration ".version".

* Valable uniquement pour les robots "pocket" et "power".

Tableau 6-4 : listes des erreurs du robot

Page 12: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Mouvement et trajectoire Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 12/49

taskstate nom correspondant détails

-1 TASK_ERROR Tâche en erreur.

0 TASK_DONE Tâche terminée

1* TASK_BUFFERING Tâche en préparation

* Cet état de transition est définit mais n'est actuellement pas utilisé.

2 TASK_INPROGRESS Tâche en cours d'exécution

3 TASK_NOT_STARTED Tâche en attente d'exécution

Tableau 6-5 : état d'une tâche (task state)

tasklist

state

nom correspondant détails

-1 TASK_LIST_ERROR La tâche courante est en erreur

0 TASK_LIST_DONE La file des tâches est vide et la

tâche courante est terminée.

1 TASK_LIST_PROCESSING En cours de fonctionnement. Au

moins une tâche est active.

Tableau 6-6 : état de la file des tâches (tasklist state)

prgstate nom correspondant détails

-1 PRG_ERROR Exécution interrompue par une erreur

0 PRG_STOPPED Exécution terminée

1 PRG_STOPPING Arrêt de l'exécution en cours

2 PRG_RUNNING En cours d'exécution

3 PRG_SUSPENDING En transition vers une pause de l'exécution

4 PRG_SUSPENDED Exécution en pause

Tableau 6-7 : états des programmes (prgstate)

Page 13: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Mouvement et trajectoire Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 13/49

6.2 Modes d'initialisation du robot pocketdelta

Il existe plusieurs modes d'initialisation robot liés à la structure même du robot delta. Il est

ainsi possible d'initialiser les trois moteurs en même temps, ou tour à tour chacun des trois

moteurs, et ce systématiquement ou seulement lors d'un évènement particulier. Le tableau

ci-dessous résume les différents modes d'initialisation et les codes associés.

homing

mode

nom correspondant détails

0 HOMING_NORMAL - initialisation des trois moteurs

successivement : recherche du signal externe recherche du premier index

moteur rencontré après le signal externe.

- initialisation à chaque passage de l'état "off" à "idle"

1 HOMING_NORMAL_ONLY_ONCE - initialisation des trois moteurs

successivement: recherche du signal externe recherche du premier index

moteur rencontré après le signal externe.

- initialisation seulement une fois à chaque mise sous tension

2 HOMING_WITHOUT_SENSORS - initialisation des trois moteurs

successivement: recherche du premier index

moteur rencontré après le signal externe.

- initialisation à chaque passage de l'état "off" à "idle"

3 HOMING_WITHOUT_SENSORS_ONLY_ONCE - initialisation des trois moteurs

successivement: recherche du premier index

moteur rencontré après le signal externe.

- initialisation seulement une fois à chaque mise sous tension

4 HOMING_ONLY_SENSORS - initialisation des trois moteurs

successivement: recherche seulement du

signal externe - initialisation à chaque passage de

l'état "off" à "idle"

Page 14: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Mouvement et trajectoire Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 14/49

5 HOMING_ONLY_SENSORS_ONLY_ONCE - initialisation des trois moteurs

successivement: recherche seulement du

signal externe - initialisation seulement une fois à

chaque mise sous tension

6 NO_HOMING - pas d'initialisation

10 HOMING_ALL_TOGETHER - initialisation des trois moteurs

simultanément : Init sur le 1

er index moteur

rencontré. Inversion du sens de rotation du moteur si le signal externe est détecté.

- initialisation à chaque passage de l'état "off" à "idle"

11 HOMING_ALL_TOGETHER_ONLY_ONCE - initialisation des trois moteurs

simultanément : Init sur le 1

er index moteur

rencontré. Inversion du sens de rotation du moteur si le signal externe est détecté

- initialisation seulement une fois à chaque mise sous tension

12 HOMING_ALL_TOGETHER_

FORCE_INITSENSOR - initialisation des trois moteurs simultanément:

Recherche du signal externe Inversion du sens de rotation

et init sur le 1er

index moteur rencontré.

- initialisation à chaque passage de l'état "off" à "idle"

13 HOMING_ALL_TOGETHER_FORCE_

INITSENSOR_ONLY_ONCE - initialisation des trois moteurs simultanément:

Recherche du signal externe Inversion du sens de rotation

et init sur le 1er

index moteur rencontré.

- initialisation seulement une fois à chaque mise sous tension

Tableau 6-8 : types d'initialisation (homing mode)

Page 15: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 15/49

7 Robot text commands

Ce chapitre décrit toutes les commandes accessibles en TCP depuis la plateforme robot. La

syntaxe suivante a été utilisée pour décrire les commandes :

[parameters] = paramètres facultatifs

(z) = Variable de type “booléen”

(i) = Variable de type “entier”

(f) = Variable de type “nombre en virgule flottante”

(s) = Variable de type “chaine de caractères”

(l) = Variable de type “entier long”

Page 16: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 16/49

7.1 Commandes du contrôleur

GETVERSION

Syntaxe : GETVERSION

Fonction : Affiche le label de version logicielle installé sur le robot

Paramètres : aucun

Retour : ← "0 PRODUCTKEY=(s1) PRODUCTSN=(s2) SOFTRELEASE=(s3)

SOFTUPDATE=(s4) ROBOTYPE=(s5) DOF=(s5) SN=(s6)"

← "40 Not permitted"

Exemple : GETVERSION

← "0 PRODUCTKEY=ROBOT-POC-01--10-03-FL-NO PRODUCTSN=simdelta SOFTRELEASE=4.4.1_RC3 SOFTUPDATE=24.09.2013 ROBOTTYPE=SIM DOF=3 SN=12345678910"

Voir aussi :

LOGIN

Syntaxe : LOGIN user=(s) passwd=(s) [timeout=(f)]

Fonction : Ouverture d'une session avec nom d'utilisateur et mot de passe.

Paramètres : user Nom d'utilisateur

passwd Mot de passe

timeout Optionnel. Timeout pour la session en [s]. Valeur par défaut 120[s]

Retour : ← "0" (OK)

← "20 Invalid arguments for timeout. Must be greater than 0"

← "50 Internal error"

← "70 Wrong login"

← "72 Logged as 'User'"

← "73 Logged as 'Admin'"

← "74 Logged as 'Superuser'"

Exemple : Login user=admin passwd=secret timeout=300

Voir aussi : Logout

Page 17: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 17/49

LOGOUT

Syntaxe : LOGOUT

Fonction : Quitte la session courante

Paramètres : aucun

Retour : ← "0"

Exemple : LOGOUT

Voir aussi : LOGIN

HELP

Syntaxe : HELP [command=(s)] [listdetailed=(i)]

Fonction : liste toutes les commandes existantes ou affiche l'aide sur une commande

spécifique.

Paramètres : command Nom de la commande spécifique

listdetailed Impression de l'aide de toute les commandes dans un fichier nommé ''TextCMD.txt"

Retour : ← "0" (Command OK)

← "10 cannot give help on <cmdName> Unknown command"

← "40 Not permitted." (login privilege is too low)

Exemple : HELP command=MoveTo

Voir aussi :

Page 18: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 18/49

LOG

Syntaxe : LOG cmd=(s) [filename=(s)]

Fonction : Permet de gérer les fonctions de "log" du contrôleur

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

Valeurs possibles :

(1) 'startPrintLog' (2) 'stopPrintLog' (3) 'listLogFiles'

(4) 'deleteLogFile' (5) 'readLogFile' (6) 'startLogTaskPlanner'

(7) 'stopLogTaskPlanner' (8) 'startLogTcpServer' (9) 'stopLogTcpServer'

(10) 'startLogController' (11) 'stopLogController'

filename Nom du fichier pour les sous-commandes 'readLogFile' et 'deleteLogFile'

Retour : ← "0" (commande ok)

← "20 Invalid arguments."

← "40 Not permitted." (login privilege is too low)

← "50 Internal error"

Exemple : LOG cmd=startLogTaskPlanner

Voir aussi :

SYSTEM

Syntaxe : *SYSTEM* cmd=(s) [arg1=(s)] [arg2=(s)]

Fonction : Permet de transmettre une commande système.

*NOTE*:

Commande à usage interne Asyril uniquement. Le comportement normal

du robot ne peut être assuré dans le cas contraire.

Paramètres : cmd Commande système

arg1 Premier argument optionnel

arg2 Deuxième argument optionnel

Retour : ← "0 <command response>"

← "1 <command error>"

Exemple : -

Voir aussi : -

Page 19: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 19/49

IP

Syntaxe : IP cmd=(s) [parameter=(s)] [value=(s)]

Fonction : Permet d'afficher ou de modifier l'adresse IP du robot

NOTE:

Valable uniquement pour le robot de type pocket delta

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

valeurs possibles :

(1)'show', (2)'edit'

parameter Mot clef définissant le paramètre à éditer

Valeurs possibles:

(1)'hostname', (2) 'domain', (3) 'nameserver', (4) 'route',

(5) 'manual_ip', (6) 'manual_netmask'

value Valeur du paramètre

Retour : ← "0" (command ok)

← "2 Wrong number of args."

← "40 Not permitted." (login privilege is too low)

← "50 Internal error"

Exemple : IP cmd=edit parameter=manuall_ip value=192.168.0.10

Voir aussi : -

EXIT

Syntaxe : *EXIT*

Fonction : Quitte immédiatement l'application contrôleur

*NOTE*:

Commande à usage interne Asyril uniquement. Le comportement

normal du robot ne peut être assuré dans le cas contraire.

Paramètres : aucun

Retour : ← "0" (command ok)

← "40 Not permitted." (login privilege is too low)

Exemple : EXIT

Voir aussi : -

Page 20: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 20/49

7.2 Commandes de configuration

CONTROLLER

Syntaxe : CONTROLLER cmd=(s) [name=(s)] [idx=(i)] [value=(s)] [data=(s)]

Fonction : Accès à la lecture et modification des paramètres bas-niveau du contrôleur.

NOTE:

Cette commande "bas-niveau" est réservée à une utilisation interne

par Asyril.

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

valeurs possibles :

(1)'toString', (2)'startDebug', (3)'stopDebug'

(4)'readControllerFile', (5)'readModelFile', (6)'getBrakes',

(7)'readanalogueoutputs', (8)'getMotorTorque', (9)'getTCPparameters'

(10)'saveParameters', (11)'reloadFile', (12)'setParameter[s]' (13)'getParameter[s]', (14)'getParametersXML'

name

Nom du paramètre pour les sous-commandes 'getParameter(s)' et 'setParameter(s)'

idx Index pour les valeurs de paramètre de type "vecteur"

value

Valeur du paramètre pour les sous-commandes 'getParameter(s)' et 'setParameter(s)'

data

Donnée Xml pour les sous-commandes 'setParameter[s]' Supporte l'encodage "pourcent" (percent encoding)

Retour : ← "0" (command ok)

← "0 <paramName>=<param value>"

Pour l'appel de "getParameter name=<paramName>"

← "0 analogueoutput0=(f) analogueoutput1=(f)

analogueoutput2=(f) analogueoutput3=(f)"

Pour l'appel de "readAnalogueOuputs"

← "0 motortorque0=(f) motortorque1=(f) motortorque2=(f)

motortorque3=(f)"

Pour l'appel de "getMotorTorque"

← "0 controllertostring=<toStringCmdResult>"

Pour l'appel de "toString"

← "0 readcontrollerfile=<xmlFileAsString>"

Pour l'appel de "readControllerFile"

← "0 readmodelfile=<xmlFileAsString>"

Pour l'appel de "readModelFile"

← "0 controllerparameters=<xmlFileAsString>"

Pour l'appel de "readModelFile"

← "0 release=[0|1]"

Pour l'appel de "getBrakes"

← "0 dx=(f) dy=(f) dz=(f)"

Pour l'appel de "getTcpParameters"

← "40 Not permitted." (login privilege is too low)

Page 21: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 21/49

← "50 Internal error."

← "83 Data or name&value are needed!!"

Exemple : CONTROLLER cmd=setParameter name=offset value=0.005

Voir aussi : ---

Page 22: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 22/49

7.3 Commandes du module robot

GETSTATE [frameID] [toolID]

Syntaxe : GETSATE [<FrameID=(i)>] [<ToolID=(i)>]

Fonction : Retourne le "status" courant du robot.

Paramètres : FrameID valeur numérique référençant l’identifiant du repère (frame) concerné

ToolID valeur numérique référençant l’identifiant de l'outil (tool) concerné

Retour : Retour de la forme:

"0 current=(s) desired=(s) motionstate=(s)

outofworkspace=(0|1)frameid=(i)

framescalex=(f)framescaley=(f) framescalez=(f)

toolid=(i)

x=(f) y=(f) z=(f) rz=(f)

q0=(f)q1=(f) q2=(f) q3=(f)

xdes=(f) ydes=(f) zdes=(f) rzdes=(f)

tasklistsize=(i)taskliststate=(i)

currenttaskid=(i) pasttaskid=(i)

slowspeed=(0|1) brake=(0|1)

digitalinput=(bbbbb…) digitaloutput=(bbbbb…)

axissmooth=(bbbb) axiscompliant=(bbbb)

errorcode=(i) errormessage=(s)

prgstate=(s) prgname=(s)"

current Numéro de l'état courant soit:

-2 -1 0 1 2 3

Estop Error Off Homing On Idle

Voir Tableau 6-1 pour plus de détail sur la machine d'état robot

desired Numéro de l'état demandé.

motionsate Numéro de l'état de mouvement du robot soit:

-1 TrajError. Erreur de trajectoire

0 Position cible atteinte

1 Mouvement en cours. Le prochain mouvement nécessaire si un "blend" est désiré n'est pas encore définit.

2 En mouvement. Deux mouvements définits (blend)

3 En mouvement. En cours de blend

Voir le Tableau 6-2 pour plus de détail

outofworkspace Deux valeurs possibles [0 | 1]

0 : Le robot est dans sa zone de travail

1: Le robot est hors de sa zone de travail.

Voir également le Tableau 6-3 pour plus de détail

frameId Id du frame dans lequel les coordonnées x,y,z sont exprimées

Page 23: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 23/49

frameScaleX frameScaleY frameScaleZ

Facteur d'échelle du frame interrogé pour chacune des directions x,y et z

toolId Id de l'outil dans lequel les coordonnées sont exprimées

x, y, z ,rz Position courante du robot dans le repère donné par frameId et toolid

q0, q1, q2, q3 Position angulaire courante des moteurs [rad]

xdes, ydes, zdes,rzdes

Dernière position cible

taskListsize, taskListstate,

currentTaskId,

pastTaskId

taskListSize : Taille totale (nombre d'élément)

taskListState: Etat du gestionnaire de la file des tâches.

L'état peut prendre les valeurs suivantes.

-1 0 1

Erreur Terminé En fonctionnement

Voir Tableau 6-5 et Tableau 6-6 pour plus de détail.

currentTaskId : id de la tâche courrante

pastTaskId : id de la dernière tâche terminée

slowspeed Deux valeurs possible : 0 : vitesse lente désactivée 1 : vitesse lente activée

brake

Etat des freins moteurs. Codé sur un mot de quatre digits [0|1] pouvant chacun prendre 0 ou 1 comme valeur. Exemple: "0000" tous les freins sont désactivés

digitalInput,

digitalOutput

Etat des entrées/sorties digitales.

Codé sur un mot formé par une séquence de digit [0|1] de taille égale au nombre d'entrée ou sorties définies.

Ex. "00010010" si le nombre de sorties est égal à 8 et si les sorties 4 et 6 sont activées.

errorCode,

errorMessage

errorCode : Numéro de l'erreur courante du robot.

0 Pas d'erreur

1 Erreur de suivit de position

2 Erreur de suivit de courrant

3 Erreur de homing

4 Erreur interne non spécifique

5 Entrée digitale de sécurité dans l'état "bas"

errorMessage : Message d'erreur courant.

Voir le Tableau 6-4 pour plus de détail.

Page 24: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 24/49

prgState,

prgName

prgState : Etat d'exécution du programme ARL courant.

Peut prendre les valeurs suivantes:

-1 Exécution interrompue par une erreur

0 Exécution terminée

1 Arrêt de l'exécution en cours

2 En cours d'exécution

3 En transition vers une pause de l'exécution

4 Exécution en pause

Voir le Tableau 6-7 pour plus de détail.

prgName : Nom du programme courant.

Exemple : "GetState frameId=11"

Voir aussi : Tableau 6-1 : listes des états robot (robot state)

Page 25: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 25/49

SETSTATE state

Syntaxe : SETSATE <state=(s)/(i) >

Fonction : Cette commande demande le changement de l'état courant du robot.

Paramètres : state chaine de caractères définissant l'état désiré : ON, OFF ou IDLE

ou numéro de l'état correspondant. Voir tableau 5-1

Retour : ← "0"

← "30 Wrong state. Cannot set the robot in state <state>"

← "40 Not permitted"

Exemple : "SetState idle" equivalent à "SetState 3"

Voir aussi : Tableau 6-1 : listes des états robot (robot state)

Page 26: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 26/49

MOVETO frameID toolID

Syntaxe : MOVETO [x=(f)] [y=(f)] [z=(f)] [rz=(f)] [speedfactor(f)] [accfactor(f)] [decfactor(f)]

[jerkfactor(f)] [blend=(f)] [actioncode=(f)] [actioncode2=(f)] [pointid=(i)] [toolid=(i)]

[frameid=(i)] [additive=(i)] [limitworkspace=(i)] [append=(i)] [log=(i)] [taskid=(l)]

[rztarget=(i)] [rzfactor=(f)]

Fonction : Cette commande déplace le robot aux coordonnées spécifiées dans le repère choisi,

avec l'outil choisi et en appliquant les paramètres dynamiques choisis.

Paramètres : x coordonnée x de la position cible dans le repère donnée par l'argument <frameId> Repère world si le frameid est omis.

y coordonnée y de la position cible dans le repère donnée par l'argument <frameId> Repère world si le frameid est omis.

z coordonnée z de la position cible dans le repère donnée par l'argument <frameId> Repère world si le frameid est omis.

rz coordonnée rz (angle du 4em axe) de la position cible

speedfactor facteur de vitesse [0..1]. Définit par rapport à la vitesse max (param "speedMax") définie dans le fichier ".controller".Valeur par défaut = 0.1.

accfactor facteur d'accélération [0..1]. Définit par rapport à l'accélération max (param "accmax") définie dans le fichier ".controller". Valeur par défaut = 1.0.

ne s'applique pas au robot DesktopDelta

decfactor facteur de décélération [0..1] Le facteur 1.0 correspond à la décélération max (param "decmax") définie dans le fichier ".controller" Valeur par défaut = 1.0.

ne s'applique pas au robot DesktopDelta

jerkfactor facteur de jerk [0..1]. Le facteur 1.0 correspond au jerk max (param "jerkmax") définie dans le fichier ".controller" Valeur par défaut = 1.0.

ne s'applique pas au robot DesktopDelta

blend Blend en [m]

actioncode Code action

actioncode2 Code action n°2.

Valide uniquement pour le robot DesktopDelta avec l'option de carte io supplémentaire.

pointid Identifiant du point

toolID identifiant de l'outil (tool) concerné

frameID identifiant du repère (frame) concerné

additive valeurs possibles 0 ou 1. Si = 1 alors la position cible (x,y,z,rz) donnée en argument est relative à la dernière position cible càd ajoutée à la dernière position cible.

limitworkspace

Valeurs possibles 0 ou 1. Si = 0 alors la position cible du mouvement n'est pas contrôlée pour vérifier si elle est inclue dans le volume de travail du robot. Ce contrôle à lieu avant le départ du mouvement.

Valeur par défaut = 1 (activé)

Page 27: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 27/49

append Valeurs possible 0 ou 1. Définit si le mouvement doit être ajouté à la file des mouvements afin d'être exécuté dans le futur ou s'il doit ignorer la file des mouvements et être exécuté en priorité. (dans ce cas la file des mouvements est remise à zéro) Valeur par défaut = 0

taskid Définit un numéro d'identifiant de mouvement. [-264

…+264

-1]

rztarget Définit si le mouvement découplé du 4ème axe (rz) doit être synchronisé sur la cible de ce mouvement x,y,z

Valeurs possbile 0 ou 1: valeur par défaut = 1.

Valable uniquement pour le robot DesktopDelta avec option 4ème axe découplé.

rzfactor Facteur dynamique de "vitesse" du 4em axe.

Est définit comme un ratio des temps de parcours définit par les paramètres dynamique "maximaux" vmax et accmax.

Valeurs possible [0..1] valeur par défaut = 1.0 (vitesse max)

Valable uniquement pour le robot DesktopDelta avec option 4ème axe découplé.

Retour : ← "0"

← "30 The robot must be in state 'idle' to accept motion

commands."

← " 32 The brakes have to be release to accept motion

commands."

← "33 Out of workspace"

← "40 Not permitted"

← "60 Wrong ID for tool."

← "60 Tool <toolid> doesn't exist."

← "60 Wrong ID for point."

← "60 Point <pointid> doesn't exist."

← "60 Wrong ID for frame."

← "60 Frame <frameid> doesn't exist."

← "60 Wrong value for speedfactor."

← "60 Wrong value for accfactor."

← "60 Wrong value for decfactor."

← "60 Wrong value for jerkfactor."

← "60 Wrong value for rzfactor."

← "60 Wrong value for blend. Range [0...1]."

← "60 Exception occurs by transformation. <exception message>"

← "80 Move aborted. Can not ommit position parameter like x or

y or z with a frame of type MESH"

Exemple : MoveTo x=0.010 y=0.010 z=0.050

Voir aussi :

Page 28: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 28/49

STOP [append]

Syntaxe : STOP [append=(i)]

Fonction : stoppe le mouvement en cours.

Paramètres : append Détermine si la commande est exécutée séquentiellement ou non.

Si append = 1 alors la commande est ajoutée à la file des tâches et sera exécuté dans l'ordre définit par la file.

Si append = 0 alors la commande est exécutée immédiatement et la file de tâches est remise à zéro.

Argument optionnel. Valeur par défaut = 0

Retour : ← "0"

← "30 Wrong state"

← "40 Not permitted"

Exemple : stop

Voir aussi :

WAIT duration [append]

Syntaxe : WAIT duration=(f) [append=(i)]

Fonction : Provoque une attente de durée déterminée par l'argument <duration>: Unité : [s]

Paramètres : duration temps d'attente

append Détermine si la commande est exécutée séquentiellement ou non.

Si append = 1 alors la commande est ajoutée à la file des tâches et sera exécuté dans l'ordre définit par la file.

Si append = 0 alors la commande est exécutée immédiatement et la file de tâches est remise à zéro.

Argument optionnel. Valeur par défaut = 0

Retour : ← "0"

← "30 Wrong state"

← "40 Not permitted"

Exemple : "Wait duration=3.0"

Provoque une attente de 3 secondes

Voir aussi :

Page 29: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 29/49

SETSLOWSPEED slowspeed

Syntaxe : SETSLOWSPEED slowspeed=(i)

Fonction : enclenche ou dés-enclenche le mode de vitesse lente du robot

Paramètres : slowspeed met le robot en vitesse lente ou rapide [0/1]

Retour : ← "0"

← "40 Not permitted"

Exemple : SetSlowSpeed slowspeed=1

Enclenche la vitesse lente du robot

Voir aussi :

LOADPOINTS fileid

Syntaxe : LOADPOINTS

Fonction : Demande le chargement d'une collection de positions robot.

Ces positions sont mémorisées et peuvent être accédées par un mot clef du langage

de script ARL.

Paramètres : fileid Nom du fichier point

Il s'agit de fichier xml avec l'extension ".points"

La valeur "all" permet de charger tous les fichiers avec l'extension ".points" présent.

Retour : ← "0 returninfo=command lauched"

← "1 argument fileid missing"

Exemple : LOADPOINTS fileid=placePoints

Recherche et charge le fichier "placePoints.points"

LOADPOINTS fileid=all

Rechercher et charge tous les fichiers ".points" présent.

Voir aussi :

Page 30: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 30/49

SETBRAKES release [force]

Syntaxe : SETBRAKES release=(i) [force=(i)]

Fonction : cette commande permet de lâcher ou serrer les freins du robot.

NOTE :

les trois freins sont simultanément serrés ou desserrés

Paramètres : release [0/1] 0= active les freins, 1=relâche les freins Si une demande d'activation des freins (release=0) est donnée alors que le robot est dans un état autre que "OFF" alors un requête de passage à l'état OFF est automatiquement effectuée. Voir l'argument "force"

force [0/1] 1=activation du "forçage".

Permet de forcer l'activation ou la désactivation des freins sans tenir compte de l'état du robot.

Cette option permet de forcer l'activation des freins même pour un robot en mouvement!

Retour : ← "0"

← "40 Not permitted"

Exemple : SetBrakes release=1

Relache les freins du robot

Voir aussi :

Page 31: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 31/49

SETTCPPARAMETERS

Syntaxe : SETTCPPARAMETERS [dx=(f)] [dy=(f)] [dz=(f)]

Fonction : Permet de modifier le "Tool Center Point"

Cela permet de prendre en compte dans le test d'inclusion dans le volume de travail un outil qui serait décentré par rapport à la nacelle du robot

NOTE:

Valable uniquement pour le robot de type Pocket delta

Paramètres : dx Offet en [m] dans la direction x du repère 'world'

dy Offet en [m] dans la direction y du repère 'world'

dz Offet en [m] dans la direction z du repère 'world'

Retour : ← "0" (commande ok)

← "20 Invalid arguments."

← "31 Not permitted. Robot is moving."

← "33 Out of workspace."

← "40 Not permitted." (login privilege is too low)

← "41 No valid command for the robot type 'DesktopDelta'"

Exemple : SETTCPPARAMETERS dx=0.005 dy=-0.005 dz=0.0

Voir aussi :

Page 32: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 32/49

WSFRAME cmd [data] [frameid] [type]

Syntaxe : WSFRAME cmd=<cmdKeyword> [data=(s)] [frameid=(i)]

Fonction : cette commande permet diverses opérations de lecture et écritures dans le fichier de

définition des frames "frames.xml".

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

Valeurs possibles :

(1) 'list' (2) 'loadData' (3) 'setFile' (4) 'readData' (5) 'readFile'

(6) 'getFile' (7) 'save' (8) 'load' (9)'reLoad' (10) 'createVirtualFrame'

(11) 'getFrameConfig'

data Chaîne de caractère codé xml de définitions des frames Valable pour les sous-commandes (2) 'loadData' et (3) 'setFile'

frameid Identifiant du frame. Nombre entier dans l'intervalle [0..99] Valable pour les sous-commandes (10)"createVirtualFrame" et (11)"getFrameConfig"

Retour : ← "0"

← "0 frameid=<fid(1)> … frameid=<fid(n)"

Ou fid(1)… fid(n) représente l'ensemble des identifiant de

frame définit. Ex. frameid=1 frameid=2 frameid=23 frameid=40

Pour la sous-commande (1)"list"

← "0 framefile=<xmlFrameData>"

Pour l'appel de la sous-commande (5)"readFile" ou (6)"getFile"

← "0 framedata=<xmlFrameData>"

Pour l'appel de la sous-commande (4)"readdata"

← "0 frameId=<id> ptconfig<0>0=<value>… ptconfig<3>3=<value>

parentframeid=<id> xnorme=<value> ynorme=<value>

xdistance=<value> ydistance=<value> type=<value>

ptcalib<0>0=<value> … ptcalib<3>3=<value>"

Pour l'appel de la sous-commande (11)"getFrameConfig"

← "83 Frame data are needed!!"

Pour la sous-commande (2)"loaddata" ou (3)"setFile" dans le

cas ou l'argument "data" manque

← "84 Error by getting frame data. <Exception message>"

Si la sous-commande (4)"readdata" a généré une exception.

← "84 Error by getting frame file. <Exception message>"

Si la sous-commande (5)"readFile" ou (6)"getFile" a généré une

exception.

← "85 Error by saving frame. <Exception message>"

Si la sous-commande (7)"save" a généré une exception

← "85 Error while reloading the frames. <Exception message>"

Si la sous-commande (9)"reload" a généré une exception

← "85 Error by loading frame. <Exception message>"

Si l'appel de la sous-commande (8)"load" a généré une

exception.

Page 33: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 33/49

← "85 Error can not reload the frames, the robot must be in the

state OFF"

Pour l'appel de la sous-commande (9)"reload" alors que le robot

n'est pas dans l'état aproprié.

← "88 Failed. <Exception message>"

Si la sous-commande (2)"loaddata" ou (3)"setFile" génère une

exception.

← "89 Frame file saved!!!"

Si la sous-commande (3)"setFile" s'est terminée correctement.

← "89 Frame data loaded!!!"

Si la sous-commande (2)"loaddata" s'est terminée correctement.

Exemple : WsFrame cmd=readData

Retourne le fichier "frames.xml" actuellement définit

Ex. <frame>

<ptconfig id='0'x='-0.005'y='0.028'z='0.007' rz='0.000'/>

<ptcalib id='0' x='0' y='0' z='0' rz='0'/>

</frame> …

Voir aussi :

Page 34: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 34/49

WSPOINT cmd [pointid] [data] [xp] [yp] [zp] [rzp]

Syntaxe : WSPOINT cmd=<cmdKeyword>[data=(s)] [xp=(f)] [yp=(f)] [zp=(f)] [rzp=(f)]

Fonction : cette commande permet diverses opérations de lecture et écritures dans le fichier de

définition des points "points.xml".

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

Valeurs possibles :

(1) 'list' (2) 'loadData' (3) 'setFile' (4) 'readData' (5) 'readFile'

(6) 'getFile' (7) 'save' (8) 'saveFile' (9)'reLoad' (10) 'load'

(11) 'createVirtualPoint' (12) 'getPointConfig'

pointid Identifiant du point. Nombre entier dans l'intervalle [0..99]

Valable pour les sous-commandes (11)"createVirtualPoint" et (12)"getPointConfig"

data Chaîne de caractère codé xml de définitions des points Valable pour les sous-commandes (2) 'loadData' et (3) 'setFile'

xp Coordonnée x d'un point. Grandeur sans unité représentée par un nombre a décimale (flottant). L'unité sera donnée par le frame dans lequel ce point sera utilisé. Le même point peut être utilisé pour des mouvements dans des frames différents.

yp Coordonnée y d'un point. Unité : voir remarque pour le param "xp"

zp Coordonnée z d'un point. Unité : voir remarque pour le param "xp"

rzp Coordonnée rz (axe rotatif) d'un point. Unité: Est celle choisie pour l'axe rotatif. Contrairement aux autres coordonnées, ne dépend pas du frame utilisé.

Retour : ← "0"

← "0 pointID=<pid(1)> … pointID=<pid(n)>"

Ou pid(1)… pid(n) représente l'ensemble des identifiant de

point définit. Ex. pointID=1 pointID=2 pointID=23 pointID=40

Pour l'appel de la sous-commande (1)"list"

← "0 pointdata=<dataXml>"

Pour l'appel de la sous-commande (4)"readData"

← "0 pointfile=<XmlPointFile>"

Pour l'appel des sous-commandes (5)"readFile" et (6)"getFile"

← "0 pointid=<id> xp=<value> yp=<value> zp=<value>

rzp=<value>"

Pour l'appel de la sous-commande (12)"getPointConfig"

← "1 Error while reloading the points. <ExceptionMessage>"

Si la sous-commande (9)"reload" a généré une exception.

← "40 Not permitted."

← "50 Internal error."

Si la sous-commande (11)"createVirtualPoint" a généré une

exception.

← "83 Point data are needed!!"

Si l'argument "data" est absent pour les sous-commandes

(2)"loadData" et (3)"setFile"

Page 35: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 35/49

← "84 Error by getting point file. <ExceptionMessage>"

Si une des sous-commande (5)"readFile" ou (6)"getFile" a généré

une exception.

← "84 Error by getting point data. <ExceptionMessage>"

Si la sous-commande (4)"readData" a généré une exception.

← "85 Error can not reload the points, the robot must be in the

state OFF"

Si la sous-commande (9)"reload" est appellee alors que le robot

n'est pas dans un état autorisé.

← "85 Error by saving point.<ExceptionMessage>"

Si les sous-commandes (7)"save" ou (8)"saveFile" ont généré une

exception.

← "85 Error by loading frame. <ExceptionMessage>"

Si la sous-commande "load" a généré une exception.

(l'apparition du terme "frame" dans ce message est une erreur

de frappe)

← "86 Point ID is needed."

Si l'argument "pointId" manque lors de l'appel de la sous-

commande (11)"createVirtualPoint"

← "87 Invalid Point ID <id>"

Pour l'appel de la sous-commande (11)"createVirtualPoint" si

l'argument "pointId" ne correspond à un entier >0

← "88 Failed. <ExceptionMessage>"

Si l'appel de la sous-commande "setFile" a généré une exception

← "88 xp is needed."

Si il manqué l'argument "xp" à la sous-commande

(11)"createVirtualPoint"

← "88 yp is needed."

Si il manqué l'argument "yp" à la sous-commande

(11)"createVirtualPoint"

← "88 zp is needed."

Si il manqué l'argument "zp" à la sous-commande

(11)"createVirtualPoint"

← "88 rzp is needed."

Si il manqué l'argument "rzp" à la sous-commande

(11)"createVirtualPoint"

← "89 Point file saved!!!"

Si l'appel de la sous-commande (3)"setFile" s'est déroulée

normalement.

← "89 Point data loaded!!!"

Si l'appel de la sous-commande (2)"loadData" s'est déroulée

normalement.

Exemple : WsPoint cmd=list

Retourne:

"0 pointId=0 pointId=1 pointId=2…."

Voir aussi :

Page 36: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 36/49

WSTOOL cmd [toolid] [data] [dxt] [dyt] [dzt] [drzt]

Syntaxe : WSTOOL cmd=<cmdKeyword>[data=(s)] [dxt=(f)] [dyt=(f)] [dzt=(f)] [drzt=(f)]

Fonction : cette commande permet diverses opérations de lecture et écritures dans le fichier de

définition des outils "tools.xml".

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

Valeurs possibles :

(1)'list' (2)'loadData' (3)'setFile' (4)'readData' (5)'readFile'

(6)'getFile' (7)'save' (8)'saveFile' (9)'reLoad' (10)'load'

(11)'createVirtualTool' (12)'getToolConfig'

toolid Identifiant de l'outil. Nombre entier dans l'intervalle [0..99]

Valable pour les sous-commandes (11)"createVirtualTool" et (12)"getToolConfig"

data Chaîne de caractère codé xml de définitions des outils Valable pour les sous-commandes (2) 'loadData' et (3) 'setFile'

dxt Coordonnée x de l'outil. Grandeur sans unité représentée par un nombre a décimale (flottant). L'unité sera donnée par le frame dans lequel cet outil sera utilisé. Le même outil peut être utilisé pour des mouvements dans des frames différents.

dyt Coordonnée y de l'outil. Unité: Voir remarque pour l'argument "dxt"

dzt Coordonnée z de l'outil. Unité: Voir remarque pour l'argument "dxt"

drzt Coordonnée rz de l'outil. Unité: Est celle choisie pour l'axe rotatif. Contrairement aux autres coordonnées, ne dépend pas du frame utilisé.

Retour : ← "0"

← "0 toolID=<tid(1)> … toolID =<tid(n)>"

Ou tid(1)… tid(n) représente l'ensemble des identifiant

d'outils définit. Ex. toolID=1 toolID=2 toolID=23 toolID=40

Pour l'appel de la sous-commande (1)"list"

← "0 toolid=<id> dxt=<value> dyt=<value> dzt=<value>

drzt=<value>"

Pour l'appel de la sous-commande (12)"getToolConfig"

← "1 Unknow command."

Si l'argument "cmd" contient un mot clé non reconnu.

"40 Not permitted."

←"83 Tool data are needed!!"

Si l'argument "data" est absent pour l'appel des sous-commandes

(2)"loadData" ou (3)"setFile"

←"88 Failed. <ExceptionMessage>"

Si l'appel des sous-commandes (2)"loadData" ou (3)"setFile" ont

généré une exception.

← "89 Tool file saved!!!"

Si la sous-commande (3)"setFile" s'est déroulée normalement.

← "89 Tool data loaded!!!"

Si la sous-commande (2)"loadData" s'est déroulée normalement.

← "0 tooldata=<xmlData>"

Si la sous-commande (4)"readData" s'est déroulée normalement

Page 37: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 37/49

← "84 Error by getting tool data.<ExceptionMessage>"

Si la sous-commande (4)"readData" a généré une exception.

← "0 toolfile=<xmlData>"

Si les sous-commandes (5)"readFile" ou (6)"getFile" se sont

déroulé normalement.

← "84 Error by getting tool file. <ExceptionMessage>"

Si une des sous-commandes (5)"readFile" ou (6)"getFile" ont

générés une exception.

← "85 Error by saving tool. <ExceptionMessage>"

Si une des sous-commandes (7)"save" ou (8)"saveFile"

ont générés une exception.

← "1 Error while reloading the tools. <ExceptionMessage>"

Si la sous-commande (9)"reload" a généré une exception

← "85 Error can not reload the tools, the robot must be in the

state OFF"

Pour l'appel de la sous-commande (9)"reload" si le robot n'est

pas dans l'état approprié.

← "85 Error by loading frame. <ExceptionMessage>"

Si l'appel de la sous-commande (10)"load" a généré une

exception.

← "85 Error by loading frame. <ExceptionMessage>"

Si la sous-commande (10)"load" a généré une exception.

(l'apparition du terme "frame" dans ce message est une erreur

de frappe)

← "86 Tool ID is needed."

Pour l'appel de la sous-commande "createVirtualTool" si

l'argument "toolid" est absent.

← "86 Tool id needed."

Pour l'appel des sous-commandes (11)"createVirtualTool" et

(12)"getToolConfig" si l'argument "toolid" manque.

← "87 Invalid Tool ID"

Pour l'appel de la sous-commande (11)"createVirtualTool" si

l'argument "toolId" ne correspond à un entier >0.

← " 88 dxt is needed."

Pour l'appel de la sous-commande (11)"createVirtualTool" si

l'argument dxt est manquant.

← " 88 dyt is needed."

Pour l'appel de la sous-commande (11)"createVirtualTool" si

l'argument dyt est manquant.

← " 88 dzt is needed."

Pour l'appel de la sous-commande (11)"createVirtualTool" si

l'argument dzt est manquant.

← " 88 drzt is needed."

Pour l'appel de la sous-commande (11)"createVirtualTool" si

l'argument drzt est manquant.

← "50 Internal error. <ExceptionMessage>"

Pour l'appel des sous-commandes (11)"createVirtualTool" ou

(12)"getToolConfig" si une exception est générée.

Page 38: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 38/49

Exemple : WsTool cmd=list

"0 toolID=0 toolID=1 toolID=3 toolID=25"

Si les outils avec les id {0,1,3,25} sont définit

Voir aussi :

Page 39: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 39/49

7.4 Commandes d'entrées/sorties

SETDIGITALOUTPUT channel value [duration] [append]

Syntaxe : SETDIGITALOUTPUT channel=(i) value=(i) [duration=(f)] [append=(i)]

Fonction : cette commande permet d'écrire sur une sortie digitale.

Paramètres : channel Désigne le numéro de la sortie

value Etat désiré de la sortie [0/1]

duration Délai d'inversion de la sortie [s]

Valable uniquement pour le robot pocketDelta

append Détermine si la commande est exécutée séquentiellement ou non.

Si append = 1 alors la commande est ajoutée à la file des tâches et sera exécuté dans l'ordre définit par la file.

Si append = 0 alors la commande est exécutée immédiatement.

Argument optionnel. Valeur par défaut = 0

Retour : ← "0"

← "40 Not permitted"

Exemple : SETDIGITALOUTPUT channel=1 value=1

Voir aussi :

WAITDIGITALINPUT channel value timeout [append]

Syntaxe : WAITDIGITALINPUT channel=(i) value=(i) timeout=(f) [append=(i)]

Fonction : cette commande insère une tâche d'attente sur l'état d'une entrée dans la file des

tâches.

Paramètres : channel Désigne le numéro de l'entrée

value Etat attendu de l'entrée [0/1]

timeout Délai maximal d'attente. [s]

append Détermine si la commande est exécutée séquentiellement ou non.

Si append = 1 alors la commande est ajoutée à la file des tâches et sera exécuté dans l'ordre définit par la file.

Si append = 0 alors la commande est exécutée immédiatement.

Argument optionnel. Valeur par défaut = 0

Retour : ← "0"

← "30 Wrong state"

← "40 Not permitted"

Exemple : WAITDIGITALINPUT channel=1 value=1 timeout=10

Attend sur que l'entrée n°1 soit activée, n'attend pas plus de 10 secondes (timeout)

Voir aussi :

Page 40: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 40/49

7.5 Commandes de l'interpréteur ARL

PRG cmd [prgname] [prgdata]

Syntaxe : PRG cmd=<cmdKeyword>[prgname=(s)] [prgdata=(s)]

Fonction : Cette commande permet d'accéder aux fonctions du compilateur et de l'interpréteur

de script ARL. (compilation de programme, exécution etc..)

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

Valeurs possibles :

(1)'autoexec' (2)'getPrgList' (3)'compile' (4)'execute' (5)'stop' (6)'getOutput' (7)'getLog' (8)'readFile' (9)'writeFile' (10)'deleteFile'

prgname Nom du programme pour les sous-commandes

(3)compile (4)execute (8)readFile (9)writeFile (10)deleteFile

prgdata Texte du programme pour la sous-commande (9)writeFile

Retour : ← "0"

← "0 <prgErrOutput>"

Pour l'appel de la sous-commande (6)getOutput

← "0 No output."

Pour l'appel de la sous-commande (6)getOutput si la chaîne de

sortie des erreurs est vide.

← "0 <prgLogOutput>"

Pour l'appel de la sous-commande (7)getLog

← "0 prgdata=<ProgramText>"

Pour l'appel de la sous-commande (8)readFile

← "0 prg=<prgName1> …. prg=<prgName(n)>

prgActive=<prgActiveName>"

Pour l'appel de la sous-commande (2) getPrgList.

← "0 prg=<prgName1> …. prg=<prgName(n)>

prgactive=<prgActiveName>"

Pour la sous-commande (2)getPrgList

← "1 Unknown command."

Si la sous-commande de l'argument "cmd" n'est pas reconnue.

← "40 Not permitted."

← "50 Internal error."

Pour les sous-commande (8)readFile (9)writeFile et

(10)deleteFile

si une exception à lieu pendant une opération d'accès au

fichier concerné.

← "83 <ExceptionMessage>"

Pour l'appel de la sous-commande (3)compile si une exception

est générée lors de la compilation.

← "83 A program file is needed!!"

Pour l'appel des sous-commandes (3)compile, (4)execute et

(8)readFile si l'argument "prgname" est absent.

Page 41: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 41/49

← "83 No program compiled"

Pour la sous-commande (4)execute si le programme a exécuter

n'est pas compilé.

← "83 Program data are needed!!"

Pour la sous-commande (9)writeFile si l'argument "prgData" est

absent.

Exemple : "PRG cmd=execute prgname=myProgram"

← "0" Si le programme démarre son exécution

Voir aussi :

Page 42: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 42/49

7.6 Commandes du Process

Le module "process" est une fonctionnalité optionnelle qui permet de gérer une "logique machine"

(états de marche, gestion des portes, signalisation lumineuse etc.) depuis le contrôleur robot. Elle

peut être activée par le fichier de configuration "process.arc".

Le process est lui-même modulaire et composé de "module de contrôle" qui corresponde à des

systèmes périphériques au robot comme le système IO Wago ou un système vision externe. Certains

de ces modules ont leurs propres commandes dédiées.

La commande ci-après constitue un point d'entrée vers toutes les fonctionnalités liées au process.

PROCESS cmd [programid]

Syntaxe : PROCESS cmd=(s) [programid=(s)]

Fonction : cette commande permet d'adresser le module "process" du robot.

Paramètres : cmd Sous-commande de sélection de l'action à réaliser

Valeurs possibles : (1)'start' (2)'stop' (3)'getstates' (4)'loadarlprograms' (5)'updatearldata' (6)'clearalarm' (7)'clear' (8)'pause' (9)'getarlvalue' (10)'modulecmd' (11)'changecontext'

programid Nom du programme pour les sous-commandes suivantes:

(1)Start, (4)LoadArlPrograms et (5)updatearldata

start - Si l'argument "programid" est définit,

démarre l'exécution de celui-ci.

- si l'argument "programid" n'est pas définit,

et que la machine d'état OMAC est activée

alors l'effet dépend de l'état OMAC courant:

- STOPPED ou COMPLETE : envoie la commande

OMAC "Reset".

- IDLE : envoie la commande OMAC "Start"

- HELD : envoie la commande OMAC "Un-Hold"

- SUSPENDED: envoie la commande OMAC "Un-

Suspend"

- ABORTED: génère une exception du process

avec le message: "ProcessController->cmdStart

State=Aborted: Can not start : A clear must be

done before starting"

-(autres états OMAC) : pas d'action

Stop - Si la machine OMAC est désactivée

alors interrompt l'exécution du programme

courant.

- Si la machine OMAC est activée alors la

commande OMAC "Stop" est envoyée.

Exception faite des états ou un stop n'est pas

définit, soit pour les états:

-STOPPED, STOPPING, ABORTING, ABORTED

getStates Renvoie un ensemble d'états du contrôleur de

process. Voir le format détaillé de la réponse

plus-bas.

Page 43: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 43/49

loadarlprograms Compile et stocke en mémoire le programme arl

donné par l'argument "programid". Le fichier

arl correspondant est "<programid>.arl" qui

doit se trouver dans le répertoire

AsyrilData/Recipes/Current/arl

Si programId="all" alors la commande provoque

la compilation de tous les programmes arl

présents.

updatearldata Recharge les données (valeurs de variable

dynamique) associé au programme donné par

l'argument "programid"

clearalarm Reset du flag "alarmstate" retourné par la

commande "getStates". (voir plus bas le retour

de cette commande)

clear Correspond au signal "Clear" de OMAC.

Permet de sortir de l'état "Aborted". N'est

autorisé que depuis l'état OMAC "Aborted".

pause Correspond au signal "Hold" de OMAC.

Permet de passer dans l'état "Holding". N'est

autorisé que depuis l'état OMAC "Excute".

getarlvalue Permet de retrouver la valeur d'une variable

ARL connaissant son nom.

Ex. getARlVarValue name=count

modulecmd Permet de rediriger une command à un module

spécifique en l'adressant par son nom.

Ex. ModuleCmd cmd=<moduleCmd> …..

Retour : ← "0"

← "0 returninfo=succeed controllerstate=0

processstate=<OMAC_STATE_STRING> alarmstate=<true|false>

prgState=<PRG_STATE_STRING>"

Pour l'appel de la sous-commande (3)"getStates"

← "1 argument programid missing"

Pour l'appel de la sous-commande (4)loadArlPrograms si

l'argument "programId" est absent.

← "1 returninfo= Program: programid can not start : current

program is not stopped"

← "2 returninfo= Program: programid is not found"

Exemple : Cet exemple lance l'exécution du programme "demoprocess" :

→ "Process cmd=start programid=demoprocess"

← "0"

Voir aussi :

Page 44: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Robot text commands Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 44/49

7.7 Commandes du module IOWAGO

Le module IoWago est un module optionnel qui correspond à un système d'entrées/sorties de WAGO

753.

Ce module est optionnel et doit être configuré et connecté pour être utilisable.

READ name

Syntaxe : READ name=(s)

Fonction : cette commande permet de lire l'entrée (digitale ou analogique) donnée par son nom.

Paramètres : Name Nom de l'entrée

Retour : ← "true"

← "false"

Exemple : "Process ModuleCmd name=IoModule cmd=Read name=input1"

Voir aussi :

WRITE name value

Syntaxe : WRITE name=(s) value=(s)

Fonction : cette commande permet de lire l'entrée (digitale ou analogique) donnée par son nom.

Paramètres : Name Nom de l'entrée

Value Valeur de sortie. Peut prendre les valeurs "true" ou "false"

Retour : ← "0 returninfo=succeed"

Exemple : "Process ModuleCmd name=IoModule cmd=Write name=output1

value=true"

Voir aussi :

Page 45: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Support Technique Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 45/49

8 Support Technique

8.1.1 Pour un meilleur service …

Vous avez lu la FAQ ainsi que la check-list sans trouver de réponse à vos questions ? Avant

de nous contacter, merci de noter les informations suivantes concernant votre produit :

- Numéro de série et clé de produit de votre matériel

- Version(s) du/des software utilisé(s)

- Message d’erreur, alarme, ou signaux visuels affichés par l’interface.

8.1.2 Contact

Vous pouvez trouver de nombreuses informations sur notre site web : www.asyril.com

Vous pouvez aussi contacter notre service client :

[email protected]

+41 26 653 71 90

Page 46: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Index alphabétique Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 46/49

Index alphabétique

C

CONTROLLER ..................... 20

E

EXIT ..................................... 19

G

GETSTATE .......................... 22

GETVERSION ...................... 16

H

HELP .................................... 17

I

IP ......................................... 19

L

LOADPOINT ......................... 29

LOG ...................................... 18

LOGIN .................................. 16

LOGOUT .............................. 17

M

MOVETO .............................. 26

P

PRG ...................................... 40

PROCESS ............................ 42

R

READ.................................... 44

S

SETBRAKES ....................... 30

SETDIGITALOUTPUT ......... 39

SETSLOWSPEED ............... 29

SETSTATE .......................... 25

SETTCPPARAMETERS ...... 31

STOP ................................... 28

SYSTEM .............................. 18

W

WAIT .................................... 28

WAITDIGITALINPUT ........... 39

WRITE ................................. 44

WSFRAME .......................... 32

WSPOINT ............................ 34

WSTOOL ............................. 36

Page 47: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Index thématique Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 47/49

Index thématique

CONTRÔLEUR

GETVERSION ........................................................... 16

LOGIN ......................................................................... 16

LOGOUT .................................................................... 17

HELP ........................................................................... 17

LOG ............................................................................. 18

SYSTEM ..................................................................... 18

IP .................................................................................. 19

EXIT............................................................................. 19

CONFIGURATION

CONTROLLER .......................................................... 20

MODULE ROBOT

GETSTATE ................................................................ 22

SETSTATE ................................................................. 25

MOVETO .................................................................... 26

STOP ........................................................................... 28

WAIT ........................................................................... 28

SETSLOWSPEED .................................................... 29

LOADPOINT .............................................................. 29

SETBRAKES ............................................................. 30

SETTCPPARAMETERS ......................................... 31

WSFRAME ................................................................ 32

WSPOINT .................................................................. 34

WSTOOL ................................................................... 36

MODULE ENTREES/SORTIES

SETDIGITALOUTPUT ............................................. 39

WAITDIGITALINPUT ............................................... 39

INTERPRETEUR ARL

PRG ............................................................................ 40

PROCESS

PROCESS ................................................................. 42

MODULE IO WAGO

READ ......................................................................... 44

WRITE ........................................................................ 44

Page 48: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Contrôleur robot - Asyril SA

Manuel de programmation © Copyright Asyril S.A.

Index thématique Version : B1

000.100.520 Contrôleur robot - Manuel de programmation 48/49

Table de révision

Rev. Date Author Comments

A 27.03.2012 SiA Version Initiale

B 21.08.2014 ZuM Instructions complétées

B1 09.08.2016 DaM Mise à jour des noms des produits et des docs

Page 49: Contrôleur robot - Asyril€¦ · 000.100.520 Contrôleur robot - Manuel de programmation 4/49 2 Architecture du contrôleur robot Fig 1. Architecture du contrôleur r ARL tcp server

Ce document appartient à Asyril S.A., il ne peut être reproduit, modifié ou communiqué, que

ce soit en partie ou en totalité sans notre autorisation écrite préalable. Asyril S.A. se réserve le

droit de modifier toute information contenue dans ce document pour des raisons liées à

l’amélioration du produit sans notification préalable

asyril sa

z.i. le vivier 22

ch-1690 villaz-st-pierre

Suisse

tel. +41 26 653 71 90

fax +41 26 653 71 91

[email protected]

www.asyril.com