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.