Proview : Modbus

Partie du forum pour tout ce qui concerne la partie soft, ou logiciel, dans l'industrie. Forum, conseil, astuce et entraide sur les logiciels d'automatisme ou d'informatique industrielle .
coco82
Code sa première boucle
Code sa première boucle
Messages : 13
Inscription : 27 nov. 2018, 20:24

Proview : Modbus

Message par coco82 »

Bonjour,

Je débute en Proview. Je tente de faire communiquer Proview avec un automate (TSX 07) en Modbus RTU, et j'ai des problèmes de com'.

N'ayant pas de port série, j'utilise un câble convertisseur USB-RS485. Ca fonctionnement très bien avec des petits logiciels : QMod Master sous Windows ou GtkTerm sous Linux.

Après avoir galéré, j'arrive à avoir un semblant de communication. Pour les novices en linux, il faut donner les droits à Pwrp sur le port série (joie de Linux), il faut se mettre en super utilisateur et taper:

Code : Tout sélectionner

chmod 777 /dev/ttyUSB1
ttyUSB1 à remplacer par votre port.

En ce qui me concerne, j'ai 1 trame sur 10 qui passe sur les lectures. Le Status de l'esclave, est en "%MB-W-CONNDOWN" sauf quand il reçoit une trame, il passe alors en "NORMAL".

Je n'ai trouvé aucune documentation sur ce status. Est-ce que quelqu'un saurait m'en dire plus? Est-ce qu'il y aurait un logfile quelque part qui pourrait me donner des infos en plus?

Pour les écritures, je n'ai rien, mais je m'y consacrerai dans un 2ème temps...

Merci d'avance,
Jérôme
Avatar de l’utilisateur
ben44
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Inscription : 15 oct. 2017, 20:45

Re: Proview : Modbus

Message par ben44 »

Jérome,
as-tu essayé de jouer sur les temps des paramètres TimeOut de l'objet Modbus_RTU_Master ?

Comme pour une com Modbus TCP, tu as la structure suivante:
Modbus_RTU_Master
.............. \_ Modbus_RTU_Slave ...... périférique (API,...)
................................. \_ Modbus_RTU_Module ................ requette n°1
..................................\...................\_ ChanXi
..................................\...................\_ ChanXo
..................................\
..................................\_ Modbus_RTU_Module ................ requette n°2
......................................................\_ ChanXi
......................................................\_ ChanXo
....etc

/Ben
coco82
Code sa première boucle
Code sa première boucle
Messages : 13
Inscription : 27 nov. 2018, 20:24

Re: Proview : Modbus

Message par coco82 »

Bonsoir Benoit,

Je pense avoir respecté l'arborescence.Pour les timeout, je les ai effectivement augmentés (multipliés par 5), mais ce n'est peut-être pas assez...
J'ai aussi fait un Thread de 1s pour réduire le nombre de requêtes par seconde.

Pour debuguer, je m'étais lancé dans l'analyse des trames émises et reçues, avec un "sniffer" mais ce n'est pas donné au commun des mortels sous linux. Le manque de temps (problème des week-end à 2 jours :lol: ), je n'ai pas pû aller au bout.

Ci-dessous les liens des captures d'écrans:
arborescence
Master_RTU
Slave_RTU
Output
input
chainDO
chainDI

Jérôme
Avatar de l’utilisateur
ben44
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Inscription : 15 oct. 2017, 20:45

Re: Proview : Modbus

Message par ben44 »

Salut Jérome,
A priori je ne vois pas d'erreur sur ta conf.
J'ai trouvé un post sur les droits d'accès au port usb, on ne sait jamais...
https://www.leunen.com/linux/2012/11/au ... ntudebian/

Petit rappel sur le parametrages (attribut 'number') des objets Channel avec attribut 'representation' = Bit8.
ChanDI1....................number: 0
ChanDI2....................number: 1
...
ChanDI8....................number: 7
ChanDI9....................number: 0
ChanDI10..................number: 1
...
ChanDI16..................number: 7
ChanDI17..................number: 0
...etc
idem pour ChanDo

Bon courage.
/Ben
Avatar de l’utilisateur
ben44
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Inscription : 15 oct. 2017, 20:45

Re: Proview : Modbus

Message par ben44 »

coco82 a écrit : 10 déc. 2018, 22:36
Pour debuguer, je m'étais lancé dans l'analyse des trames émises et reçues, avec un "sniffer" mais ce n'est pas donné au commun des mortels sous linux. Le manque de temps (problème des week-end à 2 jours :lol: ), je n'ai pas pû aller au bout.

Jérôme
Bonsoir Jérome,
Je ne sais pas si cela peut t'aider mais je suis tombé par hazard sur un vieux post (forum Proview) concernant le sujets du réglage des TimeOut (en liaison série).
A priori (c'est peut-etre corrigé maintenant) Proview est très sensible aux réglages des TimeOut.
Ce post donne les réglages optimaux suivants:
Modbus_RTU_Master
> CharTimeout 0.005
> FrameTimeout 0.28
> ReceiveTimeout 0.9
rem: ThreadObject à 100ms

/Ben
coco82
Code sa première boucle
Code sa première boucle
Messages : 13
Inscription : 27 nov. 2018, 20:24

Re: Proview : Modbus

Message par coco82 »

Merci Ben, pour ces infos.

Je ferai des essais, demain soir ou ce week-end. Je te tiens au courant.

Pour le Thread de 100ms, je trouve que ça fait beaucoup de requêtes même s'il n'y a pas grand chose à transférer (14 DI et 10 DO).

Jérôme
coco82
Code sa première boucle
Code sa première boucle
Messages : 13
Inscription : 27 nov. 2018, 20:24

Re: Proview : Modbus

Message par coco82 »

Bon, ça ne marche pas mieux. Le thread de 100ms encore moins.

Par contre, j'ai pu analyser les trames sur le port série (USB), et il y a un problème côté Proview : il émet 2 fois la requête, et mon esclave ne répond pas. Par moment, il n'en emet qu'une seule, et là, l'esclave répond.

Je vais poster le problème sur le forum de Proview, pour essayer d'avoir une explication.

Jérôme
Avatar de l’utilisateur
ben44
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Inscription : 15 oct. 2017, 20:45

Re: Proview : Modbus

Message par ben44 »

Jérome,
en effet c'est bizard :|
je te conseille de poster sur le forum Proview sur la partie anglophone.
Tu auras rapidement une réponse de Claes qui est le leader de l'équipe de développement.
/Ben
Répondre