La version V1.1 d' EcoStruxure Machine Expert ne prend pas en charge les contrôleurs M258, LMC058 et LMC078.

ADDM : convertir une chaîne en adresse

Description de la fonction

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.

Représentation graphique

G-RU-0010453.2.gif-high.gif

 

 

Description des paramètres spécifiques du bloc fonction ADDM

Entrée/Sortie

Type

Commentaire

AddrTable

ADDRESS

Structure ADDRESS à créer par le bloc fonction.

Entrée

Type

Commentaire

Execute

BOOL

Exécute la fonction lors du front montant.

Addr

STRING

Adresse de type STRING à convertir en type ADDRESS (voir détails ci-dessous).

Sortie

Type

Commentaire

Done

BOOL

Done prend la valeur TRUE lorsque la fonction est exécutée correctement.

NOTE : En cas d'annulation de l'opération avec l'entrée Abort, le paramètre Done n'est pas défini sur 1 (Aborted uniquement).

Error

BOOL

Error est défini sur TRUE lorsque la fonction s'arrête suite à la détection d'une erreur. Lorsqu'une erreur est détectée, CommError et OperError permettent d'obtenir des informations sur celle-ci.

CommError

BYTE

CommErrorLe paramètre contient lescodes des erreurs de communication.

NOTE : Un front montant sur l'entrée 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 ExecuteFALSE avec la valeur pour pouvoir détecter le front montant suivant.

Warning_Color.gifAVERTISSEMENT

FONCTIONNEMENT IMPRÉVU DE L'ÉQUIPEMENT

Effectuez toujours le premier appel d'un bloc fonction avec son entrée Execute définie sur FALSE afin que le front montant suivant soit détecté.

Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels.

Chaîne Addr pour le format d'adresse ASCII

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 libre 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

_Type

BYTE

Réservée

Non utilisé

_CliID

BYTE

Réservée

Non utilisé

Rack

BYTE

Numéro de rack (toujours 0)

0

Module

BYTE

Numéro de module (toujours 0)

0

Link

LinkNumber

<communication port number>

2

_ProtId

BYTE

Non utilisé

Non utilisé

AddrLen

BYTE

0

0

UnitId

BYTE

Non utilisé

Non utilisé

AddrExt

ADDR_EXT

Non utilisé

Non utilisé

Addr STRING pour le format d'adresse Modbus TCP

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>}'

NOTE : Un esclave Modbus TCP standard utilise l'adresse Modbus 255 (la valeur 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 de l'esclave Modbus TCP 192.168.1.2 avec le port TCP 502 standard, 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

_Type

BYTE

Réservée

Non utilisé

_CliID

BYTE

Réservée

Non utilisé

Rack

BYTE

Numéro de rack

0

Module

BYTE

Numéro de module

0

Link

LinkNumber

<communication port number>

3

_ProtId

BYTE

0 pour Modbus

0

AddrLen

BYTE

UnitID + AdrExtLongueur des paramètres en octets

7

UnitId

BYTE

Adresse Modbus (255 par défaut)

255

AddrExt

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 :

G-SE-0002317.1.gif-high.gif

 

 

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 de l'esclave Modbus série par le biais d'une passerelle Ethernet/Ligne série à l'adresse IP 192.168.1.2 avec 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

_Type

BYTE

Réservée

Non utilisé

_CliID

BYTE

Réservée

Non utilisé

Rack

BYTE

Numéro de rack

0

Module

BYTE

Numéro de module

0

Link

LinkNumber

<communication port number>

3

_ProtId

BYTE

0 pour Modbus

0

AddrLen

BYTE

UnitID + AdrExtLongueur des paramètres en octets

7

UnitId

BYTE

<Adresse de l'esclave>

5

AddrExt

TCP_ADDR_EXT

A

192

B

168

C

1

D

2

Numéro de port TCP (par défaut = 502)

502

Exemple

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.

G-SE-0005664.2.gif-high.gif