- Schneider Electric
- XXMIT/RTXMIT Bloc de fonction Transmit (Receive) pour Concept 2.6 SR4
- Mode d'emploi
Schneider Electric XXMIT/RTXMIT Bloc de fonction Transmit (Receive) pour Concept 2.6 SR4 Mode d'emploi
Ajouter à Mes manuels160 Des pages
▼
Scroll to page 2
of
160
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 techpub@schneider-electric.com 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