Schneider Electric April5000, April7000, Coupleur de communication Protocole JBUS-PSP Mode d'emploi
Ajouter à Mes manuels228 Des pages
▼
Scroll to page 2
of
228
1 Glossaire des pictogrammes utilisés å ! xi ß m TEM60000F Panneau AUTOROUTE Repère les résumés de chapitres, de paragraphes, … Panneau ATTENTION Indique les procédures présentant un risque (en cours d'installation, de manipulation ou de modification, …) Panneau INDICATEUR "Exemple" Repère les exemples pratiques (techniques de saisie, …) Panneau INTERDICTION Repère les démarches ou actions STRICTEMENT INTERDITES Panneau STOP Signale les remarques importantes, le lecteur doit lire attentivement le texte avant de continuer MAIN Signale les remarques d'ordre général, les notas, … n 2 TEM60000F n 1 SOMMAIRE A - Présentation B - Mise en œuvre matérielle C - Configuration et initialisation D - Exploitation E - Programmation d'un port série F - Programmation des échanges JBUS G - Gestion des accès à la mémoire (JBUS) H - Annexes TEM60000F n 2 TEM60000F n 3 Sommaire détaillé Pages TEM60000F A. Présentation 1. Fonctions assurées par les cartes 1.1. Présentation des fonctions 1.2. Performances 2. Le port série programmable 2.1. Caractérisation des échanges 2.2. Traitement réalisé par la carte 2.3. Gestion des échanges 3. Fonctions d’accès aux variables 4. Le protocole JBUS 4.1. Type du protocole 4.2. Liste des matériels compatibles JBUS 5. Les interfaces de transmission 5.1. Liaison RS 232 C (V24) 5.2. Liaison boucle de courant 5.3. Liaison RS 485 5.4. Comparatif des performances des 3 types de liaison 6. Présentation physique des cartes 6.1. Les trois types de carte 6.2. Les visualisations A.1 A.5 A.5 A.5 A.7 A.7 A.8 A.8 A.9 A.11 A.11 A.12 A.13 A.13 A.13 A.15 A.16 A.17 A.17 A.18 B. Mise en œuvre matérielle 1. Configuration maximale 2. Liaison RS485 2.1. Généralités 2.2. Topologie Bus en half duplex 2.2.1. Schéma de principe 2.2.2. Câblage direct sur connecteurs SubD 2.2.2.1. Connexion au réseau d'un poste intermédiaire 2.2.2.2. Connexion au réseau d'un poste d'extrémité 2.2.2.3. Connexion au réseau du poste maître 2.2.3. Utilisation des boitiers de connexion 2.3. Topologie point à point en full duplex 2.4. Topologie multipoint en full duplex (RS485 - 4 fils) 3. Liaison RS232C 3.1. Généralités 3.2. Connexion ETTD ↔ ETTD 3.3. Connexion ETTD ↔ ETCD 4. Boucle de courant 20 mA 4.1. Généralités 4.2. Schéma général 4.3. Exemples de câblage 4.3.1. Poste maître actif en émission et en réception 4.3.2. Poste maître actif en émission et passif en réception 4.3.3. Réseau mixte APRIL 5000 - APRIL 7000 - APRIL PB APRIL SMC 4.4. Longueur maximale de la liaison 4.4.1. En fonction de la résistance du câble 4.4.2. En fonction de la vitesse de transmission 4.5. Caractéristiques électriques de la liaison 5. Précautions de câblage 5.1. Principe 5.2. Le circuit de mise à la terre du blindage d'un câblage B.1 B.5 B.7 B.7 B.8 B.8 B.9 B.9 B.9 B.10 B.10 B.12 B.13 B.15 B.15 B.16 B.17 B.19 B.19 B.20 B.20 B.20 B.21 B.21 B.22 B.22 B.22 B.22 B.23 B.23 B.24 n 4 Pages TEM60000F C. Configuration et initialisation des coupleurs 1. Description de la configuration 1.1. Paramérage d'une voie en JBUS maître 1.2. Paramétrage d'une voie en JBUS esclave 1.3. Paramétrage d'une voie en port série programmable 1.4. Paramétrage du comportement sur défaut 2. Initialisation 2.1. Initialisation à la mise sous tension 2.2. Réinitialisation en cours de fonctionnement 3. Gestion des signaux MODEM 3.1. Description des paramètres 3.2. Fonctionnement 4. Modifications du paramètrage d’une voie par programme : BFC MOD_COM C.1 C.5 C.7 C.9 C.12 C.13 C.15 C.15 C.15 C.17 C.17 C.18 D. Exploitation 1. Fonctions disponibles en exploitation 1.1. Modification en ligne des paramètres 1.2. Visualisation des compteurs de diagnostic (JBUS) 2. Les modes de marche 2.1. Définition des modes de marche 2.2. Transition entre modes de marche D.1 D.5 D.5 D.8 D.9 D.9 D.10 E. Programmation du port série programmable 1. Les BFC à Lancement et Contrôle Intégrés (LCI) 1.1. Emission : BFC SEND 1.1.1. Description des paramètres 1.1.2. Fonctionnement 1.2. Réception : BFC RECEIVE 1.2.1. Description des paramètres 1.2.2. Fonctionnement 1.3. Exemples de programmation 1.3.1. Gestion des bits EN et ACT de chaque BFC 1.3.2. Lancement de plusieurs échanges sans gérer les bits d’activité intermédiaires 2. Les BFC à Lancement et Contrôle Séparés (LCS) 2.1. Principe 2.2. Emission : BFC SSEND 2.2.1 Description des paramètres 2.2.2. Fonctionnement 2.3. Réception : BFC SRECEIVE 2.3.1 Description des paramètres 2.3.2. Fonctionnement 2.4. Arrêt de communication JBUS et PSP : BFC SSTOP 2.4.1 Description des paramètres 2.4.2. Fonctionnement 2.5. Exemples d'utilisation de la BFC SSTOP 2.5.1. Arrêt d'une émission de données 2.5.2. Arrêt de plusieurs émissions ou réceptions 2.5.3. Conseil en programmation 2.6. Exemple d'utilisation de BFC LCS 2.6.1. Introduction 2.6.2. Identification de l'application 2.6.3. Configuration 2.6.4. Le dossier de l'application E.1 E.5 E.6 E.6 E.8 E.9 E.9 E.11 E.13 E.13 C.19 E.14 E.15 E.15 E.17 E.17 E.19 E.20 E.20 E.23 E.25 E.25 E.27 E.28 E.28 E.30 E.31 E.32 E.32 E.32 E.32 E.33 n 5 Pages 3. Fonction d’accès aux variables 3.1. Présentation 3.2. Compatibilité 3.3. Mise en œuvre 3.4. Exploitation 3.4.1. Généralités 3.4.2. Variables accessibles 3.4.3. Lecture 3.4.4. Ecriture 3.4.5. Surveillance de variables TEM60000F E.49 E.49 E.49 E.50 E.51 E.51 E.51 E.53 E.56 E.58 F. Programmation des échanges JBUS 1. Ecriture : boîte WRITE 1.1. Description des paramètres 1.2. Fonctionnement 1.2.1. Ecriture unique 1.2.2. Ecriture répétitive 2. Lecture : boîte READ 2.1. Description des paramètres 2.2. Fonctionnement 2.2.1. Lecture unique 2.2.2. Lecture répétitive 3. Lecture des compteurs de diagnostic 3.1. Compteurs de diagnostic du maître 3.2. Compteurs de diagnostic de l'esclave 3.3. Lecture des compteurs 4. Contrôle de l'activité ligne ou du coupleur 4.1. Principe 4.2. Adressage des bits de contrôle 4.3. Utilisation des bits de contrôle par programme 5. Fonctions JBUS supportées par le coupleur F.1 F.5 F.5 F.9 F.9 F.10 F.11 F.11 F.15 F.15 F.16 F.17 F.17 F.17 F.18 F.23 F.23 F.24 F.24 F.25 G. Gestion des accès à la mémoire (JBUS) 1. Principe de la protection 1.1. Protection immédiate 1.2. Protection différée après un accès coupleur 2. Programmation 2.1. Adressage des bits de protection 2.2. Utilisation des bits de gestion par le programme G.1 G.5 G.6 G.7 G.9 G.9 G.10 H. Annexes 1. Liste des messages d'erreur 2. Glossaire 3. Protocole JBUS 3.1. Principe 3.2. Présentation des trames de demande et de réponse 3.3. Contrôle des messages reçus par l'esclave 3.4. Lecture de n bits : fonction 1 ou 2 3.5. Lecture de n mots : fonction 3 ou 4 3.6. Ecriture d'un bit : fonction 5 3.7. Ecriture d'un mot : fonction 6 3.8. Lecture rapide de 8 bits : fonction 7 3.9. Lecture des compteurs de diagnostic : fonction 8 H.1 H.5 H.7 H.11 H.11 H.12 H.13 H.14 H.15 H.16 H.16 H.17 H.18 n 6 Pages 4. 5. 6. 7. 8. TEM60000F 3.10. Lecture des compteurs d'événement : fonction 11 3.11. Lecture du "buffer trace" : fonction 12 3.12. Commandes programme : fonction 13 3.12.1. Arrêt de la CPU (sous fonction 01) 3.12.2 Passage en marche de la CPU (sous fonction 02) 3.12.3. Déchargement de la mémoire (sous fonction 03) 3.12.4. Chargement de la mémoire (sous fonction 04) 3.12.5. Connexion à la mémoire automate (sous fonction 25) 3.12.6. Déconnexion de la mémoire (sous fonction 26) 3.12.7. Téléchargement d'un programme automate via JBUS 3.13. Diagnostic des commandes programme : fonction 14 3.14. Ecriture de n bits consécutifs : fonction 15 3.15. Ecriture de n mots consécutifs : fonction 16 (commande 6) Adressage de la mémoire Codage des %FDn en mémoire Algorithme de calcul du CRC 16 Particularité du mode ASCII Table des caractères ASCII - hexadécimal H.20 H.21 H.22 H.23 H.24 H.25 H.26 H.27 H.27 H.28 H.32 H.33 H.34 H.35 H.41 H.43 H.45 H.47 n 7 Avertissement Evolutions du coupleur JBUS/PSP et versions d’ORPHEE compatibles ■ La version 5 du coupleur JBUS / PSP intègre la fonction d’accès aux variables (cf. chapitre E.3). Cette fonction est activée via la BFC MOD_COM disponible dans ORPHEE à partir de la version V4.1. ■ A partir de la version V4.2 d’ORPHEE, certains paramètres des BFC communication qui devaient auparavant être des constantes peuvent être renseignés par des variables. Il s’agit de : BFC DIAG : paramètres CHAN, TOUT, SLAV BFC MODEM : paramètres CHAN, TOUT BFC SEND : paramètres CHAN, LENG BFC RECEIVE : paramètres CHAN, ECOD BFC READ : paramètres CHAN, LENG, TOUT, SLAV, @ SLA BFC WRITE : paramètres CHAN, LENG, TOUT, SLAV, @SLA BFC MOD_COM : paramètres CHAN. ■ A partir de la version V5.0 d’ORPHEE et de la version 7 de la carte de nouvelles fonctionnalités sont disponibles : - possibilité d'accès à la mémoire de données de façon asynchrone au cycle automate, - nouvelles BFC de type à lancement et contrôle séparés (LCS) en mode PSP : BFC SSEND BFC SRECEIVE BFC SSTOP TABLEAU DE COMPATIBILITE ORPHEE ORPHEE < 5.0 ORPHEE 5.0 Coupleur JBUS/PSP ! TEM60000F Coupleur ≤ V6 Compatible Compatible sauf : SSEND, SSTOP, SRECEIVE et mode ASYNCHRONE Coupleur V7 Compatible Compatible n Dans le cas d'utilisation du mode asynchrone sur un coupleur de version inférieure ou égale à 6, la led OK de la carte s'éteint ou reste clignotante 8 TEM60000F n A.1 présentation A. Présentation TEM60000F n A.2 présentation TEM60000F n A.3 présentation Sommaire Pages TEM60000F 1. Fonctions assurées par les cartes 1.1. Présentation des fonctions 1.2. Performances A.5 A.5 A.5 2. Le port série programmable 2.1. Caractérisation des échanges 2.2. Traitement réalisé par la carte 2.3. Gestion des échanges A.7 A.7 A.8 A.8 3. Fonction d’accès aux variables A.9 4. Le protocole JBUS 4.1. Caractérisation des échanges 4.2. Liste des matériels compatibles JBUS A.11 A.11 A.12 5. Les interfaces de transmission 5.1. Liaison RS232C (V24) 5.2. Liaison boucle de courant 5.3. Liaison RS485 5.4. Comparatif des performances des 3 types de liaison A.13 A.13 A.13 A.15 A.16 6. Présentation physique des cartes 6.1. Les trois types de carte 6.2. Face avant - Visualisations A.17 A.17 A.18 n A.4 présentation TEM60000F n A.5 présentation 1. Fonctions assurées par les cartes 1.1. Présentation des fonctions Les cartes coupleurs JBUS/PSP permettent l'échange d'informations de type bit(s) ou mot(s) entre un automate programmable APRIL5000 ou APRIL7000 et un ou plusieurs autres équipements (automates programmables, calculateurs, robots,…). Sur chacune de ces cartes sont implantés deux ports série indépendants. Ils peuvent différer : ■ par le protocole utilisé : JBUS maître JBUS esclave PSP (port série programmable) Fonction d’accès aux variables ■ par le support physique de transmission : liaison RS232C (V24) boucle de courant 20 mA liaison RS485 Selon le type d'interfaces choisis, trois cartes différentes sont proposées : ■ carte JBU0220 avec deux voies RS232C ou boucle de courant (sélection par câblage), ■ carte JBU0250 avec une voie RS232C ou boucle de courant (sélection par câblage) et une voie RS485, ■ carte JBU0550 avec deux voies RS485. Les cartes coupleurs JBUS/PSP s'implantent dans un rack standard d'APRIL5000 ou APRIL7000. Une configuration APRIL5000 peut comporter au maximum 6 cartes coupleurs de communication, soit douze voies de communication. Une configuration APRIL7000 peut comporter au maximum 6 cartes coupleurs de communication par canal, avec une limitation globale à huit cartes (soit 16 voies de communication) pour l'ensemble de la configuration. 1.2. Performances Vitesse de transmission : Paramétrable sur chacune des deux voies de 75 à 19200 bauds. TEM60000F n A.6 présentation TEM60000F n A.7 présentation 2. Le port série programmable 2.1. Caractérisation des échanges Le port série programmable (PSP) permet l'échange d'informations sur une ligne série entre un automate APRIL5000 / APRIL7000 et un autre équipement (périphérique, calculateur,…). m Dans ce mode d'échange, l'utilisateur programme les émissions de message à son initiative et les attentes de réception. Les informations transmises sont stockées en mémoire de données. Le coupleur de communication réalise un prétraitement sommaire des trames (reconnaissance de caractères de début et de fin). Si l'équipement avec lequel on communique impose un protocole particulier, celui-ci devra être pris en compte par le programme d'application. Remarque : La gestion d'un protocole par le programme d'application est une tâche assez lourde. Dans la mesure du possible, on réservera l'utilisation du PSP à des échanges avec des équipements n'imposant aucun protocole ou un protocole très simple. Dans les autres cas on choisira de dialoguer avec des équipements compatibles JBUS. ORPHEE V5.0 et le coupleur V7 donne la possibilité d'utiliser des BFC à Lancement et Contrôle Séparés exploitables dans le combinatoire de fond. Carac. Début Gestion du protocole (1) Information utile Gérés par le coupleur ajoutés en émission, enlevés en réception La totalité de cette zone (gestion du protocole + informations utiles) est transférée en mémoire de données. Carac. Fin Gérés par le coupleur ajoutés en émission, enlevés en réception (1) Zone facultative. Dépend des caractéristiques imposées par l'autre équipement. Les informations transmises sont de type mot simple, mot double, réel ou chaîne de caractères. La vitesse de transmission sur la ligne est paramétrable de 75 à 19200 bauds. TEM60000F n A.8 présentation 2.2. Traitement réalisé par la carte En émission la carte JBUS / PSP peut envoyer le message sur la ligne sans aucune adjonction ou ajouter un caractère BREAK en début et / ou en fin de trame. En réception, la carte JBUS / PSP peut : ■ prendre en compte la totalité des caractères qui arrivent, ■ attendre un BREAK pour commencer à prendre en compte le message, ■ attendre un (ou deux) caractère(s) particulier(s),spécifié(s) par l'utilisateur pour commencer à prendre en compte le message. La fin du message est également paramétrable : ■ ■ ■ après réception d'un nombre donné de caractères, sur détection d'un BREAK, sur détection d'un (ou deux) caractère(s) particulier(s) spécifié(s) par l'utilisateur. Le message, éventuellement débarrassé de ses caractères de contrôle, est stocké en mémoire de données à l'adresse spécifiée par l'utilisateur. La mise à jour du contenu de la mémoire dans le cas d'une réception, ou la prise en compte du contenu de la mémoire dans le cas d'une émission, est synchrone au cycle automate. Cependant depuis la version 5.0 d'ORPHEE et la version 7 du module, il est possible de fonctionner en asynchrone cycle, afin d'améliorer la rapidité de mise à jour : dès réception du message dans le module de communication, celui-ci est transmis en mémoire automate (cf chapitre C § 1 - Description de la configuration) 3.3. Gestion des échanges Deux types de gestion sont proposés à l'utilisateur par l'intermédiaire de BFC spécialisées : • Les échanges gérés par l'intermédiaire de BFC à lancement et contrôle intégrés : L'intérêt d'une telle gestion est d"exploiter le plus rapidement possible les informations reçues et/ou émises par le coupleur. Par contre, ce type de gestion amène des contraintes au niveau de la scrutation et de l'exploitation des BFC ainsi qu'un augmentation du temps de cycle automate. Ce type de gestion sera de préférence employée dans des liaisons inter automate, automate calculateur, … • Les échanges gérés par l'intermédiaire de BFC à lancement et contrôle séparés : L'intérêt d'une telle gestion est de simplifier la programmation des échanges. L'utilisateur lance simplement l'émission ou la réception désirées, après exécution de l'opération par le coupleur, ce dernier positionne un indicateur à 1 en fin d'opération. Ce type de gestion sera de préférence utiliser dans des liaisons homme/machine (terminal - automate, …) TEM60000F n A.9 présentation 3. Fonction d’accès aux variables La fonction d'accès aux variables permet de lire, d'écrire ou de surveiller des variables de l'automate à partir d'un terminal standard ou télétype muni d'une liaison RS232C ou boucle de courant. Tous les types de variables du langage ORPHEE sont accessibles : bits et mots d'entrée / sortie, bits et mots internes, tables et éléments de table, variables Grafcet, chaînes de caractères,… Les variables sont sélectionnées : - unitairement, - sous forme d'une suite de variables consécutives, - sous forme d'une liste de variables quelconques. La plupart d'entre elles peuvent être lues ou écrites dans différentes bases numériques au choix de l'utilisateur (binaire, octal, décimal ou hexadécimal). Il s'agit d'un dialogue simple, ligne à ligne, de type question-réponse. La fonction est activée, à la demande de l'exploitant, sur une voie configurée en PSP en utilisant la BFC MOD_COM. Ainsi la fonction peut être utilisée de façon temporaire (en phase de mise au point ou de réglage par exemple) sur une voie d'un coupleur normalement utilisée en PSP. La fonction d'accès aux variables étant activée ou désactivée par l'intermédiaire d'une BFC, son état ne peut être modifié lorsque l'automate est en STOP. En revanche, si elle a été activée (en mode RUN), elle peut être exploitée que l'automate soit en STOP ou en RUN. La fonction étant accessible par l'intermédiaire d'un coupleur JBUS / PSP, peut être proposée dans n'importe quel rack déporté de la configuration. TEM60000F n A.10 présentation TEM60000F n A.11 présentation 4. Le protocole JBUS 4.1. Caractérisation des échanges Le protocole JBUS permet de lire ou d'écrire un ou plusieurs bits, un ou plusieurs mots, le contenu du compteur d'événements ou celui des compteurs de diagnostic. 14 fonctions sont disponibles : Lecture de n bits de sorties ou internes Lecture de n bits d'entrées Lecture de n mots de sorties ou internes Lecture de n mots d'entrées Ecriture de 1 bit Ecriture de 1 mot Lecture rapide de 8 bits Diagnostic des échanges Lecture du compteur d'événement Lecture du buffer trace Commande programme (téléchargement, …) Diagnostic associé aux commandes programmes Ecriture de n bits Ecriture de n mots Les échanges se font à l'initiative du maître et comportent une demande du maître et une réponse de l'esclave. Maître demande réponse Toutes les trames échangées ont la même structure : numéro d'esclave code fonction zones données zone contrôle (CRC 16) Les demandes du maître sont soit adressées à un esclave donné (identifié par son numéro dans le premier octet de la trame de demande), soit adressées à tous les esclaves (diffusion). Les commandes de diffusion sont obligatoirement des commandes d'écriture. Il n'y a alors pas de réponse émise par les esclaves. Maître diffusion TEM60000F n A.12 présentation Diagramme d'occupation du support de transmission Analyse de la réponse et préparation de l'échange suivant Attente MAITRE DEMANDE ///////// ///////// DIFFUSION Attente /////////////////// Attente DEMANDE //// ////////// à esclave N à esclave 1 ESCLAVE ///////// REPONSE ///////// { 1 ///////// ////////// REPONSE { ESCLAVE N Traitement de la demande Exécution simultanée de l'ordre par tous les esclaves SUPPORT PHYSIQUE Temps Echange i-1 Echange i Echange i+1 Remarque : les durées de DEMANDE, REPONSE, DIFFUSION, ATTENTE, TRAITEMENT sont liées à la fonction réalisée. 4.2. Liste des matériels compatibles JBUS Les matériels compatibles JBUS comprennent : – des mini et micro calculateurs, – des communicateurs vers des réseaux locaux, – des systèmes de régulation et de contrôle-commande – des systèmes de contrôle commande de machines, – des systèmes d'animation de synoptique et de gestion de procédé, – des plots inductifs, – des terminaux de dialogue homme machine, –… La liste détaillée et la plus à jour possible est à votre disposition sur simple demande auprès de votre agence commerciale. TEM60000F n A.13 présentation 5. Les interfaces de transmission 5.1. Liaison RS 232 C (V24) La transmission respecte l'avis V24 du CCITT (européen) et le standard américain EIA RS 232 C qui est très voisin. Ces standards normalisent 25 signaux pour assurer la compatibilité des appareils des différents constructeurs. La liaison s'effectue : ■ soit par câblage direct, fil à fil, ■ soit sur lignes téléphoniques (publiques ou privées), 1 ou 2 paires, par l'intermédiaire de modems dont les caractéristiques déterminent la longueur maximale de la ligne. J B U Modem •• •• Modem Modem J B U J B U poste maître ß interface RS 232 C postes esclaves Remarque importante : toute liaison traversant le domaine public doit faire l'objet d'un agrément PTT. Dans ce cas, divers supports sont possibles : lignes louées, réseau commuté, réseaux spécialisés pour transmission de données. Les modems utilisés doivent être agréés PTT. 5.2. Liaison boucle de courant La transmission s'effectue sur une ligne de type téléphonique 2 paires dont la longueur est limitée par les caractéristiques de la ligne (résistance de boucle et capacité de la ligne) et par la vitesse de transmission. La jonction courant peut être active ou passive. On peut généralement choisir le mode actif ou passif sur l'une au l'autre extrémité de la ligne. A un mode actif doit correspondre un mode passif et inversement. Poste A actif, poste B passif Emission Réception Réception Emission Poste A TEM60000F n Poste B A.14 présentation Poste A passif, poste B actif Emission Réception Réception Emission Poste B Poste A L'état repos de la ligne correspond au courant passant. N. B. : il est possible de "panacher" le mode de fonctionnement des boucles émission et réception sur un même poste (émission active et réception passive, par exemple). Les postes esclaves sont en série avec le maître. L'état de repos de la ligne est 20 mA. Postes esclaves (passifs) Poste maître (actif) E R R R E E R E Nombre maximum de postes esclaves ≈ 8 Légende : : Générateur de courant (poste actif) E TEM60000F : Emetteur R : Récepteur : Sens du courant n A.15 présentation 5.3. Liaison RS 485 mode de transmission différentiel (sur 2 fils) ; liaison directe 1 paire. Impédance caractéristique 120 ohms ; dispositifs de terminaison ; nombre de postes ≈ 32 ; longueur du réseau ≈ 1,3 km (pour vitesses jusqu'à 100 Kbauds et un affaiblissement ≤ 6 dB) ; ■ longueur des dérivations ≤ 15 mètres. ■ ■ ■ ■ ■ maître ° ° •• • • esclaves ° ° TEM60000F • • • •• • •• esclaves ° ° •••• esclaves ° ° n A.16 présentation 5.4. Comparatif des performances des 3 types de liaison ■ Liaison courant – Configuration économique. – Bonne immunité aux parasites. – La longueur de la ligne est limitée par les caractéristiques de la ligne et la vitesse de transmission. (Voir chapitre "caractéristiques"). – La jonction courant convient pour des liaisons de longueur moyenne (quelques dizaines ou centaines de mètres). – Des boîtes de jonction sont disponibles pour augmenter, soit la disponibilité du réseau, soit la longueur de la boucle, soit le nombre d'esclaves (2 modèles selon tension auxiliaire disponible : 24 VCC ou 110/220V CA). ■ Liaison tension par câblage direct fil à fil – Par l'intermédiaire des signaux RTS et CTS, il est possible de tester la disponibilité du récepteur ainsi que de surveiller certaines fonctions du terminal. – De même le signal CD permet de contrôler la ligne réception. – Liaison très courte (≤ 15 m). – Ce type de jonction est parfois le seul disponible sur les versions économiques de certains périphériques. ■ Liaison tension par l'intermédiaire de modems – Par l'intermédiaire des signaux RTS et CTS, il est possible de tester la disponibilité du récepteur ainsi que de surveiller certaines fonctions du terminal. – De même le signal CD permet de contrôler la ligne réception. – Possibilité de liaison à très grande distance et simultanément de vitesse élevée. – Investissement plus important. – Ce type de transmission s'applique pour des lignes téléphoniques de grande longueur, privées ou louées aux PTT. Remarque : toute ligne traversant le domaine public doit faire l'objet d'une autorisation des PTT. ■ Liaison EIA RS 485 – Bonnes performances distance/vitesse. – Configuration économique. – Déconnexion possible d'un abonné sans perturbation réseau. TEM60000F n A.17 présentation 6. Présentation physique des cartes 6.1. Les trois types de carte Selon le type d'interface choisi, trois cartes différentes sont proposées : ■ carte JBU0220 avec deux voies RS232C ou boucle de courant (sélection par câblage), ■ carte JBU0250 avec une voie RS232C ou boucle de courant (sélection par câblage) et une voie RS485, ■ carte JBU0550 avec deux voies RS485. Les trois types de cartes ont une présentation analogue en face avant : elles ne diffèrent que par le détail des connexions sur les connecteurs SubD. Elles sont repérées par leurs références commerciales. TEM60000F n A.18 présentation 6.2. Face avant - Visualisations carte en état de fonctionnement carte en marche normale défaut extérieur (non significatif pour JBUS / PSP) OK RUN EXT FLT 0 : émission en cours sur voie 0 1 : réception en cours sur voie0 2 : défaut sur transmission en cours voie 0 3 : émission en cours sur voie 1 4 : réception en cours sur voie1 5 : défaut sur transmission en cours voie 1 Channel 0 RS232/C.Loop SEN 20mA REC RxRx+ 20mA TxTx+ 20mA DTR 14 14 1 1 TxD RxD RTS CTS DSR SG DCD R led COM RI T led 25 13 25 13 Channel 1 RS 485 1 14 Rp+ Les connecteurs de la carte sont du type 25 points SUBD mâle 14 1 Rp- Rc/2 Rx+ Tx+ 25 13 Rc/2 RxTx- 25 13 n Le schéma ci-dessus montre la face avant d'une carte JBU0250, porte ouverte. Sur la partie gauche du schéma est représentée l'étiquette intérieure de porte avec les indications de câblage. Sur la partie droite (face avant proprement dite), sont représentés les connecteurs et les diodes de visualisation. TEM60000F B.1 mise en œuvre matérielle B. Mise en œuvre matérielle TEM60000F n B.2 mise en œuvre matérielle TEM60000F n B.3 mise en œuvre matérielle Sommaire Pages 1. Configuration maximale TEM60000F B.5 2. Liaison RS485 2.1. Généralités 2.2. Topologie Bus en half duplex 2.2.1. Schéma de principe 2.2.2. Câblage direct sur connecteurs SubD 2.2.2.1. Connexion au réseau d'un poste intermédiaire 2.2.2.2. Connexion au réseau d'un poste d'extrémité 2.2.2.3. Connexion au réseau du poste maître 2.2.3. Utilisation des boîtiers de connexion 2.3. Topologie point à point en full duplex 2.4. Topologie multipoint en full duplex (RS485 - 4 fils) B.7 B.7 B.8 B.8 B.9 B.9 B.9 B.10 B.10 B.12 B.13 3. Liaison RS232C 3.1. Généralités 3.2. Connexion ETTD ↔ ETTD 3.3. Connexion ETTD ↔ ETCD B.15 B.15 B.16 B.17 4. Boucle de courant 20 mA 4.1. Généralités 4.2. Schéma général des liaisons sur le connecteur SubD 4.3. Exemples de câblage 4.3.1. Poste maître actif en émission et en réception 4.3.2. Poste maître actif en émission et passif en réception 4.3.3. Réseau mixte APRIL5000 - APRIL7000 - APRIL PB APRIL SMC 4.4. Longueur maximale de la liaison 4.4.1. En fonction de la résistance du câble 4.4.2. En fonction de la vitesse de transmission 4.5. Caractéristiques électriques de la liaison B.19 B.19 B.20 B.20 B.20 B.21 5. Précautions de câblage 5.1. Principe 5.2. Le circuit de mise à la terre du blindage d'un câblage B.23 B.23 B.24 B.21 B.22 B.22 B.22 B.22 n B.4 mise en œuvre matérielle TEM60000F n B.5 mise en œuvre matérielle 1. Configuration maximale Une configuration APRIL5000 peut comporter au maximum 6 cartes coupleurs de communication, soit 12 voies de communication (coupleurs JBUS/PSP, JNET, MM4). Une configuration APRIL7000 peut comporter au maximum 6 cartes coupleurs de communication par canal, avec une limitation globale à huit cartes (soit 16 voies de communication) pour l'ensemble de la configuration. TEM60000F n B.6 mise en œuvre matérielle TEM60000F n B.7 mise en œuvre matérielle 2. Liaison RS485 2.1. Généralités Les coupleurs de communication JBUS / PSP (références JBU0250 et JBU0550) permettent de réaliser des réseaux de communication multipoints conformes au standard RS485 de l'E.I. A. Les caractéristiques essentielles de ce réseau sont : ■ ■ ■ ■ ■ ■ Jusqu'à 32 stations Etendue maximale : 1300 m environ (4000 pieds) Topologie Bus Dérivations ≤ 15 m Half duplex sur deux fils (bidirectionnel à l'alternat) Adaptation de la ligne sur les postes d'extrémité Les liaisons doivent être réalisées en utilisant des paires torsadées blindées d'impédance caractéristique 120 Ω, (exemple : BELDEN réf. 8103) conformes aux préconisations de la norme EIA RS485. N.B. : Les coupleurs JBUS / PSP permettent également de réaliser une liaison point à point sur quatre fils conforme au standard RS422 A. Il est ainsi possible de faire dialoguer un APRIL5000 / APRIL7000 avec un équipement ne disposant que d'une liaison RS422A. cf § 2.3. TEM60000F n B.8 mise en œuvre matérielle 2.2. Topologie Bus en half duplex 2.2.1. Schéma de principe 5V Rx- Tx+ Rp LRc Rc L+ Rp 0V Le schéma ci-dessus présente l'architecture générale d'un réseau RS485. Tx+ Les émetteurs sont symbolisés par : TxRx+ Les récepteurs sont symbolisés par : Rx- (A) (B) (A’) (B’) Le réseau est constitué par une simple paire torsadée blindée. La connexion des différents postes du réseau se fait simplement en reliant - d'une part, toutes les sorties repérées + (Tx+, Rx+) sur le fil + du réseau (repéré L+), - d'autre part, toutes les sorties repérées - (Tx-, Rx-) sur le fil - du réseau (repéré L-). L'impédance du réseau est adaptée au moyen de deux résistances d'adaptation (Rc) situées sur les deux stations extrèmes du réseau. Les résistances Rc des cartes JBU 0250 et JBU 0550 ont une valeur de 150 Ω, les résistances Rp une valeur de 470 Ω. ß TEM60000F La polarisation du réseau est réalisée en reliant le fil L+ au 0V et le fil L- au 5V par l'intermédiaire de deux résistances de polarisation. Cette polarisation a pour effet de faire circuler en permanence un courant dans le réseau. Elle doit être unique pour l'ensemble du réseau, quelle que soit son étendue. n B.9 mise en œuvre matérielle 2.2.2. Câblage direct sur connecteurs SubD Les voies RS485 des coupleurs de communication JBUS / PSP sont munis en standard des résistances nécéssaires pour réaliser la polarisation du réseau et son adaptation. La particularisation des différents types de poste s'effectue en réalisant les pontages décrits sur les schémas ci- après sur les connecteurs SubD. Pour éviter tout risque d'erreur, on suppose que la polarisation est réalisée sur le poste maître (unique par définition). Un autre choix reste néanmoins possible. Les câblages réalisés en pratique doivent, par ailleurs, respecter les précautions générales de câblage (liaison des blindages,…) exposées plus loin. 2.2.2.1. Connexion au réseau d'un poste intermédiaire JBU 0250 ou JBU 0550A 5V 0V Rp- 9 Rp+ 21 Tx+ 25 A Tx- 13 B Rx+ 24 A' Rx- 12 B' L+ Vers réseau L- 11 Réaliser les pontages 24 ---> 25 d'une part, 12 ---> 13 d'autre part. Rc 23 Rc 2.2.2.2. Connexion au réseau d'un poste d'extrémité JBU 0250 ou JBU 0550A 5V 0V Rp- 9 Rp+ 21 Tx+ 25 A Tx- 13 B Rx+ 24 A' Rx- 12 B' L+ Vers réseau L- 11 Rc 23 Rc Par rapport au schéma précédent, on rajoute, sur les deux postes situés aux extrémités du réseau, la résistance d'adaptation Rc en parallèle sur Rx- et Rx+. Ceci est fait en pontant les bornes 11 et 12 d'une part, 23 et 24 d'autre part. TEM60000F n B.10 mise en œuvre matérielle 2.2.2.3. Connexion au réseau du poste maître JBU 0250 ou JBU 0550 5V 0V Rp- 9 Rp+ 21 Tx+ 25 A Tx- 13 B Rx+ 24 A' Rx- 12 B' L+ Vers réseau L- 11 Rc 23 Rc Pour obtenir un fonctionnement du réseau exempt d'aléas, il est nécessaire de polariser le réseau en reliant les deux conducteurs du réseau au 0V d'une part, au 5V d'autre part via deux résistances. Ce câblage est réalisé en pontant les bornes 21 ---> 25 d'une part, 13 ---> 9 d'autre part. Cette polarisation ne doit être effectuée qu'en un seul point du réseau. Pour éviter toute erreur, il est conseillé de privilégier le poste maître. Toutefois il est possible de choisir un autre poste à condition qu'il soit unique. 2.2.3. Utilisation des boîtiers de connexion Les boîtiers de connexion (réf. TBX 0010) proposés par APRIL permettent de câbler un réseau de type Bus de façon plus commode qu'en réalisant les dérivations directement sur les broches du connecteur SubD. Ce type de connexion permet de retirer un poste du réseau sans laisser de connecteur "en l'air". De plus il facilite le raccordement ultérieur de nouveaux postes. Chaque boîtier comporte deux connecteurs SubD 9 broches permettant le raccordement de deux automates au réseau et deux connecteurs à vis permettant le raccordement du bus. Chaque boîtier est également muni d'une résistance d'adaptation. Celle ci doit être mise en service sur les deux boîtiers d'extrémité en réalisant le pontage indiqué sur le schéma de la page suivante. La polarisation du réseau doit être réalisée sur le poste maître comme dans le cas précédent. Le schéma de la page suivante présente un exemple de réalisation d'un tel câblage. N.B. : Il est possible de raccorder un troisième poste sur les boîtiers d'extrémité du réseau. Ce troisième poste est raccordé sur le connecteur à vis extrême. La résistance d'adaptation utilisée est celle du coupleur et non plus celle du boîtier. TEM60000F n B.11 mise en œuvre matérielle Sur les boîtiers d'extrémité du réseau, ponter les bornes 2 et 3. JBU0250 ou JBU0550 5V 0V Rp- 9 Rp+ 21 Tx+ 25 L- Tx- 13 L+ Rx+ 24 Rx- 12 13 2 3 4 L- L+ 5 9O OO OO OO OO 61 5 9O L+ O O OO OO OO 61 Mise à la terre (borne 4) à réaliser sur tous les boîtiers du réseau. L- 11 Rc TBX0010 1 2 3 3 23 Rc JBU0250 ou JBU0550 JBU0250 ou JBU0550 5V 0V Rp- 9 Rp+ 21 9 1 2 3 4 25 L- Tx- 13 L+ Rx+ 24 Rx- 21 Rp+ L- L+ Tx+ 12 5 9O OO OO OO OO 61 5 9O OO OO OO OO 61 LL+ 0V 25 Tx+ 13 Tx- 12 Rx11 Rc TBX0010 1 3 2 3 23 5V 24 Rx+ 11 Rc Rp- 23 Rc Rc poste maître JBU0250 ou JBU0550 5V 0V Rp- 9 Rp+ 21 Tx+ 25 Tx- 13 Rx+ 24 Rx- 12 1 2 3 4 L- L+ LL+ 5 9O OO OO OO OO 61 5 9O L+ O O OO OO OO 61 L- 11 Rc 23 TBX0010 1 3 2 3 Nota : – coupleurs JBUS : connecteurs mâles sur la carte, – TBX0010 : connecteurs femelles sur le boîtier. Rc Connecteurs SubD 25 points femelle côté câble TEM60000F Connecteurs SubD 9 points mâle côté câble n B.12 mise en œuvre matérielle 2.3. Topologie point à point en full duplex ! Ce type de liaison permet d'utiliser la liaison RS485 pour dialoguer en full duplex avec des équipements ne disposant que de la liaison RS422A. La liaison ainsi réalisée est en effet conforme au standard RS422A. Le strap entre la PIN 6 (RS422) et 7 (SG) ne doit être réalisé que pour être conforme au standard RS422A. Les PIN 6 et 7 ne doivent pas être reliées en RS485. Cette modification n'est valable que pour les coupleurs de version V≥ 10. JBU 0250 ou JBU 0550 5V 0V Rp- 9 Rp+ 21 Tx+ 25 A Rx+ Tx- 13 B Rx- Rx+ 24 A' Tx+ Rx- 12 11 B' Tx- R=120 à 150 Ω Rc 23 Rc SG 7 RS422 6 Poste A Poste B La distance maxi entre les deux équipements est, conformément au standard RS422A, de 4000 pieds soit 1300 m environ. m Pour des distances importantes, il est conseillé de placer une résistance d'adaptation en parallèle sur les bornes Rx+ et Rx- du récepteur de l'équipement à relier. Nota : Ce schéma permet, entre autres, de relier un automate de la ligne PB (APRILPB80, APRILPB200 ou APRILPB400) muni d'une plaquette RS422 à un APRIL5000 ou un APRIL7000. Si le poste B est un APRIL 5000 ou un APRIL 7000, réaliser la polarisation du récepteur également sur le poste B (même schéma que poste A). En RS485 2 fils multipoint, il peut apparaître des défauts lors des échanges JBUS (led 2 ou led 5 allumée). Ceci n'entrave en rien le bon fonctionnement de la communication. Il est possible de faire disparaître ce phénomène en utilisant du RS485 - 4 fils. TEM60000F n B.13 mise en œuvre matérielle 2.4. Topologie multipoint en full duplex (RS485 4 fils) CPU2250/1 ou CPU2550/1 JBU0250 ou JBU0550 CPU2250/1 ou CPU2550/1 JBU0250 ou JBU0550 5V 0V CPU2250/1 ou CPU2550/1 JBU0250 ou JBU0550 Rp- 9 9 9 9 Rp- Rp+ 21 21 21 21 Rp+ Tx+ 25 25 Tx+ 25 Tx+ 25 Tx+ Tx- 13 13 Tx- 13 Tx- 13 Tx- Rx+ 24 24 Rx+ 24 Rx+ 24 Rx+ Rx- 12 12 Rx- 12 Rx- 12 Rx- 11 11 11 11 23 23 23 23 0V Rc Rc Rc Rc JBUS Maître 5V JBUS Esclave JBUS Esclave Une seule polarisation sur l'émission et une seule polarisation sur la réception sont nécessaires. TEM60000F n B.14 mise en œuvre matérielle TEM60000F n B.15 mise en œuvre matérielle 3. Liaison RS232C 3.1. Généralités Les coupleurs de communication JBUS / PSP (JBU 0220 et JBU 0250) offrent des liaisons conformes au standard RS232C de l'EIA, aux avis V24 et V28 du CCITTet à la norme ISO 2110. Ces standards définissent les caractéristiques électriques et mécaniques d'une liaison tension en point à point et à courte distance (≤15 m) entre deux équipements. Pour des distances supérieures, on passera par l'intermédiaire de modems. APRIL5000 / APRIL7000 APRIL5000 / APRIL7000 liaison RS232C modem liaison ligne téléphonique RS232C modem La norme RS232 C distingue deux types d'équipements : - Les équipements de traitement de données (DTE) qui sont situés aux extrémités de la liaison et qui émettent des informations et exploitent les donnés reçues, - Les équipements de circuit de données (DCE) qui assurent uniquement le transit des informations et ne réalisent pas de traitement. Les automates programmables sont des DTE (ou ETTD en français pour Equipement terminal de Traitement de Données ), Les modems, les boîtiers de conversion, certaines imprimantes sont des DCE (ou ETCD en français pour Equipement terminal de Circuit de Données ). m TEM60000F Cette distinction doit être gardée en mémoire car elle influe sur les raccordements interéquipements. Remarque : La liaison par l'intermédiaire de modems permet de réaliser des liaisons multipoints en RS232. n B.16 mise en œuvre matérielle Les coupleurs de communication JBU 0220 ou JBU 0250 présentent un schéma de brochage sur le connecteur SubD 25 points en face avant conforme à la norme et du type DTE (ou ETTD) : JBU 0220 ou JBU 0250 TxD 2 RxD 3 RTS 4 CTS 5 DSR 6 SG 7 DCD 8 ! Les broches 6 et 20 ne doivent pas être reliées entre elles sur la carte pour les versions < 7. DTR 20 RI 22 3.2. Connexion ETTD ↔ ETTD La connexion ETTD ↔ ETTD permet de relier directement deux équipements de traitements de données (cas de deux automates ou d'un superviseur et un automate situés à proximité immédiate l'un de l'autre par exemple). Dans ce cas, l'émission de données d'un poste doit être rebouclée sur la réception de l'autre et vice versa. Le schéma de câblage est alors : JBU 0220 ou JBU 0250 JBU 0220 ou JBU 0250 TxD 2 2 TxD RxD 3 3 RxD RTS 4 4 RTS CTS 5 5 CTS DSR 6 6 DSR SG 7 7 SG DCD 8 8 DCD DTR 20 20 DTR RI 22 22 RI Ce type de liaison étant destiné à relier entre eux deux automates (ETTD), les signaux de contrôle MODEM (RTS, CTS, DSR, DTR, DCD, RI) ne sont pas câblés. N.B. : Les connexions nécessaires au câblage de la boucle de courant et à celui de la liaison RS232 figurent sur le même connecteur. Une seule des deux liaisons doit être câblée sur une voie sous peine d'obtenir un fonctionnement totalement erroné. TEM60000F n B.17 mise en œuvre matérielle 3.3. Connexion ETTD ↔ ETCD Ce type de liaison permet de relier un équipement de transmission de données à un équipement de traitement de données. Dans ce cas de figure, qui est le cas standard de la norme RS232C, La connexion s'effectue directement fil à fil : JBUMX0A 0220 ou JBU ou JBU JBU 0250 320A DCE (modem, boîte de conversion,…) TxD 2 2 TxD RxD 3 3 RxD RTS 4 4 RTS CTS 5 5 CTS DSR 6 6 DSR SG 7 7 SG DCD 8 8 DCD DTR 20 20 DTR RI 22 22 RI Ce type de liaison permet principalement de raccorder un automate et un MODEM. Les signaux de contrôle MODEM (DSR, DTR, DCD, RI) sont donc câblés (selon le type de MODEM, certains des signaux peuvent être inutiles). TEM60000F n B.18 mise en œuvre matérielle TEM60000F n B.19 mise en œuvre matérielle 4. Boucle de courant 20 mA 4.1. Généralités La boucle de courant proposée par les coupleurs de communication JBU 0220 et JBU0250 permet de relier jusqu'à huit postes. Il s'agit d'une boucle du type 20 mA au repos. Ce type de boucle assure la disponibilité du réseau en cas de mise hors tension d'un des postes (poste non actif). Poste maître Poste 1 Poste 2 Poste 3 Poste 4 : Emetteur : Récepteur : Diode de visualisation : Générateur 20 mA Ce type de liaison permet la réalisation d'un réseau mixte APRIL5000 /7000, APRIL PB et APRIL SMC. En utilisant les boîtes de jonction proposées par APRIL (1BJ24 ou 1BJ110/220), il est possible d'augmenter le nombre de postes et / ou la longueur totale du réseau et / ou d'améliorer sa disponibilité. m Chaque voie est munie d'un ensemble de deux diodes de visualisation permettant de contrôler que la boucle émission d'une part, la boucle réception d'autre part sont effectivement fermées. Cette visualisation peut être câblée sur tous les postes du réseau. Toutefois, la mise en série des visualisations dans le réseau est équivalente à l'introduction d'un poste supplémentaire. Il est donc conseillé de ne câbler les visualisations que sur un seul poste (poste maître par exemple). Remarques : 1 - Si un esclave est mis hors tension, l'émetteur de cet esclave devient passant, la ligne est toujours disponible. 2 - Si l'alimentation de la boucle est déportée sur un des esclaves, le fait de mettre cet esclave hors tension provoque l'interruption de la communication. 3 - Les connexions nécessaires au câblage de la boucle de courant et à celui de la liaison RS232 figurent sur le même connecteur. Une seule des deux liaisons doit être câblée sur une voie. Dans le cas contraire un fonctionnement erroné est possible. TEM60000F n B.20 mise en œuvre matérielle 4.2. Schéma général des liaisons sur le connecteur SubD JBU 0220 ou JBU 0250 19 +20mA 23 T Led + 18 Tx+ 17 Tx- 9 RLed + 15 Rx+ 14 Rx- 10 Com 16 +20mA 4.3. Exemples de câblage 4.3.1. Poste maître actif en émission et en réception Le poste maître (poste A sur le schéma) est actif en émission et en réception. Les diodes de visualisation sont insérées en série dans la boucle de courant sur le poste maître. Poste A Poste B JBU 220 ou JBU 0250 JBU 0220 ou JBU 0250 19 19 23 23 18 18 17 17 9 9 15 15 14 14 10 10 16 16 n Les liaisons déssinées en pointillé fin indiquent les modifications de câblage à apporter pour supprimer les diodes de visualisation sur le poste A et / ou pour les insérer sur le poste B. TEM60000F B.21 mise en œuvre matérielle 4.3.2. Poste maître actif en émission et passif en réception Ce schéma réalise une parfaite symétrie des deux postes, exception faite du raccordement des diodes de visualisation. JBU 0220 ou JBU 0250 JBU 0220 ou JBU 0250 19 19 23 23 18 18 17 17 9 9 15 15 14 14 10 10 16 16 Les liaisons déssinées en pointillé fin indiquent les modifications de câblage à apporter pour supprimer les diodes de visualisation sur le poste A et / ou pour les insérer sur le poste B. 4.3.3. Réseau mixte APRIL5000 - APRIL7000/APRILPB/APRILSMC On trouvera ci-dessous un exemple de raccordement sur un même réseau d'un APRIL7000 (ou APRIL5000), d'un APRIL PB200 / APRIL PB400 et d'un APRIL SMC 25 / SMC 35 / SMC 50 / SMC 600. APRIL5000 / APRIL7000 actif en émission et en réception APRIL PB200 APRIL PB400 JBU 0220 ou JBU 0550 19 +20mA 23 T Led 18 Tx+ 17 Tx- 9 TEM60000F RLed 15 Rx+ 14 Rx- 10 Com 16 +20mA 10 9 APRIL SMC 25 / 35 APRIL SMC 50 / 600 24 25 13 12 17 18 n B.22 mise en œuvre matérielle 4.4. Longueur maximale de la liaison 4.4.1. En fonction de la résistance du câble (UE x N) + (0,02 x R x L) ≤ 20 longueur totale (en m) des conducteurs traversés par le courant dans la boucle considérée résistance par mètre du câble de liaison (0,15 Ω / m pour un câble ordinaire) courant dans la boucle : 20 mA N : nombre d'esclaves chute de tension (1,5 V par émetteur, 2,1 V par récepteur) 4.4.2. En fonction de la vitesse de transmission m N + L / 0,8 < 16 V x L < 2,4 N : nombre d'esclaves L : longueur totale de la boucle considérée (en km) V : vitesse de transmission (en Kbauds) Remarque : Ces règles sont liées aux caractéristiques d'un câble de capacité 110 pF/m et de résistance 130 Ω/km (type SYT1 de Acome par exemple). Un câble de meilleure qualité permet d'obtenir des performances supérieures à celles indiquées. 4.5. Caractéristiques électriques de la liaison Pour de bonnes performances ; tous les points du connecteur sont isolés galvaniquement à 2500 V de la terre et à 2500 V du reste de l'automate. ■ Le codage de l'information est effectué par modulation du courant dans la boucle de communication (modulation à deux états : 0 / 20 mA), l'état repos correspondant à 20 mA. ■ m TEM60000F ■ L'émetteur et le récepteur sont protégés contre les inversions de polarité. ■ Caractéristiques électriques de l'émetteur : tension max état bloqué 40 V courant max état bloqué 0,5 mA courant max état passant 100 mA tension max état passant 1,2 V Remarque : L'état passant de l'émetteur est garanti en cas de coupure de l'alimentation. ■ Caractéristiques électriques du récepteur : courant max 100 mA tension max à 100 mA 2,1 V courant max état ouvert 5 mA courant max état fermé 10 mA ■ Caractéristiques électriques des générateurs de courant ■ Régulation du courant à 20 mA ± 5 mA ■ Tension max développé par le générateur du courant : 20 V ± 5 V n B.23 mise en œuvre matérielle 5. Précautions de câblage Les recommandations ci-dessous s'appliquent à la réalisation d'un réseau de communication JBUS en liaison RS232, en RS485 ou en boucle de courant. 5.1. Principe 0V interface isolé Interface Interface Logique interne 0V logique relié à la masse mécanique Logique interne DC/DC Blindage des paires torsadées reliés à la terre à chaque extrémité DC/DC DC/DC DC/DC Interface Interface Blindage relié à la masse mécanique du chemin de câble, lui même relié à la terre Terre équipotentielle de l'installation Masse mécanique de l'armoire Les points fondamentaux à respecter sont les suivants : ■ Réalisation d'un circuit de terre équipotentiel de résistivité aussi faible que possible : – Dans le cas d'une liaison interne à un seul bâtiment, le maillage du réseau de terre assure cette faible résistivité. – Dans le cas de terres séparées (bâtiments différents ou réseau de terre du bâtiment de mauvaise qualité), liaison des terres par un connecteur de gros diamètre (≥ 35mm2) distinct du blindage des paires torsadées. ■ Liaison à la terre du blindage des paires torsadées à chaque extrémité. Liaison des paires torsadées à la masse mécanique du chemin de câble à intervalles réguliers (le chemin de câble étant lui-même relié à la terre). ■ 0V des interfaces de communication non relié (découplage par rapport à la logique et alimentations isolées). L'isolement des interfaces est assuré par la conception même des cartes de communication : découplage des signaux par photocoupleurs, alimentation des interfaces par convertisseurs DC/DC,… ■ n Les liaisons de masse doivent être réalisées en respectant les préconisations décrites au § suivant. TEM60000F B.24 mise en œuvre matérielle 5.2. Le circuit de mise à la terre du blindage d'un câble Les automates APRIL5000/APRIL7000 ont été conçus pour faciliter la réalisation des liaisons à la terre des blindages. Toutefois, un certain nombre de précautions doivent être prises pour assurer la continuité de la liaison depuis le blindage du câble jusqu'à la terre. ❸ logique interne DC /DC ❹ interface ❷ ❶ ❸ ➎ Terre équipotentielle de l'installation Masse mécanique de l'armoire Sur le schéma ci-dessus les principaux points à surveiller sont mis en évidence. Ce sont : La connexion de la tresse du câble au capot plastique métallisé du connecteur SubD femelle ❶. ■ La fixation du connecteur SubD sur la carte. Cette fixation est réalisée au moyen des deux vis ❷ prévues à cet effet et qui doivent être correctement serrées. ■ La liaison de la masse de la carte à celle du rack. Cette liaison est assurée en bloquant les deux vis de maintien ❸ de la carte dans le rack. ■ La liaison de la masse mécanique du rack à celle de l'armoire puis ❹ à la terre équipotentielle du bâtiment ➎. Voir à ce sujet la documentation générale de mise en œuvre de l'automate considéré. ■ TEM60000F n B.25 mise en œuvre matérielle m Remarque : La mise à la terre du blindage des câbles à l'arrivée sur les "T" de connexion est assurée par : ❶ Le serrage de la tresse sur les capots métallisés des connecteurs SubD, ❷ Le serrage des vis de maintien des connecteurs SubD sur le boitier, ❸ Le serrage de la tresse dans les étriers placés devant les connecteurs à vis, ❹ La liaison de la borne 4 du connecteur à vis à la masse mécanique de l'armoire, elle même reliée à la terre (liaison aussi courte que possible). ❹ ❸ 1 2 3 4 ❷ Terre équipotentielle de l'installation ❷ 1 2 3 ❶ ❶ ❸ TEM60000F n B.26 mise en œuvre matérielle TEM60000F n C.1 configuration et initialisation C. Configuration et initialisation TEM60000F n C.2 configuration et initialisation TEM60000F n C.3 configuration et initialisation Sommaire Pages TEM60000F 1. Description de la configuration 1.1. Paramétrage d'une voie en JBUS maître 1.2. Paramétrage d'une voie en JBUS esclave 1.3. Paramétrage d'une voie en port série programmable 1.4. Paramétrage du comportement sur défaut C.5 C.7 C.9 C.12 C.13 2. Initialisation 2.1. Initialisation à la mise sous tension 2.2. Réinitialisation en cours de fonctionnement C.15 C.15 C.15 3. Gestion des signaux MODEM 3.1. Description des paramètres 3.2. Fonctionnement C.17 C.17 C.18 4. Modification du paramétrage d’une voie par programme : BFC MOD_COM C.19 n C.4 configuration et initialisation TEM60000F n C.5 configuration et initialisation 1. Description de la configuration Lors de la description de la configuration de l'automate (section identification de l'application), l'utilisateur renseigne, pour chaque emplacement de chacun des racks, le type de carte qui l'occupera. Concernant les cartes JBUS/PSP, il aura le choix entre les trois références commerciales proposées : m TEM60000F Concernant la procédure d'accès à cet écran, se reporter à la documentation de mise en œuvre du logiciel ORPHEE. L'emplacement contenant une carte JBUS/PSP étant sélectionné, l'utilisateur accèdera aux écrans de paramétrage correspondants en utilisant la fonction "Accès aux paramètres" du menu "Paramètres". n C.6 configuration et initialisation Choix de l'accès mémoire : synchrone/asynchrone OK Permet de quitter la fonction paramétrage de la carte en validant les paramètres affichés ANNULER Permet de quitter la fonction paramétrage sans sauvegarde des modifications éventuelles DIAGNOSTIC Donne accès à l'écran de paramétrage des actions sur défaut VOIE 0 Donne accès à l'écran suivant relatif à la voie 0 VOIE 1 Donne accès à l'écran suivant relatif à la voie 1 Dans cet écran, l'utilisateur se contente de cliquer sur le type de protocole utilisé par chacune des voies puis de choisir l'action suivante : - soit le paramétrage des actions sur défaut (cf § 1.4.), - soit le paramétrage spécifique à chaque voie (cf § 1.1. à 1.3.), - soit de quitter la fonction paramétrage (avec ou sans sauvegarde). Mise à jour de la mémoire de données lors des échanges. ! Les cartes JBUS, PSP, accèdent à la mémoire de données de manière synchrone, à chaque intercycle automate. Pour diminuer ce temps d'attente, il est possible de réaliser des accès asynchrones à la mémoire commune c'est à dire pendant le cycle automate. Cette modification concerne les modes de fonctionnement JBUS, PSP. Le mode asynchrone n'est accessible qu'à partir de la version 7 de la carte de communication. Si le mode asynchrone est choisi sur une carte de version < 7, alors la LED OK s'éteint. Conseil : L'utilisation du mode asynchrone ne doit être effectué que si la durée du temps de cycle est critique. Il est conseillé de revenir en mode synchrone si des comportements abérrants sont détectés. TEM60000F n C.7 configuration et initialisation 1.1. Paramétrage d'une voie en JBUS maître Lorsque l'utilisateur demande l'accès au paramétrage d'une voie préalablement déclarée comme utilisant le protocole JBUS en mode maître, l'écran ci-dessous lui est proposé : Le format de transmission en JBUS maître est obligatoirement un format 8 bits (transmission en binaire). Le format par défaut est : 8 bits parité paire 1 stop. Les vitesses autorisées sont les vitesses normalisées de 75 à 19200 bauds. La valeur de ce paramètre par défaut est 9600 bauds. Le nombre de réitérations possibles est un chiffre, de 0 à 15, correspondant au nombre maximum de tentatives auxquelles est susceptible de procéder le maître avant de déclarer la liaison avec un esclave coupée. La valeur par défaut de ce paramètre est 3. N.B. : le nombre total de demandes effectuées est égal au nombre de réitérations + la première tentative. Exemple : Si le nombre de réitérations est paramétré égal à 3, le coupleur fera quatre demandes avant de déclarer la liaison coupée. Les deux paramètres suivants ne sont à renseigner que dans le cas d'une liaison conforme au standard RS232C. L'état du signal DTR à l'initialisation est paramétrable pour s'adapter aux caractéristiques du terminal situé à l'autre bout de la ligne. La valeur par défaut de ce paramètre est : fermé (1) (1) : Selon le CCITT (version française des avis), un signal est dit fermé lorsqu'il est relié à la tension +12 V. TEM60000F n C.8 configuration et initialisation Le retard à l'émission entre les signaux RTS et CTS est nécéssaire au fonctionnement de certains modems. RTS CTS retard émission Le retard paramètré est le retard maximum toléré entre RTS et CTS. Si CTS monte avant que le retard ne soit écoulé, l'émission commence aussitôt. Pour que le comportement du coupleur soit conforme à ce schéma, il faut indiquer dans le paramètre retard RTS <--> CTS la valeur du retard exprimée en multiples de 100 ms (valeur max : 100 -> retard max 10 s). La valeur par défaut de ce paramètre (affichage 0 sur l'écran de paramétrage) est un retard égal à trois caractères. Le time-out inter-caractères (TIC) est un paramètre, défini par le protocole JBUS, qui permet au coupleur de se resynchroniser sur un début de trame en cas de perturbation de la transmission : Le coupleur considère qu'il y a rupture de trame si le temps séparant la réception de deux caractères dépasse le temps d'attente inter-caractères (la trame est alors considérée comme invalide). m Ce temps est normalement égal à un silence de trois caractères, variant donc de 2 ms (à 19200 bauds) à 440 ms (à 75 bauds). Toutefois, certains équipements (type drivers ou serveurs de terminaux) sont dans l'impossibilité de respecter ce temps. C'est pourquoi ce temps d'attente est paramétrable. Remarques : ■ Si le time-out paramétré est inférieur à un silence trois caractères, le time-out effectif sera égal à un silence trois caractères. ■ Le temps d'attente inter-caractères ainsi paramétré n'est utilisé par le coupleur que pour la détection de coupures de trames en réception. Il n'influe aucunement sur le silence inter-trames à l'émission (qui reste fixé à trois caractères dans tous les cas). ■ Après la réception d'une trame impossible à analyser (trame incomplète, code fonction inconnu,…) et si le TIC est utilisé, un silence inter-trames au moins égal au TIC est nécessaire au coupleur pour se synchroniser. ■ Ce paramétrage n'est utilisable qu'en mode binaire. Particularités du coupleur maître Pour le paramétrage du temps d'attente de la réponse de l'esclave et / ou pour celui de la période de répétition (boîtes fonctionnelles READ, WRITE et DIAG), tenir compte du ralentissement éventuel de la transmission lié au TIC. Mode opératoire : TIC = 0 : le temps d'attente inter-caractères est alors égal, par défaut, au temps de transmission de trois caractères. TIC = n : le temps d'attente inter-caractères est alors égal à n x 100 ms, n peut varier de 1 à 20, le temps d'attente inter-caractères varie alors de 100 ms à 2 s. TEM60000F n C.9 configuration et initialisation 1.2. Paramétrage d'une voie JBUS esclave Lorsque l'utilisateur demande l'accès au paramétrage d'une voie préalablement déclarée comme utilisant le protocole JBUS en mode esclave, l'écran ci-dessous lui est proposé : Le numéro d'esclave est une constante variant de 1 à 255 (le numéro d'esclave 0 étant réservé, selon le protocole JBUS à une demande de diffusion). Les formats de transmission en JBUS esclave sont - soit en 8 bits pour dialoguer en mode binaire avec un maître de la gamme APRIL5000 / APRIL7000 ou autre matériel dialoguant en mode binaire, - soit en 7 bits pour dialoguer en mode ASCII avec un maître utilisant ce type de codage. Le format par défaut est : 8 bits parité paire 1 stop ( mode binaire). Les vitesses autorisées sont les vitesses normalisées de 75 à 19200 bauds. La valeur de ce paramètre par défaut est 9600 bauds. Les deux paramètres suivants ne sont à renseigner que dans le cas d'une liaison conforme au standard RS232C. ! L'état du signal DTR à l'initialisation est paramétrable pour s'adapter aux caractéristiques du terminal situé à l'autre bout de la ligne. La valeur par défaut de ce paramètre est : fermé (1). Sur les JBU0220 en version ≤ V10 et les JBU0250/JBU0550 en version ≤ V11, les formats de transmission 8 et 9 sont inversés par rapport à la documentation et à ORPHEE. n (1) : Selon le CCITT (version française des avis), un signal est dit fermé lorsqu'il est relié à la tension +12 V. TEM60000F C.10 configuration et initialisation Le retard à l'émission entre les signaux RTS et CTS est nécéssaire au fonctionnement de certains modems. RTS CTS retard émission Le retard paramètré est le retard maximum toléré entre RTS et CTS. Si CTS monte avant que le retard ne soit écoulé, l'émission commence aussitôt. Pour que le comportement du coupleur soit conforme à ce schéma, il faut indiquer dans le paramètre retard RTS<--> CTS la valeur du retard exprimée en multiples de 100 ms (valeur max : 100 –> retard max 10 s). La valeur par défaut de ce paramètre (affichage 0 sur l'écran de paramétrage) est un retard égal à trois caractères. Le time-out inter-caractères (TIC) est un paramètre, défini par le protocole JBUS, qui permet au coupleur de se resynchroniser sur un début de trame en cas de perturbation de la transmission : Le coupleur considère qu'il y a rupture de trame si le temps séparant la réception de deux caractères dépasse le temps d'attente intercaractères (la trame est alors considérée comme invalide). m Ce temps est normalement égal à un silence de trois caractères, variant donc de 2 ms (à 19200 bauds) à 440 ms (à 75 bauds). Toutefois, certains équipements (type drivers ou serveurs de terminaux) sont dans l'impossibilité de respecter ce temps. C'est pourquoi ce temps d'attente est paramétrable. Remarques : ■ Si le time-out paramétré est inférieur à un silence trois caractères, le time-out effectif sera égal à un silence trois caractères. ■ Le temps d'attente inter-caractères ainsi paramétré n'est utilisé par le coupleur que pour la détection de coupures de trames en réception. Il n'influe aucunement sur le silence inter-trames à l'émission (qui reste fixé à trois caractères dans tous les cas). ■ Après la réception d'une trame impossible à analyser (trame incomplète, code fonction inconnu,…) et si le TIC est utilisé, un silence inter-trames au moins égal au TIC est nécessaire au coupleur pour se synchroniser. ■ Ce paramétrage n'est utilisable qu'en mode binaire. Mode opératoire : TIC = 0 : le temps d'attente inter-caractères est alors égal, par défaut, au temps de transmission de trois caractères. TIC = n : le temps d'attente inter-caractères est alors égal à n x 100 ms, n peut varier de 1 à 20, le temps d'attente inter-caractères varie alors de 100 ms à 2 s. La table des bits de lecture rapide contient les adresses des 8 bits accessibles en lecture rapide par le maître. Ces bits peuvent être dispersés dans toute la mémoire bit de l'automate.Les adresses sont données soit sous forme d'appellation client, soit sous forme de symbolique constructeur. TEM60000F n C.11 configuration et initialisation Les types de variables accessibles par cette fonction sont : - Les bits d'entrée %IXn, - Les bits de sortie %QXn, - Les bits internes non sauvegardés %MXn, - Les bits internes sauvegardés %RXn, - Les bits de graphe %GMn:Xm, %GEn:Xm, %XEn:Xm. Toute la table doit être renseignée lors de la saisie, si cette fonction est utilisée. Le renseignement de cette table est facultatif si le maître n'utilise pas la commande de lecture rapide (commande 7 du protocole JBUS). En cliquant sur la touche PROTECTION, l'utilisateur peut accéder à un nouvel écran de paramétrage au cas ou il souhaite protéger sa mémoire de données contre les conflits entre les accès du coupleur et ceux de l'unité centrale. Zone de protection : L'utilisateur peut ainsi définir 8 zones distinctes pour lesquelles il souhaite réaliser une protection contre les accès simultanés de l'unité centrale et ceux du coupleur. Pour chacune de ces zones l'utilisateur définit : ■ Les adresses des première et dernière variables concernées (ces adresses doivent définir une zone d'un seul type de variables en mémoire automate : zone bit, zone mot, ...). ! TEM60000F Le type de protection à réaliser : La protection peut être en lecture (le coupleur ne peut pas lire les variables en mémoire automate), en écriture (le coupleur ne peut pas écrire les variables en mémoire automate) ou en lecture et écriture. ■ Les chaînes de caractères ne sont pas autorisées en protection. Le renseignement de cette table est facultatif dans le cas ou l'utilisateur ne souhaite pas réaliser de protection d'accès. Il peut également être partiel si l'utilisateur ne souhaite protéger qu'un nombre de zones inférieur à 8. Le détail de la gestion de ces accès fait l'objet du chapitre G du présent manuel. n C.12 configuration et initialisation 1.3. Paramétrage d'une voie en port série programmable Lorsque l'utilisateur demande l'accès au paramétrage d'une voie préalablement déclarée en port série programmable, l'écran ci-dessous lui est proposé : Les formats de transmission sont en sept ou en huit bits. Le format par défaut est : 8 bits parité paire 1 stop . Les vitesses autorisées sont les vitesses normalisées de 75 à 19200 bauds. La vitesse par défaut est 9600 bauds. Les deux paramètres suivants ne sont à renseigner que dans le cas d'une liaison conforme au standard RS232C. L'état du signal DTR à l'initialisation est paramétrable pour s'adapter aux caractéristiques du terminal situé à l'autre bout de la ligne. La valeur par défaut de ce paramètre est : fermé (1) Le retard à l'émission entre les signaux RTS et CTS est nécéssaire au fonctionnement de certains modems. RTS CTS retard émission Le retard paramètré est le retard maximum toléré entre RTS et CTS. Si CTS monte avant que le retard ne soit écoulé, l'émission commence aussitôt. Pour que le comportement du coupleur soit conforme à ce schéma, il faut indiquer dans le paramètre retard RTS<--> CTS la valeur du retard exprimée en multiples de 100 ms (valeur max : 100 –> retard max : 10 s). La valeur par défaut de ce paramètre ( affichage 0 sur l'écran de paramétrage) est un retard égal à trois caractères. n (1) : Selon le CCITT (version française des avis), un signal est dit fermé lorsqu'il est relié à la tension +12 V. TEM60000F C.13 configuration et initialisation 1.4. Paramétrage du comportement sur défaut Cet écran permet de programmer le comportement de l'automate sur les différents types de défaut susceptibles d'apparaître sur la carte. APRIL5000/7000 Numéro du traitement à réaliser Choix par défaut Cet écran permet, dans chacun des cinq cas proposés, de programmer les actions correspondantes : - continuer la scrutation cyclique normale du programme automate en ignorant le défaut, - passer l'automate en mode arrêt, - déclencher un traitement sur événement de type %TDn dont le numéro est précisé. Il est possible de demander l'exécution d'un Traitement de type %TDn puis de programmer soit un arrêt soit la poursuite de l'exécution. Le détail de la programmation des traitements sur événements de type %TDn est décrit dans la documentation de mise en œuvre du logiciel ORPHEE. Concernant la carte JBUS/PSP, on trouvera ci-dessous la liste des défauts des différents types décrits : Défaut configuration : - Configuration physique et configuration logique non cohérentes : procéder à la mise à jour de la configuration. - Défaut interne grave provoquant le retrait de la carte du réseau d'E/S : remplacer la carte. Défaut interne : Défaut des cartes de communication. Ces défauts impliquent obligatoirement le remplacement de la carte en défaut. Défaut externe : Cette catégorie est sans objet pour le coupleur JBUS/PSP. No run : Passage du coupleur en arrêt suite à un défaut. Run : Retour en mode marche normale. TEM60000F n C.14 configuration et initialisation TEM60000F n C.15 configuration et initialisation 2. Initialisation 2.1. Initialisation à la mise sous tension A la mise sous tension du rack contenant la carte JBUS / PSP, le microprogramme interne à la carte réalise toute une série d'auto-tests internes et de tests du dialogue avec l'unité centrale : - test de la mémoire RAM interne, - contrôle du chek-sum du microprogramme interne, - test du timer - test du DUART ß Pendant cette phase, les diodes RUN, DEFAUT, DEFAUT voie 0 et DEFAUT voie 1 sont allumées pendant 2 s puis éteintes pendant 1 s. A l'issue de cette phase, ■ Si les tests se sont achevés sans détection d'anomalie, la carte allume la diode OK en face avant et se met en attente de réception de ses paramètres (envoyés par l'unité centrale), ■ Si un des tests est négatif, la carte se met en repli et informe l'unité centrale du défaut. Le type de défaut peut alors être visualisé si une console de programmation est branchée et en mode exploitation. Lorsque la carte reçoit ses paramètres, elle contrôle leur cohérence. Si le paramétrage ainsi défini est correct,la carte est prête à émettre ou à recevoir des données. L'état de la diode RUN est alors fonction du mode de marche de la carte. 2.2. Réinitialisation en cours de fonctionnement La réinitialisation en cours de fonctionnement d'une carte JBUS / PSP s'effectue automatiquement : - Après une transition STOP —> RUN (clé en face avant de l'UC ou commande console). - Après une mise hors tension du rack contenant l'unité centrale, lors du retour de la tension. - Après une coupure de la liaison entre le rack contenant l'unité centrale et celui contenant le coupleur, lorsque la liaison est rétablie. - Lorsque la carte ne dispose plus d'un jeu de paramètres cohérents. Dans cette phase, l'unité centrale renvoie à la carte ses paramètres tels qu'ils sont stockés dans la mémoire de l'unité centrale. TEM60000F n C.16 configuration et initialisation m ! TEM60000F Les BFC décrites dans ce paragraphe sont dites de type à Lancement et Contrôle Intégrés (LCI). C'est à dire, qu'à chaque fois que la CPU va exécuter une de ces BFC, elle interprètera un ordre de lancement dès détection d'un front montant de l'entrée EN (si le coupleur est disponible) et gèrera tous les indicateurs liés à cette BFC durant les différentes phases d'exécution de cette BFC. La sortie ACT indiquera une activité de la boîte vis à vis du coupleur et les sorties ERR et WERR indiqueront les éventuelles erreurs survenues durant l'échange. Il est par conséquent important que ces BFC soient scrutées cycliquement lors des échanges, pour la mise à jour des différents indicateurs (utilisation recommandée dans ces entités %CC). Si l'entité dans laquelle se trouve la BFC est dévalidée ou si la BFC n'est plus scrutée par la CPU avant que l'indicateur ACT ne repasse à 0 (fin d'activité), le coupleur ne sera pas libéré et aucune autre BFC ne pourra solliciter celui-ci. Le passage STOP > RUN et OFF > ON de la CPU annule tout traitement en cours sur la carte JBUS n C.17 configuration et initialisation 3. Gestion des signaux MODEM 3.1. Description des paramètres En liaison RS232C, l'utilisateur a la possibilité de dialoguer via des modems pour réaliser des liaisons à longues distances. La gestion des signaux nécessaires à l'activation et à la désactivation des modems est réalisée en utilisant la boîte fonctionnelle MODEM : appellation utilisateur EN : variable binaire ou réseau de contacts de validation de la boîte CHAN : Identification de l'emplacement de la voie destinataire. Type : constante numérique ou mot simple (%MW) DSR : Variable booléenne signalant l'activité de la ligne MODEM ACT EN CHAN TOUT DSR ERR WERR ACT(f) : Variable binaire signalant l'activité de la boite TOUT(f) : Temps d'attente maximum du signal DSR exprimée en 1/100° de sec. Varie de 1 à 6000. Si non renseigné, attente infinie. Type : constante numérique ou mot simple (%MW) ERR(f) : Variable binaire signalant un défaut lors de l'exécution de la commande. WERR(f) : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) La voie du coupleur concernée par la boîte MODEM est indiquée par le paramètre CHAN : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal La boîte MODEM doit être programmée dans chacun des automates reliés à un modem (maître et esclaves dans le cas d'un réseau JBUS). m TEM60000F Une seule boîte MODEM doit être active sur une voie d'un coupleur JBUS / PSP à un instant donné. Remarque : Si le signal DTR est forçé à 1 par le paramétrage (INI DTR = FERME), la boîte MODEM est inutile. N.B. : La boîte MODEM est utilisable dans les entités %CC, %TT et %TG. n C.18 configuration et initialisation 3.2. Fonctionnement EN ACT DTR TOUT DSR ligne échanges JBUS A l'exécution de la boîte suivant l'apparition de EN, la boîte – positionne sa sortie ACT, – demande au coupleur de positionner le signal DTR sur la ligne, – déclenche une temporisation de durée TOUT. Si le modem renvoie son signal DSR au bout d'un temps inférieur à TOUT, la boîte positionne sa sortie DSR. Il est alors possible de commencer les transactions sur la ligne (sous réserve que la connexion soit également établie à l'autre extrémité de la ligne). Si le modem ne répond pas dans le temps TOUT, la boîte fait retomber sa sortie ACT et positionne ERR à 1. Le diagnostic correspondant est donné par WERR. A l'exécution de la boîte suivant la retombée de EN, la boîte informe le coupleur d'avoir à déconnecter le modem. Lorsque la déconnexion est effective (après un ou plusieurs cycles automate), la boîte positionne à zéro ses sorties ERR, WERR, ACT et DSR. Remarque : Sur le chronogramme ci-dessus, les lignes de pointillé verticales correspondent aux instants de scrutation de la boîte par le programme d'application. TEM60000F n C.19 configuration et initialisation 4. Modification du paramétrage d'une voie par programme : BFC MOD_COM La BFC MOD_COM permet à l'utilisateur de modifier temporairement, par programme, le logiciel ou l'un des paramètres d'une voie JBUS / PSP défini dans l'éditeur configuration. Appellation utilisateur ACT : Variable booléenne signalant l'activité de la boîte MOD_COM EN : ACT ERR EN : variable booléenne ou réseau de contacts de validation de la boîte CHAN : Adresse du coupleur qui devra effectuer la commande. Type : constante. SOFT : Logiciel séléctionné (de 0 à 4). Type : constante ou mot simple (%MW). BAUD : Vitesse de transmission en bauds. Type : constante ou mot simple (%MW). FORM : Format de transmission. Type : constante ou mot simple (%MW). DLAY : Retard RTS/CTS exprimé en 1/10°sec (100ms). Type : constante ou mot simple (%MW). ICT : Time-out inter-caractère exprimé en 1/10°sec (paramètre spécifique JBUS). Type : constante ou mot simple (%MW). NUM : N° d'esclave (paramètre spécifique JBUS esclave). Type : constante ou mot simple (%MW). REP : Nombre de répétitions (de 0 à 15) (paramètre spécifique JBUS maître). Type : constante ou mot simple (%MW). A ERR : Variable booléenne signalant un défaut lors de l'exécution de la commande B WERR : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) C WERR Paramètres cachés de la BFC MOD_COM D CHAN SOFT E BAUD FORM DLAY ICT NUM F REP ANNULER OK G ! Remarque : Le paramétrage de référence de la voie reste celui défini dans l'entité configuration. Après une mise sous tension, une transition STOP → RUN, … les paramètres de référence sont rechargés dans le coupleur, ce qui annule l'effet de la BFC MOD_COM. n NOTA : La boîte fonctionnelle MOD_COM est utilisable dans les entités %CC, %TT et %TG. TEM60000F H C.20 configuration et initialisation CHAN : Le coupleur auquel est destiné la BFC est désigné par son adresse CHAN sous la forme: CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal SOFT : Type du logiciel à activer sur le coupleur désigné par CHAN. Le type de logiciel est codé sous la forme : 0: 1: 2: 3: 4: Référence (permet de revenir aux paramètres de la configuration) PSP JBUS Maître JBUS Esclave Fonction d'accès aux variables (1) BAUD : Vitesse de transmission sur la liaison en bauds. la vitesse est codée par un chiffre selon le tableau ci-dessous : 0 1 2 3 4 5 : : : : : : 75 bauds 110 bauds 134,5 bauds 150 bauds 300 bauds 600 bauds 6 7 8 9 10 11 : : : : : : 1200 bauds 1800 bauds 2400 bauds 4800 bauds 9600 bauds 19200 bauds FORM : Le format de transmission est codé sous la forme : 0 1 2 3 : : : : 8 BITS, SANS PARITE, 2 STOPS 8 BITS, SANS PARITE, 1 ST 8 BITS, PARITE PAIRE, 1 STOP 8 BITS, PARITE IMPAIRE, 1 STOP 4 5 6 7 8 9 : : : : : : 7 BITS, PARITE PAIRE, 2 STOPS 7 BITS, PARITE IMPAIRE, 2 STOPS 7 BITS, PARITE PAIRE, 1 STOP 7 BITS, PARITE IMPAIRE, 1 STOP 7 BITS, PARITE FORCEE 0, 2 STOPS 7 BITS, PARITE FORCEE 1, 2 STOPS n (1) : La fonction d'accès aux variables n'est pas disponible sur les coupleurs dont le N° de version est inférieur à 5. Au cas ou un BFC MOD_COM tente d’activer cette fonction sur un coupleur de N° de version < 4, c’est le protocole PSP qui est activé par défaut. TEM60000F C.21 configuration et initialisation Rappel : Seuls les formats 8 bits (N° 0 à 3) sont utilisables en JBUS maître et en JBUS esclave, mode binaire. DLAY : (retard RTS ÷ CTS) Ce retard s'exprime en centaines de millisecondes. Il varie de 0 (valeur par défaut) à 100 (soit 10 000 ms). ICT : Time-out inter-caractères. Voir définition dans les paragraphes précédents. Ce paramètre est spécifique à JBUS (maître et esclave). Il s'exprime en multiples de 100 millisecondes et varie de 0 à 20. A B NUM : Numéro de l'esclave. Varie entre 1 et 255. REP : Nombre de répétitions. Voir définition dans les paragraphes précédents. Ce paramètre est spécifique JBUS Maître Il varie de 0 à15. C La reconfiguration de la voie est lançée en positionnant EN à l'état 1. ACT est positionné à l'état 1 pendant la reconfiguration. En cas d'erreur, ACT retombe et ERR et WERR sont positionnés et le paramètrage du coupleur n'est pas modifié. Si une autre BFC est active sur la voie, la BFC MOD_COM ne s'exécute pas. Il faut donc s'assurer qu'aucune BFC n'est active sur la voie avant de lancer MOD_COM. D Dans le cas d'un coupleur paramétré en JBUS esclave, si un échange est en cours sur le réseau, il est terminé avant que la BFC ne s'exécute. La BFC MOD-COM permet de modifier un ou plusieurs paramètres simultanément : Tous les paramètres internes sont facultatifs sauf le N° d'esclave dans le cas d'un JBUS esclave. Pour tous les paramètres non renseignés, la valeur prise en compte est celle du paramétrage de référence. E F G TEM60000F n H C.22 configuration et initialisation TEM60000F n D.1 exploitation D. Exploitation TEM60000F n D.2 exploitation TEM60000F n D.3 exploitation Sommaire Pages 1. Les fonctions disponibles en exploitation 1.1. Modification en ligne des paramètres 1.2. Visualisation des compteurs de diagnostic (JBUS) 2. Les modes de marche 2.1. Définition des modes de marche 2.2. Transition entre modes de marche TEM60000F D.5 D.5 D.8 D.9 D.9 D.10 n D.4 exploitation TEM60000F n D.5 exploitation 1. Les fonctions disponibles en exploitation Toutes les fonctions disponibles en exploitation sont applicables à la carte JBUS / PSP. Ce sont : ■ Transfert et comparaison des applications de l'automate et de la console, ■ Visualisation statique et dynamique du réseau d'automates, ■ Visualisation dynamique de la configuration, ■ Visualisation et modification des données ■ Visualisation dynamique de programme, ■ Modification en ligne de programme, ■… Ces fonctions sont décrites en détail dans le manuel de programmation ORPHEE. Nous nous intéresserons uniquement dans ce chapitre aux fonctions les plus directement utiles lors de la mise au point d'une liaison de communication. 1.1. Modification en ligne des paramètres ! ß m Cette fonction permet de modifier de façon temporaire les paramètres format, vitesse et retard RTS / CTS d'une carte JBUS / PSP. Elle est destinée à faciliter la phase de mise au point de l'application en s'affranchissant, lors d'essais successifs, du temps nécéssaire à la modification des paramètres dans l'entité configuration et au transfert de l'application dans l'U.C. de l'automate. Les paramètres modifiés ne sont connus que de la carte JBUS / PSP. Ils ne sont pas sauvegardés en cas de coupure secteur, de changement de carte,… En conséquence, il est impératif, à l'issue de la phase de mise au point, de procéder à la mise à jour de l'entité configuration et de recharger l'application modifiée dans l'unité centrale. La modification en ligne des paramètres du coupleur nécessite que toutes les BFC concernant la voie soient dévalidées et qu'il n'y ait plus de communication en cours sur la voie maître ou esclave. La fonction modification en ligne des paramètres est accessible à partir de l'écran "Poste d'exploitation" : ■ Sélectionner l'entité "Configuration" puis la fonction "Visualiser" dans le menu "Exploitation". ■ Se positionner sur le rack contenant la carte, ■ Sélectionner la carte, ■ Sélectionner "Modif de paramètres" dans le menu "Commandes". Remarques 1 - La fonction "Modif de paramètres" du menu "Commandes" permet de visualiser la valeur des paramètres tels qu'ils ont été saisis en programmation (dans l'entité configuration). 2 - En cas de modification des paramètres alors qu'une boîte fonctionnelle est en cours d'exécution, les échanges risquent d'être perturbés. Une erreur est alors positionnée. La modification en ligne des paramètres est possible en mode STOP et/ou en mode RUN. La transition STOP ➝ RUN, la MHT de la carte, la MHT de l'UC, une coupure du canal d'E/S provoquent, lors du retour à la normale (carte en RUN) la réinitialisation de la carte et donc la perte des paramètres modifiés. TEM60000F n D.6 exploitation Le système affiche alors la fenêtre ci-dessous : MODIFICATION DES PARAMETRES EMPLACEMENT : 2 CARTE : VOIE 0 FORMAT 2 VOIE 0 VITESSE 11 VOIE 0 RETARD 10 VOIE 1 FORMAT 3 VOIE 1 VITESSE 10 VOIE 1 RETARD 0 ANNULER JBU0220 OK Sur cette fenêtre, l'utilisateur visualise : - L'emplacement de la carte dans le rack (de 0 à 9). Cet emplacement correspond à celui qu'il a sélectionné sur l'écran précédent, - La référence commerciale de la carte. Pour chaque voie, il peut modifier : - Le format de transmission utilisé. Le format affiché est celui paramètré lors de la dernière modification ou, à défaut, celui défini dans l'entité configuration. Sa représentation est codée sous la forme : 0 1 2 3 4 5 6 7 8 9 : : : : : : : : : : 8 BITS, SANS PARITE, 2 STOPS 8 BITS, SANS PARITE, 1 STOP 8 BITS, PARITE PAIRE, 1 STOP 8 BITS, PARITE IMPAIRE,1 STOP 7 BITS, PARITE PAIRE, 2 STOPS 7 BITS, PARITE IMPAIRE, 2 STOPS 7 BITS, PARITE PAIRE, 1 STOP 7 BITS, PARITE IMPAIRE ,1 STOP 7 BITS, PARITE FORCEE 0, 2 STOPS 7 BITS, PARITE FORCEE 1, 2 STOPS Rappel Seuls les formats 8 bits (N° 0 à 3) sont utilisables en JBUS maître et en JBUS esclave, mode binaire. TEM60000F n D.7 exploitation ■ La vitesse de transmission La vitesse affichée est celle paramètrée lors de la dernière modification ou, à défaut, celle définie dans l'entité configuration. Sa représentation est codée sous la forme : 0 1 2 3 4 5 ■ : : : : : : 75 bauds 110 bauds 134,5 bauds 150 bauds 300 bauds 600 bauds 6 7 8 9 10 11 : : : : : : 1200 bauds 1800 bauds 2400 bauds 4800 bauds 9600 bauds 19200 bauds Le retard RTS ↔ CTS Ce retard s'exprime en centaines de millisecondes. Il varie de 0 (valeur par défaut) à 100 (soit 10 000 ms). Les valeurs courantes, pour chaque voie, sont visualisées dans la colonne de gauche. L'utilisateur peut écrire une ou plusieurs nouvelles valeurs dans les colonnes de droite. OK permet de valider les valeurs modifiées. Si les valeurs tapées sont cohérentes, elles sont prises en compte immédiatement par la carte. Si l'une des valeurs modifiées est incorrecte, la carte ne prend en compte aucune des modifications. L'écran est reproposé à l'utilisateur avec la valeur erronée affichée en vidéo inverse afin de lui permettre de rectifier. ANNULER permet de quitter la fonction sans qu'aucune modification ne soit réalisée. TEM60000F n D.8 exploitation 1.2. Visualisation des compteurs de diagnostic (JBUS) La carte JBUS / PSP entretient pour chacune de ses voies un ensemble de 8 (cas du maître) ou 9 (cas de l'esclave) compteurs de diagnostic, cf chapitre F § 3. Ces compteurs peuvent être rapatriés dans l'unité centrale, dans une table de mots simples %MW(), en utilisant la boîte fonctionnelle DIAG. Les compteurs relatifs à l'esclave peuvent également être rapatriés dans l'unité centrale du maître. Le contenu des tables ainsi définies peut être visualisé en dynamique en créant une table de visualisation. Pour cela : ■ Sélectionner l'objet "TABLE DES VARIABLES" dans l'écran "Poste d'exploitation", ■ Sélectionner la fonction "Visualiser" dans le menu "Exploitation" ■ Positionner l'écran en mode saisie (menu "Présentation"), ■ Saisir les adresses des données à visualiser, ■ Passer l'écran en mode "Visualisation" (menu "Présentation"). m TEM60000F (Pour plus d'information sur les tables, voir le Manuel de référence ORPHEE chapitre D § 10). Remarque 1 Les tables ainsi créées peuvent être sauvegardées. Remarque 2 La visualisation dynamique de données permet de visualiser, outre les compteurs de diagnostic, toutes les autres variables relatives aux cartes de communication (bits de contrôle de l'activité de la ligne, bit de gestion des accès à la mémoire,…) n D.9 exploitation 2. Modes de marche de la carte JBUS / PSP 2.1. Définition des modes de marche La carte JBUS / PSP a deux modes de fonctionnement : ■ Le mode marche Le mode marche est le mode de fonctionnement courant de la carte JBUS / PSP. Elle est en mode marche dés que ses autotests à la mise sous tension sont positifs (diode OK allumée en face avant), qu'elle a reçu un jeu de paramètres cohérents et que l'unité centrale est en marche (diode RUN allumée en face avant). Dans ce mode, elle assure : m - la réception des trames d'informations arrivant de l'extérieur, - la mise à jour de la mémoire centrale, - l'émission des trames conformément aux commandes de l'unité centrale (prise en compte des boîtes fonctionnelles). Remarque La carte JBUS / PSP est ainsi en mesure de répondre aux demandes de l'extérieur, de faire les mises à jour correspondantes de la mémoire centrale de l'automate, et éventuellement de procéder aux émissions de commandes répétitives (protocole JBUS maître) indépendamment du mode de marche de l'unité centrale. Seules les émissions coup par coup dépendent de la scrutation du programme par l'unité centrale. ■ le mode arrêt La carte est en mode arrêt : - pendant la phase d'auto-tests à la mise sous tension (diode OK éteinte) - lorsqu'elle est en attente de recevoir ses paramètres (diode OK allumée, diode RUN clignote), - lorsque l'unité centrale de l'automate est en arrêt (diode OK allumée, RUN éteinte). Lorsque la carte est OK, correctement paramétrée, mais que l'UC est en arrêt, elle assure les fonctions suivantes dépendant de la configuration de la voie : ! TEM60000F - voie configurée en JBUS esclave, réponse aux sollicitations du maître (demande de lecture/écriture) de mise à jour de la mémoire commune, - voie configurée en JBUS maître, pas de prise en compte des boîtes fonctionnelles, - voie configurée en PSP, pas de prise en compte des boîtes fonctionnelles, les caractères qui arrivent sur la ligne (boîte RECEIVE) sont stockés et sont transférés en mémoire commune lorsque le buffer de réception est plein. N.B. En mode mise au point (MOP) du programme d'application, les BFC de communication ne sont pas exécutées. n D.10 exploitation 2.2. Transitions entre modes de marche ! ■ Transition RUN ➝ STOP En émission PSP, l'arrêt est effectif à l'issue de l'échange en cours avec la mémoire commune. En réception PSP, l'arrêt est immédiat. Les caractères qui arrivent sont stockés. En JBUS, les BFC en cours d'exécution au moment de l'apparition du signal STOP sont exécutées normalement jusqu'à la fin. ■ Transition STOP ➝ RUN Pendant la phase d'initialisation de l'automate consécutive à une transition STOP ➝ RUN, la carte est réinitialisée et les échanges avec la mémoire commune sont momentanément impossibles. Une voie configurée en esclave JBUS renvoie une réponse d'exception à toute demande lui parvenant pendant cette phase. TEM60000F n E.1 programmation du port série programmable E. Programmation du port série programmable TEM60000F n E.2 programmation du port série programmable TEM60000F n E.3 programmation du port série programmable Sommaire Pages 1. Les BFC à Lancement et Contrôle Intégrés (LCI) 1.1. Emission : BFC SEND 1.1.1. Description des paramètres 1.1.2. Fonctionnement TEM60000F E.5 E.6 E.6 E.8 1.2. Réception : BFC RECEIVE 1.2.1. Description des paramètres 1.2.2. Fonctionnement E.9 E.9 E.11 1.3. Exemples de programmation 1.3.1. Gestion des bits EN et ACT de chaque BFC 1.3.2. Lancement de plusieurs échanges sans gérer les bits d’activité intermédiaires E.13 E.13 E.14 2. Les BFC à Lancement et Contrôle Séparés (LCS) 2.1. Principe 2.2. Emission : BFC SSEND 2.2.1 Description des paramètres 2.2.2. Fonctionnement 2.3. Réception : BFC SRECEIVE 2.3.1 Description des paramètres 2.3.2. Fonctionnement 2.4. Arrêt de communication JBUS et PSP : BFC SSTOP 2.4.1 Description des paramètres 2.4.2. Fonctionnement 2.5. Exemples d'utilisation de la BFC SSTOP 2.5.1. Arrêt d'une émission de données 2.5.2. Arrêt de plusieurs émissions ou réceptions 2.5.3. Conseil en programmation 2.6. Exemple d'utilisation de BFC LCS 2.6.1. Introduction 2.6.2. Identification de l'application 2.6.3. Configuration 2.6.4. Le dossier de l'application E.15 E.15 E.17 E.17 E.19 E.20 E.20 E.23 E.25 E.25 E.27 E.28 E.28 E.30 E.31 E.32 E.32 E.32 E.32 E.33 3. Fonction d’accès aux variables 3.1. Présentation 3.2. Compatibilité 3.3. Mise en œuvre 3.4. Exploitation 3.4.1. Généralités 3.4.2. Variables accessibles 3.4.3. Lecture 3.4.4. Ecriture 3.4.5. Surveillance de variables E.49 E.49 E.49 E.50 E.51 E.51 E.51 E.53 E.56 E.58 n E.4 programmation du port série programmable TEM60000F n E.5 programmation du port série programmable 1. Les BFC à Lancement et Contrôle Intégrés (LCI) Principe m ! TEM60000F Les BFC SEND et RECEIVE décrites dans ce paragraphe sont dites de type à lancement et contrôle intégrés (LCI). C'est-à-dire qu'à chaque fois que la CPU va exécuter une de ces BFC, elle interprètera un ordre de lancement dès détection d'un front montant de l'entrée EN (si le coupleur est disponible) et gèrera tous les indicateurs liés à cette BFC durant les différentes phases d'exécution de cette BFC. La sortie ACT indiquera une activité de la boîte vis à vis du coupleur et les sorties ERR et WERR indiqueront les éventuelles erreurs survenues durant l'échange. Il est par conséquent important que ces BFC soient scrutées cycliquement lors des échanges pour la mise à jour des différents indicateurs (utilisation recommandée dans des entités %CC). Si l'entité dans laquelle se trouve la BFC est dévalidée ou si la BFC n'est plus scrutée par la CPU avant que l'indicateur ACT ne repasse à 0 (fin d'activité), le coupleur ne sera pas libéré et aucune autre BFC ne pourra solliciter celui-ci. Le passage STOP>RUN et OFF > ON de la CPU annule tout traitement en cours sur la carte JBUS. n E.6 SEND programmation du port série programmable 1.1. Emission : BFC SEND 1.1.1. Description des paramètres Le dialogue sans protocole permet l'émission d'informations de type table de mots ou chaîne de caractères depuis une voie d'une carte JBUS / PSP. L'adresse d'implantation du message est indiquée dans ADDR. LENG permet de préciser la longueur du message à émettre (dans le cas ou l'on ne souhaite émettre qu'une partie de la table située à l'adresse ADDR). BRK précise les caractéristiques de début et de fin de message ( Ajout de Break en début et / ou en fin de message). L'émission est programmée en utilisant la boîte SEND : appellation utilisateur EN : variable binaire ou réseau de contacts de validation de la boîte CHAN : N° du coupleur qui devra effectuer l'émission Type : Constante numérique ou mot simple (%MW) ADDR : adresse origine du message Type : table de mots ou chaine de caractères LENG (f) : spécifie le nombre de variables (ou de caractères) à émettre si émission partielle d'une table. Type : constante numérique ou mot simple (%MW) SEND EN ACT CHAN ADDR LENG BRK ERR ACT (f) : Variable binaire signalant l'activité de la boite BRK : Précise la position des BREAK éventuels (début et fin messages) type : libellé (c.f. ci-après) ERR (f) : Variable binaire signalant un défaut lors de l'exécution de l'émission WERR (f) : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) WERR Le coupleur qui sera chargé d'effectuer l'émission est identifié par son adresse CHAN sous la forme : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal TEM60000F n E.7 SEND programmation du port série programmable m ! ADDR : Ce paramètre indique l'adresse de début du message dans la mémoire. Ce paramètre est de la forme %MWn() pour une table de mots de 16 bits, %MDn() pour une table de mots de 32 bits, %FDn() pour une table de réels, %CHn() pour une chaîne de caractères. N.B. : La boîte fonctionnelle SEND est utilisable dans les entités %CC, %TT et %TG. LENG : Ce paramètre ne doit être renseigné que dans le cas ou l'utilisateur ne souhaite émettre qu'une partie du message stocké à l'adresse ADDR. Si le message à émettre est une chaîne de caractères, LENG donne le nombre d'octets à émettre, Remarque LENG peut être impair. Il est ainsi possible d'envoyer un nombre impair de carac-tères (voire un seul). Si le message est une table de valeurs numériques, LENG précise le nombre de mots à émettre (mots de 16 ou 32 bits selon le type de la table). LENG doit dans tous les cas être inférieur à la longueur totale de la table. Dans le cas contraire, une erreur est signalée par ERR et WERR. BRK : Ce paramètre offre à l'utilisateur la possibilité d'insérer des caractères BREAK en début et / ou en fin de message : BRK = IMM : le message est émis sans aucune adjonction BRK = STR : Un BREAK est ajouté en début de message BRK = END : Un BREAK est ajouté en fin de message BRK = S + E : Un BREAK est ajouté en début et en fin de message. - Dans le cas ou BRK = STR ou S+E, les octets sont émis immédiatement après le BREAK (Il n'y a pas de "trou"). - Lorsque le dernier octet est émis, le BREAK de fin (BRK = END ou S+E) est émis quel que soit l'état de CTS. TEM60000F n E.8 programmation du port série programmable SEND 1.1.2. Fonctionnement Une émission est déclenchée sur front montant de la variable EN : instants de scrutation de la boîte par le programme d'application EN ACT transaction ERR ERR est positionné si une erreur est détectée pendant l'échange La variable ACT monte ■ à la première scrutation suivant la montée de EN si le coupleur est disponible, ■ à la première scrutation suivant la libération du coupleur dans le cas contraire. Le coupleur est occupé : ■ en émission lorsqu'une boîte SEND est active, ■ en réception lorsqu'une boîte RECEIVE est active. Le coupleur peut fonctionner en full duplex (1 boîte SEND et une boîte RECEIVE actives simultanément). ACT retombe à zéro à la première scrutation suivant la fin de la transaction (sur la liaison série plus la liaison unité centrale / coupleur de communication). En cas d'erreur sur l'échange, ERR est positionné. Pour prendre en compte une nouvelle commande, EN doit être vu à zéro pendant un cycle automate. La retombée de EN provoque la mise à zéro de ERR, WERR et ACT. Cas particulier m TEM60000F retombée du signal DSR ("ouvert") : - durant l'émission du BREAK de début ➝ à la fermeture de DSR, reprise au début du BREAK. - durant l'attente de CTS ➝ à la fermeture de DSR, réarmement du time-out. - durant l'émission du BREAK de fin ➝ le BREAK est avorté et l'émission est considérée comme terminée. - durant l'émission de la trame utile ➝ l'émission est suspendue et un WARNING est positionné. Remarque En cas d'émission de plus de 256 octets, les informations sont prélevées en mémoire commune par paquets de 256 octets. Il peut s'ensuivre des interruptions de l'émission sur la ligne (attente de disponibilité des informations à émettre). n E.9 programmation du port sérieRECEIVE programmable 1.2. Réception : BFC RECEIVE 1.2.1. Description des paramètres Le port série programmable permet de recevoir des informations de type numérique ou chaîne de caractères depuis une voie d'une carte JBUS / PSP. La programmation du PSP permet de préciser les caractéristiques de début et de fin de message. La réception est programmée en utilisant la boîte RECEIVE : ADDR : Adresse de rangement du message dans la mémoire Type : %MWn( ), %MDn( ), %FDn( ) ou %CH( ) Appelation utilisateur ACT (f) : Variable binaire signalant l'activité de la boîte EN : variable binaire ou réseau de contacts de validation de la boîte ERR (f) : Variable binaire signalant un défaut lors de l'exécution de la commande RECEIVE EN ACT ERR WERR WERR (f) : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) STRT : Type du délimiteur début de message Type : libellé (cf. ci-après) SCOD (f) : code début de message Type : cf. ci-après END : Type du délimiteur fin de message Type : libellé (cf. ci-après) ECOD (f) : code fin de message type : cf. ci-après CHAN : N° du coupleur qui va recevoir la table type : constante numérique ou mot simple (%MW) Paramètres cachés de la BF RECEIVE CHAN ADDR STRT SCOD END ECOD NBCH ANNULER OK NBCH : Nombre de variables reçues type : mot simple (%MW) Le coupleur qui sera chargé de recevoir le message est identifié par son adresse CHAN sous la forme : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal m TEM60000F ADDR : Ce paramètre indique l'adresse de début de la table de stockage du message dans la mémoire. Ce paramètre est de la forme %MWn() pour une table de mots de 16 bits, %MDn() pour une table de mots de 32 bits, %FDn() pour une table de réels, %CHn() pour une chaîne de caractères. Les paramètres STRT, SCOD, END et ECOD permettent de spécifier le type et les caractères de début et de fin de message selon le tableau ci - après. n N.B. La boîte fonctionnelle RECEIVE est utilisable dans les entités %CC, %TT et %TG. E.10 programmation RECEIVE du port série programmable Caractérisation début de message : Nature du message à recevoir Type de début message ( STRT ) type d'adresse correspondant pour SCOD Commentaires chaîne de caractères %CHn() IMM BRK COD ----------%MWn début de réception immédiat attente détection BREAK attente détection 1 ou 2 caractères ( spécifiés dans SCOD(1)) table num. IMM BRK COD COD COD --------%MWm %MDm %FDm début de réception immédiat attente détection BREAK attente détection 1 mot✴ (spécifié dans SCOD) attente détection 1 mot double✴ ( spécifié dans SCOD) attente détection 1 réel✴ (spécifié dans SCOD) %MWn() %MDn() %FDn() Caractérisation fin de message : Nature du message à recevoir Type de fin message ( END ) type d'adresse correspondant pour ECOD Commentaires chaîne de caractères %CHn() BRK LNG LNG fin sur détection BREAK fin selon longueur chaîne fin sur réception de LNG caractères COD ----------Constante ou mot simple (%MW) %MWn BRK LNG LNG COD COD COD --------Constante %MWm %MDm %FDm table num. %MWn() %MDn() %FDn() fin sur reconnaissance 1 ou 2 car. (caractères spécifiés dans ECOD (1)) fin sur détection BREAK fin selon longueur table fin sur réception de LNG mots fin sur reconnaissance 1 mot✴ (spécifié dans ECOD) fin sur reconnaissance 1 mot double✴ (spécifié dans ECOD). fin sur reconnaissance 1 réel✴ (spécifié dans ECOD) ✴ ≈ Ce mot n'est pas transmis. (1) : si attente d'un seul caractère, mettre l'octet de poids fort à FF (-256) Exemples : - attente de réception d'une chaîne de caractères caractérisée par un break en début de chaîne, de longueur constante et égale à la longueur de la chaîne spécifiée pour recevoir le message. Paramétrer la boîte RECEIVE comme suit : STRT = BRK SCOD = non renseigné END = LNG ECOD = non renseigné - attente d'une table de valeurs numériques 16 bits caractérisée par la valeur 00 en début et en fin de chaîne. Paramétrer la boîte RECEIVE comme suit : STYP = COD SCOD =%MWn (le mot %MWn contenant 00) ETYP = COD ECOD = %MWn (le mot %MWn contenant 00) Nota : Le nombre maxi de caractères ou d'octets est de 1024. TEM60000F n E.11 programmation du port sérieRECEIVE programmable 1.2.2. Fonctionnement Le coupleur se met en attente de réception sur front montant de la variable EN : instants de scrutation de la boîte par le programme d'application EN ACT transaction ERR ERR est positionné si une erreur est détectée pendant l'échange La variable ACT monte ■ à la première scrutation suivant la montée de EN si le coupleur est disponible, ■ à la première scrutation suivant la libération du coupleur dans le cas contraire. Le coupleur est occupé : ■ en émission lorsqu'une boîte SEND est active, ■ en réception lorsqu'une boîte RECEIVE est active. Le coupleur peut fonctionner en full duplex (une boîte SEND et une boîte RECEIVE actives simultanément). ACT retombe à zéro à la première scrutation suivant la fin de la transaction (sur la liaison série plus la liaison unité centrale / coupleur de communication). En cas d'erreur sur l'échange, ERR est positionné. Pour prendre en compte une nouvelle commande, EN doit être vu à zéro pendant un cycle automate. La retombée de EN provoque la mise à zéro de ERR, WERR et ACT. La variable NBCH permet de connaître le nombre de variables transférées en mémoire commune. Elle est mise à jour à chaque transfert vers la mémoire soit : ■ tous les 244 octets en cas d'attente d'un nombre d'octets > 244, ■ lorsque la fin de message est détectée et que le message est transmis en mémoire commune, ■ lorsque la BFC est dévalidée avant que la fin de message soit détectée. ■ lorsqu'un octet reçu est incorrect. Dans ce cas les caractères reçus sont transférés (les octets manquants sont positionnés à zéro) et NBCH est mis à jour. La remise à zéro de NBCH est à la charge de l'utilisateur. TEM60000F n E.12 programmation RECEIVE du port série programmable Il est également possible de connaître à tout instant le nombre de caractères reçus par le coupleur en lisant les bits d'entrée qui lui sont affectés soit : de % IX… 0 à % IX… 7 pour la voie 0. de % IX… 8 à % IX… 15 pour la voie 1. ≈ Ce compteur contient le nombre d'octets reçus. C'est un compteur modulo 256. Il est remis à zéro à la validation de la BFC et à la retombée de ACT. Il ne comptabilise pas les break, ni les caractères erronés ni les caractères reçus avant qu'une séquence de début soit reconnue (ni la séquence de début). ■ Exemple séquence de début séquence de fin caractères reçus 1 - 2 - 3 - 4 - 5 ....................................45 - 46 - 47 - 48 - 49 - 50 compteur 0 - 0 - 0 - 0 - 1 ....................................41 - 42 - 43 - 0 - 0 - 0 fin d'exécution de la BFC ! Remarques – Les délimiteurs ne sont pas transférés en mémoire commune. – Si une variable reçue est incorrecte, l'attente est interrompue et les N variables sont transférées en mémoire commune (la dernière variable pouvant être incohérente). – De même, si un BREAK est reçu "mal cadré" (la dernière variable reçue est tronquée), les variables déjà reçues sont transférées en mémoire commune et une erreur est positionnée, signalant que la dernière variable est incohérente. – En cas d'attente de caractères, il est possible en paramétrant END = LNG de spécifier le nombre de caractères à recevoir. Ceci permet notamment de recevoir un nombre impair de caractères (éventuellement un seul caractère). TEM60000F n E.13 programmation du port série programmable 1.3. Exemples de programmation 1.3.1. Gestion des bits EN et ACT de chaque BFC Dans l'exemple ci-dessous, la demande d'émission (EMISS) est mémorisée par le bit VALID qui assure en outre que la BFC est scrutée au moins une fois avec l'entrée EN à 0. Le bit FRONT permet de gérer la retombée de ACT et ainsi de commander la dévalidation de la BFC. Une retombée éventuelle de la demande avant la fin d'exécution de la BFC n'interrompt pas l'échange en cours. Cette séquence sera programmée dans une entité %CC validée en permanence. Ce type de programmation est utilisable avec les BFC SEND, RECEIVE, READ, WRITE et DIAG. SEND VALID EN OK ACT ERREUR ERR WERR L'entrée VALID doit être vue un cycle à 0 EMISS VALID WERREUR VALID S Détection du front de fin d'ACT OK FRONT S OK FRONT FRONT R VALID R EMISS VALID OK FRONT TEM60000F n E.14 programmation du port série programmable 1.3.2. Lancement de plusieurs échanges sans gérer les bits d'activité intermédiaires Dans cet exemple trois BFC sont lancées par la même commande. Les enchaînements entre les BFC sont gérés par le coupleur. L'utilisateur ne gère que la fin d'activité de la dernière BFC. La programmation de cette gestion est analogue à l'exemple précédent. SEND VALID EN SEND VALID EN ACT SEND VALID EN EMISS ACT VALID OK3 ACT VALID S FRONT OK3 S OK3 FRONT FRONT R VALID R TEM60000F n E.15 programmation du port série programmable 2. BFC à Lancement et Contrôle Séparés 2.1. Principe Les BFC LCS assurent le lancement et le suivi d'une communication dans les modes cyclique ou combinatoire de fond. Le lancement et contrôle séparé est réalisé par deux types de BFC : - les BFC LCS : elles permettent de lancer la communication indépendamment de la contrainte cyclique du programme (exemple SSEND : emission ; SRECEIVE : réception), - la BFC SSTOP : elle permet éventuellement d'annuler un échange en cours. Chaque BFC a une entrée en validation : EN et une sortie état d'activité : ACT. La validation du lancement d'une communication se fait sur niveau 1 de la variable "EN". L'arrêt immédiat de la communication s'effectue par l'intervention de la BFC SSTOP. Elle identifie la communication à stopper. Cycle CPU EN SSEND ACT EN SSTOP ACT Les ACT des BFC SSEND et SSTOP retombent en même temps Lorsque la BFC n'est plus validée, EN = 0, le transfert en cours se poursuit jusqu'à ce que la variable ACT soit positionnée à 0 par le coupleur. ß Nota : Si ACT retombe et si l'utilisateur conserve EN toujours à 1, la communication est relancée. Les BFC LCS sont utilisables dans entités %CCn, %CFn, %TTn, %TRn, %TGn, %TDn, et dans les BFU. Une application peut contenir à la fois des BFC de type LCI et LCS. n Cas de l'utilisation d'une BFC LCS dans une BFU (boîte fonctionnelle utilisateur) : Le paramètre ACT d'une BFC LCS utilisée dans une BFU doit être un paramètre de sortie et obligatoirement renseigné. TEM60000F E.16 programmation du port série programmable Compatibilité ß Logiciel ORPHEE ≥ 5.0 Logiciel carte ≥ 7 Une BFC LCS utilisée sur une carte dont la version logicielle n'est pas à jour reste bloquée (ACT à 1). Dans ce cas aucune autre BFC LCI ou LCS ne pourra être émise. Comportement d'une BFC LCS Cas 1 : EN est géré comme un front et il n'y a pas d'erreur sur la communication. Cycle CPU EN ACT ERR WERR = 0 Cas 2 : EN est géré comme un front et il y a une erreur sur la communication. Cycle CPU EN ACT ERR WERR contient le mot d'erreur. Cas 3 : Mauvaise programmation, EN reste validé. Cycle CPU EN ACT ERR WERR contient le message "BFC déjà en cours". n ERR et WERR restent positionnés tant que ces variables n'ont pas été remises à 0 ou tant que la BFC n'a pas été validée à nouveau : RAZ de ERR et WERR, ACT monte à 1. TEM60000F E.17 programmation du port série programmable SSEND 2.2. Emission : BFC SSEND Le dialogue sans protocole permet l'émission d'informations de type table de mots ou chaîne de caractères depuis une voie du module. L'émission peut être programmée en utilisant la boîte fonctionnelle à lancement et contrôle séparé SSEND (déroulement sur le coupleur indépendant du mode cyclique ou fond). La BFC SSTOP peut être utilisée pour annuler la communication. A un instant donné, il ne peut y avoir qu'une seule BFC SSEND active. Pour l'utilisation de plusieurs BFC SSEND, il faut une gestion appropriée des variables de validation EN. 2.2.1. Description des paramètres ADDR indique l'adresse d'implantation du message. LENG permet de préciser la longueur du message à émettre (dans le cas où l'on ne souhaite émettre qu'une partie de la table située à l'adresse ADDR). BRK précise les caractéristiques de début et de fin de message (Ajout de Break en début et / ou en fin de message). CHAN identifie l'adresse du coupleur qui sera chargé d'effectuer l'émission. Variable binaire ou réseau de contacts de validation de la boîte (Obligatoire) Appellation utilisateur (8 caractères maximum) Variable binaire signalant l'activité de la boîte (Obligatoire) SSEND -------N° du coupleur devant effectuer l'émission (constante numérique ou mot simple %MWn) (Obligatoire) Adresse d'origine du message (table de mots ou chaîne de caractères) (Obligatoire) m TEM60000F EN CHAN ADDR ACT ERR WERR LENG BRK Spécifie le nombre de variables (ou caractères) à émettre s'il s'agit d'une émission partielle d'une table (constante numérique ou mot simple %MWn) Variable binaire signalant un défaut lors de l'exécution de l'émission Mot contenant le code du défaut signalé par ERR (%MWn) Précise la position des BREAK éventuels (début et fin messages) (Obligatoire) n Remarque : Les paramètres internes CHAN, LENG, BRK et ADDR sont accessibles en visualisation dynamique. E.18 programmation du port série programmable SSEND Utilisation des paramètres L'adresse du coupleur chargé de l'émission est codée sous la forme suivante : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal ADDR : Ce paramètre indique l'adresse de début du message dans la mémoire sous la forme suivante : %MWn() pour une table de mots de 16 bits, %MDn() pour une table de mots de 32 bits, %FDn() pour une table de réels, %CHn() pour une chaîne de caractères. ! LENG : Ce paramètre ne doit être renseigné que dans le cas où l'utilisateur ne souhaite émettre qu'une partie du message stocké à l'adresse ADDR. Si le message à émettre est une chaîne de caractères, LENG donne le nombre d'octets à émettre. Remarque LENG peut être impair. Il est ainsi possible d'envoyer un nombre impair de caractères (voire un seul). Si le message est une table de valeurs numériques, LENG précise le nombre de mots à émettre (mots de 16 ou 32 bits selon le type de la table). LENG doit dans tous les cas être inférieur à la longueur totale de la table. Dans le cas contraire, une erreur est signalée par ERR et WERR. BRK : Ce paramètre offre à l'utilisateur la possibilité d'insérer des caractères BREAK en début et / ou en fin de message : BRK = IMM : le message est émis sans aucune adjonction BRK = STR : Un BREAK est ajouté en début de message BRK = END : Un BREAK est ajouté en fin de message BRK = S + E : Un BREAK est ajouté en début et en fin de message. - Dans le cas ou BRK = STR ou S+E, les octets sont émis immédiatement après le BREAK (Il n'y a pas de "trou"). m TEM60000F - Lorsque le dernier octet est émis, le BREAK de fin (BRK = END ou S+E) est émis quel que soit l'état de CTS. EN : Validation de la BFC, créer une impulsion sur EN. n ACT : Ce paramètre est obligatoire, il permet de détecter l'activité et éviter la relance de la même BFC ; il est recommandé de le renseigner avec des bits %QX ou %MX de façon à ce qu'ils soient automatiquement réinitialisés à 0 par une mise sous tension ou un passage en RUN. E.19 programmation du port série programmable SSEND 2.2.2. Fonctionnement Une émission est déclenchée sur niveau 1 de la variable EN. Il suffit que EN soit vu sur un cycle CPU, la variable ACT est mise à 1 tout de suite après la validation si le coupleur est disponible. Cycle CPU EN Transaction ...................... Transaction ...................... ACT Transaction ERR ERR est positionné si une erreur est détectée pendant l'échange ERR est systématiquement remis à 0 en début d'exécution ACT ne retombe à 0 qu'une fois la transaction terminée La variable ACT monte tout de suite après la validation, si le coupleur est disponible. Le coupleur est occupé : • en émission lorsqu'une boîte SSEND (BFC LCS) est active, ou lorsqu'une boîte SEND (BFC LCI) est active, • en réception lorsqu'une boîte SRECEIVE (BFC LCS) est active, ou lorsqu'une boîte RECEIVE (BFC LCI) est active. Le coupleur peut fonctionner en full duplex (1 boîte SSEND et une boîte SRECEIVE actives simultanément). La retombée de EN n'a aucun effet. ERR et WERR sont mis à 0 au déclenchement de la BFC. Ils sont mis à jour par le coupleur en fin d'émission. ACT est remis à 0 par le coupleur en fin de transaction (sur la liaison série plus la liaison Unité centrale / coupleur de communication). ! TEM60000F Cas particulier Retombée du signal DSR ("ouvert") durant : - l'émission du BREAK de début → à la fermeture de DSR, reprise au début du BREAK - l'attente de CTS → à la fermeture de DSR, réarmement du time-out - l'émission du BREAK de fin → le BREAK est avorté et l'émission est considérée comme terminée - l'émission de la trame utile → l'émission est suspendue et un WARNING est positionné n Remarque En cas d'émission de plus de 256 octets, les informations sont prélevées en mémoire commune par paquets de 256 octets. Il peut s'en suivre des interruptions de l'émission sur la ligne (attente de disponibilité des informations à émettre). E.20 programmation SRECEIVE du port série programmable 2.3. Réception : BFC SRECEIVE Le port série programmable permet de recevoir des informations de type numérique ou chaîne de caractères depuis une voie du module. La programmation du PSP permet de préciser les caractéristiques de début et de fin de message. La réception peut être programmée en utilisant la boîte fonctionnelle à lancement et contrôle séparé SRECEIVE (déroulement sur le coupleur indépendant du mode cyclique ou fond). La BFC SSTOP peut être utilisée pour annuler la communication. A un instant donné, il ne peut y avoir qu'une seule BFC SRECEIVE active. Pour l'utilisation de plusieurs BFC SRECEIVE, il faut une gestion appropriée des variables de validation EN. 2.3.1. Description des paramètres ADDR indique l'adresse de début de la table de stockage du message dans la mémoire. CHAN identifie l'adresse du coupleur qui sera chargé de recevoir le message. STRT, SCOD, END et ECOD permettent de spécifier le type et les caractères de début et de fin de message. NBCH permet de connaître le nombre de caractères transférés en mémoire commune. SCOD (f) : Code début de message Type : cf. ci-après Appelation utilisateur (8 caractères maximum) Variable binaire ou réseau de contacts de validation de la boîte (Obligatoire) N° du coupleur recevant la table type : constante numérique ou mot simple (%MWn) (Obligatoire) Adresse de rangement du message dans la mémoire Type : %MWn( ), %MDn( ), %FDn( ) ou %CHn( ) (Obligatoire) Mot contenant le code du défaut signalé par ERR Type : mot simple (%MWn) m TEM60000F SRECEIVE * Variable binaire signalant l'activité de la boîte (Obligatoire) STRT : Type du délimiteur début de message (Obligatoire) Type : libellé (cf. ci-après) Paramètres cachés de la BF SRECEIVE STRT EN ACT CHAN SCOD Variable binaire signalant un défaut lors de l'exécution de la commande END ECOD NBCH ERR ADDR WERR END : Type du délimiteur fin de message Type : libellé (cf. ci-après) (Obligatoire) ECOD (f) : Code fin de message Type : cf. ci-après ANNULER OK NBCH : Nombre de variables reçues Type : (%MWn) (Obligatoire) n Remarque : Les paramètres internes CHAN et ADDR sont accessibles en visualisation dynamique. E.21 programmation du port sérieSRECEIVE programmable Utilisation des paramètres L'adresse du coupleur chargé de recevoir le message est codée sous la forme suivante : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal ADDR : Ce paramètre indique l'adresse de début de la table de stockage du message dans la mémoire sous la forme suivante : %MWn( ) pour une table de mots de 16 bits, %MDn( ) pour une table de mots de 32 bits, %FDn( ) pour une table de réels, %CHn( ) pour une chaîne de caractères. EN : Validation de la BFC, créer une impulsion sur EN. ACT : Ce paramètre est obligatoire, il permet de détecter l'activité et éviter la relance de la même BFC ; il est recommandé de le renseigner avec des bits %QX ou %MX de façon à ce qu'ils soient automatiquement réinitialisés à 0 par une mise sous tension ou un passage en RUN. STRT, SCOD, END, ECOD : Ces paramètres spécifient le type et les caractères de début et de fin de message. Caractérisation début de message : Nature du message à recevoir Type de début message ( STRT ) Type d'adresse Commentaires correspondant pour SCOD chaîne de caractères %CHn( ) IMM BRK COD ----------%MWn début de réception immédiat attente détection BREAK attente détection 1 ou 2 caractères (spécifiés dans SCOD (1)) table num. %MWn( ) IMM BRK COD --------%MWm %MDn( ) COD %MDm %FDn( ) COD %FDm début de réception immédiat attente détection BREAK attente détection 1 mot (2) (spécifié dans SCOD) attente détection 1 mot double (2) (spécifié dans SCOD) attente détection 1 réel (2) (spécifié dans SCOD) (1) : si attente d'un seul caractère, mettre l'octet de poids fort à FF (–256) (2) : ce mot n'est pas transmis TEM60000F n E.22 programmation SRECEIVE du port série programmable Caractérisation fin de message : Nature du message à recevoir Type de fin message ( END ) Type d'adresse correspondant pour ECOD Commentaires chaîne de caractères %CHn( ) BRK LNG LNG fin sur détection BREAK fin selon longueur chaîne fin sur réception de LNG caractères COD ----------Constante ou mot simple (%MW) %MWn %MWn( ) BRK LNG LNG COD --------Constante %MWm %MDn( ) COD %MDm %FDn( ) COD %FDm table num. x fin sur reconnaissance 1 ou 2 car. (car. spécifiés dans ECOD) (1) fin sur détection BREAK fin selon longueur table fin sur réception de LNG mots fin sur reconnaissance 1 mot (2) (spécifié dans ECOD) fin sur reconnaissance 1 mot (2) double (spécifié dans ECOD). fin sur reconnaissance 1 réel (2) (spécifié dans ECOD) (1) : si attente d'un seul caractère, mettre l'octet de poids fort à FF (–256) (2) : ce mot n'est pas transmis Exemples : - attente de réception d'une chaîne de caractères caractérisée par un break en début de chaîne, de longueur constante et égale à la longueur de la chaîne spécifiée pour recevoir le message. Paramétrer la boîte SRECEIVE comme suit : STRT = BRK END = LNG SCOD = non renseigné ECOD = non renseigné - attente d'une table de valeurs numériques 16 bits caractérisée par la valeur 00 en début et en fin de chaîne. Paramétrer la boîte SRECEIVE comme suit : STYP = COD ETYP = COD SCOD = %MWn (le mot %MWn contenant 00) ECOD = %MWn (le mot %MWn contenant 00) - arrêt sur CR (retour chariot : code 13 en décimal ou 16#0D en hexadécimal) SCOD = %MW1000 = – 256 +13 = – 243 ou 16#FF0D Nota : Le nombre maxi de caractères ou d'octets est de 1024. TEM60000F n E.23 programmation du port sérieSRECEIVE programmable 2.3.2. Fonctionnement Le coupleur se met en attente de réception sur niveau 1 de la variable EN ; il suffit que EN soit vu sur un cycle CPU, la variable ACT est mise à 1 tout de suite après la validation si le coupleur est disponible. Cycle CPU Transaction ...................... ACT Transaction ...................... EN Transaction ERR ERR est positionné si une erreur est détectée pendant l'échange ERR est systématiquement remis à 0 en début d'exécution ACT ne retombe à 0 qu'une fois la transaction terminée La variable ACT monte tout de suite après la validation, si le coupleur est disponible. Le coupleur est occupé : • en émission lorsqu'une boîte SSEND (BFC LCS) est active, ou lorsqu'une boîte SEND (BFC LCI) est active, • en réception lorsqu'une boîte SRECEIVE (BFC LCS) est active, ou lorsqu'une boîte RECEIVE (BFC LCI) est active. Le coupleur peut fonctionner en full duplex (1 boîte SSEND et une boîte SRECEIVE actives simultanément). La retombée de EN n'a aucun effet. ERR et WERR sont mis à 0 au déclenchement de la BFC. Ils sont mis à jour par le coupleur en fin d'émission. ACT est remis à 0 par le coupleur en fin de transaction (sur la liaison série plus la liaison Unité centrale / coupleur de communication). La variable NBCH permet de connaître le nombre de caractères transférés en mémoire commune. Elle est mise à jour à chaque transfert vers la mémoire soit : - tous les 244 caractères en cas d'attente d'un nombre de caractères > 244, - lorsque la fin de message est détectée et que le message est transmis en mémoire commune, - lorsque la BFC est annuléepar une BFC SSTOP avant que la fin de message soit détectée, - lorsqu'un caractère reçu est incorrect (ERR = 1). Dans ce cas les caractères reçus sont transférés (les octets manquants sont positionnés à zéro) et NBCH est mis à jour. n Il est conseillé de remettre à 0 NBCH par programme ou par forçage, afin de comptabiliser le nombre d'octets reçus. TEM60000F E.24 programmation SRECEIVE du port série programmable Il est également possible de connaître à tout instant le nombre de caractères reçus par le coupleur en lisant les bits d'entrée qui lui sont affectés soit : de % IX… 0 à % IX… 7 pour la voie 0, de % IX… 8 à % IX… 15 pour la voie 1, ou bien le mot %IWn correspondant à l'emplacement de la carte. ! x Ce compteur contient le nombre d'octets reçus. C'est un compteur modulo 256. Il est remis à zéro à la validation de la BFC et à la retombée de ACT. Il ne comptabilise pas les break, ni les caractères erronés ni les caractères reçus avant qu'une séquence de début soit reconnue (ni la séquence de début). Exemple séquence de début séquence de fin caractères reçus 1 - 2 - 3 - 4 - 5 ....................................45 - 46 - 47 - 48 - 49 - 50 compteur 0 - 0 - 0 - 0 - 1 ....................................41 - 42 - 43 - 0 - 0 - 0 ! fin d'exécution de la BFC Remarques - Les délimiteurs ne sont pas transférés en mémoire commune. - Si une variable reçue est incorrecte, l'attente est interrompue et les N variables sont transférées en mémoire commune (la dernière variable pouvant être incohérente). - De même, si un BREAK est reçu "mal cadré" (la dernière variable reçue est tronquée), les variables déjà reçues sont transférées en mémoire commune et une erreur est positionnée, signalant que la dernière variable est incohérente. - En cas d'attente de caractères, il est possible en paramétrant END = LENG de spécifier le nombre de caractères à recevoir. Ceci permet notamment de recevoir un nombre impair de caractères (éventuellement un seul caractère). TEM60000F n E.25 programmation du port série programmable SSTOP 2.4. Arrêt de communication JBUS et PSP : BFC SSTOP Dans les BFC LCI l'arrêt de la communication est géré automatiquement sur front descendant du paramètre d'entrée EN lors du passage cyclique. Les BFC LCS lancent la communication dans une entité quelconque indépendamment du passage cyclique. C'est la BFC SSTOP qui permet l'annulation des BFC LCS en fournissant en entrée de la BFC SSTOP l'identificateur de la communication à arrêter. ! N.B. : La BFC SSTOP ne doit pas être utilisée pour stopper les BFC LCI mais uniquement pour les BFC LCS. 2.4.1. Description des paramètres CHAN identifie l'adresse du coupleur chargé de la communication à stopper. ID est l'identificateur de la communication à stopper. Variable binaire ou réseau de contacts de validation de la boîte (Obligatoire) Appellation utilisateur (8 caractères maximum) Variable binaire signalant l'activité de la boîte (Obligatoire) SSTOP -------N° du coupleur chargé de la communication à stopper (constante numérique ou mot simple %MWn) (Obligatoire) m TEM60000F Identificateur de la communication (constante numérique ou mot simple %MWn) (Obligatoire) EN CHAN ID ACT ERR Variable binaire signalant un défaut lors de l'exécution de la boîte WERR Mot contenant le code du défaut signalé par ERR (%MWn) Code début de message (type cf. ci-après) Code de fin de message (type cf. ci-après) Remarque : Les paramètres internes CHAN et ID sont accessibles en visualisation dynamique. n E.26 programmation du port série programmable SSTOP Utilisation des paramètres L'adresse du coupleur chargé de la communication à stopper est codée sous la forme suivante : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal ID : Ce paramètre est l'identificateur de la communication à stopper parmi les communications gérées simultanément par la voie du coupleur désignée par CHAN. ID est une constante ou une variable affectée avec une valeur d'identification : 2 3 SRECEIVE SSEND PSP PSP EN : Validation de la BFC, créer une impulsion sur EN. ACT : Ce paramètre est obligatoire, il permet de détecter l'activité et éviter la relance de la même BFC ; il est recommandé de le renseigner avec des bits %QX ou %MX de façon à ce qu'ils soient automatiquement réinitialisés à 0 par une mise sous tension ou un passage en RUN. TEM60000F n E.27 programmation du port série programmable SSTOP 2.4.2. Fonctionnement Un arrêt de communication est déclenché sur EN = 1. Cycle CPU EN (BFC à stopper) ACT (BFC à stopper) ERR (BFC à stopper) EN (BFC SSTOP) ACT (BFC SSTOP) ERR est positionné si une erreur est détectée pendant l'échange m Pour que la BFC SSTOP annule la BFC SSEND en cours, EN est mis à 1, la variable ACT de la BFC SSTOP passe à 1 (la BFC à stopper est identifiée par le paramètre ID), les ACT des BFC sont mis à 0 en même temps par le coupleur. Remarque : En cas d'utilisation simultannée de BFC LCI et LCS, pour s'assurer que la BFC SSTOP arrête la BFC LCS et non pas la LCI, il est judicieux de mettre la variable ACT de la BFC à annuler dans l'équation de validation de la BFC SSTOP. SSEND ENSTOP TEM60000F ERR est systématiquement remis à 0 en début d'exécution ACTS SSTOP ACTS n E.28 programmation du port série programmable 2.5. Exemples d'utilisation de la BFC SSTOP © 2.5.1. Arrêt d'une émission de données P S U a - Emission par la BFC SSEND La BFC est validée par la variable VAL. L'activité de la boîte est positionnée en sortie par la variable ENCOURS1. Une erreur détectée sera indiquée dans ERR1 et le code d'erreur dans WERR1 SSEND -------- VAL EN CHAN CHAN 11 0 ADDR ENCOURS1 ACT ERR1 ERR LENG WERR1 BRK WERR - EN doit être vu à 1 au cours d'un cycle automate. - Si EN = 1, ACT = 0 et le coupleur est disponible, la BFC SSEND est relancée. Cycle CPU VAL ENCOURS1 transaction TEM60000F transaction transaction n E.29 programmation du port série programmable b - Arrêt de l'émission par la BFC SSTOP La BFC est validée par la variable VALSTOP. L'activité de la boîte est positionnée en sortie par la variable ACTSTOP. Les paramètres ERR2 et le code d'erreur WERR2 sont renseignés. SSTOP -------- VALSTOP EN CHAN11 CHAN ACTSTOP ACT ERR2 ID ERR 3 WERR2 WERR - Dès que EN = 1, ACT passe à 1 au premier cycle CPU si la BFC à stopper est en cours d'exécution. - La communication pourra reprendre lorsque le ACT de la BFC SSTOP et le ACT de la BFC SSEND seront tous deux à 0 et que le EN de la BFC SSTOP sera dévalidé. Cycle CPU VALSTOP ACTSTOP VAL ENCOURS1 transaction TEM60000F transmission sur la ligne série interrompue n E.30 programmation du port série programmable 2.5.2. Arrêt de plusieurs émissions ou réceptions L'utilisateur souhaite gérer l'arrêt de l'émission et de la réception sur la voie 0 et la voie 1 d'un coupleur. Il exploite pour cela 1 BFC SSEND et 1 BFC SRECEIVE pour chacune des 2 voies. SSEND -------- VALS0 EN ACTS0 CHAN 0 CHAN 10 ADDR ACT Emission voie 0 ERR LENG WERR BRK SSEND -------- VALS1 EN ACTS1 ACT CHAN 11 1 CHAN ADDR Emission voie 1 ERR LENG WERR BRK SSTOP -------ACTSTOP VALSTOP EN SRECEIVE ........ VALR0 EN * CHANS IDS ACTR0 ACT ERR WERR ACT CHAN 10 0 Réception voie 0 ERR ADDR WERR COPY -------- SRECEIVE ........ VALR1 EN EN * OK N° coupleur ACTR1 a ACT RESU CHANS CHAN 11 1 ERR ADDR WERR Réception voie 1 COPY -------EN BFC à stopper OK IDS a RESU La BFC COPY permet de renseigner la BFC SSTOP sur la voie et sur la communication à stopper. La BFC SSTOP anulera la BFC SSEND en renseignant CHAN et ID avec les valeurs désirée. RAPPEL : une seule BFC SSEND peut être active en même temps. Si on annule par une BFC SSTOP, une BFC qui n'existe pas ou qui vient de se terminer, WERR indique qu'il n'y a pas de BFC correspondante à l'ID. TEM60000F n E.31 programmation du port série programmable 2.5.3. Conseil en programmation Contrairement aux BFC LCI, si deux BFC LCS sont validées en permanence, la deuxième BFC de même type ne sera jamais exécutée, car la première monopolise le coupleur. EN1 = 1 BFC 1 EN2 = 1 BFC 2 Cas d'une BFC LCS validée en permanence : - si la BFC LCS est située avant la BFC LCI (de même type) dans la programmation, alors la BFC LCI ne sera jamais exécutée (ACT = 1 et WARNING = – 1 indiquant que le coupleur est occupé par la BFC LCI) ; - si une BFC LCS est validée en permanence dans le combinatoire cyclique, la BFC LCS de même type ne sera jamais exécutée dans le combinatoire de fond (ACT = 0 et ERR = 1, WERR = 101). Ces problèmes sont inexistants pour les cas suivants : - BFC LCI dans le combinatoire cyclique - BFC LCS dans le combinatoire de fond TEM60000F n E.32 programmation du port série programmable 2.6. Exemple d'utilisation de BFC LCS 2.6.1. Introduction Cette application n'est qu'un exemple non exhaustif de programmation de BFC LCS. 2.6.2. Identification de l'application Ce programme permet le dialogue entre un APRIL5000 muni d'un coupleur JBU0250 à l'emplacement 1 et un terminal ASCII écran clavier (utilisation en mode PSP des BFC LCS : SSEND et SRECEIVE). Au passage de l'automate en mode RUN, le message "Entrez votre nom" s'affiche à l'écran. L'utilisateur frappe son nom au clavier, suivi de "return". Il y a alors envoi à l'écran par le coupleur du message "Bonjour" suivi du nom saisi au clavier. Si le nom saisi dépasse 19 caractères, le coupleur envoie à l'écran le message "Erreur !". Pour exécuter à nouveau ce programme, l'utilisateur doit mettre à un le bit START (%MX0). 2.6.3. Configuration APRIL5000 RACK STANDARD SR 0 0 APRIL5000 ALIM P S U 0 1 5 0 0 1 C P U 5 1 2 . J B U 0 2 5 0 2 3 4 5 6 7 8 9 © Terminal ASCII TEM60000F n E.33 programmation du port série programmable TEM60000F n E.34 programmation du port série programmable TEM60000F n E.35 programmation du port série programmable TEM60000F n E.36 programmation du port série programmable TEM60000F n E.37 programmation du port série programmable TEM60000F n E.38 programmation du port série programmable TEM60000F n E.39 programmation du port série programmable TEM60000F n E.40 programmation du port série programmable TEM60000F n E.41 programmation du port série programmable TEM60000F n E.42 programmation du port série programmable TEM60000F n E.43 programmation du port série programmable TEM60000F n E.44 programmation du port série programmable TEM60000F n E.45 programmation du port série programmable TEM60000F n E.46 programmation du port série programmable TEM60000F n E.47 programmation du port série programmable TEM60000F n E.48 programmation du port série programmable TEM60000F n E.49 programmation du port série programmable 3. Fonction d'accès aux variables 3.1. Présentation La fonction d'accès aux variables permet de lire, d'écrire ou de surveiller des variables de l'automate à partir d'un terminal standard ou télétype muni d'une liaison RS232 C, RS485, ou boucle de courant. Tous les types de variables du langage ORPHEE sont accessibles : bits et mots d'entrée / sortie, bits et mots internes, tables et éléments de table, variables Grafcet, chaînes de caractères,… Les variables sont sélectionnées : - unitairement, - sous forme d'une suite de variables consécutives, - sous forme d'une liste de variables quelconques. La plupart d'entre elles peuvent être lues ou écrites dans différentes bases numériques au choix de l'utilisateur (binaire, octal, décimal ou hexadécimal). Il s'agit d'un dialogue simple, ligne à ligne, de type question-réponse. La fonction est activée, à la demande de l'exploitant, sur une voie configurée en PSP en utilisant la BFC MOD_COM. Ainsi la fonction peut être utilisée de façon temporaire (en phase de mise au point ou de réglage par exemple) sur une voie d'un coupleur normalement utilisée en PSP. La fonction d'accès aux variables étant activée ou désactivée par l'intermédiaire d'une BFC, son état ne peut être modifié lorsque l'automate est en STOP. En revanche, si elle a été activée (en mode RUN), elle peut être exploitée que l'automate soit en STOP ou en RUN. La fonction étant accessible par l'intermédiaire d'un coupleur JBUS / PSP, peut être proposée dans n'importe quel rack déporté de la configuration. 3.2. Compatibilité La fonction d'accès aux variables est disponible à partir de la version 5 du coupleur JBUS / PSP (N° de version lisible à l'intérieur du compartiment de câblage). Elle nécessite de disposer d'une version d'ORPHEE supérieure ou égale à 4.1. La fonction d'accès aux variables est disponible sur tout type de terminal muni d'une liaison série. Toutefois, pour des raisons évidentes de confort d'utilisation, il est souhaitable de disposer d'un écran permettant d'afficher des lignes de 50 caractères minimum. Elle est disponible uniquement sur la voie 0 du coupleur. TEM60000F n E.50 programmation du port série programmable 3.3. Mise en œuvre ! La fonction d'accès aux variables est activée en utilisant la BFC MOD_COM pour modifier le paramétrage de la voie 0 du coupleur JBUS / PSP concerné. Cette voie doit obligatoirement être préalablement paramétrée en PSP. Les paramètres à renseigner obligatoirement sont : - CHAN qui donne l'adresse du coupleur concerné, - SOFT qui doit être égal à quatre pour sélectionner la fonction accès aux variables. Les autres paramètres à modifier éventuellement sont la vitesse (BAUD) et le format (FORM). Les paramètres DLAY, ICT, NUM et REP ne sont pas concernés. MOD_COM %IX100 EN FAVOK ACT ERR ERR WERR CODERR Paramètres cachés de la BFC MOD_COM CHAN SOFT BAUD FORM DLAY ICT NUM REP ANNULER XXX0 4 9 2 OK Dans l'exemple simplifié ci-dessus, c'est directement une entrée de l'API (%IX100) qui commande la BFC. Cet exemple ne tient pas compte des contrôles éventuels de disponibilité du coupleur,… Se reporter au chapitre C pour de plus amples informations sur la BFC MOD_COM. A l'activation de la BFC (EN = 1), la voie est reconfigurée (sous réserve que le coupleur ne soit pas déja occupé). A l'issue de la reconfiguration, le terminal affiche le message ci-dessous et se met en attente des commandes (affichage de >>). APRIL DATA MONITOR >> TEM60000F OK n E.51 programmation du port série programmable 3.4. Exploitation 3.4.1. Généralités - Validation d'une commande : touche ! - Annulation d'une commande : touches r e ou c + C - Les variables automates sont accessibles uniquement par leur nom constructeur. La fonction d’accès aux variables ne réalise pas de contrôle de cohérence d’adressage par rapport aux zones mots simples, mots doubles, réels et chaînes de caractères définies dans l’entité déclaration d’ORPHEE (en fonction de la configuration). C’est à l’utilisateur de s’assurer du type de la variable à laquelle il accède. - Le caractère «%» est facultatif. - Aucun «blanc» dans la syntaxe des commandes. - Les erreurs de syntaxe, les erreurs d'adressage, les valeurs interdites (en écriture) sont indiquées par le message : ?ERR >> 3.4.2. Variables accessibles ■ entrées / sorties : %IX, %QX, %IW, %ID, %QW, %QD, ■ bits internes, bit d'une table, bit d'un mot : %MX, %RX, %MXn(m), %RXn(m), %MWn:Xm, %MDn:Xm, ■ mots simples, doubles, réels, simples ou éléments de table : %MW, %MD, %FD, %MWn(m), %MDn(m), %FDn(m), ■ chaînes de caractères : %CH, ■ variables associées au GRAFCET : %GMn:Xm, %GEn:Xm, %XEn:Xm, %GMn:MIN, %GMn:MAX, %GMn:NUM, %GEn:MIN, %GEn:MAX, %GEn:NUM, %XEn:MIN, %XEn:MAX, %XEn:NUM, %GMn:ACT, %GMn:INA, %GMn:GAC, %GMn:GIN, %GEn:ACT, %GEn:INA, %GEn:GAC, %GEn:GIN, n Toutes les variables ci-dessus sont accessibles en lecture et en surveillance. En revanche, seuls les bits internes, bits d'une table, bits d'un mot, mots simples, doubles, réels, simples ou éléments d'une table et les chaînes de caractères sont accessibles en écriture. TEM60000F E.52 programmation du port série programmable Le tableau ci-dessous indique pour chaque type de variable : - la base numérique par défaut (en gras), - les bases numériques utilisables en lecture seule (entre parenthèses), - les bases numériques utilisables en lecture / écriture (caractères standard). %IX %QX %IW %ID %QW %QD 2 2 2,8, 10, 16 2,8, 10, 16 2,8, 10, 16 2,8, 10, 16 %MX %RX %MXn(m) %RXn(m) %MWn:Xm %MDn:Xm 2 2 2 2 2 2 %MW %MD %FD %MWn(m) %MDn(m) %FDn(m) (2),8, 10, 16 (2),8, 10, 16 10 (2),8, 10, 16 (2),8, 10, 16 10 %CH %GMn:Xm %GEn:Xm %XEn:Xm, %GMn:MIN %GMn:MAX %GMn:NUM, %GEn:MIN %GEn:MAX %GEn:NUM, %XEn:MIN %XEn:MAX %XEn:NUM, %GMn:ACT %GMn:INA %GMn:GAC %GMn:GIN, %GEn:ACT %GEn:INA %GEn:GAC %GEn:GIN, TEM60000F 2 2 2 2 2 10 2 2 10 2 2 10 2 2 2 2 2 2 2 2 n E.53 programmation du port série programmable 3.4.3. Lecture Toute commande de lecture commence par : R/ suivi de l'adresse de la variable à lire et éventuellement des options détaillées ci-après. La réponse est donnée sur la ligne suivante. Exemple : - commande : >>R/MW10 - réponse : >>R/MW10 %MW10 = 35 >> Le symbole >>, à la ligne suivant la réponse, indique que la fonction est en attente d'une nouvelle commande. A la saisie, les caractères majuscules et minuscules sont équivalents, le «%» est facultatif : les commandes >>R/MW10 >>r/mw10 >>R/%mw10 sont équivalentes. ■ Lecture de plusieurs variables consécutives Il est possible de lire jusqu'à 30 variables consécutives en une seule commande (notion de plage de variables). La syntaxe est alors : R/<nom première variable> - <rang dernière variable> Cette syntaxe s'applique aux variables %MX, %RX, %MW, %MD, %FD. Exemple : - commande : >>R/MW10-12 - réponse : >>R/MW10-12 %MW10 = 35 %MW11 = 1 %MW12 = -722 >> TEM60000F n E.54 programmation du port série programmable ■ Lecture de plusieurs variables non consécutives Il est possible de lire jusqu'à 30 variables non consécutives, de nature éventuellement différentes, en une seule commande (notion de liste). La syntaxe est alors : R/<nom première variable> , <nom deuxième variable> ,… - La « , » (virgule) est le seul séparateur autorisé. - Il est possible d'insérer une plage de variables comme élément d'une liste. - Une seule chaîne de caractères par liste. Exemples : - commande : >>R/MW10,MD5000,MX100,FD6004,CH29000(0..9) - réponse : >>R/MW10,MD5000,MX100,FD6004,CH29000(0..9) %MW10 = 35 %MD5000 = 16 %MX100 = 1 %FD6004 = -17.333 %CH29000(0..9) = "ABCDEFGH$0D$0A" >> - commande : >>R/MW10,MD5000-5004,MX100 - réponse : >>R/MW10,MD5000-5004,MX100 %MW10 = 35 %MD5000 = 16 %MD5002 = 367489 %MD5004 = 0 %MX100 = 1 >> TEM60000F n E.55 programmation du port série programmable ■ Affectation d'une base numérique Les résultats de la lecture sont exprimé dans une base numérique par défaut (base 2 pour les bits, base 10 pour les mots, base 16 pour les mots d'entrée/sortie). Si l'utilisateur souhaite visualiser le résultat dans une base différente, il peut le faire en utilisant la syntaxe suivante : >>R/2#<nom de variable> >>R/8#<nom de variable> >>R/10#<nom de variable> >>R/16#<nom de variable> pour lire en binaire (base 2) pour lire en octal (base 8) pour lire en décimal (base 10) pour lire en hexadécimal (base 16) Il est possible de définir une base pour les éléments d'une plage ou d'une liste. Exemples : - commande : >>R/16#MW10 - réponse : >>R/16#MW10 %MW10 = 16#0023 >> - commande : >>R/16#MW10-12 - réponse : >>R/16#MW10-12 %MW10 = 16#0023 %MW11 = 16#0001 %MW12 = 16#FD2E >> - commande : >>R/MW10,MD5000-5004,MX100,2#MD5000,FD6004 - réponse : >>R/MW10,MD5000-5004,MX100,2#MD5000,FD6004 %MW10 = 35 %MD5000 = 16 %MD5002 = 367489 %MD5004 = 0 %MX100 = 1 %MD5000 = 2#0000 0000 0000 0000 0000 0000 0000 0001 %FD6004 = -17.333 >> TEM60000F n E.56 programmation du port série programmable 3.4.4. Ecriture Une commande d'écriture se compose de l'adresse de la variable à lire, suivie par le signe « = » et la valeur à écrire. La valeur à écrire peut être dans une base différente de la valeur par défaut. Une commande d'écriture porte sur une seule variable. Les types de variables acceptés en écriture sont les suivants : ■ bits internes, bit d'une table, bit d'un mot : %MX, %RX, %MXn(m), %RXn(m), %MWn:Xm, %MDn:Xm, ■ mots simples, doubles, réels, simples ou éléments de table : %MW, %MD, %FD, %MWn(m), %MDn(m), %FDn(m), ■ chaînes de caractères : %CH, Exemple : - commande : >>MW10 = 0 - réponse : ! >>MW10 = 0 %MW10 = 0 >> Nota : A l'issue de l'écriture, une relecture de la variable dans la mémoire est effectuée et le résultat est affiché. La relecture ayant lieu au minimum un cycle U.C. après l'écriture, il est possible que la valeur relue diffère de la valeur écrite si le programme a modifié cette variable dans l'intervalle. Le symbole >>, à la ligne suivant la réponse, indique que la fonction est en attente d'une nouvelle commande. A la saisie, les caractères majuscules et minuscules sont équivalents, le «%» est facultatif. Contrôles de validité des valeurs selon le type de variable : type %MW : -32768 ≤ valeur ≤ +32767 type %MD : -2147483648 ≤ valeur ≤ +2147483647 type %FD : -1.7 E +38 -1.18 E - 38 0 TEM60000F 1.18 E -38 1.7 E +38 n E.57 programmation du port série programmable ■ Saisie d'une chaîne de caractères - Les caractères doivent être placés entre « " » (guillemets). Exemple : - commande : >>CH29000(0..9)="ABCDEFGH$0D$0A" - réponse : >>CH29000(0..9)="ABCDEFGH$0D$0A" %CH29000(0..9)="ABCDEFGH$0D$0A" >> Remarque : l'opération d'écriture porte sur le nombre de caractères le plus faible entre : - le nombre de caractères défini dans la syntaxe de la chaîne, - le nombre de caractères saisis entre guillemets. ■ Saisie d'un réel : Pour écrire un réel la syntaxe est la suivante : FD<adresse>=<signe><mantisse>.<partie décimale>E<signe><exposant> La partie décimale de la mantisse comprend 6 chiffres au maximum, l'exposant est inférieur ou égal à 38. ■ Affectation d'une base numérique Il est possible de préciser une base numérique différente de la base de données par défaut. La base de données doit alors être précisée avant la valeur. >>MW10=2#<valeur> pour écrire en binaire (base 2) >>MW10=8#<valeur> pour écrire en octal (base 8) >>MW10=10#<valeur> pour écrire en décimal (base 10) >>MW10=16#<valeur> pour écrire en hexadécimal (base 16) le résultat de la relecture de vérification est affiché dans la base par défaut. Exemples : - commande : >>MW10=16#FF - réponse : >>MW10=16#FF %MW10 = 255 >> TEM60000F n E.58 programmation du port série programmable 3.4.5. Surveillance de variables En mode surveillance, la fonction d'accès aux variables permet d'accéder à une ou plusieurs variables (30 maxi.) pour une première lecture suivie d'un affichage à chaque changement d'état d'une variable de la liste. Pour lancer une demande de mise en surveillance, taper simplement l'adresse de la (ou des) variables à surveiller et valider par . la fonction surveillance offre les mêmes options que la lecture, soit : - surveillance d'une plage de variables, - surveillance d'une liste de variables, - sélection d'une base numérique. r Il est possible de suspendre la surveillance en appuyant sur la barre d'espacement du clavier. La reprise ultérieure de la surveillance est obtenue en appuyant à nouveau sur la barre d'espacement. c + C. L'abandon de la fonction est obtenu, à tout moment en appuyant sur e ou sur Exemple : - commande : >>MW10-12 - réponse : >>MW10-12 %MW10 = 35 %MW11 = 1 %MW12 = -722 1 er affichage de la liste %MW10 = 36 la variable MW10 a évolué <PAUSE> suite à une pause, la liste est réaffichée en totalité %MW10 = 38 %MW11 = 0 %MW12 = -722 la variable MW12 a évolué %MW12 = -750 >> après abandon de la fonction, le symbole >> indique l'attente d'une nouvelle commande. A la saisie, les caractères majuscules et minuscules sont équivalents, le «%» est facultatif : les commandes >>MW10 et >>mw10 sont équivalentes. Remarque : Les variables sont scrutées à intervalles réguliers (toutes les 500 ms environ). Un changement d'état d'une variable durant moins que cette période peut être masqué. TEM60000F n F.1 programmation des échanges JBUS F. Programmation des échanges JBUS TEM60000F n F.2 programmation des échanges JBUS TEM60000F n F.3 programmation des échanges JBUS Sommaire Pages TEM60000F 1. Ecriture : BFC WRITE 1.1. Description des paramètres 1.2. Fonctionnement 1.2.1. Ecriture unique 1.2.2. Ecriture répétitive F.5 F.5 F.9 F.9 F.10 2. Lecture : BFC READ 2.1. Description des paramètres 2.2. Fonctionnement 2.2.1. Lecture unique 2.2.2. Lecture répétitive F.11 F.11 F.15 F.15 F.16 3. Lecture des compteurs de diagnostic 3.1. Compteurs de diagnostic du maître 3.2. Compteurs de diagnostic de l'esclave 3.3. Lecture des compteurs F.17 F.17 F.17 F.18 4. Contrôle de l'activité ligne ou du coupleur 4.1. Principe 4.2. Adressage des bits de contrôle 4.3. Utilisation des bits de contrôle par programme F.23 F.23 F.24 F.24 5. Fonctions JBUS supportées par le coupleur F.25 n F.4 programmation des échanges JBUS m ! Les BFCs décrites dans ce paragraphe sont dites de type à lancement et contrôle intégrés (L.C.I.). C'est-à-dire, qu'à chaque fois que la CPU va exécuter une de ces BFCs, elle interprétera un ordre de lancement dès détection d'un front montant de l'entrée EN (si le coupleur est disponible) et gérera tous les indicateurs liés à cette BFC durant les différentes phases d'exécution de cette BFC. La sortie ACT indiquera une activité de la boîte vis à vis du coupleur et les sorties ERR et WERR indiqueront les éventuelles erreurs survenues durant l'échange. Il est par conséquent important que ces BFCs soient scrutées cycliquement lors des échanges pour la mise à jour des différents indicateurs. (utilisation recommandée dans des entités %CC). Si l'entité dans laquelle se trouve la BFC est dévalidée ou si la BFC n'est plus scrutée par la CPU avant que l'indicateur ACT ne repasse à 0 (fin d'activité), le coupleur ne sera pas libéré et aucune autre BFC ne pourra solliciter celui-ci. Le passage STOP > RUN et OFF > ON de la CPU annule tout traitement en cours sur la carte JBUS. TEM60000F n F.5 programmation des échanges JBUS 1. Ecriture : BFC WRITE 1.1. Description des paramètres Le lancement d'une commande d'écriture d'un maître vers un esclave JBUS s'effectue en utilisant la boîte fonctionnelle WRITE : appellation utilisateur EN : variable binaire ou réseau de contacts de validation de la boîte CHAN : adresse du coupleur qui devra effectuer l'émission Type : Constante numérique ou mot simple (%MW) @TYP : type d'adressage dans l'esclave destinataire type : cf. ci-après @MAS : adresse origine du message dans le maître Type : bit, mot ou table FREQ(f) : période de répétition de l'émission Type : constante numérique TOUT : Time-out attente de la réponse de l'esclave exprimée en 1/10° sec (100 ms) Type : constante numérique ou mot simple (% MW) WRITE ACT EN CHAN , SLAV @TYP, @SLA @MAS , LENG FREQ , TOUT ERR WERR ACT : Variable binaire signalant l'activité de la boite SLAV : N° de l'esclave destinataire Type : constante numérique ou mot simple (%MW) @SLA : Adresse de destination du message dans l'esclave Type : constante ou mot (%MW ou %MD) LENG(f) : indique la longueur du message à transmettre Type : Constante numérique ou mot simple (%MW) ERR(f) : Variable binaire signalant un défaut lors de l'exécution de l'émission WERR(f) : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) Le coupleur qui sera chargé de réaliser l'émission est identifié par son adresse CHAN sous la forme : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal m TEM60000F SLAV : Numéro de l'esclave destinataire (au sens du protocole JBUS) Ce paramètre est une constante comprise entre 0 et 255. (Le N° d'esclave 0 correspond à une demande diffusion de l'information à tous les esclaves du réseau). Remarque Il ne faut pas annuler une BFC WRITE en mode diffusion qui est en cours (ACT=1) alors que des BFC répétitives sont actives sur la même voie. Les paramètres internes de cette boîte fonctionnelle sont saisis par l'intermédiaire d'une boîte de dialogue. Pour afficher cette boîte de dialogue, sélectionner la cellule contenant le nom de la BFC puis sélectionner l'option "Paramètres BFC cachés" dans le menu "Accès". N.B. La boîte fonctionnelle WRITE est utilisable dans les entités %CC, %TT et %TG. n F.6 programmation des échanges JBUS @MAS : Ce paramètre identifie l'adresse origine, dans le maître, des informations à émettre. Les types de variables autorisées en émission sont : ■ Les variables bits : %IX, %QX, %MX, %RX, Les variables associées aux graphes : %GMm:Xn, %GMn:ACT, %GMn:INA, %GMn:GIN, %GMn:GAC, %GMn:NUM, %GMn:MIN, %GMn:MAX %GEm:Xn, %GEn:ACT, %GEn:INA, %GEn:GIN, %GEn:GAC, %GEn:NUM, %GEn:MIN, %GEn:MAX %XEm:Xn, %XEn:NUM, %XEn:MIN, %XEn:MAX ■ ■ Les variables mots : %MW, %MD, %FD, ■ Les tables de bits : %MX( ), %RX( ), ■ Les tables de mots : %MW( ), %MD( ), %FD( ), Les chaînes de caractères : %CH( ). Une chaîne de caractères doit comporter un nombre pair de caractères. Une chaîne de longueur impaire est refusée à l'édition. ■ @TYP et @SLA : Précisent le type de l'automate destinataire, le type de variables concernées et l'adresse de rangement dans l'esclave : L'esclave est un APRIL5000 ou un APRIL7000 : l'adresse dans le destinataire est donnée directement sous la forme de son symbolique constructeur . ■ m Les informations seront rangées dans la zone dont le type est précisé par @TYP(doit être cohérent avec le type des données déclarées dans @MAS) : @TYP = MX, RX, QX,MW ,MD, FD,CH. Le numéro de la 1ère variable dans sa zone est indiqué dans @SLA. Remarque : Les adresses de tables sont interdites : donner l'adresse du premier élément de la table. ■ L'esclave est un APRIL PB ou un APRIL SMC. L'adresse doit être donnée sous la forme de l'adresse physique du premier élément. Cette adresse peut être soit décimale (cas d'un APRIL SMC), soit hexadécimale (cas d'un APRIL PB). Le paramètre @TYP n'est pas renseigné. Une adresse décimale est écrite directement dans @SLA, Une adresse hexadécimale est précédée de 16# La trame véhicule toujours une adresse hexadécimale. ex : @SLA contient 500 : La trame véhiculera l'adresse hexadécimale 1F4. @SLA contient 16#500 : La trame véhiculera l'adresse hexadécimale 500. Nota : Si l'esclave n'est pas un automate APRIL, indiquer l'adresse physique comme pour un APRIL PB ou APRIL SMC. TEM60000F n F.7 programmation des échanges JBUS LENG : définit la longueur utile du message en nombre de variables : - de 1 à 1968 pour une écriture de bits (1 à 1000 pour une lecture table de bits), - de 1 à 122 pour une écriture de mots de 16 bits, - de 1 à 61pour une écriture de mots doubles ou de réels, - de 2 à 80 (nombre pair) pour la lecture d’une chaîne de caractères. Si l'origine des informations est une table (%MW( ), %MD( ), %FD( )), la longueur LENG du message est, par défaut, égale à la longueur de la table. Il est alors inutile de renseigner ce paramètre. Si LENG est renseigné et inférieur à la longueur de la table, la boîte écrira les LENG premiéres variables de la table. Si LENG est supérieur à la longueur de la table, une erreur est indiquée par ERR (diagnostic dans WERR). La longueur de la table doit respecter les limitations ci-dessus. FREQ : Permet de définir une période de répétition de la commande. Cette option autorise le rafraichissement d' une zone d'informations dans la mémoire de l'automate esclave sans intervention du programme. le paramètre FREQ est une constante qui contient la valeur de la période de répétition exprimée en 1/10° sec. Il varie de 1 à 100 (la valeur 0 est interdite). Lorsqu'il n'est pas renseigné la commande d'écriture est unique. L'annulation d'une commande répétitive se fait en dévalidant la boîte WRITE correspondante (EN =0). Le nombre maximum de commandes répétitives actives à un instant donné sur une voie d'un coupleur est de 16. Si l'utilisateur demande l'activation d'une 17ème commande répétitive, un message d'erreur est renvoyé (ERR=1, diagnostic dans WERR). 1) La période de réactivation de la BFC répétitive est calculée par rapport à la fin de transaction de la réponse précédente. MAITRE Qn Q n+1 > Temps ESCLAVE Rn < TEM60000F Délai >< > ∆ répétition BFC (FREQ) 2) La précision ∆ de la période de réactivation de la BFC répétitive est fonction de l'horloge interne de la carte JBUS (horloge = 50 ms) et du temps d'accès à la mémoire commune de l'unité centrale. 3) Si plusieurs BFC répétitives sont activées, le coupleur gère au mieux la succession de ces BFC répétitives. n F.8 programmation des échanges JBUS TOUT : Définit la valeur du time-out de réception de la réponse. La valeur de ce paramètre dépend de la vitesse de transmission sur la ligne et du temps mis par l'esclave pour élaborer la réponse. Il doit être suffisament long pour assurer que le maître ait commencé à recevoir la réponse avant que le time-out ne soit écoulé. C'est une constante qui s'exprime en 1/10° sec (valeur max : 100 –> TOUT max : 10 s). Le time-out est au minimum égal à un silence de trois caractères. valeur mini. du time-out 1 2 4 3 m TEM60000F 1 : Elaboration de la demande par le maître 2 & 4 : Temps de transmission sur la ligne 3 : Temps d'élaboration de la réponse par l'esclave Remarque : Les échanges d'informations avec l'unité centrale (lecture ou écriture) sont synchronisés avec le cycle UC pour garantir la cohérence des informations en mode synchrone uniquement (cf. Chap. C). n F.9 programmation des échanges JBUS 1.2. Fonctionnement 1.2.1. Ecriture unique Une commande unique d'écriture est déclenchée sur front montant de EN : instants de scrutation de la boîte par le programme d'application EN ACT transaction ERR si réponse d'exception La variable ACT est positionnée par le coupleur. Elle monte tout de suite après la montée de EN si le coupleur est disponible, après la libération du coupleur dans le cas contraire. Il peut se produire un léger décalage entre la montée de EN et celle de ACT, lié au temps de transfert des informations entre le programme et le coupleur. ! ! TEM60000F Le coupleur est occupé lorsque : – une boîte READ, WRITE ou DIAG en en cours d'exécution coup par coup, – le coupleur est en train d'effectuer le chargement (ou l'annulation) d'une commande répétitive (l'exécution, à la fréquence définie, de la commande répétitive n'est pas considérée comme un cas d'occupation du coupleur). ACT retombe à zéro à la première scrutation suivant la fin de la transaction (sur la liaison série plus la liaison unité centrale / coupleur de communication). En cas d'erreur sur l'échange (réponse d'exception), ERR est positionné. Si l'entité dans laquelle se trouve la BFC est dévalidée avant que ACT ne retombe, le coupleur ne sera pas libéré et aucune autre BFC ne pourrra être émise. Pour prendre en compte une nouvelle commande, EN doit être vu à zéro pendant un cycle automate. La retombée de EN provoque la mise à zéro de ERR, WERR et ACT. Remarque Annulation d'une commande coup par coup en cours d'échange La retombée de EN en cours d'échange ( lorsque ACT = 1) provoque l'arrêt immédiat de la transaction : – Si une trame est en cours d'élaboration ou d'émission par le coupleur, elle est annulée, – Si le maître est en attente d'une réponse, il se libère immédiatement (Dans ce cas, la réponse qui sera renvoyée ultérieurement par l'esclave risque de se télescoper avec une éventuelle nouvelle demande du maître). – Si le coupleur est en train d'effectuer la mise à jour de la mémoire centrale, en revanche, il termine l'opération avant d'abandonner l'échange. Il résulte de ce qui précède que l'annulation d'une commande coup par coup en cours d'échange est déconseillée : Conditionner la retombée de EN par la retombée de ACT. n F.10 programmation des échanges JBUS 1.2.2. Ecriture répétitive instants de scrutation de la boîte par le programme d'application EN ACT transactions FREQ En cas d'erreur sur l'échange (réponse d'exception), ERR et WERR sont positionnés et maintenus pendant un cycle. De ce fait, si l'on souhaite exploiter les informations ERR et WERR dans le cas d'une commande répétitive, il faut sauvegarder les deux informations dans le même cycle. Tant que la boîte est active (ACT=1), les échanges sur la ligne sont effectués à la fréquence précisée par FREQ. A la retombée de EN, si un échange était en cours il est achevé normalement. L'annulation de l'échange répétitif est effectif à l'issue de l'échange en cours. ACT, ERR et WERR sont alors remis à zéro. Exemples de programmation : cf. chapitre E (port série programmable). Exemple de paramétrage des BFC WRITE : Ecriture de 5 mots toutes les 200 ms par la voie 0 de la carte JBUS dans le rack 1 à l'emplacement 7 vers l'esclave 9 Adresse Maître %MW10 à %MW14 Adresse Esclave %MW24 à %MW28 CHAN SLAV @TYP @SLA @MAS LENG FREQ TOUT 0170 9 MW 24 ou %MW50 = 24 %MW10 5 2 - @SLA peut fonctionner avec un adressage indirect (%MW50). @MAS est en adressage direct. TEM60000F n F.11 programmation des échanges JBUS 2. Lecture : BFC READ 2.1. Description des paramètres Le lancement d'une demande de lecture, par le maître, d'informations en provenance d'un esclave JBUS , s'effectue en utilisant la boîte fonctionnelle READ : Appellation utilisateur EN : variable booléenne ou réseau de contacts de validation de la boîte CHAN : N° du coupleur qui devra effectuer la commande Type : constante numérique ou mot simple (%MW) @TYP : type d'adressage dans l'esclave destinataire type : cf ci-après @MAS : Adresse de rangement du message dans le maître Type : bit, mot ou table FREQ : période de répétition de la demande de lecture Type : constante numérique TOUT : Time - out attente de la réponse de l'esclave exprimée en 1/10° sec (100 ms) Type : constante numérique ou mot simple (%MW) READ EN ACT CHAN , SLAV @TYP , @SLA @MAS , LENG FREQ , TOUT ERR WERR ACT : Variable booléenne signalant l'activité de la boite SLAV : N° de l'esclave source de l'information Type : constante numérique ou mot simple (%MW) @SLA : adresse origine du message dans l'esclave Type : constante ou mot simple (%MW) LENG : indique la longueur du message à recevoir Type : Constante numérique ou mot simple (%MW) ERR : Variable booléenne signalant un défaut lors de l'exécution de la commande WERR : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) Le coupleur qui sera chargé de faire la demande et derecevoir la réponse de l'esclave est identifié par son adresse CHAN sous la forme : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal N° du canal dans le rack principal m SLAV : Numéro de l'esclave ou sera effectuée la lecture (au sens du protocole JBUS). Ce paramètre est une constante numérique comprise entre 1 et 255. La valeur 0, correspondant à une demande de diffusion est interdite en lecture. Remarque Les paramètres internes de cette boîte fonctionnelle sont saisis par l'intermédiaire d'une boîte de dialogue. Pour afficher cette boîte de dialogue, sélectionner la cellule contenant le nom de la BFC puis sélectionner l'option "Paramètres BFC cachés" dans le menu "Accès". n N.B. La boîte fonctionnelle READ est utilisable dans les entités %CC, %TT et %TG. TEM60000F F.12 programmation des échanges JBUS @TYP et @SLA : Ces paramètres identifient le type de l'automate esclave, le type de variables et l'adresse origine, dans l'esclave, des informations à transmettre . Pour un esclave APRIL5000 /APRIL7000, les types de variables autorisées sont : – Les variables bits : %IXn, %QXn, %MXn, %RXn, – Les variables mots : %MWn, %MDn, %FDn – les chaînes de caractères : %CHn ■ m Le type de variable est indiqué dans @TYP : %IXn, %QXn, %MXn, %RXn, %MWn, %MDn, %FDn ou %CHn, Le numéro de la première variable est indiqué dans @SLA. Remarque : Les adresses de tables sont interdites : donner l'adresse du premier élément de la table. ■ Pour un esclave de type APRIL PB ou APRIL SMC : L'adresse doit être donnée sous la forme de l'adresse physique du premier élément. Cette adresse peut être soit décimale (cas d'un APRIL SMC), soit hexadécimale (cas d'un APRIL PB). Le paramètre @TYP contient le type de variable (au sens du protocole JBUS) : @TYP = BE pour lire des bits d'entrées (code fonction JBUS = 2), @TYP = BS pour lire des bits internes ou de sortie(code fonction JBUS = 1), @TYP = ME pour lire des mots d'entrée(code fonction JBUS = 4), @TYP = MS pour lire des mots de sortie ou internes(code fonction JBUS = 3). ≈! Une adresse décimale est écrite directement dans @SLA, Une adresse hexadécimale est précédée de 16# La trame véhicule toujours une adresse hexadécimale. ex : @SLA contient 500 : La trame véhiculera l'adresse hexadécimale 1F4. @SLA contient 16#500 : La trame véhiculera l'adresse hexadécimale 500. Remarque : Le paramètre@TYP est également utilisé pour faire une demande de lecture rapide de 8 bits (commande 7 du protocole JBUS). @TYP doit alors être égal à : "FR". Cette commande est possible quel que soit le type de l'automate esclave. Les adresses des bits concernés pour la commande de lecture rapide sont précisées lors du paramétrage du coupleur esclave. Le paramètre @SLA n'est donc pas renseigné dans ce cas. Une réponse d'exception est renvoyée si le paramétrage est incorrect. @MAS : Donne l'adresse de rangement, dans le maître des informations reçues sous la forme d'un symbolique constructeur. Les adresses de rangement possibles sont : – adresses bits internes ou de sorties : %QXn, %MXn, %RXn, %MXn(i), %RXn(i), – adresses mots internes : %MWn, %MDn, %FDn, %MWn(i), %MDn(i), %FDn(i), – adresses tables : %MXn(), %RXn(), %MWn(), %MDn(), %FDn(),…), – chaînes de caractères : %CHn() TEM60000F n F.13 programmation des échanges JBUS LENG : définit la longueur utile du message en nombre de variables : - de 1 à 1968 pour une lecture bits, (1 à 1000 pour une lecture table de bits), - de 1 à 122 pour une lecture de mots de 16 bits, - de 1 à 61 pour une lecture de mots doubles ou flottants, - de 2 à 80 (nombre pair) pour la lecture d’une chaîne de caractères. Si la destination des informations dans le maître est une structure (%MWn( ), %MDn( ), %FDn( )),la longueur LENG du message est égale, par défaut, à la longueur de cette structure. Il est alors inutile de renseigner le paramètre LENG. Si LENG est renseigné et inférieur à la longueur de la table, la boîte lira les LENG premiéres variables de la table. Si LENG est supérieur à la longueur de la table, une erreur est indiquée par ERR (diagnostic dans WERR). La longueur de la table doit respecter les limitations ci-dessus. FREQ : Permet de définir une période de répétition de la commande. Cette option autorise le rafraichissement d' une zone d'informations dans la mémoire de l'automate maître sans intervention du programme. le paramètre FREQ est une constante qui contient la valeur de la période de répétition exprimée en 1/10° sec. Il varie de 1 à 100 (la valeur 0 est interdite). Lorsqu'il n'est pas renseigné, la lecture est unique. L'annulation d'une commande répétitive se fait en dévalidant la boîte READ correspondante (EN = 0). Le nombre maximum de commandes répétitives actives à un instant donné sur une voie d'un coupleur est de 16. Si l'utilisateur demande l'activation d'une 17ème commande répétitive, un message d'erreur est renvoyé (ERR=1, diagnostic dans WERR). 1) La période de réactivation de la BFC répétitive est calculée par rapport à la fin de transaction de la réponse précédente. MAITRE Qn Q n+1 > Temps ESCLAVE Rn < TEM60000F Délai >< > ∆ répétition BFC (FREQ) 2) La précision ∆ de la période de réactivation de la BFC répétitive est fonction de l'horloge interne de la carte JBUS (horloge = 50 ms) et du temps d'accès à la mémoire commune de l'unité centrale. 3) Si plusieurs BFC répétitives sont activées, le coupleur gère au mieux la succession de ces BFC répétitives. n F.14 programmation des échanges JBUS TOUT : Définit la valeur du time-out de réception de la réponse. La valeur de ce paramètre dépend de la vitesse de transmission sur la ligne et du temps mis par l'esclave pour élaborer la réponse.Il doit être suffisament long pour assurer que le maître ait commencé à recevoir la réponse avant que le time-out ne soit écoulé. C'est une constante qui s'exprime en 1/10° sec (valeur max : 100 –> TOUT max : 10 s). Le Time-out est au minimum égal à un silence de trois caractères. valeur mini. du time-out 1 2 4 3 m TEM60000F 1 : Elaboration de la demande par le maître 2 & 4 : Temps de transmission sur la ligne 3 : Temps d'élaboration de la réponse par l'esclave Remarque : Les échanges d'informations avec l'unité centrale (lecture ou écriture) sont synchronisés avec le cycle UC pour garantir la cohérence des informations en mode synchrone uniquement (cf. Chap. C). n F.15 programmation des échanges JBUS 2.2. Fonctionnement 2.2.1. Lecture unique Une commande unique de lecture est déclenchée sur front montant de EN : instants de scrutation de la boîte par le programme d'application EN ACT transaction ERR si réponse d'exception La variable ACT est positionnée par le coupleur. Elle monte tout de suite après la montée de EN si le coupleur est disponible, après la libération du coupleur dans le cas contraire. Il peut se produire un léger décalage entre la montée de EN et celle de ACT, liée au temps de transfert des informations entre le programme et le coupleur. Le coupleur est occupé lorsque : ■ une boîte READ, WRITE ou DIAG en en cours d'exécution coup par coup, ■ le coupleur est en train d'effectuer le chargement (ou l'annulation) d'une commande répétitive (l'exécution, à la fréquence définie, de la commande répétitive n'est pas considérée comme un cas d'occupation du coupleur). ! ! TEM60000F ACT retombe à zéro à la première scrutation suivant la fin de la transaction (sur la liaison série plus la liaison unité centrale / coupleur de communication). En cas d'erreur sur l'échange (réponse d'exception), ERR est positionné. Si l'entité dans laquelle se trouve la BFC est dévalidée avant que ACT ne retombe, le coupleur ne sera pas libéré et aucune autre BFC ne pourrra être émise. Pour prendre en compte une nouvelle commande, EN doit être vu à zéro pendant un cycle automate. La retombée de EN provoque la mise à zéro de ERR, WERR et ACT. Remarque : Annulation d'une commande coup par coup en cours d'échange. La retombée de EN en cours d'échange (lorsque ACT = 1) provoque l'arrêt immédiat de la transaction : • Si une trame est en cours d'élaboration ou d'émission par le coupleur, elle est annulée. • Si le maître est en attente d'une réponse, il se libère immédiatement (dans ce cas, la réponse qui sera envoyée ultérieurement par l'esclave risque de se télescoper avec une éventuelle nouvelle demande du maître). • Si le coupleur est en train d'effectuer la mise à jour de la mémoire centrale, en revanche, il termine l'opération avant d'abandonner l'échange. Il résulte de ce qui précède que l'annulation d'une commande coup par coup en cours d'échange est déconseillé : conditionner la retombée de EN par la retombée de ACT. n F.16 programmation des échanges JBUS 2.2.2. Lecture répétitive instants de scrutation de la boîte par le programme d'application EN ACT transactions FREQ En cas d'erreur sur l'échange (réponse d'exception), ERR et WERR sont positionnés et maintenus pendant un cycle. De ce fait, si l'on souhaite exploiter les informations ERR et WERR dans le cas d'une commande répétitive, il faut sauvegarder les deux informations dans le même cycle. Tant que la boîte est active (ACT=1), les échanges sur la ligne sont effectués à la fréquence précisée par FREQ. A la retombée de EN, si un échange était en cours il est achevé normalement. L'annulation de l'échange répétitif est effectif à l'issue de l'échange en cours. ACT, ERR et WERR sont alors remis à zéro. Exemple de paramétrage des BFC READ : Lecture de 5 mots toutes les 200 ms par la voie 0 de la carte JBUS dans le rack 1 à l'emplacement 7 vers l'esclave 9 Adresse Maître %MW10 à %MW14 Adresse Esclave %MW24 à %MW28 CHAN SLAV @TYP @SLA @MAS LENG FREQ TOUT 0170 9 MW 24 ou %MW50 = 24 %MW10 5 2 - @SLA peut fonctionner avec un adressage indirect (%MW50). @MAS est en adressage direct. TEM60000F n F.17 programmation des échanges JBUS 3. Lecture des compteurs de diagnostic Le protocole JBUS définit un ensemble de compteurs de diagnostic implémentés dans chacun des coupleurs. Ces compteurs sont au nombre de huit pour le maître, de neuf pour l'esclave (CPU 2010 : 9 compteurs). 3.1. Compteurs de diagnostic du maître CPT1 : CPT2 : CPT3 : CPT4 : CPT5 : CPT6 : CPT7 : CPT8 : Nombre de réponses reçues sans erreur CRC par le maître. Nombre de messages reçus avec erreur CRC par le maître. Nombre de réponses d'exception reçues par le maître. Les réponses d'exception sont : - code fonction inconnu - adresse incorrecte - donnée incorrecte - automate non prêt - acquittement - non acquittement - défaut d'écriture - chevauchement de zones de protection Nombre de demandes de diffusion émises par le maître. Nombre de demandes restées sans réponses. Nombre de réponses "automate non prêt" reçues par le maître. Nombre de caractères reçus erronés (format, parité, overrun,…). Nombre de demandes correctement exécutées (la demande de lecture du compteur d'évènement de l'esclave n'incrémente pas ce compteur). 3.2. Compteurs de diagnostic de l'esclave CPT1 : CPT2 : CPT3 : CPT4 : CPT5 : CPT6 : CPT7 : CPT8 : CPT9 : TEM60000F Nombre de demandes reçues correctes par l'esclave (que celui-ci soit conçerné ou non). Nombre de demandes reçues avec erreur CRC. Nombre de messages d'erreur renvoyés par l'esclave (en cas d'erreur sur une diffusion, le message d'erreur n'est pas renvoyé mais le compteur est néanmoins incrémenté). Nombre de demandes correctes et spécifiquement adressées à l'esclave (hors diffusion). Nombre de demandes de diffusion reçues. Nombre de messages d'erreur NAQ (non acquittement) renvoyés par l'esclave en cours de téléchargement (en cas d'erreur sur une diffusion, le message d'erreur n'est pas renvoyé mais le compteur est néanmoins incrémenté). Nombre de réponses "automate non prêt" renvoyées par l'esclave. Nombre de caractères reçus erronés (format, parité, overrun,…). Nombres de demandes reçues correctes et correctement exécutées. Ce compteur n'est pas incrémenté en cas de réponse d'exception, ni sur la demande de sa lecture par le maître. n F.18 programmation des échanges JBUS 3.3. Lecture des compteurs La boîte fonctionnelle DIAG permet au programme de lire le contenu de ces compteurs dans le coupleur et de les recopier dans la mémoire de données de l'automate afin qu'il soient exploitables soit par le programme, soit par la console de programmation. Cette boîte fonctionnelle assure également la réinitialisation de ces compteurs. Cette boîte réalise soit la lecture locale (lecture des compteurs de diagnostic du coupleur associé), soit la lecture à distance par le maître des compteurs d'un esclave. lecture ou RAZ des compteurs de l'esclave par le maître lecture et RAZ locale des compteurs du maître Automate esclave Coupleur U.C. Coupleur Automate maître U.C. lecture et RAZ locale des compteurs de l'esclave La lecture locale est une commande exécutable par l'esclave ou par le maître La lecture à distance est une commande réservée au maître. La BFC DIAG peut être programmée pour demander à : m - une voie d'un coupleur paramétrée en esclave le contenu de ses compteurs, - une voie d'un coupleur paramétrée en maître le contenu de ses compteurs, - une voie d'un coupleur paramétrée en maître le contenu des compteurs d'un des esclaves qu'elle pilote. Nota : Les compteurs de diagnostics sont remis à zéro lors de la mise sous tension du coupleur et au passage STOP > RUN de l'automate. Une lecture distante des compteurs de diagnostic se réalise sur plusieurs trames. Elle correspond à plusieurs fonctions et sous-fonctions cumulées (cf. § 3.9. et 3.10. chapitre H). La remise à zéro des compteurs se fait en une seule fois. La lecture des compteurs est une commande unique. TEM60000F n F.19 programmation des échanges JBUS appellation utillisateur EN : variable booléenne ou réseau de contacts de validation de la boîte RST (f) : variable booléenne de remise à zéro des compteurs dans le coupleur CHAN : Identification de l'emplacement du coupleur et de la voie concernée Type : constante numérique. ADDR : adresse de la table de rangement (%MW( )) du contenu des compteurs dans la mémoire de l'automate (Précaution : lire p. F.20) DIAG EN ACT RST CHAN SLAV ADDR TOUT ERR WERR ACT : Variable booléenne signalant l'activité de la boîte SLAV : Numéro de l'esclave dont on souhaite lire les compteurs. Si ce paramètre n'est pas renseigné, la boîte exécutera la commande locale. Type : constante numérique ou mot simple (%MW) ERR : Variable booléenne signalant un défaut lors de l'exécution de la commande. WERR : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) TOUT : Time-out attente de la réponse de l'esclave exprimée en 1/10°sec Type : constante numérique ou mot simple (%MW) La voie du coupleur à laquelle est adressée la demande est identifiée par son adresse CHAN sous la forme : CHAN : X Y Z T N° de voie (0 ou 1) Emplacement de la carte dans le rack (de 0 à 9) N° du rack dans la guirlande reliée au canal ß m TEM60000F N° du canal dans le rack principal SLAV : Numéro de l'esclave dont on souhaite lire les compteurs . Ce paramètre est une constante variant entre 1 et 255 pour la demande de lecture, entre 0 et 255 pour la RAZ (diffusion autorisée). Si ce paramètre n'est pas renseigné, la demande sera interprétée comme une demande de lecture locale. RST : Variable booléenne permettant la remise à zéro des compteurs de diagnostic dans le coupleur destinataire de la demande. L'état de ce paramètre est pris en compte lors du front montant de EN (validation de la boîte) : - Si RST = 1 lorsque EN passe à 1, le coupleur effectue une remise à zéro des compteurs, - Si RST = 0 lorsque EN passe à 1, le coupleur effectue une lecture des compteurs. Le passage à 1 de RST en cours d'exécution de la boîte n'est pas pris en compte. RST vaut 0 par défaut. n N.B. La boîte fonctionnelle DIAG est utilisable dans les entités %CC, %TT et %TG. F.20 programmation des échanges JBUS EN RST ACT exécution de la commande de lecture exécution de la commande de RAZ des compteurs Le temps d'exécution de la commande est d'un temps de cycle automate dans le cas d'une commande locale adressée à un coupleur disponible. Dans le cas d'une commande adressée à un esclave distant la transaction peut durer plusieurs cycles. ADDR : Donne l'adresse de rangement, dans la mémoire de l'automate demandeur du contenu des compteurs.Cette adresse est une table (MW( )), en zone mots simples, de longueur supérieure ou égale à 9. TOUT : Définit la valeur du time-out de réception de la réponse. La valeur de ce paramètre dépend de la vitesse de transmission sur la ligne et du temps mis par l'esclave pour élaborer la réponse. Il doit être suffisament long pour assurer que le maître ait commencé à recevoir la réponse avant que le time-out ne soit écoulé. C'est une constante qui s'exprime en 1/10° sec. valeur mini. du time-out 1 2 4 3 1 : Elaboration de la demande par le maître 2 & 4 : Temps de transmission sur la ligne 3 : Temps d'élaboration de la réponse par l'esclave TEM60000F n F.21 programmation des échanges JBUS m Remarques : Selon le type d'esclave interrogé (esclave autre qu'APRIL2000 - APRIL5000 - APRIL7000), certains des compteurs de diagnostic peuvent ne pas être implémentés. Dans ce cas le compteur correspondant, dans la table définie par ADDR, sera forcé à la valeur 0. En outre, une erreur sera signalée par ERR et WERR. WERR : 0 0 3 x nombre de compteurs non renseignés code de l'erreur "tous les compteurs de diagnostic ne sont pas implémentés dans l'esclave" ! TEM60000F De la même façon, la numérotation des différents compteurs dans l'esclave peut ne pas être la même que celle définie pour les automates APRIL2000 - APRIL5000 - APRIL7000. Ils sont dans tous les cas rangés dans la table du maître selon l'ordre défini au début du présent chapitre (§ 3.2.) et qui correspond au protocole JBUS (fonction 8, sous codes 0B à 12 et fonction 11). Si l'entité dans laquelle se trouve la BFC est dévalidée avant que ACT ne retombe, le coupleur ne sera pas libéré et aucune autre BFC ne pourra solliciter celui-ci. n F.22 programmation des échanges JBUS TEM60000F n F.23 programmation des échanges JBUS 4. Contrôle de l'activité de la ligne ou du coupleur 4.1. Principe Ce contrôle a pour objectif de fournir à l'esclave une information sur la validité des informations qui lui parviennent via le coupleur JBUS : Si la communication est coupée ou si le maître n'interroge plus l'esclave, celui-ci peut savoir que les informations qui lui parviennent via le réseau JBUS ne sont plus rafraîchies. Le coupleur positionne deux bits destinés à fournir au programme d'application une information sur l'activité de la ligne d'une part, sur celle du coupleur lui-même d'autre part. ß Le premier de ces bits est positionné à 1 après chaque réception de trame correcte par l'esclave (que cette trame lui soit adressée ou non). Ce bit est maintenu à 1 pendant au minimum un cycle de l'unité centrale, Le second est positionné à 1 lorsque l'esclave est concerné et que la trame est correcte. Il est maintenu pendant au mimimum un cycle de l'unité centrale. Ces bits sont positionnés par le coupleur au moment de la tabulation des E/S et ne concernent que les coupleurs JBUS Esclave. demande adressée à l'esclave réponse demande réponse non adressée à l'esclave demande adressée à l'esclave réponse activité sur la ligne bit image de l'activité ligne bit image de l'activité coupleur instants de tabulation des E/S m TEM60000F Remarque Ces bits fournissent une simple indication sur l'activité de la ligne et du coupleur. Ils ne permettent pas une comptabilité précise du nombre d'échanges. (Dans le cas ou deux échanges sont effectués dans le même cycle, les bits ne sont maintenus que pendant un cycle). n F.24 programmation des échanges JBUS 4.2. Adressage des bits de contrôle Ces bits sont considérés par l'unité centrale comme des bits d'entrée (information envoyée par le coupleur vers l'unité centrale). Ils ont pour adresse : Voie 0 Voie 1 Rappel : bit image de l'activité ligne %IX16 bit image de l'activité coupleur %IX17 bit image de l'activité ligne %IX18 bit image de l'activité coupleur %IX19 %IXxxxNN N° d'emplacement de la carte dans le rack N° du rack dans le canal N° du canal (vaut 0 pour un APRIL5000) 4.3. Utilisation des bits de contrôle par programme Ces bits étant vus par l'unité centrale comme des bits d'entrée peuvent être utilisés de la même manière dans les différentes sections du programme d'application, dans les mêmes boîtes fonctionnelles,… Exemples Dans un combinatoire cyclique, cumul du nombre d'activités sur la ligne par unité de temps et comparaison à un seuil minimum défini par l'utilisateur en fonction de son application puis utilisation du résultat comme : validation d'une entité effectuant un traitement sur les informations rafraîchies par le coupleur ■ ■ réceptivité dans un grafcet pour orienter le processus vers une marche dégradée, ■ validation d'un traitement sur événement programme,… Le choix d'un type d'action dépend de la criticité, pour le processus piloté, des informations véhiculées par le réseau. Remarques : Ces bits fournissent une information globale de l'activité de la ligne. Ils ne doivent pas être utilisés pour comptabiliser précisément les trames qui circulent. En effet, certaines d'entre elles, d'une durée inférieure à un cycle, peuvent ne pas être vues. TEM60000F n F.25 programmation des échanges JBUS 5. Fonctions JBUS supportées par le coupleur Le coupleur JBUS esclave supporte toutes les fonctions décrites dans l'annexe protocole JBUS. ■ ■ TEM60000F Le coupleur JBUS maître supporte : - BFC READ : fonctions 1, 2, 3, 4, 7, 13 (3), - BFC WRITE : fonctions 5, 6, 13 (4), 15, 16, - BFC DIAG : fonctions 8 (11 → 18), 11. n F.26 programmation des échanges JBUS TEM60000F n G.1 gestion des accès à la mémoire G. Gestion des accès à la mémoire TEM60000F n G.2 gestion des accès à la mémoire TEM60000F n G.3 gestion des accès à la mémoire Sommaire Pages 1. Principe de la protection 1.1. Protection immédiate 1.2. Protection différée après un accès coupleur 2. Programmation 2.1. Adressage des bits de protection 2.2. Utilisation des bits de gestion par le programme TEM60000F G.5 G.6 G.7 G.9 G.9 G.10 n G.4 gestion des accès à la mémoire TEM60000F n G.5 gestion des accès à la mémoire 1. Principe de la protection L'unité centrale de l'automate esclave et le maître du réseau (via les coupleurs) ont tous deux accès à la mémoire de données de l'automate. Automate maître Automate esclave Unité centrale mémoire de données coupleur JBUS JNET coupleur Unité Automate maître JBUS centrale Dans un échange JBUS, les données sont cohérentes. La mise à jour de la mémoire commune est synchronisée avec le cycle automate dans le cas d'un paramétrage synchrone cycle de la voie. Toutefois, dans certains cas d'application (transfert d'une table de taille supérieure à une trame JBUS, mode asynchrone cycle par exemple), il peut s'avérer nécessaire, pour disposer de données cohérentes, de gérer les conflits d'accès. Cela suppose que pendant le temps ou une des unités centrales réalise la mise à jour de la zone, l’autre ne puisse pas y accéder. Les coupleurs de communication JBUS / PSP paramétrés en JBUS esclave offrent à l'utilisateur de gérer ces conflits d'accès. Cette fonction n’est disponible que pour un esclave : Le maître gérant l’ensemble des demandes et des réponses, il n’y a pas de conflits d’accès possibles. Lors du paramétrage de la carte, l'utilisateur définit jusqu'à huit zones disjointes dans sa mémoire de données sur lesquelles il souhaite réaliser une protection. Le renseignement de cet écran est facultatif. Il peut également être partiel si l'utilisateur ne souhaite protéger qu'un nombre de zones inférieur à 8. Cette protection porte sur les variables de type %IXn, %MXn, %RXn, %QXn, %MWn, %MDn, %GMn:Xm, %GEn:Xm, %XEn:Xm et %FDn. Pour chacune de ces zones il précise s'il souhaite contrôler les demandes d'écriture du maître, ses demandes de lecture ou les deux. ZONE DE PROTECTION DE LA VOIE VOIE EXTREMITE 1 0 EXTREMITE 2 PROTECTION ZONE 1 LECTURE ECRITURE ZONE 2 LECTURE ECRITURE ZONE 3 LECTURE ECRITURE ZONE 4 LECTURE ECRITURE ZONE 5 LECTURE ECRITURE ZONE 6 LECTURE ECRITURE ZONE 7 LECTURE ECRITURE ZONE 8 LECTURE ECRITURE ANNULER OK n L'accès à cet écran et la façon de le renseigner sont décrits en détail dans le chapitre C § 1 "Configuration et initialisation". TEM60000F G.6 gestion des accès à la mémoire m ß Il dispose ensuite, pour chacune des zones, d'un ensemble de trois bits lui permettant de gérer par son programme d'application les autorisations / interdictions d'accès en fonction de l'évolution de son processus : Remarque : L'éditeur n'effectue pas de contrôle de non chevauchement des zones. L'erreur sera détectée et signalée en fonctionnement, lors d'une tentative d'accès à la zone commune. Le contrôle de protection s'effectue sur l'adresse de début de la zone échangée. Si cette adresse appartient à une zone protégée, l'échange dépendra des protections actives à cet instant sur cette zone. Sinon il n'y a pas de protection. 1.1. Protection immédiate – S1 : Demande de protection de la zone Ce bit est géré par le programme d'application. Sa mise à un constitue une demande de protection de la zone. Sa mise à zéro constitue une demande de libération de la zone. – E1 : Zone protégée Ce bit est géré par le coupleur. A réception d'une demande de protection (S1 = 1), le coupleur contrôle qu'aucun accès n'est en cours sur la zone considérée puis il "accuse réception" de la demande en positionnant E1 = 1. Si un accès est en cours, la transaction sera achevée avant que la protection ne devienne effective et que E1 ne soit positionné à 1. De même à la retombée de S1, le coupleur accuse réception de la demande de libération de la zone en repositionnant E1 à 0. S 1 : demande de protection E 1 : zone protégée Accès interdit transmission de la demande, si accès en cours, fin d'accès, puis zone protégée Accès coupleur transmission de la demande et libération de la zone Demande d'accès réponse automate non prêt Accès coupleur Le bit S1 est un bit de sortie (information émise par l'U.C. vers le coupleur). Le bit E1 est un bit d'entrée (information fournie par le coupleur à l'U.C.). TEM60000F n G.7 gestion des accès à la mémoire 1.2. Protection différée après un accès coupleur La protection de la mémoire vis à vis des accès du coupleur peut être réalisée après un dernier accès. L'unité centrale a alors accès à des informations dont la "fraîcheur" est garantie : l'information "mémoire protégée" (bit E1) lui est en effet retournée par le coupleur immédiatement après un accès. Si la demande de protection différée a lieu alors qu'un échange est en cours, la protection sera effective en fin d'échange. Si la demande de protection différée a lieu alors qu'il n'y a pas d'échange en cours, un accès sera autorisé avant que la protection soit effective (accès unique). Pour réaliser ce type de protection, l'utilisateur doit programmer, outre les bits E1 et S1 vus dans le cas précédent, un bit S2 appellé "protection différée" : S2 : Protection différée après un accès coupleur Ce bit est géré par le programme d'application. S'il est mis à un simultanément avec S1, la protection ne sera effective qu'après qu'une transaction ait eu lieu sur la zone considérée. (Si une transaction est en cours lors de la montée de S1 et S2, la protection est effective immédiatement après la fin de cette transaction). Il est ainsi possible de contrôler par programme que la zone vient d'être mise à jour par le coupleur avant d'exploiter les données qu'elle contient. La retombée de S2 est gérée par le programme utilisateur comme S1. La sélection (prot. immédiate ou différée) s'effectue selon l'état de S2 lors du front montant de S1 S 1 : demande de protection S2 : protection différée E 1 : zone protégée Accès interdit transmission de la demande, si accès en cours, fin d'accès, puis zone protégée Accès coupleur en cours Demande d'accès réponse "automate non prêt" transmission de la demande et libération de la zone Accès coupleur Le bit S2 est un bit de sortie (information émise par l'U.C. vers le coupleur). TEM60000F n G.8 gestion des accès à la mémoire m Remarques L'état du bit S2 (choix entre protection immédiate ou différée) est pris en compte par le coupleur lors du front montant de la demande de protection S1 : - Si S2 = 1 lorsque S1 passe à 1, protection différée. - Si S2 = 0 lorsque S1 passe à 1, protection immédiate. - Si S2 passe à 1 lorsque S1 est déja égal à 1, le front montant de S2 n'est pas vu et la protection est immédiate. En cas de demande de protection différée, si un accès est en cours lors du front montant de S1 (avec S2 à 1), cet accès est considéré comme celui après lequel la protection devient effective. TEM60000F n G.9 gestion des accès à la mémoire 2. Programmation 2.1. Adressage des bits de gestion Les bits de gestion des zones de protection sont adressés comme des bits d'entrée ou de sortie pour la carte coupleur JBUS / PSP. Voie 0 Voie 1 S2 : demande protection différée E1 : zone protégée N° de zone S1: demande protection de la zone zone 1 %QXxxx00 %QXxxx01 %IXxxx00 zone 2 %QXxxx02 %QXxxx03 %IXxxx01 zone 3 %QXxxx04 %QXxxx05 %IXxxx02 zone 4 %QXxxx06 %QXxxx07 %IXxxx03 zone 5 %QXxxx08 %QXxxx09 %IXxxx04 zone 6 %QXxxx10 %QXxxx11 %IXxxx05 zone 7 %QXxxx12 %QXxxx13 %IXxxx06 zone 8 %QXxxx14 %QXxxx15 %IXxxx07 zone 1 %QXxxx16 %QXxxx17 %IXxxx08 zone 2 %QXxxx18 %QXxxx19 %IXxxx09 zone 3 %QXxxx20 %QXxxx21 %IXxxx10 zone 4 %QXxxx22 %QXxxx23 %IXxxx11 zone 5 %QXxxx24 %QXxxx25 %IXxxx12 zone 6 %QXxxx26 %QXxxx27 %IXxxx13 zone 7 %QXxxx28 %QXxxx29 %IXxxx14 zone 8 %QXxxx30 %QXxxx31 %IXxxx15 N.B. : l'adresse d'une voie d'une carte est codée selon le schéma suivant : %IXxxxnn N° de voie selon tableau ci-dessus N° d'emplacement de la carte dans le rack (de 0 à 9 ) N° de rack dans le canal (de 0 à 6 ) N° de canal (pour un APRIL5000, le N° de canal est 0) %IX pour une entrée, %QX pour une sortie TEM60000F n G.10 gestion des accès à la mémoire 2.2. Utilisation des bits de gestion par programme Ces bits sont vus du programme d'application de la même manière que les bits d'entrée ou de sortie relatifs à n'importe quelle carte TOR de l'automate. Ils peuvent donc être utilisés de la même manière dans les différentes sections du programme d'application, dans les boîtes fonctionnelles, … Exemples d'utilisation : Les bits "zones protégées" peuvent être utilisés pour valider une entité combinatoire réalisant un traitement sur la zone protégée. Les bits "demande de protection" et "protection différée" peuvent être positionnés par une équation combinatoire dans un traitement de tâche associé à un GRAFCET, dans un combinatoire cyclique, … Pour assurer l'exécution du traitement associé à la protection une seule fois lorsque les conditions sont remplies, programmer comme suit (par exemple). CC10 CEXT CONDPROT E1 S1 (S) CC20 E1 CEXT Traitement spécifique à réaliser pendant que la zone est protégée CONDPROT (R) S1 (R) n La condition de validation de protection CONDPROT est calculée par ailleurs par le programme d'application. Lorsque les conditions sont remplies, le bit CONDPROT est mis à 1 par une bobine SET. TEM60000F H.1 Annexes H. Annexes TEM60000F n H.2 Annexes TEM60000F n H.3 Annexes Sommaire Pages TEM60000F 1. Liste des messages d'erreur H.5 2. Glossaire H.7 3. Protocole JBUS 3.1. Principe 3.2. Présentation des trames de demande et de réponse 3.3. Contrôle des messages reçus par l'esclave 3.4. Lecture de n bits : fonction 1 ou 2 3.5. Lecture de n mots : fonction 3 ou 4 3.6. Ecriture d'un bit : fonction 5 3.7. Ecriture d'un mot : fonction 6 3.8. Lecture rapide de 8 bits : fonction 7 3.9. Lecture des compteurs de diagnostic : fonction 8 3.10. Lecture des compteurs d'événement : fonction 11 3.11. Lecture du "buffer trace" : fonction 12 3.12. Commandes programme : fonction 13 3.12.1. Arrêt de la CPU (sous fonction 01) 3.12.2 Passage en marche de la CPU (sous fonction 02) 3.12.3. Déchargement de la mémoire (sous fonction 03) 3.12.4. Chargement de la mémoire (sous fonction 04) 3.12.5. Connexion à la mémoire automate (sous fonction 25) 3.12.6. Déconnexion de la mémoire (sous fonction 26) 3.12.7. Téléchargement d'un programme automate via JBUS 3.13. Diagnostic des commandes programme : fonction 14 3.14. Ecriture de n bits consécutifs : fonction 15 3.15. Ecriture de n mots consécutifs : fonction 16 (commande 6) H.11 H.11 H.12 H.13 H.14 H.15 H.16 H.16 H.17 H.18 H.20 H.21 H.22 H.23 H.24 H.25 H.26 H.27 H.27 H.28 H.32 H.33 H.34 4. Adressage de la mémoire H.35 5. Codage des %FDn en mémoire H.41 6. Algorithme de calcul du CRC 16 H.43 7. Particularité du mode ASCII H.45 8. Table des caractères ASCII - hexadécimal H.47 n H.4 Annexes TEM60000F n H.5 Annexes 1. Liste des messages d'erreur Les erreurs susceptibles d'apparaître sont de deux types : • Les warnings (ou erreurs peu graves), qui n'interrompent pas l'exécution de la boîte fonctionnelle, ne sont pas signalés par le bit ERR. Seul le code correspondant est écrit dans WERR. BFC LCI WERR = - 1 -2 -3 -4 -5 -6 Coupleur occupé (par une BFC de même type) Saturation du dialogue (nombre de tâches actives > 255) Bloc mémoire non disponible (alloué par le système) Boîte fonctionnelle non exécutée Cause : traitement fin de cycle en cours (suite à une coupure secteur) ou CPU en phase de mise au point (exécution du programme entité / entité ou cycle / cycle) Perte dialogue sur le bus (sens CPU ➝ coupleur) Synchronisation en cours - 10 Cette transaction est déjà active BFC LCS BFC LCI WERR = - 65 Exécution de la BFC suspendue car DSR ouvert. • Les erreurs qui interrompent l'exécution de la boîte fonctionnelle et provoquent le positionnement de ERR. BFC LCI/LCS WERR = 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0021 0022 0023 0024 0025 0027 0028 0029 Time-out RTS/CTS dépassé (3 caractères par défaut) [JBUS/PSP] Time-out en émission dépassé (3 caractères par défaut) [JBUS/PSP] Pas de réponse de l'esclave [JBUS] Erreur de format, parité, overrun en réception (*) [JBUS/PSP] Erreur CRC (*) [JBUS] Time-out en réception dépassé (3 caractères par défaut) [JBUS] Time-out en réception dépassé car DSR ouvert (3 caractères par défaut) [JBUS] Trame de réponse incorrecte (N° esclave, code fonction, …) [JBUS] Buffer des commandes répétitives saturé [JBUS] Time-out DTR/DSR dépassé (boîte modem) Table de stockage saturée avant d'avoir rencontré la condition de fin (BREAK, caractère de fin, …) [PSP] Réception d'un BREAK non attendu [PSP] Nombre d'octets incompatible avec le type de données Type de la BFC incohérente avec le paramétrage de la voie [JBUS/PSP] (ex. : BFC READ sur voie paramétrée en PSP) Paramètre N° esclave manquant (BFC MOD-COM) Activation de la fonction accès aux variables refusée : le coupleur n'est pas en PSP. Code fonction inconnu Adresse incorrecte Donnée incorrecte Automate non prêt Acquittement Non acquittement Défaut d'écriture Chevauchement de zones réponses d'exception du protocole JBUS n (*) Ces défauts sont également signalés par la diode défaut voie (diode 2 pour voie 0 et 5 pour voie 1). TEM60000F H.6 Annexes 003x Pas de réponse aux trames de diagnostic (x de 1 à 9 est le nombre de trames sans réponses) [JBUS] 0040 Perte de dialogue sur le bus (sens coupleur ➝ CPU) [JBUS/PSP] 0041 Erreur en lecture ou écriture de la mémoire de données [JBUS/PSP] 0042 Paramètre de la BFC incorrecte [JBUS/PSP] 0070 Carte non configurée ou CHAN négatif [JBUS/PSP] 0071 Lecture en diffusion des compteurs de diagnostic [JBUS] 0072 Nombre de commandes répétitives > 16 [JBUS] 0073 Longueurs des tables incorrectes [JBUS/PSP] 0074 Paramètre SOFT incorrect 0075 Vitesse incorrecte 0076 Format incorrect 0077 Paramètre DLAY incorrect 0078 Paramètre ICT incorrect 0079 Paramètre NUM incorrect 0080 Paramètre REP incorrect 0081 Paramètre LENG (BFC SSEND, SEND, WRITE) ou ECOD (RECEIVE, SRECEIVE) incorrect 0082 Valeur time-out incorrecte 0084 Numéro d'esclave incorrect 0085 Paramètre @TYP incorrect 0086 Paramètre @SLA incorrect (valeur négative). BFC LCS 101 103 104 105 106 110 113 191 TEM60000F Coupleur occupé par une BFC de même type Bloc mémoire non disponible (alloué par le système) Boîte fonctionnelle non exécutée Cause : traitement fin de cycle en cours (suite à une coupure secteur) ou CPU en phase de mise au point (exécution du programme entité / entité ou cycle / cycle) Perte de dialogue sur le bus (sens CPU ➝ coupleur) Synchronisation en cours Version du coupleur incorrecte [JBUS/PSP] La valeur de cet ID n'est pas autorisée (BFC SSTOP) Exécution de la BFC suspendue car DSR ouvert. n H.7 Annexes 2. Glossaire ASCII American Standard Code for Interchange Information (mode de transmission) par opposition à binaire (ou RTU). Caractérise le codage des caractères sur la ligne. Chaque caractère (alphanumérique ou spécial) est codé sur 7 bits. Avis V24 Avis publié par le CCITT. Définit les caractéristiques fonctionnelles d'une liaison asynchrone point à point ou multipoint entre deux équipements. Cet avis définit 25 signaux. Cet avis est équivalent au standard RS232C de l'EIA avec lequel il est souvent confondu. Avis V25 Définit les caractéristiques des échanges avec les modems à appel et/ou réponse automatique Avis V28 Précise les caractéristiques électriques des signaux définis par l'avis V24 Binaire (mode de transmission) Par opposition à ASCII. Caractérise le codage des caractères sur la ligne. Blindage Protection électrique et mécanique des fils de transmission contre les perturbations électromagnétiques Boucle de courant 20 mA Mode de transmission sur ligne téléphonique 2 paires. La source d'énergie est un générateur de courant 20 mA. A l'état repos, (ligne normale, 20 mA au repos) correspond la circulation du courant dans la ligne. CCITT Comité consultatif international pour la téléphonie et la télégraphie Compteurs de diagnostic Ensemble de compteurs tenus à jour par les différents équipements du réseau et destinés à fournir une mesure de la qualité de la transmission sur le réseau (nombre de trames reçues, nombre d'erreurs CRC,…). Le nombre et la signification des compteurs dépend du protocole. CRC Code de Redondance Cyclique. Le CRC16 est l'un des modes de calcul de somme de contrôle offrant la meilleure probabilité de détection d'erreur. Le CRC16 calculé à l'émission et envoyé avec la trame est comparé avec celui calculé à l'arrivée. Il existe différentes façons de calculer un CRC16. Celle utilisée ici n'est pas elle préconisée par le CCITT. CTS Clear To Send (équivalent français : PAE prêt à émettre) DCD Data Carrier Detector (équivalent français : détection de porteuse) DCE Data Communication Equipment. voir ETCD TEM60000F n H.8 Annexes DSP Dialogue Sans Protocole DSR Data Set Ready (équivalent français : PDP poste de données prêt) DTE Data Terminal Equipment. voir ETTD DTR Data Terminal Ready (équivalent français : TDP terminal de données prêt) EIA Electronic Industries Association Esclave Sur un réseau de type maître - esclave, caractérise les postes qui n'ont aucune initiative sur le réseau (ils se contentent de répondre aux interrogations du maître). Etat (d'un signal) Fermé = Actif = ON = 0 logique = Espace (SPACE) = > + 3V (V28) Ouvert = Inactif = OFF = 1 logique = Marque (MARK) = < - 3V (V28) ETCD Equipement Terminal de Circuit de Données ( DCE en anglais) Equipement (modem, boîtier de conversion,…) qui assure uniquement le transit de l'information et ne réalise aucun traitement. ETTD Equipement Terminal de Traitement de Données(DTE en anglais) Equipement (automate programmable, calculateur,…) situé à une extrémité de liaison qui émet des informations et traite les données reçues. Format de transmission Définit le nombre de bits utiles, la parité, le nombre de bits stop Full duplex Mode de transmission dans lequel les échanges aller et retour sur le réseau sont simultanés (nécessite de disposer d'un support physique double). Half duplex Mode de transmission bidirectionnel dans lequel les échanges aller et retour sur le réseau sont alternés sur un support physique unique. ISO International Standardization Organisation ISO 2110 Affectation des broches et description du connecteur 25 broches à la jonction entre ETTD et ETCD lorsque les avis V24 et V28 du CCITT sont applicables. n JBUS Protocole de communication, de type maître - esclave sur un réseau. JBUS permet d'assurer des liaisons de type point à point ou multipoint. Les commandes portent sur la lecture ou l'écriture de mot(s), bit(s) ou de compteurs de diagnostic. JBUS est une marque déposée d'APRIL. TEM60000F H.9 Annexes Maître Sur un réseau de type maître - esclave, caractérise le poste qui a l'initiative des échanges (interrogation des esclaves ou envoi d'informations destinées aux esclaves). Masse mécanique Châssis métallique des équipements relié à la terre pour des raisons de sécurité. Modem Abréviation de modulateur - démodulateur. Transforme les données binaires en signaux adaptés au support de transmission et inversement.Assure en outre des fonctions de contrôle et de synchronisation. Rc Résistance d'adaptation. Réalise l'adaptation d'impédance aux extrémités d'un réseau. RI Ring Indicator (équivalent français : IA indicateur d'appel). Rp Résistance de polarisation RS 232C Standard publié par l'EIA. Définit les caractéristiques électriques d'une liaison tension de type point à point ente deux équipements. Ce standard définit 25 signaux. Il est très proche de l'avis V24 du CCITT avec lequel il est souvent confondu. RS 422A Standard publié par l'EIA. RS 485 Standard publié par l'EIA. RTS Request To Send (équivalent français : DPE demande pour émettre) Rx Désigne sur un schéma de câblage la connexion au récepteur. SG Signal Ground (équivalent français : TS terre de signalisation) Référence électrique des signaux (0V) SubD Type de connecteur normalisé pour les liaisons de communication Terre Potentiel de référence et protection des équipements Time - out Temps d'attente entre deux évènements (deux signaux, fin de demande et début de réponse, …) Tx Désigne, sur un schéma de câblage,la connexion à l'émetteur. TEM60000F n H.10 Annexes Vitesse Caractérise le nombre d'informations transitant sur la ligne par seconde. On distingue généralement : - La vitesse de modulation. C'est le nombre maximum de changements d'états observés par seconde pour transmettre des éléments binaires dans un code donné. Elle s'exprime en bauds. - La vitesse de transmission. C'est le nombre maximum de bits susceptibles d'être émis par seconde. La vitesse de transmission est q = 1/t, t étant la durée d'émission d'un bit. Elle s'exprime en bits / s (ou bps). - La vitesse utile. C'est le nombre maximum de bits d'information utile (déduction faite des bits de start, de stop,…) susceptibles d'être émis par seconde. Elle s'exprime en bits utiles / s ou en cps (caractères par seconde). TEM60000F n H.11 Annexes 3. Protocole JBUS 3.1. Principe La connaissance détaillée du protocole n'est indispensable que si l'on utilise comme maître un calculateur pour lequel il faut réaliser la programmation correspondante. Tout échange comporte 2 messages : une demande du maître et une réponse de l'esclave. demande réponse esclave maître Chaque message ou trame contient 4 types d'informations : Le numéro de l'esclave (1 octet) Le numéro de l'esclave spécifie l'automate destinataire (1 à FF). Si le numéro d'esclave est zéro, la demande concerne tous les esclaves, il n'y a pas de message de réponse. ■ Le code fonction (1 octet) Permet de sélectionner une commande (lecture, écriture, bit, mot) et de vérifier si la réponse est correcte. ■ Le champ information (n octets) Ce champ d'information contient les paramètres liés à la fonction : adresse bit, adresse mot, valeur de bit, valeur de mot, nombre de bits, nombre de mots. ■ Le mot de contrôle (2 octets) Mot utilisé pour détecter les erreurs de transmission. ■ Synchronisation des échanges Tout caractère reçu après un silence > 3 caractères est considéré comme un début de trame. ■ ■ Un silence sur la ligne au minimum égal à 3 caractères doit être respecté entre deux trames. TEM60000F n H.12 Annexes 3.2. Présentation des trames de demande et de réponse Information nécessaire à la demande adresse bits, mots valeur bits, mots, nombre de bits nombre de mots • demande : 1 octet 1 octet numéro d'esclave (1 à FF) code fonction Ce code permet de sélectionner les commandes disponibles 2 octets informations n octets mot de contrôle Lorsque le message est reçu par l'esclave, ce dernier lit le mot de contrôle et accepte ou refuse le message. Le protocole JBUS possède 16 fonctions : – Fonction 1 : lecture de n bits de sorties ou internes – Fonction 2 : lecture de n bits d'entrées – Fonction 3 : lecture de n mots de sorties ou internes – Fonction 4 : lecture de n mots d'entrées – Fonction 5 : écriture de 1 bit – Fonction 6 : écriture de 1 mot – Fonction 7 : lecture rapide de 8 bits – Fonction 8 : diagnostic des échanges – Fonction 11 : lecture du compteur d'événement – Fonction 12 : lecture du buffer trace – Fonction 13 : commandes programme – Fonction 14 : diagnostic de la fonction 13 – Fonction 15 : écriture de n bits – Fonction 16 : écriture de n mots valeur des bits ou des mots lus valeur des bits ou des mots écrits nombre de mots ou nombre de bit • réponse : numéro d'esclave (1 à FF) code fonction données 1 octet 1 octet n octets mot de contrôle CRC 2 octets n Le coupleur remplit et émet la trame de réponse sans aucune intervention de l'utilisateur. TEM60000F H.13 Annexes 3.3. Contrôle des messages reçus par l'esclave Lorsque le maître émet une demande après avoir indiqué : - le numéro d'esclave, - le code fonction, - les paramètres de la fonction. Il calcule et émet le contenu du mot de contrôle (CRC 16). Lorsque l'esclave reçoit le message de demande, il le range en mémoire, calcule le CRC et le compare au CRC 16 reçu. esclave N° d'esclave maître Calcul Fonction CRC 16 Info CRC 16 Comparaison CRC 16 Si le message reçu est incorrect (inégalité des CRC 16) l'esclave ne répond pas. Si le message reçu est correct mais que l'esclave ne peut le traiter (adresse erronée, donnée incorrecte...), il renvoie une réponse d'exception. Code d'exception 1. Code fonction inconnu 2. Adresse incorrecte 3. Donnée incorrecte 4. Automate non prêt 5. Acquittement 7. Non acquittement 8. Défaut d'écriture 9. Chevauchement de zone Contenu d'une réponse exception Code fonction reçu et bit de poids fort à 1 N° d'esclave (de 1 à FF) x m TEM60000F 1 CRC 16 1 octet 1 octet 1 octet 2 octets Exemple demande : 1 9 0 0 0 réponse : 1 89H 1 CRC 16 0 CRC 16 Remarque Les réponse d'exception 5 et 7 sont relatives aux fonctions JBUS 13 et 14. n H.14 Annexes 3.4. Lecture de n bits : fonction 1 ou 2 Fonction 1 : lecture de bits de sortie ou bits internes Fonction 2 : lecture de bits d'entrée Le nombre de bits à lire doit être ≤ 2000. ■ ■ demande n° d'esclave 1 ou 2 adresse du 1er bit PF pf 1 octet 1 octet 2 octets nombre de bits à lire : 1≤n≤2000 2 octets CRC 16 2 octets réponse n° d'esclave 1 ou 2 nombre d'octets lus 1 octet 1 octet 1 octet dernier octet lu 1er octet lu N octets CRC 16 2 octets détail d'un octet : x dernier bit transmis 1er bit transmis Les bits non utilisés dans l'octet sont mis à zéro. exemple Lecture des bits 204 à 211 de l'esclave n° 1 ■ Demande : 1 1 204 0E CRC 16 Réponse : 1 1 2 10101001 20B TEM60000F 204 00101110 211 20C CRC 16 n H.15 Annexes 3.5. Lecture de n mots : fonction 3 ou 4 Le nombre de mots à lire doit être ≤ 125. Fonction 3 : lecture de mots de sortie ou bits internes Fonction 4 : lecture de mots d'entrée ■ demande 3 ou 4 n° d'esclave 1 octet ■ x adresse 1er mot PF pf nombre de mots PF pf CRC 16 2 octets 2 octets 2 octets 1 octet réponse n° d'esclave 3 ou 4 nombre d'octets lus 1 octet 1 octet 1 octet valeur 1er mot pf PF 2 octets valeur dernier mot pf PF 2 octets CRC 16 2 octets exemple Lecture des mots 805 à 80A de l'esclave n° 2 ■ Demande : 2 3 0805 3 OC 6 CRC 16 Réponse : 2 TEM60000F XXXX YYYY valeur du mot 805 Valeur du mot 80A CRC 16 n H.16 Annexes 3.6. Ecriture d'un bit : fonction 5 ■ demande n° d'esclave 5 1 octet adresse du bit 1 octet 2 octets valeur du bit 1 octet 0 1 octet CRC 16 2 octets bit forcé à 0 (écrire 00 ) bit forcé à 0 →écrire 0 H bit forcé à 1 (écrire FF ) bit forcé à 1 →écrire FF H ■ réponse n° d'esclave m 5 adresse du bit valeur du bit 0 CRC 16 Pour la fonction 5, la trame de réponse est identique à la trame de demande. N.B. : si NES = 00, tous les esclaves exécutent le forçage sans émettre de réponse. Exemple Forçage à 1 du bit 210 de l'esclave n° 2. 3.7. Ecriture d'un mot : fonction 6 ■ demande 2 ■ 6 210 1 octet x TEM60000F 0 CRC 16 réponse n° d'esclave m FF 6 1 octet adresse du mot valeur du mot CRC 16 2 octets 2 octets 2 octets La réponse est un écho de la demande indiquant la prise en compte par l'automate de la valeur contenue dans la demande. N.B. : si NES = 00, tous les automates exécutent l'écriture sans émettre de réponse. Exemple Ecriture de la valeur 1000 dans le mot d'adresse 810 de l'esclave 1. 1 6 810 1000 CRC 16 n H.17 Annexes 3.8. Lecture rapide de 8 bits : fonction 7 ■ demande n° d'esclave 7 CRC 16 1 octet 1 octet 2 octets ■ réponse n° d'esclave m TEM60000F 1 octet 7 XXXXXXXX 1 octet 1 octet CRC 16 2 octets N.B. Les adresses des 8 bits concernés sont fixés dans le coupleur esclave, au moment du paramétrage. n H.18 Annexes 3.9. Lecture des compteurs de diagnostic : fonction 8 A chaque esclave sont affectés des compteurs d'événements (ou compteurs de diagnostic). Il y a au total 9 compteurs par esclave. Ces compteurs sont des mots de 16 bits : ■ demande/réponse : n° d'esclave 1 octet 8 1 octet code sous fonction données 2 octets 2 octets CRC 16 2 octets ■ l'esclave doit envoyer l'écho de la demande 0000 XYZT ■ remise à zéro des compteurs de diagnostic, annulation du mode déconnecté et reconfiguration du coupleur. Pas de réponse émise. 0001 0000 ■ remise à zéro des compteurs de diagnostic et du buffer trace. 0001 FF00 ■ lecture du registre de diagnostic de l'automate (incrémente le compteur de 1) 0002 0000 voir ci-après contenu du registre ■ modifie le caractère délimiteur de fin de trame (en mode ASCII). Par défaut ce caractère est LF (0A) 0003 XY00 XY fixé par l'utilisateur : code ASCII du caractère de fin de trame ■ mode déconnecté l'esclave est forcé à ne plus répondre 0004 0000 (utiliser la sous-fonction 1 pour activer l'esclave) remise à zéro des compteurs de diagnostic 000A 0000 000B XXXX 000C XXXX 000D XXXX 000E XXXX 000F XXXX 0010 0011 XXXX XXXX 0012 XXXX ■ lecture de nombre total des : – trames reçues sans erreur CRC (CPT 1) – trames reçues avec erreur CRC (CPT 2) – nombre de réponses d'exception (CPT 3) – trames adressées à la station (CPT 4) (hors diffusion) – demandes de diffusion reçues (CPT 5) – réponses NAQ (CPT 6) – réponses automate non prêt (CPT7) – caractères non traités (CPT 8) X, Y, Z, T, fixés par l'utilisateur (contrôle de la transmission) ■ TEM60000F lors de la demande, XXXX vaut 00 00 lors de la réponse, XXXX est le contenu du compteur concerné n H.19 Annexes Détail du registre de diagnostic automate (réponse de l'esclave à la fonction 8, sous code 02) Le champ de données de la trame de réponse contient un mot de 16 bits représentatif de l'état de l'automate esclave : 0 0 0 0 M M C A 0 0 0 M C I CPU en mise au point : 00 CPU en arrêt : 01 CPU en marche : 10 origine du mode de marche : clé : 00 programme, console ou JBUS : 01 WdG ou défaut : 10 m TEM60000F état CPU automate E L L = 1 si défaut log. E = 1 si défaut externe I = 1 si défaut interne C = 1 si défaut configuration M =1 si toute la configuration es en marche état configuration Remarque : L'octet de poids faible est représentatif de l'état de l'ensemble de la configuration : Un défaut sur une seule carte de la configuration suffit à faire changer d'état le bit correspondant (C, I, E ou L). De même, le bit M ne passe à l'état 1 que si toutes les cartes de la configuration sont en marche. n H.20 Annexes 3.10. Lecture des compteurs d'événement : fonction 11 Chaque esclave possède un compteur d'événement. Le maître possède un compteur d'événement. Le compteur est incrémenté à chaque trame correctement reçue et interprétée par l'esclave (sauf la commande spécifique de lecture de ce compteur : fonction 11) Une commande de diffusion correcte incrémente le compteur. Si l'esclave émet une réponse d'exception, le compteur n'est pas incrémenté. Ce compteur permet, depuis le maître, de savoir si l'esclave a correctement interprété la commande (compteur d'événement incrémenté) ou si l'esclave n'a pas interprété la commande (compteur non incrémenté). La lecture de ces différents éléments va permettre d'effectuer un diagnostic des échanges ayant été réalisés entre le maître et l'esclave. Si compteur du maître = compteur de l'esclave, la commande envoyée par le maître a bien été exécutée. Si compteur du maître = compteur de l'esclave + 1, la commande envoyée par le maître n'a pas été exécutée. ■ demande n° d'esclave ■ CRC 16 réponse n° d'esclave 1 octet TEM60000F 0B 0B 1 octet 0 contenu du compteur de l'esclave 2 octets 2 octets CRC 16 2 octets n H.21 Annexes 3.11. Lecture du "buffer trace" : fonction 12 L'utilisateur a, à sa disposition, une mémoire de 64 octets contenant l'historique des 64 dernières transactions. Le maître peut demander une lecture de cette mémoire. L'esclave répond en renvoyant également le contenu du compteur d'événements et le contenu du compteur de messages. demande n° d'esclave ■ 0C 0B CRC 16 64 octets réponse } ■ 0C n° d'esclave compte rendu événement plus récent 46 00 00 état de compteur état de compteur d'événement de messages compte rendu événement précédent compte rendu événement N CRC 16 compte rendu événement - 64 – en réception 1 = 1 si diffusion = 1 si 1 si mode caractère déconnecté erroné 0 = 1 si erreur CRC 0 0 numéro d'erreur éventuel – en émission 0 1 = 1 si mode déconnecté 0 – en mode déconnecté (1) 0 0 1 0 0 0 0 0 – remise à zéro des compteurs de diagnostic (commande 8, ss commande 01) 0 0 0 0 0 0 0 0 (1) Le mode déconnecté est utilisé pour l'analyse de certaines anomalies. Dans ce mode, le coupleur surveille la ligne en incrémentant les compteurs et en mettant à jour la table trace. Par contre aucun transfert vers la mémoire automate n'est effectuée et aucune réponse n'est envoyée sur la ligne. Ce mode est piloté par la commande 8 (ss commande 01 et 04). TEM60000F n H.22 Annexes 3.12. Commandes programme : fonction 13 Les commandes programme permettent de réaliser les fonctions suivantes : 1 – Connexion à la mémoire automate. – Déconnexion de la mémoire automate. – Arrêt de l'automate (STOP). – Marche de l'automate (RUN). – Déchargement du programme de l'automate (lecture du contenu de la mémoire programme). – Chargement de programme dans l'automate (écriture de la mémoire programme). 2 – Lecture de la mémoire de DONNEES au delà de la limite d'adressage sur 16 bits. – Ecriture de la mémoire de DONNEES au delà de la limite d'adressage sur 16 bits. Exemple : Mots de données, sur un APRIL7000, qui nécessite un adressage JBUS sur 3 octets (cf. page H.3.). Ces commandes de lecture et d'écriture de la mémoire de données sont accessibles à tout instant. Ces deux commandes peuvent servir dans le cas d'une connexion hétérogène, par exemple : (calculateur JBUS Esclave). Par contre : les commandes programme proprement dites doivent être organisées à l'intérieur d'une session organisée comme suit : Connexion – Commandes – Déconnexion ß m TEM60000F Un déchargement de la mémoire programme de l'automate est obligatoire avant tout chargement de la mémoire programme de l'automate : Connexion : déchargement de tout le programme automate - Déconnexion. Connexion : chargement du programme automate - Déconnexion. Le panachage des commandes de lecture et d'écriture à l'intérieur d'une même session est interdit. Dans le cas où la réponse est un non acquittement (réponse d'exception 7), le diagnostic associé à ces fonctions est obtenu en utilisant la fonction 14 (cf § suivant). A un instant donné un seul coupleur peut accéder à la mémoire de l'automate et / ou donner des ordres à l'unité centrale. Cette exclusion mutuelle est respectée en organisant les commandes programme en sessions. – Commandes programme proprement dites (arrêt , marche, déchargement, chargement, …) – Déconnexion de la mémoire. Remarques : – La mémoire de données est accessible que le coupleur soit connecté ou non. Cela permet (en accédant à la mémoire de données lorsque le coupleur est connecté) de respecter le principe d'exclusion mutuelle. – La déconnexion est automatique lorsque plus de six secondes se sont écoulées depuis l'envoi de la dernière commande programme. Ce time-out n'est pas activé sur la première commande de la session : après la commande connexion, le coupleur attend la première commande sans limitation de temps. – Les fonctions de téléchargement et de télédéchargement de la mémoire de programme ne sont exploitables que lorsque le maître est un calculateur. En conséquence, les fonctions 13 et 14 ne sont pas implémentées dans le logiciel maître du coupleur (APRIL2000 / APRIL5000 / APRIL7000), à l'exception des sous codes 3 et 4 nécessaires à l'extension d'adressage. – Le contenu des trames est donné en hexadécimal. n H.23 Annexes 3.12.1. Arrêt de la CPU (sous fonction 01) Cette sous fonction permet d'arrêter la scrutation cyclique du programme utilisateur par l'unité centrale de l'automate (mode STOP de la CPU). Syntaxe : – demande : N° 0D N° esclave Code fonction 1 octet 1 octet 01 01 CRC16 longueur trame 1 octet sous fonction 1 octet CRC16 2octets – réponse : – Si la commande s'est correctement exécutée, la réponse est un acquittement (réponse d'exception 5) : N° 8D N° esclave Code fonction 1 octet 1 octet 05 CRC16 code Acquit. 1 octet CRC16 2octets Le code fonction reçu en retour est le code fonction émis, avec le bit de poids fort forçé à 1. – Si la commande n'est pas correctement exécutée, la réponse est un nonacquittement (réponse d'exception 7) : N° 8D N° esclave Code fonction 1 octet 1 octet m TEM60000F 07 CRC16 code CRC16 non acquit. 1 octet 2octets Utiliser la commande 14 pour avoir le diagnostic précis. Remarque Cette commande est interdite en diffusion. n H.24 Annexes 3.12.2. Passage en marche de la CPU (sous fonction 02) Cette sous fonction permet de reprendre la scrutation cyclique du programme utilisateur par l'unité centrale de l'automate (mode RUN de la CPU). Syntaxe : – demande : N° 0D N° esclave Code fonction 1 octet 1 octet 01 02 CRC16 longueur trame 1 octet sous fonction 1 octet CRC16 2octets – réponse : – Si la commande s'est correctement exécutée, la réponse est un acquittement (réponse d'exception 5) : N° 8D N° esclave Code fonction 1 octet 1 octet 05 CRC16 code Acquit. 1 octet CRC16 2octets Le code fonction reçu en retour est le code fonction émis, avec le bit de poids fort forçé à 1. – Si la commande n'est pas correctement exécutée, la réponse est un nonacquittement (réponse d'exception 7) : N° 8D N° esclave Code fonction 1 octet 1 octet m TEM60000F 07 CRC16 code CRC16 non acquit. 1 octet 2octets Utiliser la commande 14 pour avoir le diagnostic précis. Remarque Cette commande est interdite en diffusion. n H.25 Annexes 3.12.3. Déchargement de la mémoire (sous fonction 03) ß LECTURE DE LA MEMOIRE DE DONNEES Cette fonction permet de lire le contenu de la mémoire automate (programme et / ou données). Elle ne fait pas de distinction sur les données qui sont lues. La lecture du contenu de la mémoire devra s'effectuer par des demandes de lecture successives de 122 mots maximum. Elle permet : 1 - l'extension d'adressage pour la mémoire de données mots (adresses supérieures à 64K - adresse JBUS exprimée sur 3 octets), 2 - le télédéchargement de la mémoire programme. Syntaxe : ■ Demande : N° 0D 05 numéro fonction long. d'escl. trame 1 octet 1 octet 1 octet 03 Nmots adresse CRC16 sous nombre adresse CRC16 fonction de mots 1er mot 1 octet 1 octet 3 octets 2 octets Le nombre de mots à lire est exprimé en nombre de mots de 16 bits. Il doit être inférieur ou égal à 122. L'adresse est exprimée sur trois octets. ■ Réponse : N° 0D Ltrame numéro fonction long. d'escl. trame 1 octet 1 octet 1 octet 03 Nmots adresse données CRC16 sous fonction 1 octet nombre adresse de mots 1 octet 3 octets données 1er mot 2N oct. CRC 2 octets La longueur de la trame est égale au nombre d'octets à lire + 5. Il varie de 7 à 249. Le champ de données varie de 2 à 244 octets. En cas d'erreur sur l'échange, une réponse d'exception est envoyée. – Si la commande portait sur une lecture de mots de données (extension d'adresse des fonctions 3 et 4), les réponses possibles sont celles liées aux fonctions 3 et 4. m TEM60000F – Si la commande portait sur la lecture de la mémoire programme (télédéchargement de la mémoire), la réponse est un non acquittement (réponse d'exception 7). Utiliser alors la fonction 14 pour avoir le diagnostic précis. Remarque Cette commande est interdite en diffusion. n H.26 Annexes 3.12.4. Chargement de la mémoire (sous fonction 04) ß ECRITURE DE LA MEMOIRE DE DONNEES Cette fonction permet d'écrire le contenu de la mémoire automate (programme et / ou données). Elle ne fait pas de distinction sur les données qui sont écrites. L'écriture du contenu de la mémoire devra s'éffectuer par des demandes d'écriture successives de 122 mots maximum. Elle permet : – l'extension d'adressage pour la mémoire de données mots (adresses supérieures à 64K - adresse JBUS exprimée sur 3 octets), – le téléchargement de la mémoire programme. Syntaxe : ■ Demande : N° 0D L trame 04 num. fonction long. d'escl. trame 1 octet 1 octet 1 octet Nmots adresse données sous nombre adresse fonction de mots 1er mot 1 octet 1 octet 3 octets CRC16 CRC16 2 octets Le nombre de mots à écrire est exprimé en nombre de mots de 16 bits. Il doit être inférieur ou égal à 122. L'adresse est exprimée sur trois octets. La longueur de la trame est égale au nombre d'octets à écrire + 5. Il varie de 7 à 249. Le champ de données varie de 2 à 244 octets. ■ Réponse : N° 0D 02 04 num. d'escl. 1 octet fonction long. trame 1 octet sous fonction 1 octet 1 octet 00 CRC16 CRC16 1 octet 2 octets En cas d'erreur sur l'échange, une réponse d'exception est envoyée. – Si la commande portait sur une écriture de données (extension d'adresse des fonctions 6 et 16), les réponses possibles sont celles liées aux fonctions 6 et 16. – Si la commande portait sur l'écriture de la mémoire programme (téléchargement de la mémoire), la réponse est un non acquittement (réponse d'exception 7). Utiliser alors la fonction 14 pour avoir le diagnostic précis. TEM60000F n H.27 Annexes 3.12.5. Connexion à la mémoire automate (sous fonction 25) Cette commande permet de connecter le coupleur à la mémoire de l'automate en assurant l'exclusion mutuelle vis à vis des autres coupleurs. Interdite en diffusion. Syntaxe : ■ Demande : N° 0D N° esclave Code fonction 1 octet 1 octet ■ 01 19 CRC16 longueur trame 1 octet sous fonction 1 octet CRC16 2octets 02 19 00 CRC16 longueur trame 1 octet sous fonction 1 octet donnée 00 ou 80 1octet CRC16 Réponse : N° 0D N° esclave Code fonction 1 octet 1 octet 2octets La réponse 00 correspond à connexion réalisée, la réponse 80H correspond à connexion refusée (autre coupleur ou console actif sur la mémoire). La réponse 81H correspond à la ligne déjà connectée. En cas d'erreur lors de l'exécution de la commande, la réponse d'exception 7 (non acquittement) est renvoyée. Utiliser la commande 14 pour avoir le diagnostic précis. 3.12.6. Déconnexion de la mémoire (sous fonction 26) Cette commande permet de déconnecter le coupleur de la mémoire de l'automate et de la libérer pour les autres coupleurs. Interdite en diffusion. Syntaxe : ■ Demande : N° 0D N° esclave Code fonction 1 octet 1 octet ■ 01 1A CRC16 longueur trame 1 octet sous fonction 1 octet CRC16 2octets 02 1A 00 CRC16 longueur trame 1 octet sous fonction 1 octet donnée 00 ou 80 1octet CRC16 Réponse : N° 0D N° esclave Code fonction 1 octet 1 octet 2octets La réponse 00 correspond à déconnexion réalisée, la réponse 80H correspond à déconnexion refusée (le coupleur n'est pas connecté). En cas d'erreur lors de l'exécution de la commande, la réponse d'exception 7 (non acquittement) est renvoyée. Utiliser la commande 14 pour avoir le diagnostic précis. TEM60000F n H.28 Annexes 3.12.7. Téléchargement d'un programme automate via JBUS Pour effectuer un téléchargement de programme, il faut respecter un séquencement correct dans les différentes commandes JBUS et travailler sur des adresses particulières. ATTENTION : 1 - L'automate cible doit comporter une application qui définit au minimum une voie JBUS esclave cohérente avec le calculateur (JBUS maître) utilisé. Attention : il est impossible de télécharger un programme dans un automate dont la CPU est vierge. 2 - Il faut charger puis décharger toute la mémoire automate (moins 1 mot), quelle que soit la taille de l'application. 3 - Le fichier récupéré sur le calculateur n'est pas exploitable par ORPHEE (c'est une recopie de la mémoire programme automate). Déchargement de la mémoire programme Le principe est le suivant : 1 - Connexion à la mémoire automate (fonction 13, sous fonction 25). 2 - Lecture de toute la mémoire programme de l'automate de l'adresse (80000)h à (Y)h * Cette lecture est réalisée par n * requêtes de lecture de 122 mots, puis une requête de lecture de r * mots (fonction 13, sous fonction 03). ß 3 - Déconnexion de la mémoire automate (fonction 13, sous fonction 26). Chargement de la mémoire programme Attention : il est impossible de charger un programme dans un automate dont la CPU est vierge. L'automate destinataire doit contenir une application qui configure une voie JBUS esclave cohérente avec le maître JBUS du calculateur. Le principe est le suivant : 1 - Arrêt de l'automate (STOP) Si l'utilisateur emploie la commande JBUS (fonction 13, sous fonction 01), il doit respecter la séquence suivante suivante : Connexion mémoire automate / Arrêt de l'automate / Déconnexion de la mémoire automate. 2 - Connexion à la mémoire automate (fonction 13, sous fonction 25) 3 - Ecriture de toute la mémoire programme de l'automate de l'adresse (80000)h à (Y)h * Cette écriture est réalisée par n * requêtes d'écriture de 122 mots, puis une requête d'écriture de r * mots (fonction 13, sous fonction 04). TEM60000F n H.29 Annexes m TEM60000F 4 - Déconnexion de la mémoire automate (fonction 13, sous fonction 26). Si l'utilisateur désire commander par JBUS le passage en RUN de l'automate (fonction 13, sous fonction 02), il doit respecter la séquence suivante suivante : Connexion mémoire automate / Passage en RUN de l'automate / Déconnexion de la mémoire automate. Nota : Y, n et r, dépendent du type d'automate selon le tableau ci-dessous : Type d'automate Adresse début mémoire Adresse fin mémoire = Y Nombre de requêtes 122 mots (=n) Nombre de mots de la dernière requête (=r) APRIL2000 et APRIL5000 800000H 80FFFEH 537 21 APRIL5000 avec extension mémoire et CPU5020,5100 800000H 827FFEH 1342 115 APRIL5000 avec FIPIO 800000H 83FFFEH 2148 87 APRIL7000 CPU7000 800000H 857FFEH 2954 59 APRIL7000 CPU7020 800000H 87FFFEH 4297 53 n H.30 Annexes Exemple : Déchargement de la mémoire programme dans le cas d'un APRIL2000 ou d'un APRIL5000 sans extension CONNEXION MEMOIRE AUTOMATE (Fonction 13 sous fonction 25) Initialisation d'une variable @ = 800000H LECTURE 122 mots à l'adresse @ (Fonction 13 sous fonction 03) @ = @ + 122 NON 537 lectures effectuées OUI LECTURE 21 mots à l'adresse @ (Fonction 13 sous fonction 03) DECONNEXION MEMOIRE AUTOMATE (Fonction 13 sous fonction 26) TEM60000F n H.31 Annexes Exemple : Chargement de la mémoire programme dans le cas d'un APRIL5000 avec extension mémoire ARRET DE L'AUTOMATE * CONNEXION MEMOIRE AUTOMATE (Fonction 13 sous fonction 25) Initialisation d'une variable @ = 800000H ECRITURE 122 mots à l'adresse @ (Fonction 13 sous fonction 04) @ = @ + 122 NON 1342 écritures effectuées OUI ECRITURE 115 mots à l'adresse @ (Fonction 13 sous fonction 04) DECONNEXION MEMOIRE AUTOMATE (Fonction 13 sous fonction 26) n * Si arrêt par commande JBUS, respecter le séquencement suivant : Connexion mémoire automate/ Arrêt de l'automate / Déconnexion mémoire automate. TEM60000F H.32 Annexes 3.13. Diagnostic des commandes programme : fonction 14 Cette commande permet de préciser le diagnostic associé aux réponses d'exception 7 (non acquittement) reçues lors de l'exécution d'une commande programme (fonction 13). Elle fournit le diagnostic de la dernière commande programme exécutée. Commande interdite en diffusion. Syntaxe : ■ ■ Demande : N° 0E CRC16 Numéro d'esclave 1 octet Code fonction 1 octet CRC16 2 octets N° 0E 02 s/s fnct. Erreur CRC16 Numéro d'esclave 1 octet Code fonction 1 octet Longueur trame 1 octet code s/s fnct. 1 octet type de l'erreur 1 octet CRC16 Réponse : 2 octets Le code sous fonction renvoyé est le code sous fonction de la dernière commande programme exécutée, avec le bit de poids fort forçé à 1 si une erreur a été détectée lors de l'exécution. exemple : 82H pour une demande de marche (sous fonction 2). Le type de l'erreur est codé comme suit : N° Libellé 00 01 pas d'erreur commande inconnue, non autorisée ou mal exécutée (erreur de dialogue U.C. par exemple). adresse virtuelle invalide (hors du champ d'adressage maximum autorisé). mémoire protégée. L'utilisateur essaie de lire ou d'écrire une mémoire qui est déja occupée par un autre coupleur (principe de l'exclusion mutuelle). lecture ou écriture à des adresses physiques inexistantes (hors du champ d'adressage de l'automate considéré). nombre de mots invalide commande non autorisée, l'automate est en marche. commande non autorisée, l'automate n'étant pas connecté. 02 03 04 08 09 10 TEM60000F Type de la commande pouvant entraîner cette erreur toute commande lect. ou ecr. mémoire lect. ou ecr. mémoire lect. ou ecr. mémoire lect. ou ecr. mémoire écriture mémoire n marche, arrêt, lect. ou ecr. H.33 Annexes 3.14. Ecriture de n bits consécutifs : fonction 15 ■ demande n° esclave OF adresse 1er bit à forcer 1 octet 1 octet 2 octets nombre de bits à forcer 2 octets 1 ≤ X ≤ 1968 dernier bit du 1er octet nombre d'octets à forcer valeur des bits à forcer 1 octet x 1er bit 1er octet dernier bit octet N 1er bit octet N N octets réponse n° esclave OF adresse du 1er bit forcé nombre de bits forcés CRC 16 2 octets 2 octets 2 octets 1 octet 1 octet 1 ≤ X ≤ 1968 N.B. : si le numéro d'esclave est 0, tous le automates exécutent l'écriture sans émettre de réponse en retour. exemple Forcer à 1 les bits 200 et 201 de l'esclave 3. ■ ■ demande 3 ■ OF 200 0002 200 00 02 01 03 réponse 3 TEM60000F 2 octets 1 ≤ N ≤ 246 1er octet ■ n octets CRC 16 OF CRC 16 CRC 16 n H.34 Annexes 3.15. Ecriture de n mots consécutifs : fonction 16 (commande 6) ■ demande n° esclave 10 (*) 1 octet 1 octet adresse 1er mot à forcer nombre de mots à forcer nombre d'octets N valeur des mots à forcer CRC 16 2 octets 2 octets 1 octet n octets 2 octets 1 ≤ X ≤ 123 PF pf PF pf 2 ≤ N ≤ 246 PF PF 1er mot à forcer ■ pf dernier mot à forcer réponse n° esclave 10 (*) 1 octet 1 octet adresse du 1er à mot forcé nombre de mots forcés CRC 16 2 octets 2 octets 2 octets N.B. : si le numéro d'esclave = 0, tous le automates exécutent l'écriture sans émettre de réponse en retour. réponse Forçage des mots 0800 à 0803 de l'esclave n° 1 : (0800) = 0001 (0801) = 0010 (0802) = 0100 (0803) = 1000 ■ ■ demande 01 ■ 10(*) 0004 08 0001 0010 0100 1000 0800 0004 CRC 16 CRC 16 réponse 01 10(*) (*) 10H = 16D TEM60000F 0800 n H.35 Annexes 4. Adressage de la mémoire Bits d'entrée (1) APRIL2000 Adresse automate Adresse JBUS APRIL5000 Adresse automate Adresse JBUS APRIL7000 Adresse automate Adresse JBUS %IX00000 0 %IX00000 0 %IX00000 0 %IX00831 012FH %IX06931 0D3FH %IX96931 9D3FH %IX20100 A000H B9BFH FIPIO Type de variable 2020H A000H B83F voir détails de la zone Grafcet renvoi (2) B83FH voir détails de la zone Grafcet renvoi (2) %QX00000 0 %QX00000 0 %QX00000 0 %QX00831 012FH %QX06931 0D3FH %QX96931 9D3FH %QX20100 2020H %IX26231 Accessible par fonctions JBUS 2C5FH Bits de sortie (1) voir détails de la zone Grafcet renvoi (2) A000H %QX26231 FIPIO 2 Bits grafcet 2C5FH 2 Bits internes non sauvegardés %MX00000 A000H %MX00000 A000H %MX00000 A000H %MX4096 AFFFH %MX4096 (*) AFFFH (*) %MX16384 DFFFH Bits internes sauvegardés %RX00000 E000H %RX00000 E000H %RX00000 E000H %RX2048 E7FFH %RX2048 (*) E7FFH (*) %RX08192 FFFFH %MW00000 0 %MW00000 0 fin de la zone 2BFFH fin de la zone EFFFH de données AB7FH (Ext. M) de données 5EF7FH (Ext. M) 1, 5, 7 et 15 Mots de données (3) %MW, %MD, %MW00000 0 fin de la zone 2BFFH %FD et %CH de données Trajectoires axes (3) --------------- Bloc 0 Bloc 100 Bloc 400 Mots système (4) --------------- Mots programme --------------- 0000H 3, 6, 16 et 13 2C00H AB80 H Bloc 0 F000H 5EF80 H 3FFFH BF7FH (ssExt.) (Ext. M) Bloc 400 13FFFH 63F7F H 3, 6, 16 et 13 FB7FH (ssExt.) (Ext. M) --------------- 0000H --------------- 0000H 4 25FFH 25FFH 800000H --------------- 800000H 80FFFFH 25FFH --------------- 800000H 857FFFH 13 CPU7000 80FFFFH 827FFFH (Ext. M) 83FFFFH (FIPIO) 87FFFFH CPU7020 n (*) A partir d'ORPHEE 7.1, %MX16384 (DFFFH), %RX8192 (FFFFH) pour un APRIL5000 (sauf pour l'UC 5001sans extension mémoire dont la capacité reste inchangée). TEM60000F H.36 Annexes (1) : La correspondance entre l'adresse automate d'un bit d'entrée / sortie et son adresse JBUS est donnée par la formule : @JBUSH = (N° canal x 4096 + N° rack x 512 + N° emplacement x 32 + N° voie ) H (N° de canal = 0 ; N° de rack = 0 ; N° de voie 0 ou 1). Exemple : Adresse JBUS du bit d'entrée %IX26507 : 2 x 4096 + 6 x 512 + 5 x 32 + 7 = 11431 = 2CA7H Le numéro de canal varie de 0 à 9. Il vaut 0 pour un APRIL5000 ou un APRIL2000. Le numéro de rack varie de 0 à 6 (3 racks maxi par canal d'un APRIL 7000). Il vaut 0 pour un APRIL2000. Le numéro d'emplacement varie de 0 à 9. Le numéro de voie varie de 0 à 31. Cette correspondance peut également être déterminée en jouant sur les décalages des bits d'un mot selon le schéma ci dessous : @ automate Ex : %IX26507 N° canal N° rack 2 2 6 N° empl. 5 C N° voie 7 A 7 @ JBUS 2CA7 Le mode opératoire est le suivant : – Coder le numéro de canal en binaire sur un quartet, – Coder le numéro de rack en binaire sur les trois bits suivants, – Coder le numéro d'emplacement en binaire sur les quatres bits suivants, – Coder le numéro de voie en binaire sur les cinq derniers bits, – Lire le résultat en hexadécimal. TEM60000F n H.37 Annexes (2) : Les bits d'étapes Grafcet sont rangés séquentiellement en mémoire aux adresses indiquées dans les tableaux ci-dessous : APRIL7000 - APRIL5000 - APRIL2000 adresses automate Bits d'étapes Bits d'état graphes maîtres Bits d'état graphes esclaves TEM60000F adresses JBUS Graphes maîtres %GM0 : X0 ↕ %GM15 : X31 0B7C0H ↕ 0B9BFH Graphes esclaves %GE0 : X0 ↕ %GE31 : X31 0B3C0H ↕ 0B7BFH macro-étapes %XE0 : X0 ↕ %XE79 : X31 0A9C0H ↕ 0B3BFH INActif %GM0 : INA ↕ %GM15 : INA 0A9B0H ↕ 0A9BFH ACTif %GM0 : ACT ↕ %GM15 : ACT 0A9A0H ↕ 0A9AFH Gelé INactif %GM0 : GIN ↕ %GM15 : GIN 0A990H ↕ 0A99FH Gelé ACtif %GM0 : GAC ↕ %GM15 : GAC 0A980H ↕ 0A98FH INActif %GE0 : INA ↕ %GE31 : INA 0A960H ↕ 0A97FH ACTif %GE0 : ACT ↕ %GE31 : ACT 0A940H ↕ 0A95FH Gelé INactif %GE0 : GIN ↕ %GE31 : GIN 0A920H ↕ 0A93FH Gelé ACtif %GE0 : GAC ↕ %GE31 : GAC 0A900H ↕ 0A91FH n H.38 Annexes APRIL7000 - APRIL5000 - APRIL2000 Bits de débordement de durée d'étapes adresses automate adresses JBUS %GM0 : MIN ↕ %GM15 : MIN 0A8F0H ↕ 0A8FFH %GM0 : MAX ↕ %GM15 : MAX 0A8E0H ↕ 0A8EFH %GE0 : MIN ↕ %GE31 : MIN 0A8C0H ↕ 0A8DFH %GE0 : MAX ↕ %GE31 : MAX 0A8A0H ↕ 0A8BFH %XE0 : MIN ↕ %XE79 : MIN 0A850H ↕ 0A89FH %XE0 : MAX ↕ %XE79 : MAX 0A800H ↕ 0A84FH Graphes maîtres %GM0 : NUM ↕ %GM15 : NUM 0A700H à 0A70FH ↕ 0A7F0H à 0A7FFH Graphes esclaves %GE0 : NUM ↕ %GE31 : NUM 0A500H à 0A50FH ↕ 0A6F0H à 0A6FFH Macro-étapes %XE0 : NUM ↕ %XE79 : NUM 0A000H à 0A00FH ↕ 0A4F0H à 0A4FFH Graphes maîtres Graphes esclaves Macro-étapes Numéro de l'étape ayant débordé (*) (*) La zone Grafcet est accessible par bits. Pour lire un numéro d'étape ayant débordé, il suffit de lire 16 bits. TEM60000F n H.39 Annexes (3) : Les tailles mémoire de données sont données ci-dessous : April2000/April5000 sans extension mémoire : 16384 mots de 16 bits April5000 avec extension mémoire : 49152 mots de 16 bits April7000 sans extension mémoire : 81920 mots de 16 bits April7000 avec extension mémoire : 409600 mots de 16 bits Le découpage de la zone mots de données entre mots simples, mots doubles, réels, chaînes de caractères et trajectoires axes est fonction de la configuration mémoire. Il dépend de la présence ou non : – de carte d'extension mémoire – de régulateurs. La limite de chaque zone est donnée par la console en fonction de la configuration déclarée. (4) : Les mots système (mots d'entrée) ne sont accessible qu'en lecture. Les informations utiles à rapatrier dans le maître sont situées aux adresses hexadécimales suivantes : 00 : 01 : 02 : 03 : 04 : 05 : 06 : temps de cycle programmé temps de cycle réel mesuré, hors combinatoire de fond temps de cycle minimum mesuré, hors combinatoire de fond temps de cycle maximum mesuré, hors combinatoire de fond temps de cycle réel mesuré, avec combinatoire de fond temps de cycle minimum mesuré, avec combinatoire de fond temps de cycle maximum mesuré, avec combinatoire de fond 18 : 19 : 1A : 1B : 1C : année (00 → 99) / mois (01 → 12) jour (00 → 31) / jour dans la semaine (00 → 07) heure (00 → 23) / minute (00 → 59) seconde (00 → 59) / xx (non significatif) Compteur milliseconde 20 : 21 : état de la clé U.C. : 01 = STOP, 00 = RUN dans le poids fort mode (00 = RUN, 80 = STOP) dans le poids fort (01 = RUN, 81 = STOP si mode dégradé). 31 : ! Signature de l'application codée sur 2 octets le poids fort et le poids faible de la signature sont inversés). ( 32 à 35 : nom de l'application TEM60000F n H.40 Annexes TEM60000F n H.41 Annexes 5. Codage des %FDn en mémoire Le codage des mots flottants en mémoire s'effectue conformément à la norme IEEE. S (Signe) E (Exposant) F (Fraction) (sur 23 bits) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Octet 1 (adresse x) Octet 2 (adresse x +1) Octet 3 (adresse x +2) Octet 4 (adresse x +3) Conversion entre un mot flottant et sa représentation en mémoire : X = (-1)S x (1 + F x 2-23) x 2(E - 127) Exemples : 1 2.35 2.4832E14 -3.2164E25 6.2432E-8 -5.1238E-14 3F800000 40166666 5761D985 E9D4D7EF 3386125A A966C164 Dans le deuxième exemple ci-dessus, le réel est codé en hexadécimal 40166666, soit en binaire : 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 codage : 40166666 Exposant : 80 signe : + Fraction : 166666 soit : E = 80H et F = 166666H, ou encore E = 12810 et F = 146800610 F x 2-23 = 1468006 x 2-23 = 0.174999952 X = (-1)0 x 1.174999952 x 2(128-127) = 2.3499999 TEM60000F n H.42 Annexes TEM60000F n H.43 Annexes 6. Algorithme de calcul du CRC 16 Hex FFFF → CRC 16 CRC 16 ⊕ OCTET → CRC 16 n=0 Décalage à droite CRC 16 non Retenue oui CRC 16 ⊕ POLY → CRC 16 n=n+1 non n>7 oui Octet suivant non Message terminé oui FIN ⊕ = ou exclusif n = nombre de bits d'information POLY = polynôme de calcul du CRC 16 = 1010 0000 0000 0001 (polynôme générateur =1 + x13 + x15) Dans le CRC 16, le 1er octet émis est celui des poids faibles. TEM60000F n H.44 Annexes x Exemple de calcul du CRC (trame 0207) Initialisation registre CRC ⊕ du 1er caractère 1111 0000 1111 0000 1111 0000 1111 0010 Décalage 1 1111 0111 1010 1111 1111 0000 1111 1111 0000 1101 1110 | 1 0001 Décalage 2 1101 0110 1010 1111 1111 0000 1111 1111 0000 1111 1111 | 1 0001 Décalage 3 Décalage 4 1100 0110 0011 1010 1111 0111 0011 0000 1111 1111 1111 0000 1110 1111 | 0 0011 | 1 0001 Décalage 5 Décalage 6 1001 0100 0010 1010 0011 1001 0100 0000 1111 1111 1111 0000 1110 1111 | 0 1111 | 1 0001 Décalage 7 Décalage 8 1000 0100 0010 1010 0100 0010 0001 0000 1111 0111 0011 0000 1110 1111 | 0 1111 | 0 0001 1000 0000 0001 0000 0011 0000 1110 0111 Décalage 1 1000 0100 1010 0001 0000 0000 0011 1001 0000 1001 1100 | 1 0001 Décalage 2 1110 0111 1010 0000 0000 0000 1001 0100 0000 1101 1110 | 1 0001 Décalage 3 1101 0110 1010 0000 1000 0000 0100 0010 0000 1111 0111 | 1 0001 Décalage 4 Décalage 5 1100 0110 0011 1010 1000 0100 0010 0000 0010 0001 0000 0000 0110 0011 | 0 1001 | 1 0001 1001 0100 0010 0001 0010 1001 0100 0010 0000 0000 1000 0100 1000 0100 | 0 0010 | 0 0001 | 0 Flag à 1, ⊕ polynome Flag à 1, ⊕ polynome Flag à 0, ⊕ 2ème caractère Décalage 6 Décalage 7 Décalage 8 poids fort Le CRC 16 de la trame est donc : 4112 TEM60000F poids faible n H.45 Annexes 7. Particularité du mode ASCII Ce mode n'est supporté que par l'esclave. Structure de la trame JBUS ASCII : numéro code d'esclave fonction • • x 1 octet 2 octets 2 octets information PF pf LRC CR LF n octets 2 octets 1 octet 1 octet termes analogues au protocole JBUS mais codés en caractères ASCII LRC : somme en hexadécimal, modulo FF, du contenu de la trame, hors délimiteurs, complémentée à 2 et codée en ASCII. Les délimiteurs sont : (3A), CR (0D), LF (0A). Exemple commande 8 (diagnostic) de l'esclave 1. 3A 30 31 30 38 30 30 30 30 n° code d'esclave fonction 36 31 36 information 32 33 34 0D 0A LRC délimiteurs délimiteur La trame binaire équivalente est la suivante : 01 08 00 00 61 62 4872 CRC Calcul du LRC : – Somme en hexa, module FF, du contenu de la trame : 01 + 08 + 00 + 00 + 61 + 62 = CCH – Complément à 2 : CCH = complément = ajout 1 = 1100 1100 0011 0011 +1 0011 0100 4 3 – Codage en ASCII 3 ➝ 33 4 ➝ 34 ➩ LRC = 3334 TEM60000F n H.46 Annexes TEM60000F n H.47 Annexes 8. Table des caractères ASCII - hexadécimal TEM60000F Caractère ASCII Code hexa Code décimal Caractère ASCII Code hexa Code décimal NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ! " # $ % & ' ( ) * + , – ° / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 n H.48 Annexes TEM60000F Caractère ASCII Code hexa Code décimal Caractère ASCII Code hexa Code décimal @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ / ] ^ — ' 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 n