Skip to main content

La fonction "Pick/Put-to-Light"

Lorsque QuickView est utilisé sur une machine manuelle (sans robot), la fonction "Pick/Put-to-Light" est utilisée pour suivre/indiquer les manipulations faites/à faire pas l'opérateur. Jusqu'à la version 10.26, cette fonction était réalisée dans l'automate programmable. A partir de la version 10.27, il sera possible d'utiliser un nouveau driver de communication avec des boutons tactiles Banner. La communication avec ces boutons est effectuée à l'aide du protocole ModBus RTU sur une ligne série RS-485.

Configuration des robots virtuels

Pour pouvoir utiliser la fonction "Pick/Put-to-Light", un ou des robots virtuels doivent être définis. Ceci se fait dans le fichier VKServer.ini dans les sections [Hoist1]..[HoistX]. Ces sections sont utilisées pour définir les robots de la machine. Dans le cas d'une machine manuelle, le type de robot doit être défini comme Type=CBSim2. Ce type de robot demande l'utilisation d'un DB de données ainsi qu'un DB de commande.

Exemple de configuration:

[Hoist1]
Type=CBSim2
DbData=23
RegData=0
DbCommand=24
RegCommand=0

Le DB de données

Dans ce DB, le statut du robot est simulé par le système.

Le DB de données est défini avec les mots clef DBData=N° de DB et RegData=N° de registre. Un DB interne sera utilisé et celui-ci doit contenir 100 words.

Exemple de DB de données:

[DataBank23]
Device=0
Channel=0
Level=0
Regi=0
Regf=100
Pool=-1

Le DB de commandes

Ce DB sert à l'envoie des informations de destination et à la réception des données des boutons sur lesquels l'opérateur a pressé.

Le DB de commande est défini à l'aide des mots clef DBCommand=N° de DB et RegCommand=N° de registre. Un DB de l'automate programmable ou du nouveau device BannerPicktolight sera utilisé.

Exemple de DB de commandes:
[DataBank24]
Device=1
Channel=250
Regi=0
Regf=29
Pool=500
RegType=Word

Le premier registre contient le n° de position sur laquelle le bouton a été pressé. Le deuxième registre contient le n° de position sur laquelle la montre connectée a simulé la pression sur le bouton. Le troisième registre correspond dans le Low-byte au n° de position sur laquelle la lampe doit être allumée et dans le High-byte la fonction à exécuter soit 1 pour une montée et 2 pour une descente. Dans le cas où la position ne serait pas équipée d'un bouton lumineux, l'automate (ou le driver) doit simuler la pression sur le bouton jusqu'à ce que le n° de la position de destination soit mis à zéro.

Le device BannerPickToLight

Le nouveau device se défini en utilisant un port série du PC. Un convertisseur COM vers RS-485 devra être utilisé pour permettre la connexion sur les boutons Banner.

Exemple de définition du device:
[Device1]
Protocol=BannerPickToLight
ComPort=3
BaudRate=19200
Parity=Even
DataBits=8
StopBits=1
Timeout=1000
ConfigString=1:1,3:3,4:5..10

Le mot clef ConfigString permet de définir les boutons qui sont connectés sur le Bus. Il se compose d'une série de paires de chiffres X:Y séparées par une virgule. X correspondant au numéro de position et Y correspondant à l'adresse du bouton. Pour définir un suite de boutons consécutifs, il suffit de définir l'adresse par 2 chiffres séparés par deux points. Dans l'exemple ci-dessus, les boutons pour les positions 1,3,4,5,6,7,8 et 9 utilisent les adresses 1,3,5,6,7,8,9 et 10.

Ce device possède 30 registres permettant de définir 3 opérateurs (couleurs) différents.

Registre

Couleur

Fonction

0

 

Numéro de position sur laquelle l'opérateur a touché le bouton vert (lecture uniquement)

1

 

Numéro de position sur laquelle l'opérateur utilisant une montre connectée l'a spécifiée.

2

Vert

Low-Byte: Numéro de position sur laquelle le bouton vert doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

3

 

Position sur laquelle le bouton vert est allumé.

