caméra-automate

  • Auteur de la discussion Monsieur
  • Date de début
M

Monsieur

Nouveau
Bonjour à tous,

Je suis apprenti et je ne suis pas très bon en automatisme, j'aurais besoin de votre aide.
J'ai un projet dans lequel une caméra doit prendre la mesure d'un tube de verre et transmettre cette mesure vers un automate. En fonction de cette mesure, l'automate va commander un moteur pas à pas. Mais la caméra envoie une valeur numérique à l'automate. Est-ce que l'automate peux utiliser cette valeur numérique pour ensuite contrôler le moteur? Et si non, comment faire?
Cordialement
 
V

vax

Modérateur
Bienvenue sur le forum,
Tu nous fais une sacré devinette...
Donnes nous au moins le modèle de la caméra pour voir ce qu'elle "donne" comme information.
A te lire, c'est un module de mesure optique intégré, qui donc donnerait "directement" une mesure ce qui n'est pas la fonction première d'une "simple" caméra !
 
O

osiver

Compagnon
C'est beaucoup trop vague.

Par définition une caméra fournit une image. Extrait-elle vraiment une dimension ?
Si c'est le cas, quel format ?

Et quel automate ?
En général les automates reçoivent, soit une tension analogique représentative de l'info mesurée, soit il peut y avoir une connexion par mod-bus et/ou RS-485 permettant de dialoguer avec des éléments extérieurs. :wink:
 
E

EncoreUnPseudo

Compagnon
Une caméra dans ce genre de process est rarement une caméra simple: C'est une caméra associée à un système de reconnaissance et de traitement d'image qui est effectivement capable de résumer une image à une simple valeur numérique.
Un automate est capable la plupart du temps d'effectuer des traitements sur des valeurs numériques. Cela va dépendre du langage que tu utilise pour le programmer: Oublie le ladder dans ce cas là, mais les grfcet, FBD ou ST sont capables de gérer ça.
Ensuite ta problématique sera de faire en sorte que l'automate récupère cette valeur dans la caméra. Là tu tombe dans une la connectivité et les protocoles.
Connectivité: RS232, RS485, Ethernet ?
Protocole: Modbus, EthetnetIP, profibus, etc...

Donc en résumé: Oui, c'est tout à fait possible, mais en fonction de ton matèriel, ça peut être relativement compliqué.

Si tu veux plus d'infos, il faut nous en dire plus: type d'automate, type de caméra/mesure, etc, etc...
 
M

Monsieur

Nouveau
Bonjour à tous,
Merci pour vos aides.
Pour compléter un petit peu:
• l'automate que j'ai, est un OMRON CP1L-EL20DR-D, c'est un automate qu'on avait en stock donc je me suis dit pourquoi pas utiliser celui-ci.
• référence de la caméra: CV H200M. Grosso modo, cette caméra prend une photo et mesure l'objet présent sur la photo. Elle envoie bien des valeurs numériques à l'automate. La caméra peut échanger des informations par Ethernet TCP/IP, Ethernet IP, Profinet et RS 232.
En espérant vous avoir éclairci.
Cordialement.
 
M

Momoclic

Compagnon
Bonjour,
Ça a l’air de répondre à ton besoin ?
Je ne vois pas où est ta problèmatique !
 
E

EncoreUnPseudo

Compagnon
Bonjour à tous,
Merci pour vos aides.
Pour compléter un petit peu:
• l'automate que j'ai, est un OMRON CP1L-EL20DR-D, c'est un automate qu'on avait en stock donc je me suis dit pourquoi pas utiliser celui-ci.
• référence de la caméra: CV H200M. Grosso modo, cette caméra prend une photo et mesure l'objet présent sur la photo. Elle envoie bien des valeurs numériques à l'automate. La caméra peut échanger des informations par Ethernet TCP/IP, Ethernet IP, Profinet et RS 232.
En espérant vous avoir éclairci.
Cordialement.
J’ai jeté un coup d’oeuil Rapide: ton truc fait du ladder, du fbd, et du st dans les fbd
Tu peux donc t’en sortir en structured text, perso j’aime pas, mais on s’y fait
Par contre côté com, je n’ai pas compris quel standard ils supportaient: à premier vue ce n’est que du propriétaire, tu risque donc d’estr obligé de passer par du rs232
Mais pour être sur’ il faut se taper toute le doc et.... j’ai un métier :)
 
M

Monsieur

