Adressage des variables en modbus tcp?

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
sldahut
Apprend le binaire
Apprend le binaire
Messages : 4
Enregistré le : 06 déc. 2020, 14:09

Adressage des variables en modbus tcp?

Message par sldahut »

Bonjour,

Avant de vous demander de l'aide, je vous explique le contexte :

- Je débute en automatisme, j'ai des bases de programmation/architecture/telecoms, mais je n'avais jusqu'à présent pas eu l'occasion de travailler sur un automate, je me rends qu'il y a une approche assez spécifique (et très intéressante)!

- Je cherche à récupérer les données en modbus TCP d'un automate M340.

J'ai fait des tests, mais je n'arrive pas à faire le lien entre l'adressage des données que je peux récuperer en modbus et les valeurs des variables du M340. Par exemple sous CcoStructure Control Explert (ex unity), je fais un test sur une entrée analogique 0-10V. Je vois bien ma valeur (8975mV). C'est l'adresse %IW0.3.0.

Quand j'utilise un utilitaire (par exemple : https://www.modbusdriver.com/modpoll.html ) pour récupérer, je ne sais pas quelle adresse utiliser, j'ai testé mais sans la trouver (d'ailleurs, je ne sais pas si je vais récupérer 8975... ou une valeur "brute" entre 0 et 32767 qui correspond à la plage 0-10V?).

En modbus tcp, j'ai compris que c'était une valeur en 3x car (input register = %IW). Mais comment ensuite avoir l'adressage du "0.3.0" ? Est ce normé? Est ce une information que je peux avoir sous unity?

(il y a eu un thread sur le même surjet : http://forum-automatisme.net/viewtopic.php?f=15&t=1043 mais je n'y trouve pas cette information, possiblement car cela dépend de l'automate?)

Merci pour votre aide !

Sébastien
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7807
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Adressage des variables en modbus tcp?

Message par itasoft »

slts,
Je cherche à récupérer les données en modbus TCP d'un automate M340. depuis quel équipement Client ?

quelle requête est utilisé et les paramètres de la requête ?
Automaticien privé (de tout)
itasoft@free.fr
sldahut
Apprend le binaire
Apprend le binaire
Messages : 4
Enregistré le : 06 déc. 2020, 14:09

Re: Adressage des variables en modbus tcp?

Message par sldahut »

Bonsoir,

Pour le moment, je le fais en test (depuis modpoll dont j'ai donné le lien). Mon objectif sera ensuite de développer un script qui collecte les données (probablement depuis un équipement linux en python ; il existe des librairie modbus TCP), mais avant de me lancer dans le développement, je cherche à identifier l'adressage dont j'aurai forcément besoin.

Sébastien
dpo
Dieu du process
Dieu du process
Messages : 820
Enregistré le : 27 nov. 2015, 20:03

Re: Adressage des variables en modbus tcp?

Message par dpo »

dans le programme automates tu recopies ton %IW dans une variables adressée en %MW0 (par exemple)
et tu attaques cette adresse %MW0 depuis ton soft
Requete en lecture, type n mots , départ 0, quantité 1
sldahut
Apprend le binaire
Apprend le binaire
Messages : 4
Enregistré le : 06 déc. 2020, 14:09

Re: Adressage des variables en modbus tcp?

Message par sldahut »

Dans le programme automates tu recopies ton %IW dans une variables adressée en %MW0 (par exemple)
et tu attaques cette adresse %MW0 depuis ton soft
Requete en lecture, type n mots , départ 0, quantité 1
J'aurais souhaité le faire de façon complètement transparente/indépendante par rapport au programme de l'automate.
Il n'est pas possible de faire la requête directement sur les variables %IW ?
De ce que j'avais lu c'était une valeur en 3x car (input register) et dans ce cas, il faut simplement connaitre son adresse pour faire la requête?
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7807
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Adressage des variables en modbus tcp?

Message par itasoft »

Il n'est pas possible de faire la requête directement sur les variables %IW ?
NON
ceci dit il faut d'abord essayer sur une variable %MW pour voir déjà si ta requête fonctionne avant d'aller plus loin
Automaticien privé (de tout)
itasoft@free.fr
sldahut
Apprend le binaire
Apprend le binaire
Messages : 4
Enregistré le : 06 déc. 2020, 14:09

Re: Adressage des variables en modbus tcp?

Message par sldahut »

J'avais compris :

- 0x - Coils - Lecture/Ecriture de bit(s)
- 1x - Discrete Inputs - Lecture de bit(s)
- 3x - Input words - Lecture de mot(s)
- 4x - Holding Registers - Lecture/Ecriture de mot(s)

(copier/coller de http://forum-automatisme.net/viewtopic.php?f=15&t=1043 )

Et je pensais donc qu'on pouvais obtenir les données avec des requêtes pour :
%MW >> 4x
%IW >> 3x

Ce n'est donc pas le cas? A quoi sert l'adressage en 3x du coup? (j'ai fait des tests de requêtes et sur quelques adresses je récupères des valeurs en 3x, même si je n'ai pas réussi à identifier ma %IW0.3.0, ce qui fait que je suis venu poster dans le forum)
ceci dit il faut d'abord essayer sur une variable %MW pour voir déjà si ta requête fonctionne avant d'aller plus loin
Oui, si pas le choix au niveau de la methode, dans ce cas, c'est ce que je vais faire, il faut que je commence par tester cela.
BenAutom
Code son premier grafcet
Code son premier grafcet
Messages : 32
Enregistré le : 02 mars 2019, 13:24

Re: Adressage des variables en modbus tcp?

Message par BenAutom »

Franchement, je ne me suis jamais emmerdé : je ne lis que des %MW !!!!
Un %IW ça veux rien dire !!!!! (hormis pour une PT100 sur unes entrée spécifique.).
9656mV ca veut dire quoi? Rien! Sauf si il y a une mise à l'échelle.
En effet, dans ton automate, tu va faire une mise à l'échelle pour utiliser la valeur physique (des litres/h, des bars, etc.)
Donc je te conseille de lire la valeur mise à l'échelle. (donc un ou des %MW)
Avatar du membre
skip74
Créateur de langage
Créateur de langage
Messages : 664
Enregistré le : 13 oct. 2015, 06:34

Re: Adressage des variables en modbus tcp?

Message par skip74 »

Bon modbus est un bus de communication non propriétaire datant de plus de 40 ans....donc il n'est pas illogique de se dire que les mapping mémoire des entrées sorties de l'époque et celle de nos jours n'ont plus grand chose à voir ...
Répondre