4

 

Numéro de position sur laquelle l'opérateur a touché le bouton rouge (lecture uniquement)

5

 

Numéro de position sur laquelle l'opérateur utilisant une montre connectée l'a spécifiée.

6

Rouge

Low-Byte: Numéro de position sur laquelle le bouton rouge doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

7

 

Position sur laquelle le bouton rouge est allumé.

8

 

Numéro de position sur laquelle l'opérateur a touché le bouton jaune (lecture uniquement)

9

 

Numéro de position sur laquelle l'opérateur utilisant une montre connectée l'a spécifiée.

10

Jaune

Low-Byte: Numéro de position sur laquelle le bouton jaune doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

11

 

Position sur laquelle le bouton jaune est allumé.

12

 

Mode de fonctionnement: 0=Run 1=Test vert 2=Test rouge 3=Test jaune

13

 

Erreur de communication bouton positions 1 à 15

14

 

Erreur de communication bouton positions 16 à 31

15

 

Erreur de communication bouton positions 32 à 47

16

 

Erreur de communication bouton positions 48 à 63

17

 

Erreur de communication bouton positions 64 à 79

18

 

Erreur de communication bouton positions 80 à 95

19

 

Erreur de communication bouton positions 96 à 111

20

 

Erreur de communication bouton positions 112 à 127

21

 

Réserve

22

 

Réserve

23

 

Réserve

24

 

Réserve

25

 

Réserve

26

 

Réserve

27

 

Réserve

28

 

Réserve

29

 

Réserve

Diagramme de fonctionnement

b8453b86-83fc-4fa6-91f8-f97241191acd (2).png



Le device PickToLightGateway

Ce device utilise le réseau du PC pour envoyer et recevoir les données des boutons. Un module VK Pick-to-Light Gateway devra être utilisé pour permettre les échanges entre le PC et les boutons Banner.

Exemple de définition du device:
[Device1]
Protocol=PickToLightGateway
Address=192.168.11.3
Port=80
Timeout=1000
ConfigString=1:1,3:3,4:5..10
IOAlarm=28

Le mot clef ConfigString permet de définir les boutons qui sont connectés sur le Bus. Il se compose d'une série de paires de chiffres X:Y séparées par une virgule. X correspondant au numéro de position et Y correspondant à l'adresse du bouton. Pour définir un suite de boutons consécutifs, il suffit de définir l'adresse par 2 chiffres séparés par deux points. Dans l'exemple ci-dessus, les boutons pour les positions 1,3,4,5,6,7,8 et 9 utilisent les adresses 1,3,5,6,7,8,9 et 10.

Le mot clef IOAlarm=N° d'I/O permet d'activer une alarme lorsqu'une charge doit être déplacer. L'alarme est annulée lorsque l'opérateur presse sur le bouton de la charge à déplacer. Dans l'exemple ci-dessus, l'I/O N° 28 sera activée lors d'une alarme. Cette I/O est du type Word. Chaque bit correspond à un numéro d'opérateur.

Ce device possède 40 registres permettant de définir 6 opérateurs (couleurs) différents.

Registre

Opérateur

Fonction

0

1

Numéro de position sur laquelle l'opérateur 1 a touché le bouton (lecture uniquement)

1

1

Réserve

2

1

Low-Byte: Numéro de position sur laquelle le bouton de l'opérateur 1 doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

3

1

Position sur laquelle le bouton de l'opérateur 1 est allumé.

4

2

Numéro de position sur laquelle l'opérateur 2 a touché le bouton (lecture uniquement)

5

2

Réserve

6

2

Low-Byte: Numéro de position sur laquelle le bouton de l'opérateur 2 doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

7

2

Position sur laquelle le bouton de l'opérateur 2 est allumé.

8

3

Numéro de position sur laquelle l'opérateur3  a touché le bouton  (lecture uniquement)

9

3

Réserve

10

3

Low-Byte: Numéro de position sur laquelle le bouton de l'opérateur 3 doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

11

3

Position sur laquelle le bouton de l'opérateur 3 est allumé.

12

4

