Écrire des données vers l’esclave ou lire des données de l’esclave
Utilisez cette instruction pour écrire des données d’un maitre vers un esclave ou pour lire les données d’un esclave via le port de communication avec le protocole Modbus RTU, selon les paramètres définis dans les registres système du port utilisé. Le maître et l’esclave doivent être définis avec le même protocole.
Entrée
Indique les ports de communication (selon le type d’API) :
Port COM, par ex. SYS_COM0_PORT
Port Ethernet, par ex. SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU, par ex. 16#xx01 (xx = numéro du connecteur) dans COM01
Numéro de station de l’esclave
Pour FP7 uniquement :
Codes fonction 05, 06, 15, 16 : 0–247
Avec un module de communication série (SCU) et lorsque "0" est spécifié pour le numéro de station esclave, un transfert global est exécuté. Dans ce cas, il n’y a pas de message réponse de la station esclave.
Codes fonction 01, 02, 03, 04 : 1-247
Pour les autres automates :
Codes fonction 05, 06, 15, 16 : 0–99
Lorsque "0" est spécifié pour le numéro de station esclave, un transfert global est exécuté. Dans ce cas, il n’y a pas de message réponse de la station esclave.
Codes fonction 01, 02, 03, 04 : 1-99
Défini sur 1, si SYS_ETHERNET_USER_CONNECTION_xx est appliquée à l’entrée Port
SYS_MODBUS_03_READ_HOLDING_REGISTER
Adresse de départ (0–65535). Le type d’adresse dépend de la commande spécifiée par FunctionCode*.
Nombre de bits ou de mots de transmission.
1 pour les codes fonction 05, 06
1–2040 pour les codes fonction 01, 02
2–2040 pour le code fonction 15
1–127 pour les codes fonction 03, 04
2–127 pour le code fonction 16
Adresse source sur le maître pour les données à écrire vers l’esclave.
Sortie
Pour FP7 uniquement : Vous trouverez une description de tous les codes d’erreur dans le tableau des codes d’erreur de communication Modbus/MEWTOCOL.
Pour les autres automates : défini sur 0
Envoi en cours : Drapeau d’envoi de la communication maître est TRUE
Envoi terminé : Drapeau d’envoi de la communication maître est FALSE
Exécution terminée normalement : FALSE
Exécution terminée anormalement : TRUE
Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Dans le cas particulier où l’esclave connecté est un automate Panasonic configuré en tant qu’esclave Modbus RTU via le registre système, un ou plusieurs bits sont lus à partir de :
Y (Sortie)
R (Drapeaux internes)
Exécution de la commande Modbus 01 : lecture d’1 bit à partir d’un esclave Modbus à partir du registre de départ 56 défini par la variable StartRegister. Ce bit est ensuite sauvegardé dans le maître à partir de l’adresse définie par la variable bBool2. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, le registre de départ 56 correspond à la sortie Y38 (3*16+8=56).
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Dans le cas particulier où l’esclave connecté est un automate Panasonic configuré en tant qu’esclave Modbus RTU via le registre système, un ou plusieurs bits sont lus à partir de :
Exécution de la commande Modbus 02 : lecture d’1 bit à partir d’un esclave Modbus à partir du registre de départ 66 défini par la variable StartRegister. Ce bit est ensuite sauvegardé dans le maître à partir de l’adresse définie par la variable bBool2. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, le registre de départ 66 correspond à l’entrée X42 (4*16+2=66).
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Dans le cas particulier où l’esclave connecté est un automate Panasonic configuré en tant qu’esclave Modbus RTU via le registre système, un ou plusieurs bits sont lus à partir de :
Exécution de la commande Modbus 03 : lecture de 2 mots à partir d’un esclave Modbus à partir du registre de départ 100 défini par la variable StartRegister. Ces 2 mots sont ensuite sauvegardés dans le maître Modbus 2 à partir de l’adresse définie par la variable rCount2. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, le registre de départ 100 correspond au registre de données DT100.
Nombre maximum de registres : 127
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Dans le cas particulier où l’esclave connecté est un automate Panasonic configuré en tant qu’esclave Modbus RTU via le registre système, un ou plusieurs bits sont lus à partir de :
WL0–WL127 (Drapeaux de liaison)
LD0–LD256 (Registres de liaison)
Exécution de la commande Modbus 04 : lecture de 7 mots à partir d’un esclave Modbus à partir du registre de départ 2018 défini par la variable StartRegister. Les 7 mots sont ensuite sauvegardés dans le maître à partir de LD25 défini par la variable MasterData. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, le registre de départ 2018 correspond au registre de liaison LD18.
Nombre maximum de registres : 127
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Si l’esclave connecté est un automate Panasonic en mode Modbus RTU, un ou plusieurs bits sont écrits dans :
Y (Sortie)
R (Drapeaux internes)
Exécution de la commande Modbus 05 : écriture d’1 bit dans un esclave Modbus à partir de l’adresse WY1 définie par la variable MasterData. Ce bit est ensuite sauvegardé dans un esclave Modbus à partir du registre de départ 35 défini par la variable StartRegister. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, l’adresse 35 correspond à la sortie Y23 (2*16+3=35).
Lorsque plusieurs bits sont écrits, utilisez la constante SYS_MODBUS_15_FORCE_COILS
Nombre maximum de registres : 1
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Si l’esclave connecté est un automate Panasonic en mode Modbus RTU, un ou plusieurs bits sont écrits dans :
Exécution de la commande Modbus 06 : écriture d’1 mot dans un esclave Modbus à partir de l’adresse DT14 définie par la variable MasterData. Ce mot est ensuite sauvegardé dans l’esclave Modbus à partir du registre de départ 21 défini par la variable StartRegister. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, le registre de départ 21 correspond au registre de données DT21.
Lorsque plusieurs bits sont écrits, utilisez la constante SYS_MODBUS_15_FORCE_COILS
Nombre maximum de registres : 1
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Si l’esclave connecté est un automate Panasonic en mode Modbus RTU, un ou plusieurs bits sont écrits dans :
Y (Sortie)
R (Drapeaux internes)
Exécution de la commande Modbus 15 : écriture de 64 bits dans un esclave Modbus à partir de l’adresse WY1 définie par la variable MasterData. Les 64 bits sont ensuite sauvegardés dans l’esclave Modbus à partir du registre de départ 48 défini par la variable StartRegister. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, l’adresse 48 correspond à la sortie Y30 (3*16=48).
Lorsque vous affectez cette constante au paramètre d’entrée FunctionCode*, la commande Modbus correspondante est exécutée.
Si l’esclave connecté est un automate Panasonic en mode Modbus RTU, un ou plusieurs bits sont écrits dans :
Exécution de la commande Modbus 16 : écriture de données dans un esclave Modbus à partir de l’adresse définie par la variable rCount1. Ces données sont ensuite sauvegardées dans l’esclave Modbus 2 à partir du registre de départ 100 défini par la variable StartRegister. L’adresse de l’esclave est convertie en une adresse spécifique au dispositif en fonction des caractéristiques Modbus du dispositif.
Si l’esclave connecté est un automate Panasonic, le registre de départ 100 correspond au registre de données DT100.
Nombre maximum de registres : 127