Type de données ANY dans un FB et Liaison S7

Forum traitant des automates industriels de marque Siemens.
Répondre
valerypetit
Forcené des structures
Forcené des structures
Messages : 179
Enregistré le : 24 janv. 2016, 21:47

Type de données ANY dans un FB et Liaison S7

Message par valerypetit »

Bonjour à tous,

je suis en train de paramétrer une com en profinet entre des Automates de l'usine,
pas mal de chose nouvelle pour moi, mais heureusement les doc sont bien faite ;-)

j'aurai quand même deux questions a vous poser pour avoir plus de visibilités.

- Concernant les propriété de la liaison S7, j'ai deux partenaires Profinet
Si je configure le maitre:
Je coche la cas initiation de la liaison
Dans détails des adresses je met Ressource de liaison Local 10, Ressource de liaison Partenaire 03

Si je configure l'esclave:
Je décoche l'initiation de la liaison
Dans détails d'adresse je fais l’inverse de la config du maître???


- Concernant les échanges entre les deux Automates
je voudrais faire un Put n' Get, du coup j'ai récupéré l'exemple de siemens, et je compte faire un FB qui rentrerai dans notre standard de bloc de programmation.
j'ai donc mis sur les pattes d’entrées: l'init et un cadenceur, par contre j'aurai aussi voulu compléter les pattes "ADDR_1" et "RD_1" ou "SD_1" des fonctions Put et Get par le même biais.
c'est un type de donné Paramètre ANY et j'ai un défaut "paramètre effectif illicite pour le paramètre ADDR_1" qui apparaît quand j'essai de faire le lien.....
couteau.png
des idées???? est ce que quelqu'un a déjà rencontré ce problème? ça se contourne ou je me résigne à compléter l'adresse de mon DB dans mon FB à chaque fois que je le réutilise????

Merci pour vos commentaire ;-)

Valery
cyril13110
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 107
Enregistré le : 10 juin 2016, 09:41

Re: Type de données ANY dans un FB et Liaison S7

Message par cyril13110 »

salut,
je vais te faire un lien FTP pour un code exemple fonctionnelle:
http://dl.free.fr/b1mOAUnFD
il y a 4 ans j'ai participé à un gros projet avec de gros echanges de données...
c'est a dire 1 maitre et 24 esclaves (18 profibus, 6 profinet), on a utilisé les get/put car cela nous semblais etre le plus securisé.
dans le projet il y a tous les api.
Il y a la gestions des GET/PUT celon G7....

Dans l'imedia je vais avoir du mal a t'expliquer la conf car je ne m'en rappel vraiment plus.
On a fait en sorte que le code soit le plus propre et le plus clair possible pour faciliter une maintenance futur.
tu devrait facilement retrouver ton besoin dedant.


bonne leture
Avatar du membre
djé
Dieu du process
Dieu du process
Messages : 864
Enregistré le : 20 oct. 2015, 09:55
Localisation : Bretagne, Pays de la Loire, Nantes
Contact :

Re: Type de données ANY dans un FB et Liaison S7

Message par djé »

Salut,
Appui sur la touche F1 en ayant sélectionné ton bloc:
Nota :
Quand le pointeur ANY accède à un DB, il faut toujours spécifier ce DB
(par ex. : P# DB10.DBX5.0 Byte 10).
Solution: ajoute explicitement le numéro de DB à ta variable "Test" comme si dessous:
get.png
Modifié en dernier par djé le 13 déc. 2016, 12:20, modifié 1 fois.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.

Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Avatar du membre
Cyril93
Maître du binaire
Maître du binaire
Messages : 484
Enregistré le : 29 oct. 2015, 14:22
Localisation : IDF

Re: Type de données ANY dans un FB et Liaison S7

Message par Cyril93 »

valerypetit a écrit :
- Concernant les échanges entre les deux Automates
je voudrais faire un Put n' Get, du coup j'ai récupéré l'exemple de siemens, et je compte faire un FB qui rentrerai dans notre standard de bloc de programmation.
j'ai donc mis sur les pattes d’entrées: l'init et un cadenceur, par contre j'aurai aussi voulu compléter les pattes "ADDR_1" et "RD_1" ou "SD_1" des fonctions Put et Get par le même biais.
c'est un type de donné Paramètre ANY et j'ai un défaut "paramètre effectif illicite pour le paramètre ADDR_1" qui apparaît quand j'essai de faire le lien.....
couteau.png
des idées???? est ce que quelqu'un a déjà rencontré ce problème? ça se contourne ou je me résigne à compléter l'adresse de mon DB dans mon FB à chaque fois que je le réutilise????
Salut,

Voir dans l'aide "Types de données autorisés pour la transmission de paramètres"

Tu verras on ne pas transmette directement un pointeur ANY d'un FB à un FB quelque soit le type de déclaration mais il y a des astuces pour contourner cette restriction, passer un type simple ou faire une copie mais peux importe la méthode il faudra reconstruire le pointeur any en interne de ton FB ;)
valerypetit
Forcené des structures
Forcené des structures
Messages : 179
Enregistré le : 24 janv. 2016, 21:47

Re: Type de données ANY dans un FB et Liaison S7

Message par valerypetit »

merci beaucoup.
je vais gratter tous ça.

Une dernière question.
d'ici un an, une supervision sera mise en place pour faire remonter des données depuis les automates de l'usine.
sachant que mes automates sont doté d'une carte profinet je voudrais relier le tout au réseau usine.

Nous aurons donc des automates communiquant entre eux (par petits groupes), mais ne nécessitant pas de gros flux (données d'état machine, remonté de défaut)
et une remonté de données de production en temps réel de certain automate. (TRS, Consommation Electrique, Débit d'air, consommation d'ingrédients à chaque cycle des cuisine automatique)

dans l'ensemble rien pour faire tomber un serveur, mais j'aimerai savoir si le matériel est adapté ou si je risque d'avoir des problèmes avec des paquets qui se croisent?

Pour le moment les appareils susceptible d'êtrent connectés au réseau sont:
- Des marqueurs: Acquisition du masque d'impression en début de prod
- Panel proface, Carte réseau API Schneider premium, CP 343-1 Siemens : Données de prod
- Balance, peseuse pondéral,....

merci pour vos retour.

Valery
Fichiers joints
Réseau indus VL13.png
Réseau Usine.png
Répondre