Numéro de position sur laquelle l'opérateur 4 a touché le bouton (lecture uniquement)

13

4

Réserve

14

4

Low-Byte: Numéro de position sur laquelle le bouton de l'opérateur 4 doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

15

4

Position sur laquelle le bouton de l'opérateur 4 est allumé.

16

5

Numéro de position sur laquelle l'opérateur 5 a touché le bouton  (lecture uniquement)

17

5

Réserve

18

5

Low-Byte: Numéro de position sur laquelle le bouton de l'opérateur 5 doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

19

5

Position sur laquelle le bouton de l'opérateur 5 est allumé.

20

6

Numéro de position sur laquelle l'opérateur 6 a touché le bouton  (lecture uniquement)

21

6

Réserve

22

6

Low-Byte: Numéro de position sur laquelle le bouton de l'opérateur 6 doit être allumé. High-Byte: fonction à effectuer 1=prendre 2=déposer

23

6

Position sur laquelle le bouton de l'opérateur 6 est allumé.

24

 

Couleur de l'opérateur 1:

0=OFF

1=Red

2=Green

3=Yellow

4=Blue

5=Magenta

6=Cyan

7=White

8=Amber

9=Rose

10=Lime Green

11=Orange

12=Sky blue

13=Violet

14=Spring Green

25

 

Couleur de l'opérateur 2

26

 

Couleur de l'opérateur 3

27

 

Couleur de l'opérateur 4

28

 

Couleur de l'opérateur 5

29

 

Couleur de l'opérateur 6

30

 

Mode flash à utiliser pour indiquer la dépose:

0=OFF

1=Steady

2=Flash

3=Strobe

11-20= N-Pulse (N=Index-10) (e.g. 13=3 pulses)

31

 

Mode de fonctionnement: 0=Run, 1=Test Opérateur 1, 2=Test Opérateur 2, 3=Test Opérateur 3, 4=Test Opérateur 4, 5=Test Opérateur 5, 6=Test Opérateur 6, 7=Configuration des boutons, 8=Reset Factory default, 9=Reset System, 10=Reset commun Address, 11=Reset state Mode, 12=Reset test mode

32

 

Configuration: 0=Off 1=Renvoie la configuration à la passerelle une seule fois, remis à zéro par le driver

33

 

Erreur de communication bouton positions 1 à 15

34

 

Erreur de communication bouton positions 16 à 31

35

 

Erreur de communication bouton positions 32 à 47

36

 

Erreur de communication bouton positions 48 à 63

37

 

Erreur de communication bouton positions 64 à 79

38

 

Erreur de communication bouton positions 80 à 95

39

 

Erreur de communication bouton positions 96 à 111

40

 

Erreur de communication bouton positions 112 à 127

41

 

Force la lampe de la position si>0 et < 128

42

 

Eteins la lampe de la position si>0 et < 128. Si =0 alors éteins toutes les lampes 

43


Step de configuration 0=Pas en mode configuration 1=En mode configuration

44


Nombre de boutons à configurer

45


Prochain ID de configuration

46


Erreur RFID: 0=Pas d'erreur, 1=Pas de RFID détecté sur la position, 2=Le RFID ne correspond pas

47


Position sur laquelle l'alarme est intervenue

48


0=Mode RFID inactif, 1=Mode RFID actif

Registres Modbus des boutons Pick-IQ

Les registres suivants dont utilisés:

Registre Adresse Fonction Valeur
6100 0 16 Max ID ID Max (broadcast)
6300-6301
16 0, 0 Reset state mode
6500 0 16 0 Reset test mode (broadcast)
6500 ID 16 1 Set test mode
7940 195 3
Lecture du statut commun
7940 195 16
Set commun ID 
7941 ID 16 0 Effacement Latch
7942 ID 3
Lecture du statut
8701-8702 0 16 n, m

n=Mode de fonctionnement:

0=OFF

1=Steady

2=Flash

3=Strobe

11-20= N-Pulse (N=Index-10) (e.g. 13=3 pulses)

 

m=couleur à utiliser (broadcast):

0=OFF

1=Red

