Schneider Electric XXMIT/RTXMIT Bloc de fonction Transmit (Receive) pour Concept 2.6 SR4 Mode d'emploi

Ajouter à Mes manuels
160 Des pages
Schneider Electric XXMIT/RTXMIT Bloc de fonction Transmit (Receive) pour Concept 2.6 SR4 Mode d'emploi | Fixfr
Concept
X(X)MIT-IEC / RTXMIT
Bloc de fonction Transmit
(Receive)
33002197.05
10/2006
2
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Chapitre 1
Introduction aux blocs XXMIT et RTXMIT. . . . . . . . . . . . . . . . . . 9
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Fonctionnalité XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Fonctionnalité RTXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chapitre 2
XMIT : Transférer (Momentum) . . . . . . . . . . . . . . . . . . . . . . . . . 13
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description de la structure de données XMIT_SET . . . . . . . . . . . . . . . . . . . . . .
Description de la structure de données XMIT_CFG . . . . . . . . . . . . . . . . . . . . . .
Fonctions ASCII XMIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication XMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de modem XMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions Modbus du XMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tampon FIFO et contrôle de flux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple d'application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 3
13
14
15
18
19
20
29
32
33
35
41
45
46
XXMIT : Transférer (Compact, Momentum, Quantum) . . . . . . 53
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de communication XXMIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions ASCII XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de modem XXMIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions Modbus XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tampon FIFO et contrôle de flux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
54
55
57
65
66
71
73
81
85
3
Exemple d'application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Chapitre 4
RTXMIT : Transmission bidirectionnelle simultanée
(Compact, Momentum, Quantum) . . . . . . . . . . . . . . . . . . . . . . 97
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Exemple d'application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Chapitre 5
Références techniques pour le bloc fonction XXMIT . . . . . . 107
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Limites des paramètres de requête/réponse Modbus . . . . . . . . . . . . . . . . . . . . 108
Configuration de XXMIT à l'aide de modems à numérotation
automatique compatibles Hayes (uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . 112
Chapitre 6
Informations sur le câblage . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Brochage des câbles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Kits adaptateurs de câbles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4
Glossaire
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Index
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Consignes de sécurité
§
Informations importantes
AVIS
Veuillez lire soigneusement ces consignes et examiner l'appareil afin de vous
familiariser avec lui avant son installation, son fonctionnement ou son entretien. Les
messages particuliers qui suivent peuvent apparaître dans la documentation ou sur
l'appareil. Ils vous avertissent de dangers potentiels ou attirent votre attention sur
des informations susceptibles de clarifier ou de simplifier une procédure.
L'apposition de ce symbole à un panneau de sécurité Danger ou
Avertissement signale un risque électrique pouvant entraîner des
lésions corporelles en cas de non-respect des consignes.
Ceci est le symbole d'une alerte de sécurité. Il vous avertit d'un risque de
blessures corporelles. Respectez scrupuleusement les consignes de sécurité
associées à ce symbole pour éviter de vous blesser ou de mettre votre vie
en danger.
DANGER
DANGER indique une situation immédiatement dangereuse qui, si elle n'est pas
évitée, entraînera la mort ou des blessures graves.
AVERTISSEMENT
AVERTISSEMENT indique une situation présentant des risques susceptibles de
provoquer la mort, des blessures graves ou des dommages matériels.
ATTENTION
ATTENTION indique une situation potentiellement dangereuse et susceptible
d'entraîner des lésions corporelles ou des dommages matériels.
33002197
5
Consignes de sécurité
REMARQUE
IMPORTANTE
Les équipements électriques doivent être installés, exploités et entretenus par un
personnel d'entretien qualifié. Schneider Electric n'assume aucune responsabilité
des conséquences éventuelles découlant de l'utilisation de cette documentation.
© 2006 Schneider Electric. All rights reserved.
6
33002197
A propos de ce manuel
Présentation
Objectif du
document
Ce manuel fournit toutes les informations nécessaires à la configuration des blocs
fonction XMIT, XXMIT et RTXMIT sur toutes les plates-formes d'automates prenant
en charge les langages CEI.
Champ
d'application
Les informations contenues dans ce manuel s'appliquent à Concept version 2.6
Service release 1 ou supérieure.
Document à
consulter
Commentaires
utilisateur
33002197
Titre
Référence
Instructions d’installation
840 USE 502 01
Manuel de l’utilisateur Concept
840 USE 503 01
Bibliothèque de blocs CEI de Concept
840 USE 504 01
Envoyez vos commentaires à l'adresse e-mail [email protected]
7
A propos de ce manuel
8
33002197
Introduction aux blocs XXMIT et
RTXMIT
1
Présentation
Introduction
Ce chapitre présente les blocs de fonction de transmission XXMIT et RTXMIT.
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
33002197
Sujet
Page
Fonctionnalité XXMIT
10
Fonctionnalité RTXMIT
11
9
Introduction
Fonctionnalité XXMIT
Présentation de
la fonction
Le bloc fonction (de transmission) XXMIT permet d'utiliser les ports série des
automates pour la communication sous le contrôle du programme applicatif.
Les types de communication suivants sont pris en charge :
Modbus en tant que maître
entrée/sortie ASCII simple
entrée ASCII avec un ou deux caractères de fin
communication par modem
l
l
l
l
Description de la
fonction
10
Les blocs de transmission envoient des messages Modbus d'un automate "maître"
vers plusieurs automates esclaves ou des chaînes de caractères ASCII du port 1
Modbus esclave de l'automate (sur les automates Momentum, le port 2 est
également pris en charge) vers des imprimantes et des terminaux ASCII. XXMIT
envoie ces messages par modem à numérotation automatique, par modem radio ou
simplement par connexion directe. En mode de communication, les blocs de
transmission exécutent les fonctions d'entrée ASCII générales, y compris au format
ASCII simple et ASCII terminé. Vous pouvez importer/exporter des données ASCII
ou binaires vers/à partir de votre automate. Le bloc comporte des diagnostics
intégrés vérifiant qu'aucun autre bloc de transmission n'est actif dans l'automate sur
le même port. Dans les blocs de transmission, des entrées de commande vous
permettent de contrôler la liaison de communication entre l'automate et les
équipements DCE (Data Communication Equipment, matériel de transmission de
données) connectés au port 1 ou 2 Modbus de l'automate. Les blocs de
transmission n'activent PAS le voyant du port lors de la transmission des données.
33002197
Introduction
Fonctionnalité RTXMIT
Présentation de
la fonction
Les blocs fonction RTXMIT (Receive/Transmit) permettent d'utiliser les ports série
des automates pour la communication bidirectionnelle simultanée sous le contrôle
du programme applicatif.
Les types de communication suivants sont pris en charge :
l entrée/sortie ASCII simple,
l entrée ASCII avec un ou deux caractères de fin.
Description de la
fonction
33002197
Le bloc de transmission RTXMIT envoie des chaînes de caractères ASCII du port 1
Modbus esclave de l'automate (sur les automates Momentum, le port 2 est
également pris en charge) vers des imprimantes, des terminaux ASCII ou tout autre
périphérique en série. En mode de communication, les blocs de transmission
exécutent les fonctions d'entrée ASCII générales, y compris au format ASCII simple
et ASCII terminé. Vous pouvez importer/exporter des données ASCII ou binaires
vers/à partir de votre automate. Le bloc RTXMIT peut en même temps envoyer et
recevoir des caractères (mode bidirectionnel simultané). Le bloc comporte des
diagnostics intégrés vérifiant qu'aucun autre bloc de transmission n'est actif dans
l'automate sur le même port. Dans les blocs de transmission, des entrées de
commande vous permettent de contrôler la liaison de communication entre
l'automate et les équipements DCE (Data Communication Equipment, matériel de
transmission de données) connectés au port 1 ou 2 Modbus de l'automate. Les
blocs de transmission n'activent PAS le voyant du port lors de la transmission des
données.
11
Introduction
12
33002197
XMIT : Transférer (Momentum)
2
Présentation
Introduction
Le présent chapitre décrit le bloc fonction XMIT.
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
33002197
Sujet
Page
Description sommaire
14
Représentation
15
Description des paramètres
18
Description de la structure de données XMIT_SET
19
Description de la structure de données XMIT_CFG
20
Fonctions ASCII XMIT
29
Fonctions de communication XMIT
32
Fonctions de modem XMIT
33
Fonctions Modbus du XMIT
35
Tampon FIFO et contrôle de flux
41
Erreurs d'exécution
45
Exemple d'application
46
13
XMIT : Transférer (Momentum)
Description sommaire
Description de la
fonction
Le bloc fonction (de transmission) XMIT envoie des messages Modbus d'un
automate "maître" vers plusieurs automates esclaves ou des chaînes de caractères
ASCII du port 1 ou 2 Modbus esclave de l'automate vers des imprimantes et des
terminaux ASCII. XMIT envoie ces messages par modem à numérotation
automatique, par modem radio ou simplement par connexion directe. En mode de
communication, le bloc XMIT exécute les fonctions d'entrée ASCII générales, y
compris au format ASCII simple et ASCII terminée. Vous pouvez importer/exporter
des données ASCII ou binaires vers/à partir de votre automate et les convertir en
diverses données binaires ou ASCII pour les envoyer à des équipements DCE (Data
Communication Equipment, matériel de transmission de données) en fonction des
besoins de votre application. Le bloc comporte des diagnostics intégrés vérifiant
qu'aucun autre bloc XMIT n'est actif dans l'automate sur le même port. Dans le bloc
XMIT, une table de commande vous permet de contrôler la liaison de
communication entre l'automate et les équipements DCE connectés au port 1 ou 2
Modbus de l'automate. Le bloc XMIT n'active PAS le voyant du port lors de la
transmission des données. N'oubliez pas que le protocole Modbus est un protocole
"maître/esclave". Il est conçu pour prendre en charge un seul maître interrogeant
plusieurs esclaves. Par conséquent, si vous utilisez le bloc XMIT dans un réseau
avec plusieurs maîtres, vous êtes responsable de la résolution des conflits et de
l'évitement des collisions. Vous pouvez les traiter facilement grâce la
programmation par schémas à contacts.
EN et ENO peuvent être configurés comme des paramètres supplémentaires.
Utilisation de
Modbus
N'oubliez pas que le protocole Modbus est un protocole "maître/esclave". Il est
conçu pour prendre en charge un seul maître interrogeant plusieurs esclaves. Par
conséquent, si vous utilisez le bloc XMIT dans un réseau avec plusieurs maîtres,
vous êtes responsable de la résolution des conflits et de l'évitement des collisions.
Vous pouvez les traiter facilement grâce la programmation par schémas à contacts.
Restrictions
Ce bloc fonction contrôle les ports 1 et 2 Modbus des processeurs Momentum. Il
peut être utilisé uniquement avec la version réduite de l'exécutif. Le bloc fonction
XMIT fonctionne exactement comme son homologue LL984, mais sans conversion
des chaînes ASCII, fonctions de copie et de comparaison, ni fonctions d'état de port.
Logiciels et
matériel requis
Sur les automates Momentum, le bloc fonction XMIT est une fonction intégrée.
Le matériel suivant n'est pas pris en charge par le bloc fonction XXMIT :
l automate Soft
l automates Atrium 386 et Atrium-S908
l simulateur CEI
14
33002197
XMIT : Transférer (Momentum)
Représentation
Symbole
Représentation du bloc
XMIT
ANY
XMIT_SET
BYTE
BOOL
BOOL
Description des
paramètres
33002197
MSG_OUT
SET
PORT
START
ABORT
MSG_IN
CFG
ANY
XMIT_CFG
OP_ACT
NO_SUC
OP_SUC
Ext
BOOL
BOOL
BOOL
DINT
Description de paramètres du bloc
Paramètres
Type de données
Signification
SET
XMIT_SET
Structure des données pour la configuration de
XMIT
MSG_OUT
ANY
Message à envoyer (doit se trouver dans une
plage 4x)
PORT
BYTE
Sélection de l'interface de communication
START
BOOL
1: Démarre l'opération XMIT
ABORT
BOOL
1: Arrête l'opération XMIT en cours
MSG_IN
ANY
Message arrivant (doit se trouver dans une
plage 4x)
CFG
XMIT_CFG
Structure des données pour tous les composants de
la configuration de XMIT, y compris les variables
placées automatiquement et les variables non
utilisées. Uniquement pour l'affichage et doit se
trouver dans une plage 4x.
OP_ACT
BOOL
1: Opération XMIT en cours
NO_SUC
BOOL
1: Il y a une erreur ou l'opération XMIT en cours est
arrêtée.
OP_SUC
BOOL
1: L'opération XMIT a été exécutée avec succès
Ext
DINT
pas en utilisation actuellement
15
XMIT : Transférer (Momentum)
Structure des
données
XMIT_SET
16
Description de la structure des données
Elément
Type de données
Signification
BaudRate
WORD
Ce composant correspond au registre 4x+3 (débit
de données) de l'instruction XMIT de LL984.
DataBits
BYTE
Ce composant correspond au registre 4x+4 (bits
d'information) de l'instruction XMIT de LL984.
Parity
BYTE
Ce composant correspond au registre 4x+5 (parité)
de l'instruction XMIT de LL984.
StopBits
BYTE
Ce composant correspond au registre 4x+6 (bits
d'arrêt) de l'instruction XMIT de LL984.
Command
Word
WORD
Ce composant correspond au registre 4x+8 (mot de
commande) de l'instruction XMIT de LL984.
MessageLen
WORD
Ce composant correspond au registre 4x+10
(longueur du message) de l'instruction XMIT de
LL984. (En cas de réception d'ASCII terminé, ce
composant est placé automatiquement.)
RespTimeOut WORD
Ce composant correspond au registre 4x+11 (délai
d'attente de réponse (ms)) de l'instruction XMIT de
LL984.
RetryLimit
Ce composant correspond au registre 4x+12 (limite
de nouvelle tentative) de l'instruction XMIT de
LL984.
WORD
XmStartDelay WORD
Ce composant correspond au registre 4x+13
(démarrage du délai de transfert (ms)) de
l'instruction XMIT de LL984.
XmEndDelay
Ce composant correspond au registre 4x+14 (fin du
délai de transfert (ms)) de l'instruction XMIT de
LL984.
WORD
33002197
XMIT : Transférer (Momentum)
Structure des
données
XMIT_CFG
33002197
Description de la structure des données
Elément
Type de données
Signification
FaultStatus
WORD
Ce composant correspond au registre 4x+1 (états
d'erreur) de l'instruction XMIT de LL984.
UserAvail_1
WORD
Ce composant correspond au registre 4x+2
(disponible pour l'utilisateur) de l'instruction XMIT de
LL984.
BaudRate
WORD
Ce composant correspond au registre 4x+3 (débit de
données) de l'instruction XMIT de LL984.
DataBits
WORD
Ce composant correspond au registre 4x+4 (bits
d'information) de l'instruction XMIT de LL984.
Parity
WORD
Ce composant correspond au registre 4x+5 (parité) de
l'instruction XMIT de LL984.
StopBits
WORD
Ce composant correspond au registre 4x+6 (bits
d'arrêt) de l'instruction XMIT de LL984.
UserAvail_2
WORD
Ce composant correspond au registre 4x+7
(disponible pour l'utilisateur) de l'instruction XMIT de
LL984.
Command
Word
WORD
Ce composant correspond au registre 4x+8 (mot de
commande) de l'instruction XMIT de LL984.
MessagePtr
WORD
Ce composant correspond au registre 4x+9 (pointeur
de message) de l'instruction XMIT de LL984.
MessageLen
WORD
Ce composant correspond au registre 4x+10 (longueur
du message) de l'instruction XMIT de LL984.
RespTimeOut WORD
Ce composant correspond au registre 4x+11 (délai
d'attente de réponse (ms)) de l'instruction XMIT de
LL984.
RetryLimit
WORD
Ce composant correspond au registre 4x+12 (limite de
nouvelle tentative) de l'instruction XMIT de LL984.
XmStartDelay WORD
Ce composant correspond au registre 4x+13
(démarrage du délai de transfert (ms)) de l'instruction
XMIT de LL984.
XmEndDelay
WORD
Ce composant correspond au registre 4x+14 (fin du
délai de transfert (ms)) de l'instruction XMIT de LL984.
CurrentRetry
WORD
Ce composant correspond au registre 4x+15 (nouvelle
tentative actuelle) de l'instruction XMIT de LL984.
17
XMIT : Transférer (Momentum)
Description des paramètres
MSG_OUT
MSG_OUT contient les données du message à transférer, par exemple des
caractères ASCII pour un transfert ASCII, la définition de caractères de fin pour une
entrée au format ASCII terminée ou des modèles Modbus pour des messages
Modbus maîtres.
Le type de données à affecter au paramètre doit être un tableau de données de type
WORD. Ce tableau doit être affecté à une plage de registres 4x. La longueur du
champ doit être égale à la celle du champ MSG_IN. Si le champ est affecté à la
plage correspondant aux variables non localisées, le système génère un message
d'erreur d'exécution.
SET
SET contient la configuration du bloc fonction XMIT sous la forme de la structure de
données XMIT_SET. Ce paramètre peut être affecté à une variable non localisée.
Les composants de la structure de données ont la même fonction que les
composants de la configuration LL984 XMIT. Il existe une seule différence : les
variables sont définies automatiquement par le système et les variables inutilisées
ne figurent pas dans cette structure de données. Cela signifie qu'une configuration
finalisée exige la définition de tous les composants de cette structure de données.
PORT
PORT définit l'interface de communication. Les seules valeurs autorisées sont 1 et
2.
START
Un signal 1 dans START lance l'opération XMIT. Le signal 1 doit être appliqué tant
que l'opération n'est pas terminée ou qu'une erreur n'est pas survenue.
ABORT
Un signal 1 met fin à l'opération XMIT courante et écrit le code d'abandon "121"
dans le composant "FaultStatus" de la structure de données XMIT_CFG située au
niveau de la sortie CFG.
MSG_IN
MSG_IN contient les données du message entrant, par exemple une entrée au
format ASCII terminée ou les réponses à une commande Modbus maître envoyée
par le bloc fonction XMIT. Le type de données à affecter au paramètre doit être un
tableau de données de type WORD. Ce tableau doit être affecté à une plage de
registres 4x. La longueur du champ doit être égale à la celle du champ MSG_OUT.
Si le champ est affecté à la plage correspondant aux variables non localisées, le
système génère un message d'erreur d'exécution.
18
33002197
XMIT : Transférer (Momentum)
CFG
CFG contient une copie du bloc fonction XMIT de la configuration définie dans SET
sous la forme de la structure de données XMIT_CFG ; elle inclut les variables
définies automatiquement et les variables non utilisées. Les composants de la
structure de données ont la même fonction que les composants de la configuration
LL984 XMIT. Cette structure de données doit être affectée à une plage de registres
4x. Si la structure de données est affectée à la plage correspondant aux variables
non localisées, le système génère un message d'erreur d'exécution. CFG est utilisé
pour vérifier la configuration effectivement appliquée.
OP_ACT
Un signal 1 indique qu'une opération XMIT est en cours.
NO_SUC
Un signal 1 indique qu'une erreur est survenue ou que l'opération XMIT courante est
terminée.
OP_SUC
Un signal 1 indique que l'opération XMIT a réussi.
EXT
Inutilisé pour l'instant. Ne pas le connecter.
Description de la structure de données XMIT_SET
XMIT_SET
Cette structure de données contient la configuration propre à l'opération XMIT.
Cette variable peut être stockée dans la mémoire non localisée. Les éléments de
cette structure ont la même signification que les éléments correspondants de la
structure XMIT_CFG (voir Description de la structure de données XMIT_CFG,
p. 20). La structure XMIT_SET est utilisée pour configurer le bloc XMIT. Ses valeurs
sont transférées vers XMIT_CFG.
Note : XMIT_SET ne contient pas l'élément MessagePtr. En effet, cet élément est
automatiquement réglé sur l'adresse du tableau MSG_IN et placé dans
XMIT_CFG.
33002197
19
XMIT : Transférer (Momentum)
Description de la structure de données XMIT_CFG
Présentation
Cette structure de données contient les données de configuration réelles utilisées
par le bloc XMIT. N'écrivez pas directement dans ce tableau, son contenu étant
automatiquement généré ou copié à partir de XMIT_SET. Vous trouverez cidessous une description détaillée de chaque registre de la table des commandes de
communication XMIT (16).
XMIT_CFG.
Revision Lecture
seule
Ce champ affiche le numéro de révision courant du bloc XMIT. Ce numéro est
automatiquement chargé par le bloc fonction et écrase tout autre numéro entré dans
ce registre.
XMIT_CFG.Fault
Status 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.
20
Code
d'erreur
Description de l'erreur
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 API esclave ne peut être égale à zéro
101
La zone de données API maître ne peut être égale à zéro
102
Bit de sortie/interne (0x) non configuré
103
Mot de sortie/interne (4x) non configuré
104
La longueur de données ne peut être à zéro
105
Le pointeur du tableau des messages ne peut être à zéro
106
Pointeur du tableau de messages hors limites des registres configurés (4x)
107
Timeout de transmission de message (cette erreur est 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
33002197
XMIT : Transférer (Momentum)
XMIT_CFG.User
Avail_1
33002197
Code
d'erreur
Description de l'erreur
109
Le modem signale ERREUR
110
Le modem signale PAS DE PORTEUSE
111
Le modem signale PAS DE TONALITÉ
112
Le modem signale OCCUPÉ
113
Checksum LRC de l'esclave incorrecte
114
Checksum CRC de l'esclave incorrecte
115
Code fonction Modbus invalide
116
Timeout réponse de message Modbus
117
Timeout de réponse Modem
118
XMIT n'a pas obtenu d'accès au port de communication de l'API (port 1 ou 2)
119
XMIT ne peut libérer le récepteur de port de l'API
120
XMIT UART API non reconnue
121
Commande abandonnée par l'utilisateur
122
Inutilisé
123
Inutilisé
124
Etat interne indéfini
125
Mode diffusion interdit pour cette fonction Modbus
126
ETCD peut transmettre CTS
127
Configuration incorrecte (bits de données, vitesse, parité ou bits d'arrêt)
128
Réponse incorrecte reçue de l'esclave Modbus
129
Paramétrage incorrect du mot de commande
130
Mot de commande modifié en cours d'activité
131
Compte de caractères incorrect
132
Bloc de registre incorrect
133
Erreur de débordement de l'entrée FIFO ASCII
134
Nombre incorrect de caractères de départ ou de caractères de fin
Le bloc XMIT n'utilise pas ce registre. Toutefois, il peut être utilisé dans le
programme utilisateur comme pointeur.
21
XMIT : Transférer (Momentum)
XMIT_CFG.Data
Bits
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 ou en mode RTU. Le
mode ASCII utilise 7 bits de données tandis que le mode RTU en utilise 8. Lors de
l'envoi d'un message en caractères ASCII, vous pouvez utiliser 7 ou 8 bits de
données. Si vous entrez un bit de données incorrect, le bloc affiche une erreur de
configuration incorrecte (code d'erreur 127) dans l'élément XMIT_CFG.FaultStatus.
Pour plus de détails sur les formats des messages Modbus, reportez-vous au
document Modicon Modbus Protocol Reference Guide (PI MBUS 300).
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.Stop
Bits
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.User
Avail_2
Le bloc XMIT n'utilise pas cet élément. Toutefois, il peut être utilisé dans le
programme utilisateur comme pointeur.
22
33002197
XMIT : Transférer (Momentum)
XMIT_CFG.
CommandWord
Le bloc XMIT interprète chaque bit du mot de commande comme une fonction à
exécuter. Si les bits 7 et 8 sont à 1 simultanément ou si plusieurs bits parmi les bits
13, 14, 15 et 16 sont à 1 simultanément ou si le bit 7 n'est pas à 1 alors que l'un des
bits 13, 14, 15 et 16 l'est, le système génère l'erreur 129. Il existe d'autres
restrictions. Pour plus de détails, reportez-vous à la section Bits du mot de
commande, p. 32. La définition de chaque bit est présentée dans le tableau cidessous.
Bit
Définition
Bit 1 (bit de poids fort)
Réservé
Bit 2 Validation du contrôle modem
RTS/CTS
Mis à 1 lorsqu'un équipement DCE (Data
Communication Equipment, matériel de
transmission de données) connecté à l'automate
nécessite un protocole matériel utilisant le contrôle
RTS/CTS. Ce bit peut être utilisé conjointement
avec les valeurs contenues dans
XMIT_CFG.XmStartDelay et
XMIT_CFG.XmEndDelay. Le retard de début de
transmission garde le signal RTS activé pendant
X ms avant l'envoi d'un message par le bloc XMIT à
partir du 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 à partir du 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
Mis à 1 lorsque le port sélectionné doit fonctionner
en mode RS485. Sinon, il est à 0 par défaut, valeur
correspondant au mode RS232.
Bit 4
Réservé
Bit 5 entrée au format ASCII terminée Mis à 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épart 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. Reportez-vous à la section
"Fonction d'entrée au format ASCII terminée (voir
Fonction d'entrée au format ASCII terminée, p. 29)"
pour plus de détails.
33002197
23
XMIT : Transférer (Momentum)
24
Bit
Définition
Bit 6 Entrée ASCII simple
Mis à 1 pour supprimer les caractères ASCII du
tampon FIFO pour l'écriture dans le tableau
MSG_IN. Le pointeur de message
(XMIT_CFG.MessagePtr) est automatiquement
réglé sur l'adresse de registre définie pour le tableau
MSG_IN. Reportez-vous à la section "Fonction
d'entrée ASCII simple (voir Fonction d'entrée ASCII
simple, p. 31)" pour plus de détails.
Bit 7 Validation des messages sous
forme de chaînes ASCII
Mis à 1 lorsque vous souhaitez envoyer des
messages ASCII à partir de l'automate. Le bloc
XMIT envoie des chaînes ASCII d'une longueur
maximum de 1024 caractères. Programmez le
message ASCII dans le tableau MSG_OUT. Deux
caractères sont autorisés par registre. Utilisez
uniquement le bit 7 OU le bit 8, n'essayez pas
d'utiliser les deux. Reportez-vous à la section
"Messages sous forme de chaînes ASCII (voir
Messages sous forme de chaînes ASCII, p. 31)"
pour plus de détails.
Bit 8 Validation des messages
Modbus
Mis à 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. Utilisez
uniquement le bit 7 OU le bit 8, n'essayez pas
d'utiliser les deux.
Bit 9 Validation du tampon FIFO de
réception ASCII
Mis à 1 pour permettre au bloc XMIT de prendre le
contrôle du port sélectionné (1 ou 2) à partir de
l'automate. Le bloc commence à recevoir des
caractères ASCII dans un tampon FIFO circulaire
vide de 512 octets. Reportez-vous à la section
"Tampon FIFO de réception ASCII (voir Tampon
FIFO de réception ASCII, p. 41)" pour plus de
détails.
33002197
XMIT : Transférer (Momentum)
33002197
Bit
Définition
Bit 10 Validation du caractère de
retour arrière
Mis à 1 pour permettre une utilisation particulière du
caractère de retour arrière ASCII (BS, 8Hex). Lors
de l'utilisation d'une entrée ASCII simple (bit 6) ou
d'une entrée au format ASCII terminée (bit 5),
chaque caractère de retour arrière est supprimé du
tampon FIFO et peut ou NON être stocké dans le
tableau MSG_IN. Reportez-vous à la section
"Validation du caractère de retour arrière (voir
Validation du caractère de retour arrière, p. 42)"
pour plus de détails.
Bit 11 Validation du contrôle de flux
RTS/CTS
Mis à 1 pour autoriser le contrôle de flux matériel
duplex utilisant les 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. Reportez-vous à la section
"Validation du contrôle de flux RTS/CTS (voir
Validation du contrôle de flux RTS/CTS, p. 43)" pour
plus de détails.
Bit 12 Validation du contrôle de flux
Xon/Xoff
Mis à 1 pour permettre un contrôle de flux logiciel
duplex utilisant les 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. Reportez-vous à la section "Validation du
contrôle de flux Xon/Xoff (voir Validation du contrôle
de flux Xon/Xoff, p. 44)" pour plus de détails.
Bit 13 Modem à numérotation par
impulsion
Mis à 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 composition étant une
chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du
numéro à composer.
25
XMIT : Transférer (Momentum)
26
Bit
Définition
Bit 14 Raccrochage du modem
Mis à 1 lorsque vous utilisez un modem à
numérotation automatique compatible Hayes et que
vous souhaitez raccrocher le modem. Vous devez
utiliser le programme par 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 raccrochés 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é
Mis à 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 composition doit être
placé dans le tableau MSG_OUT et la longueur du
message dans XMIT_SET.MessageLen. Les
numéros composés au clavier 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 composition étant une
chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du
numéro à composer.
Bit 16 Initialisation du modem
Mis à 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
d'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.
33002197
XMIT : Transférer (Momentum)
XMIT_CFG.
MessagePtr
Ce pointeur est automatiquement traité par le bloc XMIT. Il désigne le début du
tableau de messages, qui peut être le tableau MSG_IN (voir MSG_IN, p. 18) ou
MSG_OUT (voir MSG_OUT, p. 18), selon la fonction XMIT choisie. Chaque
élément du tableau (registre 4x) peut contenir jusqu'à deux caractères ASCII.
Chaque chaîne ASCII peut avoir une longueur maximum de 1024 caractères. Par
exemple, si vous souhaitez envoyer 10 messages ASCII à partir de l'automate, vous
devez transférer les 10 chaînes de caractères ASCII une par une dans le tableau
MSG_OUT après chaque exécution réussie du bloc XMIT.
XMIT_CFG.
MessageLen
Entrez la longueur du message courant. 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 réglée sur cinq. Lorsque le bloc XMIT
reçoit l'entrée au format ASCII terminée, la longueur du message doit être réglée sur
cinq, sinon il en résulte une erreur. Lorsque le bloc XMIT envoie des messages
Modbus pour les codes de fonction 20 et 21, la longueur du message est automatiquement réglée sur six. Lorsque le bloc XMIT envoie des messages ASCII, la
longueur de chaque message peut être comprise entre 1 et 1024 caractères ASCII.
XMIT_CFG.Resp
TimeOut
Entrez la valeur du délai en millisecondes (ms) correspondant au temps d'attente du
bloc XMIT avant réception d'une réponse correcte de la part d'un équipement
esclave (automate, modem, etc.). En outre, ce délai s'applique aux transmissions
ASCII et aux opérations de contrôle de flux. Lorsque la réponse n'est pas
complètement structurée dans le délai imparti, le bloc XMIT génère une erreur. Les
valeurs correctes sont comprises entre 0 et 65535 ms. Le timeout commence à
s'écouler après l'envoi du dernier caractère du message.
XMIT_CFG.Retry
Limit
Entrez le nombre de tentatives d'envoi d'un message effectuées par le bloc XMIT
avant réception d'une réponse correcte de la part d'un équipement esclave
(automate, modem, etc.). Lorsque la réponse n'est pas complètement 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 65535. Ce champ est utilisé
conjointement avec le timeout de réponse (4x + 11).
XMIT_CFG.Start
Delay
Lorsque le contrôle RTS/CTS est activé, entrez la valeur du délai en millisecondes
(ms) déterminant le temps d'attente du bloc XMIT entre la réception du signal CTS
et l'envoi d'un message à partir du port 1 de l'automate. Vous pouvez également
utiliser ce registre lorsque le contrôle RTS/CTS n'est PAS activé. Dans ce cas, la
valeur du délai entré détermine le temps d'attente du bloc XMIT avant l'envoi d'un
message à partir du port 1 de l'automate. Vous pouvez l'utiliser comme un
temporisateur avant message. Les valeurs correctes sont comprises entre 0 et
65535 ms.
33002197
27
XMIT : Transférer (Momentum)
XMIT_CFG.Xm
EndDelay
Lorsque le contrôle RTS/CTS est activé, entrez la valeur du délai en millisecondes
(ms) déterminant le temps pendant lequel le bloc XMIT garde le signal RTS activé
après l'envoi du message à partir du port 1 de l'automate. Après l'expiration du
délai, 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 valeur du
délai entré détermine le temps d'attente du bloc XMIT après l'envoi d'un message à
partir du port 1 de l'automate. Vous pouvez l'utiliser comme un temporisateur après
message. Les valeurs correctes sont comprises entre 0 et 65535 ms.
XMIT_CFG.Xm
CurrentRetry
La valeur affichée indique le nombre courant de tentatives effectuées par le bloc
XMIT. Ce registre est en lecture seule.
28
33002197
XMIT : Transférer (Momentum)
Fonctions ASCII XMIT
Présentation
Le bloc fonction XMIT prend en charge les fonctions de communication ASCII
suivantes :
l entrée ASCII simple
l entrée au format ASCII terminée
l messages sous forme de chaînes ASCII
Fonction
d'entrée au
format ASCII
terminée
Lorsque le bit 5 (entrée au format ASCII terminée) du mot de commande
XMIT_CFG.CommandWord est à 1, le tableau MSG_OUT doit contenir le tableau
de définition d'entrée ASCII. La longueur du tableau de définition au format ASCII
terminé est de cinq registres. La longueur du message XMIT_CFG.MessageLen est
définie automatiquement. Le tableau de définition d'entrée au format ASCII terminée
est présenté ci-dessous.
Tableau de définition d'entrée au format ASCII terminée
Mot
Octet de poids fort
Octet de poids faible
MSG_OUT[1]
Nombre de caractères de départ
(contenu autorisé = 0, 1, 2)
Nombre de caractères de fin
(contenu autorisé = 1, 2)
MSG_OUT[2]
Premier caractère de départ
Deuxième caractère de départ
MSG_OUT[3]
Premier caractère de fin
Deuxième caractère de fin
MSG_OUT[4]
Inutilisé. Le registre de destination est automatiquement réglé sur MSG_IN
MSG_OUT[5]
Compteur : compte le nombre de caractères reçus écrits dans les registres
de destination de stockage 4x
Au cours du processus, MSG_OUT[5] contient le cumul des caractères écrits dans
le tableau MSG_IN. Après réception de la chaîne de fin, la sortie OP_SUC du bloc
XMIT s'ACTIVE et MSG_OUT[5] contient la longueur totale de la chaîne reçue, y
compris les chaînes de départ et de fin. A ce stade, le bloc XMIT contrôle toujours
le port et continue à sauvegarder les caractères récemment reçus dans le tampon
FIFO de réception ASCII, car le bit 9 (Validation du tampon FIFO de réception
ASCII) du mot XMIT_CFG.CommandWord est à 1. A l'aide du programme, vous
pouvez mettre le bit Entrée ASCII simple à 0 avant le prochain cycle, tout en laissant
le bit Validation du tampon FIFO de réception ASCII à 1. MSG_IN n'est donc PAS
écrasé par les données FIFO plus récentes, toujours collectées. A l'aide du
programme, vous pouvez mettre à 0 le bit 9 (Validation du tampon FIFO de
réception ASCII) et le bit 5 (entrée au format ASCII terminée) pour redonner le
33002197
29
XMIT : Transférer (Momentum)
contrôle du port à l'automate. Lorsque le tableau MSG_IN contient trop de
caractères et qu'AUCUN caractère de fin n'a été détecté, ou que le tableau MSG_IN
est en dehors de la plage autorisée pour l'automate configuré, une erreur est
générée dans XMIT_CFG.FaultStatus. La limite de caractères est le nombre le plus
petit entre 1024 et deux fois la taille du tableau MSG_IN. Nous vous recommandons
de placer le tableau MSG_IN pour l'entrée au format ASCII terminée après tous les
autres registres 4x utilisés dans l'application pour éviter qu'ils ne soient écrasés par
l'entrée ASCII en cas d'absence de caractère de fin. Vous pouvez également
affecter 512 registres au tableau MSG_IN.
Exemple d'entrée
au format ASCII
terminée
Supposez que le bloc XMIT est activé avec les bits 9 et 5 du mot de commande.
Validez le tampon FIFO ASCII et l'entrée au format ASCII terminée. Le port reçoit
la chaîne ASCII suivante : "AMScrlf$weight= 1245 GRAMScrlf$wei". Reportezvous au tableau de définition d'entrée ASCII présentant le contenu indiqué par ( )
utilisé dans cet exemple.
Exemple de tableau de définition d'entrée au format ASCII terminée (contenu)
30
Mot
Octet de poids fort
Octet de poids faible
MSG_OUT[1]
Nombre de caractères de départ
(0x01)
Nombre de caractères de fin (0x02)
MSG_OUT[2]
Premier caractère de départ ("$")
Deuxième caractère de départ
(inutilisé)
MSG_OUT[3]
Premier caractère de fin ("cr")
Deuxième caractère de fin ("lf")
MSG_OUT[4]
n.a.
n.a.
MSG_OUT[5]
Compteur : compte le nombre de caractères reçus écrits dans les registres
de destination de stockage 4x
33002197
XMIT : Transférer (Momentum)
Le bloc XMIT s'ACTIVE, puis supprime les cinq premiers caractères du tampon
FIFO ("AMScrlf") car ils ne correspondent pas au premier caractère de départ ("$").
Au cours du cycle logique, après réception de "$", le bloc XMIT reste ACTIF et copie
le "$" et les caractères suivants dans le tableau MSG_IN, en mettant à jour le mot
MSG_OUT[5] du tableau de définition d'entrée ASCII avec le décompte effectué
jusque-là, au fur et à mesure de l'entrée des caractères. Après réception du dernier
caractère de fin, la sortie OP_SUC (exécution réussie) est activée et le mot
MSG_OUT[5] du tableau de définition d'entrée ASCII contient la longueur totale,
égale à 0x0016. Le tableau MSG_IN contient : "$w", "ei", "gh", "t", "=", "12", "45",
"G", "RA", "MS", "cflf". Au cours du cycle où la sortie OP_SUC (exécution réussie)
est activée, les caractères déjà reçus du message suivant ("$wei"), arrivés après la
chaîne de fin, restent dans le tampon FIFO d'entrée ASCII. Le programme peut
ainsi désactiver l'entrée au format ASCII terminée avant l'exécution du cycle suivant
du bloc XMIT pour ce port, en gardant les caractères dans le tampon FIFO jusqu'à
ce que l'automate ait terminé le traitement du message courant, ce qui peut prendre
plusieurs cycles.
Fonction
d'entrée ASCII
simple
Tous les caractères entrants sont placés dans le tableau MSG_IN. Deux caractères
sont stockés dans chaque élément. Le premier caractère transféré depuis le
tampon FIFO est stocké dans l'octet de poids fort du premier élément. Le deuxième
caractère transféré depuis le tampon FIFO est stocké dans l'octet de poids faible du
premier élément. Le troisième caractère est stocké dans l'octet de poids fort du
deuxième élément, etc. La variable de longueur du message
(XMIT_CFG.MessageLen) contient la longueur du message (1 à 1024). Par
conséquent, la variable de longueur du message (XMIT_CFG.MessageLen)
diminue au fur et à mesure du transfert des caractères entre le tampon FIFO et le
tableau MSG_IN. A la fin du transfert du message complet, la variable de longueur
du message (XMIT_CFG.MessageLen) reprend sa valeur initiale et la sortie
OP_SUC (exécution réussie) du bloc XMIT est activée. Pour entrer la longueur de
message voulue, utilisez l'élément XMIT_SET.MessageLen.
Note : Lorsque le bit 6 (Entrée ASCII simple) et le bit 9 (Tampon FIFO de réception
ASCII) restent à 1, de nouveaux caractères sont constamment transférés du
tampon FIFO vers le même tableau MSG_IN ; ils écrasent donc constamment les
caractères précédents qui y stockés.
Messages sous
forme de chaînes
ASCII
33002197
Lorsque le bit 7 (Messages sous forme de chaînes) du mot de commande
XMIT_CFG.CommandWord est à 1, le tableau MSG_OUT doit contenir les
informations ASCII à transmettre. Deux caractères sont stockés dans chaque
élément du tableau MSG_OUT. La longueur du message XMIT_SET.MessageLen
doit être définie en fonction de la longueur du message à transmettre.
31
XMIT : Transférer (Momentum)
Fonctions de communication XMIT
Mot de
commande XMIT
Le bloc de communication XMIT exécute les six fonctions présentées ci-dessous.
Pour chaque fonction, certains bits du mot de commande
(XMIT_CFG.CommandWord) doivent être définis.
Bits du mot de
commande
Fonctions XMIT_CFG.CommandWord et bits associés
Fonction
XMIT_CFG.Command
Word
Bits du mot de
Bits à mettre à 0
commande à mettre à
1
entrée au format ASCII
terminée (Bit 5=1) *
2, 3, 9, 10, 11, 12
6, 7, 8, 13, 14, 15, 16
Entrée ASCII simple (Bit
6=1) *
2, 3, 9, 10, 11, 12
5, 7, 8, 13, 14, 15, 16
Sortie ASCII simple (Bit 7=1) 2, 3, 9, 10, 11, 12
5, 6, 8, 13, 14, 15, 16
Sortie modem (Bit 7=1)
2, 3, 13, 14, 15, 16
5, 6, 8, 9, 10, 11, 12 (plus un et UN
SEUL bit parmi les bits 13, 14, 15 et
16 à 1, les trois autres devant être à
0)
Sortie des messages
Modbus maîtres (Bit 8=1)
2, 3
5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16
Validation du tampon FIFO
de réception ASCII
uniquement (Bit 9=1)
2, 3, 10, 11, 12
5, 6, 7, 8, 13, 14, 15, 16
Note : * Lors de l'utilisation de l'une de ces fonctions, vous DEVEZ mettre
Validation du tampon FIFO de réception ASCII (bit 9) à 1.
32
33002197
XMIT : Transférer (Momentum)
Fonctions de modem XMIT
Présentation
Le bloc fonction XMIT permet de communiquer avec un modem compatible Hayes
en utilisant les fonctions répertoriées dans le tableau suivant.
Fonctions de modem
Bit du mot de commande Fonction
Bit 13
Modem à numérotation par impulsion
Bit 14
Raccrochage du modem
Bit 15
Modem à numérotation à tonalité
Bit 16
Initialisation du modem
Initialisation du
modem
Mis à 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 d'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.
Modem à
numérotation par
impulsion
Mis à 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 composition étant une chaîne ASCII, le bit 7 doit être à 1 avant
l'envoi du numéro à composer.
Modem à
numérotation à
tonalité
Mis à 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 composition doit être placé dans le tableau MSG_OUT et la longueur
du message dans XMIT_SET.MessageLen. Les numéros composés au clavier 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 composition étant une chaîne
ASCII, le bit 7 doit être à 1 avant l'envoi du numéro à composer.
33002197
33
XMIT : Transférer (Momentum)
Raccrochage du
modem
34
Mis à 1 lorsque vous utilisez un modem à numérotation automatique compatible
Hayes et que vous souhaitez raccrocher le modem. Vous devez utiliser le
programme 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 raccrochés
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.
33002197
XMIT : Transférer (Momentum)
Fonctions Modbus du XMIT
Présentation
Le bloc fonction XMIT prend en charge les codes fonction Modbus suivants :
l
l
l
l
01 ... 06
08
15 et 16
20 et 21
Pour les messages Modbus, la matrice MSG_OUT doit contenir le tableau de
définition Modbus. Le code fonction 01, 02, 03, 04, 05, 06, 15 et 16 du tableau de
définition Modbus comporte cinq chiffres. Vous devez définir
XMIT_SET.MessageLen sur 5 pour que le XMIT fonctionne correctement. Le
tableau de définition Modbus est présenté dans le tableau ci-dessous.
Codes fonction
Modbus 01...06
Pour les messages Modbus, la matrice MSG_OUT doit contenir le tableau de
définition Modbus. Le code fonction 01, 02, 03, 04, 05, 06, 15 et 16 du tableau de
définition Modbus comporte cinq chiffres. Vous devez définir
XMIT_SET.MessageLen sur 5 pour que le XMIT fonctionne correctement. Le
tableau de définition Modbus est présenté dans le tableau ci-dessous.
Codes fonction du tableau de définition Modbus (01 ... 06, 15 et 16)
33002197
Contenu
Description
Code fonction
Modbus
(MSG_OUT[1])
Le XMIT prend en charge les codes fonction suivants :
01 = Lire plusieurs bobines (0x)
02 = Lire plusieurs entrées TOR (1x)
03 = Lire plusieurs registres de maintien (4x)
04 = Lire plusieurs registres d'entrée (3x)
05 =Ecrire une seule bobine (0x)
06 = Ecrire des registres de maintien uniques (4x)
15 = Ecrire plusieurs bobines (0x)
16 = Ecrire plusieurs registres de maintien (4x)
Quantité
(MSG_OUT[2])
Entrez le volume de données dont vous souhaitez l'écriture sur l'automate
esclave et le volume de données dont vous souhaitez la lecture à partir de
l'automate esclave. Entrez 100 pour lire 100 registres de maintien à partir
de l'automate esclave et entrez 32 pour écrire 32 bobines sur un automate
esclave. La quantité autorisée dépend du modèle de l'automate. Pour plus
d'informations sur les limitations, reportez-vous à l'annexe A.
35
XMIT : Transférer (Momentum)
36
Contenu
Description
Adresse de
l'automate
esclave
(MSG_OUT[3])
Entrez l'adresse de l'automate Modbus esclave. La plage d'adresses est
généralement comprise entre 1 et 247. Pour envoyer un message Modbus
à plusieurs automates, indiquez 0 pour l'adresse de l'automate esclave. Il
s'agit du mode de diffusion. Le mode de diffusion prend uniquement en
charge les codes fonction Modbus qui permettent d'écrire des données sur
des automates esclaves depuis l'automate maître. Le mode de diffusion
NE prend PAS en charge les codes fonction Modbus qui permettent de lire
des données à partir d'automates esclaves.
Zone de
données de
l'automate
esclave
(MSG_OUT[4])
Pour une commande de lecture, la zone de données de l'automate esclave
correspond à la source des données. Pour une commande d'écriture, la
zone de données de l'automate esclave correspond à la cible des
données. Si par exemple vous souhaitez lire des bobines (00300 ...
00500) à partir d'un automate esclave, entrez 300 dans ce champ.
Lorsque vous souhaitez écrire des données dans le registre (40100) d'un
automate esclave à partir d'un automate maître, entrez 100 dans ce
champ. En fonction du type de la commande Modbus (écriture ou lecture),
les zones de données source et cible doivent être définies comme indiqué
dans le tableau Zones de données source et cible ci-dessous.
Zone de
données de
l'automate
maître
(MSG_OUT[5])
Pour une commande de lecture, la zone de données de l'automate maître
est la zone cible des données renvoyées par l'esclave. Pour une
commande d'écriture, la zone de données de l'automate maître
correspond à la source des données. Si par exemple vous souhaitez écrire
des bobines (00016 ... 00032) situées dans l'automate maître sur un
automate esclave, entrez 16 dans ce champ. Si vous souhaitez lire des
registres d'entrée (30001 ... 30100) d'un automate esclave et placer les
données dans la zone de données de l'automate maître (40100 .... 40199),
entrez 100 dans ce champ. Selon le type de commande Modbus (lecture
ou écriture), les zones de données source et cible doivent être conformes
à celles du tableau ci-dessous.
33002197
XMIT : Transférer (Momentum)
Zones de données source et cible pour les codes de fonction (01 à 06, 15 et 16)
Code fonction
Zone de données de
l'automate maître
Zone de données de
l'automate esclave
03 (Lire plusieurs 4x)
4x (cible)
4x (source)
04 (Lire plusieurs 3x)
4x (cible)
3x (source)
01 (Lire plusieurs 0x)
0x (cible)
0x (source)
02 (Lire plusieurs 1x)
0x (cible)
1x (source)
16 (Ecrire plusieurs 4x)
4x (source)
4x (cible)
15 (Ecrire plusieurs 0x)
0x (source)
0x (cible)
05 (Ecrire 0x unique)
0x (source)
0x (cible)
06 (Ecrire 4x unique)
4x (source)
4x (cible)
Pour envoyer 20 messages Modbus depuis l'automate, vous devez transférer 20
tables de définition Modbus l'une après l'autre dans MSG_OUT après chaque
opération réussie de XMIT. Vous pouvez également programmer 20 blocs XMIT
différents, puis les activer l'un après l'autre en utilisant la logique utilisateur.
33002197
37
XMIT : Transférer (Momentum)
Code fonction
Modbus (08)
Le tableau de définition Modbus pour les codes fonction Modbus 08 comporte cinq
chiffres. Vous devez définir XMIT_SET.MessageLen sur 5 pour que XMIT
fonctionne correctement. Pour les messages Modbus, la matrice MSG_OUT doit
contenir le tableau de définition Modbus. Le tableau de définition Modbus est
présenté ci-dessous.
Codes fonction du tableau de définition Modbus (08)
Contenu
Description
Code fonction Modbus
(MSG_OUT[1])
Le bloc XMIT prend en charge le code fonction 08 =
Diagnostics.
Diagnostics (MSG_OUT[2])
Entrez la valeur décimale du code de sous-fonction du
diagnostic dans ce champ pour exécuter la fonction de
diagnostic voulue. Les sous-fonctions de diagnostic
suivantes sont prises en charge :
Code
Description
00
Renvoyer les données de requête
01
Relancer l'option comm.
02
Renvoyer registre de diagnostic
03
Changer le séparateur d'entrée ASCII
04
Forcer le mode écoute seul
05 ... 09 Réservé
10
Réinitialiser les compteurs (et les registres de
diagnostic dans 384, 484)
11
Renvoyer le compte de messages bus
12
Renvoyer le compte d'erreurs de comm. bus
13
Renvoyer le compte d'exceptions de bus
14 ... 15 Non pris en charge
16
Donner le compte de NAK esclave
17
Donner le compte d'esclaves occupés
18
Renvoyer le compte de dépassement de car. de
bus
19 ... 21 Non pris en charge
Adresse de l'automate esclave Entrez l'adresse de l'automate Modbus esclave. La plage
(MSG_OUT[3])
d'adresses Modbus est généralement comprise entre 1 et
247. Le code fonction 8 NE PREND PAS en charge le mode
diffusion (adresse 0).
Contenu du champ de
données de la fonction de
diagnostic (MSG_OUT[4])
38
Vous devez entrer la valeur décimale nécessaire pour la
zone de données de la sous-fonction de diagnostic
particulière. Pour les sous-fonctions 02, 04, 10, 11, 12, 13,
16, 17 et 18, cette valeur est automatiquement réglée sur
zéro. Pour les sous-fonctions 00, 01 et 03, vous devez
entrer la valeur voulue dans le champ de données. Pour
plus de détails, reportez-vous au document Modicon
Modbus Protocol Reference Guide (PI-MBUS-300).
33002197
XMIT : Transférer (Momentum)
Codes fonction
Modbus (20, 21)
Contenu
Description
Zone de données de
l'automate maître
(MSG_OUT[5])
Pour toutes les sous-fonctions, la zone de données de
l'automate maître est la destination des données renvoyées
par l'esclave. Vous devez indiquer un registre 4x marquant
le début de la zone de données dans laquelle les données
renvoyées sont placées. Par exemple, pour placer les
données dans la zone de données de l'automate maître
commençant à (40100), entrez 100 dans ce champ. La
sous-fonction 04 NE RENVOIE PAS de réponse. Pour plus
de détails, reportez-vous au document Modicon Modbus
Protocol Reference Guide (PI-MBUS-300).
Pour les messages Modbus, la matrice MSG_OUT doit contenir le tableau de
définition Modbus. Le tableau de définition Modbus pour les codes fonction Modbus
20 et 21 comporte six registres. Vous devez définir XMIT_SET.MessageLen sur 6
pour que le XMIT fonctionne correctement. Le tableau de définition Modbus est
présenté ci-dessous.
Codes fonction du tableau de définition Modbus (20, 21)
33002197
Contenu
Description
Code fonction Modbus
(MSG_OUT[1])
Le XMIT prend en charge les codes fonction suivants
: 20 = Lire référence générale (6x) 21 = Ecrire
référence générale (6x)
Quantité (MSG_OUT[2])
Entrez la quantité de données à écrire ou à lire dans
l'automate esclave. Entrez 100 pour lire 100 registres
de maintien à partir de l'automate esclave et entrez 32
pour écrire 32 bobines sur un automate esclave. Il
existe une taille limite, qui dépend du modèle de
l'automate. Reportez-vous à l'annexe A pour obtenir
tous les détails sur les limites.
Adresse de l'automate esclave
(MSG_OUT[3])
Entrez l'adresse de l'automate Modbus esclave. La
plage des adresses Modbus va généralement de 1 à
247. Les codes fonction 20 et 21 ne prennent PAS en
charge le mode diffusion (adresse 0).
39
XMIT : Transférer (Momentum)
40
Contenu
Description
Zone de données de l'automate
esclave (MSG_OUT[4])
Pour une commande de lecture, la zone de données
de l'automate esclave est la source des données. Pour
une commande d'écriture, la zone de données de
l'automate esclave est la destination des données. Par
exemple, lorsque vous souhaitez lire des registres (de
600300 à 600399) depuis un automate esclave, entrez
300 dans ce champ. Lorsque vous souhaitez écrire
des données dans le registre (600100) d'un automate
esclave à partir d'un automate maître, entrez 100 dans
ce champ. Selon le type de commande Modbus
(lecture ou écriture), les zones de données source et
cible doivent être conformes à celles du tableau cidessous. Le plus petit registre étendu correspond au
registre "zéro" (600000). Le plus petit registre de
maintien correspond au registre "un" (400001).
Zone de données de l'automate
maître (MSG_OUT[5])
Pour une commande de lecture, la zone de données
de l'automate maître est la destination des données
renvoyées par l'esclave. Pour une commande
d'écriture, la zone de données de l'automate maître
est la source des données. Par exemple, lorsque vous
souhaitez écrire des registres (de 40016 à 40032),
situés dans l'automate maître, vers des registres 6x,
situés dans un automate esclave, entrez 16 dans le
champ. Lorsque vous souhaitez lire des registres 6x
(de 600001 à 600100) depuis un automate esclave, et
placer les données dans la zone de données de
l'automate maître (de 40100 à 40199), entrez 100
dans ce champ. Selon le type de commande Modbus
(lecture ou écriture), les zones de données source et
cible doivent être conformes à celles du tableau cidessous. Le plus petit registre étendu correspond au
registre "zéro" (600000). Le plus petit registre de
maintien correspond au registre "un" (400001).
Nombre de fichiers (MSG_OUT[6])
Entrez le nombre de fichiers pour les registres 6x à
écrire ou à lire. (1 ... 10) selon la taille de la zone de
données du registre étendu. 600001 correspond à
60001 fichier 1 et 690001 correspond à 60001 fichier
10, comme considéré par l'éditeur de données de
référence.
33002197
XMIT : Transférer (Momentum)
Zones de données source et cible des codes fonction (20, 21)
Code fonction
Zone de données de
l'automate maître
Zone de données de
l'automate esclave
20 (Lire référence générale 6x) 4x (cible)
6x (source)
21 (Ecrire référence générale
6x)
6x (cible)
4x (source)
Pour envoyer 20 messages Modbus depuis l'automate, vous devez transférer 20
tables de définition Modbus l'une après l'autre dans MSG_OUT après chaque
opération réussie de XMIT. Vous pouvez également programmer 20 blocs XMIT
différents, puis les activer l'un après l'autre en utilisant la logique utilisateur.
Tampon FIFO et contrôle de flux
Présentation
Le bloc fonction XMIT permet à l'utilisateur de définir l'utilisation d'un tampon FIFO
de réception, du contrôle de flux et de la fonction des caractères de retour arrière
reçus.
Tampon FIFO de
réception ASCII
La mise à 0 de ce bit désactive la fonction. Lorsque le tampon FIFO reçoit
512 caractères, un débordement interne se produit. Dans ce cas, tous les
caractères suivants sont ignorés, toutes les opérations d'entrée ASCII (au format
simple et terminé) sont arrêtées et le bloc renvoie une erreur jusqu'à ce que vous
basculiez l'état du bit 9. Lorsque vous basculez l'état du bit 9, toutes les données
du tampon FIFO sont supprimées, les deux bits de contrôle des entrées ASCII sont
ignorés (Entrée ASCII simple (bit 6) et entrée au format ASCII terminée (bit 5)) et
lorsque aucun contrôle de sortie ASCII n'est sélectionné, le contrôle du port (1 ou 2)
revient à l'automate. Vous devez mettre à 1 le bit 5 (entrée au format ASCII
terminée) ou le bit 6 (Entrée ASCII simple) pour supprimer les caractères ASCII du
tampon FIFO pour le traitement. Il est impossible de mettre à 1 plusieurs des trois
bits suivants simultanément : Entrée au format ASCII terminée (bit 5), Entrée ASCII
simple (bit 6) ou Sortie ASCII (bit 7). L'opération duplex peut être effectuée en
mettant à 1 le bit 9 (Tampon FIFO de réception ASCII) et le bit 7 (Sortie ASCII).
Vous pouvez ainsi envoyer une entrée ASCII simple à partir de l'automate tout en
continuant à recevoir des caractères ASCII dans le tampon FIFO. Cette fonction est
utile lors de l'utilisation de terminaux muets. Lorsque le bit 9 (Tampon FIFO de
réception ASCII) est à 1, aucun des contrôles de sortie ASCII suivants n'est
autorisé : Messages Modbus maîtres (bit 8), Modem à numérotation par impulsion
(bit 13), Raccrochage du modem (bit 14), Modem à numérotation à tonalité (bit 15)
et Initialisation du modem (bit 16).
33002197
41
XMIT : Transférer (Momentum)
Validation du
caractère de
retour arrière
Lorsqu'un caractère de retour arrière est détecté, il N'EST PAS stocké dans le
tableau MSG_IN ; en fait, il supprime le caractère précédent et diminue donc le
compteur de caractères (MSG_OUT[5]) (bit 5) du tableau de définition d'entrée
ASCII. Par comparaison, lorsqu'un caractère ASCII standard est détecté, il est
stocké dans le tableau MSG_IN et augmente le compteur de caractères (bit 5) du
tableau de définition d'entrée ASCII.
Note : Les caractères de retour arrière NE PEUVENT PAS supprimer les
caractères d'un tableau MSG_IN vide ; par conséquent, le compteur de caractères
(bit 5) du tableau de définition d'entrée ASCII ne peut jamais être inférieur à 0.
Cette fonctionnalité spéciale de caractère de retour arrière et un écho interne activé
sur le terminal sont très utiles lors de l'utilisation de terminaux muets. Un seul bloc
XMIT d'entrée au format ASCII terminée recherchant un "cr" est activé lorsque le
bit 9 (Tampon FIFO de réception ASCII) et le bit 10 (caractère de retour arrière) sont
à 1. Aucun autre programme par schémas à contacts n'est nécessaire lorsque vous
tapez et éditez des caractères en utilisant la touche retour à la volée. Lorsque vous
tapez "cr", le bloc XMIT active la sortie inférieure d'exécution réussie et les données
corrigées sont toutes alignées correctement dans le tableau MSG_IN.
42
33002197
XMIT : Transférer (Momentum)
Validation du
contrôle de flux
RTS/CTS
Les informations suivantes s'appliquent au mode de sortie. L'état du bloc XMIT
passe à BLOQUE lorsque l'équipement récepteur indique qu'il ne peut traiter les
caractères supplémentaires en désactivant le signal CTS. De même, l'état du bloc
XMIT passe à DEBLOQUE lorsque le signal CTS est activé et que l'équipement
récepteur indique qu'il PEUT traiter des caractères supplémentaires. Lorsque la
transmission est DEBLOQUEE et que le bit 7 (Sortie ASCII simple) et le bit 11
(Contrôle de flux RTS/CTS) sont à 1, les données de sortie de la transmission sont
envoyées par paquets de 16 octets. Une fois tous les paquets envoyés, la sortie
OP_SUC du bloc XMIT est activée pour indiquer le succès de l'opération. Si, au
cours d'une transmission, elle passe soudainement à BLOQUEE, seuls les
caractères restants dans le paquet de sortie courant sont envoyés (16 caractères
au plus) et le bloc XMIT reste ACTIF indéfiniment. Ce n'est que lors de l'activation
du signal CTS que la sortie ASCII reprend l'envoi de tous les paquets de sortie
restants. Les informations suivantes s'appliquent au mode d'entrée. RTS étant un
signal de sortie, il peut être utilisé indépendamment du processus de transmission
de sortie ASCII pour BLOQUER ou DEBLOQUER des équipements émetteurs.
Lorsque le bit 9 (Tampon FIFO de réception ASCII) est à 1, le contrôle de flux RTS/
CTS fonctionne en mode d'entrée. Lorsque le bit 9 (Tampon FIFO de réception
ASCII) est à 1 et qu'aucune des deux entrées ASCII n'est activée (Entrée ASCII
simple (bit 6) ou Entrée au format ASCII terminée (bit 5)), les caractères reçus
remplissent le tampon FIFO dans lequel ils sont insérés. Pendant ce temps, le
contrôle de flux RTS (bit 11) est activé, ce qui permet à l'équipement émetteur de
continuer. Lorsque le tampon FIFO est plus qu'aux trois-quarts plein, le bit 11
(Contrôle de flux RTS) est mis à 0 pour BLOQUER l'équipement émetteur. Ce bit
reste à 0 jusqu'à ce que l'entrée ASCII simple (bit 6) ou l'entrée au format ASCII
terminée (bit 5) ait supprimé assez de caractères du tampon FIFO pour réduire son
contenu à moins d'un quart et permettre au bit 11 (Contrôle de flux RTS) de passer
à 1.
Note : L'algorithme du contrôle de flux RTS/CTS est différent de celui du contrôle
modem RTS/CTS. Le premier est lié au débordement du tampon de réception
duplex. Le second concerne l'accès du processus de transmission à un support
de transmission partagé. Par conséquent, il est incorrect de demander
simultanément deux de ces algorithmes RTS/CTS.
Note : Vous NE POUVEZ PAS sélectionner n'importe quel type de contrôle de flux
RTS/CTS (bit 11) lorsque le port est en mode RS 485 (bit 3) car ces signaux
N'EXISTENT PAS en mode RS 485.
33002197
43
XMIT : Transférer (Momentum)
Validation du
contrôle de flux
Xon/Xoff
Les informations suivantes s'appliquent au mode de sortie. L'état du bloc XMIT
passe à BLOQUE lors de la réception d'un caractère Xoff. De même, l'état du bloc
XMIT passe à DEBLOQUE lors de la réception d'un caractère Xon. Xon ou Xoff ne
sont en aucun cas insérés dans le tampon FIFO. Lorsque la transmission est
DEBLOQUEE et que le bit 7 (Sortie ASCII simple) et le bit 12 (Contrôle de flux Xon/
Xoff) sont à 1, les données de sortie de la transmission sont envoyées par paquets
de 16 octets. Une fois tous les paquets envoyés, la sortie inférieure du bloc XMIT
est activée pour indiquer le succès de l'opération. Si, au cours d'une transmission,
elle passe soudainement à BLOQUEE, seuls les caractères restants dans le paquet
de sortie courant sont envoyés (16 caractères au plus) et le bloc XMIT reste ACTIF
indéfiniment. Ce n'est que lors de la réception du caractère Xon suivant que la sortie
ASCII reprend l'envoi de tous les paquets de sortie restants. Les informations
suivantes s'appliquent au mode d'entrée. Xon/Xoff peut être utilisé pour BLOQUER
ou DEBLOQUER des équipements émetteurs. Lorsque le bit 9 (Tampon FIFO de
réception ASCII) est à 1, le contrôle de flux Xon/Xoff (bit 12) fonctionne en mode
d'entrée. Lorsque le bit 9 (Tampon FIFO de réception ASCII) est à 1 et qu'aucune
des deux entrées ASCII n'est activée (Entrée ASCII simple (bit 6) ou Entrée au
format ASCII terminée (bit 5)), les caractères reçus remplissent le tampon FIFO
dans lequel ils sont insérés. Lorsque le tampon FIFO est plus qu'aux trois-quarts
plein et qu'il reçoit des caractères supplémentaires, la variable d'état du tampon
FIFO est mise à 1. Elle entraîne l'envoi du caractère XOFF à partir du port série
après un retard de 16 caractères BLOQUANT l'émetteur et mettant à 0 la variable
d'état du tampon FIFO. Lorsque toutes les fonctions de sortie ASCII (bits 8, 13, 14,
15 et 16) sont désactivées et que le contrôle de flux Xon/Xoff (bit 12) est activé, le
retard est par défaut d'un caractère. Par comparaison, lorsque toutes les fonctions
de sortie ASCII (bits 8, 13, 14, 15 et 16) sont activées et que le contrôle de flux Xon/
Xoff (bit 12) est activé, la sortie ASCII est répartie dans des paquets de 16 octets.
Par conséquent, les caractères Xoff en attente N'ONT PAS BESOIN d'attendre que
le temps nécessaire à la transmission de 16 caractères soit écoulé pour BLOQUER
l'émetteur. Une fois que l'émetteur a interrompu la transmission, l'automate
supprime finalement les caractères du tampon FIFO en utilisant le bit 6 (Entrée
ASCII simple) ou le bit 5 (Entrée au format ASCII terminée). Lorsque le contenu du
tampon FIFO devient inférieur au quart de sa capacité, sa variable d'état est mise à
1 de façon à permettre l'envoi du caractère XON. Par conséquent, l'envoi d'un
caractère Xon à partir du port série permet de DEBLOQUER l'émetteur.
Note : Pour empêcher le verrouillage suite à la déconnexion d'un câble ou à
d'autres erreurs de communication intermittentes lorsque l'émetteur est BLOQUE
et qu'il n'a pas reçu le caractère Xon correctement, nous utilisons l'algorithme
suivant. Lorsque le tampon FIFO devient vide et qu'il ne reçoit aucun caractère par
la suite, une chaîne régulière de caractères Xon est transmise une fois toutes les
5 secondes.
44
33002197
XMIT : Transférer (Momentum)
Note : Le contrôle de flux Xon/Xoff (bit 12) est différent du contrôle de flux RTS/
CTS (bit 11). Le premier utilise les caractères Xon et Xoff transmis pour éviter le
débordement du tampon de réception en mode duplex. Le second utilise les
signaux de synchronisation par matériel dans le même but. Par conséquent, il est
incorrect de demander simultanément deux de ces algorithmes de contrôle de flux,
car le contrôle de flux/contrôle modem RTS/CTS (bit 11) implique un réseau semiduplex alors que le contrôle de flux Xon/Xoff (bit 12) implique un réseau duplex.
Erreurs d'exécution
Messages
d'erreur
En cas d'erreur, le bloc fonction XMIT génère l'erreur d'exécution suivante :
ILLEGAL_CONFIG_DATA
Cette erreur apparaît dans la boîte de dialogue Affichage événements.
Selon la valeur du premier paramètre du message d'erreur, le message peut avoir
diverses origines.
l Une ou plusieurs variables liées à MSG_OUT, MSG_IN ou CFG se trouvent hors
de la plage de registres 4x.
l La valeur sélectionnée dans l'entrée PORT pour l'interface de communication est
incorrecte. Les valeurs autorisées sont "1" et "2"
l La longueur de message sélectionnée est incorrecte.
La longueur de message définie dans le composant "MessageLen" de la
structure de données XMIT_SET pour l'entrée SET est supérieure à la longueur
de la variable associée à l'entrée MSG_OUT.
33002197
45
XMIT : Transférer (Momentum)
Exemple d'application
Description
Le programme suivant est une courte application de démonstration permettant de
commuter rapidement entre les quatre fonctions principales du bloc XMIT :
l
l
l
l
sortie des messages ASCII (0)
entrée ASCII simple (1)
entrée au format ASCII terminée (2)
Modbus maître (3)
Pour sélectionner la fonction, entrez le numéro correspondant dans la variable
ModeSelection. Un signal montant sur X_Trigger active le bloc XMIT en mettant la
variable Start à 1. Start reste à 1 tant que la fonction n'a pas été exécutée ou qu'une
erreur n'est pas survenue.
46
33002197
XMIT : Transférer (Momentum)
Section CEI
Sélection des données de configuration
.1.14 (2)
MUX_UINT
Mode Selection
MessageAsciiOut
MessageSimple AsciiIn
MessageTermAsciiIn
MessageModbus
K
DirectMessageOut
.1.15 (3)
MUX_UINT
Mode Selection
XmitSetForAsciiOut
XmitSetForSimpleAsciiIn
XmitSetForTermAsciiIn
XmitSetForModbus
K
DirectXmitSet
Bloc fonction XMIT
FBI_1_1 (1)
XMIT
DirectMessageOut
DirectXmitSet
Port
Start
Abort
33002197
MSG_OUT
MSG_IN
SET
PORT
START
ABORT
CFG
OP_ACT
NO_SUC
OP_SUC
EXT
DirectMessageIn
DirectXmitConfig
opActive
opError
opDone
47
XMIT : Transférer (Momentum)
Start reste à 1 tant que la commande n'est pas terminée ou qu'une erreur n'est pas
survenue.
FBI_1_25 (5)
.1.26 (7)
R_TRIG
X_Trigger
CLK
SR
Q
S1
R
Start
.1.27 (6)
OR_BOOL
opDone
opError
48
33002197
XMIT : Transférer (Momentum)
Déclaration de
variables
33002197
Les tableaux suivants présentent les variables utilisées dans cet exemple.
Table de variables
Nom de la variable
Type de
données
Start
BOOL
Adresse
Description
Doit rester à 1 tant que l'exécution du
bloc XMIT n'est pas terminée.
Abort
BOOL
Annule l'opération XMIT.
opActive
BOOL
Indique l'état de XMIT.
opError
BOOL
Indique l'état de XMIT.
opDone
BOOL
Indique l'état de XMIT.
Port
BYTE
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
BOOL
Déclenche la fonction XMIT.
ModeSelection
UINT
Sélectionne la fonction demandée
(0 à 3).
Message AsciiOut
WordArr256
Message devant être transmis par la
sortie ASCII.
MessageSimpleAsciiIn
WordArr256
(peut rester vierge).
MessageTermAsciiIn
WordArr256
Données de configuration pour
l'entrée au format ASCII terminée.
MessageModbus
WordArr256
Données de configuration pour
Modbus.
XmitSetForAsciiOut
XMIT_SET
Données de configuration pour la
sortie ASCII.
Sélectionne le port 1 ou 2.
XmitSetForSimpleAsciiIn XMIT_SET
Données de configuration pour
l'entrée ASCII simple.
XmitSetForTermAsciiIn
XMIT_SET
Données de configuration pour
l'entrée au format ASCII terminée.
XmitSetForModbus
XMIT_SET
Données de configuration pour
Modbus.
49
XMIT : Transférer (Momentum)
Valeurs initiales
Les tableaux suivants présentent 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
BaudRate
WORD
9600
Commentaire
DataBits
BYTE
8
Parity
BYTE
2
StopBits
BYTE
1
CommandWord
WORD
512
Bit 7 défini.
MessageLen
WORD
16
Transmet les 16 premiers caractères
du tableau MessageAsciiOut.
RespTimeOut
WORD
100
RetryLimit
WORD
100
XmStartDelay
WORD
100
XmEndDelay
WORD
100
Contenu de la structure de données XmitSetForSimpleAsciiIn
50
Nom de l'élément
Type de
données
Adresse
BaudRate
WORD
9600
DataBits
BYTE
8
Parity
BYTE
2
Commentaire
StopBits
BYTE
1
CommandWord
WORD
1152
Bits 6 et 9 définis.
MessageLen
WORD
16
opDone est mis à 1 après réception
de 16 caractères.
RespTimeOut
WORD
100
RetryLimit
WORD
100
XmStartDelay
WORD
100
XmEndDelay
WORD
100
33002197
XMIT : Transférer (Momentum)
Contenu de la structure de données XmitSetForTermAsciiIn
Nom de l'élément
Type de
données
Adresse
BaudRate
WORD
9600
DataBits
BYTE
8
Parity
BYTE
2
StopBits
BYTE
1
Commentaire
CommandWord
WORD
2176
Bits 5 et 9 définis.
MessageLen
WORD
5
L'élément
DirectXmitSet.MessageLen est
automatiquement mis à 5 quelle que
soit cette entrée.
RespTimeOut
WORD
100
RetryLimit
WORD
100
XmStartDelay
WORD
100
XmEndDelay
WORD
100
Contenu de la structure de données XmitSetForModbus
33002197
Nom de l'élément
Type de
données
Adresse
BaudRate
WORD
9600
DataBits
BYTE
8
Parity
BYTE
2
StopBits
BYTE
1
CommandWord
WORD
256
Bit 8 défini.
MessageLen
WORD
5
Pour les codes de fonction 01 à 06,
15 et 16.
RespTimeOut
WORD
1000
RetryLimit
WORD
10
XmStartDelay
WORD
100
XmEndDelay
WORD
100
Commentaire
Mode RTU.
51
XMIT : Transférer (Momentum)
Contenu de la structure de données MessageAsciiOut
Nom de l'élément
Type de
données
Adresse
Commentaire
MessageAsciiOut[2]
WORD
17220
"CD" à transmettre
MessageAsciiOut[3]
WORD
17734
'EF'
MessageAsciiOut[4]
WORD
18248
'GH'
MessageAsciiOut[5]
WORD
18762
'IJ'
MessageAsciiOut[6]
WORD
19276
'KL'
MessageAsciiOut[7]
WORD
19790
'MN'
MessageAsciiOut[8]
WORD
20304
'OP'
MessageAsciiOut[...]
WORD
...
Contenu de la structure de données MessageTermAsciiIn
Nom de l'élément
Type de
données
Adresse
Commentaire
MessageAsciiOut[1]
WORD
258
0x0102 1 caractère de départ et 2
caractères de fin
MessageAsciiOut[2]
WORD
9216
0x2400 Premier caractère de départ
"$".
MessageAsciiOut[3]
WORD
3338
0x0D0A Caractères de fin [CR][LF].
Contenu de la structure de données MessageModbus
52
Nom de l'élément
Type de
données
Adresse
Commentaire
MessageAsciiOut[1]
WORD
3
Lecture de plusieurs registres de
sortie (4x).
MessageAsciiOut[2]
WORD
32
Lecture de 32 registres.
MessageAsciiOut[3]
WORD
10
Adresse Modbus de l'automate
esclave.
MessageAsciiOut[4]
WORD
101
Démarrage à partir du registre
40101.
MessageAsciiOut[5]
WORD
701
La destination des données est le
registre 40701.
33002197
XXMIT : Transférer
(Compact, Momentum, Quantum)
3
Présentation
Introduction
Le présent chapitre décrit le bloc fonction XXMIT.
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
33002197
Sujet
Page
Description sommaire
54
Représentation
55
Description détaillée des paramètres
57
Fonctions de communication XXMIT
65
Fonctions ASCII XXMIT
66
Fonctions de modem XXMIT
71
Fonctions Modbus XXMIT
73
Tampon FIFO et contrôle de flux
81
Erreurs d'exécution
85
Exemple d'application
86
53
XXMIT : Transférer (Compact, Momentum, Quantum)
Description sommaire
Description de la
fonction
Le bloc fonction (de transmission) XXMIT envoie des messages Modbus d'un
automate "maître" vers plusieurs automates esclaves ou des chaînes de caractères
ASCII du port 1 Modbus esclave de l'automate (sur les automates Momentum, le
port 2 est également pris en charge) vers des imprimantes et des terminaux ASCII.
XXMIT envoie ces messages par modem à numérotation automatique, par modem
radio ou simplement par connexion directe. En mode de communication, le bloc
XXMIT exécute les fonctions d'entrée ASCII générales, y compris au format ASCII
simple et ASCII terminé. Vous pouvez importer/exporter des données ASCII ou
binaires vers/à partir de votre automate. Le bloc comporte des diagnostics intégrés
vérifiant qu'aucun autre bloc XXMIT n'est actif dans l'automate sur le même port.
Dans le bloc de transmission XXMIT, des entrées de commande vous permettent
de contrôler la liaison de communication entre l'automate et les équipements DCE
(Data Communication Equipment, matériel de transmission de données) connectés
au port 1 ou 2 Modbus de l'automate. Le bloc XXMIT n'active PAS le voyant du port
lors de la transmission des données.
Note : EN et ENO ne doivent PAS être utilisés avec le bloc XXMIT, car ils risquent
de figer les paramètres de sortie.
Restrictions
Les restrictions suivantes s'appliquent au bloc fonction XXMIT :
XXMIT ne prend pas en charge :
l la conversion de chaînes ASCII
l les fonctions de copie et de comparaison
l les fonctions d'état de port
Note : Momentum ne prend en charge qu'un bit d'arrêt.
Note : Le Port 2 n'est pris en charge que par les automates Momentum.
54
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Logiciels et
matériel requis
Logiciels
Le bloc fonction XXMIT nécessite les logiciels suivants :
l Concept 2.2 Service Release 2 au minimum
l version CEI de l'exécutif
Matériel
Le matériel suivant n'est pas pris en charge par le bloc fonction XXMIT :
automates qui ne prennent pas en charge les langages CEI
automate Soft
automates Atrium
simulateur CEI
l
l
l
l
Mémoire requise
L'utilisation d'un ou plusieurs EFB XXMIT dans une application CEI consomme
approximativement 15,5 ko de mémoire (code) programme. Chaque instance de cet
EFB incluse dans le programme utilisateur nécessite une mémoire de données
supplémentaire (entre 2,5 et 3 ko).
Représentation
Symbole
Représentation du bloc
XXMIT
BOOL
WORD
ANY
INT
BYTE
INT
BYTE
BYTE
BYTE
BYTE
INT
INT
INT
33002197
Start
Command
MsgOut
MsgLen
Port
Bauderate
Databits
Stopbits
Parity
RespTout
RetryLmt
StartDly
EndDly
Active
Done
Error
MsgIn
ReoCount
Status
Retry
BOOL
BOOL
BOOL
ANY
INT
INT
INT
55
XXMIT : Transférer (Compact, Momentum, Quantum)
Description des
paramètres
56
Description de paramètres du bloc
Paramètres
Type de données
Signification
Start
BOOL
La valeur 1 démarre l'opération XXMIT
Command
WORD
Spécifie la commande devant être exécutée
MsgOut
ANY
Message à envoyer
MsgLen
INT
Longueur de message du message de sortie
Port
BYTE
Sélection de l'interface de communication
Bauderate
INT
Débit
Databits
BYTE
Bits d'information
Stopbits
BYTE
Bits d’arrêt
Parity
BYTE
Parité
RespTout
INT
Temps d'attente pour une réponse valable
RetryLmt
INT
Nombre de tentatives jusqu'à la réception d'une
réponse valable
StartDly
INT
Temps d'attente avant le transfert du message.
EndDly
INT
Temps d'attente après le transfert du message.
Active
BOOL
La valeur 1 indique que l'opération XXMIT est en
cours
Done
BOOL
La valeur 1 indique que l'opération XXMIT a été
terminée avec succès
Error
BOOL
La valeur 1 indique qu'une erreur s'est produite ou
que l'opération XXMIT actuelle est terminée
MsgIn
ANY
Message arrivant
RecCount
INT
Affiche le nombre de caractères reçus
Status
INT
Affiche un code d'erreur généré par le bloc XXMIT
Retry
INT
Indique le nombre actuel de tentatives faites par le
bloc XXMIT
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Description détaillée des paramètres
Start
Un front montant au niveau de Start déclenche l'opération XXMIT. La valeur 1 doit
être appliquée tant que l'opération n'est pas terminée ou qu'une erreur n'est pas
survenue.
Command
Le bloc XXMIT interprète chaque bit du mot de commande comme une fonction à
exécuter. Si les bits 7 et 8 sont à 1 simultanément ou si plusieurs bits parmi les bits
13, 14, 15 et 16 sont à 1 simultanément ou si le bit 7 n'est pas à 1 alors que l'un des
bits 13, 14, 15 et 16 l'est, le système génère l'erreur 129. Pour plus de détails,
reportez-vous à la section Fonctions de communication XXMIT, p. 65. La définition
de chaque bit est présentée dans le tableau ci-dessous.
Disposition du mot de commande
Bit
1
7
8
9
BPF
16
BPf
Définition des bits du mot de commande XXMIT
Bit
Définition
Bit 1
(bit de poids fort)
Réservé
Bit 2 Validation du Mis à 1 lorsqu'un équipement DCE (Data Communication Equipment,
contrôle modem
matériel de transmission de données) connecté à l'automate nécessite
RTS/CTS
un protocole matériel utilisant le contrôle RTS/CTS. Ce bit peut être
utilisé conjointement avec les valeurs contenues dans StartDly et
EndDly. Le retard de début de transmission garde le signal RTS activé
pendant le temps défini dans StartDly (en ms) avant l'envoi d'un
message par le bloc XXMIT à partir du port de l'automate. De même, le
retard de fin de transmission garde le signal RTS activé pendant le
temps défini dans EndDly (en ms) après l'envoi d'un message par le bloc
XXMIT à partir du port de l'automate. Après l'expiration du retard de fin
de transmission, le bloc XXMIT désactive le signal RTS.
Bit 3 Validation du Mis à 1 lorsque le port sélectionné doit fonctionner en mode RS485.
mode RS485
Sinon, il est à 0 par défaut, valeur correspondant au mode RS232. Lors
de l'utilisation du port 2 d'un automate Momentum en mode RS485 avec
les messages Modbus, assurez-vous d'utiliser pour le bloc XXMIT
exactement les mêmes paramètres (vitesse, bits de données, bits
d'arrêt, parité) que ceux configurés pour le port.
Bit 4
33002197
Réservé
57
XXMIT : Transférer (Compact, Momentum, Quantum)
Bit
Définition
Bit 5 Entrée ASCII Mis à 1 pour supprimer et ignorer tous les caractères du tampon FIFO
terminée
jusqu'à ce que la chaîne de départ soit trouvée. Ensuite, les caractères
de départ et les caractères suivants sont écrits dans MsgIn jusqu'à ce
que la séquence de fin soit trouvée. La chaîne de fin est également
écrite dans MsgIn. Reportez-vous à la section Fonction d'entrée au
format ASCII terminée, p. 66 pour plus de détails.
Bit 6 Entrée ASCII Mis à 1 pour supprimer les caractères ASCII du tampon FIFO pour
simple
l'écriture dans le tableau MsgIn. Reportez-vous à la section Fonction
d'entrée ASCII simple, p. 68 pour plus de détails.
Bit 7 Validation
des messages
sous forme de
chaînes ASCII
Mis à 1 lorsque vous souhaitez envoyer des messages ASCII à partir de
l'automate. Le bloc XXMIT envoie des chaînes ASCII d'une longueur
maximale de 1024 caractères. Programmez le message ASCII dans
MsgOut. Utilisez uniquement le bit 7 OU le bit 8, n'utilisez pas les deux.
Bit 8 Validation
des messages
Modbus
Mis à 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 XXMIT utilise le format
Modbus RTU. Avec 7 bits de données, il utilise le format Modbus ASCII.
Utilisez uniquement le bit 7 OU le bit 8, n'utilisez pas les deux.
Bit 9 Validation du Mis à 1 pour permettre au bloc XXMIT de prendre le contrôle du port
tampon FIFO de sélectionné (1 ou 2) à partir de l'automate. Le bloc commence à recevoir
réception ASCII
des caractères ASCII dans un tampon FIFO circulaire vide de
512 octets. Reportez-vous à la section Tampon FIFO de réception
ASCII, p. 81 pour plus de détails.
58
Bit 10 Validation
du caractère de
retour arrière
Mis à 1 pour permettre une utilisation particulière du caractère de retour
arrière ASCII (BS, 8Hex) lors de l'utilisation d'une entrée ASCII simple
(bit 6) ou d'une entrée ASCII terminée (bit 5). Si le bit 10 est à 1, aucun
caractère de retour arrière n'est stocké dans MsgIn. Reportez-vous à la
section Validation du caractère de retour arrière, p. 82 pour plus de
détails.
Bit 11 Validation
du contrôle de
flux RTS/CTS
Mis à 1 pour autoriser le contrôle de flux matériel bidirectionnel
simultané utilisant les 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. Reportez-vous à la section Validation du
contrôle de flux RTS/CTS, p. 83 pour plus de détails.
Bit 12 Validation
du contrôle de
flux Xon/Xoff
Mis à 1 pour permettre un contrôle de flux logiciel bidirectionnel
simultané utilisant les 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. Reportez-vous à la section Validation du contrôle de flux
Xon/Xoff, p. 84 pour plus de détails.
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Bit
Définition
Bit 13 Modem à
numérotation par
impulsion
Mis à 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 MsgOut. La longueur du message doit être
définie dans MsgLen. 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
composition étant une chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du
numéro à composer.
Bit 14
Raccrochage du
modem
Mis à 1 lorsque vous utilisez un modem à numérotation automatique
compatible Hayes et que vous souhaitez raccrocher le modem. Vous
devez utiliser le programme utilisateur 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 raccrochés 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 XXMIT recherche
une réponse de déconnexion correcte de la part du modem avant
d'ACTIVER le signal de sortie Done qui indique que l'exécution a réussi.
Bit 15 Modem à
numérotation à
tonalité
Mis à 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. Programmez le numéro de téléphone dans
MsgOut. La longueur du message doit être définie dans MsgLen. Les
numéros composés au clavier 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 composition étant une
chaîne ASCII, le bit 7 doit être à 1 avant l'envoi du numéro à composer.
Bit 16 Initialisation Mis à 1 lorsque vous utilisez un modem à numérotation automatique
du modem
compatible Hayes et que vous souhaitez initialiser le modem.
Programmez le message d'initialisation dans MsgOut et la longueur du
message dans MsgLen. Tous les messages sont envoyés au modem,
automatiquement précédés d'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 à l'état ON avant l'envoi du message.
33002197
59
XXMIT : Transférer (Compact, Momentum, Quantum)
MsgOut
MsgOut contient les données du message à transférer, par exemple des caractères
ASCII pour un transfert ASCII, la définition de caractères de fin pour une entrée
ASCII terminée ou des modèles Modbus pour des messages Modbus maîtres.
Le type de données à affecter au paramètre doit respecter les exigences de la
fonction à exécuter. Il doit être le même que celui du champ MsgIn.
Note : MsgOut et MsgIn sont des données de type ANY. Il est préférable d'utiliser
un tableau d'octets. Différents du bloc XMIT, les messages ASCII sont stockés
dans l'ordre des octets, ce qui permet un traitement facile, par exemple en affectant
une chaîne comme valeur initiale.
Note : Pour les messages Modbus, MsgOut doit être un champ de mots. La taille
minimale du tableau est WordArr9.
MsgLen
Vous devez entrer la longueur du message courant selon la fonction XXMIT
sélectionnée.
Le tableau suivant présente les fonctions Modbus et ASCII :
Port
60
Fonction XXMIT
Sous-fonction
Longueur du message
Messages Modbus
01, 02, 03, 04, 05, 06, 08,
15, 16
5
Messages Modbus
20, 21
6
Entrée ASCII terminée
5
Entrée ASCII simple
1... 1024.
Messages sous forme de
chaînes ASCII
1... 1024. La longueur
sélectionnée doit correspondre à
la taille du tableau affecté à
MsgOut. Dans le cas contraire, le
système génère l'erreur 129.
Le paramètre Port définit l'interface de communication. Les seules valeurs
autorisées sont 1 et 2. Le port 2 est uniquement disponible sur l'automate
Momentum.
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Baudrate
Le bloc XXMIT prend en charge les vitesses de données suivantes : 50, 75, 110,
134, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600, 19200. Pour
configurer une vitesse de données, entrez un nombre décimal. Si vous entrez une
vitesse de données incorrecte, le bloc affiche une erreur de configuration incorrecte
(code d'erreur 127) dans l'élément Status du bloc XXMIT.
Databits
Le bloc XXMIT prend en charge les bits de données suivants : station 7 et station 8.
Pour définir 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 ou RTU. Le
mode ASCII utilise 7 bits de données tandis que le mode RTU en utilise 8. Lors de
l'envoi d'un message en caractères ASCII, vous pouvez utiliser 7 ou 8 bits de
données. Si vous entrez un bit de données incorrect, le bloc affiche une erreur de
configuration incorrecte (code d'erreur 127) dans l'élément Status du bloc XXMIT.
Reportez-vous au manuel Modicon Modbus Protocol Reference Guide (PI MBUS
300) pour plus de détails sur les formats des messages Modbus.
Stopbits
Le bloc XXMIT 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 Status du bloc XXMIT.
Parity
Le bloc XXMIT 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 = partie paire. Si vous entrez une parité incorrecte, le bloc affiche une erreur de
configuration incorrecte (code d'erreur 127) dans l'élément Status du bloc XXMIT.
RespTout
Entrez la valeur du délai en millisecondes (ms) correspondant au temps d'attente du
bloc XXMIT avant réception d'une réponse correcte de la part d'un équipement
esclave (automate, modem, etc.). Ce retard s'applique également aux
transmissions ASCII et aux opérations de contrôle de flux. Lorsque la réponse n'est
pas complètement structurée dans le délai imparti, le bloc XXMIT génère une erreur.
Les valeurs valides sont comprises entre 0 et 32 767 ms. Le timeout commence à
s'écouler après l'envoi du dernier caractère du message.
RetryLmt
Entrez le nombre de tentatives d'envoi d'un message effectuées par le bloc XXMIT
avant réception d'une réponse correcte de la part d'un équipement esclave
(automate, modem, etc.). Lorsque la réponse n'est pas complètement structurée
dans le délai imparti, le bloc XXMIT génère une erreur et un code d'erreur. Le
nombre de nouvelles tentatives doit être compris entre 0 et 32 767. Ce champ est
utilisé conjointement avec RespTout.
33002197
61
XXMIT : Transférer (Compact, Momentum, Quantum)
StartDly
Lorsque le contrôle RTS/CTS est activé, entrez la valeur du délai en millisecondes
(ms) déterminant le temps d'attente du bloc XXMIT entre la réception du signal CTS
et l'envoi d'un message à partir du port de l'automate. Vous pouvez également
utiliser ce registre lorsque le contrôle RTS/CTS n'est PAS activé. Dans ce cas, la
valeur du délai entré détermine le temps d'attente du bloc XXMIT avant l'envoi d'un
message à partir du port de l'automate. Vous pouvez l'utiliser comme un
temporisateur avant message. Les valeurs valides sont comprises entre 0 et
32 767 ms.
EndDly
Lorsque le contrôle RTS/CTS est activé, entrez la valeur du délai en millisecondes
(ms) déterminant le temps pendant lequel le bloc XXMIT garde le signal RTS activé
après l'envoi du message à partir du port de l'automate. Après l'expiration du délai,
le bloc XXMIT 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 valeur du délai entré
détermine le temps d'attente du bloc XXMIT après l'envoi d'un message à partir du
port de l'automate. Vous pouvez l'utiliser comme un temporisateur après message.
Les valeurs valides sont comprises entre 0 et 32 767 ms.
Note : Lors de la communication RS 485, le signal de transmission est maintenu
sur ’1’ tout au long du délai EndDly. Lors des connexions à deux fils, tout caractère
provenant du partenaire sera perdu. Par conséquent, si cette fonction n'est pas
nécessaire, réglez EndDly sur 0 ms.
Retry
La valeur affichée indique le nombre courant de tentatives effectuées par le bloc
XXMIT. Cet élément est en lecture seule.
Active
La valeur 1 indique qu'une opération XXMIT est en cours.
Done
La valeur 1 indique que l'opération XXMIT a réussi.
Error
La valeur 1 indique qu'une erreur est survenue ou que l'opération XXMIT courante
est terminée.
MsgIn
MsgIn contient les données du message entrant pour une entrée ASCII terminée ou
une entrée ASCII simple.
Le type de données à affecter au paramètre doit respecter les exigences de la
fonction à exécuter. Il doit être le même que celui du champ MsgOut.
RecCount
62
Cet élément indique le nombre de caractères reçus.
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Status
Cet élément affiche un code d'erreur généré par le bloc XXMIT.
Le tableau ci-dessous présente une liste complète.
Etat d'erreur
33002197
Code
d'erreur
Description de l'erreur
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 à zéro
101
La zone de données de l'automate maître ne peut être égale à zéro
102
Bit de sortie/interne (0x) non configuré
103
Zone du registre de sortie 4x de l'automate maître non configurée
104
La longueur de données ne peut être égale à zéro
105, 106
Réservé
107
Timeout de transmission de message (cette erreur est 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 signale PAS DE PORTEUSE
111
Le modem signale PAS DE TONALITÉ
112
Le modem signale OCCUPÉ
113
Checksum LRC de l'automate esclave non valide (voir remarque ci-dessous)
114
Checksum CRC de l'automate esclave non valide (voir remarque cidessous)
115
Code fonction Modbus invalide
116
Timeout message de réponse Modbus (voir remarque ci-dessous)
117
Timeout de réponse Modem
63
XXMIT : Transférer (Compact, Momentum, Quantum)
Code
d'erreur
Description de l'erreur
118
XXMIT n'a pas obtenu d'accès au port de communication de l'automate
(port 1 ou 2)
119
XXMIT ne peut libérer le récepteur de port de l'automate
120
XXMIT UART Automate non reconnue
121
Réservé
122
Port incorrect
123
Réservé
124
Etat interne indéfini
125
Mode diffusion interdit pour cette fonction Modbus
126
DCE ne peut transmettre CTS
127
Configuration incorrecte (bits de données, vitesse, parité ou bits d'arrêt)
128
Réponse inattendue de la part de l'esclave Modbus (voir remarque cidessous)
129
Paramétrage incorrect du mot de commande
130
Mot de commande modifié en cours d'activité
131
Nombre de caractères incorrect
132
Réservé
133
Erreur de débordement de l'entrée FIFO ASCII
134
Nombre incorrect de caractères de départ ou de caractères de fin
135...149
Réservé
150
Le port configuré est déjà occupé par une autre instance du bloc XXMIT ou
il n'est pas pris en charge sur cet automate.
151
MsgOut est inférieur à 12 octets alors que la fonction Messages Modbus
maîtres est sélectionnée.
152
La variable connectée à MsgOut est inférieure à la valeur du paramètre
MsgLen alors que la fonction Messages chaîne de caractère ASCII est
sélectionnée.
153
La variable connectée à MsgIn est inférieure à la valeur du paramètre
MsgLen alors que la fonction Entrée ASCII terminée ou Entrée ASCII simple
est sélectionnée.
Note : Ce code d'erreur apparaît en cas de réponse trop rapide de l'esclave
Modbus.
Si l'esclave Modbus utilisé est un automate Modicon, vérifiez sa configuration
de port Modbus.
64
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Fonctions de communication XXMIT
Mot de
commande
XXMIT
Le bloc de communication XXMIT effectue les six fonctions présentées ci-dessous.
Pour chaque fonction, certains bits du mot de commande doivent être définis.
Bits du mot de
commande
Fonctions du mot de commande et bits associés
Fonction
Bits du mot de
commande à
mettre à 1
Bits à mettre à 0
2, 3, 9, 10, 11, 12
6, 7, 8, 13, 14, 15, 16
2, 3, 9, 10, 11, 12
5, 7, 8, 13, 14, 15, 16
Sortie ASCII simple (Bit 7=1) 2, 3, 9, 10, 11, 12
5, 6, 8, 13, 14, 15, 16
Sortie modem (Bit 7=1)
2, 3, 13, 14, 15, 16
5, 6, 8, 9, 10, 11, 12 (plus un et UN
SEUL bit parmi les bits 13, 14, 15 et
16 à 1, les trois autres devant être à
0)
Sortie des messages
Modbus maîtres (Bit 8=1)
2, 3
5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16
Entrée au format ASCII
terminée (Bit 5=1)
1
Entrée ASCII simple
(Bit 6=1) *
Note : 1 Lors de l'utilisation de l'une de ces fonctions, vous DEVEZ mettre
Validation du tampon FIFO de réception ASCII (bit 9) à 1. Le bit 1 (bit de poids fort)
et le bit 4 sont réservés (voir le tableau Command, p. 57).
33002197
65
XXMIT : Transférer (Compact, Momentum, Quantum)
Fonctions ASCII XXMIT
Présentation
Le bloc fonction XXMIT prend en charge les fonctions de communication ASCII
suivantes :
l Entrée ASCII terminée
l Entrée ASCII simple
l Messages sous forme de chaînes ASCII
Fonction
d'entrée au
format ASCII
terminée
Lorsque le bit 5 (Entrée au format ASCII terminée) du mot de commande est à 1, le
tableau MsgOut doit contenir le tableau de définition d'entrée ASCII. En fonction du
type de données sélectionné pour MsgOut, la longueur du tableau de définition au
format ASCII terminé est de trois mots ou six octets. Le tableau de définition d'entrée
au format ASCII terminée est présenté ci-dessous.
Tableau de définition d'entrée au format ASCII terminée (type de données
WordArray)
Mot
Octet de poids fort
Octet de poids faible
MsgOut[1]
Nombre de caractères de départ
(contenu autorisé = 0, 1, 2)
Nombre de caractères de fin
(contenu autorisé = 1, 2)
MsgOut[2]
Premier caractère de départ
Deuxième caractère de départ
MsgOut[3]
Premier caractère de fin
Deuxième caractère de fin
Tableau de définition d'entrée au format ASCII terminée (type de données
ByteArray)
Octet
Fonction
MsgOut[1]
Longueur de la chaîne de fin (1 ou 2)
MsgOut[2]
Longueur de la chaîne de départ (0, 1 ou 2)
MsgOut[3]
Deuxième caractère de départ
MsgOut[4]
Premier caractère de départ
MsgOut[5]
Deuxième caractère de fin
MsgOut[6]
Premier caractère de fin
Au cours du processus, RecCount contient le cumul des caractères écrits dans le
tableau MsgIn. Après réception de la chaîne de fin, la sortie Done du bloc XXMIT
s'ACTIVE et RecCount contient la longueur totale de la chaîne reçue, y compris les
chaînes de départ et de fin. A ce stade, le bloc XXMIT contrôle toujours le port et
continue à sauvegarder les caractères récemment reçus dans le tampon FIFO de
réception ASCII, car le bit 9 (Validation du tampon FIFO de réception ASCII) du mot
de commande est à 1.
66
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
A l'aide du programme, vous pouvez mettre le bit Entrée ASCII simple à 0 avant le
prochain cycle, tout en laissant le bit Validation du tampon FIFO de réception ASCII
à 1. MsgIn n'est donc PAS écrasé par les données FIFO plus récentes, toujours
collectées. A l'aide du programme, vous pouvez mettre à 0 le bit 9 (Validation du
tampon FIFO de réception ASCII) et le bit 5 (Entrée au format ASCII terminée) pour
redonner le contrôle du port à l'automate.
Lorsque le tableau MsgIn contient trop de caractères et qu'AUCUN caractère de fin
n'a été détecté, ou que le tableau MsgIn est en dehors de la plage autorisée pour
l'automate configuré, une erreur est générée dans Status. La limite de caractères
est le nombre le plus petit entre 1024 et deux fois la taille du tableau MsgIn.
Exemple d'entrée
au format ASCII
terminée
Supposez que le bloc XXMIT est activé avec les bits 9 et 5 du mot de commande.
Validez le tampon FIFO ASCII et l'entrée au format ASCII terminée. Le port reçoit
la chaîne ASCII suivante : "AMScrlf$weight = 1245 GRAMScrlf$wei". Reportezvous au tableau de définition d'entrée ASCII présentant le contenu indiqué par ( )
utilisé dans cet exemple.
Tableau de définition d'entrée au format ASCII terminée (contenu pour le type de
données ByteArray)
Octet
33002197
Contenu
MsgOut[1]
Nombre de caractères de départ (0x01)
MsgOut[2]
Nombre de caractères de fin (0x02)
MsgOut[3]
Deuxième caractère de départ (inutilisé)
MsgOut[4]
Premier caractère de départ ("$")
MsgOut[5]
Deuxième caractère de fin ("lf")
MsgOut[6]
Premier caractère de fin ("cr")
67
XXMIT : Transférer (Compact, Momentum, Quantum)
Exemple de tableau de définition d'entrée au format ASCII terminée (contenu pour
le type de données WordArray)
Mot
Octet de poids fort
Octet de poids faible
MsgOut[1]
Nombre de caractères de départ (0x01) Nombre de caractères de fin
(0x02)
MsgOut[2]
Premier caractère de départ ("$")
Deuxième caractère de départ
(inutilisé)
MsgOut[3]
Premier caractère de fin ("cr")
Deuxième caractère de fin ("lf")
Le bloc XXMIT s'ACTIVE, puis supprime les cinq premiers caractères du tampon
FIFO ("AMScrlf") car ils ne correspondent pas au premier caractère de départ ("$").
Au cours du cycle logique, après réception de "$", le bloc XXMIT reste ACTIF et
copie le "$" et les caractères suivants dans le tableau MsgIn, en mettant à jour
RecCount avec le décompte effectué jusque-là, au fur et à mesure de l'entrée des
caractères. Après réception du dernier caractère de fin, la sortie Done est activée et
MsgLen contient la longueur totale, égale à 22 caractères (0x0016). Le tableau
MsgIn comporte : "$weight = 1245 GRAMScrlf" pour le type de données ByteArray
(ou :"$w", "ei", "gh", "t", "=", "12", "45", "G", "RA", "MS", "crlf" pour le type de
données WordArray). Au cours du cycle où la sortie Done est activée, les
caractères déjà reçus du message suivant ("$wei"), arrivés après la chaîne de fin,
restent dans le tampon FIFO d'entrée ASCII. Le programme peut ainsi désactiver
l'entrée au format ASCII terminée avant l'exécution du cycle suivant du bloc XXMIT
pour ce port, en gardant les caractères dans le tampon FIFO jusqu'à ce que
l'automate ait terminé le traitement du message courant, ce qui peut prendre
plusieurs cycles.
Fonction
d'entrée ASCII
simple
Tous les caractères entrants sont placés dans le tableau MsgIn. Si MsgIn est défini
sur ByteArray (recommandé), les caractères entrants sont simplement stockés ainsi
: le premier caractère dans le premier élément de tableau, le deuxième caractère
dans le deuxième, etc. Si MsgIn est défini sur WordArray, deux caractères sont
stockés dans chaque élément. Le premier caractère est stocké dans l'octet de poids
fort du premier élément. Le deuxième caractère est stocké dans l'octet de poids
faible du premier élément. Le troisième caractère est stocké dans l'octet de poids
fort du deuxième élément, etc. La variable de longueur du message (MsgLen)
contient la longueur du message (1 à 1024 caractères).
Note : Lorsque le bit 6 (Entrée ASCII simple) et le bit 9 (Tampon FIFO de réception
ASCII) restent à 1, de nouveaux caractères sont constamment transférés du
tampon FIFO vers le même tableau MsgIn ; ils écrasent donc constamment les
caractères précédents qui y étaient stockés.
68
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Messages sous
forme de chaînes
ASCII
Lorsque le bit 7 (Messages sous forme de chaînes) du mot de commande est à 1,
le tableau MsgOut doit contenir les informations ASCII à transmettre. La longueur
du message MsgLen doit être définie en fonction de la longueur du message à
transmettre.
Comme indiqué dans la section Description détaillée des paramètres, p. 57,
MsgOut peut être de n'importe quel type de données. Pour les messages sous
forme de chaînes ASCII, le type de données ByteArray reflète mieux la nature des
chaînes : le premier octet contient le premier caractère, et ainsi de suite (voir la
section Envoi ASCII simple, p. 90).
Réception/
Transmission de
transition
Si votre application exige la réception d'une réponse d'un autre périphérique à la
suite de la transmission d'un message (demande-réponse), vous aurez besoin du
bloc fonction XXMIT pour passer du mode de transmission au mode de réception et
ainsi pouvoir lire la réponse fournie par votre partenaire de communication. Le
passage au mode de réception du bloc fonction XXMIT peut se faire au plus tôt au
cours du cycle suivant l'opération de transmission. Il incombe à l'utilisateur de
s'assurer que la réponse intervient au moins un cycle après la demande de
l'automate afin d'éviter l'échec de la communication.
Le délai de transmission de votre partenaire de communication est particulièrement
important en cas de cycles longs pour le demandeur et de partenaires rapides.
Considérations relatives au délai du partenaire :
Durée de cycle du demandeur
XXMIT
Réception
XXMIT
Transmission
Durée de transmission
Délai minimal du partenaire
Durée du cycle du partenaire
33002197
69
XXMIT : Transférer (Compact, Momentum, Quantum)
Le chiffre ci-dessus (qui n'est pas à l'échelle) vous permet de déterminer l'influence
des durées de cycle et de transmission du demandeur ainsi que de la durée de cycle
du partenaire sur le délai requis pour ce dernier. Les cycles du demandeur et du
partenaire étant asynchrones, celui du partenaire ne doit pas être pris en compte.
La durée de transmission dépend de la longueur du télégramme envoyé et du débit
en bauds. Par exemple, l'envoi d'un message comportant 18 caractères à
9 600 bauds nécessite 14 ms. Le cycle du demandeur représente sans nul doute la
majeure partie de cette durée. Par conséquent, même si le délai minimal du
partenaire peut être inférieur à la durée du cycle du demandeur, il est recommandé
d'utiliser celle-ci comme délai minimal du partenaire en vue de garantir une
communication efficace.
70
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Fonctions de modem XXMIT
Présentation
Le bloc fonction XXMIT permet de communiquer avec un modem compatible Hayes
en utilisant les fonctions répertoriées dans le tableau suivant.
Fonctions de modem
Bit du mot de commande Fonction
Bit 13
Modem à numérotation par impulsion
Bit 14
Raccrochage du modem
Bit 15
Modem à numérotation à tonalité
Bit 16
Initialisation du modem
Initialisation du
modem
Mettez le bit 16 du mot de commande à 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 MsgOut et la
longueur du message dans MsgLen. Tous les messages sont envoyés au modem,
automatiquement précédés d'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.
Modem à
numérotation par
impulsion
Mettez le bit 13 du mot de commande à 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 MsgOut. La longueur du message doit être
définie dans MsgLen. 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 composition étant une chaîne ASCII, le
bit 7 doit être à 1 avant l'envoi du numéro à composer.
Modem à
numérotation à
tonalité
Mettez le bit 15 du mot de commande à 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. Programmez le numéro de téléphone dans le
tableau MsgOut. La longueur du message doit être définie dans MsgLen. Les
numéros composés au clavier 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 composition étant une chaîne ASCII, le bit 7 doit être à 1 avant l'envoi
du numéro à composer.
33002197
71
XXMIT : Transférer (Compact, Momentum, Quantum)
Raccrochage du
modem
72
Mettez le bit 14 du mot de commande à 1 lorsque vous utilisez un modem à
numérotation automatique compatible Hayes et que vous souhaitez raccrocher le
modem. Vous devez utiliser le programme 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 raccrochés 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
XXMIT recherche une réponse de déconnexion correcte de la part du modem avant
d'ACTIVER le signal de sortie Done qui indique que l'exécution a réussi.
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Fonctions Modbus XXMIT
Présentation
Le bloc fonction XXMIT prend en charge les codes de fonction Modbus suivants :
l 01... 06 et 15... 16
l 08
l 20 et 21
Note : Lors de l'utilisation du port 2 d'un automate Momentum en mode RS485
avec les messages Modbus, assurez-vous d'utiliser pour le bloc XXMIT
exactement les mêmes paramètres (vitesse, bits de données, bits d'arrêt, parité)
que ceux configurés pour le port.
Passage du
mode de
transmission au
mode de
réception
A l'exception des messages de diffusion, toutes les fonctions Modbus nécessitent
que le bloc fonction XXMIT passe du mode de transmission au mode de réception
et afin de lire la réponse de l'esclave. Le bloc fonction XXMIT passe en mode de
réception au cours du cycle qui suit l'opération de transmission. Il incombe à
l'utilisateur de s'assurer que la réponse de l'esclave intervient au moins un cycle
après celle du maître afin d'éviter l'échec de la communication.
Le délai de transmission de l'esclave est particulièrement important en cas de cycles
longs pour le maître et d'esclaves rapides.
33002197
73
XXMIT : Transférer (Compact, Momentum, Quantum)
Considérations relatives au délai de l'esclave :
Durée du cycle du maître
XXMIT
Réception
XXMIT
Transmission
Durée de transmission
Délai minimal de l'esclave
Durée du cycle de l'esclave
Le chiffre ci-dessus (qui n'est pas à l'échelle) vous permet de déterminer l'influence
des durées de cycle et de transmission du maître ainsi que de la durée du cycle de
l'esclave sur le délai requis pour ce dernier. Les cycles du maître et de l'esclave
étant asynchrones, celui de l'esclave ne doit pas être pris en compte. La durée de
transmission dépend du type de télégramme envoyé, du débit en bauds et du
protocole utilisé. Par exemple, une demande de lecture standard à 9 600 bauds qui
est effectuée par le biais d'un protocole ASCII dure 14 ms. Le cycle du maître
représente sans nul doute la majeure partie de cette durée. Par conséquent, même
si le délai minimal de l'esclave peut être inférieur à la durée du cycle du maître, il est
recommandé d'utiliser celui-ci comme délai minimal de l'esclave en vue de garantir
une communication efficace.
Note : Pour les automates Quantum, Compact et Momentum, vous pouvez
préciser le délai dans la boîte de dialogue Configuration Port Modbus. Ce délai doit
être compris entre 10 et 1 000 ms, la valeur que vous indiquez étant
automatiquement arrondie en un multiple de 10.
Vous devez entrer le délai requis plus 10 ms. Par exemple, si vous voulez
instaurer un délai de 110 ms, entrez 120 dans ce champ.
74
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Codes de
fonction Modbus
(01... 06, 15 et 16)
Pour les messages Modbus, le tableau MsgOut doit contenir le tableau de définition
Modbus. Il doit être défini comme un champ de mots. Tableau de définition Modbus
pour le code de fonction Modbus : 01, 02, 03, 04, 05, 06, 15 et 16 occupent cinq
registres et vous devez paramétrer MsgLen sur 5 pour que l'opération XXMIT
réussisse. Le tableau de définition Modbus est présenté ci-dessous.
Codes de fonction du tableau de définition Modbus (01... 06, 15 et 16)
33002197
Contenu
Description
Code de
fonction
Modbus
(MsgOut[1])
Le bloc XXMIT prend en charge les codes de fonction suivants :
01 = Lecture de plusieurs bits de sortie (0x)
02 = Lecture de plusieurs bits d'entrée (1x)
03 = Lecture de plusieurs registres de sortie (4x)
04 = Lecture de plusieurs registres d'entrée (3x)
05 = Ecriture d'un seul bit de sortie (0x)
06 = Ecriture d'un seul registre de sortie (4x)
15 = Ecriture de plusieurs bits de sortie (0x)
16 = Ecriture de plusieurs registres de sortie (4x)
Quantité
(MsgOut[2])
Entrez la quantité de données à écrire ou à lire dans l'automate esclave.
Par exemple, entrez 100 pour lire 100 registres de sortie dans l'automate
esclave ou entrez 32 pour écrire 32 bits de sortie dans un automate
esclave. Il existe une taille limite, qui dépend du modèle de l'automate.
Reportez-vous à l'annexe A pour obtenir tous les détails sur les limites.
Adresse de
l'automate
esclave
(MsgOut[3])
Entrez l'adresse de l'automate Modbus esclave. La plage des adresses
Modbus est généralement de 1 à 247. Pour envoyer un message Modbus
à plusieurs automates, entrez 0 comme adresse de l'automate esclave.
Ce type de transmission est appelé mode diffusion. Le mode diffusion
prend uniquement en charge les codes de fonction Modbus écrivant des
données de l'automate maître vers des automates esclaves. Il NE PREND
PAS en charge les codes de fonction Modbus lisant des données des
automates esclaves.
Zone de
données de
l'automate
esclave
(MsgOut[4])
Pour une commande de lecture, la zone de données de l'automate esclave
est la source des données. Pour une commande d'écriture, la zone de
données de l'automate esclave est la destination des données. Par
exemple, si vous voulez lire les bits de sortie (00300 à 00500) d'un
automate esclave, entrez 300 dans ce champ. Si vous voulez écrire des
données d'un automate maître dans le registre (40100) d'un automate
esclave, entrez 100 dans ce champ. Selon le type de commande Modbus
(lecture ou écriture), les zones de données source et cible doivent être
conformes à celles du tableau ci-dessous.
75
XXMIT : Transférer (Compact, Momentum, Quantum)
Contenu
Description
Zone de
données de
l'automate
maître
(MsgOut[5])
Pour une commande de lecture, la zone de données de l'automate maître
est la destination des données renvoyées par l'esclave. Pour une
commande d'écriture, la zone de données de l'automate maître est la
source des données. Par exemple, si vous voulez écrire des bits de sortie
(00016 à 00032) de l'automate maître dans un automate esclave, entrez
16 dans le champ. Si vous voulez lire les registres d'entrée (30001 à
30100) d'un automate esclave et placer les données dans la zone de
données de l'automate maître (40100 à 40199), entrez 100 dans ce
champ. Selon le type de commande Modbus (lecture ou écriture), les
zones de données source et cible doivent être conformes à celles du
tableau ci-dessous.
Zones de données source et cible pour les codes de fonction (01... 06, 15 et 16)
Code de fonction
Zone de données de
l'automate maître
Zone de données de
l'automate esclave
03 (Lecture de plusieurs
registres 4x)
4x (cible)
4x (source)
04 (Lecture de plusieurs
registres 3x)
4x (cible)
3x (source)
01 (Lecture de plusieurs
références 0x)
0x (cible)
0x (source)
02 (Lecture de plusieurs
références 1x)
0x (cible)
1x (source)
16 (Ecriture de plusieurs
registres 4x)
4x (source)
4x (cible)
15 (Ecriture de plusieurs
références 0x)
0x (source)
0x (cible)
05 (Ecriture d'une seule
référence 0x)
0x (source)
0x (cible)
06 (Ecriture d'un seul
registre 4x)
4x (source)
4x (cible)
Lorsque vous souhaitez envoyer 20 messages Modbus à partir de l'automate, vous
devez transférer 20 tableaux de définition Modbus un par un dans MsgOut après
chaque exécution réussie du bloc XXMIT ou programmer 20 blocs XXMIT
différents, puis les activer un par un à partir du programme utilisateur.
76
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Code de fonction
Modbus (08)
Pour les messages Modbus, le tableau MsgOut doit contenir le tableau de définition
Modbus. Il doit être défini comme un champ de mots. Tableau de définition Modbus
pour le code de fonction Modbus : 08 occupe cinq registres et vous devez
paramétrer MsgLen sur 5 pour que l'opération XXMIT réussisse. Le tableau de
définition Modbus est présenté ci-dessous.
Codes de fonction du tableau de définition Modbus (08)
Contenu
Description
Code de fonction Modbus
(MsgOut[1])
Le bloc XXMIT prend en charge le code de fonction suivant :
08 = Diagnostic
Diagnostic (MsgOut[2])
Entrez la valeur décimale du code de sous-fonction du
diagnostic dans ce champ pour exécuter la fonction de
diagnostic voulue. Les sous-fonctions de diagnostic suivantes
sont prises en charge :
Code
00
01
02
03
04
05... 09
10
11
12
13
14... 15
16
17
18
19... 21
33002197
Description
Interrogation en retour
Relancer l'option comm.
Renvoi du registre de diagnostic
Changement de séparateur d'entrée ASCII
Mode écoute seul
Réservé
Effacer compteurs
(& registres de diagnostics dans 384, 484)
Renvoi du nombre de messages bus
Renvoi du nombre d'erreurs de comm. bus
Renvoi du nombre d'exceptions de bus
Non pris en charge
Renvoi du nombre de NAK esclaves
Donner le nombre d'esclaves occupés
Renvoi du nombre de dépassements de car. de
bus
Non pris en charge
Adresse de l'automate
esclave (MsgOut[3])
Entrez l'adresse de l'automate Modbus esclave. La plage des
adresses Modbus est généralement de 1 à 247. Le code de
fonction 8 NE PREND PAS en charge le mode diffusion
(adresse 0).
Contenu du champ des
données de fonction de
diagnostic (MsgOut[4])
Vous devez entrer la valeur décimale nécessaire pour la zone
de données de la sous-fonction de diagnostic particulière.
Pour les sous-fonctions 02, 04, 10, 11, 12, 13, 16, 17 et 18,
cette valeur est automatiquement paramétrée sur zéro. Pour
les sous-fonctions 00, 01 et 03, vous devez entrer la valeur
voulue dans le champ de données. Pour plus de détails,
reportez-vous au document Modicon Modbus Protocol
Reference Guide (PI-MBUS-300).
77
XXMIT : Transférer (Compact, Momentum, Quantum)
Codes de
fonction Modbus
(20, 21)
Contenu
Description
Zone de données de
l'automate maître
(MsgOut[5])
Pour toutes les sous-fonctions, la zone de données de
l'automate maître est la destination des données renvoyées
par l'esclave. Vous devez indiquer un registre 4x marquant le
début de la zone de données dans laquelle les données
renvoyées sont placées. Par exemple, pour placer les
données dans la zone de données de l'automate maître
commençant à (40100), entrez 100 dans ce champ. La sousfonction 04 NE RENVOIE PAS de réponse. Pour plus de
détails, reportez-vous au document Modicon Modbus
Protocol Reference Guide (PI-MBUS-300).
Pour les messages Modbus, le tableau MsgOut doit contenir le tableau de définition
Modbus. Il doit être défini comme un champ de mots. Tableau de définition Modbus
pour les codes de fonction Modbus : 20 et 21 occupent six registres et vous devez
paramétrer MsgLen sur 6 pour que l'opération XXMIT réussisse. Le tableau de
définition Modbus est présenté ci-dessous.
Codes de fonction de la table de définition Modbus (20, 21)
78
Contenu
Description
Code de fonction
Modbus (MsgOut[1])
Le bloc XXMIT prend en charge les codes de fonction suivants :
20 = Lire référence générale (6x)
21 = Ecrire référence générale (6x)
Quantité (MsgOut[2])
Entrez la quantité de données à écrire ou à lire dans l'automate
esclave. Par exemple, entrez 100 pour lire 100 registres de
sortie dans l'automate esclave ou entrez 32 pour écrire 32 bits de
sortie dans un automate esclave. Il existe une taille limite, qui
dépend du modèle de l'automate.
Adresse de l'automate
esclave (MsgOut[3])
Entrez l'adresse de l'automate Modbus esclave. La plage des
adresses Modbus est généralement de 1 à 247. Les codes de
fonction 20 et 21 NE PRENNENT PAS en charge le mode
diffusion (adresse 0).
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
33002197
Contenu
Description
Zone de données de
l'automate esclave
(MsgOut[4])
Pour une commande de lecture, la zone de données de
l'automate esclave est la source des données. Pour une
commande d'écriture, la zone de données de l'automate esclave
est la destination des données. Par exemple, si vous voulez lire
les registres (600300 à 600399) d'un automate esclave, entrez
300 dans ce champ. Si vous voulez écrire des données d'un
automate maître dans le registre (600100) d'un automate
esclave, entrez 100 dans ce champ. Selon le type de commande
Modbus (lecture ou écriture), les zones de données source et
cible doivent être conformes à celles du tableau ci-dessous. Le
registre étendu le plus bas est désigné comme le registre "zéro"
(600000). Le registre de sortie le plus bas est désigné comme le
registre "un" (400001).
Zone de données de
l'automate maître
(MsgOut[5])
Pour une commande de lecture, la zone de données de
l'automate maître est la destination des données renvoyées par
l'esclave. Pour une commande d'écriture, la zone de données de
l'automate maître est la source des données. Par exemple, si
vous voulez écrire des registres (40016 à 40032) de l'automate
maître dans des registres 6x d'un automate esclave, entrez 16
dans le champ. Si vous voulez lire les registres 6x (600001 à
600100) d'un automate esclave et placer les données dans la
zone de données de l'automate maître (40100 à 40199), entrez
100 dans ce champ. Selon le type de commande Modbus
(lecture ou écriture), les zones de données source et cible
doivent être conformes à celles du tableau ci-dessous. Le
registre étendu le plus bas est désigné comme le registre "zéro"
(600000). Le registre de sortie le plus bas est désigné comme le
registre "un" (400001).
Numéro de fichier
(MsgOut[6])
Entrez le numéro de fichier des registres 6x à écrire ou à lire (1...
10) selon la taille de la zone des données de registre étendu.
600001 correspond au fichier 60001 n°1 et 690001 au fichier
60001 n°10, comme indiqué par l'éditeur de données de
référence.
79
XXMIT : Transférer (Compact, Momentum, Quantum)
Zones de données source et cible pour les codes de fonction (20, 21)
Code de fonction
Zone de données de
l'automate maître
20 (Lire référence générale 6x)
4x (cible)
21 (Ecrire référence générale 6x) 4x (source)
Zone de données de
l'automate esclave
6x (source)
6x (cible)
Lorsque vous souhaitez envoyer 20 messages Modbus à partir de l'automate, vous
devez transférer 20 tableaux de définition Modbus un par un dans MsgOut après
chaque exécution réussie du bloc XXMIT, ou programmer 20 blocs XXMIT
différents, puis les activer un par un à partir du programme utilisateur.
80
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Tampon FIFO et contrôle de flux
Présentation
Le bloc fonction XXMIT permet à l'utilisateur de définir l'utilisation d'un tampon FIFO
de réception, du contrôle de flux et de la fonction des caractères de retour arrière
reçus.
Tampon FIFO de
réception ASCII
La mise à 0 du bit 9 du mot de commande désactive la fonction. Lorsque le tampon
FIFO reçoit 512 caractères, un débordement interne se produit. Dans ce cas, tous
les caractères suivants sont ignorés, toutes les opérations d'entrée ASCII (au format
simple et terminé) sont arrêtées et le bloc renvoie une erreur jusqu'à ce que vous
basculiez l'état du bit 9. Lorsque vous basculez l'état du bit 9, toutes les données
du tampon FIFO sont supprimées, les deux bits de contrôle des entrées ASCII sont
ignorés (Entrée ASCII simple (bit 6) et Entrée au format ASCII terminée (bit 5)) et
lorsqu'aucun contrôle de sortie ASCII n'est sélectionné, le contrôle du port série (1
ou 2) revient à l'automate.
Vous devez mettre à 1 le bit 5 (Entrée au format ASCII terminée) ou le bit 6 (Entrée
ASCII simple) pour supprimer les caractères ASCII du tampon FIFO pour le
traitement. Il est impossible de mettre à 1 plusieurs des trois bits suivants
simultanément : Entrée au format ASCII terminée (bit 5), Entrée ASCII simple (bit 6)
ou Sortie ASCII (bit 7).
L'opération duplex peut être effectuée en mettant à 1 le bit 9 (Tampon FIFO de
réception ASCII) et le bit 7 (Sortie ASCII). Vous pouvez ainsi envoyer une entrée
ASCII simple à partir de l'automate tout en continuant à recevoir des caractères
ASCII dans le tampon FIFO. Cette fonction est utile lors de l'utilisation de terminaux
muets. Lorsque le bit 9 (Tampon FIFO de réception ASCII) est à 1, aucun des
contrôles de sortie ASCII suivants n'est autorisé : Messages Modbus maîtres (bit 8),
Modem à numérotation par impulsion (bit 13), Raccrochage du modem (bit 14),
Modem à numérotation à tonalité (bit 15) et Initialisation du modem (bit 16).
33002197
81
XXMIT : Transférer (Compact, Momentum, Quantum)
Validation du
caractère de
retour arrière
Lorsqu'un caractère de retour arrière (BS) est détecté, il N'EST PAS stocké dans le
tableau MsgIn ; en fait, il supprime le caractère précédent et diminue donc le
compteur de caractères RecCount. Par comparaison, lorsqu'un caractère ASCII
standard est détecté, il est stocké dans le tableau MsgIn et augmente le compteur
de caractères RecCount.
Note : Les caractères de retour arrière NE PEUVENT PAS supprimer les
caractères d'un tableau MsgIn vide ; par conséquent, le compteur de caractères
RecCount ne peut jamais être inférieur à 0.
Cette fonctionnalité spéciale de caractère de retour arrière et un écho interne activé
sur le terminal sont très utiles lors de l'utilisation de terminaux muets. Un seul bloc
XXMIT d'entrée au format ASCII terminée recherchant un "cr" est activé lorsque le
bit 9 (Tampon FIFO de réception ASCII) et le bit 10 (caractère de retour arrière) sont
à 1. Aucun autre programme n'est nécessaire lorsque vous tapez et éditez des
caractères en utilisant la touche retour à la volée. Lorsque vous tapez "cr", le bloc
XXMIT active la sortie Done et les données corrigées sont toutes alignées
correctement dans le tableau MsgIn.
82
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Validation du
contrôle de flux
RTS/CTS
Les informations suivantes s'appliquent au mode de sortie. L'état du bloc XXMIT
passe à BLOQUE lorsque l'équipement récepteur indique qu'il ne peut traiter les
caractères supplémentaires en désactivant le signal CTS. De même, l'état du bloc
XXMIT passe à DEBLOQUE lorsque le signal CTS est activé et que l'équipement
récepteur indique qu'il PEUT traiter des caractères supplémentaires.
Lorsque la transmission est DEBLOQUEE et que le bit 7 (Sortie ASCII simple) et le
bit 11 (Contrôle de flux RTS/CTS) sont à 1, les données de sortie de la transmission
sont envoyées par paquets de 16 octets. Une fois tous les paquets envoyés, la
sortie Done du bloc XXMIT est activée pour indiquer le succès de l'opération.
Si, au cours d'une transmission, elle passe soudainement à BLOQUEE, seuls les
caractères restants dans le paquet de sortie courant sont envoyés (16 caractères
au plus) et le bloc XXMIT reste ACTIF indéfiniment. Ce n'est que lors de l'activation
du signal CTS que la sortie ASCII reprend l'envoi de tous les paquets de sortie
restants.
Les informations suivantes s'appliquent au mode d'entrée. RTS étant un signal de
sortie, il peut être utilisé indépendamment du processus de transmission de sortie
ASCII pour BLOQUER ou DEBLOQUER des équipements émetteurs. Lorsque le
bit 9 (Tampon FIFO de réception ASCII) est à 1, le contrôle de flux RTS/CTS
fonctionne en mode d'entrée. Lorsque le bit 9 (Tampon FIFO de réception ASCII)
est à 1 et qu'aucune des deux entrées ASCII n'est activée (Entrée ASCII simple (bit
6) ou Entrée au format ASCII terminée (bit 5)), les caractères reçus remplissent le
tampon FIFO dans lequel ils sont insérés. Pendant ce temps, le contrôle de flux
RTS (bit 11) est activé, ce qui permet à l'équipement émetteur de continuer.
Lorsque le tampon FIFO (512 caractères) est plus qu'aux trois-quarts plein, le bit 11
(Contrôle de flux RTS) est mis à 0 pour BLOQUER l'équipement émetteur. Ce bit
reste à 0 jusqu'à ce que l'entrée ASCII simple (bit 6) ou l'entrée au format ASCII
terminée (bit 5) ait supprimé assez de caractères du tampon FIFO pour réduire son
contenu à moins d'un quart et permettre au bit 11 (Contrôle de flux RTS) de passer
à 1.
Note : L'algorithme du contrôle de flux RTS/CTS est différent de celui du contrôle
modem RTS/CTS. Le premier est lié au débordement du tampon de réception
duplex. Le second concerne l'accès du processus de transmission à un support
de transmission partagé. Par conséquent, il est incorrect de demander
simultanément deux de ces algorithmes RTS/CTS.
Note : Vous NE POUVEZ PAS sélectionner n'importe quel type de contrôle de flux
RTS/CTS (bit 11) lorsque le port est en mode RS 485 (bit 3) car ces signaux
N'EXISTENT PAS en mode RS 485.
33002197
83
XXMIT : Transférer (Compact, Momentum, Quantum)
Validation du
contrôle de flux
Xon/Xoff
Les informations suivantes s'appliquent au mode de sortie. L'état du bloc XXMIT
passe à BLOQUE lors de la réception d'un caractère Xoff. De même, l'état du bloc
XXMIT passe à DEBLOQUE lors de la réception d'un caractère Xon. Xon ou Xoff
ne sont en aucun cas insérés dans le tampon FIFO.
Lorsque la transmission est DEBLOQUEE et que le bit 7 (Sortie ASCII simple) et le
bit 12 (Contrôle de flux Xon/Xoff) sont à 1, les données de sortie de la transmission
sont envoyées par paquets de 16 octets. Une fois tous les paquets envoyés, la
sortie Done du bloc XXMIT est activée.
Si, au cours d'une transmission, elle passe soudainement à BLOQUEE, seuls les
caractères restants dans le paquet de sortie courant sont envoyés (16 caractères
au plus) et le bloc XXMIT reste ACTIF indéfiniment. Ce n'est que lors de la réception
du caractère Xon suivant que la sortie ASCII reprend l'envoi de tous les paquets de
sortie restants.
Les informations suivantes s'appliquent au mode d'entrée. Xon/Xoff peut être utilisé
pour BLOQUER ou DEBLOQUER des équipements émetteurs. Lorsque le bit 9
(Tampon FIFO de réception ASCII) est à 1, le contrôle de flux Xon/Xoff (bit 12)
fonctionne en mode d'entrée. Lorsque le bit 9 (Tampon FIFO de réception ASCII)
est à 1 et qu'aucune des deux entrées ASCII n'est activée (Entrée ASCII simple
(bit 6) ou Entrée au format ASCII terminée (bit 5)), les caractères reçus remplissent
le tampon FIFO dans lequel ils sont insérés.
Lorsque le tampon FIFO est plus qu'aux trois-quarts plein et qu'il reçoit des
caractères supplémentaires, la variable d'état du tampon FIFO est mise à 1. Elle
entraîne l'envoi de caractères XOFF à partir du port série après un retard de 16
caractères BLOQUANT l'émetteur et mettant à 0 la variable d'état du tampon FIFO.
Lorsque toutes les fonctions de sortie ASCII (bits 8, 13, 14, 15 et 16) sont
désactivées et que le contrôle de flux Xon/Xoff (bit 12) est activé, le retard est par
défaut d'un caractère. Par comparaison, lorsque toutes les fonctions de sortie ASCII
(bits 8, 13, 14, 15 et 16) sont activées et que le contrôle de flux Xon/Xoff (bit 12) est
activé, la sortie ASCII est répartie dans des paquets de 16 octets. Par conséquent,
les caractères Xoff en attente N'ONT PAS BESOIN d'attendre que le temps
nécessaire à la transmission de 16 caractères soit écoulé pour BLOQUER
l'émetteur.
Une fois que l'émetteur a interrompu la transmission, l'automate supprime
finalement les caractères du tampon FIFO en utilisant le bit 6 (Entrée ASCII simple)
ou le bit 5 (Entrée au format ASCII terminée).
Lorsque le contenu du tampon FIFO devient inférieur au quart de sa capacité, sa
variable d'état est mise à 1 de façon à permettre l'envoi du caractère XON. Par
conséquent, l'envoi d'un caractère Xon à partir du port série permet de
DEBLOQUER l'émetteur.
84
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Note : Pour empêcher le verrouillage suite à la déconnexion d'un câble ou à
d'autres erreurs de communication intermittentes lorsque l'émetteur est BLOQUE
et qu'il n'a pas reçu le caractère Xon correctement, nous utilisons l'algorithme
suivant. Lorsque le tampon FIFO devient vide et qu'il ne reçoit aucun caractère par
la suite, une chaîne régulière de caractères Xon est transmise une fois toutes les
5 secondes.
Note : Le contrôle de flux Xon/Xoff (bit 12) est différent du contrôle de flux RTS/
CTS (bit 11). Le premier utilise les caractères Xon et Xoff transmis pour éviter le
débordement du tampon de réception en mode duplex. Le second utilise les
signaux de synchronisation par matériel dans le même but. Par conséquent, il est
incorrect de demander simultanément deux de ces algorithmes de contrôle de flux,
car le contrôle de flux/contrôle modem RTS/CTS (bit 11) implique un réseau semiduplex alors que le contrôle de flux Xon/Xoff (bit 12) implique un réseau duplex.
Erreurs d'exécution
Messages
d'erreur
En cas d'erreur, le bloc fonction XXMIT génère l'erreur d'exécution suivante :
E_EFB_WORLD_INTERFACE
Cette erreur apparaît dans la boîte de dialogue Affichage événements.
Selon la valeur du premier paramètre du message d'erreur, le message peut avoir
diverses origines.
l L'interface de communication sélectionnée est incorrecte.
La valeur sélectionnée dans l'entrée Port pour l'interface de communication est
incorrecte. Les valeurs autorisées sont "1" et "2" pour les automates Momentum,
et "1" uniquement pour les autres plates-formes.
l Le port sélectionné est déjà occupé par une autre instance du bloc XXMIT.
l La valeur définie pour Baudrate/Stopbits/Databits est incorrecte ou les variables
connectées à MsgIn ou MsgOut ne fournissent pas une mémoire suffisante pour
l'opération XXMIT configurée.
33002197
85
XXMIT : Transférer (Compact, Momentum, Quantum)
Exemple d'application
Description
Le programme suivant est une courte application de démonstration contenant
quatre instances du bloc XXMIT correspondant aux quatre fonctions principales :
l
l
l
l
Modbus maître
Modbus maître
entrée ASCII simple
sortie des messages ASCII
entrée au format ASCII terminée
L'opération Modbus maître suivante est une demande de lecture d'un équipement
esclave connecté au port 1 du maître :
l lire 4:0001 à 4:00010 de l'esclave
l dans 4:00011 à 4:00020 du maître
L'esclave doit être configuré avec les paramètres de port suivants :
9600 bauds
8 bits de données
1 bit d'arrêt
parité paire (2)
l
l
l
l
Le maître utilise les paramètres du bloc fonction XXMIT.
86
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Déclaration des
variables pour la
communication
Modbus maître
33002197
Le tableau suivant présente les variables utilisées dans l'exemple d'opération
Modbus maître :
Nom de la variable
Type de
données
StartModbusMstr
BOOL
ModbusMstrActive
BOOL
ModbusMstrCommand
WORD
ModbusMstrDone
BOOL
ModbusMstrError
BOOL
ModbusMstrNode
WORD
ModbusMstrSettings
ModbusMstrSettings[1]
ModbusMstrSettings[2]
ModbusMstrSettings[3]
ModbusMstrSettings[4]
ModbusMstrSettings[5]
ModbusMstrSettings[6]
...
WordArr9
ModbusMstrStatus
INT
Valeur
initiale
Commentaire
16#0100
Bit 8 défini
3
10
Code Modbus : lecture de plusieurs
registres
Nombre de registres à lire
Adresse Modbus esclave
Registre source
Registre cible
Inutilisé
1
11
ModbusMstrNode
WORD
ModbusMstrErrorCounter
INT
ModbusMstrDoneCounter
INT
Saisie de l'adresse de l'esclave
87
XXMIT : Transférer (Compact, Momentum, Quantum)
Section CEI pour
la
communication
Modbus maître
Effectuez la programmation suivante dans une section FBD :
Affectation de l'adresse du noeud esclave
MOVE
ModbubsMstrSettings[3]
ModbusMstrNode
Affectations au bloc fonction XXMIT :
XXMIT
StartModbusMstr
ModbusMstrCommand
ModbusMstrSettings
5
1
9600
8
1
2
100
20
100
100
Start
Command
MsgOut
MsgLen
Port
Bauderate
Databits
Stopbits
Parity
RespTout
RetryLmt
StartDly
EndDly
Active
Done
Error
MsgIn
RecCount
Status
Retry
ModbusMstrActive
ModbusMstrDone
ModbusMstrError
ModbusMstrStatus
ModbusMstrRetryCounter
Comptage des erreurs et des succès
CTU
ModbusMstrError
CU
Q
0
R
PV
PV
ModbubsMstrErrorCounter
CTU
88
ModbusMstrDone
CU
Q
0
R
PV
PV
ModbubsMstrDoneCounter
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Réception ASCII
simple
Reçoit toutes les données arrivant sur le port 1. La longueur du tampon de réception
est définie par la variable SimpleReceiveLength, dont la valeur initiale est 10.
Les caractères reçus se trouvent dans le tableau MsgIn, le nombre de caractères
reçus dans RecCount.
Déclaration des
variables pour la
réception ASCII
simple
33002197
Le tableau suivant présente les variables utilisées dans l'exemple de réception
ASCII simple :
Nom de la variable
Type de
données
StartSimpleReceive
BOOL
SimpleReceiveActive
BOOL
SimpleReceiveCharCounter
INT
SimpleReceiveCommand
WORD
SimpleReceiveDone
BOOL
SimpleReceiveError
BOOL
SimpleReceiveLength
INT
SimpleReceiveRetryCounter
INT
SimpleReceiveStatus
INT
SimpleRecMessage
ByteArr12
SimpleReceiveDoneCounter
INT
SimpleReceiveErrorCounter
INT
Valeur
initiale
Commentaire
16#0480
Bits 6 et 9 définis. FIFO activé
10
89
XXMIT : Transférer (Compact, Momentum, Quantum)
Section CEI pour
la réception
ASCII simple
Effectuez la programmation suivante dans une section FBD :
XXMIT
StartSimpleReceive
SimpleReceiveCommand
SimpleReceiveLength
Start
Command
MsgOut
MsgLen
Port
Bauderate
Databits
Stopbits
Parity
RespTout
RetryLmt
StartDly
EndDly
1
9600
8
1
2
100
20
100
100
Active
Done
Error
MsgIn
RecCount
Status
Retry
SimpleReceiveActive
SimpleReceiveDone
SimpleReceiveError
SimpleRecMessage
SimpleReceiveCharCount
SimpleReceiverStatus
SimpleReceiveRetryCounter
Comptage des erreurs et des succès
CTU
SimpleReceiveError
CU
Q
0
R
PV
PV
SimpleReceiveDone
CU
Q
0
R
PV
PV
SimpleReceiveErrorCounter
CTU
Envoi ASCII
simple
90
SimpleReceiveDoneCounter
Envoie un message ASCII simple à partir du port 1 ; le message est "Hello World!!"
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Déclaration des
variables pour
l'envoi ASCII
simple
33002197
Le tableau suivant présente les variables utilisées dans l'exemple d'envoi ASCII
simple :
Nom de la variable
Type de
données
StartSimpleSend
BOOL
SimpleSendActive
BOOL
SimpleSendCommand
WORD
SimpleSendDone
BOOL
SimpleSendError
BOOL
SimpleSendLength
INT
SimpleSendMessage
SimpleSendMessage[1]
SimpleSendMessage[2]
SimpleSendMessage[3]
SimpleSendMessage[4]
SimpleSendMessage[5]
SimpleSendMessage[6]
SimpleSendMessage[7]
SimpleSendMessage[8]
SimpleSendMessage[9]
SimpleSendMessage[10]
SimpleSendMessage[11]
SimpleSendMessage[12]
SimpleSendMessage[13]
SimpleSendMessage[14]
ByteArr36
Valeur
initiale
Commentaire
16#0200
Bit 7 défini
14
Nombre de caractères à envoyer
Message "Hello World !!"
16#48
16#65
16#6C
16#6C
16#6F
16#20
16#57
16#6F
16#72
16#6C
16#64
16#20
16#21
16#21
SimpleSendRetryCounter
INT
SimpleSendStatus
INT
SimpleSendDoneCounter
INT
SimpleSendErrorCounter
INT
91
XXMIT : Transférer (Compact, Momentum, Quantum)
Section CEI pour
l'envoi ASCII
simple
Effectuez la programmation suivante dans une section FBD :
XXMIT
StartSimpleSend
SimpleSendCommand
SimpleSendMessage
SimpleSendLength
1
9600
8
1
2
100
20
100
100
Start
Command
MsgOut
MsgLen
Port
Bauderate
Databits
Stopbits
Parity
RespTout
RetryLmt
StartDly
EndDly
Active
Done
Error
MsgIn
RecCount
Status
Retry
SimpleSendActive
SimpleSendDone
SimpleSendError
SimpleSendStatus
SimpleSendRetryCounter
Comptage des erreurs et des succès
CTU
SimpleSendError
CU
Q
0
R
PV
PV
SimpleSendDone
CU
Q
0
R
PV
PV
SimpleSendErrorCounter
CTU
Réception au
format ASCII
terminé
92
SimpleSendDoneCounter
Après réception des caractères de départ "AB", le bloc fonction place tous les
caractères reçus dans le tampon de réception MsgIn. Le récepteur s'arrête lorsqu'il
reçoit les caractères de fin "CD". Dans ce cas, la sortie Done est activée pour
indiquer le succès de l'opération. La longueur maximale du tampon de réception est
définie par la variable TermReceiveLength, dont la valeur initiale est 20 dans cet
exemple.
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Déclaration des
variables pour la
réception au
format ASCII
terminé
33002197
Le tableau suivant présente les variables utilisées dans l'exemple de réception
ASCII terminée :
Nom de la variable
Type de
données
StartTermReceive
BOOL
TermReceiveActive
BOOL
TermReceiveCharCounter
INT
TermReceiveCommand
WORD
TermReceiveDone
BOOL
TermReceiveError
BOOL
TermReceiveLength
INT
TermReceiveMessage
ByteArr36
TermReceiveRetryCounter
INT
TermReceiveSettings
TermReceiveSettings[1]
TermReceiveSettings[2]
TermReceiveSettings[3]
TermReceiveSettings[4]
TermReceiveSettings[5]
TermReceiveSettings[6]
ByteArr36
Valeur
initiale
Commentaire
16#0880
Bits 5 et 9 définis. FIFO activé
20
Caractères reçus
16#02
16#02
16#41
16#42
16#43
16#44
TermReceiveStatus
INT
TermReceiveDoneCounter
INT
TermReceiveErrorCounter
INT
Longueur de la chaîne de fin (1 ou
2)
Longueur de la chaîne de départ (0,
1 ou 2)
Deuxième caractère de départ
Premier caractère de départ
Deuxième caractère de fin
Premier caractère de fin
93
XXMIT : Transférer (Compact, Momentum, Quantum)
Section CEI pour
la réception au
format ASCII
terminé
Effectuez la programmation suivante dans une section FBD :
XXMIT
StartTermReceive
TermReceiveCommand
TermReceiveSettings
TermReceiveLength
1
9600
8
1
2
100
20
100
100
Start
Command
MsgOut
MsgLen
Port
Bauderate
Databits
Stopbits
Parity
RespTout
RetryLmt
StartDly
EndDly
Active
Done
Error
MsgIn
RecCount
Status
Retry
TermReceiveActive
TermReceiveDone
TermReceiveError
TermReceiveMessage
TermReceiveCharCounter
TermReceiveStatus
TermReceiveRetryCounter
Comptage des erreurs et des succès
CTU
TermReceiveError
CU
Q
0
R
PV
PV
TermReceiveDone
CU
Q
0
R
PV
PV
TermReceiveErrorCounter
CTU
94
TermReceiveDoneCounter
33002197
XXMIT : Transférer (Compact, Momentum, Quantum)
Saisie de chaînes
comme valeurs
initiales
L'éditeur de variables de Concept permet d'entrer facilement des chaînes comme
valeurs initiales dans des tableaux d'octets.
La partie suivante décrit sommairement comment définir une variable DemoString
utilisant le type de données ByteArr36 et saisir la chaîne "My Text !" comme valeur
initiale.
Ouverture de l'éditeur de variables
Dans le menu principal, sélectionnez :
Projet -> Editeur de variable.
Editeur de variables
Editeur de variable
Rechercher/Coller
Type
Variables
Exp
1
Constantes
Rechercher/remplacer
Type de
données
Chaîne de démonstration ByteArr36
Nom de la variable
Adresse
Initiale
Fixer...
Util.
0
2
3
OK
Annuler
Aide
Définition de la nouvelle variable
Entrez le nom des nouvelles variables dans le champ Nom de variable.
Sélectionnez le type de données ByteArrxx (xx dépend de la taille de votre
message). Dans le champ Initiale, le bouton Fixer... apparaît.
Saisie du texte utilisé comme valeur initiale
Cliquez sur le bouton Fixer... et ouvrez la fenêtre de définition. Cliquez deux fois
dans le champ de valeur pour faire apparaître un curseur et entrer votre texte.
33002197
95
XXMIT : Transférer (Compact, Momentum, Quantum)
Définition ByteArr
Définition ByteArr36
DemoString
Nom
+
DemoString
Type
ByteArr36
OK
Valeur
My Text!
Aide
Annuler
Visualisation des éléments du tableau
Cliquez sur le bouton + situé en regard des noms de variable pour développer la vue
sur tous les éléments du tableau. La colonne de la valeur indique la représentation
en code ASCII des caractères entrés au format hexadécimal.
Eléments du tableau d'octets
Définition ByteArr36
DemoString
Nom
-
Valeur
DemoString
ByteArr36
DemoString[1]
BYTE
16#4D
DemoString[2]
BYTE
16#79
DemoString[3]
BYTE
16#20
DemoString[4]
BYTE
16#54
DemoString[5]
BYTE
16#65
DemoString[6]
BYTE
16#78
DemoString[7]
BYTE
16#74
DemoString[8]
BYTE
16#20
DemoString[9]
BYTE
16#21
OK
96
Type
Annuler
Aide
33002197
RTXMIT : Transmission
bidirectionnelle simultanée
(Compact, Momentum, Quantum)
4
Présentation
Introduction
Ce chapitre décrit le bloc de fonction RTXMIT.
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
33002197
Sujet
Page
Description sommaire
98
Représentation
99
Description des paramètres
100
Erreurs d'exécution
104
Exemple d'application
104
97
RTXMIT : Transmission (Compact, Momentum, Quantum)
Description sommaire
Description de la
fonction
Le bloc fonction permet d'établir une communication bidirectionnelle simultanée via
le port Modbus local.Sur les automates Momentum, le deuxième port Modbus local
est également pris en charge.
Le bloc fonction combine deux fonctions principales en une : la réception simple et
la transmission simple de messages.
Note : EN et ENO ne doivent PAS être utilisés avec le bloc RTXMIT, car ils risquent
de figer les paramètres de sortie.
Restrictions
Le bloc RTXMIT ne prend pas en charge le protocole Modbus ou les fonctions de
modem.
Logiciels et
matériel requis
Logiciels
Le bloc fonction RTXMIT nécessite les logiciels suivants :
l Concept 2.5 Service Release 2 au minimum
l CEI de l'exécutif (Concept 2.5 Service Release 2 au minimum)
Matériel
Le matériel suivant n'est pas pris en charge par le bloc fonction RTXMIT :
automates qui ne prennent pas en charge les langages CEI
automate Soft
Automates Atrium
simulateur CEI
l
l
l
l
Mémoire requise
98
L'utilisation d'un ou plusieurs EFB RTXMIT dans une application CEI consomme
approximativement 5 Ko de mémoire (code) programme. Chaque instance de cet
EFB incluse dans le programme utilisateur nécessite une mémoire de données
supplémentaire de 200 octets.
33002197
RTXMIT : Transmission (Compact, Momentum, Quantum)
Représentation
Symbole
Représentation du bloc
RTXMIT
33002197
BOOL
ANY
UINT
BOOL
BOOL
UINT
BOOL
BYTE
UINT
BYTE
BYTE
BOOL
BOOL
TxStart
TxBuff
TxLength
RxStart
RxReset
RxLength
RxBckSpc
Port
BaudRate
DataBits
StopBits
Parity
EvenPari
BOOL
BOOL
UINT
BYTE
BYTE
BYTE
BYTE
BYTE
FlowCtrl
FlowSoft
FlowBlck
BegDelt
BegDel1
BegDel2
EndDelCt
EndDel1
BYTE
EndDel2
BOOL
Echo
ActiveTx
ErrorTx
DoneTx
ActiveRx
ErrorRx
DoneRx
CountRx
AllCtRx
BuffRx
StatusTx
StatusRx
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
UINT
UDINT
ANY
WORD
WORD
99
RTXMIT : Transmission (Compact, Momentum, Quantum)
Description des paramètres
Description des
paramètres
100
Description du paramètre de bloc
Paramètres
Type de
données
Signification
TxStart
BOOL
Sur un front montant (FALSE->TRUE), l'EFB commence par
l'envoi des messages. Cette opération s'effectue en même
temps que la réception en cours. Si ce paramètre passe de
TRUE à FALSE, la transmission en cours est annulée sans
qu'aucune erreur ne soit générée. Une fois la transmission
terminée (avec ou sans succès), un nouveau front montant sur
TxStart sera nécessaire au déclenchement d'un nouveau
processus.
TxBuff
ANY
Tout type de variable. Contient la chaîne de caractères "à
envoyer" au format Intel.
TxLength
UINT
Ce paramètre spécifie le nombre total de caractères à envoyer
depuis TxBuff. A moins d'utiliser le contrôle de flux de données
(RTS/CTS ou XON/XOFF), ce nombre ne peut pas être
supérieur à 1024. Si le contrôle de flux de données est activé,
TxLength peut atteindre 2^16, car FlowBlck spécifie le nombre
de caractères transmis à l'aide d'une trame de messages.
RxStart
BOOL
Sur un front montant (FALSE->TRUE), l'EFB commence par la
réception des messages. Cette opération s'effectue en même
temps que la transmission en cours. Si ce paramètre a la valeur
TRUE une fois la réception terminée (DoneTx = TRUE), les
caractères reçus suivants ne seront plus stockés dans RxBuff.
Un nouveau front montant sur RxStart sera nécessaire au
déclenchement d'un nouveau processus de réception.
RxReset
BOOL
Si la valeur est TRUE, la chaîne suivante de caractères reçus
est stockée au début de BuffRx. Le paramètre de sortie
CountRx est défini sur zéro. En même temps, les valeurs
courantes des paramètres d'entrée RxLength, Strt_Cnt,
Strt_Dl1, Strt_Dl2, End_Cnt, End_Dl1, End_Dl2, RxBckSpc sont
désormais utilisées.
RxLength
UINT
Nombre max. de caractères à recevoir. Si cette valeur dépasse
la taille de BuffRx , aucune erreur n'est générée, mais la taille de
BuffRx est utilisée à la place. Une fois que le nombre donné de
caractères est reçu, le paramètre de sortie DoneRx prend la
valeur TRUE et l'opération de réception est alors terminée.
33002197
RTXMIT : Transmission (Compact, Momentum, Quantum)
33002197
Paramètres
Type de
données
Signification
RxBckSpc
BOOL
Si ce paramètre est défini sur TRUE, un caractère reçu de
valeur 8 (retour arrière) provoque le remplacement du caractère
reçu avant le retour arrière par le caractère reçu après. Par
ailleurs, dans ce mode, la valeur de la sortie CountRx est
diminuée à chaque retour arrière reçu jusqu'à ce qu'elle atteigne
la valeur 0. L'EFB considère la valeur de RxBckSpc uniquement
lors du passage de RxStart de FALSE à TRUE ou lorsque
RxReset est défini sur TRUE (dans ce cas RxStart doit
également avoir la valeur TRUE).
Port
BYTE
Numéro de port local (1 ou 2)
Le deuxième port n'est pris en charge que sur les automates
Momentum.
Remarque : Sur les automates Momentum, l'EFB passe en
mode RS485 si le port attribué a été configuré comme tel ; sinon,
il est exécuté en mode RS232.
Baudrate
UINT
Bits par seconde lors de la transmission et de la réception. Les
valeurs autorisées sont les suivantes : 50, 75, 110, 134, 150,
300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600,
19200
DataBits
BYTE
Bits de données par caractère reçu ou transmis (8 ou 7)
StopBits
BYTE
Bits d'arrêt par caractère reçu ou transmis (1 ou 2)
Parity
BOOL
Si la valeur est TRUE, le contrôle de parité est activé (la parité
dépend du paramètre EvenPari).
Si la valeur est FALSE, aucun contrôle de parité n'est utilisé.
EvenPari
BOOL
Si TRUE et Parity = TRUE, le contrôle de la parité paire est
utilisé.
Si FALSE et Parity = TRUE, le contrôle de la parité impaire est
utilisé.
FlowCtrl
BOOL
Si la valeur est TRUE, la prochaine transmission déclenchée
prend en compte soit RTS/CTS, soit XON/XOFF (selon
FlowSoft) pour le contrôle de flux de données. Les opérations de
réception n'utilisent pas le contrôle de flux de données. En effet,
le volume important du tampon interne de l'automate
(512 octets) permet de ne pas perdre de caractères entre deux
cycles de l'automate.
FlowSoft
BOOL
Si la valeur est TRUE, le flux de données des transmissions est
contrôlé par l'entrée en communication XON/XOFF.
101
RTXMIT : Transmission (Compact, Momentum, Quantum)
102
Paramètres
Type de
données
Signification
FlowBlck
UINT
Utilisé uniquement si FlowCtrl a la valeur TRUE !
Ce paramètre spécifie le nombre de caractères envoyés comme
une trame dès que le transmetteur obtient l'autorisation
d'envoyer les messages par l'intermédiaire du mécanisme de
contrôle de flux des données sélectionné.
Si FlowBlck est défini sur 0, l'EFB utilise en interne la valeur 1 à
la place (nombre minimal de caractères à envoyer nécessaire
pour former une trame).
Si FlowBlck est défini sur une valeur supérieure à TxLength,
l'EFB utilise en interne TxLength à la place (nombre maximal de
caractères à envoyer sous la forme d'une trame). Il est
nécessaire d'augmenter la valeur attribuée à FlowBlck afin
d'accroître le débit de données (une seule trame peut être
transmise par cycle de l'automate).
BegDelCt
BYTE
Valeur du délimiteur de début. Ce paramètre indique le nombre
de caractères utilisés pour le délimiteur de début. Les valeurs
autorisées sont : 0, 1, 2. Si cette valeur est supérieure à 2, l'EFB
ne génère pas d'erreur mais utilise la valeur maximale 2 à la
place.
BegDel1
BYTE
Il s'agit du premier caractère du délimiteur de début
(2 caractères max.).
BegDel2
BYTE
Il s'agit du deuxième caractère du délimiteur de début
(2 caractères max.).
EndDelCt
BYTE
Valeur du délimiteur de fin. Ce paramètre indique le nombre de
caractères utilisés pour le délimiteur de fin. Les valeurs
autorisées sont : 0, 1, 2. Si cette valeur est supérieure à 2, l'EFB
ne génère pas d'erreur mais utilise la valeur maximale 2 à la
place.
EndDel1
BYTE
Il s'agit du premier caractère du délimiteur de fin (2 caractères
max.).
EndDel2
BYTE
Il s'agit du deuxième caractère du délimiteur de fin (2 caractères
max.).
Echo
BOOL
Si la valeur est TRUE, tous les caractères reçus au cours de la
transmission sont ignorés. En mode RS485 à 2 fils, ce
paramètre doit être réglé sur TRUE, sinon chaque caractère
transmis est immédiatement reçu.
ActiveTx
BOOL
Si la valeur est TRUE, une opération d'envoi précédemment
initialisée est toujours en cours.
33002197
RTXMIT : Transmission (Compact, Momentum, Quantum)
Paramètres de
port
33002197
Paramètres
Type de
données
Signification
ErrorTx
BOOL
Si la valeur est TRUE, échec d'une opération d'envoi
précédemment initialisée, StatusTx.
Dans une telle situation, StatusTx porte un code d'erreur
permettant d'identifier la cause de l'échec.
DoneTx
BOOL
Si la valeur est TRUE, succès d'une opération d'envoi
précédemment initialisée.
ActiveRx
BOOL
Si la valeur est TRUE, une opération de réception
précédemment initialisée est toujours en cours.
ErrorRx
BOOL
Si la valeur est TRUE, échec d'une opération de réception
précédemment initialisée.
Dans une telle situation, StatusRx porte un code d'erreur
permettant d'identifier la cause de l'échec.
DoneRx
BOOL
Si la valeur est TRUE, succès d'une opération de réception
précédemment initialisée.
CountRx
UINT
Nombre de caractères reçus depuis la dernière réception
initialisée.
Ce paramètre de sortie est réglé sur 0 une fois que RxReset est
défini sur TRUE. Cette valeur diminue à la réception d'un
caractère de retour arrière si RxBckSpc est défini sur TRUE.
AllCtRx
UDINT
Nombre TOTAL de caractères reçus depuis le dernier front
montant sur RxStart.
Cette sortie conserve sa valeur une fois que RxReset est défini
sur TRUE.
BuffRx
ANY
Tout type de variable. Utilisé pour stocker les caractères reçus
au format Intel.
StatusTx
WORD
Prend la valeur 0 si aucune erreur n'est détectée pendant
l'envoi, sinon code d'erreur (voir Erreurs d'exécution, p. 104).
StatusRx
WORD
Prend la valeur 0 si aucune erreur n'est détectée pendant la
réception, sinon code d'erreur (voir Erreurs d'exécution, p. 104).
Les nouveaux paramètres de port affectés aux paramètres d'entrée, Baudrate,
DataBits, StopBits, Parity et EvenPari ne sont utilisés qu'une fois que les deux
parties de l'EFB (récepteur et transmetteur) ont été mises hors service
(TxStart = FALSE et RxStart = FALSE) et qu'au moins l'une des deux a
(re-)démarré.
103
RTXMIT : Transmission (Compact, Momentum, Quantum)
Erreurs d'exécution
Code d'erreur
(StatusTx et
StatusRx)
Code d'erreur (StatusTx et StatusRx)
Code d'erreur
Description
0
Aucune erreur. L'EFB est complètement désactivé (TxStart et RxStart sont
définis sur FALSE) ou le processus en cours fonctionne normalement.
8003 (hex)
Le port Modbus affecté n'existe pas (>1 sur Quantum et Compact, >2 sur
Momentum).
ou
le port Modbus affecté est déjà utilisé par un autre EFB.
8304 (hex)
Le port Modbus affecté est utilisé par un 984-Loadable (tel que XXMIT).
8305 (hex)
Une vitesse incorrecte a été affectée.
8307 (hex)
Un nombre de bits de données incorrect a été affecté.
8308 (hex)
Un nombre de bits d'arrêt incorrect a été affecté.
Exemple d'application
Description
104
Le programme suivant est une courte application de démonstration qui illustre la
mise en oeuvre d'une transmission bidirectionnelle simultanée avec RTXMIT dans
un langage texte structuré. Le message à transmettre doit se trouver dans TxBuff,
tandis que le message reçu se trouve dans BuffRx.
33002197
RTXMIT : Transmission (Compact, Momentum, Quantum)
Transfert
bidirectionnel
simultané
Déclaration du bloc fonction :
VAR
send_receive : RTXMIT;
END_VAR;
Appel du bloc fonction :
send_receive (TxStart
TxBuff
TxLength
RxStart
RxReset
RxLength
RxBckSpc
Port
Baudrate
Databits
Stopbits
Parity
EvenPari
FlowCtrl
FlowSoft
FlowBlck
BegDelCt
BegDel1
BegDel2
EndDelCt
EndDel1
EndDel2
Echo
BuffRx
TX_active
TX_error
TX_done
RX_active
RX_error
RX_done
rx_cnt_uint
rx_cnt_udint
TX_status
RX_status
33002197
:= TX_start,
:= tx_buffer,
:= TX_length,
:= Rx_start,
:= FALSE,
:= 40,
:= FALSE,
:= port_number,
:= BAUDRATE,
:= 8,
:= 1,
:= FALSE,
:= FALSE,
:= TRUE,
:= FALSE,
:= 40,
(* début d'envoi *)
(* tampon d'envoi *)
(* longueur d'un télégramme d'envoi complet *)
(* début de réception *)
(* mode de réinitialisation non activé *)
(* longueur max. d'un télégramme reçu, incluant STX/CR *)
(* aucun retour arrière autorisé *)
(* attention : pour l'automate Quantum, seul le port 1 peut être utilisé ! *)
(* la vitesse est fixe *)
(* le format de données est fixe *)
(* le nombre de bits d'arrêt est fixe *)
(* aucune parité *)
(* active le contrôle de flux *)
(* contrôle de flux par RTS/CTS *)
(* lorsque le contrôle de flux est actif, 40 caractères max.
par cycle sont envoyés *)
:= 0,
:= 0,
:= 0,
:= 0,
:= 0,
:= 0,
:= FALSE,
(* requis uniquement en mode RS485 à 2 fils *)
=> rx_buffer); (* opérateur spécial pour l'allocation de RX_BUFF *)
:= send_receive.ActiveTx;
:= send_receive.ErrorTx;
:= send_receive.DoneTx;
:= send_receive.ActiveRx;
:= send_receive.ErrorRx;
:= send_receive.DoneRx;
:= send_receive.CountRx;
:= send_receive.AllCtRx;
:= send_receive.StatusTx;
:= send_receive.StatusRx;
105
RTXMIT : Transmission (Compact, Momentum, Quantum)
Conversion du nombre de caractères reçus du format UDINT au format UINT :
RX_count
106
:= UDINT_TO_UINT (IN := rx_cnt_udint);
33002197
Références techniques pour le
bloc fonction XXMIT
5
Présentation
Introduction
Ce chapitre décrit les références techniques pour le bloc fonction XXMIT.
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
33002197
Sujet
Page
Limites des paramètres de requête/réponse Modbus
108
Configuration de XXMIT à l'aide de modems à numérotation automatique
compatibles Hayes (uniquement)
112
107
Réf. Tech. XXMIT
Limites des paramètres de requête/réponse Modbus
Limites des
paramètres en
fonction du type
d'automate
Les paramètres de requête/réponse sont limités en fonction du type d'automate
utilisé. Reportez-vous au tableau approprié ci-dessous.
Tableau des paramètres maximum de l'automate Quantum.
Code de
fonction
Description
Requête
Réponse
1
Lire état bit de sortie/
interne
2000 bits de sortie
2000 bits de sortie
2
Lire l'état de l'entrée
2000 bits d'entrée
2000 bits d'entrée
3
Lire mots de sortie/
internes
125 registres
125 registres
4
Lire registre d'entrée
125 registres
125 registres
5
Forcer bit de sortie
individuel
1 bit de sortie
1 bit de sortie
6
Forcer registre individuel
1 registre
1 registre
15
Forcer bits de sortie
multiples
800 bits de sortie
800 bits de sortie
16
Forcer registres multiples
100 registres
100 registres
20
Lire référence générale
La longueur maximale
du message complet NE
DOIT PAS dépasser
256 octets
La longueur maximale du
message complet NE
DOIT PAS dépasser
256 octets
21
Ecrire référence générale La longueur maximale
du message complet NE
DOIT PAS dépasser
256 octets
La longueur maximale du
message complet NE
DOIT PAS dépasser
256 octets
Note : Les processeurs 140 CPU 113 02 et 140 CPU 113 03 ne prennent pas en
charge les références générales.
108
33002197
Réf. Tech. XXMIT
Tableau des paramètres maximum de l'automate 884.
Code de
fonction
Description
Réponse
1
Lire état bit de sortie/interne
2000 bits de sortie
2
Lire l'état de l'entrée
2000 bits d'entrée
3
Lire mots de sortie/internes
125 registres
4
Lire registre d'entrée
125 registres
5
Forcer bit de sortie individuel
1 bit de sortie
6
Forcer registre individuel
1 registre
15
Forcer bits de sortie multiples
800 bits de sortie
16
Forcer registres multiples
100 registres
20
Lire référence générale
NON pris en charge
21
Ecrire référence générale
NON pris en charge
Tableau des paramètres maximum de l'automate 584/984.
Code de
fonction
33002197
Description
Réponse
1
Lire état bit de sortie/interne
2000 bits de sortie
2
Lire l'état de l'entrée
2000 bits d'entrée
3
Lire mots de sortie/internes
125 registres
4
Lire registre d'entrée
125 registres
5
Forcer bit de sortie individuel
1 bit de sortie
6
Forcer registre individuel
1 registre
15
Forcer bits de sortie multiples
800 bits de sortie
16
Forcer registres multiples
100 registres
20
Lire référence générale (6x)
La longueur maximale du message
complet NE DOIT PAS dépasser
256 octets
21
Ecrire référence générale (6x)
La longueur maximale du message
complet NE DOIT PAS dépasser
256 octets
109
Réf. Tech. XXMIT
Tableau des paramètres maximum de l'automate 484.
Code de
fonction
Description
Réponse
1
Lire état bit de sortie/interne
512 bits de sortie
2
Lire l'état de l'entrée
512 bits d'entrée
3
Lire mots de sortie/internes
254 registres
4
Lire registre d'entrée
32 registres
5
Forcer bit de sortie individuel
1 bit de sortie
6
Forcer registre individuel
1 registre
15
Forcer bits de sortie multiples
800 bits de sortie
16
Forcer registres multiples
60 registres
20
Lire référence générale
NON pris en charge
21
Ecrire référence générale
NON pris en charge
Tableau des paramètres maximum de l'automate 184/384.
110
Code de
fonction
Description
Réponse
1
Lire état bit de sortie/interne
800 bits de sortie
2
Lire l'état de l'entrée
800 bits d'entrée
3
Lire mots de sortie/internes
100 registres
4
Lire registre d'entrée
100 registres
5
Forcer bit de sortie individuel
1 bit de sortie
6
Forcer registre individuel
1 registre
15
Forcer bits de sortie multiples
800 bits de sortie
16
Forcer registres multiples
100 registres
20
Lire référence générale
NON pris en charge
21
Ecrire référence générale
NON pris en charge
33002197
Réf. Tech. XXMIT
Tableau des paramètres maximum de l'automate M84.
Code de
fonction
33002197
Description
Réponse
1
Lire état bit de sortie/interne
64 bits de sortie
2
Lire l'état de l'entrée
64 bits d'entrée
3
Lire mots de sortie/internes
32 registres
4
Lire registre d'entrée
4 registres
5
Forcer bit de sortie individuel
1 bit de sortie
6
Forcer registre individuel
1 registre
15
Forcer bits de sortie multiples
64 bits de sortie
16
Forcer registres multiples
32 registres
111
Réf. Tech. XXMIT
Configuration de XXMIT à l'aide de modems à numérotation automatique
compatibles Hayes (uniquement)
Description
Vous devez vous familiariser avec trois commandes lors de la connexion de
modems à numérotation automatique à XXMIT.
Ces commandes sont les suivantes :
l initialisation du modem
l numérotation du modem
l raccrochage du modem.
Avant qu'un message ASCII ou Modbus ne passe par le modem, vous devez
commencer par envoyer une chaîne d'initialisation, puis une chaîne de
numérotation au modem. Une fois que le modem a composé le numéro de
téléphone et établi la connexion avec le modem déporté, vous pouvez envoyer un
nombre illimité de messages ASCII ou Modbus par ce modem. Pour envoyer
plusieurs messages, incrémentez le pointeur de message pour passer au message
suivant après chaque exécution réussie de XXMIT. Lorsque tous les messages ont
été envoyés, vous pouvez envoyer la chaîne de raccrochage au modem.
112
33002197
Réf. Tech. XXMIT
Message
d'initialisation
Le message d'initialisation est un simple message ASCII ; il peut comporter un
maximum de 512 caractères, sachant que 50 caractères sont souvent plus que
suffisants pour initialiser un modem. Vous pouvez mettre en oeuvre n'importe quelle
commande AT Hayes dans la chaîne d'initialisation. Nous recommandons les
commandes suivantes lors de l'initialisation d'un modem utilisé avec XXMIT.
Message d'initialisation pour un modem à numérotation automatique
Message
d'initialisation =
AT&F&K0&Q0&D0V1Q0X0E1
AT=
Réglage automatique du modem 1
&F=
Reprise de la configuration usine comme configuration active 1
&K0=
Désactivation du contrôle de flux local 2
&Q0=
Communication en mode asynchrone 2
&D0=
Ignorer l'état du signal DTR 1
V1=
Affichage des codes de résultat sous forme de mots 1
Si V1 n'est pas utilisé ou que le modem n'est pas capable de
renvoyer des réponses prolixes, le bloc XXMIT renvoie l'erreur
117 (timeout de réponse du modem).
Q0=
Renvoi des codes de résultat 1
X4=
Renvoi des codes de résultat de la progression des appels de
base : Connexion, Pas de porteuse et Sonnerie 1
E1=
Echo des caractères entrés au clavier vers l'écran dans l'état de
commande 1
1
2
Ces paramètres doivent toujours faire partie de la chaîne d'initialisation pour que XXMIT
fonctionne correctement.
Ces paramètres doivent faire partie de la chaîne d'initialisation pour que XXMIT
transmette correctement un message à un modem déporté. Ne modifiez ou n'utilisez ces
paramètres que si vous êtes un utilisateur de modem expérimenté.
Note : Si certains fabricants de modems garantissent une compatibilité totale avec
Hayes, il peut exister de légères différences. Par conséquent, nous
recommandons de n'utiliser que les commandes ayant les mêmes définitions que
celles indiquées ci-dessus.
33002197
113
Réf. Tech. XXMIT
Le message d'initialisation doit toujours commencer par une commande AT
standard Hayes. Le bloc XXMIT ajoute automatiquement AT au début des
messages de commande du modem et les fait suivre des caractères retour chariot
(0x0D) et retour à la ligne (0x0A) puisque ces caractères sont nécessaires pour tous
les messages de contrôle du modem. Il n'est pas nécessaire que les autres
messages ASCII (sans contrôle) finissent par un retour chariot et un retour à la ligne.
Exemple de message d'initialisation typique envoyé par le bloc XXMIT au modem.
Message
Longueur
(AT)&F&K0&Q0&D0V1X0Q0 (<CR><LF>)
1
1
17 caractères
Les caractères entre parenthèses sont automatiquement envoyés.
Par exemple, le message d'initialisation peut également être utilisé pour régler les
registres S du modem.
Message
(AT)S0=1 (<CR><LF>)
1
Longueur
1
4 caractères
Les caractères entre parenthèses sont automatiquement envoyés.
Pour que XXMIT envoie un message d'initialisation au modem, les bits 7 et 16 du
mot de commande doivent être à 1. Lorsque le bit 16 est à 1, les bits 15 et 14 ne
doivent pas l'être, sinon XXMIT ne peut pas exécuter l'opération avec succès. Pour
que le message soit effectivement envoyé, l'entrée Start de XXMIT doit s'ACTIVER
et rester ACTIVE jusqu'à ce que l'opération soit terminée ou qu'une erreur
survienne. Lorsque XXMIT détermine que le message a bien été envoyé au modem,
il ACTIVE la sortie Done. Lorsqu'une erreur survient, la sortie Error s'ACTIVE. La
sortie Active est ACTIVE pendant l'envoi du message au modem.
Note : Pour limiter la programmation par schémas à contacts, vous pouvez
initialiser le modem avec des paramètres via un programme de terminal et ne pas
utiliser XXMIT. Une fois dans la mémoire du modem, les paramètres peuvent être
sauvegardés dans la mémoire non volatile à l'aide d'une commande AT,
habituellement &W.
114
33002197
Réf. Tech. XXMIT
Message de
composition
Le message de composition est utilisé pour envoyer un numéro de téléphone au
modem. Seules les commandes AT liées à la composition d'un numéro doivent être
incluses dans le message. Vous trouverez ci-dessous des exemples de messages
de composition typiques utilisés avec le bloc XXMIT.
Exemple de composition d'un numéro de téléphone à l'aide de la numérotation à
tonalité.
Message
(AT)DT)6800326 (<CR><LF>)
1
Longueur
1
7 caractères
Les caractères entre parenthèses sont automatiquement envoyés.
Exemple de composition d'un numéro de téléphone à l'aide de la numérotation par
impulsion.
Message
Longueur
1
(AT)DP)6800326 (<CR><LF>)
1
7 caractères
Les caractères entre parenthèses sont automatiquement envoyés.
Exemple de composition d'un numéro de téléphone à l'aide de la numérotation à
tonalité, attente de la tonalité avant la composition du numéro, puis pause avant la
composition du reste du numéro.
Message
Longueur
(AT)DT)W,6800326 (<CR><LF>)1
9 caractères
1
Les caractères entre parenthèses sont automatiquement envoyés.
Pour que XXMIT envoie un message de numérotation à tonalité au modem, les bits
7 et 15 du mot de commande doivent être à 1. Lorsque le bit 15 est à 1, les bits 16
et 14 ne doivent pas l'être, sinon XXMIT ne peut pas exécuter l'opération avec
succès. Pour que le message soit effectivement envoyé, l'entrée Start de XXMIT
doit s'ACTIVER et rester ACTIVE jusqu'à ce que l'opération soit terminée ou qu'une
erreur survienne. Lorsque XXMIT détermine que le message a bien été envoyé au
modem, il ACTIVE la sortie Done. Lorsqu'une erreur survient, la sortie Error
s'ACTIVE. La sortie Active est ACTIVE pendant l'envoi du message au modem.
Note : L'établissement de la connexion entre un modem local et un modem
déporté demandant beaucoup de temps, la valeur du timeout dans RespTout doit
être assez longue lors de l'envoi d'un message de composition à un modem. Par
exemple, réglez le timeout sur 30 000 ms lors de l'envoi d'un message de
composition. Lorsque la valeur du timeout est trop faible, XXMIT émet un timeout
de message. Vous devrez peut-être essayer plusieurs réglages avant de trouver
la valeur optimale.
33002197
115
Réf. Tech. XXMIT
Message de
raccrochage
Le message de raccrochage est utilisé pour raccrocher le modem. Seules les
commandes AT liées au raccrochage du modem doivent être utilisées dans ce
message. Vous trouverez ci-dessous un exemple de message de raccrochage
typique.
Exemple de message de raccrochage du modem.
Message
Longueur
(+++AT)H0 (<CR><LF>)1
2 caractères
1
Les caractères entre parenthèses sont automatiquement envoyés.
Lorsque le message de raccrochage est envoyé à un modem déjà connecté à un
modem déporté, XXMIT doit d'abord régler le modem local en mode de commande
en envoyant une séquence d'échappement +++ au modem. XXMIT suppose que
+++ règle le modem en mode de commande. Certains fabricants de modems
permettent au propriétaire de modifier cette séquence d'échappement par défaut.
Pour que XXMIT fonctionne correctement, le modem doit être réglé de manière à
accepter la séquence d'échappement +++.
Pour que XXMIT envoie un message de raccrochage au modem, les bits 7 et 14 du
mot de commande doivent être à 1. Lorsque le bit 14 est à 1, les bits 16 et 15 ne
doivent pas l'être, sinon XXMIT ne peut pas exécuter l'opération avec succès. Pour
que le message soit effectivement envoyé, l'entrée Start de XXMIT doit s'ACTIVER
et rester ACTIVE jusqu'à ce que l'opération soit terminée ou qu'une erreur
survienne. Lorsque XXMIT détermine que le message a bien été envoyé au modem,
il ACTIVE la sortie Done. Lorsqu'une erreur survient, la sortie Error s'ACTIVE. La
sortie Done est ACTIVE pendant l'envoi du message au modem.
Note : Expert : Le raccrochage d'un modem local demandant beaucoup de temps
après réception de la commande de raccrochage, la valeur du timeout dans
RespTout doit être assez longue lors de l'envoi d'un message de composition à un
modem. Par exemple, réglez le timeout sur 30 000 ms lors de l'envoi d'un message
de composition. Lorsque la valeur du timeout est trop faible, XXMIT émet un
timeout de message. Vous devrez peut-être essayer plusieurs réglages avant de
trouver la valeur optimale.
116
33002197
Informations sur le câblage
6
Présentation
Introduction
Ce chapitre décrit les câbles et les broches des composants matériels utilisés avec
les blocs de fonction de transmission.
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
33002197
Sujet
Page
Brochage des câbles
118
Kits adaptateurs de câbles
132
117
Câblage
Brochage des câbles
Brochage des
câbles
d'interface
Vous devez fabriquer un câble d'interface entre l'automate et le modem ou
l'imprimante. Ce câble doit être branché sur le port pris en charge par l'automate et
sur le port RS232 du modem ou de l'imprimante, ou directement sur le port Modbus
d'un autre automate. Le bloc XXMIT prenant en charge de nombreux modems et
imprimantes, le brochage risque de varier. Certains brochages sont indiqués cidessous.
Reportez-vous au manuel TSX Momentum M1 Processor Adapter and Option
Adapter User Guide pour plus d'informations sur les connexions de communication
Momentum.
118
33002197
Câblage
9 broches (RS232) vers 25
broches
(modem) sans
contrôle RTS/
CTS
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
Adaptateur 25 broches (mâle)
13
9 broches (mâle)
25
12
Broche 25
24
11
23
10
22
5
9
Broche
9
4
21
8
8
3
7
7
19
2
6
6
Broche 1
20
1
18
5
17
4
16
3
Vue de face
15
2
14
Broche 1
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur 9 broches
Nom du signal
Broche
Broche
connectée à ...
Nom du signal
RXD
2
Oui
3
RXD
TXD
3
Oui
2
TXD
RTS
7 (pontage)
8 (pontage)
4 (pontage)
5 (pontage)
RTS
4 (pontage)
6 (pontage)
6 (pontage)
20 (pontage)
DSR
DTR
GND
5
7
GND
CTS
DSR
33002197
Broche
Connecteur type SUB-D 25
broches
Oui
CTS
DTR
119
Câblage
9 broches (RS232) vers 25
broches
(modem) avec
contrôle RTS/
CTS
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
Adaptateur 25 broches
(mâle)
13
25
9 broches (mâle)
12
Broche 25
24
11
23
10
22
5
9
Broche
9
4
21
8
8
20
3
7
7
19
2
6
6
Broche 1
18
1
5
17
4
16
3
Vue de face
15
2
14
Broche 1
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur 9 broches
Nom du signal
120
Broche
Connecteur type SUB-D 25
broches
Broche
connectée à ...
Broche
Nom du signal
RXD
2
Oui
3
RXD
TXD
3
Oui
2
TXD
RTS
7
Oui
4
RTS
CTS
8
Oui
5
CTS
DSR
4 (pontage)
6 (pontage)
6 (pontage)
20 (pontage)
DSR
DTR
GND
5
7
GND
Oui
DTR
33002197
Câblage
9 broches vers 9
broches
(Null Modem)
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
9 broches (mâle)
5
4
3
9
Broche 9
8
7
2
6
Broche 1
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur 9 broches
Nom du signal
Broche
Broche
connectée à ...
Broche
Nom du signal
RXD
2
Oui
3
TXD
TXD
3
Oui
2
RXD
RTS
7 (pontage)
8 (pontage)
7 (pontage)
8 (pontage)
RTS
4 (pontage)
6 (pontage)
DSR
DTR
4 (pontage)
6 (pontage)
GND
5
5
GND
CTS
DSR
33002197
Connecteur 9 broches
Oui
CTS
DTR
121
Câblage
9 broches vers 9
broches
(Modem)
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
9 broches (mâle)
5
9
4
Broche 9
8
3
7
2
Broche 1
6
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur 9 broches
122
Connecteur 9 broches
Nom du signal
Broche
Broche
Broche
connectée à ...
Nom du signal
TXD
2
Oui
2
TXD
RXD
3
Oui
3
RXD
RTS
7
Oui
7
RTS
CTS
8
Oui
8
CTS
DSR
4 (pontage)
6 (pontage)
DSR
DTR
4 (pontage)
6 (pontage)
GND
5
5
GND
Oui
DTR
33002197
Câblage
9 broches vers
25 broches (Null
Modem)
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
Adaptateur 25 broches (mâle)
13
9 broches (mâle)
25
12
Broche 25
24
11
23
10
22
5
9
Broche 9
9
4
21
8
8
3
7
7
19
2
6
6
Broche 1
20
1
18
5
17
4
16
3
Vue de face
15
2
14
Broche 1
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur 9 broches
Nom du signal
Broche
Broche
connectée à ...
Nom du signal
RXD
2
Oui
2
TXD
TXD
3
Oui
3
RXD
RTS
7 (pontage)
8 (pontage)
4 (pontage)
5 (pontage)
RTS
4 (pontage)
6 (pontage)
6 (pontage)
20 (pontage)
DSR
DTR
GND
5
7
GND
CTS
DSR
33002197
Broche
Connecteur type SUB-D 25
broches
Oui
CTS
DTR
123
Câblage
RJ45-(8x8) vers
25 broches
(Null Modem)
110XCA20401
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
Adaptateur 25 broches (mâle)
Connecteur RJ45
(8x8)
13
Broche 25
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
Broche 1
5
17
4
3
2
Broche 1
16
15
14
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur RJ45
Nom du signal
Broche
Connecteur type SUB-D 25
broches
Broche
connectée à
...
Broche
Nom du signal
RXD
4
Oui
2
TXD
TXD
3
Oui
3
RXD
RTS
CTS
6 (pontage)
7 (pontage)
GND
5
Oui
7
GND
DSR
2
Oui
6
20
DSR
Masse du
châssis
8
Oui
1
Masse du
châssis
4 (pontage) RTS
5 (pontage) CTS
DTR
ATTENTION
Risque de court-circuit de 5 V.
La broche 1 du connecteur RJ45 reçoit 5 V de l'automate.
Le non-respect de cette directive peut entraîner des lésions corporelles et/
ou des dommages matériels.
124
33002197
Câblage
RJ45-(8x8) vers 9
broches
(Null Modem)
110XCA20301
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
9 broches (mâle)
Connecteur RJ45
(8x8)
5
4
3
9
Broche 9
8
7
2
6
Broche 1
1
Broche 1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur RJ45
Nom du signal
Connecteur type SUB-D 9
broches
Broche
Broche
connectée à
...
Broche
Nom du signal
RXD
4
Oui
3
TXD
TXD
3
Oui
2
RXD
RTS
CTS
6 (pontage)
7 (pontage)
GND
5
Oui
5
GND
DSR
2
Oui
4
6
DTR
Masse du
châssis
8
Oui
7 (pontage) RTS
8 (pontage) CTS
DSR
Cas du
connecteur
ATTENTION
Risque de court-circuit de 5 V.
La broche 1 du connecteur RJ45 reçoit 5 V de l'automate.
Le non-respect de cette directive peut entraîner des lésions corporelles et/
ou des dommages matériels.
33002197
125
Câblage
RJ45-(8x8) vers
25 broches
(Modem)
110XCA20401
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
Adaptateur 25 broches (mâle)
Connecteur RJ45
(8x8)
13
25
12
Broche 25
24
11
23
10
22
9
21
8
7
20
19
6
18
Broche 1
5
17
4
16
3
15
2
Broche 1
14
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur RJ45
Connecteur type SUB-D 25
broches
Nom du
signal
Broche
Broche
Broche
connectée à ...
Nom du signal
RXD
4
Oui
3
RXD
TXD
3
Oui
RTS
CTS
6 (pontage)
7 (pontage)
GND
5
DSR
2
Masse du
châssis
8
2
TXD
4 (pontage)
5 (pontage)
RTS
Oui
7
GND
Oui
6
20
DSR
1
Masse du
châssis
Oui
CTS
DTR
ATTENTION
Risque de court-circuit de 5 V.
La broche 1 du connecteur RJ45 reçoit 5 V de l'automate.
Le non-respect de cette directive peut entraîner des lésions corporelles et/
ou des dommages matériels.
126
33002197
Câblage
RJ45-(8x8) vers
25 broches
(Modem)
110XCA20401
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
Adaptateur 25 broches (mâle)
Connecteur RJ45
(8x8)
13
Broche 25
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
Broche 1
5
17
4
16
3
15
2
Broche 1
14
1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur RJ45
Nom du
signal
Broche
Connecteur type SUB-D 25
broches
Broche
connectée à
...
Broche
Nom du signal
RXD
4
Oui
3
RXD
TXD
3
Oui
2
TXD
RTS
6
Oui
4
RTS
CTS
7
Oui
5
CTS
GND
5
Oui
7
GND
6 (pontage)
20 (pontage)
DSR
1
Masse du
châssis
Masse du
châssis
8
Oui
DTR
ATTENTION
Risque de court-circuit de 5 V.
La broche 1 du connecteur RJ45 reçoit 5 V de l'automate.
Le non-respect de cette directive peut entraîner des lésions corporelles et/
ou des dommages matériels.
33002197
127
Câblage
RJ45-(8x8) vers
RJ45-(8x8)
(Modem)
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
9 broches (mâle)
Connecteur RJ45
(8x8)
5
9
4
Broche 9
8
3
7
2
Broche 1
6
1
Broche 1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur RJ45
Nom du signal
Connecteur RJ45
Broche
Broche
connectée à
...
Broche
Nom du signal
RXD
4
Oui
4
RXD
TXD
3
Oui
3
TXD
RTS
6
Oui
6
RTS
CTS
7
Oui
7
CTS
GND
5
Oui
5
GND
DSR
2
Oui
2
DSR
Masse du
châssis
8
Oui
8
Masse du
châssis
ATTENTION
Risque de court-circuit de 5 V.
La broche 1 du connecteur RJ45 reçoit 5 V de l'automate.
Le non-respect de cette directive peut entraîner des lésions corporelles et/
ou des dommages matériels.
128
33002197
Câblage
9 broches vers
RJ45-(8x8)
(Modem)
110XCA20301
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
9 broches (mâle)
Connecteur RJ45
(8x8)
5
9
4
Broche 9
8
3
7
2
6
Broche 1
1
Broche 1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur RJ45
Connecteur 9 broches
Nom du signal
Broche
Broche
connectée à
...
Broche
Nom du signal
RXD
4
Oui
2
RXD
TXD
3
Oui
3
TXD
RTS
7 (pontage)
8 (pontage)
RTS
CTS
6 (pontage)
7 (pontage)
GND
5
Oui
5
GND
DSR
2
Oui
6
4
DSR
Masse du
châssis
8
Oui
CTS
DTR
Cas du connecteur
ATTENTION
Risque de court-circuit de 5 V.
La broche 1 du connecteur RJ45 reçoit 5 V de l'automate.
Le non-respect de cette directive peut entraîner des lésions corporelles et/
ou des dommages matériels.
33002197
129
Câblage
9 broches vers
RJ45-(8x8)
(Modem)
110XCA20301
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
9 broches (mâle)
Connecteur RJ45
(8x8)
5
9
4
Broche 9
8
3
7
2
6
Broche 1
1
Broche 1
Vue de face
Reportez-vous au tableau de brochage des connecteurs.
Brochage des connecteurs
Connecteur RJ45
Nom du signal Broche
Connecteur 9 broches
Broche
Broche
connectée à ...
Nom du signal
RXD
4
Oui
2
RXD
TXD
3
Oui
3
TXD
RTS
6
Oui
7
RTS
CTS
7
Oui
8
CTS
GND
5
Oui
Masse du
châssis
8
Oui
5
GND
6 (pontage)
4 (pontage)
DSR
DTR
Cas du connecteur
ATTENTION
Risque de court-circuit de 5 V.
La broche 1 du connecteur RJ45 reçoit 5 V de l'automate.
Le non-respect de cette directive peut entraîner des lésions corporelles et/
ou des dommages matériels.
130
33002197
Câblage
RS 485
Momentum 9
broches
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
1
6
2
7
3
8
4
9
5
Tableau de brochage du connecteur RS 485 Momentum femelle type SUB-D 9
broches
Exemple
multipoint
RS 485
Broche
Nom du signal
1
TXD +
2
RXD +
3
Terre du signal
4
réservé
5
réservé
6
TXD -
7
RXD -
8
réservé
9
réservé
L'illustration suivante présente un exemple de câblage multipoint RS 485.
1
2
120 Ω
3
4
5
33002197
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
6
7
8
120 Ω
9
5
131
Câblage
RS 485
Momentum RJ 45
Reportez-vous à la figure pour obtenir une vue de face des connecteurs.
Broche 1
Tableau de brochage du connecteur RS 485 Momentum RJ 45
Broche
Nom du signal
1
RXD -
2
RXD +
3
TXD +
4
réservé
5
Terre du signal
6
TXD -
7
réservé
8
écran
Kits adaptateurs de câbles
Kits adaptateurs
de câbles pour
RJ45
Pour répondre à la configuration de votre connecteur RJ45 (8x8), vous pouvez
acheter des kits adaptateurs de câbles au lieu de fabriquer des câbles adaptés. Le
tableau suivant fournit une liste des kits disponibles.
Kits adaptateurs de câbles
Description
132
Référence
RJ45-(8x8) vers 25 broches (mâle)
110XCA20401
RJ45-(8x8) vers 9 broches (mâle)
110XCA20301
RJ45-(8x8) vers 9 broches (femelle)
110XCA20302
RJ45-(8x8) vers 25 broches (femelle)
110XCA20402
33002197
Glossaire
A
Abonné de
réseau
Un abonné est un appareil avec une adresse (1 à 64) sur le réseau Modbus Plus.
Abonné local du
réseau
L’abonné local est celui qui est projeté à l’instant.
Adresse abonné
L’adresse abonné sert à la désignation univoque d’un abonné du réseau dans
l’itinéraire de routage. L'adresse est réglée directement sur l'abonné, p. ex. via le
commutateur rotatif situé sur la face arrière du module.
Adresses
Les adresses (directes) sont des zones de mémoire dans l’API. Celles-ci se trouvent
dans la mémoire d’état et peuvent être affectées à des modules d’entrée/sortie.
L’affichage/la saisie d’adresses directes est possible dans les formats suivants :
l Format standard (400001)
l Format séparateur (4:00001)
l Format compact (4:1)
l Format CEI (QW1)
Affectation des
E/S
L'affectation des E/S est une liste d'affectation générée à partir de la liste
d'affectation de l'utilisateur. L'affectation des E/S est gérée dans l'API et contient p.
ex. des informations sur l'état des stations et modules E/S, en supplément de la liste
d'affectation de l'utilisateur.
33002197
133
Glossaire
ANL_IN
ANL_IN est le type de données "entrée analogique" et est utilisé pour le traitement
des valeurs analogiques. Les références 3x du module d’entrée analogique
configuré déterminées dans la liste d’affectation des E/S sont affectées automatiquement au type de données et doivent de ce fait être occupées uniquement par
des variables non localisées.
ANL_OUT
ANL_OUT est le type de données "sortie analogique" et est utilisé pour le traitement
des valeurs analogiques. Les références 4x du module de sortie analogique
configuré déterminées dans la liste d'affectation des E/S sont affectées automatiquement au type de données et doivent de ce fait être occupées uniquement par
des variables non localisées.
ANY
Dans la présente version, "ANY" comprend les types de données élémentaires
BOOL, BYTE, DINT, INT, REAL, UDINT, UINT, TIME et WORD ainsi que les types
de données qui en sont dérivés.
ANY_BIT
Dans la présente version, "ANY_BIT" comprend les types de données BOOL, BYTE
et WORD.
ANY_ELEM
Dans la présente version, "ANY_ELEM" comprend les types de données BOOL,
BYTE, DINT, INT, REAL, UDINT, UINT, TIME et WORD.
ANY_INT
Dans la présente version, "ANY_INT" comprend les types de données DINT, INT,
UDINT et UINT.
ANY_NUM
Dans la présente version, "ANY_NUM" comprend les types de données DINT, INT,
REAL, UDINT et UINT.
ANY_REAL
Dans la présente version, "ANY_REAL" correspond au type de données REAL.
API
Automate programmable industriel
Appel
La procédure par laquelle l’exécution d’une opération est lancée.
Argument
Synonyme de paramètre réel.
Atrium
L’automate basé sur PC est monté sur platine standard AT et s’utilise au sein d’un
ordinateur hôte dans un emplacement de bus ISA. Ce module possède une carte
mère (nécessite un pilote SA85) avec deux emplacements pour cartes filles PC104.
L'une des cartes filles PC104 sert d'UC et l'autre à la commande INTERBUS.
134
33002197
Glossaire
Avertissement
Si un état critique est identifié lors du traitement d'un FFB ou d'une étape (p. ex. des
valeurs d'entrée critiques ou des limites temporelles dépassées), un avertissement
est généré. Celui-ci peut être visualisé à l'aide de la commande En ligne →
Affichage événements.... Sur les FFB, la sortie ENO reste sur "1".
B
Base de données
de projet
La base de données du PC, contenant les informations de configuration d’un projet.
Bibliothèque
Ensemble d’objets logiciels prévus pour la réutilisation lors de la programmation de
nouveaux projets, ou bien même pour l’élaboration de nouvelles bibliothèques. Les
exemples sont les bibliothèques des types de blocs fonction élémentaires.
Les bibliothèques EFBpeuvent être subdivisées en groupes.
Bits d’entrée
(Références 1x)
L’état 1/0 des bits d’entrée est commandé par les données du procédé arrivant
depuis un périphérique d’entrée dans l’UC.
Note : Le x suivant le premier chiffre du type de référence représente un
emplacement à cinq chiffres dans la mémoire de données utilisateur, p. ex. la
référence 100201 signifie un bit d’entrée à l’adresse 201 de la mémoire d’état.
Bits d’état
Il existe un bit d’état pour chaque abonné à entrée globale, entrée ou sortie
spécifique de données de diffusion. Si un groupe de données défini a pu être
transmis avec succès avant écoulement du timeout réglé, le bit d’état correspondant
est mis à 1. Dans le cas contraire, ce bit est mis à 0 et toutes les données
appartenant à ce groupe (à 0) sont effacées.
Bits de sortie/
bits internes
(Références 0x)
Un bit de sortie/bit interne peut être utilisé pour commander des données de sortie
réelles via une unité de sortie du système de contrôle, ou pour définir une ou
plusieurs sorties TOR dans la mémoire d’état. Remarque : le x suivant
immédiatement le premier chiffre du type de référence, représente un emplacement
mémoire sur 5 chiffres dans la mémoire de données utilisateur, p. ex. la référence
000201 signifie un bit interne ou de sortie à l'adresse 201 de la mémoire d'état.
33002197
135
Glossaire
Bloc fonction
(instance) (BF)
Un bloc fonction est une unité d’organisation de programme, qui, en fonction de sa
fonctionnalité définie dans la description de type de bloc fonction, calcule des
valeurs pour ses sorties et variable(s) interne(s), lorsqu’elle est appelée comme
instance particulière. Toutes les valeurs des sorties et variables internes d'une
instance particulière de bloc fonction sont conservées d'un appel du bloc fonction au
suivant. Des appels répétés de la même instance de bloc fonction avec les mêmes
arguments (valeurs des paramètres d’entrée) ne délivrent de ce fait pas forcément
la (les) même(s) valeur(s) de sortie.
Chaque instance de bloc fonction est représentée graphiquement par un symbole
rectangulaire. Le nom du type de bloc fonction est situé en haut au milieu, à
l’intérieur du rectangle. Le nom de l’instance de bloc fonction est également en haut,
bien qu’à l’extérieur du rectangle. Il est généré automatiquement à la création d'une
instance mais peut, le cas échéant, être modifié par l'utilisateur. Les entrées sont
représentées à gauche, les sorties à droite du bloc. Les noms des paramètres
formels d’entrée/sortie sont indiqués à l’intérieur du rectangle aux places
correspondantes.
La description ci-dessus de la représentation graphique est valable de principe
également pour lesappels de fonction et pour les appels DFB. Les différences sont
décrites dans les définitions correspondantes.
Bobine
Une bobine est un élément LD transmettant sans le modifier l'état de la liaison
horizontale sur sa gauche à la liaison horizontale sur sa droite. L'état est alors
mémorisé dans la variable/adresse directe associée.
BOOL
BOOL signifie type de données "booléen". La longueur des éléments de données
est 1 bit (stocké en mémoire sur 1 octet). La plage de valeurs des variables de ce
type de données est 0 (FALSE) et 1 (TRUE).
Bridge
Un bridge est un dispositif permettant de relier des réseaux. Il permet la
communication entre abonnés de deux réseaux. Chaque réseau possède sa propre
séquence de rotation de jeton - le jeton n'est pas transmis par les bridges.
BYTE
BYTE est le type de données "cordon de bits 8". L’entrée peut se faire en libellé en
base 2, libellé en base 8 ou libellé en base 16. La longueur des éléments de
données est de 8 bits. Il n'est pas possible d'affecter une plage de valeurs
numériques à ce type de données.
C
CEI 611313
136
Norme internationale : Automates programmables Partie 3 : Langages de
programmation.
33002197
Glossaire
Code de section
Le code de section est le code exécutable d'une section. La taille du code de section
dépend principalement du nombre de blocs dans la section.
Code DFB
Le code DFB est le code DFB exécutable d'une section. La taille du code DFB
dépend principalement du nombre de modules dans la section.
Code EFB
Le code EFB est le code exécutable de tous les EFB utilisés. Les EFB utilisés dans
les DFB sont également pris en compte.
Configuration de
transmission de
données
Paramètres déterminant comment les informations sont transmises depuis votre PC
vers l'API.
Connexion série
En connexion série (COM), les informations sont transmises bit par bit.
Constantes
Les constantes sont des variables non localisées, auxquelles est affectée une
valeur qui ne peut être modifiée par la logique de programme (lecture seule).
Contact
Un contact est un élément LD transmettant un état sur la liaison horizontale située
à sa droite. Cet état est le résultat d'une liaison ET booléenne entre l'état de la
liaison horizontale sur sa gauche et l'état de la variable/adresse directe qui lui est
affectée. Un contact ne modifie pas la valeur de la variable/adresse directe
associée.
Convention CEI
sur les noms
(Identificateur)
Un identificateur est une suite de lettres, chiffres et caractères de soulignement
devant commencer par une lettre ou un caractère de soulignement (p. ex. nom d’un
type de bloc fonction, d’une instance, d’une variable ou d’une section). Les lettres
des polices de caractères nationales (p. ex. : ö, ü, é, õ) peuvent être utilisées sauf
dans les noms de projets et de DFB.
Les caractères de soulignement sont significatifs dans les identificateurs ; p. ex.
"A_BCD" et "AB_CD" seront interprétés comme des identificateurs différents.
Plusieurs caractères de soulignement de tête ou de suite ne sont pas autorisés.
Les identificateurs ne doivent pas comporter d'espaces. Les majuscules/minuscules
ne sont pas significatives ; p. ex. "ABCD" et "abcd" seront interprétés comme le
même identificateur.
Les identificateurs ne doivent pas être des mots-clés.
Cordon de bits
C’est un élément de données constitué d’un ou de plusieurs bits.
Cycle
programme
Un cycle programme consiste en la lecture des entrées, le traitement de la logique
de programme et l’édition des sorties.
33002197
137
Glossaire
D
DDE (Echange
dynamique de
données)
L’interface DDE permet à deux programmes sous Windows d’échanger des
données en dynamique. L’utilisateur peut se servir de l’interface DDE en moniteur
étendu afin d’appeler ses propres applications d’affichage. Avec cette interface,
l'utilisateur (c.-à-d. le client DDE) peut non seulement lire des données du moniteur
étendu (le serveur DDE), mais peut également écrire des données sur l'API via le
serveur. L’utilisateur peut ainsi modifier directement des données dans l’API tout en
surveillant et en analysant les résultats. Lors de l’utilisation de cette interface,
l’utilisateur peut créer son propre "Outil graphique", "Face Plate" ou "Outil de
réglage", et intégrer celui-ci dans le système. Ces outils peuvent être écrits dans
n'importe quel langage que le DDE prend en charge, p. ex. Visual Basic, VisualC++.
Ils sont appelés lorsque l'utilisateur actionne l'un des boutons de commande de la
boîte de dialogue Moniteur étendu. Outil graphique Concept : grâce au lien DDE
entre Concept et l'outil Graphique Concept, il est possible de représenter les
signaux d'une configuration sous forme de chronogramme.
Déclaration
Le mécanisme qui permet d'établir la définition d'un élément de langage.
Normalement, une déclaration nécessite le rattachement d'un identificateur à
l'élément de langage et l'affectation d'attributs, tels que lestypes de données et les
algorithmes.
Défaut
Si, lors du traitement d'un FFB ou d'une étape, une erreur est détectée (p. ex.
valeurs d'entrée non autorisées ou erreur de durée), un message d'erreur est
généré, lequel peut être visualisé à l'aide de la commande En ligne → Affichage
événements.... Sur les FFB la sortie ENOest mise à "0".
Défragmentation
La défragmentation permet de supprimer les trous indésirables dans la zone
mémoire (générés, p. ex., en effaçant des variables inutilisées).
Voyez également Sélection automate dans l'aide de context.
Derived Function
Block (DFB)
(Bloc fonction
dérivé)
Un bloc fonction dérivé représente l’appel d’un type de bloc fonction dérivé. Vous
trouverez des détails de la forme graphique de l’appel dans la définition "Bloc
fonction (instance)". Contrairement aux appels de types d'EFB, les appels de types
DFB sont caractérisés par des lignes verticales doubles sur les côtés gauche et droit
du symbole rectangulaire du bloc.
Le corps d'un type de bloc fonction dérivé est projeté en langage FBD, langage LD,
langage ST et langage IL quoique seulement dans la version actuelle du système
de programmation. Les fonctions dérivées ne peuvent pas encore être définies dans
la version actuelle.
On fait la distinction entre les DFB locaux et globaux.
138
33002197
Glossaire
DFB globaux
Les DFB globaux sont disponibles dans tout projet Concept. Le stockage des DFB
globaux dépend de la configuration dans le fichier CONCEPT.INI.
DFB locaux
Les DFB locaux ne sont disponibles que dans un seul projet Concept et sont
enregistrés dans le répertoire DFB sous le répertoire de projet.
Diagramme
fonctionnel en
séquence (SFC)
Les éléments de langage SFC permettent de subdiviser une unité d'organisation de
programme en un certain nombre d'étapes et de transitions, reliées entre elles par
des liaisons dirigées. A chaque étape correspond un nombre d’actions et à chaque
transition est associée une condition de transition.
DINT
DINT signifie type de données "entier double (double integer)". L’entrée s’effectue
en libellé entier, libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur
des éléments de données est de 32 bits. La plage de valeurs pour les variables de
ce type de données va de -2 exp (31) à 2 exp (31) -1.
Données
d'instance DFB
Les données d'instance DFB sont des données internes des instructions
chargeables dérivées utilisées dans le programme.
Données de
section
Les données de section sont les données locales d'une section, comme par ex. les
libellés, les liaisons entre blocs, les entrées et sorties de bloc non liées, la mémoire
d'état interne des EFB.
Note : Les données qui sont configurées dans les DFB de cette section ne sont
pas des données de section.
Données
globales
Les données globales sont des variables non localisées.
DP (PROFIBUS)
DP = Dezentrale Peripherie (périphérie décentralisée)
DX Zoom
Cette caractéristique vous permet de vous raccorder sur un objet de programmation
afin d’en surveiller des valeurs et de les modifier, si nécessaire.
E
Elément de
langage
33002197
Chaque élément de base dans l'un des langages de programmation CEI, p. ex. une
étape en SFC, une instance de bloc fonction en FBD ou la valeur de départ d'une
variable.
139
Glossaire
EN / ENO
(autorisation /
affichage
d’erreur)
Si la valeur de EN vaut "0", lorsque le FFB est lancé, les algorithmes définis par le
FFB ne sont pas exécutés et toutes les sorties conservent leur valeur précédente.
La valeur de ENO est dans ce cas mise automatiquement à "0". Si la valeur de EN
est "1" lors de l’appel du FFB, les algorithmes définis par le FFB seront exécutés.
Après l’exécution sans erreur de ces algorithmes, la valeur de ENO est mise
automatiquement à "1". Si une erreur survient lors de l’exécution de ces
algorithmes, ENO est mis automatiquement à "0". Le comportement de sortie des
FFB est indépendant du fait que ceux-ci sont appelés sans EN/ENO ou avec EN=1.
Si l’affichage de EN/ENO est activé, l’entrée EN doit absolument être câblée. Le
FFB n'est sinon jamais exécuté. L'activation/la désactivation de EN et ENO se fait
dans la boîte de dialogue des caractéristiques du bloc fonction. Cette boîte de
dialogue est appelée via Objets → Propriétés... ou en double-cliquant sur le FFB.
Erreur
d'exécution
Erreur survenant lors du traitement du programme sur l'API sur des objets SFC (p.
ex. des étapes) ou des FFB. Il s’agit p. ex. de dépassement de plage de valeurs sur
les compteurs ou bien d’erreurs temporelles sur les étapes.
Etape
Elément de langage SFC : situation dans laquelle le comportement d’un programme
suit, en fonction de ses entrées et sorties, les opérations définies par les actions
correspondantes de l'étape.
Etape initiale
(Etape de départ)
L’étape de démarrage d’une séquence. Une étape initiale doit être définie dans
chaque séquence. La séquence est démarrée à son premier appel par l’étape
initiale.
Evaluation
C’est le processus par lequel est déterminé une valeur d’une fonction ou des sorties
d’un bloc fonction lors de l’exécution du programme.
Expression
Les expressions sont constituées d’opérateurs et d’opérandes.
F
Fenêtre active
Il s’agit de la fenêtre momentanément sélectionnée. Pour un instant donné, seule
une fenêtre peut être active. Lorsqu’une fenêtre devient active, la couleur de sa
barre de titre change afin de la distinguer des autres fenêtres. Les fenêtres non
sélectionnées ne sont pas actives.
Fenêtre
d’application
Il s’agit de la fenêtre contenant l’espace de travail, la barre de menus et la barre
d’outils du programme applicatif. Le nom du programme applicatif apparaît dans la
barre de titre. Une fenêtre d’application peut contenir plusieurs fenêtres de
document. Dans Concept, la fenêtre d’application correspond à un projet.
140
33002197
Glossaire
Fenêtre de
document
Une fenêtre contenue dans une fenêtre d’application. Plusieurs fenêtres de
document peuvent être ouvertes simultanément dans une fenêtre d’application.
Mais seule une fenêtre de document peut être active. Les fenêtres de document
dans Concept sont p. ex. les sections, la fenêtre des messages, l'éditeur de
données de référence et la configuration de l'automate.
FFB (fonctions/
blocs fonction)
Terme générique désignant les EFB (fonctions/blocs fonction élémentaires) et les
DFB (blocs fonction dérivés)
Fichier de code
source (ConceptEFB)
Le fichier de code source est un fichier source ordinaire en C++. Après exécution de
la commande Bibliothèque → Créer des fichiers, ce fichier contient un cadre de
code EFB dans lequel vous devez porter un code spécifique de l'EFB sélectionné.
Pour ce faire, lancez la commande Objets → Source.
Fichier de
définition
(Concept-EFB)
Le fichier de définition contient des informations générales de description de l'EFB
sélectionné et ses paramètres formels.
Fichier de
sauvegarde
(Concept-EFB)
Le fichier de sauvegarde est une copie du dernier fichier de code source. Le nom
de ce fichier de sauvegarde est "backup??.c" (on suppose ce faisant que vous
n’avez jamais plus de 100 copies de votre fichier de sauvegarde). Le premier fichier
de sauvegarde porte le nom "backup00.c". Si vous avez procédé à des
modifications dans le fichier de définition n'entraînant pas de modification d'interface
pour l'EFB, vous pouvez vous dispenser de créer un fichier de sauvegarde en
éditant son fichier de code source (Objets → Source). Si un fichier de sauvegarde
est créé, vous pouvez lui donner le nom Fichiersource.
Fichier factice
Il s'agit d'un fichier vide constitué d'un en-tête contenant diverses informations
générales sur le fichier, comme l'auteur, la date de création, la désignation de l'EFB,
etc. L’utilisateur doit procéder à la préparation de ce fichier factice à l'aide d'entrées
supplémentaires.
Fichier prototype
(Concept-EFB)
Le fichier prototype contient tous les prototypes des fonctions affectées. On indique
en outre, si elle existe, une définition type de la structure de la situation interne.
Fichier Template
(Concept-EFB)
Le fichier Template est un fichier ASCII contenant des informations de mise en page
pour l’éditeur FBD de Concept, ainsi que des paramètres pour la génération de
code.
Filtre RIF
(Filtre Finite Impulse Response) Filtre à réponse impulsionnelle finie
Filtre RII
(Filtre Infinite Impulse Response) Filtre à réponse impulsionnelle infinie
33002197
141
Glossaire
Fonction (FUNK)
Une unité d'organisation de programme délivrant à l'exécution exactement un
élément de donnée. Une fonction ne dispose pas d’information de situation interne.
Les appels répétés de la même fonction avec les mêmes paramètres d'entrée
délivrent toujours les mêmes valeurs de sortie.
Vous trouverez des détails de la forme graphique des appels de fonction dans la
définition "Bloc fonction (instance)". Contrairement aux appels de blocs fonction, les
appels de fonction ne disposent que d'une unique sortie sans nom, son nom étant
le nom de la fonction elle-même. En FBD, chaque appel est caractérisé par un
numéro unique par le bloc graphique ; ce numéro est créé automatiquement et ne
peut pas être modifié.
Fonctions/blocs
fonction
élémentaires
(EFB)
Caractérisation des fonctions ou des blocs fonction, dont les définitions de type n'ont
pas été formulées dans l'un des langages CEI, c.-à-d. dont les corps p. ex. ne
peuvent être modifiés à l'aide de l'éditeur DFB (Concept-DFB). Les types EFB sont
programmés en "C" et sont mis à disposition en forme précompilée par les
bibliothèques.
Format CEI
(QW1)
Au début de l'adresse se trouve un identificateur conforme à CEI, suivi de l'adresse
à cinq chiffres :
l %0x12345 = %Q12345
l %1x12345 = %I12345
l %3x12345 = %IW12345
l %4x12345 = %QW12345
Format compact
(4:1)
Le premier chiffre (la référence) est séparé par deux points (:) de l’adresse suivante,
les zéros de tête n’étant pas indiqués dans l’adresse.
Format
séparateur
(délimiteur)
(4:00001)
Le premier chiffre (la référence) est séparé par deux-points ( : ) de l’adresse à cinq
caractères.
Format standard
(400001)
L’adresse à cinq positions se situe juste après le premier chiffre (la référence).
G
Groupes (EFB)
142
Quelques bibliothèques EFB (p. ex. la bibliothèque CEI) sont subdivisées en
groupes. Cela simplifie, particulièrement dans les importantes bibliothèques, la
recherche des EFB.
33002197
Glossaire
I
Instanciation
La création d’une instance.
Instruction (IL)
Les instructions sont des "commandes" du langage de programmation IL. Chaque
instruction commence à une nouvelle ligne et est suivie d'un opérateur, le cas
échéant avec modificateur, et, si nécessaire pour l'opération concernée, d'un ou de
plusieurs opérandes. Si l'instruction utilise plusieurs opérandes, ceux-ci sont
séparés par des virgules. Devant l’instruction peut se trouver une étiquette suivie de
deux points. Le commentaire doit, s'il existe, être le dernier élément de la ligne.
Instruction
(LL984)
La mission d’un utilisateur lors de la programmation d’automatismes électriques est
de mettre en oeuvre des instructions codées de façon opérationnelle sous forme
d’objets imagés classés selon les formes identifiables de contact. Les objets du
programme ainsi conçus sont convertis au niveau utilisateur en codes opérandes
utilisables par l'ordinateur, et ce lors de la procédure de chargement. Les codes
opérandes sont décodés dans l'UC et traités par les fonctions micrologicielles du
contrôleur, de sorte que la commande désirée soit ainsi mise en oeuvre.
Instruction (ST)
Les instructions sont des "commandes" du langage de programmation ST. Les
instructions doivent se terminer par des points-virgules. Plusieurs instructions
(séparées par des points-virgules) peuvent se trouver sur une même ligne.
INT
INT correspond au type de données "nombre entier (integer)". L’entrée s’effectue en
libellé entier, libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur
des éléments de données est de 16 bits. La plage de valeurs pour les variables de
ce type de données va de -2 exp (15) à 2 exp (15) -1.
Interbus S (PCP)
Afin d'utiliser le canal PCP de l'Interbus S et le prétraitement de données de procédé
Interbus S (PDV), le configurateur Concept propose maintenant le nouveau type de
station d'E/S Interbus S (PCP). A ce type de station d'E/S est affecté de manière fixe
le module de connexion Interbus 180-CRP-660-01.
Le module 180-CRP-660-01 se distingue du 180-CRP-660-00 seulement par une
plage d'E/S sensiblement plus importante dans la mémoire d'état de l'automate.
33002197
143
Glossaire
J
Jeton
Le jeton du réseau régit la possession momentanée du droit de transmission d’un
abonné individuel. Le jeton circule entre les abonnés dans un sens circulaire
(croissant) des adresses. Tous les abonnés suivent la rotation du jeton et peuvent
obtenir toute sorte de données qui y sont véhiculées.
L
Langage en
blocs
fonctionnels
(FBD)
Une ou plusieurs sections contenant des réseaux représentés graphiquement
composés de fonctions, blocs fonction et liaisons.
Liaison
Une liaison de contrôle ou de données entre objets graphiques (p. ex. étapes dans
l'éditeur SFC, blocs fonction dans l'éditeur FBD) au sein d’une section,
graphiquement représenté par une ligne.
Liaison locale
(Local Link)
La liaison locale de réseau est le réseau reliant l’abonné local à d’autres abonnés,
soit directement soit par l’amplificateur de bus.
Liaisons binaires
Il s'agit de liaisons entre des sorties et des entrées de FFB de type de données
BOOL.
Libellé
Les libellés servent à fournir des valeurs directement aux entrées des FFB,
conditions de transition etc... Ces valeurs ne peuvent pas être écrasées par la
logique du programme (lecture seule). Le système distingue les libellés génériques
des libellés classés par type.
De plus, les libellés servent à affecter une valeur à une constante ou une valeur
initiale à une variable.
L’entrée se fait en libellé en base 2, libellé en base 8, libellé en base 16, libellé entier,
libellé réel ou libellé réel avec exposant.
144
33002197
Glossaire
Libellé de durée
Les unités permises pour les durées (TIME) sont les jours (J), les heures (H), les
minutes (M), les secondes (S) et les millisecondes (MS) ou une combinaison de
ceux-ci. La durée doit être caractérisée par le préfixe t#, T#, time# ou TIME#. Le
"dépassement" de l’unité de plus grande valeur est admise; p. ex. l’entrée
T#25H15M est permise.
Exemple
t#14MS, T#14.7S, time#18M, TIME#19.9H, t#20.4D, T#25H15M,
time#5D14H12M18S3.5MS
Libellé en
base 16
Les libellés en base 16 servent à codifier les entiers dans le système hexadécimal.
La base doit être repérée par le préfixe 16#. Les valeurs doivent être non signées
(+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas
significatifs.
Exemple
16#F_F ou 16#FF (décimal 255)
16#E_0 ou 16#E0 (décimal 224)
Libellé en base 2
Les libellés en base 2 servent à la codification de valeurs entières dans le système
de base 2. La base doit être repérée par le préfixe 2#. Les valeurs doivent être non
signées (+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne
sont pas significatifs.
Exemple
2#1111_1111 ou 2#11111111 (255 décimal)
2#1110_0000 ou 2#11100000 (224 décimal)
Libellé en base 8
Les libellés en base 8 servent à codifier les entiers dans le système de base 8. La
base doit être repérée par le préfixe 8#. Les valeurs doivent être non signées (+/).
Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas
significatifs.
Exemple
8#3_77 ou 8#377 (255 décimal)
8#34_0 ou 8#340 (décimal 224)
Libellé entier
Les libellés entiers servent à indiquer des valeurs entières dans le système décimal.
Les valeurs peuvent être signées (+/). Les caractères de soulignement individuels (
_ ) entre les chiffres ne sont pas significatifs.
Exemple
-12, 0, 123_456, +986
33002197
145
Glossaire
Libellés classés
par type
Si vous voulez déterminer le type de données d’un libellé, vous pouvez le faire avec
la construction suivante : ’nomtypedonnée’#’Valeur du libellé’
Exemple
INT#15 (type de données : entier, valeur : 15),
BYTE#00001111 (type de données : octet, valeur : 00001111)
REAL#23.0 (type de données : réel, valeur : 23,0)
Pour l’affectation du type de données REAL, vous pouvez indiquer la valeur de la
manière suivante : 23.0.
En indiquant ce point décimal, le type de données REAL est affecté
automatiquement.
Libellés
génériques
Si le type de données d’un libellé n’a pas d’importance pour vous, indiquez la valeur
du libellé. Dans ce cas, Concept affecte automatiquement un type de données
adéquat au libellé.
Libellés réels
Les libellés réels servent à indiquer les valeurs à virgule flottante dans le système
décimal. Les libellés réels s’identifient au point décimal. Les valeurs peuvent être
signées (+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne
sont pas significatifs.
Exemple
-12.0, 0.0, +0.456, 3.14159_26
Libellés réels
avec exposant
Les libellés réels avec exposant servent à indiquer les valeurs à virgule flottante
dans le système décimal. Les libellés réels avec exposant se caractérisent par le
point décimal. L’exposant donne la puissance de dix avec lequel le chiffre de devant
doit être multiplié pour obtenir la valeur à représenter. La base peut être précédée
d'un signe moins (). L'exposant peut être signé (+/-). Les caractères de
soulignement individuels ( _ ) entre les chiffres ne sont pas significatifs.
(Uniquement entre les chiffres, et non avant ou après la virgule ou avant ou après
"E", "E+" ou "E-")
Exemple
-1.34E-12 ou -1.34e-12
1.0E+6 ou 1.0e+6
1.234E6 ou 1.234e6
Liste
d’affectation des
E/S
146
Dans la liste d’affectation des E/S, on configure les modules d’E/S et modules
experts des différentes unités centrales.
33002197
Glossaire
Liste
d’instructions
(IL)
IL est un langage littéral conforme à la norme CEI 1131, dans lequel les opérations,
telles que les appels sur ou sans condition de blocs fonction et de fonctions, les
sauts conditionnels ou sans condition, etc., sont représentées par des instructions.
Littéral structuré
(ST)
ST est un langage littéral conforme à la CEI 1131, dans lequel les opérations,
comme le lancement de blocs fonction et de fonctions, les exécutions conditionnelles d'instructions, la réitération d'instructions, etc. sont représentés par des
instructions.
M
Macro
Les macros sont créées à l’aide du logiciel Concept-DFB.
Les macros servent à dupliquer des sections et des réseaux fréquemment utilisés
(y compris leur logique, leurs variables et leur déclaration de variable).
On fait la distinction entre les macros locales et globales.
Les macros possèdent les caractéristiques suivantes :
Les macros ne peuvent être créées qu’avec les langages FBD et LD
Les macros ne contiennent qu’une seule section
Elles peuvent contenir une section d’une complexité quelconque
D'un point de vue programme, une macro instanciée, c.-à-d. une macro insérée
dans une section, ne se distingue pas d'une section créée de manière
conventionnelle.
l Appel de DFB dans une macro
l Déclaration de variables
l Utilisation de structures de données propres aux macros
l Validation automatique des variables déclarées dans la macro
l Valeurs initiales des variables
l Instanciation multiple d’une macro dans tout le programme avec différentes
variables
l Le nom de la section, les noms des variables et le nom de la structure de
données peuvent comporter jusqu'à 10 marques d'échange (@0 à @9)
différentes.
l
l
l
l
Macros globales
Les macros globales sont disponibles dans tout projet Concept et sont enregistrées
dans le répertoire DFB directement situé sous le répertoire Concept.
Macros locales
Les macros locales ne sont disponibles que dans un seul projet Concept et sont
enregistrées dans le répertoire DFB sous le répertoire de projet.
33002197
147
Glossaire
Mémoire d’état
La mémoire d’état est l’emplacement mémoire pour toutes les grandeurs sollicitées
dans le programme utilisateur par des références (représentation directe). Par
exemple les bits d’entrée, les bits de sortie/bits internes, les mots d’entrée et mots
de sortie/mots internes se trouvent en mémoire d’état.
Mémoire du
programme CEI
La mémoire du programme CEI comprend le code programme, le code EFB, les
données de section et les données d'instance DFB.
MMI
Interface Homme-Machine
Mode ASCII
American Standard Code for Information Interchange. Le mode ASCII est utilisé
pour la communication avec différents équipements hôte. ASCII fonctionne sur 7
bits de données.
Mode RTU
Remote Terminal Unit
Le mode RTU est utilisé pour la communication entre l’API et un ordinateur
personnel compatible IBM. RTU fonctionne sur 8 bits de données.
Module SA85
Le module SA85 est une carte Modbus Plus pour ordinateur IBM-AT ou compatible.
Mots d’entrée
(Références 3x)
Un mot d’entrée contient des informations émanant d’une source externe et par
lesquelles un nombre sur 16 bits est représenté. Un registre 3x peut également
contenir 16 bits successifs lus dans le registre au format binaire ou BCD (binaire
codé décimal). Remarque : le x suivant immédiatement le premier chiffre du type de
référence, représente un emplacement mémoire à cinq chiffres dans la mémoire de
données utilisateur, p.ex. la référence 300201 signifie un mot d’entrée de 16 bits à
l’adresse 201 de la mémoire d’état.
Mots de sortie/
mots internes
(Références 4x)
Un mot de sortie/mot interne peut être utilisé pour la mémorisation de données
numériques (binaires ou décimales) en mémoire d'état, ou bien pour envoyer des
données depuis l'UC vers une unité de sortie du système de contrôle. Remarque :
le x suivant immédiatement le premier chiffre du type de référence, représente un
emplacement mémoire à cinq chiffres dans la mémoire de données utilisateur, p.ex.
la référence 400201 signifie un mot de sortie/mot interne de 16 bits à l'adresse 201
de la mémoire d'état.
Mots-clés
Les mots-clés sont des combinaisons uniques de caractères utilisés comme
éléments spéciaux de syntaxe comme il est défini à l'annexe B de la CEI 1131-3.
Tous les mots-clés utilisés dans la CEI 1131-3 et donc dans Concept, sont listés en
annexe C de la CEI 1131-3. Ces mots-clés répertoriés ne doivent être utilisés à
aucune autre fin, p. ex. pas comme nom de variable, nom de section, nom
d'instance, etc.
148
33002197
Glossaire
N
Node
Un node est une cellule de programmation dans un réseau LL984. Une cellule/un
node comprend une matrice 7x11, c.-à-d. 7 lignes de 11 éléments.
Nom d’étape
Le nom d'étape sert à la désignation unique d'une étape dans une unité
d'organisation de programme. Le nom d’étape est créé automatiquement, mais peut
être édité. Il doit être unique dans toute l'unité d'organisation de programme, sinon
un message d'erreur apparaît.
Le nom d’étape créé automatiquement a toujours la structure suivante : S_n_m
S = Etape
n = Numéro de la section (numéro courant)
m = Numéro de l’étape dans la section (numéro courant)
Nom d’instance
Un identificateur, associé à une instance spécifique de bloc fonction.. Le nom
d'instance sert au repérage sans univoque d'un bloc fonction au sein d'une unité
d'organisation de programme. Le nom d’instance est créé automatiquement, mais
peut être édité. Le nom d’instance doit être unique dans toute l’unité d’organisation
de programme, la distinction Majuscule/Minuscule n’est pas faite. Si le nom saisi
existe déjà, vous en êtes averti et vous devez choisir un autre nom. Le nom
d'instance doit satisfaire aux conventions de noms CEI, sinon un message d'erreur
apparaît. Le nom d’instance créé automatiquement a toujours la structure suivante
: FBI_n_m
FBI = Instance de bloc fonction
n = Numéro de la section (numéro courant)
m = Numéro de l’objet FFB dans la section (numéro courant)
Numéro
d’identification
Le numéro d'identification sert à caractériser de manière unique une fonction dans
un programme ou DFB. Le numéro d’identification ne peut être édité et est attribué
automatiquement. Il a toujours la structure : .n.m
n = Numéro de la section (numéro courant)
m = Numéro de l’objet FFB dans la section (numéro courant)
33002197
149
Glossaire
O
Opérande
Un opérande est un libellé, une variable, un appel de fonction ou une expression.
Opérateur
Un opérateur est un symbole d’une opération arithmétique ou booléenne à
exécuter.
P
Paramètre
d’entrée (Entrée)
Transmet lors de l'appel d'un FFB l'argument s’y rapportant.
Paramètre de
sortie (Sortie)
Un paramètre avec lequel est (sont) retourné(s) le(s) résultat(s) de l'évaluation d'un
FFB.
Paramètre réel
Paramètre d'entrée/sortie actuellement attribué.
Paramètres
formels
Paramètres d'entrée/sortie, utilisés au sein de la logique d'un FFB et sortant du FFB
en entrées ou en sorties.
Paysage
Le format paysage signifie que la page, au regard du texte imprimé, est plus large
que haute.
PC
Le matériel et le logiciel gérant (supportant) la programmation, l’élaboration, le test,
la mise en service et la recherche de défauts dans les applications API ainsi que
dans les applications système décentralisées, afin de rendre possible la
documentation et l’archivage des sources. Le cas échéant, le PC peut également
être utilisé pour la visualisation du procédé.
Portrait
Portrait signifie que la page, au regard du texte imprimé, est plus haute que large.
Presse-papiers
Le presse-papiers est une mémoire temporaire pour les objets coupés ou copiés.
Ces objets peuvent être collés dans des sections. A chaque nouveau "couper" ou
"copier", l'ancien contenu du presse-papiers est écrasé.
Processeur de
communication
Le processeur de communication traite les passages de jeton et le flux de données
entre le réseau Modbus Plus et la logique utilisateur de l’API.
150
33002197
Glossaire
Programmation
de la redondance
d’UC (Hot
Standby)
Un système redondant est constitué de deux API configurés de manière identique
qui communiquent entre eux à l'aide de processeurs redondants. En cas de panne
de l’API primaire, l’API secondaire prend le contrôle de l’automatisme. Dans les
conditions normales, l’API secondaire n’effectue aucune fonction de commande
mais il vérifie les informations d’état afin de déceler les erreurs.
Programme
La plus haute unité d’organisation de programme. Un programme est chargé en
entier sur un seul API.
Projet
Appellation générale du niveau le plus élevé d’une arborescence logicielle, qui
définit le nom de projet supérieur d’une application d’API. Après avoir défini le nom
du projet, vous pouvez sauvegarder votre configuration système et votre
programme de commande sous ce nom. Toutes les données apparaissant lors de
la création de la configuration et du programme font partie de ce projet supérieur
pour cette tâche spéciale d’automatisation.
Désignation générale du jeu complet d’informations de programmation et de
configuration dans la base de données de projet, laquelle représente le code source
décrivant l’automatisation d’une installation.
R
REAL
REAL correspond au type de données "nombre à virgule flottante". L’entrée se fait
en libellé réel ou en libellé réel avec exposant. La longueur des éléments de
données est de 32 bits. Plage des valeurs des variables de ce type de données : +/
-3.402823E+38.
Note : En fonction du type de processeur mathématique de l'UC, différentes zones
de cette plage de valeurs permise ne peuvent pas être affichées. Cela s'applique
aux valeurs tendant vers ZERO et aux valeurs tendant vers l'INFINI. Dans ces cas,
une valeur NAN (Not A Number) ou INF (INFinite (infini)) est affichée en mode
Animation.
33002197
151
Glossaire
Référence
Toute adresse directe est une référence commençant par un code indiquant s’il
s’agit d’une entrée ou d’une sortie et s’il s’agit d’un bit ou d’un mot. Les références
commençant par le chiffre 6 représentent des registres de la mémoire étendue de
la mémoire d’état.
Plage 0x = bits internes/de sortie
Plage 1x = bits d’entrée
Plage 3x = mots d’entrée
Plage 4x = mots internes/de sortie
Plage 6x = registres dans la mémoire étendue
Note : Le x suivant immédiatement le premier chiffre de chaque type de référence
représente un emplacement mémoire à cinq chiffres dans la mémoire de données
utilisateur, p.ex. la référence 400201 signifie un mot de sortie/mot interne de 16 bits
à l’adresse 201 de la mémoire d’état.
Registres dans la
mémoire
étendue
(référence 6x)
Les références 6x sont des mots indicateurs dans la mémoire étendue de l'API. Ils
ne peuvent être utilisés que pour les programmes utilisateur LL984 et seulement sur
les UC CPU 213 04 ou CPU 424 02.
Représentation
directe
Une méthode pour représenter une variable dans un programme d'API, à partir de
laquelle peut être déterminée directement une correspondance avec un
emplacement logique, et indirectement avec l'emplacement physique.
Réseau
Un réseau est une connexion commune d'appareils sur une voie de données
commune qui communiquent entre eux à l'aide d'un protocole commun.
Réseau
décentralisé
(DIO)
Une programmation décentralisée dans le réseau Modbus Plus permet une
performance maximale de l'échange de données et n'a aucune exigence
particulière sur les liaisons. La programmation d’un réseau décentralisé est simple.
La configuration du réseau ne nécessite pas de logique de schéma à contacts
supplémentaire. Toutes les conditions du transfert de données sont remplies en
renseignant les paramètres correspondants du processeur de communication.
RIO (E/S
décentralisée)
L’E/S décentralisée indique un emplacement physique des appareils E/S à
commande par point par rapport au processeur qui les gère. Les entrées/sorties
décentralisées sont reliées avec l’appareil de commande via un câble de
communication.
152
33002197
Glossaire
S
Saut
Elément du langage SFC. Les sauts sont utilisés pour éviter des zones de la
séquence.
Schéma à
contacts (LD)
Le schéma à contacts est un langage de programmation graphique conforme à la
CEI1131, dont l’aspect visuel suit les "échelons" d’un schéma à relayage.
Schéma à
contacts 984 (LL)
Comme leur nom l’indique, les schémas à contacts comportent des contacts.
Contrairement à un schéma électrique, les électrotechniciens se servent d’un
schéma à contacts pour dessiner un circuit (à l’aide de symboles électriques). Celuici doit montrer l’évolution d’événements, et non les fils en présence qui relient les
différentes parties entre elles. Une interface de schéma à contacts permet de
réaliser une interface utilisateur traditionnelle pour commander les actions des
constituants d’automatisme, afin que les électrotechniciens ne soient pas obligés
d’apprendre un langage de programmation avec lequel ils ne seraient pas à l’aise.
La construction d’un schéma à contacts effectif permet de relier des éléments
électriques de manière à créer une sortie de commande. Celle-ci dépend d’un flux
d’énergie logique passant par les objets électriques utilisés, lesquels représentent
la condition préalable nécessaire d’un appareil électrique physique.
Sous une forme simple, l’interface utilisateur est un écran vidéo élaboré par
l’application de programmation d’API, organisant un quadrillage vertical et
horizontal dans lequel sont rangés des objets de programmation. Le schéma reçoit
du courant par le côté gauche du quadrillage, et par connexion à des objets activés,
le courant circule de gauche à droite.
Section
Une section peut par exemple être utilisée pour décrire le principe de fonctionnement d’une unité technologique telle qu’un moteur.
Un programme ou un DFB est constitué d'une ou de plusieurs sections. Les sections
peuvent être programmées à l'aide des langages de programmation CEI FBD et
SFC. Au sein d’une même section, seul un des langages de programmation
mentionnés peut être utilisé.
Dans Concept, chaque section a sa propre fenêtre de document. Cependant, pour
des raisons de clarté, il est conseillé de subdiviser une grande section en plusieurs
petites. La barre de défilement sert à se déplacer au sein d’une section.
33002197
153
Glossaire
Station d’E/S
DCP
A l’aide d’un processeur de contrôle distribué (D908), vous pouvez configurer un
réseau décentralisé piloté par un API. Lorsque l'on utilise un D908 avec API
décentralisé, l'API pilote considère l'API décentralisé comme une station d'E/S
décentralisée. Le D908 et l’API décentralisé communiquent par le bus système, ce
qui permet une grande performance pour un effet minimal sur le temps de cycle.
L'échange de données entre le D908 et l'API pilote s'effectue par le bus d'E/S
décentralisé à 1,5 Mégabit par seconde. Un API pilote peut gérer jusqu'à 31
processeurs D908 (adresse 2-32).
SY/MAX
Dans les automates Quantum, Concept gère la mise à disposition des modules d’E/
S SY/MAX sur l’affectation des E/S pour la commande RIO par l’API Quantum. Le
châssis distant SY/MAX dispose d'une carte d'E/S distante à l'emplacement 1,
laquelle communique par un système d'E/S Modicon S908 R. Les modules d’E/S
SY/MAX vous sont listés pour la sélection et la prise en compte dans l’affectation
des E/S de la configuration Concept.
Symbole (icône)
Représentation graphique de différents objets sous Windows, p. ex. lecteurs,
programmes utilisateur et fenêtre de document.
T
Tas CEI
Le tas CEI comprend la mémoire du programme CEI et les données globales.
TIME
TIME est le type de données "durée". L’entrée se fait sous forme de libellé de durée.
La longueur des éléments de données est de 32 bits. La plage de valeurs des
variables de ce type de données va de 0 à 2exp(32)-1. L'unité du type de données
TIME est 1 ms.
Transition
La condition par laquelle la commande d’une ou de plusieurs étapes précédentes
passe à une ou plusieurs étapes suivantes le long d’une liaison.
Type de bloc
fonction
Un élément de langage constitué de : 1. la définition d'une structure de données,
subdivisée en variables d'entrée, de sortie et internes ; 2. un jeu d'opérations
exécutées avec les éléments de la structure de données, lorsqu'une instance du
type de bloc fonction est appelée. Ce jeu d'opérations peut être formulé soit dans
l'un des langages CEI (type DFB) ou en "C" (type EFB). Un type de bloc fonction
peut être instancié (appelé) plusieurs fois.
154
33002197
Glossaire
Type de données
dérivé
Les types de données dérivés sont des types de données qui ont été dérivés des
types de données élémentaires et/ou d’autres types de données dérivés. La
définition des types de données dérivés s’effectue dans l’éditeur de type de données
de Concept.
On fait la distinction entre les types de données globaux et les types de données
locaux.
Type de données
générique
Un type de données représentant plusieurs autres types de données.
Types de
données
La vue d’ensemble montre la hiérarchie des types de données et comment ils sont
utilisés aux entrées et sorties des fonctions et blocs fonction. Les types de données
génériques sont caractérisés par le préfixe "ANY".
l ANY_ELEM
l ANY_NUM
ANY_REAL (REAL)
ANY_INT (DINT, INT, UDINT, UINT)
l ANY_BIT (BOOL, BYTE, WORD)
l TIME
l Types de données système (Extension CEI)
l Dérivé (des types de données ’ANY’)
Types de
données dérivés
globaux
Les types de données dérivés globaux sont disponibles dans tout projet Concept et
sont enregistrés dans le répertoire DFB directement situé sous le répertoire
Concept.
Types de
données dérivés
locaux
Les types de données dérivés locaux ne sont disponibles que dans un seul projet
Concept et ses DFB locaux et sont enregistrés dans le répertoire DFB sous le
répertoire de projet.
U
UDEFB
Fonctions/Blocs fonction élémentaires défini(e)s par l’utilisateur
Fonctions ou blocs fonction créés en langage de programmation C et que Concept
met à votre disposition dans des bibliothèques.
UDINT
UDINT représente le type de données "entier double non signé (unsigned double
integer)". L’entrée s’effectue en libellé entier, libellé en base 2, libellé en base 8 ou
libellé en base 16. La longueur des éléments de données est de 32 bits. La plage
de valeurs des variables de ce type de données va de 0 à 2exp(32)-1.
33002197
155
Glossaire
UINT
UINT représente le type de données "entier non signé (unsigned integer)". L’entrée
s’effectue en libellé entier, libellé en base 2, libellé en base 8 ou libellé en base 16.
La longueur des éléments de données est de 16 bits. La plage des valeurs des
variables de ce type de données va de 0 à 2 exp(16) -1.
Unité
d’organisation
de programme
Une fonction, un bloc fonction ou un programme. Ce terme peut se rapporter à un
type ou à une instance.
V
Valeur initiale
La valeur affectée à une variable lors du lancement du programme. L’affectation de
la valeur s’effectue sous forme d’un libellé.
Variable
localisée
Une adresse de mémoire d'état (adresses de références 0x, 1x, 3x, 4x) est affectée
aux variables localisées. La valeur de ces variables est enregistrée dans la mémoire
d'état et peut être modifiée en ligne au moyen de l'éditeur de données de référence.
Ces variables peuvent être adressées avec leur nom symbolique ou avec leur
adresse de référence.
Toutes les entrées et les sorties de l’API sont reliées à la mémoire d’état. L’accès
du programme aux signaux des périphériques connectés à l’API ne se fait que via
des variables localisées. Les accès de l’extérieur via les interfaces Modbus ou
Modbus Plus de l’API, p. ex. des systèmes de visualisation, sont également
possibles via des variables localisées.
Variable non
localisée
Aucune adresse de mémoire d’état n’est affectée aux variables non localisées. Elles
n’occupent donc pas non plus d’adresse de mémoire d’état. La valeur de ces
variables est enregistrée dans le système et peut être modifiée en ligne au moyen
de l'éditeur de données de référence. Ces variables ne sont adressées que par leur
nom symbolique.
Les signaux ne disposant pas d’accès à la périphérie, p. ex, résultats intermédiaires,
repères systèmes, etc., doivent être de préférence déclarés comme variable non
localisée.
156
33002197
Glossaire
Variables
Les variables servent à l'échange de données au sein de sections, entre plusieurs
sections et entre le programme et l'API.
Les variables consistent au moins en un nom de variable et un type de données.
Si une adresse directe (référence) est affectée à une variable, on parle alors de
variable localisée. Si aucune adresse directe n’est affectée à une variable, on parle
alors de variable non localisée. Si un type de données dérivé est affecté à une
variable, on parle alors d’une variable multi-éléments.
Il existe en outre des constantes et des libellés.
Variables de
tableau
Variables auxquelles sont affectées untype de données dérivé défini à l’aide du mot
clé ARRAY (tableau). Un tableau est un ensemble d’éléments de données
appartenant au même type.
Variables multiéléments
Variables, auxquelles est affecté un type de données dérivé défini avec STRUCT ou
ARRAY.
On fait ici la distinction entre variables de tableau et variables structurées.
Variables
structurées
Variables auxquelles est affecté un type de données dérivé défini avec STRUCT
(structure).
Une structure est un ensemble d’éléments de données avec en général différents
types de données (types de données élémentaires et/ou types de données dérivés).
Vue d'ensemble
de la mémoire
d'état lors de la
lecture et du
chargement
Vue d'ensemble :
Base de données de projet Concept
Editeur
de variables
Variables
(valeurs initiales)
U3
Miroir (image)
U2 de la mémoire d’état
pour lire depuis
ou charger dans
la mémoire
D1 d'état
D3
D2
Editeur
de données
U1
Mémoire d'état de l'automate
0x / 1x / 3x / 4x
33002197
157
Glossaire
W
WORD
158
WORD correspond au type de données "Cordon de bits 16". L’entrée peut se faire
en libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur des
éléments de données est de 16 bits. Il n'est pas possible d'affecter une plage de
valeurs numériques à ce type de données.
33002197
B
AC
Index
B
bloc fonction
XXMIT, 107
Brochage des câbles
9 broches (RS-232) vers 25 broches
(modem) avec contrôle RTS/CTS, 120
9 broches (RS-232) vers 25 broches
(modem) sans contrôle RTS/CTS, 119
9 broches vers 25 broches (Null Modem),
123
9 broches vers 9 broches (Modem), 122
9 broches vers 9 broches (Null Modem),
121
9 broches vers RJ45-(8x8) (Modem)
110XCA20301, 129, 130
RJ45-(8x8) vers 25 broches (Modem)
110XCA20401, 126, 127
RJ45-(8x8) vers 25 broches (Null
Modem) 110XCA20401, 124
RJ45-(8x8) vers 9 broches (Null Modem)
110XCA20301, 125
RJ45-(8x8) vers RJ45-(8x8) (Modem),
128
RS 485 Momentum 9 broches, 131
RS 485 Momentum RJ 45, 132
C
COMM
RTXMIT, 97
XMIT, 13
XXMIT, 53
33002197
Configuration de XXMIT
à l'aide de modems à numérotation
automatique, 112
Contrôle de flux, 41
D
Description des paramètres, 18
E
entrée au format ASCII terminée, 29
F
FIFO, 41
Fonction d'entrée ASCII simple, 31
Fonctions ASCII, 29
Fonctions de communication XMIT, 32
Fonctions de modem, 33
Fonctions Modbus, 35
I
Informations sur le câblage, 117
Introduction, 9
K
Kits adaptateurs de câbles
pour RJ45-(8x8), 132
159
Index
L
S
Limites des paramètres d'automate
184/384, 110
484, 110
584/984, 109
884, 109
M84, 111
Quantum, 108
Structure de données
XMIT_CFG, 20
XMIT_SET, 19
M
Messages d'erreur, 45
Messages sous forme de chaînes, 31
Mot de commande XMIT, 32
Multipoint, 131
T
Transférer, 13, 53
Transmission, 97
X
XMIT, 13
XMIT_CFG, 20
XMIT_SET, 19
XXMIT, 53
R
Références techniques
XXMIT, 107
RS 485, 131, 132
RS 485 Momentum, 131, 132
RTU
RTXMIT, 97
XMIT, 13
XXMIT, 53
RTXMIT, 97
160
33002197

Manuels associés