Welcome, Guest
Username: Password: Remember me

TOPIC: Proview youtube channel for beginners

Proview youtube channel for beginners 6 years 4 months ago #9371

  • brunad
  • brunad's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 247
  • Thank you received: 48
  • Karma: 11
Phénoménal mon cher Ben :silly: :huh:
Félicitation, merci pour le Taf !

/Bruno
The administrator has disabled public write access.
The following user(s) said Thank You: benoit

Proview youtube channel for beginners 6 years 4 months ago #9373

  • marc
  • marc's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 710
  • Thank you received: 70
  • Karma: 24
Hi Ben,

J'apprécie vraiment vos vidéos. Très professionnel. Merci d'avoir partagé!

No problem following your videos in French.
Take care and with greetings from Google Translate as well. :whistle:

Thanks!

/Marc
Please, use the Wiki if you succeeded your project or solved your problem. Share your work, so we can learn from each other.
The administrator has disabled public write access.
The following user(s) said Thank You: benoit

Proview youtube channel for beginners 6 years 4 months ago #9376

  • benoit
  • benoit's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 180
  • Thank you received: 1
  • Karma: 0
Thanks Claes to have update the Documentation page with the new tutorial ;)
/Ben
The administrator has disabled public write access.

Proview youtube channel for beginners 6 years 1 month ago #9618

  • benoit
  • benoit's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 180
  • Thank you received: 1
  • Karma: 0
Hi Claes,
I prepare a new additional tutorial about the Modbus tcp/ip programming (with analog device) and I plan to describe the basic process for tables addressing especially for FC02 and FC03.
But I don't want to make a mistakes and I prefer you validate my explanations. ;)

FC02 (see FC02.pdf): if I have understood the Proview documentation, FC02 allow us to access to the 2000 contiguous bits beggining to '1x0001' address (according to Modbus standard) with 'address' attribute set to '0'. To read this bits, we use a 'ChanDi' objects (with Bit8 representation) and we have:
> ChanDi#1 (number: 0) read the Bit0 from the 1x0001/word1
> ChanDi#2 (number: 1) read the Bit1 from the 1x0001/word1
> ... etc
> ChanDi#17 (number: 16) read the Bit0 from the 1x0002/word2
> ChanDi#18 (numbre: 17) read the Bit1 from the 1x0002/word2
> ... etc

Is it correct ?

FC03 (see FC03.pdf):
For Bit access (with ChanDi object), is it the same process like FC02?

Thanks a lot for your help.
/Ben
Attachments:
The administrator has disabled public write access.

Proview youtube channel for beginners 6 years 1 month ago #9619

  • brunad
  • brunad's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 247
  • Thank you received: 48
  • Karma: 11
Bj Benoît.
Pour ma part j'utilise UInt16 pour les words (grandeurs analogiques) avec mise à l'échelle dans l'objet ChanAo ou ChanAi, exemple:

Ain.png


Et Bit8 pour les infos TOR.

Il faut positionner la variable Number qui représente l'offset à ajouter à l'adresse de base de chaque Modbus_Module

/Bruno
Last Edit: 6 years 1 month ago by brunad.
The administrator has disabled public write access.

Proview youtube channel for beginners 6 years 1 month ago #9620

  • benoit
  • benoit's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 180
  • Thank you received: 1
  • Karma: 0
For English version, please use Google Traduction ;)

Salut Bruno,
merci pour ta réponse.
Si je comprends bien je me suis trompé dans la signification de l'attribut 'address' de l'objet Modbus_Module ?

Donc, si par exemple je veux lire la table 4x (FC03) à partir de l'adresse 1000, je dois mettre dans l'attribut 'address' de l'objet Modbus_Module la valeur '0' et dans l'attribut 'number' du premier objet ChanAi la valeur 1000, puis '1001' dans le ChanAi suivant,...etc?

Dans ce cas, à quoi sert l'attribut 'address' de l'objet Modbus_Module?

En lisant la doc (man_iog.pdf) j'avais compris le principe d'adressage de la façon suivante:

> dans l'objet 'Modbus_Module', le choix de la function code définissait la table d'échange à adresser, 0x,1x,3x ou 4x et le sens lecture/écriture

> dans l'objet 'Modbus_Module', l'attribut 'address' définissait la première adresse (offset) dans la table d'échange définie précédemment (si '0' pas d'offset),

> dans les objets Channels, l'attribut 'number' correspondait à l'emplacement à partir de l'adresse de l'objet 'Modbus_Module', exemple:

ChanAi1 : 4x0001 (FC03 - 4x0001) + adresse (0) + number (0) = 4x0001
ChanAi2 : 4x0001 (FC03 - 4x0001) + adresse (0) + number (1) = 4x0002
ChanAi3 : 4x0001 (FC03 - 4x0001) + adresse (0) + number (2) = 4x0003
...etc

Si maintenant je veux lire la même table mais à partir de l'adresse 1000 (je mets 1000 en attribut address de l'objet Modbus_Module), cela donne:

ChanAi1 : 4x0001 (FC03 - 4x0001) + adresse (1000) + number (0) = 4x1001
ChanAi2 : 4x0001 (FC03 - 4x0001) + adresse (1000) + number (1) = 4x1002
...etc

Est-ce que cela est exacte ou bien je me trompe sur le principe?

Je souhaitais expliquer le principe d'adressage dans mon prochain tuto car ce n'est pas forcément évident pour un débutant.
Merci pour ton aide. ;)
/Ben
The administrator has disabled public write access.
Time to create page: 8.649 seconds