Définition du paramètre MbusCmd
Le paramètre MbusCmd
représente
la commande Modbus.
Le paramètre MbusCmd
est constitué d’un tableau de 4 registres tel que présenté
ci-dessous :
Contenu |
Description |
Description |
---|---|---|
MbusCmd[1] |
Adresse esclave |
Ce mot contient l'adresse de l'automate Modbus esclave. La plage des adresses admissibles est de 0 à 248. L’adresse 0 est réservée pour envoyer un message Modbus à plusieurs automates. Ce type de transmission est appelé mode diffusion. Le mode diffusion prend uniquement en charge les codes de fonction Modbus écrivant des données de l'automate maître vers des automates esclaves. Il ne prend pas en charge les codes de fonction Modbus lisant des données des automates esclaves. L’adresse 248 est réservée à la communication point à point quand l’adresse de l’esclave n’est pas connue. Cette adresse n’est pas supportée par tous les équipements. |
MbusCmd[2] |
Code fonction Modbus |
Le bloc
Note : quand l’automate esclave est de type Premium, tous les bits deviennent des %M et les registres deviennent des %MW. |
MbusCmd[3] |
Zone de données de l'automate esclave |
Pour une commande de lecture, la zone de données de l'automate esclave est la source des données. Pour une commande d'écriture, la zone de données de l'automate esclave est la destination des données. Par exemple :
Selon le type de commande Modbus (lecture ou écriture), les zones de données source et cible doivent être conformes à celles du tableau ci-après. |
MbusCmd[4] |
Quantité |
Ce registre contient la quantité de données à écrire ou à lire dans l'automate esclave. Par exemple, entrez 100 pour lire 100 registres de sortie dans l'automate esclave ou entrez 32 pour écrire 32 bits de sortie dans un automate esclave. Il existe une taille limite, qui dépend du code fonction Modbus utilisé et du mode de transmission (RTU ou ASCII). Ces valeurs limites de MbusCmd[4] sont détaillées dans le tableau ci-après. Cette taille est non significative pour les codes fonctions 5 et 6. Note : la zone mémoire est limitée en fonction de l’équipement et du paramétrage de l’esclave |
MbusCmd[3]
Le tableau ci-dessous présente la zone de données de l’automate esclave pour MbusCmd[3]. Cette zone de données dépend du code fonction Modbus utilisé et du type d’automate esclave :
Code fonction |
Zone de données pour équipement standard Modbus |
Zone de données pour automate Premium |
---|---|---|
01 (lecture de plusieurs bits de sortie (0x)) |
0x (source) |
%M (source) |
02 (lecture de plusieurs bits d'entrée (1x)) |
1x (source) |
%M (source) |
03 (lecture de plusieurs registres de sortie (4x)) |
4x (source) |
%MW (source) |
04 (lecture de plusieurs registres d'entrée (3x)) |
3x (source) |
%MW (source) |
05 (écriture d'un seul bit de sortie (0x)) |
0x (destination) |
%M (destination) |
06 (écriture d'un seul registre de sortie (4x)) |
4x (destination) |
%MW (destination) |
15 (écriture de plusieurs bits de sortie (0x)) |
0x (destination) |
%M (destination) |
16 (écriture de plusieurs registres de sortie (4x)). |
4x (destination) |
%MW (destination) |
MbusCmd[4]
Le tableau ci-dessous présente la valeur limite de MbusCmd[4]. Cette valeur dépend du code fonction Modbus utilisé et du mode de transmission :
Code fonction |
Mode RTU (8 bits) |
Mode ASCII (7 bits) |
---|---|---|
01 (lecture de plusieurs bits de sortie (0x)) |
1000 |
500 |
02 (lecture de plusieurs bits d'entrée (1x)) |
1000 |
500 |
03 (lecture de plusieurs registres de sortie (4x)) |
100 |
50 |
04 (lecture de plusieurs registres d'entrée (3x)) |
100 |
50 |
05 (écriture d'un seul bit de sortie (0x)) |
1 |
1 |
06 (écriture d'un seul registre de sortie (4x)) |
1 |
1 |
15 (écriture de plusieurs bits de sortie (0x)) |
1000 |
500 |
16 (écriture de plusieurs registres de sortie (4x)). |
100 |
50 |