Description de la fonction

En cas de front montant sur l'entrée REQ, ce bloc fonction lit une zone de registre d'un esclave adressé via Modbus Plus, Ethernet TCP/IP ou Ethernet SY/MAX.

Les blocs fonction CREAD_REG, CWRITE_REG, READ_REG, WRITE_REG et MBP_MSTR utilisent un chemin de transaction de données et requièrent plusieurs cycles pour effectuer une opération. Le nombre de chemins de transaction disponibles par module et par cycle MAST dépend du port de communication utilisé :

  • Les modules à port intégré Modbus Plus ou NOM prennent en charge jusqu'à 4 blocs simultanément.

  • Le port intégré Ethernet TCP/IP prend en charge jusqu'à 4 blocs simultanément.

  • Les modules TCP/IP Ethernet NOE, NOC et 140 CRP 312 00 prennent en charge jusqu'à 16 blocs simultanément.

D'autres blocs fonction de communication peuvent être programmés sur le même port de communication. Toutefois, le bloc de communication qui dépasse le nombre maximum sur ce port n'est traité qu'après la mise à disposition d'un des chemins de transaction. Le bloc suivant sur le port devient alors actif et commence à utiliser un chemin disponible.

NOTE : lorsque vous programmez une fonction READ_REG, vous devez connaître les procédures de routage utilisées par votre réseau. Les structures de routage Modbus Plus sont décrites en détail dans le manuel des architectures de communication et le document Réseau Modbus Plus Modicon, Guide de planification et planification. Si le routage Ethernet TCP/IP ou SY/MAX est mis en œuvre, vous devez utiliser des routeurs IP Ethernet standard.
NOTE : il est possible d'utiliser plusieurs copies de ce bloc fonction dans le programme. Il n'est cependant pas possible de procéder à une instanciation multiple de ces copies.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

Représentation en IL

Représentation :

CAL READ_REG_Instance (REQ:=StartReadOnce,
    SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters,
    ADDRFLD:=DataStructure, NDR=>SetAfterReadingNewData,
    ERROR=>SetInCaseOfError, REG_READ=>RegisterToRead,
    STATUS=>ErrorCode)

Représentation en ST

Représentation :

READ_REG_Instance (REQ:=StartReadOnce,
    SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters,
    ADDRFLD:=DataStructure, NDR=>SetAfterReadingNewData,
    ERROR=>SetInCaseOfError, REG_READ=>RegisterToRead,
    STATUS=>ErrorCode) ;

Description des paramètres

Description des paramètres d'entrée :

Paramètre

Type de données

Signification

REQ

BOOL,

En cas de front montant sur l'entrée REQ, ce bloc fonction lit une zone de registre d'un esclave adressé via Modbus Plus, Ethernet TCP/IP ou Ethernet SY/MAX.

SLAVEREG

DINT

Adresse du premier registre %MW à consulter sur l'esclave.

NO_REG

INT

Nombre d'adresses à lire depuis l'esclave.

ADDRFLD

WordArr5

Structure de données décrivant l'adresse Modbus Plus, l'adresse TCP/IP ou l'adresse SY/MAX-IP

Description des paramètres de sortie :

Paramètre

Type de données

Signification

NDR

BOOL

Mis à 1 pendant un cycle après la lecture des nouvelles données.

ERROR

BOOL

Mis à 1 pendant un cycle si une erreur apparaît

STATUS

WORD,

Si une erreur se produit lors de l'exécution de la fonction, un code d'erreur apparaît pendant un cycle au niveau de cette sortie.

REG_READ

ANY

Ecriture de données

(Une structure de données doit être déclarée en tant que variable localisée pour le fichier à lire.)

Erreur d'exécution

Pour obtenir la liste de l'ensemble des valeurs et codes d'erreur de bloc, consultez le tableau des codes d'erreur..