Présentation

Cette structure de données contient les données de configuration utilisées par le bloc XMIT. N'écrivez pas directement dans ce tableau, car le contenu est automatiquement généré ou copié depuis XMIT_SET. Voici une description détaillée de chacun des (16) registres de la table de contrôle des communications de XMIT.

XMIT_CFG.Revision (lecture seule)

Affiche le numéro de révision courant du bloc XMIT. Ce numéro est chargé automatiquement par le bloc en lieu et place de tout autre numéro mémorisé dans ce registre.

XMIT_CFG.FaultStatus (lecture seule)

Ce champ affiche un code d'erreur généré par le bloc XMIT. Le tableau ci-dessous présente une liste complète.

Code d'erreur

Description du défaut

1

Exception Modbus - Fonction incorrecte

2

Exception Modbus - Adresse de données incorrecte

3

Exception Modbus - Valeur de données incorrecte

4

Exception Modbus - Erreur abonné esclave

5

Exception Modbus - Confirmation

6

Exception Modbus - Abonné esclave occupé

7

Exception Modbus - Confirmation négative

8

Exception Modbus - Erreur de parité mémoire

9 ... 99

Réservé

100

La zone de données de l'automate esclave ne peut être égale à 0

101

La zone de données de l'automate maître ne peut être égale à 0

102

Bit de sortie (0x) non configuré

103

Registre de maintien (4x) non configuré

104

La longueur des données ne peut être égale à 0

105

Le pointeur vers la table de messages ne peut être égal à 0

106

Le pointeur vers la table de messages est hors des limites des registres de maintien (4x) configurés

107

Timeout de transmission de message (erreur générée lorsque l'émetteur-récepteur asynchrone universel ne parvient pas à terminer une transmission en 10 secondes maximum ; elle contourne le compteur de répétition et active la sortie d'erreur à la première erreur).

108

Erreur non définie

109

Le modem signale ERREUR

110

Le modem a renvoyé le message PAS DE PORTEUSE

111

Le modem a renvoyé le message PAS DE TONALITE

112

Le modem a renvoyé le message OCCUPE

113

Total de contrôle LRC non valide renvoyé par l'automate esclave

114

Total de contrôle CRC non valide renvoyé par l'automate esclave

115

Code de fonction Modbus non valide

116

Timeout pour le message de réponse Modbus

117

Timeout de réponse Modem

118

XMIT n'a pas obtenu d'accès au port de communication de l'automate (port 1 ou 2)

119

XMIT ne peut libérer le récepteur de port de l'automate

120

XMIT n'a pas pu activer l'émetteur-récepteur asynchrone universel de l'automate

121

L'utilisateur a envoyé une commande d'abandon

122

Inutilisé

123

Inutilisé

124

Etat interne non défini

125

Mode de diffusion non autorisé avec ce code de fonction Modbus

126

Le périphérique DCE n'a pas activé le signal CTS

127

Configuration non valide (débit de données, bits de données, parité ou bits d'arrêt)

128

Réponse inattendue reçue de l'esclave Modbus

129

Paramétrage du mot de commande non valide

130

Mot de commande modifié en cours d'activité

131

Nombre de caractères non valide

132

Bloc de registre non valide

133

Erreur de débordement de l'entrée FIFO ASCII

134

Nombre de caractères de début ou de fin non valide

XMIT_CFG.UserAvail_1

Le bloc XMIT n'utilise pas ce registre. Il peut cependant être utilisé comme pointeur dans la logique utilisateur.

XMIT_CFG.DataBits

Le bloc XMIT prend en charge les bits de données suivants : 7 et 8. Pour configurer une taille de bit de données, entrez un nombre décimal dans cet élément. Les messages Modbus peuvent être envoyés en mode ASCII (7 ou 8 bits de données) ou RTU (8 bits de données). Si vous entrez un bit de données incorrect, le bloc signale une configuration incorrecte (code d'erreur 127) dans l'élément XMIT_CFG.FaultStatus. Pour plus d'informations sur les formats des messages Modbus, reportez-vous au document Modicon Modbus Protocol Reference Guide (www.modbus.org).

XMIT_CFG.Parity

Le bloc XMIT prend en charge la parité suivante : aucune, impaire et paire. Entrez l'un des nombres décimaux suivants : 0 = aucune parité, 1 = parité impaire ou 2 = parité paire. Si vous entrez une parité incorrecte, le bloc affiche une erreur de configuration incorrecte (code d'erreur 127) dans l'élément XMIT_CFG.FaultStatus.

XMIT_CFG.StopBits

Le bloc XMIT prend en charge un ou deux bits d'arrêt. Entrez l'un des nombres décimaux suivants : 1 = un bit d'arrêt ou 2 = deux bits d'arrêt. Si vous entrez un bit d'arrêt incorrect, le bloc affiche une erreur de configuration incorrecte (code d'erreur 127) dans l'élément XMIT_CFG.FaultStatus.

