Skip to main content

Bloc fonctionnel : ModbusRequest

Bibliothèque: IoDrvModbusTCP

En plus des commandes Modbus prédéfinies définies sur le Canal serveur Modbus Ce bloc fonctionnel permet d'exécuter dynamiquement des commandes supplémentaires dans l'application. Cependant, ces commandes, créées par programmation, ne comportent pas de mappage d'E/S, mais uniquement des plages de données d'entrée/sortie de type. ARRAY OF BYTE ou ARRAY OF WORD.

Tableau 13. Entrées (VAR_INPUT)

Nom

Type de données

Valeur initiale

Description

Slave

ModbusTCPSlave

xExecute

BOOL

Front montant : L'action commence.

Front descendant : Les sorties sont réinitialisées lorsqu'un front descendant survient avant la fin de l'action du bloc fonctionnel. Les sorties se comportent normalement et ne sont réinitialisées que si l'action est terminée ou interrompue.xAbort), ou si une erreur s'est produite. Dans ce cas, les valeurs de sortie correspondantes (xDone, xError, iError ) existent aux sorties pendant exactement un cycle.

xAbort

BOOL

TRUE: L'action est immédiatement interrompue et toutes les sorties sont réinitialisées à leurs valeurs initiales.

usiUnitID

UINT

16#FF

L'ID d'unité est uniquement utilisé pour la transmission (passerelle) vers un bus série Modbus.

Pour TCP/IP, le serveur MODBUS est adressé via l'adresse IP. Dans ce cas, l'ID d'unité MODBUS n'est pas utilisé (la valeur 0xFF doit être utilisée).

Pour une connexion série, les périphériques Modbus sont adressés avec des ID d'unité de 1 à 247 (0 est utilisé pour les adresses de diffusion).

ModbusCommand

ModbusCommand

Commande Modbus à exécuter. Les blocs fonctionnels d'accès aux bits et aux mots sont pris en charge.

pSendData

POINTER TO BYTE

Pointeur vers un tampon contenant des données qui sont envoyées au serveur.

Pour l'accès au registre, le tampon est de type Array[0..ModbusCommand.uiWriteLen - 1] OF WORD. Pour l'accès aux bits, le tampon est de type ARRAY[0..ModbusCommand.uiWriteLen / 8] OF BYTE.

pRecvData

POINTER TO BYTE

Pointeur vers un tampon où les données reçues par le serveur sont écrites.

Pour l'accès au registre, le tampon est de type ARRAY[0..ModbusCommand.uiReadLen - 1] OF WORD. Pour l'accès aux bits, le tampon est de type ARRAY[0..ModbusCommand.uiReadLen / 8] OF BYTE.



Tableau 14. Sorties (VAR_OUTPUT)

Nom

Type de données

Valeur initiale

Description

xDone

BOOL

FALSE

TRUE si une demande a été terminée avec succès

xBusy

BOOL

FALSE

TRUE pendant que la demande est en cours de traitement

xError

BOOL

FALSE

TRUE si une demande s'est terminée avec des erreurs

xAborted

BOOL

FALSE

TRUE lorsque la demande a été abandonnée par l'utilisateur

ModbusError

MB_ErrorCodes

Erreur actuelle ; définie dans le MB_ErrorCodes énumération.