Description de la fonction
Le bloc CWRITE_REG écrit en continu des données dans une zone de registre, en transférant les données de l'automate vers un esclave adressé via TCP/IP Ethernet.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
NOTE : A propos de ce bloc fonction :
-
Pour programmer cette fonction, vous devez connaître les procédures de routage utilisées sur votre réseau.
-
Pour des raisons techniques, ce bloc fonction ne permet pas l'utilisation des langages de programmation ST et IL.
Représentation du bloc :
Description des paramètres
Description des paramètres :
Paramètre
|
Type de données
|
Signification
|
SLAVEREG
|
DINT
|
Adresse de décalage du premier mot %MW (registre 4x) de l'esclave sur lequel écrire.
|
NO_REG
|
INT
|
Nombre de registres à écrire sur l'esclave
|
REG_WRIT
|
WORD
|
Premier mot %MW (registre 4x) de la zone de données source
|
AddrFld
|
WordArr5
|
Structure de données pour le transfert de l'adresse TCP/IP
|
STATUS
|
WORD
|
Code d'erreur MBP_MSTR
|
Description élémentaire de WordArr5 sur Ethernet TCP/IP
Description élémentaire de WordArr5 sur Ethernet TCP/IP :
Elément
|
Type de données
|
Signification
|
WordArr5[1]
|
WORD
|
Octet de poids faible : index de mappage MBP sur Ethernet Transporter (MET)
Octet de poids fort : emplacements du module NOE
|
WordArr5[2]
|
WORD
|
Octet 4 (octet de poids fort) de l'adresse IP cible 32 bits
|
WordArr5[3]
|
WORD
|
Octet 3 de l'adresse IP cible 32 bits
|
WordArr5[4]
|
WORD
|
Octet 2 de l'adresse IP cible 32 bits
|
WordArr5[5]
|
WORD
|
Octet 1 (octet de poids faible) de l'adresse IP cible 32 bits
|
Mode du bloc fonction CWRITE_REG
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.
Si plusieurs blocs fonction CWRITE_REG sont utilisés dans une application, ils doivent se différencier entre eux au moins par les valeurs des paramètres NO_REG ou REG_WRITE.
NOTE : Une communication TCP/IP entre un automate Quantum (NOE 771xx) et un automate Momentum (toutes les UC TCP/IP et tous les modules d'E/S TCP/IP) n'est possible que si une seule tâche de lecture ou d'écriture est effectuée dans chaque cycle. Si plusieurs tâches sont envoyées par cycle d'automate, la communication est interrompue sans générer de message d'erreur dans le registre d'état du bloc fonction.
L'ensemble des informations de routage sont contenues dans la structure de données WordArr5 de l'entrée AddrFld. Le type de bloc fonction relié à cette entrée (et donc le contenu de la structure de données) dépend du réseau utilisé.
Veuillez utiliser :
NOTE : Pour les experts : vous pouvez également utiliser la structure de données WordArr5 avec des constantes.
NOTE : Ce bloc fonction génère une lourde charge sur le réseau. Il est donc conseillé de surveiller avec attention la charge réseau. Si le réseau est surchargé, le programme doit être restructuré de façon à utiliser le bloc fonction WRITE_REG, une variante du présent bloc fonction, qui fonctionne sur demande et non en mode continu.
SLAVEREG est le début de la zone de l'esclave adressé où sont écrites les données source. La zone cible réside toujours dans la zone du mot %MW (registre 4x). SLAVEREG attend l'adresse cible en tant que décalage dans cette zone. Dans les registres 4x, le 4 placé au début doit être omis. Par exemple, 59 (contenu des variables ou valeur littérale) = 40059.
Le paramètre peut être défini en tant qu'adresse directe, variable localisée, variable non localisée ou valeur littérale.
NO_REG est le nombre de registres à écrire sur le processeur esclave (1 à 100). Le paramètre peut être défini en tant qu'adresse directe, variable localisée, variable non localisée ou valeur littérale.
Code d'erreur, voir les erreurs d'exécution.
Le paramètre STATUS peut être défini en tant qu'adresse directe, variable localisée ou variable non localisée.
Le paramètre du mot REG_WRIT adresse le premier registre d'une série de registres NO_REG successifs qui sont utilisés comme zone de données source.
Le paramètre doit être entré en tant qu'adresse directe ou variable localisée.