XMIT_CFG.UserAvail_2

Le bloc XMIT n'utilise pas cet élément. Il peut cependant être utilisé comme pointeur dans la logique utilisateur.

XMIT_CFG.CommandWord

Le bloc XMIT interprète chaque bit du mot de commande comme fonction à exécuter. Si les bits 7 et 8 sont actifs simultanément, si plusieurs bits parmi les bits 13, 14, 15 ou 16 sont actifs simultanément ou si le bit 7 n'est pas actif alors que l'un des bits 13, 14, 15 ou 16 l'est, le système génère l'erreur 129. D'autres restrictions sont applicables. Pour plus de détails, reportez-vous à la section Fonctions de communication du bloc XXMIT. La définition de chaque bit est présentée dans le tableau ci-dessous.

Bit

Définition

Bit 1 (bit de poids fort)

Réservé

Bit 2 Validation du contrôle modem RTS/CTS

Réglé sur 1 lorsqu'un équipement DCE connecté à l'automate nécessite une reconnaissance matérielle à l'aide du contrôle RTS/CTS. Ce bit peut être utilisé avec les valeurs contenues dans XMIT_CFG.XmStartDelay et XMIT_CFG.XmEndDelay. Le retard du début de la transmission garde le signal RTS activé pendant (X mS) avant que le bloc XMIT envoie le message via le port de l'automate. De même, le retard de fin de transmission garde le signal RTS activé pendant (X ms) après l'envoi d'un message par le bloc XMIT via le port de l'automate. Après l'expiration du retard de fin de transmission, le bloc XMIT désactive le signal RTS.

Bit 3 Validation du mode RS485

Réglé sur 1 lorsque le port sélectionné doit fonctionner en mode RS485. Sinon, il est réglé sur 0, valeur correspondant au mode RS232.

Bit 4

Réservé

Bit 5 Entrée ASCII terminée

Réglé sur 1 pour supprimer et ignorer tous les caractères du tampon FIFO jusqu'à ce que la chaîne de départ soit trouvée. Ensuite, les caractères de début et les caractères suivants sont écrits dans le tableau MSG_IN jusqu'à ce que la séquence de fin soit trouvée. La chaîne de fin est également écrite dans le tableau MSG_IN. Pour plus de détails, reportez-vous à la section Fonction d'entrée ASCII terminée.

Bit 6 Entrée ASCII simple

Réglé sur 1 pour supprimer les caractères ASCII du tampon FIFO en vue de l'écriture dans le tableau MSG_IN. Le pointeur de message (XMIT_CFG.MessagePtr) adopte automatiquement l'adresse de registre spécifiée pour le tableau MSG_IN. Pour plus de détails, reportez-vous à la section Fonction d'entrée ASCII simple.

Bit 7 Validation des messages sous forme de chaînes ASCII

Réglé sur 1 lorsque vous souhaitez envoyer des messages ASCII à partir de l'automate. Le bloc XMIT envoie des chaînes ASCII d'une longueur maximale de 1024 caractères. Programmez le message ASCII dans le tableau MSG_OUT. Deux caractères sont autorisés par registre. N'utilisez que le bit 7 OU le bit 8 ; n'essayez pas d'utiliser les deux. Pour plus de détails, reportez-vous à la section Messages sous forme de chaînes ASCII.

Bit 8 Validation des messages Modbus

