IFM O3D200 3D sensor Manuel du propriétaire

Ajouter à Mes manuels
15 Des pages
IFM O3D200 3D sensor Manuel du propriétaire | Fixfr
Interface process
704980 / 00
08 / 2011
O3D200
FR
Interface process O3D200
Contenu
Protocole des données process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Etablir la connexion TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Types de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Bases de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Versions de protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Sélectionner la version du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Vérifier la version du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Déclencher l'impulsion trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Modifier le mode trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Vérifier le mode trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Déclencher le trigger et demander l'affichage des résultats via l'interface process 7
Activer / désactiver l'affichage des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Sélectionner une application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Vérifier l'affectation des données d'application de l'appareil . . . . . . . . . . . . . . . . . . 8
Vérifier le dernier résultat de l'appareil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Vérifier les statistiques de l'appareil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Vérifier les informations de l'appareil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Demander l'heure de l'appareil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Vérifier le code d'erreur de l'appareil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Codes d'erreur de l'appareil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Message du résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Elements disponibles du message du résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Image d'intensité ( <image_intensité> ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Image de distance ( <image_distance> ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Règle de calcul pour le format CSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2
Interface process O3D200
FR
3
Interface process O3D200
Protocole des données process
L'interface process permet la communication entre le système de commande
(p.ex. API ou PC de commande) et l'appareil. Une commande du processeur peut
par exemple déclencher les impulsions du trigger, sélectionner des applications ou
demander des informations statistiques.
Etablir la connexion TCP/IP
La sélection de TCP/IP pour l'interface process se fait dans le programme utilisateur ou dans le menu de deux boutons-poussoirs de l'appareil.
Types de commandes
On distingue deux types de commandes pour l'appareil : actions et demandes. Les
actions demandent à l'appareil de faire quelque chose, p.ex. prendre une image et
l'évaluer.
Les demandes servent à la vérification d'informations de l'appareil.
Des réponses de l'appareil sont ou des informations d'état, des messages de
réponse ou des résultats.
Les résultats sont transmis par l'appareil sans une demande précédente à
l'appareil.
Les informations d'état et les messages de réponse sont transmis par l'appareil
comme réponse immédiate sur des commandes d'action ou des commandes de
demande.
Bases de communication
Les caractères ASCII 7 bits sont permis.
Toutes les transmissions vers l'appareil sont terminées par un caractère carriage
return et un caractère line feed (CR + LF = ASCII 13 dec + 10 dec).
Toutes les transmissions de l'appareil sont terminées par un caractère carriage
return et un caractère line feed (CR + LF = ASCII 13 dec + 10 dec).
Comme réponse à une commande valable, l'appareil fournit la chaîne de caractères
* CR LF (ASCII 42 dec + 13 dec + 10 dec).
Comme réponse à une commande non valable, l'appareil fournit la chaîne de
caractères
? CR LF (ASCII 63 dec + 13 dec + 10 dec).
Lorsque l'appareil ne peut pas exécuter un message, l'appareil fournit la chaîne de
caractères
! CR LF (ASCII 33 dec + 13 dec +10 dec).
4
Interface process O3D200
Versions de protocole
L'appareil supporte 4 versions de protocole différentes qui ont un format de message différent.
Version
Demande de format
Réponse de format
V01
<contenu>CR LF
identique à la demande
V02
<ticket><contenu>CR LF
identique à la demande
V03
<ticket><longueur>CR LF <ticket><contenu>CR
LF
identique à la demande
V04
<contenu>CR LF
<longueur>CR LF <contenu>CR LF
<contenu> est la commande à l'appareil ou la réponse de l'appareil (p.ex. résultat d'évaluation).
<ticket>
est une chaîne de caractères de 4 chiffres 0-9, à interpréter comme
nombre décimal. Un message à l'appareil avec un certain ticket est
répondu par un message de l'appareil avec le même ticket. Ticket
0000 est réservé pour des messages que l'appareil transmet indépendamment.
<longueur> est une chaîne de caractères qui commence par la lettre 'L' suivie
par 9 chiffres qui sont à interpréter comme nombre décimal. Ce
nombre indique la longueur des données suivantes (<contenu>CR
LF) en byte. Les espaces sont remplies avec des zéros au début.
Le réglage usine et l'état reset est V02.
Sélectionner la version du protocole
Commande
v <chiffre><chiffre>
Type
Action
Réponse
*
Cas normal
!
L'appareil ne supporte pas la version de protocole indiquée.
Remarque
<chiffre><chiffre>: à interpréter comme nombre décimal à deux chiffres pour la
version du protocole. La version du protocole n'est changée qu'après la réponse
de l'appareil.
Vérifier la version du protocole
Commande
V?
Type
Vérification
Réponse
<actuel><espace><min><espace><max>
<actuel>
Nombre décimal de deux chiffres indiquant la version actuelle
<espace> Espace
<min>
Nombre décimal de deux chiffres indiquant la version minimale
<max>
Nombre décimal de deux chiffres indiquant la version maximale
5
FR
Interface process O3D200
Remarque
Réponse en cas de réglage usine : 02 01 04
Exemple pour la version de protocole V04 :
Commande à appareil 'V?\r\n'
Réponse de l'appareil 'L000000010\r\n03 01 04\r\n'
'L000000010\r\n' identifie la longueur des données suivantes '03 01 04\r\n'
'\n' signifie le code ASCII 10d
'\r' signifie le code ASCII 13d
Déclencher l'impulsion trigger
Commande
t
Descriptif
Déclencher le trigger et évaluer l'image prise.
Type
Action
Réponse
*
Le trigger a été déclenché.
!
●● L'appareil est en train d'évaluer.
●● L'appareil se trouve dans un état non valable,
p.ex. la gestion d'applications.
●● Mode trigger réglé actuellement non possible via TCP/IP
Remarque
Activer l'affichage → Activer/désactiver l'affichage des résultats (p1/p0).
Modifier le mode trigger
Commande
m <chiffre = 0><chiffre>
Type
Action
Réponse
*
Exécution réussie
!
●● <chiffre> contient une valeur incorrecte.
●● L'appareil se trouve dans un état non valable.
Remarque
<chiffre = 0> le premier chiffre est toujours 0
<chiffre> le deuxième chiffre
1 Front positif entrée trigger
2 Front négatif entrée trigger
3 Trigger continu
4 Source trigger interface XML-RPC
5 Source trigger interface process
Exemple : m05 active le trigger via l'interface process
6
Interface process O3D200
Vérifier le mode trigger
Commande
g?
Type
Action
Réponse
T1
T2
T3
T4
T5
Front positif entrée trigger
Front négatif entrée trigger
Trigger continu
Source trigger interface XML-RPC
Source trigger interface process
!
●● L'appareil est en train d'évaluer.
●● Aucune application active.
Déclencher le trigger et demander l'affichage des résultats via l'interface
process
Commande
T?
Type
Vérification
Réponse
Message en format de résultat
→ chapitre Message du résultat
Cas normal
!
●● Aucune application active actuellement.
●● L'application est traitée.
●● Le mode trigger réglé actuellement
non possible via TCP/IP.
Remarque
FR
Le format de résultat contient normalement l'élément suivant : <roiprocval>
(fournit une valeur de quatre chiffres avec trois positions après le point décimal
par zone d'image
p.ex. : 0012.120)
Via le programme utilisateur, la liste des éléments souhaités peut être configurée
librement. (Voir éléments disponibles du message du résultat)
Activer / désactiver l'affichage des résultats
Commande
p <chiffre>
Type
Action
Réponse
*
Exécution réussie
!
●● Aucune application active.
●● <chiffre> contient une valeur incorrecte.
●● L'appareil se trouve dans un état non valable.
Remarque
<chiffre> peut être 0 ou 1.
1 active l'affichage du résultat.
0 désactive l'affichage du résultat.
Voir message T?.
7
Interface process O3D200
Sélectionner une application
Commande
c <groupe><numéro>
Type
Action
Réponse
*
Changement réussi
!
●● L'appareil se trouve dans un état non valable
p.ex. la gestion d'applications.
●● Groupe ou numéro d'application non valable ou non existant.
Remarque
<groupe> : chiffre pour le groupe d'application (toujours 0 pour O3D200).
<numéro> : chaîne de deux caractères, à interpréter comme nombre décimal
pour le numéro d'application.
Vérifier l'affectation des données d'application de l'appareil
Commande
a?
Type
Vérification
Réponse
<nombre><espace><groupe><numéro><espace><
groupe>
<numéro><espace>...<groupe><numéro>
Cas normal
!
Aucune application
active sur l'appareil.
Remarque
<nombre> : chaîne de caractères de 3 chiffres pour le nombre d'applications sur
l'appareil, à interpréter comme nombre décimal.
<groupe> : chiffre pour le groupe d'application (toujours 0 pour O3D200).
<numéro> : chaîne de deux caractères, à interpréter comme nombre décimal
pour le numéro d'application.
D'abord le numéro de la configuration active est affiché.
<espace> : espace individuel.
Vérifier le dernier résultat de l'appareil
Commande
R?
Type
Vérification
Réponse
Message en format de résultat
→ chapitre Message du résultat
Cas normal
!
●● Aucune application active actuellement.
●● L'application est traitée.
●● Résultats pas encore disponibles.
Remarque
8
Le format de résultat contient normalement l'élément suivant : <roiprocval>
(fournit une valeur de quatre chiffres avec trois positions après le point décimal
par zone d'image p.ex. : 0012.120)
Via le programme utilisateur, la liste des éléments souhaités peut être configurée
librement. (Voir éléments disponibles du message du résultat)
Interface process O3D200
Vérifier les statistiques de l'appareil
Commande
s?
Type
Vérification
Réponse
<compte trigger><espace><temps éval
min><espace><temps éval max><espace><compte
sortie de commutation 1 bas><espace><compte
sortie de commutation 1 haut><espace><compte
sortie de commutation 2 bas><espace><compte sortie de commutation 2 haut><espace><température
min><espace><température max>
Cas normal
!
Aucune application
active sur l'appareil.
Remarque
FR
<compte trigger>
Nombre d'évènements trigger (nombre décimal de 10 chiffres avec des zéros au
début)
<temps éval min>
Temps d'évaluation minimal (en millisecondes, nombre décimal de 4 chiffres
avec des zéros au début)
<temps éval max>
Temps d'évaluation maximal (en millisecondes, nombre décimal de 4 chiffres
avec des zéros au début)
<compte sortie de commutation 1 bas>
Nombre d'états " Low " (bas) de la sortie de commutation (nombre décimal de 10
chiffres avec des zéros au début)
La sortie de commutation est mise à " analogique " :
<compte sortie de commutation 1 bas> fournit le minimum des valeurs analogiques existantes. (Valeurs 16 bits)
<compte sortie de commutation 1 haut>
Nombre d'états " High " (haut) de la sortie de commutation (nombre décimal de
10 chiffres avec des zéros au début)
La sortie de commutation est mise à " analogique " :
<compte sortie de commutation 1 haut> fournit le maximum des valeurs analogiques existantes. (Valeurs 16 bits)
<compte sortie de commutation 2 bas>
Nombre d'états " Low " (bas) de la sortie de commutation (nombre décimal de 10
chiffres avec des zéros au début)
<compte sortie de commutation 2 haut>
Nombre d'états " High " (haut) de la sortie de commutation (nombre décimal de
10 chiffres avec des zéros au début)
<température min>
Température minimale (chiffres analogiques/numériques non calibrés, nombre
décimal de 4 chiffres avec des zéros au début)
<température max>
Température maximale (chiffres analogiques/numériques non calibrés, nombre
décimal de 4 chiffres avec des zéros au début)
<espace>
Espace individuel
9
Interface process O3D200
Vérifier les informations de l'appareil
Commande
D?
Type
Vérification
Réponse
<fabricant><t><référence><t><nom><t><site><t><ip><t><sous-réseau><t>
<passerelle><t><MAC><t><DHCP><t><port_XML><t><port_video>
<fabricant>
IFM ELECTRONIC
<référence>
référence commerciale et le status, p.ex. O2D220AC
<nom>
nom du détecteur comme saisi dans le programme utilisateur
<site>
site du détecteur comme saisi dans le programme utilisateur
<ip>
adresse IP de l'appareil
<sous-réseau> masque de sous-réseau de l'appareil
<passerelle>
adresse passerelle de l'appareil
<MAC>
adresse MAC de l'appareil
<DHCP>
0 si DHCP est désactivé, 1 si DHCP est activé
<t>tabulation
<port_XML>
numéro de port XML-RPC
<port_video>
données d'image numéro de port
Remarque
Aucune
Demander l'heure de l'appareil
Commande
d?
Type
Action
Réponse
<10 bytes remplis avec des 0><espace><10 bytes remplis
avec des 0>
Cas normal
!
Aucune application active sur
l'appareil.
Remarque
10
Les 10 premiers bytes contiennent les secondes depuis le démarrage du système, les 10 bytes suivants contiennent les millisecondes
Exemple
1234d?
12340000015730 0000000951
Interface process O3D200
Vérifier le code d'erreur de l'appareil
Commande
E?
Type
Vérification
Réponse
<code>
Remarque
<code> est la valeur numérique du code d'erreur, chaîne de caractères de 4
chiffres, à interpréter comme nombre décimal.
→ chapitre Codes d'erreur
Codes d'erreur de l'appareil
FR
Définition
SENSOR_NO_ERRORS
Valeur numérique
0
Descriptif
Aucune erreur
Solution/remède
–
Définition
SENSOR_INVALID_PARM
Valeur numérique
0105
Descriptif
Paramètre d'entrée non valable
Solution/remède
Lire la documentation des commandes pour transmettre les informations nécessaires à l'appareil.
Définition
SENSOR_INVALID_STATE
Valeur numérique
0108
Descriptif
L'appareil se trouve dans un mode de fonctionnement qui ne permet pas
l'exécution de commandes.
Solution/remède
Vérifier dans la documentation des commandes quand la commande peut être
exécutée.
Définition
SENSOR_ERR_NO_MEM
Valeur numérique
0110
Descriptif
Erreur interne fatale.
Solution/remède
Redémarrer l'appareil.
11
Interface process O3D200
Définition
SENSOR_CONFIG_NOT_FOUND
Valeur numérique
0902
Descriptif
L'application à activer non trouvée.
Solution/remède
Vérifier si le numéro d'application est correct. Vérifier si le programme utilisateur
permet le traitement de l'application.
Définition
SENSOR_INVALID_TRIGGER_MODE
Valeur numérique
1000
Descriptif
Il n'est pas possible de déclencher l'appareil car la fonction trigger, via TCP/IP,
n'est pas activée.
Solution/remède
Vérifier le mode trigger de l'appareil. (g?)
Définition
SENSOR_CONFIG_SWITCHING_ACTIVE
Valeur numérique
1603
Descriptif
Il n'est pas possible de charger une application dans l'appareil si la sélection
externe de l'application est activée.
Solution/remède
Utiliser le programme utilisateur afin de désactiver la sélection de l'application
externe.
Définition
SENSOR_TRIGGER_NOT_AVAILABLE
Valeur numérique
1604
Descriptif
L'utilisateur transmet un trigger à l'appareil via TCP/IP. Par une erreur interne
l'appareil ne peut pas traiter le trigger.
Solution/remède
Ce code d'erreur indique un défaut de l'appareil. Normalement l'appareil
essaie de remédier au défaut lui-même. Si cette erreur se produit, redémarrer
l'appareil.
12
Interface process O3D200
Message du résultat
Un résultat d'évaluation est transmis dans le format suivant :
<démarrage>[<procval><sc>][<procvalmin><sc>][<procvalmax><sc>]
[<config_id><sc>][<roicnt><sc>]{[<roiprocval><sc>][<roipos><sc>]}
[<image_intensité>][<image_distance>]<arrêt>
Les éléments entre crochets [] sont facultatifs. Si aucun élément n'est sélectionné,
<démarrage> et <arrêt> ne sont pas transmis non plus.
Les éléments entre accolades {} sont répétés pour chaque zone d'image (ROI).
Elements disponibles du message du résultat
Nom de l'élément
Descriptif
Formatage
<démarrage>
Chaîne de caractères de démarrage selon le réglage
dans le programme utilisateur
Chaîne de
caractères
<sc>
Séparateur selon le réglage dans le programme utilisateur
Chaîne de
caractères
<arrêt>
Chaîne de caractères d’arrêt selon le réglage dans le
programme utilisateur
Chaîne de
caractères
<roiprocval>
Zone d'image (ROI) valeur process
Nombre en
virgule flottante
<config_id>
Application active
Entier 3
<roicnt>
Nombre de zones d'image
Entier 3
<roipos>
Position de la zone d'image en format
<roigauche><roidroite><roihaut><roibas>
Entier 8
<roigauche>
<roidroite>
<roihaut>
<roibas>
FR
Zone d'image coordonnée gauche
Zone d'image coordonnée droite
Zone d'image coordonnée haut
Zone d'image coordonnée bas
<procval>
Valeur process totale
Nombre en
virgule flottante
<procvalmin>
Valeur process totale minimale de toutes les zones
d'image
Nombre en
virgule flottante
<procvalmax>
Valeur process totale maximale de toutes les zones
d'image
Nombre en
virgule flottante
<image_intensité>
Image d'intensité ou de niveau de gris
Format graphique
<image_distance>
Image de distance
Format graphique
13
Interface process O3D200
Remarque
Réglage usine valeurs process de toutes les zones d'image
<démarrage><roiprocval><sc><arrêt>
Chaîne de caractères démarrage = star
Séparateurs = ;
Chaîne de caractères arrêt = stop
Chaîne de caractères = ASCII ou Unicode en codage UTF-8 possible
Nombre en virgule flottante =
10 caractères remplis avec des "0",
3 positions après le point décimal, séparateurs décimaux ","
p.ex. : 1,234 / 000001,234
Entier 3 =
naturel de 3 caractères, rempli avec des "0",
p.ex. : 12 / 012
Entier 8 =
naturel de 8 caractères,
2 caractères pour la position gauche, 2 caractères pour la position droite,
2 caractères pour la position haute, 2 caractères pour la position basse
tous remplis avec des "0"
p.ex. : 1,48,1,64 / 01480164
Format graphique selon le format d'image réglé dans le programme utilisateur
(BMP, CSC...)
Image d'intensité ( <image_intensité> )
Dans le tableau de niveaux de gris, les valeurs RVB sont pareilles pour tous les
indicateurs. Dans l'image de niveaux de gris, des pixels surexposés sont présentés en orange RVB (255,153,0) selon le programme utilisateur. Des pixels sousexposés sont présentés en rouge RVB (255,0,0) également selon le programme
utilisateur. Tableau des couleurs pour les niveaux de gris :
Index
R
V
B
0
0
0
0
1
1
1
1
2
2
2
2
...
...
...
...
254
254
254
254
255
255
255
255
14
Interface process O3D200
Image de distance ( <image_distance> )
Le tableau de couleurs JET est utilisé pour l'image de distance. Ici aussi les pixels
non valables sont traités de manière séparée. Les pixels surexposés sont présentés en blanc, les pixels sousexposés en noir. Le codage des couleurs est également identique à la présentation du programme utilisateur.
Index
R
V
B
noir
0
0
0
0
0
0
128
1
0
0
131
...
...
...
...
254
131
0
0
255
128
0
0
blanc
255
255
255
FR
Règle de calcul pour le format CSV
Le format CSV (comma-separated values, valeurs séparées par des virgules) est
créé de manière identique que dans le programme utilisateur. Les valeurs sont
séparées par un point virgule et sont fournies avec 8 positions après le point décimal. La virgule est utilisée en tant que séparateur décimal. 64 valeurs se trouvent
dans une ligne, le nombre des lignes est de 50. Ainsi, on obtient une image avec
les dimensions de 64x50.
15

Manuels associés