Com inter automates

Forum traitant des automates industriels de marque Siemens.
Répondre
Avatar du membre
Sbukx
Première mise en service
Première mise en service
Messages : 51
Enregistré le : 15 janv. 2016, 14:59

Com inter automates

Message par Sbukx »

Bonsoir,
Je travail sur un projet ou plusieurs APIs doivent communiquer ensemble. Les automates sont dans des projets différents. Il y a des S7 300 avec CP343-1 Lean, S1200.
Les fonctions PUT/GET semblent être les plus simple à mettre en œuvre, mais je ne sais pas si cette config me le permet (projets séparés)?
Et je n'ai pas vraiment bien compris la configuration à faire dans NETPRO.
Si vous avez des exemples et/ou conseils, je suis preneur.
Lorent2
Maître du binaire
Maître du binaire
Messages : 487
Enregistré le : 27 déc. 2015, 08:52

Re: Com inter automates

Message par Lorent2 »

Les fonctions AG SEND / AG RECEIVE sont là pour ça si tu pars sur de l'ethernet.

NetPro est là pour établir les liaisons de communications ce qui sert ensuite de base aux blocs de communications
Si quelquefois tu te sens petit, inutile, démoralisé ou dépressif, n'oublies jamais que tu as été un jour le plus rapide et le meilleur spermatozoïde de ta bande ...
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2230
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Com inter automates

Message par JC87 »

Bonjour,

Si les automates sont dans la même plage réseau tu peut faire du i-device. J'ai eu cette problématique récemment et c'est la solution que j'ai retenue. Je te fait un copie/collé de ce que j'avais écrit récemment à ce sujet sur le forum.

"Je remonte ce fil car j'ai mis en œuvre ma com entre un ET200SP et deux S7-1200. Finalement sur les conseils d'un ancien collègue j'ai fait du i-Device. Le principe c'est de déclarer les 1200 comme IO device dans leurs configurations matérielles avec une zone d'échanges sous forme d'un nombre d'octets entrée/sorties. Ensuite on exporte un GSD qu'on importe dans le contrôleur IO qui est ici mon ET200SP. Les entrées/sorties du i-device sont alors échangés comme si on avait une station d'entrées/sorties déportées "normale". L'avantage de cette solution c'est qu'il n'y a aucune programmation ni d'un coté ni de l'autre et les différentes station n'ont même pas besoin d'être dans le même projet. L'inconvénient c'est que toutes les stations doivent être dans le même réseau, il n'y a pas de dissociation comme avec un coupleur PN/PN, mais on économise le prix d'un coupleur, et même deux dans mon cas. Je ne connaissais pas cette méthode bien qu'a priori on pouvait déjà faire ça en Step 7 et un réseau Profinet."

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
Sbukx
Première mise en service
Première mise en service
Messages : 51
Enregistré le : 15 janv. 2016, 14:59

Re: Com inter automates

Message par Sbukx »

Merci pour les réponses.
Pour l'IODevice sa risque d'être compliqué: un S7 300 communique avec un S1200 et S7 300. Et les échanges de données vont dans les 2 sens.

Pour les fonctions AG SEND/AG RECEVE, je suis obligé de le faire dans tous les APIs (si je ne dis pas de connerie?) car j'ai différentes données à échager dans les 2 sens.

Si vous avez un exemple je suis preneur.
Avatar du membre
Damall
Codeur fou
Codeur fou
Messages : 233
Enregistré le : 13 janv. 2016, 09:22
Localisation : Luxembourg

Re: Com inter automates

Message par Damall »

Salut,

j'ai déjà utiliser les deux, et tu peux le faire même si les automates ne sont pas dans le même projet.
ça va aussi dépendre de la taille des messages que tu veux echanger.
PUT/GET -> limitation à 400 octets.
SEND/RECEIVE -> limitation à 8196 octets.

