ADDM
: Conversion d'une chaîne en adresse
Le bloc fonction ADDM
convertit une adresse cible représentée sous la forme d'une chaîne, en une structure ADDRESS. Vous pouvez utiliser cette structure ADDRESS comme une entrée dans un bloc fonction de communication.
ADDM
Entrée/Sortie |
Type |
Commentaire |
---|---|---|
|
ADDRESS |
Structure ADDRESS à créer par le bloc fonction. |
Entrée |
Type |
Commentaire |
---|---|---|
|
BOOL |
Exécute la fonction lors du front montant. |
|
STRING |
Adresse de type STRING à convertir en type ADDRESS (voir détails ci-dessous). |
Sortie |
Type |
Commentaire |
---|---|---|
|
BOOL |
NOTE : En cas d'abandon de l'opération avec l'entrée Abort, Done n'est pas défini sur 1 (
Aborted uniquement).
|
|
BOOL |
|
|
BYTE |
|
Execute
lance la conversion et renvoie une mise à jour instantanée de AddrTable
. Cependant, si une erreur est détectée (c'est-à-dire que la chaîne Addr
est incorrecte), le paramètre AddrTable
conserve la dernière valeur.
Les blocs fonction nécessitent un front montant pour être déclenchés. Le bloc fonction doit d'abord visualiser l'entrée Execute
FALSE
avec la valeur pour pouvoir détecter le front montant suivant.
AVERTISSEMENT | |
---|---|
Pour l'adressage ASCII, seul le numéro du port de communication est nécessaire :
'<communication port number>'
Par exemple, utilisez la chaîne '2'
pour envoyer un message défini par l'utilisateur sur la ligne série 2.
Le tableau suivant décrit les champs dans la sortie ADDM pour le format d'adresse ASCII :
Champ |
Type |
Valeur |
Exemple |
---|---|---|---|
|
BYTE |
Réservé |
Inutilisé |
|
BYTE |
Réservé |
Inutilisé |
|
BYTE |
Numéro de rack (toujours 0) |
0 |
|
BYTE |
Numéro de module (toujours 0) |
0 |
|
|
2 |
|
|
BYTE |
Inutilisé |
Inutilisé |
|
BYTE |
0 |
0 |
|
BYTE |
Inutilisé |
Inutilisé |
|
ADDR_EXT |
Inutilisé |
Inutilisé |
Adresse d'un esclave Modbus TCP standard
Pour le format d'adresse d'un esclave Modbus TCP standard, le numéro du port de communication (3 pour le port Ethernet intégré) et l'adresse IP cible sont nécessaires :
'<communication port number>{<IP address>}'
UnitId
par défaut). Cependant, la valeur d’un équipement Modbus TCP peut varier (par exemple, un TeSys utilise l'adresse Modbus 1). Dans ce cas, ajoutez la valeur UnitId
:
'<communication port number>{<IP address>}<UnitId>'
Le port TCP 502 est utilisé par défaut. Vous pouvez utiliser un port non standard en ajoutant son numéro à l'adresse IP :
'<communication port number>{<IP address>:<port>}'
Par exemple, pour envoyer un message à l'adresse IP d'esclave Modbus TCP 192.168.1.2 à l'aide du port TCP standard 502, utilisez la chaîne suivante : '3{192.168.1.2}'
La fonction ADDM
remplit l'entrée/sortie AddrTable
avec les valeurs suivantes :
Champ |
Type |
Valeur |
Exemple |
---|---|---|---|
|
BYTE |
Réservé |
Inutilisé |
|
BYTE |
Réservé |
Inutilisé |
|
BYTE |
Numéro de rack |
0 |
|
BYTE |
Numéro de module |
0 |
|
|
3 |
|
|
BYTE |
0 pour Modbus |
0 |
|
BYTE |
|
7 |
|
BYTE |
Adresse Modbus (255 par défaut) |
255 |
|
TCP_ADDR_EXT |
A |
192 |
B |
168 |
||
C |
1 |
||
D |
2 |
||
<port> (par défaut = 502) |
502 |
Adresse d'un esclave Modbus série par le biais d'une passerelle Ethernet/Ligne série
Vous pouvez également adresser un esclave Modbus par le biais d'une passerelle Ethernet/Ligne série :
La requête inclut le numéro du port de communication, l'adresse IP de la passerelle avec ou sans port TCP et l'adresse de l'esclave Modbus série (paramètre UnitId) :
'<communication port number>{<IP address>}<slave address>'
Par exemple, pour envoyer un message à l'adresse 5 d'esclave Modbus série par le biais d'une passerelle Ethernet/ligne série à l'adresse IP 192.168.1.2 via le port TCP 502 standard, utilisez la chaîne suivante : '3{192.168.1.2}5'
La fonction ADDM
remplit l'entrée/sortie AddrTable
avec les valeurs suivantes :
Champ |
Taille |
Valeur |
Exemple |
---|---|---|---|
|
BYTE |
Réservé |
Inutilisé |
|
BYTE |
Réservé |
Inutilisé |
|
BYTE |
Numéro de rack |
0 |
|
BYTE |
Numéro de module |
0 |
|
|
3 |
|
|
BYTE |
0 pour Modbus |
0 |
|
BYTE |
|
7 |
|
BYTE |
<Adresse de l'esclave> |
5 |
|
TCP_ADDR_EXT |
A |
192 |
B |
168 |
||
C |
1 |
||
D |
2 |
||
Numéro de port TCP (par défaut = 502) |
502 |
Cet exemple montre l’implémentation du bloc fonction ADDM
en association avec le bloc fonction SINGLE_WRITE
. Le bloc fonction ADDM
convertit l’objet STRING '1.8' en variable stSlave8OnSL1
de type ADDRESS
. Si la conversion est correctement effectuée, l’entrée Execute
du bloc fonction suivant SINGLE_WRITE
est déclenchée.