2=Green

3=Yellow

4=Blue

5=Magenta

6=Cyan

7=White

8=Amber

9=Rose

10=Lime Green

11=Orange

12=Sky blue

13=Violet

14=Spring Green

8701-8702 ID 16 n,m n=Mode de fonctionnement, m=couleur à utiliser
8701-8702 0 16 0 ,0 All OFF (broadcast)
8701-8702 ID 16 0,0 Bouton OFF
8810-8811 0 16 0 , 195 Reset commun ID (broadcast)
Travail avec des lecteurs RFID

En parallèle avec les boutons, il est possible de vérifier que le bon bouclard est déposé dans une position à l'aide de lecteurs RFID. Il faut pour cela ajouter des antennes RFID sur les positions devant être contrôlées. Lorsque le bouclard est déposé dans une position équipée d'une antenne, le système vérifie que le RFID du bouclard correspond au RFID lu par l'antenne. Si le RFID correspond alors la charge est transférée dans la position. S'il ne correspond pas alors une alarme est générée. Sur les postes de charge, la vérification est également effectuée lors de la prise de la charge. Si les RFID ne correspondent pas alors une alarme est générée. Les alarmes possibles sont:

DB Reg Bit Message
24 46 0 Aucun RFID détecté sur le poste de charge
24 46 1 Le RFID du bouclard ne correspond pas au RFID lu par l'antenne

Pour définir les lecteurs RFID dans le système, il faut définir la section suivante:

[RFID]
CheckDB=25
ConfigReaders=1..3,47

Les mots clef ci-dessus permettent de définir les antennes. CheckDB permet de définir le Databank contenant les RFID lu sur les positions. Par exemple DB25. Ce Databank est composé du nombre de registres string correspondant aux positions machine. Le registre 1 correspond à la position 1, le 2 à la position 2, etc... ConfigReaders permet de définir sur quelles positions une antenne est installée. Dans l'exemple ci-dessus, des antennes sont installées sur les positions 1,2,3 et 47. Le registre 48 du Databank de commandes doit être =1 pour que la vérification par RFID soit fonctionnelle.

Les boutons tactiles Banner EZ-Light ou Pick-IQ

La société Banner propose le produit EZ-Light K50 Modbus Series Pick-to-Light Sensors ou Pick-IQ K50 Ces boutons doivent être connectés entre eux par un bus RS-485. Il existe des convertisseurs USB-RS-485 pour pouvoir les connecter sur un PC. La fiche technique peut être téléchargée ici.

Installation typique

assets_quickview_-MNbwgI6BeSb8NrJL_oJ_-MNbwtSjlY7h6qfbr47y_0.png

A) CÔble "Single-Ended" (RK 4.5T-2/S2501)

B) Tee (Truck RSC 2RKC 57)

C) CÔble "Double-Ended" (Truck RK 4.5T-1-RS 4.5T/S2501)

D) Résistance terminale (Banner EZL-RTM-M or F)

Convertisseur FTDI USB-485

Pour connecter les boutons sur un PC, nous utiliserons le convertisseur USB-RS485-WE-1800-BT.

VK Pick-to-Light Gateway

VK Pick-to-Light Gateway.png

Cette passerelle fonctionne à l'aide de messages UDP. Ces messages UDP consistent en un enregistrement JSON. A chaque commande, une réponse est attendue. Les messages contiennent tous un numéro de fonction et un numéro d'évènement. La réponse doit contenir le numéro d'événement du message reçu

Liste des commandes

Fonction 1: définition de la liste des boutons

Cette fonction permet de définir la liste des boutons connectés sur la passerelle.

PC->Passerelle

Paramètres Type Description
f integer =1
e integer Numéro d'évènement
btn string Liste des ID des boutons séparée par ;

Passerelle -> PC

Paramètres Type Description
f integer =9 (ack)
e integer Même numéro d'événement que commande

Exemple:

PC->M5 : {"f":1,"e":12456,"btn":"1;2;3;4"}
M5->PC : {"f":9,"e":12456}
Fonction 2: interface avec un bouton

