Description de la fonction

Lors d'un front montant sur l'entrée REQ, ce bloc fonction écrit le contenu d'une zone de registre de l'automate dans une zone de registre à partir d'une zone de registre d'un équipement connecté par Modbus Plus, Ethernet TCP/IP ou Ethernet SY/MAX.

Les paramètres supplémentaires EN et ENO peuvent être paramétrés.

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 WRITE_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, Guide de planification et planification (référence 31003525). 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 WRITE_REG_Instance (REQ:=StartWriteOnce, SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, REG_WRIT:=SourceDataArea, ADDRFLD:=DataStructureForTransfer, DONE=>SetAfterWritingData, ERROR=>SetInCaseOfError, STATUS=>ErrorCode)

Représentation en ST

Représentation :

WRITE_REG_Instance (REQ:=StartWriteOnce, SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, REG_WRIT:=SourceDataArea, ADDRFLD:=DataStructureForTransfer, DONE=>SetAfterWritingData, ERROR=>SetInCaseOfError, STATUS=>ErrorCode) ;

Description des paramètres

Description des paramètres d'entrée :

Paramètre

Type de données

Signification

REQ

BOOL

Lors d'un front montant sur l'entrée REQ, ce bloc fonction écrit le contenu d'une zone de registre de l'automate dans une zone de registre d'un équipement connecté par Modbus Plus, Ethernet TCP/IP ou Ethernet SY/MAX.

SLAVEREG

DINT

Adresse du premier registre %MW de l'esclave dans lequel écrire les données.

NO_REG

INT

Nombre d'adresses à écrire depuis l'esclave.

REG_WRIT

ANY

Champ de données source

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

ADDRFLD

WordArr5

Structure de données transférant 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

DONE

BOOL

Mis à 1 pendant un cycle après l'écriture des 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.

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.