Page 2 sur 2

Re: Communication entre 2 S71200

Posté : 07 févr. 2019, 14:38
par djé
Nota
Au premier appel, la quantité maximale de données utiles pouvant être transmise par tâche est définie par les pointeurs ANY ; en effet, un tampon de communication assurant la cohérence de données est créé dans la mémoire de travail de la CPU. Celui-ci nécessite jusqu'à 480 octets de mémoire utile.
Il est conseillé d'exécuter ce premier appel dans l'OB de démarrage à chaud ou à froid, quand le bloc contenant l'appel du SFB n'est pas chargé après coup à l'état de fonctionnement Marche de la CPU.Lors des appels suivants, vous pouvez envoyer ou recevoir un nombre de données au choix, mais pas plus que lors du premier appel.

En gros il faudrait que tu fasses un STOP/RUN de ton programme, je pense.

Re: Communication entre 2 S71200

Posté : 07 févr. 2019, 15:06
par MD32
Vu pour le mécanisme, Merci, mais non, aucune réaction si la longueur est <> de 1, même avec l'appel du PUT dans OB100 et stop>run :(
en pratique, c'est bon avec des adresses séparées, mais la question reste intéressante pour moi

sinon, me voilà dans de beaux draps : la comm fonctionne bien, mais plus le codeur, pourtant j'ai pas touché au HSC et dans un autre projet, le codeur fonctionne toujours correctement :? faut que j'aille prendre l'air :roll:

Re: Communication entre 2 S71200

Posté : 08 févr. 2019, 09:16
par djé
Est ce que tu as un code de retour défaut de la fonction?

Re: Communication entre 2 S71200

Posté : 08 févr. 2019, 09:24
par MD32
J'avais inséré un nouvel automate dans le réseau et par défaut les filtres d'entrée des voies de comptage sont trop larges. J'avais oublié de les rétrécir. Voilà c'est réglé. Merci.

Pour la question des longueurs, s'il y a du nouveau, ...

@+

Re: Communication entre 2 S71200

Posté : 08 févr. 2019, 10:09
par djé
Tu dois pouvoir mettre la longueur de données que tu souhaites (dans la limite des capacité du bloc).

Il faut veiller à ce que les zones définies par les paramètres ADDR_i et SD_i concordent en nombre, en longueur et en type de données.

Suivant l'automate, celui-ci n'accepte pas les mêmes zone de mémoire. (S7-300 : M et Db; alors que S7-400: M,E,A,Db,T,Z)

Lis bien toutes le infos que tu peux trouver sur le bloc PUT en fonction de ta plateforme (S7,TIA) et de ton API.
Si il y a un problème le bloc dois certainement te retourner un code d'erreur, qu'il faut analyser.

Re: Communication entre 2 S71200

Posté : 08 févr. 2019, 11:33
par MD32
merci pour l'aide !
S7-1200 CPU1212C et TIA PORTAL V13
il semble que les champs longueur et type ne doivent pas être renseignés pour SD
car une quelconque une info dans ces champs indique une erreur de syntaxe
(la doc ne me renseigne pas davantage)

Re: Communication entre 2 S71200

Posté : 08 févr. 2019, 12:22
par djé
MD32 a écrit : 08 févr. 2019, 11:33 il semble que les champs longueur et type ne doivent pas être renseignés pour SD
Il doit être forcément renseigné puisque c'est la zone mémoire source pour la copie des données !

Re: Communication entre 2 S71200

Posté : 08 févr. 2019, 12:31
par djé
put.jpg

Re: Communication entre 2 S71200

Posté : 08 févr. 2019, 15:37
par MD32
En fait, on peut ne pas le renseigner si la longueur est de 1 (je programme ces blocs en complétant les champs de configuration, et non en écrivant directement à l'entrée du bloc, par manque d'habitude ;) ).

Et si j'avais une erreur de syntaxe en réglant une longueur > 1 c'est que tout bêtement, je n'avais pas modifié l'adresse de départ du SD, qui était un MW, (car c'est possible si la longueur est de 1) au lieu du bit de poids faible de ce MW (ma première question !!! ... me voilà bien confus :oops: )

Grand merci pour l'aide !