[PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Partie du forum pour tout ce qui concerne les interfaces homme machine ou IHM. Forum, conseil, astuce et entraide sur les interface homme machine ou IHM tels que les magelis, KEP, proface, XBT, .
Avatar du membre
FENUGREC
Apprend le binaire
Apprend le binaire
Messages : 6
Enregistré le : 18 août 2016, 10:59

[PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par FENUGREC »

Bonjour à tous,

Je travaille avec des boîtiers Pro-Face LT-3300L qui permettent de contrôler des automates de production de type poka-yoké dans une usine de plasturgie automobile. Les opérateurs placent la pièce nue dans l'automate qui la verrouille. Ils fixent ensuite à la main les composants à leurs emplacements, et lorsque la pièce est valide, l'automate la relâche et les opérateurs passent à la pièce suivante.

Nous produisons de nombreuses pièces différentes et par conséquent nous possédons une vingtaine d'automates différents, adaptés à la géométrie de chaque pièce. Chaque automate est contrôlé par son propre sous-programme. Tous les sous-programme sont rassemblées sur un seul et même programme général, installé sur toutes les LT3300L. Mon objectif est de réaliser un choix automatique du sous-programme. Exemple : lorsque l'on branche le LT3300L sur l'automate #1 et qu'on lance l'IHM, le programme sélectionne automatiquement le sous-programme #1 etc ...

Je n'ai pas écrit le programme moi-même mais l'ai adapté à partir d'une version précédente utilisée dans une autre usine de la même entreprise. Ce système de choix automatique était inclus dans cette version antérieur mais je n'arrive pas à comprendre comment celui-ci fonctionne. Il ne fonctionne que sur certains automates, et j'aimerai comprendre dans le détail de façon à l'adapter sur tous les automates.

Il existe dans le programme GP PRO-EX une variable "Numero_prg" stockée dans la mémoire interne du LT3300L à l'adresse [#INTERNAL]USR00003. Celle-ci détermine le sous-programme à utiliser. Exemple : lorsque Numero_prg = 1, le programme lance le sous-programme #1, correspondant à l'automate #1. Par un mécanisme que je ne comprends pas, la valeur de Numero_prg est automatiquement changée au début de l'exécution du programme. Exemple : quand je branche l'automate #1 au LT3300L la valeur de Numero_prg @ [#INTERNAL]USR00003 est automatiquement changé à 1. Pareil pour l'automate #2 etc ...

Sous GP-PRO EX j'ai regardé la liste des endroits où Numero_prg et [#INTERNAL]USR00003 étaient utilisés mais à aucun moment je n'ai trouvé de bout de logique qui puisse expliquer ce changement. C'est comme si la valeur de la variable était directement modifiée par le LT3300L dans la mémoire interne sans passer par la logique. Comment cela serait-il possible ?

Merci pour votre aide et vos conseils de débuggage !
Avatar du membre
Cyril93
Maître du binaire
Maître du binaire
Messages : 484
Enregistré le : 29 oct. 2015, 14:22
Localisation : IDF

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par Cyril93 »

Salut,

Je ne connais pas GP-PRO EX en détail. Mais un adressage indirect de cette variable expliquerait que tu ne la retrouve pas dans ton programme.
Avatar du membre
Mantysse
Dieu du process
Dieu du process
Messages : 757
Enregistré le : 20 oct. 2015, 08:17
Localisation : MiP

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par Mantysse »

Salut

C'est quoi un automate Poka yoké?
Bon j'arrete de jouer au plus débile;
- Aurai tu une architecture de ton réseau?
- Aurai tu la référence des automates avec lesquel le LT3300L communique?
En effet si tu a la même méthode de communication pour un automate Schneider et un automate Siemens, il y a de forte chance (ou malchance) que cela ne fonctionne pas du tout.
je te propose d'ouvrir les armoires électriques de chaque machine concernée et de nous donner la marque et la référence des CPUs

Pour ton soucis je pense plutôt a un forçage de variable depuis le réseau venant des automates auxquels tu te connecte

A+
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas Boileau

L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
Avatar du membre
Bernardo59
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1054
Enregistré le : 20 oct. 2015, 05:48
Localisation : Nimes
Contact :

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par Bernardo59 »

Oh tient, on dirait l'usine Visteon ou Faurecia... Ca me parle les Poka-Yoke !

As-tu regardé dans les scripts sur GP-PRO EX ou via le Ladder qui est inclus ?
Il y a surement un script au démarrage qui met cette variable à 1.
latune
Première mise en service
Première mise en service
Messages : 56
Enregistré le : 24 déc. 2015, 16:29
Localisation : Epernay

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par latune »

Salut
Au cas ou....
As tu regardé dans les écrans logiques tout en bas à droite du GP Pro ?
Avatar du membre
FENUGREC
Apprend le binaire
Apprend le binaire
Messages : 6
Enregistré le : 18 août 2016, 10:59

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par FENUGREC »

@Cyril93 : peux-tu m'en dire plus ? Je viens de revérifier la logique aujourd'hui et il apparaît en fait que lorsqu'une variable binaire adressée à une adresse USR00010 dans la mémoire du LT3300L passe à 1 dans le déroulement normal du programme, cela change automatiquement la valeur de la variable Numero_prg elle même également adressée dans la mémoire du LT3300L à USR00003. Et cela sans que ce changement ne soit formalisé dans la logique.

@Mantysse :
Référence des automates : En résumé, les différents poka-yokés sur lesquels je branche l'armoire de contrôle ne comprennent en réalité pas de CPU propres, vu que les armoires de contrôle elles-mêmes comprennent IHM + API. Il me semble que le CPU est aussi de la marque Proface. D'après ce que j'ai compris, les LT3300L que j'utilise sont des all-in-one avec interface et contrôle combiné (http://www.profaceamerica.com/en-US/con ... ll-one-hmi).
Architecture réseau : dans ce cas là, tout autant que je sache, l'IHM communique directement avec la partie contôle via le protocole générique General Ethernet (UDP). Dis-moi si des infos supplémentaire sont nécessaires (port etc ...).

@Bernardo59 : j'ai regardé les scripts, (Common Settings/Global D-Scripts et Common Settings/Extented Scripts) mais il n'y en a aucun de présent dans le programme que j'utilise.

@latune : de quels écrans parles-tu ? Peux-tu me donner plus de précisions.

Merci à tous pour vos réponses rapides !
Avatar du membre
Mantysse
Dieu du process
Dieu du process
Messages : 757
Enregistré le : 20 oct. 2015, 08:17
Localisation : MiP

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par Mantysse »

Re salut,

Je crois que je commence a comprendre dis moi si je me trompe
Tu a une machine avec une seule armoire de commande?
sur cette machine tu monte différents posages "poka yoké" qui sont raccordés électriquement à ton armoire de commande?
en réalité tu n'a qu'un seul LT-3300L?

A tu un schémas de cablage de tes E/S TOR?
N'y aurait il pas un détrompage électriques dans tes prises?
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas Boileau

L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
Avatar du membre
skip74
Créateur de langage
Créateur de langage
Messages : 664
Enregistré le : 13 oct. 2015, 06:34

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par skip74 »

salut

j'ai l'impression que ton pupitre-automate communique avec le montage via des entrées-sorties déportées ethernet.

alors moi je verrais bien un truc programmé de la sorte:
tous montages ont un codage via quelques entrées TOR positionnées par ponts. Cela permet de sélectionner le programme a apporter.
l'automate (en fait l'afficheur) lit ce code qui finit dans le usr10.
il doit y avoir un bout de programme appelant la recette dont le numéro vient de ce code.
je pense que tu dois avoir la zone de pilotage des recette dans la zone usr03...

Regarde du coté des zones des recettes et fouille dans toutes les fonctions système..


A+
Avatar du membre
FENUGREC
Apprend le binaire
Apprend le binaire
Messages : 6
Enregistré le : 18 août 2016, 10:59

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par FENUGREC »

Salut à tous,

Tout d'abord merci beaucoup pour votre aide.

@Mantysse : oui c'est exactement ça. Je verrai lundi quand je serai au boulot si je peux mettre la main sur les schémas TOR.

@skip74 : oui je pense en effet comme toi qu'il y a une forme d'encodage propre à chaque montage qui permet à l'armoire de contrôle de les identifier. Toute la difficulté revient à trouver comment cette identification est faite (vu que celle-ci n'apparaît pas dans l'arbre logique sous GP PRO EX). Je vais revérifier mais il me semble que le programme que j'essaie de modifier n'utilise pas de recettes. Il se peut que je me trompe.

Voilà un petit schéma qui explique un peu mieux ce qui se passe dans la logique.
Il y a un bout de logique qui sert à sélectionner le sous-programme (je le sais car si je le supprime, la sélection du programme ne se fait pas). Celui-ci est divisé en 5 étapes. On accède à chacune de ces étapes via une variable Initialisation qui prend successivement les valeurs 0, 1, 2 etc ... Voici un schéma de l'étape numéro 1. Les variables EX sont des entrées drivers (variables binaires).
schema_LT3300L.png
schema_LT3300L.png (3.66 Kio) Vu 10662 fois
Voici ce qui se passe quand j'exécute le programme :
1) Lorsque Initialisation = 1, pour une raison que je ne m'explique pas E1 passe automatiquement à 1 ce qui déclenche de fait le passage à 1 de USR10.
2) Lorsque USR10 passe à 1, la valeur 2 (ie le numéro du sous-programme correspondant au montage) vient se loger dans USR03, ici encore, sans que cela soit commandé par un bout de logique.

merci encore pour votre aide
Avatar du membre
Bernardo59
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1054
Enregistré le : 20 oct. 2015, 05:48
Localisation : Nimes
Contact :

Re: [PROFACE LT-3300L] Modification inexplicable d'une variable adressée dans la mémoire interne

Message par Bernardo59 »

Salut,

En voyant ton programme, je suis de l'avis de Skip74. Ta machine est reliée via des prises Harting ou des connecteurs similaires, ce qui explique le bout de ton programme.
Répondre