Com Modbus ATS48

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Com Modbus ATS48

Message par itasoft »

slts,
apparemment ça demande bien le CRC16 dans les paramètres de la requête ModBus RTU ,
bizarre ? Vous avez dit bizarre ? J'ai dit bizarre ? tiens comme c'est bizarre ? (Jouvet)
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Com Modbus ATS48

Message par lolodu013 »

bonsoir,

Ok je laisse le checksum d'origine. De toute facon j'arrive pas a voir la com entre l'automate profibus et la passerelle n'ont plus. Mes roues codeuses sont bien adressées mais impossible d'avoir la com entre les 2. On a placé l'analyseur de réseau dP, qui trouve bien les esclaves passerelles à la bonne adresses, mais avec un défaut de config.
Capture.JPG
Et je vois aucun paramètre de réglages profibus de la passerelle
Capture2.JPG
Si au moins j'arrivais a faire communiquer la partie profibus.... mais là...
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2231
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Com Modbus ATS48

Message par JC87 »

Bonjour,

Quid de la configuration du maitre Profibus ? tu as bien intégré le gsd de la passerelle dans la configuration matérielle ? Coté passerelle il n'y a que l'adresse Profibus à régler avec les roues codeuse, la vitesse est détectée automatiquement.

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
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Com Modbus ATS48

Message par lolodu013 »

Bonjour,

Ras sur la config profibus coté GSD. Tout va bien. On a modifié un paramètre dans la config et la com profibus est revenu.
Capture.JPG
Alors pourquoi en mettant 10 on reprend la com profibus??? aucune idée :roll:
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Com Modbus ATS48

Message par lolodu013 »

ma longueurs d'entrée sur le GSD du LFUP est a 520. Et la je vois pas comment on peu demander à la passerelle d'écrire sur la cette longueur
DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: Com Modbus ATS48

Message par DurandO »

Bonjour,
lolodu013 a écrit : 23 déc. 2021, 18:44 Alors pourquoi en mettant 10 on reprend la com profibus???
Peut-être que coté maître profibus, tu avais défini une zone trop importante.
Dans la passerelle, ton esclave mod-bus ne lisant qu'un byte, il ne réserve peut-être que cette zone mémoire de 0 à 1.
Lorsque tu changes l'adresse en 10, le réserve peut être de 0 à 10 du coup.
Ce n'est qu'une supposition.
Le problème dans ce cas, c'est que la longueur de lecture (profibus) n'est sans doute pas bonne.
A vérifier donc. Tu peux peut-être nous montrer ta config profibus.

Mes explications sur le calcul du CRC t'ont-elles aidé ?
Cordialement.
Durand.O
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Com Modbus ATS48

Message par lolodu013 »

DurandO a écrit : 23 déc. 2021, 19:31 Bonjour,
lolodu013 a écrit : 23 déc. 2021, 18:44 Alors pourquoi en mettant 10 on reprend la com profibus???
Peut-être que coté maître profibus, tu avais défini une zone trop importante.
Dans la passerelle, ton esclave mod-bus ne lisant qu'un byte, il ne réserve peut-être que cette zone mémoire de 0 à 1.
Lorsque tu changes l'adresse en 10, le réserve peut être de 0 à 10 du coup.
Ce n'est qu'une supposition.
Le problème dans ce cas, c'est que la longueur de lecture (profibus) n'est sans doute pas bonne.
A vérifier donc. Tu peux peut-être nous montrer ta config profibus.

Mes explications sur le calcul du CRC t'ont-elles aidé ?
Cordialement.
Durand.O
Bonsoir,

Oui ca m'aide merci. Avec des tuto youtube pour compléter c'est parfait .

voilà la config mat
Capture.JPG
DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: Com Modbus ATS48

Message par DurandO »