Réglé sur 1 lorsque vous souhaitez envoyer des messages Modbus à partir de l'automate. Les messages Modbus peuvent être envoyés au format RTU ou ASCII. Avec 8 bits de données, le bloc XMIT utilise le format Modbus RTU. Avec 7 bits de données, il utilise le format Modbus ASCII. N'utilisez que le bit 7 OU le bit 8 ; n'essayez pas d'utiliser les deux.

Bit 9 Validation du tampon FIFO de réception ASCII

Réglé sur 1 pour permettre au bloc XMIT de prendre le contrôle du port sélectionné (1 ou 2) de l'automate. Le bloc commence à recevoir des caractères ASCII dans un tampon FIFO circulaire vide de 512 octets. Pour plus de détails, reportez-vous à la section Tampon FIFO de réception ASCII.

Bit 10 Validation du caractère de retour arrière

Réglé sur 1 pour autoriser le traitement spécial du caractère ASCII de retour arrière (BS, 8 hex). Lors de l'utilisation d'une entrée ASCII simple (bit 6) ou terminée (bit 5), chaque caractère de retour arrière est supprimé du tampon FIFO et peut ne PAS être stocké dans le tableau MSG_IN. Pour plus de détails, reportez-vous à la section Validation du caractère de retour arrière.

Bit 11 Validation du contrôle de flux RTS/CTS

Réglé sur 1 pour autoriser le contrôle de flux matériel en duplex intégral à l'aide des signaux de synchronisation RTS et CTS pour les messages ASCII. Le contrôle de flux RTS/CTS fonctionne en mode d'entrée et en mode de sortie. Pour plus de détails, reportez-vous à la section Validation du contrôle de flux RTS/CTS.

Bit 12 Validation du contrôle de flux Xon/Xoff

Réglé sur 1 pour permettre un contrôle de flux logiciel en duplex intégral, à l'aide des caractères ASCII Xon (DC1, 11 Hex) et Xoff (DC3, 13 Hex). Le contrôle de flux Xon/Xoff fonctionne en mode d'entrée et en mode de sortie. Pour plus de détails, reportez-vous à la section Validation du contrôle de flux Xon/Xoff.

Bit 13 Modem à numérotation par impulsion

Réglé sur 1 lorsque vous utilisez un modem à numérotation automatique compatible Hayes et que vous souhaitez composer un numéro de téléphone en utilisant la numérotation par impulsion. Programmez le numéro de téléphone dans le tableau MSG_IN. La longueur du message doit être définie dans XMIT_SET.MessageLen. Les numéros composés par impulsion sont envoyés au modem, automatiquement précédés d'ATDP et suivis d'un retour chariot <CR> et d'un retour à la ligne <LF>. Le message de numérotation étant une chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du numéro à composer.

Bit 14 Raccrochage du modem

Réglé sur 1 lorsque vous utilisez un modem à numérotation automatique compatible Hayes et que vous souhaitez raccrocher le modem. Vous devez utiliser les schémas à contacts pour mettre ce bit à 1. Le message de raccrochage étant une chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du message. Les messages de raccrochage sont envoyés au modem, automatiquement précédés de +++AT et suivis d'un retour chariot <CR> et d'un retour à la ligne <LF>. Le bloc XMIT recherche une réponse de déconnexion correcte de la part du modem avant d'ACTIVER le signal de sortie OP_SUC qui indique que l'exécution a réussi.

Bit 15 Modem à numérotation à tonalité

Réglé sur 1 lorsque vous utilisez un modem à numérotation automatique compatible Hayes et que vous souhaitez composer un numéro de téléphone au clavier. Le message de numérotation doit être placé dans le tableau MSG_OUT et la longueur du message dans XMIT_SET.MessageLen. Les numéros composés par tonalité sont envoyés au modem, automatiquement précédés d'ATDT et suivis d'un retour chariot <CR> et d'un retour à la ligne <LF>. Le message de numérotation étant une chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du numéro à composer.

Bit 16 Initialisation du modem