Nouveau
Merci pour tes informations EncoreUnPseudo !
Je vais voir dans la doc ce qu'il en est.
 
M

Monsieur

Nouveau
En effet, l'automate peut être connecté par du RS 232c, seulement si on rajoute un module d'expansion. Et il m'a semblé voir aussi une entrée ethernet.
Pour résumer:
L'automate dont je dispose ( OMRON CP1L-EL20DR-D) peut traiter des valeurs numériques via une connectivité RS 232c, en utilisant le langage ST. C'est bien ça ?
 
E

EncoreUnPseudo

Compagnon
C’est bien ça, le ST te permettra de traiter facilement des valeurs numeriques
Maintenant, tu va avoir le problème qui est la plaie de l’automaticien: l’interoperabilite entre deux équipements
Avec le numéro de modèle que tu as fourni, effectivement tu as une prise ethernet.... mais ethernet ça veut tout dire et rien dire: tout dépend du protocole que tu fait passer dessus. Ta caméra peut parler modbus, profinet, ou n’importe quel autre langagé idem pour ton automate
Remarque que le problème est exactement le même avec un port rs232. Seulement dans ce cas, il y est souvent plus facile de configurer finement les trames que tu reçois et envoie, c’est donc souvent plus adaptable

Souvent, mais pas toujours

Je ne saurai trop te conseiller avant de te lancer dans un investissement quelconque de lire l’integralite Des docs de ta camera (en particulier les parties sur la com) et celles de l’automate

Tu peux aussi essayer de contacter les services techniques des fournisseurs: comme ils connaissent leur produits, eux, ils n’ont pas besoin de lire la doc, ça va plus vite :)

Je ne peux pas en faire plus pour toi, c’est vraiment trop long à faire, mais tiens nous au courant
 
M

Monsieur

Nouveau
Bonjour,
Merci Beaucoup EncoreUnPseudo pour ton aide.
Je vous tiendrais au courant quand j'aurai avancé sur le projet.
A bientôt
 
M

Monsieur

Nouveau
J'ai encore une question : comment je fais, avec l'automate, pour récupérer les valeurs numériques que la caméra m'envoie, puis les utiliser ?
 
E

EncoreUnPseudo

Compagnon
Pour récupérer les données, il faut que tu puisse connecter ton automate à ta caméra, et la tout dépends:
  • Du protocole utilisé: il faut que tu trouve un protocole (modus, profinet, text) et un médium (ethernet, rs232) commun a ta caméra et a ton automate -> la doc
  • Ensuite, il faudra que tu configure ton automate pour aller récupérer la mesure. En fonction du protocole, ça peut aller du simple clicodrome au programme complet en ST pour décoder des trames
  • Enfin lorsque tu aura récupéré d’une manière ou d’une autre cette valeur, tu peut l’utiliser en ST pour faire des tests été des choix: le ST est un Pascal abatardi, tant que tu ne cherche pas à faire des boucles, c’est con comme la lune.
Une petite question taraude: ne serait tu pas un poil novice en automatisme ? Si c’est le cas, tu démarre un peu par la face nord quand même
 
M

Monsieur

Nouveau
Oui en effet je suis novice.
J'essais de me documenter sur internet mais je m'y perds un peu.

Alors voilà, la caméra et l'automate ont en commun le protocole Ethernet TCP/IP et je peux les relier par éthernet et Rs 232.
Mais en regardant un peu mieux dans la doc de l'automate, j'ai vu que pour se connecter via Rs 232, il y a noté "no-protocol" pour le mode de communication :| j'en conclue donc que je ne peux pas utiliser de protocole avec une connectivité Rs 232. Est-ce que mon interprétation est juste ?
Donc ce serait une connectivité ethernet avec le protocole TCP/IP.

C'est vrai que je suis limité sur mes connaissances en automatisme donc je me doute bien que ce ne doit pas être simple de m'aider.
Mais je vous remercie du temps que vous passez à me rendre la tache plus facile.
 
E

EncoreUnPseudo

Compagnon
Alors...
TCP/IP veut simplement dire que les deux machines utilisent le protocole Ethernet de base, c'est à dire.... pas grand chose (enfin TCP/IP c'est magnifique dans son fonctionnement, mais ça ne nous avance pas beaucoup de ce coté là)
Il faut que les deux partagent un protocole de communication commun... et ça n'a pas l'air d'être le cas.

