Schneider Electric April2000,April3000, Modules de communication Jbus,PSP,FAV Mode d'emploi
Ajouter à Mes manuels232 Des pages
▼
Scroll to page 2
of
232
1 Glossaire des pictogrammes utilisés 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, … TEM15050F 2 TEM15050F Avertissement • La liste des modules CPU concernés par la présente documentation TEM15050F est : en APRIL2000 en APRIL3000 CPU2010/2011 CPU2220:2221 CPU2250/2551 CPU2550/2551 CPU2320 CPU3221 CPU3251 CPU3321 La programmation des modules CPU destinés à l'APRIL3000 est possible à partir de : - la version 5.2/3000 du logiciel ORPHEE. - la version 1 du logiciel MINI-ORPHEE réservé aux APRIL2000 et APRIL3000. TEM15050F TEM15050F Introduction Le document présente les CPU de communication pour les automates APRIL2000 et APRIL3000. • En APRIL2000, neuf modules sont disponibles : - Les modules CPU2010 et CPU2011 présentant un port RS232/ BDC JBUS Esclave. - Les modules CPU2220 et CPU222I présentant deux ports RS232D/ BDC. Chaque coupleur est configurable indépendamment en JBUS Maître, JBUS Esclave, PSP ou FAV (1). - Les modules CPU2250 et CPU2251 présentant un port RS232D/ BDC et un port RS485. Chaque port est configurable indépendamment en JBUS Maître, JBUS esclave, PSP ou FAV (1).. - Les modules CPU2550 et CPU2551 présentant 2 ports de communication RS485. Chaque port est configurable indépendamment en JBUS maître, JBUS esclave, PSP ou FAV (1).. - Le module CPU2320 présentant les mêmes fonctionnalités que le module CPU2221 ; il possède un 3ème port Esclave RS232D, disponible sur le port console. • En APRIL3000, trois modules sont disponibles : - Le module CPU3221 présentant deux ports RS232D/BDC. Chaque port est configurable indépendamment en JBUS Maître, JBUS Esclave, PSP ou FAV (1). - Le module CPU3251 présentant un port RS232D et BDC sur la voie 0 et un port RS485 sur la voie 1. Chaque port est configurable indépendamment en JBUS Maître, JBUS Esclave, PSP ou FAV (1). - Le module CPU3321 présente les mêmes fonctionnalités que la CPU3221 et possède en plus un 3ème port Esclave RS232D disponible sur port console. (1) TEM15050F Fonction Accès Variables sur port 0 uniquement. TEM15050F 1 SOMMAIRE A - Présentation B - Mise en œuvre matérielle C - Configuration et initialisation D - Exploitation E - Programmation du port série programmable (BFC) F - Programmation des échanges JBUS (BFC) G - Gestion des accès à la mémoire H - Annexes I - Troisième port de communication JBUS esclave via le coupleur console. (CPU 2320 et CPU 3321) TEM15050F 2 Pour une recherche rapide… Pages - BFC MODEM BFC DIAG BFC MOD_COM Modification de paramètres Chapitre C § 3 Chapitre F § 3 Chapitre C § 4 Chapitre D § 1 C17 F19 C19 D5 Chapitre E § 1 Chapitre E § 1 Chapitre E § 2 Chapitre E § 2 Chapitre E § 2 Chapitre E § 3 E6 E9 E17 E20 E25 E49 - BFC WRITE - BFC READ - PROTECTION Chapitre F § 1 Chapitre F § 2 Chapitre G § 1 F5 F11 G5 CODES D'ERREUR Chapitre H § 1 H5 PSP : - BFC SEND BFC RECEIVE BFC SSEND BFC SRECEIVE BFC SSTOP FAV JBUS : TEM15050F 3 Sommaire détaillé Pages A.Présentation 1. Fonctions assurées par la carte 1.1. Module CPU2010/CPU2011 version <V10 1.1. Module CPU2011 version ≥V10 1.3. Module CPU2220/2320/2250/2550-CPU2221/2251/2551 1.4. Modules CPU3221/3251/3321 1.5. Compatibilité des différentes CPU 2. Le protocole JBUS 3. Le port série programmable (sauf CPU2010/CPU2011) 3.1. Caractérisation des échanges 3.2. Traitement réalisé par la carte 3.3. Gestion des échanges 4. Fonction d’accès aux variables (sauf CPU2010/CPU2011) 5. Les interfaces de transmission 5.1. Liaison RS 232 D (V24) 5.2. Liaison boucle de courant 5.3. Liaison RS 485 5.4. Comparatif des performances des 3 types de liaison B.Mise en œuvre matérielle 1. Liaison RS232D 1.1. Généralités 1.2. Connexion ETTD ↔ ETTD 1.3. Connexion ETTD ↔ ETCD 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) 3. Boucle de courant 20 mA 3.1. Généralités 3.2. Schéma général des liaisons sur le connecteur SubD 3.3. Exemple de câblage 3.3.1. Poste maître actif en émission et en réception 3.3.2. Poste maître actif en émission et passif en réception 3.3.3. Réseau mixte APRIL2000/3000/5000/7000 APRILPB / APRILSMC 3.4. Longueur maximale de la liaison 3.4.1. En fonction de la résistance du câble 3.4.2. En fonction de la vitesse de transmission 3.5. Caractéristiques électriques de la liaison 4. Précautions de câblage 4.1. Principe 4.2. Le circuit de mise à la terre du blindage d'un câble TEM15050F A.5 A.5 A.6 A.7 A.7 A.9 A.11 A.13 A.13 A.13 A.14 A.15 A.17 A.17 A.17 A.19 A.20 B.5 B.5 B.7 B.7 B.9 B.9 B.10 B.10 B.11 B.11 B.11 B.12 B.12 B.14 B.15 B.17 B.17 B.18 B.19 B.19 B.19 B.20 B.21 B.21 B.21 B.21 B.23 B.23 B.24 4 Pages C.Présentation 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 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. Modification du paramétrage d'une voie par programme : BFC MOD_COM D. Mise en œuvre matérielle 1. Fonctions disponibles en exploitation 1.1. Modification en ligne des paramètres 1.2. Visualisation des compteurs de diagnostic 2. Modes de marche de la carte JBUS/PSP C.5 C.7 C.9 C.12 C.13 C.15 C.15 C.15 C.17 C.17 C.18 C.19 D.5 D.5 D.8 D.9 E. Programmation du port série programmable 1. Les BFC à Lancement et Contrôle Intégrés (LCI) E.5 1.1. Emission : BFC SEND E.6 1.1.1. Description des paramètres E.6 1.1.2. Fonctionnement E.8 1.2. Réception : BFC RECEIVE E.9 1.2.1. Description des paramètres E.9 1.2.2. Fonctionnement E.11 1.3. Exemples de programmation E.13 1.3.1. Gestion des bits EN et ACT de chaque BFC E.13 1.3.2. Lancement de plusieurs échanges sans gérer les bits d’activité intermédiaires E.14 2. Les BFC à Lancement et Contrôle Séparés (LCS) E.15 2.1. Principe E.15 2.2. Emission : BFC SSEND E.17 2.2.1 Description des paramètres E.17 2.2.2. Fonctionnement E.19 2.3. Réception : BFC SRECEIVE E.20 2.3.1 Description des paramètres E.20 2.3.2. Fonctionnement E.23 2.4. Arrêt de communication JBUS et PSP : BFC SSTOP E.25 2.4.1 Description des paramètres E.25 2.4.2. Fonctionnement E.27 TEM15050F 5 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 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 TEM15050F E.28 E.28 E.30 E.31 E.32 E.32 E.32 E.32 E.33 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 (automate maître) 1.1. Description des paramètres 1.2. Fonctionnement 1.2.1. Ecriture unique 1.2.2. Ecriture répétitive 2.Lecture 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é de la 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.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 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 gestion 2.2. Utilisation des bits de gestion par le programme G.5 G.6 G.7 G.9 G.9 G.10 6 Pages H.Annexes 1. Liste des messages d'erreur H.5 2.Glossaire H.7 3. Protocole JBUS H.11 3.1. Principe H.11 3.2. Présentation des trames de demande et de réponse H.12 3.3. Contrôle des messages reçus par l'esclave H.13 3.4. Lecture de n bits : fonction 1 ou 2 H.14 3.5. Lecture de n mots : fonction 3 ou 4 H.15 3.6. Ecriture d'un bit : fonction 5 H.16 3.7. Ecriture d'un mot : fonction 6 H.16 3.8. Lecture rapide de 8 bits : fonction 7 H.17 3.9. Lecture des compteurs de diagnostic : fonction 8 H.18 3.10. Lecture des compteurs d'événement : fonction 11 H.20 3.11. Lecture du "buffer trace" : fonction 12 H.21 3.12. Commandes programme : fonction 13 H.22 3.12.1. Arrêt de la CPU (sous fonction 01) H.23 3.12.2 Passage en marche de la CPU (sous fonction 02) H.24 3.12.3. Déchargement de la mémoire (sous fonction 03) H.25 3.12.4. Chargement de la mémoire (sous fonction 04) H.26 3.12.5. Connexion à la mémoire automate (s-fonction 25) H.27 3.12.6. Déconnexion de la mémoire (sous fonction 26) H.27 3.12.7. Téléchargement d'un programme automate via JBUS H.28 3.13. Diagnostic des commandes programme : fonction 14 H.32 3.14. Ecriture de n bits consécutifs : fonction 15 H.33 3.15. Ecriture de n mots consécutifs : fonction 16 (commande 6) 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 I. 3ème port de communication JBUS via le coupleur console 1.Présentation 2. Le protocole JBUS sur cette voie 2.1. Les fonctions disponibles 2.2. Les codes d'exceptions 2.3. Pas de diffusion possible 3. L'interface de transmission 4. Mise en œuvre matérielle 5. Configuration et initialisation 5.1. Configuration 5.2. Paramétrage de la liaison console 6.Exploitation 7. Résumé de la fonction JBUS sur la liaison console TEM15050F I.5 I.7 I.7 I.7 I.7 I.9 I.11 I.13 I.13 I.13 I.15 I.17 A.1 présentation A. Présentation TEM15050F A.2 présentation Ce manuel décrit les fonctions de communication. Les fonctions de base des CPU sont décrites dans le manuel de référence de l'APRIL2000/3000 - TEM15000F. Avant-propos Avant de lire ce document, vous devez lire la notice APRIL2000/3000 (réf. TEM15000F). TEM15050F A.3 présentation Sommaire Pages 1. Fonctions assurées par la carte 1.1. Modules CPU2010/CPU2011 version <V10 1.2. Modules CPU2011 version ≥V10 1.3. ModulesCPU2220/2320/2250/2550-CPU2221/2251/2551 1.4. Modules CPU3221/3251/3321 1.5. Compatibilité des différentes CPU TEM15050F A.5 A.5 A.6 A.7 A.7 A.9 2. Le protocole JBUS A.11 3. Le port série programmable (sauf CPU2010/CPU2011) 3.1. Caractérisation des échanges 3.2. Traitement réalisé par la carte 3.3. Gestion des échanges A.13 A.13 A.13 A.14 4. Fonction d’accès aux variables (sauf CPU2010/CPU2011) A.15 5. Les interfaces de transmission 5.1. Liaison RS 232 D (V24) 5.2. Liaison boucle de courant 5.3. Liaison RS 485 5.4. Comparatif des performances des 3 types de liaison A.17 A.17 A.17 A.19 A.20 A.4 présentation TEM15050F A.5 présentation 1. Fonctions assurées par la carte 1.1. Module CPU2010/CPU2011 Version < V10 Le module CPU2010/CPU2011 assure les fonctions de la CPU2000/CPU2001 (voir la documentation automate APRIL2000/3000 : réf. TEM15000), ainsi que l'échange d'informations de type bits ou mots, entre automate de la série 1000 ou un autre équipement (calculateur) selon le protocole JBUS. L'automate APRIL2000 équipé de la CPU2010/CPU2011 est considéré comme esclave. JBUS CHANNEL1 RS232C loop Visualisation de l'activité de la liaison JBUS Visualisation : voyant RUN . voyant éteint, automate en STOP . voyant éclairé, automate en RUN . voyant clignotant, CPU en défaut Liaison JBUS RS232D ou boucle de courant 20 mA passive paramétrable par ORPHEE Vitesse 75 à 19 200 bauds Connecteur SUBD 25 points mâle 2000/3000 CLoop 20 mA Connecteur bloc de visualisation DISPLAY Commande des modes de fonctionnement RUN/STOP par un interrupteur RUN Liaison console RS232D 19 200 bauds Connecteur SUBD 9 points mâle TERMINAL LINK RS 232 D STOP LITHIUM BATTERY 3,5 V SIZE AA (or R6) CAUTION REMOVE POWER ON Emplacement pile LAST CHANGE Mémoire programme : 64 Kmots de 16 bits, Ram sauvegardée par pile. Mémoire de donnée : TEM15050F 16 Kmots de 16 bits, Ram sauvegardée par pile. A.6 présentation 1.2. Module CPU2011 Version ≥V10 Le module CPU2010/CPU2011 assure les fonctions de la CPU2001 (voir la documentation automate APRIL2000/3000 : réf. TEM15000), ainsi que l'échange d'informations de type bits ou mots, entre automate de la série 1000 ou un autre équipement (calculateur) selon le protocole JBUS. L'automate APRIL2000 équipé de la CPU2011 est considéré comme esclave. Visualisation de défaut de transmission du port 0 0 Visualisation de l'activité du port 0 Connecteur bloc de visualisation 2000/3000 Liaison JBUS RS232D ou boucle de courant 20 mA passive paramétrable par ORPHEE Vitesse 75 à 19 200 bauds Connecteur SUBD 25 points mâle Visualisation : voyant RUN . voyant éteint, automate en STOP . voyant éclairé, automate en RUN . voyant clignotant, CPU en défaut Commande des modes de fonctionnement RUN/STOP par un interrupteur 1 TERMINAL LINK RS232D Liaison console RS232D 19 200 bauds Connecteur SUBD 9 points mâle Port n° 1 Emplacement pile Mémoire programme : 64 Kmots de 16 bits, Ram sauvegardée par pile. Mémoire de donnée : TEM15050F 16 Kmots de 16 bits, Ram sauvegardée par pile. A.7 présentation 1.3. Modules CPU2220/2320/2250/2550-CPU2221/2251/2551 Les modules CPU2220/2320/2250/2550-CPU2221/2251/2551 assurent les fonctions de la CPU2000/CPU2001 (voir documentation Automate APRIL2000/3000 : réf. TEM15000), ainsi que l'échange d'informations de type bits ou mots, entre automates de la série 1000 ou un autre équipement (calculateur, console, ...). Le protocole peut être : - JBUS - PSP (Port Série Programmable) - FAV (Fonction Accès Variables) L'automate APRIL2000 équipé de la CPU2220/2320/2250/2550-CPU2221/2251 peut être maître ou esclave. Les modules CPU2220/2320/2250/2550-CPU2221/2251 disposent de 2 ports pouvant être utilisés indépendamment selon le protocole JBUS, PSP ou FAV, le paramétrage étant réalisé par ORPHEE. Tableau des types deports sur les différentes CPU : CPU2220/1 2 ports Jbus maitre/esclave ou PSP*, 2 X RS 232 / BC CPU2250/1 2 ports Jbus maitre/esclave ou PSP*, RS 232 / BC (voie 0) et RS 485 (voie 1) CPU2320/1 3 ports : 2 ports Jbus maitre/esclave ou PSP*, 2 X RS 232 / BC et possibilité Jbus esclave 1 port Jbus esclave sur port CPU 1 X RS 232 / BC CPU2550/1 2 ports Jbus maitre/esclave ou PSP*, 2 X RS 485 * PSP: port série programmable 1.4. Modules CPU3221/3251 et CPU3321 Les modules CPU3221/3251/3321 assurent les fonctions de la CPU3001. (Voir documentation Automate APRIL2000/3000 Réf. TEM15000), ainsi que l'échange d'informations de type Bits ou mots, entre automates de la série 1000 ou un autre équipement (calculateur, console,...). Le protocole peut être : - JBUS - PSP (Port série Programmable) - FAV (Fonction Accès Variables) L'automate APRIL3000 équipé de la CPU3221/3251/3321 peut être maître ou esclave. Les modules CPU3221/3251/3321 disposent de deux ports pouvant être utilisés indépendamment selon le protocole JBUS, PSP ou FAV, le paramétrage étant réalisé par ORPHEE. CPU3221 CPU3251 CPU3321 2 ports Jbus maitre/esclave ou PSP*, 2 X RS 232 / BC 2 ports Jbus maitre/esclave ou PSP*, RS 232 / BC (voie 0) et RS 485 (voie 1) 3 ports : 2 ports Jbus maitre/esclave ou PSP*, 2 X RS 232 / BC et possibilité Jbus esclave 1 port Jbus esclave sur port CPU 1 X RS 232 / BC * PSP: port série programmable TEM15050F A.8 présentation PORT 0 CPU2220/1 : RS232D/BDC CPU2250/1 : RS232D/BDC CPU2550/1 : RS485 CPU3321 : RS232D/BDC CPU3251 : RS232D CPU3321 : RS232D Connecteur SUBD 25 points mâle Connecteur bloc de visualisation Visualisation : voyant RUN . voyant éteint, automate en STOP . voyant éclairé, automate en RUN . voyant clignotant, CPU en défaut PORT 1 CPU2220/1 : RS232D/BDC CPU2250/1 : RS485 CPU2550/1 : RS485 CPU3221 : RS232D/BDC CPU3251 : RS485 CPU3321 : RS232D Connecteur SUBD 25 points mâle Commande des modes de fonctionnement RUN/STOP par un interrupteur Liaison console RS232D 19 200 bauds Connecteur SUBD 9 points mâle ou 3ème port de communication RS232D pour CPU3321 Emplacement pile VISUALISATION : Sept leds vertes et deux leds rouges sont présentes sur la carte. - leds rouges - FLT0 : allumée = défaut de transmission port 0 (vitesse, format, parité, ....) - FLT1 : allumée = défaut de transmission port 1 (vitesse, format, parité,....) - leds vertes - COM OK : allumée = pas de défaut de la carte de communication (clignote en phase initialisation ou défaut dialogue avec la CPU) - ACT0 : activité port 0 - ACT1 : activité port 1 - REC0 : réception boucle de courant port 0 - REC1 : réception boucle de courant port 1 - SEND0 : émission boucle de courant port 0 ( visualisation possible de la continuité de la BDC ) - SEND1 : émission boucle de courant port 1 ( visualisation possible de la continuité de la BDC ) TEM15050F A.9 présentation Maître APRIL5000/7000 APRIL2000 avec modules CPU2220/2320/2250/2550-CPU2221/2251/2551 APRIL3000 avec modules CPU3221/3251/3321 CALCULATEUR JBUS APRIL5000 APRIL7000 APRIL2000 avec CPU2010/1 Esclaves Esclaves APRIL2000 avec CPU2220/2320/2250/2550CPU2221/2251/2551 APRIL3000 avec CPU3221/3251/3321 Esclaves/PSP 1.5. Compatibilité des différentes CPU En April2000 la compatibilité est croissante : CPU2000 → CPU2010 → CPU2220/2250/2550 CPU2001 → CPU2011 → CPU2221/2320/2251/2551 Un programme conçue pour une CPU2000 fonctionne correctement sur CPU 2010, etc En April3000 la compatibilité est croissante : CPU3001 → CPU3221 → CPU3251→ CPU3321 TEM15050F A.10 présentation TEM15050F A.11 présentation 2. Le protocole JBUS Le protocole JBUS permet de connecter entre-eux des automates de la série 1000 (CPU2010/2220/2320/2250/2550-CPU2011/2221/2251/2551en APRIL2000 et CPU3221/3251/3321 en APRIL3000) ainsi que des automates SMC 50/600 et PB 200/ 400. Le nombre maximum de stations (esclaves) sur le réseau est de 255. Il est possible d'adresser (numéroter) les stations de 1 à 255 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 (sauf CPU2010/2011) - Commande programme (téléchargement, …) - Diagnostic associé aux commandes programmes - Ecriture de n bits - Ecriture de n mots NOTA : Les CPU3221/3251/3321 peuvent avoir une fonction maître ou esclave. (Voir annexe pour l'utilisation du 3ème port de communication). LaCPU2010/CPU2011aunefonctionesclave.LesCPU2220/2320/2250/2550-CPU2221/ 2251/2551 peuvent avoir une fonction maître ou esclave. 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. TEM15050F A.12 présentation Maître diffusion Diagramme d'occupation du support de transmission Attente MAITRE ///////// DEMANDE ///////// DIFFUSION Attente /////////////////// ////////// à esclave N à esclave 1 ///////// REPONSE ///////// { ESCLAVE 1 Attente DEMANDE //// Analyse de la réponse et préparation de l'échange suivant Traitement de la demande ///////// ////////// REPONSE { ESCLAVE N 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. 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, –… TEM15050F A.13 présentation 3. Le port série programmable (sauf CPU2010/2011) 3.1. Caractérisation des échanges Le port série programmable (PSP) permet l'échange d'informations sur une ligne série entre un automate APRIL2000/APRIL3000/APRIL5000/APRIL7000 et un autre équipement (périphérique, calculateur,…). 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.1 et les nouvelles versions de CPU donnent 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. 3.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. TEM15050F A.14 présentation 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'une augmentation du temps de cycle automate. Ce type de gestion sera de préférence employé dans des liaisons inter automates, automate calculateur, … • Les échanges gérés par l'intermédiaire de BFC à lancement et contrôle séparés : L'intérêtd'unetellegestionestdesimplifierlaprogrammationdeséchanges.L'utilisateur lance simplement l'émission ou la réception désirée, 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 utilisé dans des liaisons homme/machine (terminal - automate, …) TEM15050F A.15 présentation 4. Fonction d’accès aux variables (sauf CPU2010/1) 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 RS232D 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. TEM15050F A.16 présentation TEM15050F A.17 présentation 5. Les interfaces de transmission 5.1. Liaison RS 232 D (V24) La transmission respecte l'avis V24 du CCITT (européen) et le standard américain EIA RS 232 D 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 Poste maître Interface RS 232 D Postes esclaves Remarque importante : toute liaison traversant le domaine public doit faire l'objet d'un agrément France-Télécom. 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 France-Télécom (exemple : Modem Schneider Automation pour API2/3000 Réf. MOD2100). 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 (uniquement passive sur le module CPU2010/CPU2011). A un mode actif doit correspondre un mode passif et inversement. Poste A TEM15050F Poste B A.18 présentation Poste A actif, poste B passif 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 TEM15050F : Emetteur R : Récepteur : Sens du courant A.19 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 ° ° TEM15050F •• • •• • • • esclaves ° ° ••• • esclaves ° ° A.20 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 à FRANCE-TELECOM. Remarque : toute ligne traversant le domaine public doit faire l'objet d'une autorisation de France-Télécom. ■ Liaison EIA RS 485 – Bonnes performances distance/vitesse. – Configuration économique. – Déconnexion possible d'un abonné sans perturbation réseau. TEM15050F B.1 mise en œuvre matérielle B. Mise en œuvre matérielle TEM15050F B.2 mise en œuvre matérielle TEM15050F B.3 mise en œuvre matérielle Sommaire Pages 1. Liaison RS232D 1.1. Généralités 1.2. Connexion ETTD ↔ ETTD 1.3. Connexion ETTD ↔ ETCD TEM15050F B.5 B.5 B.7 B.7 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.9 B.9 B.10 B.10 B.11 B.11 B.11 B.12 B.12 B.14 B.15 3. Boucle de courant 20 mA 3.1. Généralités 3.2. Schéma général des liaisons sur le connecteur SubD 3.3. Exemple de câblage 3.3.1. Poste maître actif en émission et en réception 3.3.2. Poste maître actif en émission et passif en réception 3.3.3. Réseau mixte APRIL2000/3000/5000/7000 / APRILPB / APRILSMC 3.4. Longueur maximale de la liaison 3.4.1. En fonction de la résistance du câble 3.4.2. En fonction de la vitesse de transmission 3.5. Caractéristiques électriques de la liaison B.17 B.17 B.18 B.19 B.19 B.19 4. Précautions de câblage 4.1. Principe 4.2. Le circuit de mise à la terre du blindage d'un câble B.23 B.23 B.24 B.20 B.21 B.21 B.21 B.21 B.4 mise en œuvre matérielle TEM15050F B.5 mise en œuvre matérielle 1. Liaison RS232D 1.1. Généralités Les coupleurs de communication JBUS / PSP offrent des liaisons conformes au standard RS232D 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. APRIL2000/3000/5000/7000 APRIL2000/3000/5000/7000 La norme RS232 D 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ées 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). Cette distinction doit être gardée en mémoire car elle influe sur les raccordements interéquipements. Remarques : - La liaison par l'intermédiaire de modems permet de réaliser des liaisons multi points en RS232D. - La liaison RS232D n'est pas isolée galvaniquement par rapport à la terre et au reste de l'automate. TEM15050F B.6 mise en œuvre matérielle Les coupleurs de communication présentent un schéma de brochage sur le connecteur SubD 25 points mâle en face avant conforme à la norme et du type DTE (ou ETTD) : TXD 2 RTS 4 DTR 20 Signaux émis RS232D SG 7 RXD CTS DSR DCD RI 3 5 6 8 22 Signaux reçus RS232D Les bornes 12, 13, 24 et 25 ne doivent pas être utilisées. NOTA : Les connexions nécessaires au câblage de la boucle de courant et à celui de la liaison RS232D 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é. Numéro des broches sur le connecteur SUBD (connecteur carte = connecteur mâle). CPU vue de face TEM15050F B.7 mise en œuvre matérielle 1.2. Connexion ETTD ↔ ETTD La connexion ETTD ↔ ETTD permet de relier directement deux équipements de traitements de données (cas de deux automates 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 : Esclave Maître 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 ATTENTION - CAS DE LA CPU2010/CPU2011 version < V10 UNIQUEMENT : Les bornes 5, 6, 20 doivent être reliées entre-elles et le signal DTR doit être laissé à "FERME" dans l'écran de configuration. NOTA : le connecteur SubD est mâle sur la carte. 1.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 RS232D. La connexion s'effectue directement fil à fil : 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). TEM15050F B.8 mise en œuvre matérielle TEM15050F B.9 mise en œuvre matérielle 2. Liaison RS485 2.1. Généralités Les coupleurs de communication JBUS / PSP (références CPU2250/CPU2251/ CPU2550/CPU2551 et CPU3251) 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é ■ Isolement 500V par rapport à la terre et 500V par rapport à l'automate. ■ ■ ■ 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 APRIL2000 / APRIL3000 / APRIL5000 / APRIL7000 avec un équipement ne disposant que d'une liaison RS422A. TEM15050F B.10 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 CPU2250/CPU2251/CPU2550/CPU2551/CPU3251 ont une valeur de 150 Ω, les résistances Rp une valeur de 470 Ω. 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. TEM15050F B.11 mise en œuvre matérielle 2.2.2. Câblage direct sur connecteurs SubD 25 points mâle 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 CPU2250/1 ou CPU2550/1 ou CPU3251 JBU0250 ou JBU0550 JBU MX0A ou JBU 850A 5V 0V Rp- 9 Rp+ 21 Tx+ 25 Tx- 13 L+ Vers réseau L- Rx+ 24 Rx- 12 11 Rc Réaliser les pontages 24 ---> 25 d'une part, 12 ---> 13 d'autre part. 23 Rc 2.2.2.2. Connexion au réseau d'un poste d'extrémité JBU MX0A ou JBU 850A 5V 0V Rp- 9 Rp+ 21 Tx+ 25 Tx- 13 CPU2250/1 ou CPU2550/1 ou CPU3251 JBU0250 ou JBU0550 L+ Vers réseau L- Rx+ 24 Rx- 12 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. TEM15050F B.12 mise en œuvre matérielle 2.2.2.3. Connexion au réseau du poste maître CPU2250 ou CPU2550 JBU0250 ou JBU0550 5V 0V Rp- 9 Rp+ 21 Tx+ 25 Tx- 13 CPU2250/1 ou CPU2550/1 ou CPU3251 JBU0250 ou JBU0550 L+ Vers réseau L- Rx+ Rx- 24 12 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 (ref. TBX 0010) proposés par APRIL® TELEMECANIQUE 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. TEM15050F B.13 mise en œuvre matérielle CPU2250/1 ou CPU2550/1 CPU Types * JBU0250 ou JBU0550 9 Rp5V 0V Sur les boîtiers d'extrémité du réseau, ponter les bornes 2 et 3. 13 2 3 4 Rp+ 21 Tx+ 25 L- Tx- 13 L+ Rx+ 24 Rx- 12 L- L+ 11 Rc 23 5 9O OO OO OO OO 61 5 9O L+ O O OO OO OO 61 TBX 0010 13 2 3 Mise à la terre (borne 4) à réaliser sur tous les boîtiers du réseau. L- Rc CPU2250/1 ou CPU2550/1 CPU Types * JBU0250 ou JBU0550 9 Rp5V 21 Rp+ 0V 25 Tx+ CPU2250/1 ou CPU2550/1 CPU Types * JBU0250 ou JBU0550 5V 0V Rp- 9 Rp+ 21 Tx+ 25 L- Tx- 13 L+ 1 2 3 4 Rx+ 24 Rx- 12 L- L+ 11 5 9O OO OO OO OO 61 TBX 0010 Rc 23 5 9O OO OO OO OO 61 L- 13 Tx- L+ 24 Rx+ 12 Rx11 Rc 13 2 3 23 Rc Rc poste maître CPU2250/1 ou CPU2550/1 CPU Types * JBU0250 ou JBU0550 9 Rp5V 0V Rp+ 21 Tx+ 25 Tx- 13 Rx+ 24 Rx- 12 11 Rc 23 1 2 3 4 L- L+ LL+ 5 9O OO OO OO OO 61 TBX 0010 5 9O L+ O O OO OO OO 61 L- TEM15050F Carte type* ou JBU0250 JBU0550 13 2 3 Rc Connecteurs SUBD 25 points femelle côté câble CPU Types * CPU2250/1 ou CPU2550/1 ou CPU2350/1 ou CPU3251 ou CPU3351 Connecteurs SUBD 9 points mâle côté câble Nota : – coupleurs JBUS : connecteurs mâles sur la carte, – TBX 0010 : connecteurs femelles sur le boîtier. B.14 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. Cependant, en RS485 les émetteurs passent en haute impédance en dehors de leur période d'émission, ce qui peut poser des problèmes de communication avec un équipement RS422 qui possède un filtrage à l'entrée de son récepteur. CPU2350/2351 ou CPU3351 5V 0V CPU2250/1 ou CPU2550/1 ou CPU3251 JBU0250 ou JBU0550 Rp- 9 Rp+ 21 Tx+ 25 A Rx+ Tx- 13 B Rx- Rx+ 24 A' Tx+ Rx- 12 11 B' Tx- R=120 to 150 Ω Rc 23 Rc SG 7 RS422 6 Station A Station B La distance maxi entre les deux équipements est, conformément au standard RS422A, de 4000 pieds soit 1300 m environ. 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, APRILPB200ouAPRILPB400)munid'uneplaquetteRS422àunAPRIL2000,APRIL3000, APRIL5000 ou un APRIL7000. Si le poste B est un APRIL2000, APRIL3000, APRIL5000 ou un APRIL7000, 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. 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. TEM15050F B.15 mise en œuvre matérielle 2.4. Topologie multipoint en full duplex (RS485, 4 fils) CPU2250/1ou CPU2550/1 ou CPU3251 JBU0250 ou JBU0550 JBUS Maître JBUS Esclave CPU Types * CPU2250/1 ou CPU2550/1 ou CPU2350/1 ou CPU3251 ou CPU3351 JBUS Esclave Carte type* ou JBU0250 JBU0550 Une seule polarisation sur l'émission et une seule polarisation sur la réception sont nécessaires. TEM15050F B.16 mise en œuvre matérielle TEM15050F B.17 mise en œuvre matérielle 3. Boucle de courant 20 mA 3.1. Généralités La boucle de courant proposée par les coupleurs de communication permet de relier jusqu'à huit postes (CPU2011≥V10-CPU2220/2221-CPU2250/2251-CPU3221/3321/ 3251 (active sur boucle). 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, sur CPU2011≥ V10, CPU2220/2221, CPU2250/2251 et CPU33221/3321/3351 uniquement Ce type de liaison permet la réalisation d'un réseau mixte APRIL2000/3000/5000/7000, APRIL PB et APRIL SMC. En utilisant les boîtes de jonction proposées par APRIL®/TEMECANIQUE (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é. 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 (CPU2011≥V10CPU2220/2221-CPU2250/2251-CPU3221/3321/3251). 3 - Les connexions nécessaires au câblage de la boucle de courant et à celui de la liaison RS232D 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. TEM15050F B.18 mise en œuvre matérielle CPU2220/1/2320/2250/1 CPU3221/3251/3321 JBU0220 ou JBU0250 19 +20mA 23 T Led 18 Tx+ 17 Tx- 9 RLed 15 Rx+ 14 Rx- 10 Com 16 +20mA Les bornes 12, 13, 24 et 25 ne doivent pas être utilisées. CPU2010 /2011 19 23 18 Tx+ 17 Tx- 9 15 Rx+ 14 Rx- 10 Com 16 TEM15050F B.19 mise en œuvre matérielle 3.3. Exemple de câblage 3.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 CPU2011≥V10 CPU2220/1 ou CPU2250/1 CPU2220/1/2320/2250/1 JBU0220 ou JBU0250 CPU3221/3321/3251 CPU2011≥V10 CPU2220/1 ou CPU2250/1 CPU2220/1/2320/2250/1 JBU0220 ou JBU0250 CPU3221/3321/3251 JBU0220 ou JBU0250 JBU0220 ou JBU0250 19 19 23 23 18 18 17 17 9 9 15 15 14 14 10 10 16 16 Les liaisons dessinées en pointillés 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. 3.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. CPU2011≥V10 CPU2220/1 ou CPU2250/1 CPU2220/1/2320/2250/1 JBU0220 ou JBU0250 CPU3221/3321/3251 CPU2011≥V10 CPU2220/1 ou CPU2250/1 CPU2220/1/2320/2250/1 JBU0220 ou JBU0250 CPU3221/3321/3251 JBU0220 ou JBU0250 JBU0220 ou JBU0250 19 19 23 23 18 18 17 17 9 9 15 15 14 14 10 10 16 16 Les liaisons dessinées en pointillés 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. TEM15050F B.20 mise en œuvre matérielle 3.3.3. Réseau mixte APRIL2000/3000/5000/7000/ APRILPB / APRILSMC On trouvera ci-dessous un exemple de raccordement boucle de courant sur un même réseau d'un APRIL7000 (ou APRIL2000/3000 ou APRIL5000), d'un APRIL PB200 / APRIL PB400 et d'un APRIL SMC25 / SMC35 / SMC50 / SMC600. APRIL2000/3000/5000/7000 APRIL5000/ APRIL7000 émission et actif en émission et en en réception réception APRIL PB200 APRIL PB400 CPU2011≥V10 CPU2220/1 ou CPU2250/1 CPU2220/1/2320/2250/1 JBU0220 ou JBU0250 CPU3221/3321/3251 JBU0220 ou JBU0250 19 +20mA 23 T Led 18 Tx+ 17 9 TEM15050F TxRLed 15 Rx+ 14 Rx- 10 Com 16 +20mA 10 9 APRIL SMC 25 / 35 APRIL SMC 50 / 600 24 25 13 12 17 18 B.21 mise en œuvre matérielle 3.4. Longueur maximale de la liaison 3.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) 3.4.2. En fonction de la vitesse de transmission 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. 3.5. Caractéristiques électriques de la liaison ■ Pour de bonnes performances ; tous les points du connecteur sont isolés galvaniquement à 500 V de la terre et à 500 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. Une intensité minimum de 17 mA est requise. ■ 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 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 des CPU2011≥V10, CPU2220/2221-CPU2250/2251, CPU3221, CPU3251 et CPU3321. ■ TEM15050F ■ Régulation du courant à 20 mA ± 5 mA ■ Tension max développée par le générateur du courant : 24 V ± 5% B.22 mise en œuvre matérielle TEM15050F B.23 mise en œuvre matérielle 4. Précautions de câblage Les recommandations ci-dessous s'appliquent à la réalisation d'un réseau de communication JBUS en liaison RS232D ou en boucle de courant. 4.1. Principe 0V interface isolé Logique interne 0V logique relié à la masse mécanique Interface BDC Interface Coupleur haut Blindage des paires torsadées reliés à la terre à chaque extrémité Logique interne DC/DC DC/DC Interface Coupleur bas 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, … Les liaisons de masse doivent être réalisées en respectant les préconisations décrites au § suivant. TEM15050F B.24 mise en œuvre matérielle 4.2. Le circuit de mise à la terre du blindage d'un câble 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. 1 - La connexion de la tresse du câble au capot plastique métallisé du connecteur SUBD femelle. 2 - 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. 3 - La liaison de la masse de la carte à celle du rack. Cette liaison est assurée en bloquant la vis de maintien de la carte dans le rack. TEM15050F C.1 configuration et initialisation C. Configuration et initialisation TEM15050F C.2 configuration et initialisation TEM15050F C.3 configuration et initialisation Sommaire Pages TEM15050F 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.8 C.10 C.13 C.14 2. Initialisation 2.1. Initialisation à la mise sous tension 2.2. Réinitialisation en cours de fonctionnement 2.3. Précautions pour les CPU 2010 / 2011 C.15 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 C.4 configuration et initialisation TEM15050F C.5 description de la configuration 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 CPU, il aura le choix entre plusieurs références commerciales proposées : 1. Cas de l'APRIL2000 CATALOGUE DES UC UNITE CENTRALE RAM UC RAM JBUS E RS232/CL UC RAM JBUS M/E / PSP RS232 CLx2 UC RAM JBUS M/E / PSP RS232/CL RS485 UC RAM JBUS M/E / PSP RS485 x 2 UCRAM JNET / JBUS E RS232/CL RS485 CPU200❊ CPU201❊ CPU222❊ CPU225❊ CPU255❊ CPU235❊ UC RAM JBUS ME / PSP RS232 CLx2 JBUS E RS232 CPU232❊ ANNULER OK 2. Cas de l'APRIL3000 (les indications en italiques apparaissent en grisé dans les écrans du logiciel ORPHEE). CATALOGUE CATALOGUE DESDES UC UC UNITE CENTRALE RAM UC RAM JBUS ME/PSP RS232 CLx2 UC RAM JBUS ME/PSP RS232/CL RS485 UC RAM JNET/JBUS E RS232/CL RS485 UC RAM JBUS ME/PSP RS232 CLx2 JBUS E RS232D CARTE D'EXTENSION ANNULER CPU3001 CPU3221 CPU3251 CPU3351 CPU3321 EXT3010 OK - La carte d'extension EXT3010 n'est sélectionnable que pour un emplacement carte différent de 0. - Pour la procédure d'accès à cet écran, se reporter à la documentation de mise en œuvre du logiciel ORPHEE. - Le module de CPU é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". TEM15050F C.6 description de la configuration Concernant la procédure d'accès à cet écran, se reporter à la documentation de mise en œuvre du logiciel ORPHEE. Le module de CPU é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". PARAMETRES DES UC CARTE CHIEN DE GARDE 100 CPU3221 ms Paramétrage des événements en immédiat Génération de la Table des symboles COM ANNULER OK Cliquer sur COM pour avoir accès au paramétrage des cartes JBUS/PSP (voir page suivante). Paramétrage des Evénements en immédiat (cf. Doc APRIL2000/APRIL3000 TEM 15000F). TEM15050F C.7 description de la configuration PARAMETRES DES CARTES JBUS/PSP CARTECPU3221 VOIE 0 PSP JBUSMAITRE ACCESMEMOIRE VOIE 1 PSP ASYNCHRONECYCLE JBUSMAITRE ACCESMEMOIRE JBUSESCLAVE JBUSESCLAVE ASYNCHRONECYCLE DIAGNOSTIC MM4 NONUTILISE JNET NONUTILISE SYNCHRONECYCLE VOIE 0 Choix de l'accès mémoire : synchrone/asynchrone JNET SYNCHRONECYCLE VOIE 1 ANNULER OK • SYNCHRONE CYCLE : la prise en compte ou le rafraîchissement des données entre la CPU et la carte de communication se réalise en début de cycle. 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 spécifique à chaque voie (cf § 1.1. à 1.2. ci-après), - soit le paramétrage des actions sur défaut (cf § 1.4. de ce chapitre), - 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 accèdent à la mémoire de données de manière synchrone, à chaque intercycle automates. TEM15050F C.8 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é : PARAMETRAGE D'UNE VOIE EN JBUS MAITRE VOIE 0 FORMAT 8 BITS SANS PARITE/2 STOP VITESSE 8 BITS/SANS PARITE/1 STOP 8 BITS/PARITE PAIRE/1 STOP 8 BITS/PARITE IMPAIRE/1 STOP RS232D : INI . DTR OUVERT FERME RETARD RTS <—> CTS NBRE DE REITERATIONS POSSIBLES 3 TIME-OUT INTER-CARACTERES 0 ANNULER 75 150 1200 4800 110 300 1800 9600 0 134,5 600 2400 19200 x 100 MS x 100 MS OK 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 RS232D. 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. TEM15050F C.9 configuration et initialisation Le retard à l'émission entre les signaux RTS et CTS est nécessaire au fonctionnement de certains modems. RTS retard CTS é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). 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. TEM15050F C.10 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é : PARAMETRAGE D'UNE VOIE EN JBUS ESCLAVE VOIE 0 NUMERO D'ESCLAVE VITESSE MODE BINAIRE FORMAT 8 BITS/SANS PARITE/2 STOP 8 BITS/SANS PARITE/1 STOP 8 BITS/PARITE PAIRE/1 STOP 8 BITS/PARITE IMPAIRE/1 STOP 7 BITS/PARITE PAIRE/2 STOP 7 BITS/PARITE IMPAIRE/2 STOP 7 BITS/PARITE PAIRE/1 STOP 7 BITS/PARITE IMPAIRE/1 STOP 7 BITS/PARITE FORCEE 0/2 STOP 7 BITS/PARITE FORCEE 1/2 STOP 75 150 1200 4800 ASCII TIME OUT INTER-CARACTERES PROTECTION 0 x 100 MS 110 300 1800 9600 RS232D : INI . DTR 134,5 600 2400 19200 OUVERT FERME RETARD RTS <–> CTS x 100 MS TABLE DE BITS DE LECTURE RAPIDE 1 2 3 4 ANNULER 5 6 7 8 OK Nota : les caractères en italiques apparaissent en grisé. 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 APRIL2000 / APRIL3000 / 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 (CPU2220/2250/2550-CPU2221/2251/2551 et CPU3221/3251/3321). NOTA : Dans le cas de la CPU201x les formats admis sont : - 8 bits / sans parité / 2 stop - 8 bits / parité paire / 1 stop - 8 bits / parité impaire / 1 stop 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 RS232D. 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. TEM15050F C.11 configuration et initialisation Le retard à l'émission entre les signaux RTS et CTS est nécessaire 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). 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. TEM15050F C.12 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 d'étapes 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 la CPU. Zone de protection : PARAMETRAGE DES ZONES DE PROTECTION D'UNE 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 L'utilisateur peut ainsi définir 8 zones distinctes pour lesquelles il souhaite réaliser une protection contre les accès simultanés de la CPU et ceux du coupleur. Pour chacune de ces zones l'utilisateur définit : ■ Les adresses des premières et dernières variables concernées (ces adresses doivent définir une zone d'un seul type de variables en mémoire automate : zone bit, zone mot, ...) 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. ■ 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. TEM15050F C.13 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é : PARAMETRAGE D'UNE VOIE EN PSP VOIE 0 FORMAT 8 BITS/SANS PARITE/2 STOP 8 BITS/SANS PARITE/1 STOP 8 BITS/PARITE PAIRE/1 STOP 8 BITS/PARITE IMPAIRE/1 STOP VITESSE 75 150 1200 4800 110 300 1800 9600 134,5 600 2400 19200 7 BITS/PARITE PAIRE/2 STOP RS232D : INI . DTR OUVERT 7 BITS/PARITE IMPAIRE/2 STOP FERME 7 BITS/PARITE PAIRE/1 STOP 7 BITS/PARITE IMPAIRE/1 STOP RETARD RTS <—> CTS 7 BITS/PARITE FORCEE 0/2 STOP 0 x 100 MS 7 BITS/PARITE FORCEE 1/2 STOP ANNULER OK 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 RS232D. 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écessaire 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. (1) : Selon le CCITT (version française des avis), un signal est dit fermé lorsqu'il est relié à la tension +12 V. TEM15050F C.14 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. L'utilisateur peut choisir par type de défaut, de CONTINUER le programme, ou de l'ARRETER, ou de DECLENCHER l'exécution d'un traitement (%TDn) (Voir documentation ORPHEE). Le paramétrage par défaut est "ARRETER". April2000/April3000 PARAMETRES DU DIAGNOSTIC AUTOMATE CARTE CPU3221 CONTINUER ARRETER DECLENCHER DEFAUT CONFIGURATION %TD DEFAUT CARTE %TD ANNULER OK Choix par défaut MESSAGE CONSOLE Défaut configuration Défaut carte Défaut interne TYPE DE DEFAUT Divergence entre la configuration physique et programmée dans l'entité configuration. Il faut réaliser l'identité des configurations. Le contrôle est effectué uniquement à l'initialisation Le module a détecté un défaut interne. Il ne peut exécuter la fonction. Il faut remplacer la CPU. Nota : Le défaut de configuration est lié à la fonction communication. Si la carte présente peut assurer la fonction communication, il n'y a pas de défaut configuration. Lorsque le défaut configuration est positionné, la carte ne peut pas assurer la totalité de la fonction communication prévue dans le programme utilisateur. L'utilisateur a la possibilité de continuer ou non le déroulement de son programme. TEM15050F C.15 configuration et initialisation 2. Initialisation 2.1. Initialisation à la mise sous tension A la mise sous tension de l'automate la carte réalise toute une série d'auto-tests internes et de tests du dialogue. A l'issue de cette phase, Si un problème apparaît, consulter la documentation automate (§ Installation et dépannage de la documentation automate). ■ Si l' un des tests de la fonction JBUS est négatif, la carte 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. ■ Nota : en cas de défaut, le led OK clignote ou est éteinte. 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. En cas de défaut la led "COM OK" clignote (sauf CPU 2010). 2.2. Réinitialisation en cours de fonctionnement La réinitialisation de la fonction JBUS ou PSP en cours de fonctionnement s'effectue automatiquement : – après une transition STOP —> RUN, – après une mise hors tension de l'automate puis une mise sous tension, – lorsque la carte ne dispose plus de paramètres cohérents. 2.3. Précautions pour les CPU 2010 / 2011 version < V10 Il y a risque de blocage de la CPU si la liaison JBUS est sollicitée par de rapides requêtes successives (c'est à dire que le maître n'attend pas la réponse de l'esclave pour formuler une nouvelle demande). Le risque de blocage de la CPU existe aussi dans le cas de coupures brèves et répétitives de la ligne JBUS (connexions défectueuses). TEM15050F C.16 configuration et initialisation TEM15050F C.17 configuration et initialisation 3. Gestion des signaux MODEM 3.1. Description des paramètres En liaison RS232D, 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 du langage ORPHEE (document TEM10000) 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 ou %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/10° de sec. Varie de 1 à 6000. Si non renseigné, attente infinie. Type : constante ou %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 N° du rack (0) pour APRIL2000 et APRIL3000 N° du canal dans le rack principal (0) pour APRIL2000 et APRIL3000 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). 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 modifiera l'état du DTR. N.B. : La boîte MODEM est utilisable dans les entités %CC, %TT et %TG. TEM15050F C.18 configuration et initialisation 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. TEM15050F 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 : Variable booléenne signalant un défaut lors de l'exécution de la commande 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).(%MW) 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). WERR WERR : Mot contenant le code du défaut signalé par ERR Type : mot simple (%MW) Paramètres cachés de la BFC MOD_COM CHAN SOFT BAUD FORM DLAY ICT NUM REP ANNULER OK 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. NOTA : La boîte fonctionnelle MOD_COM est utilisable dans les entités %CC, %TT et %TG. TEM15050F 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) (CPU2010/2011 : 0) Emplacement de la carte dans le rack (0) N° du rack (0) pour APRIL2000 et APRIL3000) N° du canal dans le rack principal (0) 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 (sauf CPU2010/2011) La FAV est uniquement utilisable sur la voie 0 du coupleur. 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 : TEM15050F 0 1 2 3 : : : : 8 BITS, SANS PARITE, 2 STOPS 8 BITS, SANS PARITE, 1 STOP 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 C.21 configuration et initialisation Rappel : Seuls les formats 8 bits, n° de 0 à 3, sont utilisables en JBUS maître et 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 multiple de 100 millisecondes et varie de 0 à 20. NUM : Numéro de l'esclave, varie de 1 à 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. La reconfiguration de la voie est lancé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. 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 numéro 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. TEM15050F C.22 configuration et initialisation TEM15050F D.1 exploitation D. Exploitation TEM15050F D.2 exploitation TEM15050F D.3 exploitation Sommaire Pages TEM15050F 1. Fonctions disponibles en exploitation 1.1. Modification en ligne des paramètres 1.2. Visualisation des compteurs de diagnostic D.5 D.5 D.8 2. Modes de marche de la carte JBUS/PSP D.9 D.4 exploitation TEM15050F D.5 exploitation 1. Fonctions disponibles en exploitation Toutes les fonctions disponibles en exploitation sont applicables à la carte. 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 Cette fonction permet de modifier de façon temporaire les paramètres format, vitesse et retard RTS / CTS de la carte. Elle est destinée à faciliter la phase de mise au point de l'application en s'affranchissant, lors d'essais successifs, du temps nécessaire à la modification des paramètres dans l'entité configuration et au transfert de l'application dans l'automate. Les paramètres modifiés ne sont connus que de la carte. 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. Ne pas procéder à des échanges durant cette opération (BFC dévalidées). 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 "Visualiser" dans le menu "Exploitation", ■ Sélectionner la carte, ■ Sélectionner "Modif de paramètres" dans le menu "Commandes". Remarque 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, ou la mise hors tension › mise sous tension provoquent, lors du retour à la normale (carte en RUN) la réinitialisation de la carte et donc la perte des paramètres modifiés. TEM15050F D.6 exploitation Le système affiche alors la fenêtre ci dessous : MODIFICATION DES PARAMETRES EMPLACEMENT : 0 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 CPU 2220 OK Sur cette fenêtre, l'utilisateur visualise : - L'emplacement de la carte dans le rack. 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 Seul les formats 8 bits (N° 0 à 3) sont utilisables en JBUS maître et en JBUS esclave, mode binaire. TEM15050F 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. TEM15050F D.8 exploitation 1.2. Visualisation des compteurs de diagnostic La carte 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 "Visu" (menu "Présentation"). (Pour plus d'information sur les tables, voir le Manuel de référence ORPHEE TEM10000F 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,…) TEM15050F D.9 exploitation 2. Modes de marche de la carte Les modes de marche de l'automate sont décrits dans le § 4 de la documentation automate. ■ Lorsque la carte est OK (voir § 3. Installation de la documentation automate) et que l'automate est en RUN, elle assure : – la réception des trames d'informations arrivant de l'extérieur. – la mise à jour de la mémoire centrale. ■ Lorsque la carte est OK, mais que l'automate est en STOP, elle répond aux sollicitations du maître (demande de lecture/écriture) de mise à jour de la mémoire commune (données). N.B. En mode mise au point (MOP) du programme d'application, les BFC de communication ne sont pas exécutées. Dans la fonction 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. ■ 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. TEM15050F D.10 exploitation TEM15050F E.1 programmation du port série programmable E. Programmation du port série programmable TEM15050F E.2 programmation du port série programmable TEM15050F E.3 programmation du port série programmable Sommaire Cette fonction n'est pas utilisable sur les CPU2010 et CPU2011. 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 TEM15050F 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 E.4 programmation du port série programmable TEM15050F E.5 programmation du port série programmable 1. Les BFC à Lancement et Contrôle Intégrés (LCI) Principe 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. TEM15050F 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 : 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 TEM15050F E.7 SEND programmation du port série programmable 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 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 (maximum 1024 octets). 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 où 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. TEM15050F 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 sur la ligne 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 ligne. En cas d'erreur sur l'échange, 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 pourra ê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. 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, - 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). TEM15050F 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 : Appellation Utilisateur Paramètres cachés de la BFC REICEIVE 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 ADDR : Ce paramètre indique l'adresse de début de la table de stockage du message dans la mémoire. Il 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.B. : La boîte fonctionnelle RECEIVE est utilisable dans les entités %CC, %TT et %TG. TEM15050F 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 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) table num. %MWn() %MDn() %FDn() fin sur reconnaissance 1 ou 2 car. (caractères spécifiés dans ECOD (1)) ✴ 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. TEM15050F 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 sur la ligne 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 ligne. En cas d'erreur sur l'échange, 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 pourra ê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. 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. TEM15050F 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 ; ou %IW… (octet poids fort pour la voie 1, octet poids faible pour voie 0). 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 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 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). TEM15050F 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 TEM15050F 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 TEM15050F E.15 programmation du port série programmable 2. Les 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 : émission ; 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. 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, %TTn, %TRn, %TGn, %TDn, et dans les BFU. Les BFC LCS ne sont pas utilisables dans entité %CFn pour les CPU de version < V10. Une application peut contenir à la fois des BFC de type LCI et LCS. 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é. TEM15050F E.16 programmation du port série programmable Compatibilité • en APRIL2000 : Logiciel ORPHEE à partir de la version 5.1. Logiciel carte : CPU2220 à partir de la version 3, CPU2221/2251/2351/2551 à partir de la version 2. • en APRIL3000 : logiciel ORPHEE à partir de la version 5.2/3000 et MINI ORPHEE. 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. WERR = 0 Cas 2 : EN est géré comme un front et il y a une erreur sur la communication. WERR contient le mot d'erreur. Cas 3 : Mauvaise programmation, EN reste validé. WERR contient le message "BFC déjà en cours". 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. TEM15050F 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) 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) 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 (Obligatoire) Mot contenant le code du défaut signalé par ERR (%MWn) (Obligatoire) Précise la position des BREAK éventuels (début et fin messages) (Obligatoire) Remarque : Les paramètres internes CHAN, LENG, BRK et ADDR sont accessibles en visualisation dynamique. TEM15050F 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 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 (maximum 1024 octets). 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 où 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. 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. TEM15050F 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. Transaction Transaction sur sur la la ligne ligne Transaction sur sur la la ligne ligne Transaction Transaction Transaction sur sur la la ligne ligne 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 d'émission. 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é 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). TEM15050F 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. Remarque : Les paramètres internes CHAN et ADDR sont accessibles en visualisation dynamique. L'étoile affichée dans la BFC signale la présence de paramètres internes cachés. TEM15050F 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 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 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. %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 TEM15050F 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 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) table num. fin sur reconnaissance 1 ou 2 car. (car. spécifiés dans ECOD) (1) (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 ECOD = %MWn (le mot %MWn contenant 00) (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. TEM15050F 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. Transaction sur la ligne Transaction sur la ligne Transaction sur la ligne 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 d'émission. 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 commune, mémoire - lorsque la BFC est annulée par 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. Il est conseillé de remettre à 0 NBCH par programme ou par forçage, afin de comptabiliser le nombre d'octets reçus. TEM15050F 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. 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 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 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). TEM15050F 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) N° du coupleur chargé de la communication à stopper (constante numérique ou mot simple %MWn) (Obligatoire) Identificateur de la communication (constante numérique ou mot simple %MWn) (Obligatoire) Variable binaire signalant un défaut lors de l'exécution de la boîte 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. TEM15050F 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 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. TEM15050F E.27 programmation du port série programmable SSTOP 2.4.2. Fonctionnement Un arrêt de communication est déclenché sur EN = 1. 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 simultané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. VALID ENSTOP TEM15050F SSEND ACTS SSTOP ACTS 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 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 - 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. Transaction sur la ligne TEM15050F Transaction sur la ligne Transaction sur la ligne 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 ACTSTOP EN CHAN ACT ID ERR () ERR2 () 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é. Transaction sur la ligne TEM15050F Transaction sur la ligne interrompue 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. Emission voie 0 Emission voie 1 Réception voie 0 Réception voie 1 La BFC COPY permet de renseigner la BFC SSTOP sur la voie et sur la communication à stopper. La BFC SSTOP annulera la BFC SSEND en renseignant CHAN et ID avec les valeurs désirées. 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. TEM15050F 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 TEM15050F 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 APRIL2000 muni d'une CPU 2220 à l'emplacement 0 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). Nota : le même exemple est valable pour un APRIL3000 muni d'une CPU3221. 2.6.3. Configuration APRIL2000/3000 RACK STANDARD SR 0 0 APRIL2000/3000 Terminal ASCII (ou CPU3221 en APRIL3000) TEM15050F E.49 programmation du port série programmable 3. Fonction d'accès aux variables (F.A.V.) 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 D, 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. 3.2. Compatibilité 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. TEM15050F 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. 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 >> TEM15050F OK 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 ou + - 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, 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. TEM15050F 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, TEM15050F 2 2 2 2 2 10 2 2 10 2 2 10 2 2 2 2 2 2 2 2 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 >> TEM15050F 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 >> TEM15050F E.55 programmation du port série programmable ■ Affectation d'une base numérique Les résultats de la lecture sont exprimés 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 >> TEM15050F 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 : -9.22337177E+18 TEM15050F Pour toute valeur de cette plage forçage à 0 -2.71050935E-20 0 5.42101070E-20 09.22337177E+18 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>.<partiedé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 >> TEM15050F 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. 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. L'abandon de la fonction est obtenu, à tout moment en appuyant sur + . 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é. TEM15050F F.1 programmation des échanges JBUS F. Programmation des échanges JBUS TEM15050F F.2 programmation des échanges JBUS TEM15050F F.3 programmation des échanges JBUS Sommaire Pages TEM15050F 1. Ecriture (automate maître) 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 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é de la 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 F.4 programmation des échanges JBUS TEM15050F F.5 programmation des échanges JBUS 1. Ecriture (automate maître) 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 Paramètres cachés de la BFC SRECEIVE 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 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. TEM15050F 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 APRIL2000, APRIL3000, APRIL5000 ou un APRIL7000 : l'adresse dans le destinataire est donnée directement sous la forme de son symbolique constructeur . 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 SMC. TEM15050F 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 - de 1 à 122 pour une écriture de mots de 16 bits - de 1 à 61 pour une écriture de mots doubles ou de réels. 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 rafraîchissement 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 < TEM15050F 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. 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). Il est au minimum égal à un silence de trois caractères. 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 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). TEM15050F 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 monte – à la 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é lorsque : – une boîte READ, WRITE ou DIAG est 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 ligne. 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 pourra ê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. TEM15050F 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. 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. TEM15050F F.11 programmation des échanges JBUS 2. Lecture (automate maître) 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 Paramètres cachés de la BFC SREAD Le coupleur qui sera chargé de faire la demande et de recevoir 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 SLAV : Numéro de l'esclave où 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.B. La boîte fonctionnelle READ est utilisable dans les entités %CC, %TT et %TG. TEM15050F 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 APRIL 2000/APRIL3000, 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. ■ 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() TEM15050F F.13 programmation des échanges JBUS LENG : définit la longueur utile du message en nombre de variables : - de 1 à 2000 pour une lecture bits, - de 1 à 122 pour une lecture de mots de 16 bits - de 1 à 61 pour une lecture de mots doubles ou flottants. Si la destination des informations dans le maître est une structure (%MW( ), %MD( ), %FD( )), 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 é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 rafraîchissement 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 correspodante (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 < TEM15050F 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. 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). Il est au minimum égal à un silence de trois caractères. 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 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). TEM15050F 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 transactions ERR Si réponse d'exception La variable ACT monte – à la 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é lorsque : - une boîte READ, WRITE ou DIAG est 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 ligne. En cas d'erreur sur l'échange (réponse d'exception), ERR est positionné. Pour prendre en compte une nouvelle commande, EN doit être vu à zéro pendant un cycle automate. 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 être émise. 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. TEM15050F 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. TEM15050F 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 : TEM15050F 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. 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'ils 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 à : - 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 de la CPU 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. TEM15050F F.19 programmation des échanges JBUS appellation 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 RST ACT CHAN SLAV ADDR TOUT ERR WERR ACT : Variable booléenne signalant l'activité de la boite 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 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. 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 : 0 N° du rack : 0 N° du canal dans le rack principal : 0 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.B. La boîte fonctionnelle DIAG est utilisable dans les entités %CC, %TT et %TG. TEM15050F 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 TEM15050F F.21 programmation des échanges JBUS Remarques : Selon le type d'esclave interrogé (esclave autre qu'APRIL2000 -APRIL3000- 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" 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 -APRIL3000- 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). TEM15050F F.22 programmation des échanges JBUS TEM15050F 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 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). TEM15050F 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 0 N° du rack (0) N° du canal (0) 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. TEM15050F 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, sauf le 3ème port de la CPU3321 ou de la CPU2320. (Voir annexe I) ■ ■ TEM15050F 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. F.26 programmation des échanges JBUS TEM15050F G.1 gestion des accès à la mémoire G. Gestion des accès à la mémoire TEM15050F G.2 gestion des accès à la mémoire TEM15050F 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 gestion 2.2. Utilisation des bits de gestion par le programme TEM15050F G.5 G.6 G.7 G.9 G.9 G.10 G.4 gestion des accès à la mémoire TEM15050F 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 esclave Unité centrale Automate maître Mémoire de données Coupleur JBUS Coupleur Unité Automate JBUS maître 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 à un échange JBUS), 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 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 L'accès à cet écran et la façon de le renseigner sont décrits en détail dans le chapitre C. §1 "Description de la configuration". TEM15050F G.6 gestion des accès à la mémoire 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. Sicetteadresseappartientàunezoneprotégée,l'échangedépendradesprotections 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.). TEM15050F 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). TEM15050F G.8 gestion des accès à la mémoire 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. TEM15050F 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 TEM15050F S2 : demande protection différée E1 : zone protégée N° de zone S1: demande protection de la zone zone 1 %QX00 %QX01 %IX00 zone 2 %QX02 %QX03 %IX01 zone 3 %QX04 %QX05 %IX02 zone 4 %QX06 %QX07 %IX03 zone 5 %QX08 %QX09 %IX04 zone 6 %QX10 %QX11 %IX05 zone 7 %QX12 %QX13 %IX06 zone 8 %QX14 %QX15 %IX07 zone 1 %QX16 %QX17 %IX08 zone 2 %QX18 %QX19 %IX09 zone 3 %QX20 %QX21 %IX10 zone 4 %QX22 %QX23 %IX11 zone 5 %QX24 %QX25 %IX12 zone 6 %QX26 %QX27 %IX13 zone 7 %QX28 %QX29 %IX14 zone 8 %QX30 %QX31 %IX15 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) 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. TEM15050F H.1 Annexes H. Annexes TEM15050F H.2 Annexes TEM15050F H.3 Annexes Sommaire Pages TEM15050F 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 H.4 Annexes TEM15050F H.5 Annexes 1. Liste des messages d'erreur Tableau global des erreurs JBUS maitre/esclace et JNET 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 BFC LCS - 10 BFC LCI WERR = - 65 Cette transaction est déjà active 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 (*) Ces défauts sont également signalés par la diode défaut voie (diode 2 pour voie 0 et 5 pour voie 1). TEM15050F 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 112 113 191 TEM15050F 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] Défaut sur SSTOP d'une SRéceive La valeur de cet ID n'est pas autorisée (BFC SSTOP) Exécution de la BFC suspendue car DSR ouvert. 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 (Abréviation : BDC) 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 CL (Abréviation de Current Loop) 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 celle 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 TEM15050F 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. FAV Fonction d'Accès aux Variables 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. TEM15050F H.9 Annexes 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. 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. PSP Port Série Programmable 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 232D 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 TEM15050F H.10 Annexes 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. 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). TEM15050F 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. TEM15050F 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 Le coupleur remplit et émet la trame de réponse sans aucune intervention de l'utilisateur. Remarque: Tous les champs de la trame sont exprimés en hexadécimal. TEM15050F 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) 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. TEM15050F 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 détail d'un octet : dernier bit transmis 1er bit transmis Les bits non utilisés dans l'octet sont mis à zéro. ■ exemple Lecture des bits 204H à 211H de l'esclave n° 1 Demande : 1 1 204 H 0E CRC 16 Réponse : 1 1 2 10101001 20B TEM15050F 204 00101110 211 20C CRC 16 CRC 16 2 octets 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 n° 3 ou 4 d'esclave 1 octet 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 805H à 80AH de l'esclave n° 2 Demande : 2 3 0805H 3 OC 6 CRC 16 Réponse : 2 TEM15050F XXXX YYYY valeur du mot 805 Valeur du mot 80A CRC 16 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 forcé à 0 écrire (écrire000H) bitbit forcé à0 → bit forcé à 1 (écrire FF ) bit forcé à 1 →écrire FF H ■ réponse n° d'esclave 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 210H de l'esclave n° 2. 3.7. Ecriture d'un mot : fonction 6 ■ demande 2 6 210 H FF 0 CRC 16 ■ réponse n° d'esclave 1 octet 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 1000H dans le mot d'adresse 810H de l'esclave 1. 1 TEM15050F 6 810 H 1000 H CRC 16 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 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. TEM15050F 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) ■ TEM15050F lors de la demande, XXXX vaut 00 00 lors de la réponse, XXXX est le contenu du compteur concerné 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 é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 est 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. TEM15050F 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 0B CRC 16 ■ réponse n° d'esclave 1 octet TEM15050F 0B 1 octet 0 contenu du compteur de l'esclave 2 octets 2 octets CRC 16 2 octets 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 n° 0C 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é et aucune réponse n'est envoyée sur la ligne. Ce mode est piloté par la commande 8 (ss commande 01 et 04). TEM15050F 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 à toutinstant.Cesdeuxcommandespeuventservirdanslecasd'uneconnexionhé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 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. –Commandesprogrammeproprementdites(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 après la dernière commande envoyée. Ce processus n'estpasactivésurlapremièrecommandedelasession:aprèslacommandeconnexion, 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 / APRIL3000/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. TEM15050F 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 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. TEM15050F 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 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. TEM15050F 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 nombreadresse 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. – 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. TEM15050F 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'effectuer 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. TEM15050F 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 02 19 00 CRC16 longueur trame 1 octet sous fonction 1 octet donnée 00 ou 80 1octet CRC16 2octets 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 02 1A 00 CRC16 longueur trame 1 octet sous fonction 1 octet donnée 00 ou 80 1octet CRC16 2octets 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. TEM15050F 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 : 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). TEM15050F H.29 Annexes 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 TEM15050F Adresse Adresse début mémoire 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 H.30 Annexes Exemple : Déchargement de la mémoire programme dans le cas d'un APRIL2000/3000 ou d'un APRIL5000 sans extension TEM15050F H.31 Annexes Exemple : Chargement de la mémoire programme dans le cas d'un APRIL5000 avec extension mémoire * 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. TEM15050F 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 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 2 octets 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 pas d'erreur 01 commande inconnue, non autorisée ou mal exécutée (erreur de dialogue U.C. par exemple). 02 adresse virtuelle invalide (hors du champ d'adressage maximum autorisé). 03 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). 04 lecture ou écriture à des adresses physiques inexistantes (hors du champ d'adressage de l'automate considéré). 08 nombre de mots invalide 09 commande non autorisée, l'automate est en marche. 10 commande non autorisée, l'automate n'étant pas connecté. TEM15050F Type de la commande pouvant entraîner cette erreur toute commande lect. ou écr. mémoire lect. ou écr. mémoire lect. ouécr. mémoire lect. ou écr. mémoire écriture mémoire marche, arrêt, lect. ou écr. H.33 Annexes 3.14. Ecriture de n bits consécutifs : fonction 15 ■ demande n° esclave adresse 1er bit à forcer OF 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 n octets CRC 16 2 octets 1 ≤ N ≤ 246 1er bit 1er octet dernier bit octet N 1er octet 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 TEM15050F OF CRC 16 CRC 16 H.34 Annexes 3.15. Ecriture de n mots consécutifs : fonction 16 (commande 6) ■ demande n° esclave adresse 1er mot à forcer 10 (*) 1 octet 1 octet 2 octets nombre de mots à forcer 2 octets 1 ≤ X ≤ 123 PF pf PF pf nombre d'octets N valeur des mots à forcer CRC 16 1 octet n octets 2 octets 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 à forcer à 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(*) 0800 0004 08 0001 0010 0100 1000 0800 0004 CRC 16 ■ réponse 01 10(*) (*) 10H = 16D TEM15050F CRC 16 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 %IX00831 012FH %IX06931 0 %IX00000 0 0D3FH %IX96931 9D3FH %IX20100 A000H 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 B9BFH 2C5FH 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 Mots de données (3) %MW, %MD, %FD et %CH %MW00000 0 %MW00000 0 %MW00000 0 fin de la zone de données 2BFFH fin de la zone de données 2BFFH AB7FH (Ext. M) fin de la zone de données EFFFH 5EF7FH (Ext. M) Trajectoires axes (3) --------------- 1, 5, 7 et 15 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 800000H 25FFH --------------- 800000H 80FFFFH 25FFH --------------- 800000H 857FFFH 13 CPU7000 80FFFFH 827FFFH (Ext. M) 87FFFFH CPU7020 83FFFFH (FIPIO) (*) 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). TEM15050F 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. TEM15050F 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 - APRIL3000 - APRIL2000 adresses automate Bits d'étapes Bits d'état graphes maîtres Bits d'état graphes esclaves TEM15050F adresses JBUS Graphes maîtres %GM0 : X0 ↕ %GM15 : X31 0B7C0H ↕ 0B9A0H Graphes esclaves %GE0 : X0 ↕ %GE31 : X31 0B3C0H ↕ 0B7A0H macro-étapes %XE0 : X0 ↕ %XE79 : X31 0A9C0H ↕ 0B3A0H 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 H.38 Annexes APRIL7000 - APRIL5000 - APRIL 3000 - 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 ↕ 0A7F0H Graphes esclaves %GE0 : NUM ↕ %GE31 : NUM 0A500H ↕ 0A6F0H Macro-étapes %XE0 : NUM ↕ %XE79 : NUM 0A000H ↕ 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. TEM15050F H.39 Annexes (3) : Les tailles mémoire de données sont données ci-dessous : April2000/April3000/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 accessibles 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 Pour accéder à ces mots depuis les BFC READ, il faut renseigner le paramètre @TYP=ME. TEM15050F H.40 Annexes TEM15050F 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. 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 : 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 TEM15050F H.42 Annexes TEM15050F H.43 Annexes 6. Algorithme de calcul du CRC 16 ⊕ = 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. TEM15050F H.44 Annexes 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 TEM15050F poids faible 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 • • 1 octet 2 octets 2 octets information n octets PF pf LRC 2 octets CR LF 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 TEM15050F H.46 Annexes TEM15050F H.47 Annexes 8. Table des caractères ASCII - hexadécimal TEM15050F 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 H.48 Annexes TEM15050F 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 I.1 port de communication via le coupleur console I. Troisième port de communication JBUS esclace via le coupleur console (CPU2320 et CPU3321). TEM15050F I.2 port de communication via le coupleur console TEM15050F I.3 port de communication via le coupleur console Sommaire Pages TEM15050F 1. Présentation I.5 2. Le protocole JBUS sur cette voie 2.1. Les fonctions disponibles 2.2. Les codes d'exceptions 2.3. Pas de diffusion possible 2.4. Remarques I.7 I.7 I.7 I.7 I.7 3. L'interface de transmission I.9 4. Mise en œuvre matérielle I.11 5. Configuration et initialisation 5.1. Configuration 5.2. Paramétrage de la liaison console I.13 I.13 I.13 6. Exploitation I.15 7. Résumé de la fonction JBUS sur la liaison console I.17 I.4 port de communication via le coupleur console TEM15050F I.5 port de communication via le coupleur console 1. Présentation Sur les modules CPU2320 et CPU3321 la liaison console sait aussi interpréter certaines requêtes JBUS. La coexistence des deux protocoles sur le même port a nécessité une sélection des services et des paramètres habituels de JBUS. TEM15050F I.6 port de communication via le coupleur console APRIL2000 ou APRIL3000 Esclaves Convertisseur RS232D/RS485 ou boucle de courant Maitre Coupleur console/JBUS Esclave RS232 TEM15050F I.7 port de communication via le coupleur console 2. Le protocole JBUS sur cette voie Il s'agit d'un sous-ensemble du protocole JBUS (cf. Chapitre F - Programmation des échanges JBUS). Il est indispensable de connaître les restrictions apportées au protocole JBUS sur ce port, pour pouvoir bien l'utiliser. 2.1. Les fonctions disponibles Lecture de n bits : fonction 1 (entrées) et 2 (internes et sorties). Lecture de n mots : fonction 3 (entrées) et 4 (internes et sorties). Ecriture de 1 bit : fonction 5. Ecriture de 1 mot : fonction 6. Ecriture de n bits : fonction 15. Ecriture de n mots : fonction 16. 2.2. Les codes d'exceptions Ils restent les mêmes mais la complémentarité des deux protocoles fait que certaines trames non acceptées par JBUS (par ex. code fonction 43) le seront par le protocole console (pas de réponse de l'esclave). 2.3. Pas de diffusion possible Toute trame avec numéro d'esclave à 0 ne sera pas considérée. 2.4. Remarques • N° esclave de cette 3e voie = N° donné à l'API • Vitesse / format Vitesse fixe : 19200 bauds Format fixe : 8 bits, parité paire, 1 stop. • Le type de câblage permet de basculer console/Jbus esclave. TEM15050F I.8 port de communication via le coupleur console TEM15050F I.9 port de communication via le coupleur console 3. L'interface de transmission Il s'agit d'une liaison RS232D dont le connecteur est SUBD 9 points (cf. Annexe 2 Liaison console dans le Manuel de référence APRIL2000/APRIL3000 - TEM15000F). Type : RS232D Vitesse : 192000 bauds Connecteur CPU : SUB.D 9 points mâle côté CPU Distance en RS232 = 15 m maximum Câblage spécifique à l'APRIL2000/APRIL3000 Paire torsadée et blindée Isolation : non Codage d'un caractère : 1 bit Start 8 bits Données 1 bit Parité paire 1 bit Stop Le connecteur doit être vissé sur le module CPU. Les broches 1 et 2 (CTS et RTS) sont reliées entre elles par la carte. TEM15050F I.10 port de communication via le coupleur console TEM15050F I.11 port de communication via le coupleur console 4. Mise en œuvre matérielle Le câblage est identique à celui de la liaison de service classique (cf. Annexe 2 Liaison console dans le Manuel de référence APRIL2000/APRIL3000 - TEM15000F) La liaison multi-point pourra être obtenue par le même principe que celui utilisé pour le réseau de service (Conversion RS232/RS485 par BOX APRIL et câblage spécial). • Câblage point à point en RS232 Il n'y a pas de gestion des signaux RTS et CTS CPU 9 broches 25 broches 0V (GND) 4 5 (GND) 7 (GND) Emission (TXD) 6 2 (RXD) 3 (RXD) Réception (RXD) 8 3 (TXD) 2 (TXD) sur connecteurs normalisés • Câblage multipoint Il est nécessaire de passer par un convertisseur et de passer en liaison soit : - RS485 (La Box0010 génère un écho, il faut donc dans ce cas que le maitre sache gérer cet écho). - Boucle de courant 20 mA. Dans ces 2 cas la liaison CPU ↔ convertisseur est en RS232. TEM15050F I.12 port de communication via le coupleur console TEM15050F I.13 port de communication via le coupleur console 5. Configuration et initialisation 5.1. Configuration Il n'y a pas de configurations spécifiques liées à l'utilisation de la liaison console en JBUS. 5.2. Paramétrage de la liaison console Le paramétrage de cette voie étant figé, voici ses caractéristiques : • Tous les accès en mémoire sont synchrones. • Le numéro d'esclave sur cette voie, sera celui donné par ORPHEE à l'automate pendant l'exploitation (de 1 à 254). Attention : Il est nécessaire de se connecter à ORPHEE à la première mise sous tension pour donner le numéro d'esclave. • Le format de transmission est : 19200 bauds, 8 bits, parité paire, 1 bit de stop (mode binaire) • Pas de protection des données possibles. • Pas de gestion des signaux MODEM (pour utiliser un MODEM, se référer aux caractéristiques de la liaison console). • Le temps d'attente inter-caractère est de 3 caractères (2 ms). Attention : Il faudra s'assurer de la compatibilité des équipements distants à cette caractéristique. TEM15050F I.14 port de communication via le coupleur console TEM15050F I.15 port de communication via le coupleur console 6. Exploitation L'exploitation par ORPHEE est nécessaire pour affecter un numéro d'automate qui servira de numéro d'esclave JBUS sur cette voie (et uniquement cette voie). Mais c'est la seule fonction spécifique à cette fonctionnalité qui nécessite l'exploitation par ORPHEE. Il n'y a pas de comptage des diagnostics. Les transitions entre l'utilisation de la console et les fonctions JBUS se font par une simple déconnexion/connexion des câbles. TEM15050F I.16 port de communication via le coupleur console TEM15050F I.17 port de communication via le coupleur console 7. Résumé de la fonction JBUS sur la liaison console Fonctions disponibles N° fonction JBUS Esclave uniquement - Lecture de n mots de n bits - Ecriture de 1 ou n mots de 1 ou n bits n'interprète pas de codes JBUS de diffusion, pas de gestion des compteurs de diagnostic. Numéro JBUS esclave - Définie par la numérotation de l'APRIL2000/3000 sur le réseau console ORPHEE. Connexion JBUS Liaison RS232D sur SUBD9 points (même côté CPU) Vitesse : 19200 bauds Format : 8 bits, parité paire, 1 bit de stop 1 - (CTS) 2 - (RTS) 3 - N.C. 4 - (GND) 5 - N.C. 6 - (TXD) 7 - (V+, 10 V) 8 - (RXD) 9 - N.C. Remarques: Les broches 4, 6, 8 sont suffisantes Le connecteur doit être impérativement vissé sur la CPU. TEM15050F I.18 port de communication via le coupleur console TEM15050F