Réglé sur 1 lorsque vous utilisez un modem à numérotation automatique compatible Hayes et que vous souhaitez initialiser le modem. Programmez le message d'initialisation dans le tableau MSG_OUT et la longueur du message dans XMIT_SET.MessageLen. Tous les messages sont envoyés au modem, automatiquement précédés de AT et suivis d'un retour chariot <CR> et d'un retour à la ligne <LF>. Le message d'initialisation étant une chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du message.

XMIT_CFG.MessagePtr

Ce pointeur est géré automatiquement par le bloc XMIT. Il pointe vers le début de la table du message, c'est-à-dire le tableau MSG_IN ou le tableau MSG_OUT selon la fonction XMIT choisie. Chaque élément du tableau (registre 4x) contient jusqu'à deux caractères ASCII. Chaque chaîne ASCII peut comporter 1 024 caractères au maximum. Par exemple, pour envoyer 10 messages ASCII à partir de l'automate, vous devez transférer les 10 caractères ASCII dans le tableau MSG_OUT successivement après chaque opération réussie du bloc XMIT.

XMIT_CFG.MessageLen

Indiquez la longueur du message actuel. Lorsque le bloc XMIT envoie des messages Modbus pour les codes de fonction 01, 02, 03, 04, 05, 06, 08, 15 et 16, la longueur du message est automatiquement définie sur cinq. Lorsqu'il reçoit une entrée au format ASCII terminé, la longueur du message doit être définie sur cinq ou une erreur survient. Lorsque le bloc XMIT envoie des messages Modbus pour les codes de fonction 20 et 21, la longueur du message est automatiquement définie sur six. Lorsqu'il envoie des messages ASCII, leur longueur peut être comprise entre 1 et 1024 caractères ASCII.

XMIT_CFG.RespTimeOut

Indiquez la valeur du délai en millisecondes (ms) correspondant au temps d'attente du bloc XMIT avant la réception d'une réponse correcte de la part d'un équipement esclave (automate, modem, etc.). De plus, la durée s'applique aux transmissions ASCII et aux commandes de contrôle de flux. Lorsque la réponse n'est pas entièrement structurée dans le délai imparti, le bloc XMIT génère une erreur. Les valeurs correctes sont comprises entre 0 et 65 535 ms. Le timeout débute après l'envoi du dernier caractère du message.

XMIT_CFG.RetryLimit

Entrez le nombre de tentatives d'envoi d'un message effectuées par le bloc XMIT avant la réception d'une réponse correcte d'un équipement esclave (automate, modem, etc.). Lorsque la réponse n'est pas entièrement structurée dans le délai imparti, le bloc XMIT génère une erreur et un code d'erreur. Les valeurs correctes sont comprises entre 0 et 65 535 tentatives. Ce champ est utilisé conjointement avec le timeout de réponse (4x+11).

XMIT_CFG.StartDelay

Lorsque le contrôle RTS/CTS est activé, saisissez en millisecondes (ms) le délai d'attente du bloc XMIT entre la réception du message CTS et la transmission d'un message par le port n°1 de l'automate. De plus, vous pouvez utiliser ce registre même lorsque le contrôle RTC/CTS n'est PAS activé. Dans ce cas, la durée saisie détermine le temps d'attente du bloc XMIT avant l'envoi d'un message à partir du port n°1 de l'automate. Vous pouvez l'utiliser comme un temporisateur avant message. Les valeurs correctes sont comprises entre 0 et 65 535 ms.

XMIT_CFG.XmEndDelay

Lorsque le contrôle RTS/CTS est activé, indiquez en millisecondes (ms) le délai pendant lequel le bloc XMIT garde le signal RTS activé après l'envoi du message à partir du port de l'automate. Une fois ce délai écoulé, le bloc XMIT désactive le signal RTS. Vous pouvez également utiliser ce registre lorsque le contrôle RTS/CTS n'est PAS activé. Dans ce cas, la durée saisie détermine le temps d'attente du bloc XMIT après l'envoi d'un message à partir du port n°1 de l'automate. Vous pouvez l'utiliser comme un temporisateur après message. Les valeurs correctes sont comprises entre 0 et 65 535 ms.

XMIT_CFG.XmCurrentRetry

La valeur affichée indique le nombre courant de tentatives effectuées par le bloc XMIT. Ce registre est en lecture seule.