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