Bonsoir,
ton api récupère 8 bytes d'après cette config.
Il faut commencer par identifier les données à lire en regardant dans le prog API à quoi correspondent les octets 528 à 535.
Une fois cela connu.
S'il s'agit de registres qui se suivent, tu peux avoir une requête Mod-bus unique de lecture registres de longueur 8 bytes et ranger à l'adresse 10 (je suppose suivant doc page 58).
Sinon, tu devras avoir une requête par registre et respecter les adresses d'écriture dans la zone mémoire de la passerelle pour que ces données se suivent.

Dans "query" de la requête modbus, le nombre de registre est exprimé en mots (2 byte) alors dans la réponses c'est exprimé en byte.
Si tu lis 2 registres :
dans query number of register = 2
dans response byte count = 4

Cordialement.
Durand.O
Avatar du membre
lolodu013
Codeur fou
Codeur fou
Messages : 261
Enregistré le : 05 mars 2016, 08:31

Re: Com Modbus ATS48

Message par lolodu013 »

DurandO a écrit : 23 déc. 2021, 22:13 Bonsoir,
ton api récupère 8 bytes d'après cette config.
Il faut commencer par identifier les données à lire en regardant dans le prog API à quoi correspondent les octets 528 à 535.
Une fois cela connu.
S'il s'agit de registres qui se suivent, tu peux avoir une requête Mod-bus unique de lecture registres de longueur 8 bytes et ranger à l'adresse 10 (je suppose suivant doc page 58).
Sinon, tu devras avoir une requête par registre et respecter les adresses d'écriture dans la zone mémoire de la passerelle pour que ces données se suivent.

Dans "query" de la requête modbus, le nombre de registre est exprimé en mots (2 byte) alors dans la réponses c'est exprimé en byte.
Si tu lis 2 registres :
dans query number of register = 2
dans response byte count = 4

Cordialement.
Durand.O
bonjour,

Mes données à lire sont identifiées dans mon api siemens
-1 ere Longueur 528 / 529= 2 octets, pour le courant absorbé registre W4026 de l'ATS,

Sur la passerelle coté query
-slave adresse 4
-fonction code 3
- starting registrer adress: 0x0FBA (conversion de W4026 )
-nombre de registres : 1
-checkcum : je lkaisse les valeurs d'origines ( 0)

Sur la passerelle coté réponse:
-byte count 2
-data lenght 2
-data location 10
Je touche pas le swap pour le moment.

Je charge cette config et je n'ai plus aucune erreurs sur l'aPI et la passerelle. MAIS toujours aucune info qui remonte sur l'API.

je me demande si je dois pas paramétrer la passerelle pour le dire d’écrire vers l'aPI en 528.. et la je vois pas comment.
DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: Com Modbus ATS48

Message par DurandO »

Bonjour,
lolodu013 a écrit : 28 déc. 2021, 16:55 Mes données à lire sont identifiées dans mon api siemens
-1 ere Longueur 528 / 529= 2 octets, pour le courant absorbé registre W4026 de l'ATS,
Qu'est'ce que tu fais des 6 octets suivants ? 530/531/532/533/534/535
Si tu relis ta doc, en page 66, il semble clair que la lecture d'un registre prends 2 octet.
ABC_Conf.png
Ces octets sont rangés à partir de l'adresse 2 Area_In de la passerelle (je suppose que l'api lit à partir de cette adresse).
Il te manque donc bien les 6 octets de données qui suivent coté passerelle et par conséquent les requêtes correspondantes.
Tu ne peux pas te contenter de lire que 2 octets comme tu le fais avec cette unique requête!

A propos de 10 dans data:
Lorsque tu mets 10 dans data response, les données sont rangées en adresse 10 de la passerelle : c'est peut-être pour cela que l'esclave profibus est ok.
As-tu essayé avec les valeurs 8 ou même 6 voir si l'esclave Profibus tombe en défaut ou pas?
Si ça tombe en défaut avec 6, c'est que l'api lit à partir de l'adresse 2.
Si ça tombe en défaut avec 8, c'est que je n'ai rien compris.
Cordialement.
Durand.O
Répondre