Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1

TOPIC: Modbus avec transmission de nombres flottants

Modbus avec transmission de nombres flottants 10 months 2 weeks ago #10424

  • brunad
  • brunad's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 225
  • Karma: 0
Bonjour à tous,

Fait suite au topic:

www.proview.se/v3/index.php/forum/3-help...511-modbus-rtu/10422

Mon cher Gilles,
La norme Modbus d'origine, telle que celle inventée par Modicon en 1975 ne porte que sur la transmission de variables numériques (registers) en format 16 bits de mode entier non signé (Mot, unsigned int).
Par une mise à l'échelle, on peut transmettre des nombres réels en virgule fixe.

Cependant, certains logiciels prennent en compte les entiers 32 bits (double mot) voire les nombres flottants 32 bits ou plus (par exemple PCVUE): je pense savoir faire cela dans ProviewR; on en a déjà parlé dans ce forum ...

Je ne l'ai pas encore testé personnellement; j'ai un système qui je crois marche avec des trames de flottants (conditionneur de sondes physico-chimiques de Endress & Hauser). Dès que je trouve un moment ... En attendant, je vais essayer de te concocter un exemple (bientôt, je suis malheureusement très pris).
A+

/Bruno
Last Edit: 10 months 2 weeks ago by brunad.
The administrator has disabled public write access.

Modbus avec transmission de nombres flottants 10 months 2 weeks ago #10425

  • brunad
  • brunad's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 225
  • Karma: 0
Début de réponse:

Dans la hiérarchie Node (colonne de droite), il faut déclarer en tant qu'enfant des objet modbus habituels une variable de type ChanAi ou ChanAo selon le sens de l'échange.
Je pense qu'en déclarant flottant 32 bits dans cet objet, cela fonctionne.
Il faudra cependant éventuellemnt penser au format Big ou Little Endian (sens des octets) pour une transposition.

Exemple de config d'un objet ChanAi pour extraire une valeur entre 0 et 100%:

float32.png


A+

/Bruno
The administrator has disabled public write access.

Modbus avec transmission de nombres flottants 10 months 2 weeks ago #10428

  • GILLES
  • GILLES's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 3
  • Karma: 0
Bonjour et merci.

Il y a quelque chose qui me perturbe :
Si j'envoi une requete de lecture vers le node => Ai ?
La trame m'est renvoyée sur le node => Ao ?

Ou alors l'inverse ?

Si je veux écrire une consigne vers le node => Ao ?

Voila j'espère que mes questions ne vous semblent pas saugrenues mais ce concept de channel m'échappe. Autant je comprends le buffer mais c'est la prog qui me bloque dans l'utilisation de RemTranSend et sa SubWindows


Et dans le plant je lie un objet signal Ai (en float 32) vers le node Ai pour l'envoi de demande de température idem pour la reception de la réponse sur un Ao dans le plant lié au Ao du node.

Je vais essayer tout cela et sans passer par la programmation mais en passant par le graff.

Je reviens vers vous dès qu'un résultat.

Merci

Bonne journée.

Gilles
The administrator has disabled public write access.
  • Page:
  • 1
Time to create page: 2.166 seconds