Description
Le programme ci-dessous est une petite application de démonstration, qui permet de basculer facilement entre les quatre fonctions principales du bloc XMIT :
Sortie de message ASCII (0)
Entrée ASCII simple (1)
Entrée ASCII terminée (2)
Maître Modbus (3)
Pour sélectionner la fonction, entrez le numéro approprié dans la variable ModeSelection. Un signal montant sur X_Trigger active le bloc XMIT en réglant la variable Start sur 1. Start reste à 1 jusqu'à l'exécution de la fonction ou l'apparition d'une erreur.
Section CEI
Sélection des données de configuration

Bloc fonction XMIT

Maintient Start activé jusqu'à la fin de l'exécution de la commande ou l'apparition d'une erreur

Déclaration de variables
Les tableaux suivants montrent les variables utilisées dans cet exemple.
Tableau de variables
Nom de variable |
Type de données |
Adresse |
Description |
---|---|---|---|
Start |
|
Doit rester activée jusqu'à la fin de l'exécution du bloc XMIT. |
|
Abort |
|
Abandonne l'opération XMIT. |
|
opActive |
|
Indique l'état du bloc XMIT. |
|
opError |
|
Indique l'état du bloc XMIT. |
|
opDone |
|
Indique l'état du bloc XMIT. |
|
Port |
|
Sélectionnez le port 1 ou 2. |
|
DirectMessageOut |
WordArr256 |
400257 |
Données de configuration réelles ou données à transmettre. |
DirectXmitSet |
XMIT_SET |
400513 |
Données de configuration réelles. |
DirectMessageIn |
WordArr256 |
400001 |
Données reçues par les fonctions d'entrée ASCII. |
DirectXmitConfig |
XMIT_CFG |
400523 |
Données de configuration réelles. |
X_Trigger |
|
Déclenche la fonction XMIT. |
|
ModeSelection |
|
Sélectionnez la fonction demandée (0 à 3). |
|
Message AsciiOut |
WordArr256 |
Message à transmettre par la sortie ASCII. |
|
MessageSimpleAsciiIn |
WordArr256 |
(Aucun contenu requis) |
|
MessageTermAsciiIn |
WordArr256 |
Données de configuration pour l'entrée ASCII terminée. |
|
MessageModbus |
WordArr256 |
Données de configuration pour Modbus. |
|
XmitSetForAsciiOut |
XMIT_SET |
Données de configuration pour la sortie ASCII. |
|
XmitSetForSimpleAsciiIn |
XMIT_SET |
Données de configuration pour l'entrée ASCII simple. |
|
XmitSetForTermAsciiIn |
XMIT_SET |
Données de configuration pour l'entrée ASCII terminée. |
|
XmitSetForModbus |
XMIT_SET |
Données de configuration pour Modbus. |
Valeurs initiales
Ci-dessous sont indiquées les valeurs initiales des différents tableaux utilisés :
Contenu de la structure de données XmitSetForAaciiOut
Nom de l'élément |
Type de données |
Adresse |
Commentaire |
---|---|---|---|
BaudRate |
|
9600 |
|
DataBits |
|
8 |
|
Parity |
|
2 |
|
StopBits |
|
1 |
|
CommandWord |
|
512 |
Bit 7 défini |
MessageLen |
|
16 |
Transmet les 16 premiers caractères du tableau MessageAsciiOut. |
RespTimeOut |
|
100 |
|
RetryLimit |
|
100 |
|
XmStartDelay |
|
100 |
|
XmEndDelay |
|
100 |
Contenu de la structure de données XmitSetForSimpleAsciiIn
Nom de l'élément |
Type de données |
Adresse |
Commentaire |
---|---|---|---|
BaudRate |
|
9600 |
|
DataBits |
|
8 |
|
Parity |
|
2 |
|
StopBits |
|
1 |
|
CommandWord |
|
1152 |
Bits 6 et 9 définis. |
MessageLen |
|
16 |
opDone réglé sur 1 après réception des 16 caractères. |
RespTimeOut |
|
100 |
|
RetryLimit |
|
100 |
|
XmStartDelay |
|
100 |
|
XmEndDelay |
|
100 |
Contenu de la structure de données XmitSetForTermAsciiIn
Nom de l'élément |
Type de données |
Adresse |
Commentaire |
---|---|---|---|
BaudRate |
|
9600 |
|
DataBits |
|
8 |
|
Parity |
|
2 |
|
StopBits |
|
1 |
|
CommandWord |
|
2176 |
Bits 5 et 9 définis. |
MessageLen |
|
5 |
L'élément DirectXmitSet.MessageLen est automatiquement réglé sur 5, quelle que soit la valeur de cette entrée. |
RespTimeOut |
|
100 |
|
RetryLimit |
|
100 |
|
XmStartDelay |
|
100 |
|
XmEndDelay |
|
100 |
Contenu de la structure de données XmitSetForModbus
Nom de l'élément |
Type de données |
Adresse |
Commentaire |
---|---|---|---|
BaudRate |
|
9600 |
|
DataBits |
|
8 |
Mode RTU |
Parity |
|
2 |
|
StopBits |
|
1 |
|
CommandWord |
|
256 |
Bit 8 défini |
MessageLen |
|
5 |
Pour les codes fonction 01 à 06, 15 et 16. |
RespTimeOut |
|
1000 |
|
RetryLimit |
|
10 |
|
XmStartDelay |
|
100 |
|
XmEndDelay |
|
100 |
Contenu de la structure de données MessageAsciiOut
Nom de l'élément |
Type de données |
Adresse |
Commentaire |
---|---|---|---|
MessageAsciiOut[2] |
|
17220 |
'CD' à transmettre |
MessageAsciiOut[3] |
|
17734 |
'EF' |
MessageAsciiOut[4] |
|
18248 |
'GH' |
MessageAsciiOut[5] |
|
18762 |
'IJ' |
MessageAsciiOut[6] |
|
19276 |
'KL' |
MessageAsciiOut[7] |
|
19790 |
'MN' |
MessageAsciiOut[8] |
|
20304 |
'OP' |
MessageAsciiOut[...] |
|
... |
Contenu de la structure de données MessageTermAsciiIn
Nom de l'élément |
Type de données |
Adresse |
Commentaire |
---|---|---|---|
MessageAsciiOut[1] |
|
258 |
0x0102 1 caractère de début et 2 caractères de fin |
MessageAsciiOut[2] |
|
9216 |
0x2400 Premier caractère de début '$' |
MessageAsciiOut[3] |
|
3338 |
0x0D0A Caractères de fin [CR][LF] |
Contenu de la structure de données MessageModbus
Nom de l'élément |
Type de données |
Adresse |
Commentaire |
---|---|---|---|
MessageAsciiOut[1] |
|
3 |
Lecture de plusieurs registres de maintien (4x) |
MessageAsciiOut[2] |
|
32 |
Lecture de 32 registres |
MessageAsciiOut[3] |
|
10 |
Adresse Modbus de l'automate esclave |
MessageAsciiOut[4] |
|
101 |
Début par le registre 40101 |
MessageAsciiOut[5] |
|
701 |
Destination des données : registre 40701 |