Pour essayer de simplifier avec une analogie: TCP/IP veut dire que tu es capable de décrocher ton téléphone, composer un numéro et d'avoir quelqu'un qui décroche à l'autre bout.... Maintenant si l'autre au bout du fil ne parle que le moldo-slovaque, ça va être compliqué d'échanger des infos.

Le téléphone, c'est ce qu'on appelle la couche transport. Le langage, c'est la couche applicative, appelée parfois abusivement "protocole de communication" dans le monde industriel

Pour que deux appareils puissent communiquer, ils faut qu'ils partagent au minimum ces 2 couches.

Essaye de poster les docs que tu as, à la fois sur ta caméra et sur ton automate et met les dans un message (on sait jamais, ça peut servir à d'autres)

En ce qui concerne l'automate, et comme tu débute, je ne saurais trop te conseiller de travailler avec et de le prendre en main, hors connexion à ta caméra. Il faut que tu apprenne les langages (FBD / ST), le fonctionnement de l'automate et de l'outil de programmation.

Rassure moi, tu as bien l'outil de programmation ?

Le plus simple est de faire ça avec des entrées sorties locales (interrupteurs et LED). Quand tu commencera à faire clignoter des LEDs, tu pourra te pencher plus sérieusement sur la com avec ta caméra.

Donc:
  • Récupère toutes les docs que tu peux
  • Colle l'automate sur une table avec une clim et un PC
  • Fait des programmes à la con genre recopier la valeur d'un interrupteur sur une sortie, faire clignoter une LED, etc...
Tu dois d'abord maitriser les fonctions de base, car quand tu va commencer la partie communication, rien ne va marcher (c'est nominal au debut) et tu va te poser trop de questions si tu n'es pas sur de ce que tu fait au moins en local

J'espère que tu n'es pas pressé :):)
 
Dernière édition:
M

monk

Apprenti
Bonjour

histoire d'avancer je t'encourage vivement a décomposer ton pojet en sous ensembles.

Je me trompe peut etre mais a te lire j'ai l'impression que tu cherches des prises "pareilles" a raccorder ensemble, et s'il y'a deux connecteurs rouge, les relier entre eux en esperant que ca fonctionne.
Ton projet est un ensemble de sous ensemble, tu ne peux pas espérer tout brancher et que ca fonctionne.

Déja, avant de parler protocole il faut savoir ce que tu veux lui faire dire.

Commence par la caméra.
La caméra équipée d'une matrice de capteur recoit de la lumiere et envoie tout ça a une carte de traitement.
La carte de traitement transforme le signal brut en langage standardisé (le protocole)
Frequence de rafraichissement, balayage, résolution etc...
Une télé recoit l'image, parlant le meme langage elle comprend comment transformer ce signal pour afficher celui ci sur une dalle matricielle qui reproduit aussi fidelement que possible l'image filmée initialement.

Tu te doute bien que ton automate n'est pas équipé d'un bloc de reconnaissance d'éprouvette qui te sort une condition vraie/fausse juste en filmant une éprouvette.

Toujours en partant de la caméra, es ce qu'elle est équipée d'une carte d'interface programmable capable d'interpreter l'image brute?

Grosso modo:
ton liquide est noir
le fond de l'image est blanc
ResolutionY = La Resolution verticale de ta caméra

Un programme simple:
Activer Camera1
For y = 1 To ResolutionY
Recuperer la couleur du pixel "y"
Si PixelY = Noir then
On incrémente la variable "Poids"
Endif
Next

Afficher "Poids" / Envoyer "Poids" selon le protocle accepté par l'automate.

Un peu d'expérimentation pour déterminer le poids de l'éprouvette quand la variable "Poids" est au max (éprouvette remplie et filmée), pour peu que mesure et interpretation soit linéaire et l'affichage du poids sera simple (sinon il faudra réaliser une table de conversion.)


Pour ma part, en tant que technicien et formé a valider des sous ensemble et ne plus revenir dessus, je m'emploierai a cabler un arduino sur la camera et a afficher un poids en temps réel.
Arriver a cela serait déja une grosse étape.
 

Sujets similaires

D
Réponses
6
Affichages
1 291
ornemaniste
ornemaniste
Y
Réponses
12
Affichages
1 638
laboureau
laboureau
P
Réponses
33
Affichages
15 459
wika58
wika58
R
Réponses
21
Affichages
912
pamer
D
Réponses
5
Affichages
6 786
dudu44
D
Haut