L'avantage du PUT/GET, c'est que tu peux tout faire dans 1 automate sans ce soucier de l'autre. Par défaut, moi j'utilise toujours des GET, car je pars du principe que c'est l'automate qui a besoin des informations qui va les chercher (Sauf cas particulier d'envoi de données sur évènement), tu peux mettre autant de PUT et de GET que tu veux. L'inconvénient c'est que tu est limité à 400 octets.
L'avantage du SEND/RECEIVE c'est la taille de message envoyé. L'inconvénient c'est que tu dois faire des modifications dans les 2 automates. Un seul SEND/RECEIVE par liaison (dans les deux sens).

A toi de voir.
Avatar du membre
Sbukx
Première mise en service
Première mise en service
Messages : 51
Enregistré le : 15 janv. 2016, 14:59

Re: Com inter automates

Message par Sbukx »

Merci Damal pour les infos,

Pour moi aussi la solution de la fonction GET serai plus simple. Mais pour des projets séparés comment déclares-tu les APIs avec lesquelles tu communiquent dans NetPro?
J'ai essayé en insérant une nouvelle liaison (non spécifié) Type: Liaison S7. Mais c'est là que c'est plus bon. Il refuse de valider ce type de liaison. Alors je passe sur une liaison ISO on TCP. Et je ne peux faire que AG_Send/AG_Receve.

Je dois certainement louper quelque chose dans le paramétrage NetPro!!!

Si tu as un projet exemple de ce genre de com je suis preneur.
Avatar du membre
Damall
Codeur fou
Codeur fou
Messages : 233
Enregistré le : 13 janv. 2016, 09:22
Localisation : Luxembourg

Re: Com inter automates

Message par Damall »

Salut,

désolé pour la réponse tardive.

Pour déclarer une liaison vers un automate d'un autre projet, il faut que tu déclare une autre station à la racine de ton projet.
Dans ces paramètres, tu lui déclare sont adresse IP et le réseau sur lequel elle est connecté.
Ensuite tu la verra apparaitre dans NetPro.

Si tu as besoin d'un projet exemple, je peux t'en fournir un.

@+
Avatar du membre
bipcoyote
Codeur fou
Codeur fou
Messages : 203
Enregistré le : 16 janv. 2018, 13:19
Localisation : Dunkerque

Re: Com inter automates

Message par bipcoyote »

Bonjour,
Vu les réponses, je ne suis absolument pas fan d'une CPU 343-1 lean, trop de soucis avec et en plus limitée en terme de liaison S7.
Perso aussi je ne réalise que du GET.
Pour réaliser une communication avec un automate( Disons A et B), cela est du plus simple.

Deux méthodes existent:
1 - tu déclares dans chaque Projet ton autre CPU, Ton projet A avec tous ses blocs, et B juste la conf.
2 - Dans chaque peojet, tu ne mets que ta CPU, liaison S7 en sens unique avec comme TSAP 03.02 (ressource liaison et emplacement)

Dans chaque appli, tu utilises le même DB entre A et B au niveau structure.

Petit conseil, la première fois, transfère le tout avec un câble adaptateur (Profibus/MPI), j'avais jamais eu de soucis particulier, sauf qu'il y a deux semaines, impossible d'établir une liaison sur une config entre deux CP343-1 ????????
Appel siemens, lui aussi comprend pas ?????
Transfert de la totalité en câble et là, ça marche ?? Bon ok tans mieux mais bizarre sans rien changer.

PS. j'ai vu aussi que tu vas aussi communiquer en TIA, la méthode 2 est nickel pour com avec un S7-300 surtout si tu ne peux pas modifier le S7-300.

+
Avatar du membre
Sbukx
Première mise en service
Première mise en service
Messages : 51
Enregistré le : 15 janv. 2016, 14:59

Re: Com inter automates

Message par Sbukx »

Merci pour les infos.
Comme je n'ai pas le choix et que c'est une CP343 Lean, j'ai fait les liaisons avec AG_SEND/AG_REVECE.
Un peu lourd et quelques trucs à comprendre pour la configuration dans NETPRO. Mais c'est tombé en marche!
Répondre