Cette fonction permet d'allumer, d'éteindre ou de faire clignoter un bouton

PC->Passerelle

Paramètres Type Description
f integer =2
e integer Numéro d'évènement
btn integer ID du bouton
clr integer

Couleur du bouton:

0=OFF

1=Red

2=Green

3=Yellow

4=Blue (bouton Pick-IQ seulement)

5=Magenta (bouton Pick-IQ seulement)

6=Cyan (bouton Pick-IQ seulement)

7=White (bouton Pick-IQ seulement)

8=Amber (bouton Pick-IQ seulement)

9=Rose (bouton Pick-IQ seulement)

10=Lime Green (bouton Pick-IQ seulement)

11=Orange (bouton Pick-IQ seulement)

12=Sky blue (bouton Pick-IQ seulement)

13=Violet (bouton Pick-IQ seulement)

14=Spring Green (bouton Pick-IQ seulement)

blk integer

Type de lumière:

0=OFF

1=Steady

2=Flash

3=Strobe

11-20= N-Pulse (N=Index-10) (e.g. 13=3 pulses)

Passerelle -> PC

Paramètres Type Description
f integer =9 (ack)
e integer Même numéro d'événement que commande

Exemple:

PC->M5 : {"f":2,"e":12459,"btn":2,"clr":1,"blk":2} //Faire clignoter le bouton ID 2 en vert
M5->PC : {"f":9,"e":12459}
Fonction 3: Commandes pour tous les boutons

Cette fonction permet d'allumer, d'éteindre ou de faire clignoter tous les boutons

PC->Passerelle

Paramètres Type Description
f integer =3
e integer Numéro d'évènement
clr integer Couleur des boutons (voir fonction 2)
blk integer type de lumière (voir fonction 2)

Passerelle -> PC

Paramètres Type Description
f integer =9 (ack)
e integer Même numéro d'événement que commande

Exemple:

PC->M5 : {"f":3,"e":12874,"clr":2,"blk":1} // tous les boutons en rouge fixe
M5->PC : {"f":9,"e":12874}
Fonction 4: définition de l'adresse "remote"

Cette fonction permet d'indiquer à la passerelle l'adresse et le port utilisés par le PC. 

PC->Passerelle

Paramètres Type Description
f integer =4
e integer Numéro d'évènement

Passerelle -> PC

Paramètres Type Description
f integer =9 (ack)
e integer Même numéro d'événement que commande

Exemple:

PC->M5 : {"f":4,"e":32874} 
M5->PC : {"f":9,"e":32874}
Fonction 5: information d'un redémarrage de la passerelle

Cette fonction indique au PC que la passerelle a redémarré.

Passerelle -> PC

Paramètres Type Description
f integer =5 

Exemple:

M5->PC : {"f":5}
Fonction 6: information d'un bouton pressé

Cette fonction indique que le bouton a été pressé.

Passerelle -> PC

Paramètres Type Description
f integer =6
btn integer ID du bouton ayant été pressé

Exemple:

M5->PC : {"f":6,"btn":3} // le bouton 3 a été pressé
Fonction 7: information d'un bouton relÔché

Cette fonction indique que le bouton a été relÔché

Passerelle -> PC

Paramètres Type Description
f integer =7
btn integer ID du bouton ayant été relÔché

Exemple:

M5->PC : {"f":7,"btn":3} // le bouton 3 a été relÔché
Fonction 8: erreur de communication avec un bouton

Cette fonction indique que le bouton ne répond pas

Passerelle -> PC

Paramètres Type Description
f integer =8
btn integer ID du bouton ayant été pressé

Exemple:

M5->PC : {"f":8,"btn":3} // le bouton 3 ne répond pas
Fonction 10: acquittement des erreurs

Cette fonction permet d'acquitter les erreurs de communication avec les boutons:

PC->Passerelle

Paramètres Type Description
f integer =10
e integer Numéro d'évènement

Passerelle -> PC

Paramètres Type Description
f integer =9 (ack)
e integer Même numéro d'événement que commande

Exemple:

PC->M5 : {"f":10,"e":2456}
M5->PC : {"f":9,"e":2456}

Les écrans de la passerelle

Ecran principal

04 - Marche.png

Cet écran est affiché au démarrage de la passerelle. Les ID des boutons définis sont affichés sur cet écran. Si un bouton est allumé, son image est affichée dans la couleur sélectionnée.

21 - Marche 1.png

Sur l'image précédente, le bouton avec l'ID 1 est affiché en rouge.

Lorsqu'une erreur de communication est détectée, une icône d'alarme est affichée à côté de l'image du bouton.

29 - Marche avec erreur.png

Sur cette image, le bouton avec l'ID 5 est en erreur. Pour acquitter le défaut, il faut presser sur le bouton central.

Le coin en haut à droite indique le mode de fonctionnement du Wifi. Les barres indiquent que le mode Wifi est activé et est connecté. Les lettres AP indique que le Wifi est en mode AccessPoint et est activé.

Tous les écrans précédents indiquent un mode de fonctionnement en mode Marche (fonctionnement normal). Il est possible de changer de mode de fonctionnement en mode DEMO ou en mode TEST. Ce changement se fait en accédant au menu principal en maintenant enfoncé le bouton de gauche. Le menu s'affiche:

Sélection du mode de fonctionnement

02 - Menu principal.png

Sélectionner le menu "Mode de fonctionnement" à l'aide des boutons gauche et droit en les pressant brièvement. Une fois le menu surligné, presser sur le bouton central. Les modes possibles sont affichés:

03 - Menu mode de fonctionnement.png

Le mode "Arrêt":

01 - Hors service.png

Le mode "Arrêt" ne fait rien (pas d'action sur les boutons).

Le mode "Test":

05 - Test.png

Pour démarrer le mode "Test", pressez sur le bouton central. Le mode "Test" fait clignoter chaque bouton en jaune, il faut ensuite presser sur le bouton pour passer au bouton suivant. Une fois pressé, le bouton s'allume en vert fixe et le prochain bouton clignote en jaune et ainsi de suite jusqu'à tous les boutons on été pressés.

Le mode "DEMO":

06 - Demo.png

Pour démarrer le mode "DEMO", pressez sur le bouton central. Le mode "DEMO" affiche chaque bouton, les uns après les autres, dans toutes les couleurs possibles. Une fois la boucle terminée, celle-ci recommence avec le premier bouton et ceci indéfiniment jusqu'à ce que l'utilisateur arrête le fonctionnement en pressant sur le bouton central encore une fois.

Les écrans de configuration

07 - Menu configuration.png

Configuration de l'adresse Ethernet locale en mode cÔblé:

08 - Menu config Adresse UDP Local.png

L'adresse locale est l'adresse Ethernet de la passerelle en mode cÔblé (RJ-45)

Configuration de l'adresse Ethernet distante (PC) en mode cÔblé:

09 - Menu config Adresse UDP distante.png

Configuration des boutons:

23 - Menu Boutons.png

Le premier menu permet de définir le type de bouton utilisé. Pour l'instant 2 types sont possibles:

24 - Menu Select button type.png

Le deuxième menu permet de définir les boutons utilisés:

30 - Menu config Configuration des boutons.png

Pour définir un ID utilisé (adresse du bouton), déplacer le curseur à l'aide des flèches et sélectionner avec le bouton central pour activer/désactiver un ID.

Configuration du WiFi:

28 - Menu Wifi Mode selection.png

Il est possible de désactiver le WiFi, de fonctionner en mode Access Point ou de se connecter à un réseau WiFi existant.

Fonctionnement direct sur Comport sans passer par la passerelle

Le device peut également fonctionner directement sur un comport sans passer par la gateway. Pour cela, il faut définir le device comme suit:

[Device1]
Protocol=PickToLightGateway
ComPort=3
BaudRate=19200
Parity=Even
DataBits=8
StopBits=1
Timeout=500
ConfigString=1:16,2:1..12,14:17,15:13..15,18:19..21,21:22..31,31:18

De cette manière, tout le travail de communication avec les boutons est réalisé par le programme serveur sans passer par une passerelle.