Schneider Electric OFB-DIAG Blocs fonctions PL7-DIAG 5.2 Mode d'emploi
Ajouter à Mes manuels118 Des pages
▼
Scroll to page 2
of
118
________________________________________________________ Sommaire général ___________________________________________________________________________ Chapitre 1 Blocs fonctions de la famille PL7_DIAG 1.1 Présentation 1.2 Caractéristique "diagnostic" 1.2-1 Généralités 1.2-2 Initialisation des OFBs 1.2-3 Inhibition du bit d'erreur 1/1 1/2 1/2 1/3 1/3 1.3 Installation des OFBs 1.3-1 Opérations préliminaires 1.3-2 Procédure d'installation 1/4 1/4 1/4 1.4 Configuration des OFBs 1/5 1.5 Programmation des OFBs 1.5-1 Procédure de programmation d'un OFB de diagnostic 1.5-2 Objets d'un OFB 1.5-3 Exécution des OFBs de diagnostic 2 Page 1/1 1/7 1/8 1/9 1/10 Surveillance d'un événement : EVDGN et EVDGS 2/1 2.1 2.2 2.3 2.4 2.5 2/1 2/1 2/2 2/4 2/5 2/6 2/7 2/7 2/8 Généralités Présentation de EVDGNi et EVDGSi Description des paramètres Liste des défauts Fonctionnement 2.5-1 Comportement de l'OFB en cas de détection de défaut(s) 2.5-2 Comportement de l'OFB sur coupure secteur 2.5-3 Optimisation en exécution 2.5-4 Exemple de fonctionnement 2.6 Exemple d'utilisation 2/9 ___________________________________________________________________________ 1 ________________________________________________________ Sommaire général ___________________________________________________________________________ Chapitre 3 Surveillance d'un mouvement : MVDGN et MVDGS 3.1 3.2 3.3 3.4 3.5 Généralités Présentation de MVDGNi et MVDGSi Description des paramètres Liste des défauts Fonctionnement 3.5-1 Comportement de l'OFB en cas de détection de défaut(s) 3.5-2 Comportement de l'OFB sur coupure secteur 3.5-3 Optimisation en exécution 3.5-4 Exemple de fonctionnement 3.6 Exemples d'utilisation 4 Page 3/1 3/1 3/1 3/2 3/8 3/9 3/10 3/11 3/11 3/12 3/13 Surveillance d'une transition : TRDGN et TRDGS 4/1 4.1 4.2 4.3 4.4 4.5 4/1 4/1 4/2 4/5 4/6 4/6 4/7 4/7 4/7 Généralités Présentation de TRDGNi et TRDGSi Description des paramètres Liste des défauts Fonctionnement 4.5-1 Comportement de l'OFB en cas de détection de défaut(s) 4.5-2 Comportement de l'OFB sur coupure secteur 4.5-3 Optimisation en exécution 4.5-4 Exemple de fonctionnement 4.6 Exemple d'utilisation 4/9 ___________________________________________________________________________ 2 ________________________________________________________ Sommaire général ___________________________________________________________________________ Chapitre 5 Commande et diagnostic de la partie opérative : EPON et EPOS 5.1 5.2 5.3 5.4 5.5 5.6 5.7 Généralités Présentation de EPONi et EPOSi Description des paramètres Masques de sélection des constantes internes Sélection des types d'actionneurs Liste des défauts Fonctionnement 5.7-1 Pré-programmation de l'OFB 5.7-2 Exécution du mouvement 5.7-3 Mode recalage 5.7-4 Aide à la reprise de cycle 5.7-5 Enregistrement des durées minimales et maximales des mouvements 5.7-6 Apprentissage des durées des mouvements 5.7-7 Particularités du mouvement de rotation 5.7-8 Mode manuel 5.7-9 Modes de marche automate 5.8 Exemple d'utilisation 6 Page 5/1 5/1 5/2 5/3 5/12 5/13 5/14 5/17 5/17 5/20 5/23 5/23 5/23 5/24 5/24 5/25 5/25 5/23 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6/1 6.1 6.2 6.3 6.4 6.5 6.6 6.7 Généralités 6/1 Présentation de NEPONi et NEPOSi 6/2 Description des paramètres 6/3 Masques de sélection des constantes internes 6/12 Sélection des types d'actionneurs 6/13 Liste des défauts 6/14 Fonctionnement 6/17 6.7-1 Pré-programmation de l'OFB 6/17 6.7-2 Exécution du mouvement 6/20 6.7-3 Mode recalage 6/23 6.7-4 Aide à la reprise de cycle 6/23 6.7-5 Enregistrement des durées minimales et maximales des mouvements 6/23 6.7-6 Apprentissage des durées des mouvements 6/24 6.7-7 Particularités du mouvement de rotation 6/24 6.7-8 Mode manuel 6/25 6.7-9 Modes de marche automate 6/25 ___________________________________________________________________________ 3 ________________________________________________________ Sommaire général ___________________________________________________________________________ Chapitre 7 Mémorisation de la mémoire bits : PHOTO 7.1 7.2 7.3 7.4 8 Généralités Présentation de PHOTOi Description des paramètres Fonctionnement Page 7/1 7/1 7/1 7/2 7/4 Annexes 8/1 8.1 Synthèse sur les OFBs 8.1-1 Généralités 8.1-2 Utilisation 8.1-3 Objets d'OFBs 8.1-4 Programmation d'un OFB 8/1 8/1 8/2 8/3 8/4 8.2 Glossaire 8/6 ___________________________________________________________________________ 4 Blocs fonctions de la famille PL7_DIAG 1 ____________________________________________________________________________ 1.1 Présentation Les blocs fonctions de la famille PL7_DIAG, extension du langage PL7-3, sont composés : • des OFBs de diagnostic application qui permettent de mettre en oeuvre la surveillance du procédé, au travers du programme applicatif : - surveillance d'une équation PL7-3, - surveillance des évolutions d'un Grafcet (étapes et macro-étapes), - surveillance d'un temps enveloppe Grafcet, - surveillance du temps de réaction du procédé à une commande, - surveillance des conditions de sécurité, • des OFBs de commande et diagnostic de la partie opérative qui permettent de contrôler et commander les éléments de la partie opérative (EPO) : - contrôle des informations capteurs, - contrôle des demandes de commande d'un actionneur, - surveillance de la durée d'un mouvement, - mémorisation des durées minimum et maximum d'un mouvement, - apprentissage des durées d'un déplacement, - commande d'un actionneur. • de l'OFB PHOTO qui permet de rechercher les causes d'un défaut, en mémorisant l'état de la Mémoire bits lors de l'apparition du défaut. Ces blocs fonctions sont livrés avec le logiciel PL7-3 sur une disquette séparée et utilisent les mêmes droits d'accès. La famille PL7_DIAG comprend 11 types d'OFBs : EVDGN, EVDGS, MVDGN, MVDGS, TRDGN, TRDGS, EPON, EPOS, NEPON, NEPOS et PHOTO. Les OFBs de types EVDGN, EVDGS destinés à surveiller des événements, MVDGN, MVDGS destinés à surveiller des mouvements et NEPON, NEPOS destinés à commander et diagnostiquer la partie opérative, ne peuvent pas s'utiliser dans une transition. Ils permettent de surveiller (sauf EPON, EPOS, NEPON et NEPOS) : • qu'une condition booléenne est toujours vraie, • qu'un bit a toujours la valeur souhaitée (sans notion de temps), • qu'un bit change d'état dans un intervalle de temps défini (MVDGN et MVDGS seulement). Les OFBs de type TRDGN et TRDGS destinés à surveiller des transitions, ne peuvent s'utiliser que dans une transition, pour surveiller : • qu'une condition booléenne est toujours vraie, • que la transition est franchie dans un intervalle de temps défini (surveillance de la durée d'activité de l'étape (ou des étapes) amont). Les OFBs EVDGS, MVDGS, TRDGS, EPOS et EPOS permettent de plus, de mémoriser le source (réseau de contacts ou phrase littérale) auquel ils sont associés. Les OFBs EVDGS, MVDGS et TRDGS de version V5.5 peuvent être programmés pour déclencher de manière implicite la prise d'une "photo" (exécution d'un OFB PHOTO associé) lors de l'apparition d'un défaut. Cette nouvelle fonction, non implémentée sur les OFBs de version V4.0, est exploitable par le logiciel DIAG FAS (uniquement), afin de rechercher les causes du défaut. ___________________________________________________________________________ 1/1 ___________________________________________________________________________ 1.2 Caractéristique "diagnostic" 1.2-1 Généralités La caractéristique dite de diagnostic n'est pas liée à la famille PL7_DIAG mais est inhérente à la structure des OFBs. Quelle que soit leur famille d'appartenance, tous les OFBs ayant cette caractéristique possèdent obligatoirement les sorties ERROR et STATUS, qui permettent leur exploitation par le logiciel APPLIDIAG. OFBi ERROR : bit STATUS : word bit d'erreur mot d'état Bit ERROR Si ce bit n'est pas inhibé, il est positionné à 1 par l'OFB en cas de défaut. La scrutation permanente des bits d'erreur par programme ou par le logiciel de diagnostic APPLIDIAG, permet de déterminer les OFBs signalant un défaut. Mot STATUS Ce mot (ou ces mots selon le type d'OFBs) indique la ou les causes du défaut ayant provoqué la mise à 1 du bit ERROR. C'est l'OFB qui lors du déroulement de son algorithme positionne les bits du mot STATUS correspondants aux défauts détectés. Ce mot peut être exploité par programme ou par le logiciel APPLIDIAG, afin de signaler au conducteur de la machine ou au technicien de maintenance, le défaut par un message en clair. Application PL7-3 ( Base des symboles et des commentaires associés ) D OFBi ERROR : bit STATUS : word =1 bit 3 = 1 XTEL SYMB SDBASE ___________________________________________________________________________ 1/2 Blocs fonctions de la famille PL7_DIAG 1 ____________________________________________________________________________ 1.2-2 Initialisation des OFBs Les blocs fonctions de diagnostic application ont besoin d'être initialisés, pour que les sorties ERROR et STATUS puissent à nouveau évoluer lorsque celles-ci sont figées. Ils sont pour cela équipés de l'entrée d'initialisation INIT. OFBi bit d'initialisation INIT : bit ERROR : bit STATUS : word bit d'erreur mot d'état Il existe plusieurs façons d'effectuer l'initialisation de l'OFB : • Initialisation par l'opérateur L'opérateur après prise en compte et correction du défaut, provoque l'initialisation de l'OFB par le logiciel APPLIDIAG (se reporter à la documentation correspondante). • Initialisation par le programme application Ce fonctionnement nécessite que l'entrée INIT de l'OFB soit affectée par un objet PL7-3. L'état logique 1 de cette entrée provoque, lorsque le bloc est exécuté, l'initialisation de l'OFB. L'affectation de l'entrée INIT par le programme est prioritaire. Dans le cas où l'entrée INIT est câblée (affectée), toute demande d'initialisation depuis le logiciel APPLIDIAG est sans effet. • Initialisation par le mode données La mise à 1 du bit OFBi,INIT, en mode données (touche dynamique SET) provoque lorsque l'OFB est exécuté l'initialisation de celui-ci. ____________________________________________________________________________ 1.2-3 Inhibition du bit d'erreur Tous les OFBs de diagnostic application (EVDGN, EVDGS, MVDGN, MVDGS, TRDGN et TRDGS) possèdent la donnée interne INHIB, qui permet lorsqu'elle est à l'état 1 d'inhiber la sortie ERROR. Celle-ci est alors figée dans l'état où elle se trouve au moment de l'inhibition, et cela jusqu'à la prochaine mise à 0 de INHIB. ___________________________________________________________________________ 1/3 ___________________________________________________________________________ 1.3 Installation des OFBs 1.3-1 Opérations préliminaires Avant d'installer les OFBs de la famille PL7_DIAG sur disque dur, il est conseillé de : • lire le certificat de licence et de garantie, concernant les restrictions de copie et d'installation des logiciels, • faire une duplication de la disquette nécessaire à l'installation et ne travailler qu'avec cette copie, afin de préserver contre toute détérioration accidentelle la disquette originale. Important Les disquettes au format 3 pouces 1/2 sont livrées en position verrouillée en écriture. Ne pas modifier la position du verrou. 1.3-2 Procédure d'installation Les OFBs de la famille PL7_DIAG s'installent comme tous les logiciels sous l'atelier logiciel X-TEL ou MINI X-TEL : • vérifier que l'atelier logiciel X-TEL ou MINI X-TEL est déjà installé : - si c'est le cas, procéder à l'installation des OFBs selon la procédure décrite ci-après, - dans le cas contraire, installer d'abord l'atelier logiciel (se reporter au manuel de base concerné) puis les OFBs selon la procédure décrite ci-après. • fermer toutes les sessions en cours, • ouvrir une session OS/2 plein écran, • insérer la disquette dans le lecteur, • saisir l'identificateur du lecteur qui contient la disquette (a: ou b:), puis valider par <Entrée>, • à partir du nouveau prompt (par exemple [a:\] ou [b:\]), saisir la commande install, puis valider par <Entrée>, • suivre la procédure visualisée à l'écran, • lorsque l'installation est terminée enlever la disquette du lecteur puis procéder si nécessaire à l'installation d'un autre logiciel. Si cette installation était la dernière, contrôler la configuration puis après validation par <Entrée>, retirer la disquette du lecteur et retourner à l'atelier logiciel par la commande <Ctrl><Echap>. ___________________________________________________________________________ 1/4 1 Blocs fonctions de la famille PL7_DIAG ____________________________________________________________________________ 1.4 Configuration des OFBs Avant d'utiliser un OFB dans un programme application, il est nécessaire en mode CONFIGURATION PL7-3 : • de déclarer le type d'OFB, afin de charger le code exécutable dans l'espace programme_OFB de la mémoire mots, • de définir le nombre d'OFBs utilisé, afin de définir les espaces constantes_OFB et données_OFB de la mémoire mots. Espace programme (segment OESi) Espace données (segment ODSi) Espace constantes (segment OCSi) MVDGN Descripteur générique Code exécutable MVDGN1 MVDGN2 MVDGNn Entrées Entrées Entrées Sorties Sorties Sorties Données Données Données Constantes Constantes Constantes Déclaration du type et du nombre d'OFBs ___________________________________________________________________________ 1/5 ___________________________________________________________________________ • à partir de l'écran CHOIX DES MODES DE CONFIGURATION, choisir la rubrique 4 - BLOCS FONCTIONS OPTIONNELS. L'écran CONFIGURATION DES BLOCS FONCTIONS OPTIONNELS visualise la liste des types d'OFBs déjà déclarés, ainsi que le nombre d'OFBs par type. • si les OFBs de diagnostic application ne sont pas présents dans cette liste, appuyer sur la touche dynamique [NEW OFB]. Un nouvel écran permet alors de visualiser la liste des OFBs disponibles sur disque dur. Utiliser les commandes [PREV FAM] et [NEXT FAM] pour se positionner sur la famille PL7_DIAG et la commande [INS] pour choisir les types d'OFBs nécessaires pour l'application. • Après validation des nouveaux choix, l'écran CONFIGURATION DES BLOCS FONCTIONS OPTIONNELS est à nouveau visualisé. La commande [MODIFY] permet alors de définir pour chaque type déclaré, le nombre d'OFBs à utiliser. Pour plus d'informations sur la configuration des OFBs, se reporter à la documentation : Modes opératoires PL7-3. Attention Pour remplacer dans une application PL7-3, les OFBs EVDGS, MVDGS et TRDGS de version V4.0 par les mêmes OFBs de version V5.5, il est obligatoire de procéder de la manière suivante afin de ne pas perdre les valeurs des constantes internes de ces OFBs : 1 en mode programme, archiver tous les modules qui utilisent les OFBs de type EVDGS, MVDGS et TRDGS (commande WRITE). Cet archivage s'effectue avec l'option OBC sélectionnée, afin de mémoriser les constantes internes des OFBs (création d'un fichier .OBC pour chaque OFB). 2 en mode configuration, remplacer les OFBs EVDGS, MVDGS et TRDGS de version V4.0 par les OFBs EVDGS, MVDGS et TRDGS de version V5.5. 3 en mode programme, restituer les modules précédemment archivés (commande READ). 4 sauvegarder l'application PL7-3 par la commande STORE. ___________________________________________________________________________ 1/6 1 Blocs fonctions de la famille PL7_DIAG ____________________________________________________________________________ 1.5 Programmation des OFBs Tous les OFBs de la famille PL7_DIAG, à l'exception de l'OFB PHOTO, peuvent être programmés dans n'importe quel module en langage à contacts ou en langage littéral, par la commande [DIAG]. La lettre D, située en bas à gauche du réseau de contacts ou de la phrase littérale (en bas à droite pour une transition programmée en littéral), indique qu'un OFB de diagnostic application ou de commande et diagnostic de la partie opérative lui est associé. Dans le cas d'un réseau de contacts, l'équation de diagnostic est également visualisée dans le bandeau. L'utilisation des OFBs de diagnostic application oblige à respecter les règles suivantes : Les OFBs de type EVDGN, EVDGS, MVDGN, MVDGS, EPON et EPOS s'utilisent partout, sauf dans une transition. Les OFBs de type TRDGN et TRDGS ne s'utilisent que dans une transition. L'OFB PHOTO peut éventuellement être programmé dans un module en langage à contacts ou littéral par les commande EXEC OFB et SET de l'entrée MEMO, mais ceci ne correspond pas à un fonctionnement normal. L'utilisation correcte de cet OFB est de le programmer de manière implicite depuis un OFB de diagnostic application avec mémorisation du source (EVDGS, MVDGS et TRDGS); ce qui ne nécessite aucune ligne de programme mais seulement la déclaration du numéro d'OFB PHOTO dans une constante de l'OFB de diagnostic application. Quel que soit l'élément de programme auquel il est associé (réseau de contacts ou phrase littérale), la syntaxe de programmation d'un OFB de diagnostic application ou de commande et diagnostic de la partie opérative est la suivante : EXEC OFBi (Ent1;Ent2;Ent3;...;Entn => Sort1;Sort2;...;Sortm) OFBi Ent Sort ; => type et numéro d'OFB objets d'entrées (bits ou expressions booléennes) objets de sorties séparateur entre paramètres séparateur entre les paramètres d'entrées et de sorties Utilisation multiple d'un même OFB Les blocs fonctions EVDGSi, MVDGSi, TRDGSi et EPOSi qui permettent de mémoriser l'équation surveillée, ne sont utilisables qu'une seule fois dans un programme application (PL7-3 interdit une deuxième utilisation). Par contre les blocs fonctions EVDGNi, MVDGNi, TRDGNi et EPONi, sans mémorisation du source, peuvent être utilisés plusieurs fois dans le même programme. La condition impérative à respecter étant que ces utilisations ne soient pas simultanées (actions Grafcet simultanées ou programmation multi-tâches). ___________________________________________________________________________ 1/7 ___________________________________________________________________________ 1.5-1 Procédure de programmation d'un OFB de diagnostic La programmation d'un OFB de diagnostic application ou de commande et diagnostic de la partie opérative s'effectue en mode PROGRAMME : • définir en mode VISUALISATION, l'élément de programme auquel on désire associer un diagnostic (visualiser le réseau de contacts ou positionner le curseur de ligne sur la phrase littérale). • passer en mode MODIFICATION par la touche dynamique [MODIF], puis en mode MODIF DIAGNOSTIC par la touche [DIAG]. Le logiciel PL7-3 propose alors les touches dynamiques [IF], [THEN], [EXEC], [CONTENT] et [PARAM] nécessaires à la saisie du bloc fonction. • • • • • • appuyer sur la touche [EXEC], saisir le type et le numéro d'OFB, appuyer sur la touche [CONTENT] qui donne accès aux constantes internes de l'OFB, initialiser chaque constante, puis valider par <Entrée>, appuyer sur la touche [PARAM] qui visualise l'OFB sous forme graphique, câbler les entrées/sorties de l'OFB (voir rappel sur les OFBs), puis valider par <Entrée>. Un contrôle de cohérence est assuré, • valider par <Entrée> l'ensemble de l'équation visualisée dans le bandeau. La lettre D apparaît alors en bas à gauche de l'élément de programme diagnostiqué (en bas à droite pour une transition programmée en littéral). Il n'est pas nécessaire de câbler toutes les entrées/sorties. Les paramètres correspondants auront la valeur par défaut. Les touches dynamiques [IF] et [THEN] permettent de conditionner l'exécution des OFBs : IF condition THEN EXEC MVDGN5 (;B5;B100;;;=>;;W10) ___________________________________________________________________________ 1/8 Blocs fonctions de la famille PL7_DIAG 1 ____________________________________________________________________________ 1.5-2 Objets d'un OFB Tous les objets des OFBs de diagnostic application (par exemple MVDGS0,TIME, EVDGN2,ERROR, ...) sont accessibles : • par programme : - en lecture pour les paramètres d'entrées/sorties et les constantes internes, - en lecture/écriture pour les données internes. • par requête : - en lecture pour les paramètres de sorties, - en lecture/écriture pour les paramètres d'entrées, les données internes et les constantes internes. Tous les objets de l'OFB de commande et diagnostic de la partie opérative (par exemple EPO0,INIT, EPO2,SENSOR_I sont accessibles : • par programme et par requête : - en lecture pour les paramètres de sorties, les constantes internes et certaines données internes, - en lecture/écriture pour les paramètres d'entrées et certaines données internes, Symbolisation des OFBs Chaque OFB comprend plusieurs niveaux de représentation : • • • • le type d'OFB : par exemple MVDGS, l'OFB lui même : par exemple MVDGS1, l'élément d'OFB : par exemple MVDGS1,STATUS, le bit extrait d'un élément d'OFB : par exemple MVDGS1,STATUS,5. La programmation symbolique de PL7-3 permet 3 niveaux de symbolisation des OFBs, afin de permettre au programmeur de choisir celui qui s'adapte le mieux à son programme : • l'OFB : par exemple Verin (pour MVDGS1), • l'élément d'OFB : par exemple Verinsta ou Verin,STATUS (pour MVDGS1,STATUS), • le bit extrait d'un élément d'OFB : par exemple Vermach ou Verinsta,5 ou Verin,STATUS,5 (pour MVDGS1,STATUS,5). PL7-3 ne permet pas de symboliser le type d'OFB, par contre il permet la symbolisation des formes indexées des objets. ___________________________________________________________________________ 1/9 ___________________________________________________________________________ 1.5-3 Exécution des OFBs de diagnostic Pour qu'un bloc fonction de diagnostic application ou de commande et diagnostic de la partie opératoire soit exécuté il faut : • que l'élément de programme auquel cet OFB est associé soit exécuté, • que la commande EXEC soit exécutée, donc que la condition soit vraie si cette commande est conditionnelle (IF condition THEN EXEC). L'exécution correcte d'un OFB de type MVDGN ou MVDGS est de plus liée à l'entrée ENABLE qui valide la surveillance. ___________________________________________________________________________ 1/10 Surveillance d'un événement : EVDGN et EVDGS 2 ____________________________________________________________________________ 2.1 Généralités Ces deux types de blocs fonctions permettent de surveiller l'état d'un bit sans notion de temps. De plus l'OFB de type EVDGS permet de mémoriser le réseau de contacts ou la phrase littérale auquel il est associé; de même qu'il permet d'effectuer une "photo" de l'état de la Mémoire Bits, lors de l'apparition d'un défaut. Cette deuxième opération s'effectue au travers d'un OFB de type PHOTO, dont l'exécution est lancée automatiquement par l'OFB de diagnostic. ____________________________________________________________________________ 2.2 Présentation de EVDGNi et EVDGSi Entrées EVDGNi ou EVDGSi INIT : bit ERROR : bit ENABLE : bit STATUS : word EVENT : bit COND : bit Données internes INHIB : bit VALUE : bit PDONE : bit (*) MASQ_ST : word (*) ERRDATE : ar_w (*) Constantes internes PHOTO : word (*) Sorties (*) uniquement pour EVDGSi V5.5 Le bloc fonction EVDGNi ne possède pas de constantes internes. L'entrée INIT et la donnée interne INHIB sont accessibles par APPLIDIAG ou par programme; le programme étant prioritaire. ___________________________________________________________________________ 2/1 ___________________________________________________________________________ 2.3 Description des paramètres Paramètres d'entrées Paramètre Type Accès Description INIT bit R (1) R/W (2) après apparition d'un défaut, les sorties ERROR et STATUS mémorisent ce défaut. Le bit d'initialisation de l'OFB après prise en compte du ou des défauts détectés, valide à nouveau la surveillance. Les paramètres de sortie ERROR et STATUS ne sont plus figés et prennent l'état correspondant à la surveillance interne en cours : ERROR et STATUS = 0 si pas de défaut ou, ERROR = 1 et STATUS indique le ou les défauts détectés pendant le cycle de surveillance en cours. Le bit INIT est remis à 0 par l'OFB. Si l'OFB EVDGSi déclenche un OFB PHOTOi, la mise à 1 du bit INIT libère la "photo" associée (INIT de l'OFB PHOTOi associé). Par défaut INIT = 0. ENABLE bit R (1) R/W (2) bit de validation de la surveillance : Si ENABLE = 0, seule l'entrée COND est surveillée, Si ENABLE = 1, les entrées : COND et EVENT sont surveillées. Sur front descendant de ENABLE le cycle de surveillance se termine. Les sorties ERROR et STATUS se figent dans leur état s'il y a au moins un défaut. Par défaut ENABLE = 0. EVENT bit R (1) R/W (2) bit d'entrée à surveiller. Si l'OFB est exécuté et si ENABLE = 1, l'OFB surveille : • que l'entrée EVENT a la valeur spécifiée par la donnée interne VALUE, • que l'entrée EVENT est stable (pas de passages à l'état 1, 0, 1 successifs). Dans le cas contraire, l'OFB signale un défaut. Si ENABLE = 0, l'entrée EVENT n'est pas surveillée. Par défaut EVENT = 0. COND bit R (1) R/W (2) bit d'entrée à surveiller à 1, quel que soit l'état de l'entrée ENABLE. Si l'OFB est exécuté et si ce bit passe à 0, l'OFB signale un défaut. Par défaut COND = 1. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 2/2 2 Surveillance d'un événement : EVDGN et EVDGS ____________________________________________________________________________ Paramètres de sorties Paramètre Type Accès Description ERROR bit R (1) R (2) bit de défaut. Ce bit est mis à 1 dès qu'un défaut apparait, sauf si la donnée interne INHIB est à 1. Si la sortie ERROR est à 1, elle est figée dans cet état sur front descendant de l'entrée ENABLE. Seul un ordre INIT la fera à nouveau évoluer : • mise à l'état 0 si pas de défaut, • maintien à l'état 1 si un ou plusieurs défauts ont été détectés pour le cycle en cours. STATUS word R (1) R (2) mot indiquant le type de défaut (voir chapitre 2.4). Si la sortie STATUS indique un ou plusieurs défauts, elle est figée dans cet état sur front descendant de l'entrée ENABLE. Seul un ordre INIT la fera à nouveau évoluer : • mise à l'état 0 si pas de défaut, • signalisation du ou des défauts détectés pour le cycle en cours. Données internes Paramètre Type Accès Description INHIB bit R/W (1) R/W (2) bit d'inhibition de la sortie ERROR. La mise à l'état 1 de ce bit fige la sortie ERROR dans l'état en cours jusqu'à ce que INHIB soit à nouveau à l'état 0. Par défaut INHIB = 0. VALUE PDONE MASQ_ST bit bit word R/W (1) valeur (0 ou 1) à laquelle est comparée l'entrée EVENT. R/W (2) Par défaut VALUE = 1. R (1) à l'état 1, ce bit signale qu'une "photo" a été effectuée. R (2) Par défaut PDONE = 0. R/W (1) R/W (2) un bit à l'état 1 dans ce mot masque la mise à 1 du bit de même poids dans le mot STATUS. Le bit ERROR n'est pas positionné à 1. Par défaut MASQ_ST = 0. ERRDATE ar_w R (1) R (2) tableau de 8 mots qui contient la date d'apparition du défaut : dixième de seconde, seconde, minute, heure, jour, mois, année et jour de la semaine. Constantes internes Paramètre Type PHOTO word Accès Description numéro d'OFB PHOTO à déclencher. Par défaut PHOTO = -1 (pas de photo). (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 2/3 ___________________________________________________________________________ 2.4 Liste des défauts Mot STATUS bit0 = 1 bit1 = 1 bit2 à bit7 bit8 = 1 bit9 à bit15 : l'entrée EVENT est différente de la valeur spécifiée par VALUE : l'entrée COND est différente de 1 : non significatif : non significatif : l'entrée EVENT est instable : non significatif : non significatif ___________________________________________________________________________ 2/4 Surveillance d'un événement : EVDGN et EVDGS 2 ____________________________________________________________________________ 2.5 Fonctionnement Exécution de l'OFB ENABLE Cycle de surveillance Cycle de surveillance A chaque exécution d'un bloc fonction EVDGNi ou EVDGSi (voir chapitre 1.5-3), celuici effectue les traitements suivants : • acquisition des entrées (INIT, ENABLE, EVENT, COND), • surveillance des entrées, • mise à jour des sorties (ERROR, STATUS). Cela permet sur un cycle de surveillance, compris entre 2 fronts descendants de l'entrée ENABLE, de surveiller : • si l'entrée ENABLE est à 0, que le bit COND reste égal à 1. • si l'entrée ENABLE est à 1 : - que le bit COND reste égal à 1, - que le bit EVENT est égal à la valeur spécifiée par la donnée interne VALUE, - que le bit EVENT est stable (pas 2 changements dans un même cycle de surveillance et ENABLE = 1). Par exemple : diagnostic d'enclenchement des sécurités automatiques. Contrôle à effectuer • surveiller en fonctionnement automatique, que les sécurités ne sont pas enclenchées, • surveiller en permanence qu'une pompe hydraulique est en pression. Programme PL7 Secu1 Secu2 Secu3 Secu4 Secu5 Secu ( ) D EXEC EVDGS0 (; Auto; Secu; Pompe => Klaxon;) Programmation de l'OFB EVDGS0 Auto Secu Pompe INIT : bit ENABLE : bit EVENT : bit COND : bit ERROR : bit STATUS : word Klaxon ___________________________________________________________________________ 2/5 ___________________________________________________________________________ 2.5-1 Comportement de l'OFB en cas de détection de défaut(s) Dès qu'une des entrées surveillées n'est plus dans l'état paramétré sur l'OFB, celui-ci signale un défaut à la mise à jour de ces sorties : • mise à 1 du bit ERROR (si celui-ci n'est pas inhibé), • mise à 1 du bit de mot STATUS correspondant au défaut (si les sorties ne sont pas figées), • si un OFB PHOTOi est associé à l'OFB EVDGSi, déclenchement de celui-ci. Tous les défauts détectés au cours d'un même cycle de surveillance sont cumulés au fur et à mesure de leur apparition (mise à 1 du bit du mot STATUS correspondant à la mise à jour des sorties). En fin du cycle de surveillance (front descendant de l'entrée ENABLE) les sorties ERROR et STATUS sont figées dans l'état en cours et cela jusqu'à la prochaine initialisation de l'OFB par l'entrée INIT. Malgré l'état figé des sorties ERROR et STATUS, l'OFB continue la surveillance de ses entrées et signale en interne les défauts détectés. Le mot d'état interne, non accessible en lecture, étant remis à zéro à chaque début de cycle de surveillance, les défauts alors détectés ne sont pas signalés (attente de l'ordre INIT) et sont donc perdus. A l'initialisation de l'OFB, les sorties ERROR et STATUS indiquent l'état en cours (pas de défaut ou défaut(s) signalé(s) en interne). Les défauts seront cumulés jusqu'à la fin du cycle de surveillance qui figera à nouveau les sorties. Si aucun défaut n'est détecté en fin d'un cycle de surveillance, les sorties ERROR et STATUS ne sont pas figées. Défaut "entrée EVENT instable" Ce défaut apparaît après 2 changements d'état de l'entrée EVENT dans un même cycle de surveillance. ENABLE EVENT (VALUE = 1) défaut A défaut B A : : B l'entrée EVENT n'a plus la valeur spécifiée par VALUE, l'entrée EVENT est instable. ___________________________________________________________________________ 2/6 Surveillance d'un événement : EVDGN et EVDGS 2 ____________________________________________________________________________ 2.5-2 Comportement de l'OFB sur coupure secteur Lors d'une reprise à froid l'OFB initialise ses paramètres et données internes : • mise à 1 de l'entrée COND et mise à 0 des autres entrées, • mise à 0 des sorties, • mise à 1 de VALUE et mise à 0 de INHIB, La reprise à chaud et le débordement de tâche (OVERRUN) sont transparents pour l'OFB. 2.5-3 Optimisation en exécution Le bloc fonction EVDGNi ou EVDGSi, est conçu pour être utilisé sur une action continue Grafcet. De ce fait, il n'est pas nécessaire d'optimiser son exécution en la liant à une condition, puisque cette optimisation est assurée par l'interpréteur Grafcet. Les touches dynamiques IF et THEN sont cependant proposées afin de pouvoir annuler l'exécution de l'OFB sur certains cycles critiques. Les blocs fonction EVDGNi et EVDGSi peuvent être également utilisés dans le traitement postérieur. ___________________________________________________________________________ 2/7 ___________________________________________________________________________ 2.5-4 Exemple de fonctionnement Cycle de surveillance 1 2 3 4 ENABLE Défaut A B C D INIT ERROR STATUS • Cycle de surveillance 1 l'OFB est en fonctionnement normal et aucun défaut n'est détecté. • Cycle de surveillance 2 - défaut A : l'état du bit COND est différent de 1. Le bit ERROR passe à 1 et le mot STATUS signale ce défaut (bit 1 = 1), - INIT acquitte le défaut signalé par ERROR et STATUS. Ces 2 sorties sont alors positionnées dans l'état en cours (pas de défaut si l'entrée COND est repassée à 1), - défaut B : l'état du bit EVENT est différent de la valeur spécifiée par VALUE. Le bit ERROR passe à l'état 1 et le mot STATUS signale le défaut B (bit 0 à l'état 1), - front descendant de ENABLE : ce cycle de surveillance est terminé. Les sorties ERROR et STATUS sont figées dans l'état en cours (ERROR et bit 0 du mot STATUS à l'état 1). • Cycle de surveillance 3 la surveillance s'effectue et le défaut C est enregistré en interne. Sur front descendant de ENABLE, les sorties ERROR et STATUS étant toujours figées, ce défaut est perdu. • Cycle de surveillance 4 - défaut D : l'état du bit EVENT est différent de la valeur spécifiée par VALUE. Ce défaut est enregistré en interne, - INIT acquitte le défaut B signalé par ERROR et STATUS. Ces 2 sorties sont alors positionnées dans l'état en cours (ERROR et bit 0 du mot STATUS à l'état 1), - front descendant de ENABLE : ce cycle de surveillance est terminé. Les sorties ERROR et STATUS sont figées dans l'état en cours (ERROR et bit 0 du mot STATUS à l'état 1). ___________________________________________________________________________ 2/8 Surveillance d'un événement : EVDGN et EVDGS 2 ____________________________________________________________________________ 2.6 Exemple d'utilisation Contrôle du remplissage d'une trémie Silo Niveau EV1 Fermetur Trémie peseuse Ouvertur Fermee Cycle : déverser 100 kg de produit dans la trémie. Contrôles à effectuer • surveiller que la trémie est fermée lors du remplissage, • surveiller en permanence que le silo n'est pas vide. Programme PL7-3 < Remplissage de la trémie ! IF Cycle. Fermee THEN SET EV1 ELSE RESET EV1 < Commande trappe Trémie ! IF [Poids >= 100] THEN RESET EV1; RESET Fermetur; SET Ouvertur ! IF [Poids = 0] THEN RESET Ouvertur; SET Fermetur D ! IF Cycle THEN EXEC EVDGS1 (;EV1;Fermee;Niveau => Klaxon;) Programmation de l'OFB EVDGS1 EV1 Fermee Niveau INIT : bit ENABLE : bit EVENT : bit COND : bit ERROR : bit STATUS : word Klaxon • la présence du niveau dans le silo est contrôlée en permanence, tant que le cycle est en cours, • lorsque la trémie se remplit (EV1 sur ENABLE) la trappe trémie est surveillée à l'état Fermé (entrée EVENT). ___________________________________________________________________________ 2/9 ___________________________________________________________________________ Visualisation des défauts par APPLIDIAG ___________________________________________________________________________ 2/10 Surveillance d'un mouvement : MVDGN et MVDGS 3 ____________________________________________________________________________ 3.1 Généralités Ces deux types de blocs fonctions permettent de surveiller : • l'état d'un bit sans notion de temps (même fonction que EVDGN ou EVDGS), • un mouvement (changement d'état d'un bit dans un intervalle de temps défini). De plus l'OFB de type MVDGS permet de mémoriser le réseau de contacts ou la phrase littérale auquel il est associé; de même qu'il permet d'effectuer une "photo" de l'état de la Mémoire Bits, lors de l'apparition d'un défaut. Cette deuxième opération s'effectue au travers d'un OFB de type PHOTO, dont l'exécution est lancée automatiquement par l'OFB de diagnostic. ____________________________________________________________________________ 3.2 Présentation de MVDGNi et MVDGSi Entrées MVDGNi ou MVDGSi INIT : bit ERROR : bit ENABLE : bit STATUS : word EVENT : bit TIME : word COND :bit EVENT_T0 : bit EVENT_T1 : bit Données internes INHIB : bit VALUE : bit PRESET : word T0 : word T1 : word MIN : word MAX : word DEF_TIME : word MIN_EVT0 : word MAX_EVT0 : word MIN_EVT1 : word MAX_EVT1 : word MIN_VAL : word MAX_VAL : word PDONE : bit (*) MASQ_ST : word (*) ERRDATE : ar_w (*) Constantes internes INI_T0 : word INI_T1 : word INI_MIN : word INI_MAX : word BASE : word PHOTO : word (*) Sorties (*) uniquement pour MVDGSi V5.5 L'entrée INIT et la donnée interne INHIB sont accessibles par APPLIDIAG ou par programme; le programme étant prioritaire. ___________________________________________________________________________ 3/1 ___________________________________________________________________________ 3.3 Description des paramètres Paramètres d'entrées Paramètre Type Accès Description INIT bit R (1) R/W (2) après apparition d'un défaut, les sorties ERROR et STATUS mémorisent ce défaut. Le bit d'initialisation de l'OFB après prise en compte du ou des défauts détectés, valide à nouveau la surveillance. Les paramètres de sortie ERROR, STATUS et TIME ne sont plus figés. ERROR et STATUS prennent l'état correspondant à la surveillance interne en cours : ERROR et STATUS = 0 si pas de défaut ou, ERROR = 1 et STATUS indique le ou les défauts détectés pendant le cycle de surveillance en cours. TIME = 0 si ENABLE = 0 ou, TIME = temps interne en cours si ENABLE = 1. Le bit INIT est remis à 0 par l'OFB. Si l'OFB MVDGSi déclenche un OFB PHOTOi, la mise à 1 du bit INIT libère la "photo" associée (INIT de l'OFB PHOTOi associé). Par défaut INIT = 0. ENABLE bit R (1) R/W (2) bit de validation de la surveillance : Si ENABLE = 0, seule l'entrée COND est surveillée, Si ENABLE = 1, toutes les entrées : COND, EVENT, EVENT_T0, EVENT_T1 sont surveillées. Sur front montant de ENABLE le temps courant est initialisé à la valeur PRESET (sortie TIME = PRESET) et commence à évoluer. La surveillance des entrées EVENT, EVENT_T0 et EVENT_T1 démarre pour le cycle de surveillance en cours. Sur front descendant de ENABLE le cycle de surveillance se termine. Les sorties ERROR, et STATUS se figent dans leur état s'il y a au moins un défaut. La sortie TIME arrête d'évoluer et se fige à sa valeur en cours. Par défaut ENABLE = 0. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 3/2 Surveillance d'un mouvement : MVDGN et MVDGS 3 ____________________________________________________________________________ Paramètres d'entrées (suite) Paramètre Type Accès Description EVENT bit R (1) R/W (2) bit d'entrée à surveiller. Si l'OFB est exécuté et si ENABLE = 1, l'OFB surveille : • que l'entrée EVENT a la valeur spécifiée par la donnée interne VALUE, • que l'entrée EVENT est stable (pas 2 changements d'état successifs), • que l'entrée EVENT à la valeur spécifiée par VALUE, un temps minimum MIN et un temps maximum MAX. • que les entrées EVENT_T0 et EVENT_T1 passent de l'état 0 à 1 respectivement avant T0 et T1 et pendant que ENABLE = 1. Dans le cas contraire, l'OFB signale un défaut. Si ENABLE = 0, l'entrée EVENT n'est pas surveillée. Par défaut EVENT = 0. COND bit R (1) R/W (2) bit d'entrée à surveiller à 1, quel que soit l'état de l'entrée ENABLE. Si l'OFB est exécuté et si ce bit passe à 0, l'OFB signale un défaut. Par défaut COND = 1. EVENT_T0 bit R (1) R/W (2) événement extérieur associé au temps T0. Ce paramètre optionnel est un bit qui doit passer de l'état 0 à l'état 1 avant le temps T0 ou dans la plage ENABLE = 1. Par défaut EVENT_T0 = 1. EVENT_T1 bit R (1) R/W (2) événement extérieur associé au temps T1. Ce paramètre optionnel est un bit qui doit passer de l'état 0 à l'état 1 avant le temps T1 ou dans la plage ENABLE = 1. Par défaut EVENT_T1 = 1. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 3/3 ___________________________________________________________________________ Paramètres de sorties Paramètre Type Accès Description ERROR bit R (1) R (2) bit de défaut. Ce bit est mis à 1 dès qu'un défaut apparait, sauf si la donnée interne INHIB est à 1. Sur débordement d'horloge interne, le bit ERROR n'est pas mis à 1. Si la sortie ERROR est à 1, elle est figée dans cet état sur front descendant de l'entrée ENABLE. Seul un ordre INIT la fera à nouveau évoluer : • mise à l'état 0 si pas de défaut, • maintien à l'état 1 si un ou plusieurs défauts ont été détectés pour le cycle de surveillance en cours. STATUS word R (1) R (2) mot indiquant le type de défaut (voir chapitre 3.4). Si la sortie STATUS indique un ou plusieurs défauts, elle est figée dans cet état sur front descendant de l'entrée ENABLE. Seul un ordre INIT la fera à nouveau évoluer : • mise à l'état 0 si pas de défaut, • signalisation du ou des défauts détectés pour le cycle de surveillance en cours. TIME word R (1) R (2) mot indiquant le temps courant avec une base de temps exprimée en multiples de N x 100 ms. Le coefficient N est défini par la constante interne BASE. TIME est initialisé à la valeur PRESET et commence à évoluer sur front montant de l'entrée ENABLE. Il arrête d'évoluer et se fige à la valeur en cours, sur front descendant de ENABLE. Si un défaut est détecté (ERROR = 1), TIME reste figé dans cet état jusqu'au prochain ordre INIT. Lorsque INIT = 1 : • si ENABLE = 0, TIME = 0 ou • si ENABLE = 1, TIME = temps interne en cours. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 3/4 3 Surveillance d'un mouvement : MVDGN et MVDGS ____________________________________________________________________________ Données internes Paramètre Type Accès Description INHIB bit R/W (1) R/W (2) bit d'inhibition de la sortie ERROR. La mise à l'état 1 de ce bit fige la sortie ERROR dans l'état en cours jusqu'à ce que INHIB soit à nouveau à l'état 0. VALUE bit R/W (1) valeur (0 ou 1) à laquelle est comparée l'entrée EVENT. R/W (2) Par défaut VALUE = 1. PRESET word R/W (1) R/W (2) ce mot permet de définir par programme ou en mode données la valeur d'initialisation du temps courant (TIME) sur front montant de ENABLE. Par défaut INHIB = 0. Par défaut PRESET = 0. T0 word R/W (1) R/W (2) ce mot définit le temps T0 maximum pour que l'entrée EVENT_T0 passe de l'état 0 à 1. Si ce changement d'état s'effectue après le temps T0, l'OFB signale un défaut. T1 word R/W (1) R/W (2) ce mot définit le temps T1 maximum pour que l'entrée EVENT_T1 passe de l'état 0 à 1. Si ce changement d'état s'effectue après le temps T1, l'OFB signale un défaut. MIN word R/W (1) R/W (2) ce mot définit le temps minimum pendant lequel l'entrée EVENT doit être égale à la donnée interne VALUE. Dès que l'entrée EVENT est différente de VALUE avant le temps MIN, l'OFB signale un défaut. Si ce défaut est le premier défaut sur l'entrée EVENT depuis la dernière initialisation, le temps correspondant est mémorisé par la donnée interne DEF_TIME. MAX word R/W (1) R/W (2) ce mot définit le temps maximum pendant lequel l'entrée EVENT doit être égale à la donnée interne VALUE. Si l'entrée EVENT est égale à VALUE après le temps MAX, l'OFB signale un défaut. Si ce défaut est le premier défaut sur l'entrée EVENT depuis la dernière initialisation, le temps correspondant (MAX) est mémorisé par la donnée interne DEF_TIME. Par défaut T0 = 0. Par défaut T1 = 0. Par défaut MIN = 0. Par défaut MAX = 0. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 3/5 ___________________________________________________________________________ Données internes (suite) Paramètre Type Accès Description DEF_TIME word R/W (1) R/W (2) ce mot mémorise le temps correspondant au premier défaut sur l'entrée EVENT. DEF_TIME est initialisé à 0 par l'entrée INIT. MIN_EVT0 word R/W (1) R/W (2) Par défaut DEF_TIME = 0. ce mot mémorise le temps le plus petit qui a été nécessaire pour que l'entrée EVENT_T0 passe de l'état 0 à l'état 1. MIN_EVT0 est initialisé à 32767 par l'entrée INIT. Par défaut MIN_EVT0 = 32767. MAX_EVT0 word R/W (1) R/W (2) MIN_EVT1 word R/W (1) R/W (2) ce mot mémorise le temps le plus grand qui a été nécessaire pour que l'entrée EVENT_T0 passe de l'état 0 à l'état 1. MAX_EVT0 est initialisé à 0 par l'entrée INIT. Par défaut MAX_EVT0 = 0. ce mot mémorise le temps le plus petit qui a été nécessaire pour que l'entrée EVENT_T1 passe de l'état 0 à l'état 1. MIN_EVT1 est initialisé à 32767 par l'entrée INIT. Par défaut MIN_EVT1 = 32767. MAX_EVT1 word R/W (1) R/W (2) ce mot mémorise le temps le plus grand qui a été nécessaire pour que l'entrée EVENT_T1 passe de l'état 0 à l'état 1. MAX_EVT1 est initialisé à 0 par l'entrée INIT. MIN_VAL word R/W (1) R/W (2) ce mot mémorise le temps le plus petit pendant lequel l'entrée EVENT a eu la valeur spécifiée par la donnée interne VALUE. Par défaut MAX_EVT1 = 0. MIN_VAL est remis à 32767 sur INIT = 1. Par défaut MIN_VAL = 32767. MAX_VAL word R/W (1) R/W (2) ce mot mémorise le temps le plus grand pendant lequel l'entrée EVENT a eu la valeur spécifiée par la donnée interne VALUE. MAX_VAL est remis à 0 sur INIT = 1. Par défaut MAX_VAL = 0. PDONE MASQ_ST bit word R (1) à l'état 1, ce bit signale qu'une "photo" a été effectuée. R (2) Par défaut PDONE = 0. R/W (1) R/W (2) un bit à l'état 1 dans ce mot masque la mise à 1 du bit de même poids dans le mot STATUS. Le bit ERROR n'est pas positionné à 1. Par défaut MASQ_ST = 0. ERRDATE ar_w R (1) R (2) tableau de 8 mots qui contient la date d'apparition de défaut : dixième de seconde, seconde, minute, heure, jour, mois, année et jour de la semaine. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 3/6 Surveillance d'un mouvement : MVDGN et MVDGS 3 ____________________________________________________________________________ Constantes internes Paramètre Type Accès Description INI_T0 word R (1) R/W (2) ce mot indique la valeur initiale du temps T0. Cette valeur est transférée dans la donnée interne T0 au démarrage ou sur reprise à froid. INI_T1 word R (1) R/W (2) Par défaut INI_T0 = 0. ce mot indique la valeur initiale du temps T1. Cette valeur est transférée dans la donnée interne T1 au démarrage ou sur reprise à froid. Par défaut INI_T1 = 0. INI_MIN word R (1) R/W (2) ce mot indique la valeur initiale du temps MIN. Cette valeur est transférée dans la donnée interne MIN au démarrage ou sur reprise à froid. INI_MAX word R (1) R/W (2) ce mot indique la valeur initiale du temps MAX. Cette valeur est transférée dans la donnée interne MAX au démarrage ou sur reprise à froid. Par défaut INI_MIN = 0. Par défaut INI_MAX = 0. BASE word PHOTO word R (1) R/W (2) ce mot définit le coefficient N nécessaire à la définition de la base de temps. Tous les temps sont exprimés en multiples de N x 100 ms. Par défaut BASE = 1. numéro d'OFB PHOTO à déclencher. Par défaut PHOTO = -1 (pas de photo). (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 3/7 ___________________________________________________________________________ 3.4 Liste des défauts Mot STATUS bit0 = 1 bit1 = 1 bit2 = 1 : l'entrée EVENT est différente de la valeur spécifiée par VALUE : l'entrée COND est différente de 1 : l'entrée EVENT est différente de la valeur VALUE sur la durée MIN demandée bit3 = 1 : l'entrée EVENT est égale à la valeur VALUE au delà de la durée MAX demandée bit4 = 1 : l'entrée EVENT_T0 n'est pas passée à 1 pendant la période T0 demandée bit5 = 1 : l'entrée EVENT_T1 n'est pas passée à 1 pendant la période T1 demandée bit6 = 1 : l'entrée EVENT_T0 n'est pas passée à 1 dans la plage ENABLE = 1 bit7 = 1 : l'entrée EVENT_T1 n'est pas passée à 1 dans la plage ENABLE = 1 bit8 = 1 : l'entrée EVENT est instable bit9 = 1 : l'entrée EVENT_T0 n'est pas restée à 1 après le temps T0 bit10 = 1 : l'entrée EVENT_T1 n'est pas restée à 1 après le temps T1 bit11 : non significatif à bit13 : non significatif bit14 = 1 : débordement de l'horloge interne bit15 : non significatif ___________________________________________________________________________ 3/8 Surveillance d'un mouvement : MVDGN et MVDGS 3 ____________________________________________________________________________ 3.5 Fonctionnement Exécution de l'OFB ENABLE Cycle de surveillance Cycle de surveillance A chaque exécution d'un bloc fonction MVDGNi ou MVDGSi (voir chapitre 1.5-3), celuici effectue les traitements suivants : • acquisition des entrées (INIT, ENABLE, EVENT, COND, EVENT_T0, EVENT_T1), • surveillance des entrées, • mise à jour des sorties (ERROR, STATUS, TIME). Cela permet sur un cycle de surveillance, compris entre 2 fronts descendants de l'entrée ENABLE, de surveiller : • si l'entrée ENABLE est à 0, que le bit COND reste égal à 1. • si l'entrée ENABLE est à 1 : - que le bit COND reste égal à 1, - que le bit EVENT est égal à la valeur spécifiée par la donnée interne VALUE, - que le bit EVENT est stable (pas 2 changements d'état dans un même cycle de surveillance et ENABLE = 1), - que le bit EVENT est égal à la valeur spécifiée par la donnée interne VALUE, un temps minimum MIN et un temps maximum MAX, - que le bit EVENT_T0 passe de l'état 0 à l'état 1 avant le temps T0, défini en donnée interne, - que le bit EVENT_T0 passe de l'état 0 à l'état 1 dans le cycle de surveillance, pendant que ENABLE = 1, - que le bit EVENT_T1 passe de l'état 0 à l'état 1 avant le temps T1, défini en donnée interne, - que le bit EVENT_T1 passe de l'état 0 à l'état 1 dans le cycle de surveillance, pendant que ENABLE = 1, - que le bit EVENT_T0 passé à 1 dans le temps T0, reste dans cet état entre le temps T0 et le front descendant de ENABLE, - que le bit EVENT_T1 passé à 1 dans le temps T1, reste dans cet état entre le temps T1 et le front descendant de ENABLE. La base de temps permettant le comptage des temps courants T0, T1, MIN et MAX est définie par la constante interne BASE. Un changement de valeur de BASE n'est pas pris en compte pour le cycle de surveillance en cours; il le sera au démarrage du prochain cycle. ___________________________________________________________________________ 3/9 ___________________________________________________________________________ 3.5-1 Comportement de l'OFB en cas de détection de défaut(s) Dès qu'une des entrées surveillées n'est plus dans l'état paramétré sur l'OFB, celui-ci signale un défaut à la mise à jour de ces sorties : • mise à 1 du bit ERROR (si celui-ci n'est pas inhibé), • mise à 1 du bit de mot STATUS correspondant au défaut (si les sorties ne sont pas figées), • si un OFB PHOTOi est associé à l'OFB MVDGSi, déclenchement de celui-ci. Tous les défauts détectés au cours d'un même cycle de surveillance sont cumulés au fur et à mesure de leur apparition (mise à 1 du bit du mot STATUS correspondant à la mise à jour des sorties). En fin du cycle de surveillance (front descendant de l'entrée ENABLE) les sorties ERROR et STATUS sont figées dans l'état en cours et cela jusqu'à la prochaine initialisation de l'OFB par l'entrée INIT. Malgré l'état figé des sorties ERROR et STATUS, l'OFB continue la surveillance de ses entrées et signale en interne les défauts détectés. Le mot d'état interne, non accessible en lecture, étant remis à zéro à chaque cycle de surveillance, les défauts alors détectés ne sont pas signalés (attente de l'ordre INIT) et sont donc perdus. A l'initialisation de l'OFB, les sorties ERROR et STATUS indiquent l'état en cours (pas de défaut ou défaut(s) signalé(s) en interne). Les défauts seront cumulés jusqu'à la fin du cycle de surveillance qui figera à nouveau les sorties. Si aucun défaut n'est détecté en fin d'un cycle de surveillance, les sorties ERROR et STATUS ne sont pas figées. ENABLE MIN MAX EVENT (VALUE = 1) A B C Défaut "entrée EVENT instable" défaut A : l'entrée EVENT n'a plus la valeur spécifiée par VALUE, défaut B : l'entrée EVENT n'est pas stable, défaut C : l'entrée EVENT est égale à la valeur spécifiée par VALUE, après le temps MAX. ___________________________________________________________________________ 3/10 3 Surveillance d'un mouvement : MVDGN et MVDGS ____________________________________________________________________________ 3.5-2 Comportement de l'OFB sur coupure secteur Lors d'une reprise à froid l'OFB initialise ses paramètres et données internes : • • • • • mise à 1 des entrées COND, EVENT_T0 et EVENT_T1, mise à 0 des autres entrées (INIT, ENABLE, EVENT), mise à 0 des sorties ERROR, STATUS et TIME, mise à 1 de VALUE, transfert de INI_T0, INI_T1, INI_MIN et INI_MAX respectivement dans T0, T1, MIN et MAX, • mise à 32767 de MIN_EVT0, MIN_EVT1 et MIN_VAL, • mise à 0 des autres données (INHIB, PRESET, DEF_TIME, MAX_EVT0, MAX_EVT1 et MAX_VAL, PDONE, MASQ_ST). La reprise à chaud et le débordement de tâche (OVERRUN) sont transparents pour l'OFB. ____________________________________________________________________________ 3.5-3 Optimisation en exécution Afin d'optimiser l'exécution de MVDGNi ou MVDGSi, celle-ci peut être liée à une condition : IF condition THEN EXEC MVDGNi(...) Pour fonctionner correctement, il est indispensable que le bloc fonction puisse "voir" le passage à l'état 0 de son entrée ENABLE. En effet c'est ce changement d'état qui permet d'arrêter le comptage du temps courant et de considérer la fin du mouvement en cours (fin du cycle de surveillance). Le chronogramme suivant doit donc être respecté : Condition Exécution de l'OFB ENABLE Cette contrainte a pour conséquence qu'un bloc MVDGNi ou MVDGSi, programmé sur une équation d'une action continue Grafcet, ne fonctionnera pas correctement. ___________________________________________________________________________ 3/11 ___________________________________________________________________________ 3.5-4 Exemple de fonctionnement Cycle de surveillance 2 1 3 4 ENABLE TIME Défaut A B C D DEF. DEF. A A+B DEF E F G INIT ERROR STATUS C DEFAUT C + D DEFAUT G • Cycle de surveillance 1 l'OFB est en fonctionnement normal et aucun défaut n'est détecté. • Cycle de surveillance 2 - défaut A : l'état du bit COND est différent de 1. Le bit ERROR passe à 1 et le mot STATUS signale ce défaut (bit 1 = 1), - sur front montant de l'entrée ENABLE, la sortie TIME est initialisée à la valeur PRESET et s'incrémente depuis cette valeur, - défaut B : l'état du bit EVENT est différent de la valeur spécifiée par VALUE. Le bit ERROR reste à l'état 1 et le mot STATUS signale en plus du défaut A, ce deuxième défaut (bits 0 et 1 à l'état 1), - INIT acquitte les défauts signalés par ERROR et STATUS. Ces 2 sorties sont alors positionnées dans l'état en cours (pas de défaut si les défauts ont disparus). La sortie TIME s'incrémente toujours, - défaut C : le bit EVENT_T1 n'est pas passé à l'état 1 dans le temps T1. Le bit ERROR est mis à 1 et le mot STATUS signale ce défaut (bit 5 à l'état 1), - défaut D : l'entrée EVENT est active au delà du temps MAX. Le bit ERROR reste à 1 et STATUS signale également ce deuxième défaut (bits 5 et 3 à l'état 1), - front descendant de ENABLE : ce cycle de surveillance est terminé. Les sorties ERROR, STATUS et TIME sont figées dans l'état en cours (ERROR et bits 3 et 5 du mot STATUS à l'état 1, TIME indique le temps en cours). ___________________________________________________________________________ 3/12 Surveillance d'un mouvement : MVDGN et MVDGS 3 ____________________________________________________________________________ • Cycle de surveillance 3 - sur front montant de ENABLE le comptage du temps s'effectue en interne, - défaut E : ce défaut est enregistré en interne, - défaut F : ce défaut est enregistré en interne, - front descendant de ENABLE : ce cycle de surveillance est terminé. Les sorties ERROR, STATUS et TIME étant toujours figées, les défauts E et F sont perdus. • Cycle de surveillance 4 - front montant de ENABLE : le comptage du temps s'effectue en interne (sortie TIME figée), - défaut G : l'état du bit EVENT est différent de la valeur spécifiée par VALUE. Ce défaut est enregistré en interne, - INIT acquitte les défauts signalés par ERROR et STATUS. Ces 2 sorties sont alors positionnées dans l'état en cours (ERROR et bit 0 du mot STATUS à l'état 1), La sortie TIME prend la valeur du temps courant compté en interne et s'incrémente à partir de cette valeur, - front descendant de ENABLE : ce cycle de surveillance est terminé. Les sorties ERROR, STATUS et TIME sont figées dans l'état en cours (ERROR et bit 0 du mot STATUS à l'état 1, TIME indique le temps en cours). ____________________________________________________________________________ 3.6 Exemples d'utilisation Exemple 1 : contrôle de déplacement d'un chariot fcAr fcAv ___________________________________________________________________________ 3/13 ___________________________________________________________________________ Contrôles à effectuer • contrôler que l'ordre Avant a bien été donné, • après réception de l'ordre Avant, vérifier que le chariot quitte le capteur fcAr avant 1 seconde, • contrôler que la durée de la course Avance ne dépasse pas 10 secondes, • contrôler que les 2 capteurs de fin de course ne sont jamais à 1 en même temps, • contrôler que le capteur fcAr est à l'état 1 lorsque le chariot est à l'arrêt. Programme PL7 Avant fcAv Avance ( ) D EXEC MVDGS0 (; Avance; Avant; Not (fcAv • fcAr) • (fcAr + Avance + fcAv); Not fcAr; fcAv => ;;) Programmation de l'OFB MVDGS0 Avance Avant Not (fcAr. fcAv) • (fcAr + Avance + fcAv) Not fcAr fcAv INIT : bit ENABLE : bit EVENT : bit COND : bit EVENT_T0 : bit EVENT_T1 : bit INIT_T0 INI_T1 INI_MIN INI_MAX BASE VALUE ERROR : bit STATUS : word : word TIME = 1 x 1s = 10 x 1s =0 = 32000 = 10 x 100ms =1 • l'entrée EVENT permet de vérifier que l'ordre Avant a bien été donné pendant que le chariot se déplace, • l'entrée EVENT_T0 permet de vérifier que le chariot quitte le capteur fcAr avant 1 seconde, • l'entrée EVENT_T1 contrôle que la course ne dure pas plus de 10 secondes, • l'entrée COND est surveillée à 1 tout le temps où MVDGS0 est exécuté. Elle permet de contrôler que : - le capteur fcAr est à 1 lorsque le chariot est à l'arrêt, - les 2 capteurs fcAr et fcAv ne sont jamais à 1 en même temps. ___________________________________________________________________________ 3/14 Surveillance d'un mouvement : MVDGN et MVDGS 3 ____________________________________________________________________________ Visualisation des défauts par APPLIDIAG ___________________________________________________________________________ 3/15 ___________________________________________________________________________ Exemple 2 : Contrôle d'une pompe Niveau Rot Pr Contrôles à effectuer Après réception de l'ordre Marche, vérifier : • pendant la phase de démarrage de la pompe - que le niveau de la cuve est suffisant, - que la mise en fonctionnement de la pompe ne dépasse pas 1 s, - que la mise en pression de la pompe ne dépasse pas 5 s, • en fonctionnement permanent - que le niveau de la cuve est suffisant, - que la pression est correcte. Programme PL7 Ma Ar MVDGS1, ERROR Pompe ( ) MVDGS1, VALUE ( R) D EXEC MVDGS1 (;Pompe;;Niveau;Rot;Pr =>;;) Pompe Niveau Rot Pr MVDGS1 INIT : bit ERROR : bit ENABLE : bit STATUS : word EVENT : bit TIME : word COND : bit EVENT_T0 : bit EVENT_T1 : bit INI_T0 = 10 x 100 ms INI_T1 = 50 x 100 ms BASE = 1 x 100 ms • l'entrée COND permet de vérifier le niveau de la cuve, • les entrées EVENT_T0 et EVENT_T1 permettent de vérifier que la pompe est en fonctionnement au bout de 1 s et en pression au bout de 5 s. ___________________________________________________________________________ 3/16 Surveillance d'un mouvement : MVDGN et MVDGS 3 ____________________________________________________________________________ Visualisation des défauts par APPLIDIAG ___________________________________________________________________________ 3/17 ___________________________________________________________________________ ___________________________________________________________________________ 3/18 Surveillance d'une transition : TRDGN et TRDGS 4 ____________________________________________________________________________ 4.1 Généralités Ces deux types de blocs fonctions permettent de surveiller une transition, donc le temps d'activité de ou des étapes amonts. De plus l'OFB de type TRDGS permet de mémoriser la réceptivité (réseau de contacts ou phrase littérale auquel il est associé); de même qu'il permet d'effectuer une "photo" de l'état de la Mémoire Bits, lors de l'apparition d'un défaut. Cette deuxième opération s'effectue au travers d'un OFB de type PHOTO, dont l'exécution est lancée automatiquement par l'OFB de diagnostic. ____________________________________________________________________________ 4.2 Présentation de TRDGNi et TRDGSi Entrées TRDGNi ou TRDGSi INIT : bit ERROR : bit COND : bit STATUS : word TIME : word Données internes INHIB : bit PRESET : word MIN : word MAX : word MIN_VAL : word MAX_VAL : word PDONE : bit (*) MASQ_ST : word (*) ERRDATE : ar_w (*) Constantes internes INI_MIN : word INI_MAX : word BASE : word PHOTO : word (*) Sorties (*) uniquement pour TRDGSi V5.5 ___________________________________________________________________________ 4/1 ___________________________________________________________________________ 4.3 Description des paramètres Paramètres d'entrées Paramètre Type Accès Description INIT bit R (1) R/W (2) après apparition d'un défaut, les sorties ERROR et STATUS mémorisent ce défaut. Le bit d'initialisation de l'OFB après prise en compte du ou des défauts détectés, valide à nouveau la surveillance. Les paramètres de sortie ERROR, STATUS et TIME ne sont plus figés. ERROR et STATUS prennent l'état correspondant à la surveillance interne en cours : ERROR et STATUS = 0 si pas de défaut ou, ERROR = 1 et STATUS indique le ou les défauts détectés pendant le cycle de surveillance en cours. Si la transition est en cours d'évaluation TIME = temps interne en cours au moment de l'INIT. Le bit INIT est remis à 0 par l'OFB. Si l'OFB TRDGSi déclenche un OFB PHOTOi, la mise à 1 du bit INIT libère la "photo" associée (INIT de l'OFB PHOTOi associé). Par défaut INIT = 0. COND bit R (1) R/W (2) bit d'entrée à surveiller à 1 quand l'OFB est exécuté. Si l'OFB est exécuté et si ce bit passe à 0, l'OFB signale un défaut. Par défaut COND = 1. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 4/2 Surveillance d'une transition : TRDGN et TRDGS 4 ____________________________________________________________________________ Paramètres de sorties Paramètre Type Accès Description ERROR bit R (1) R (2) bit de défaut. Ce bit est mis à 1 dès qu'un défaut apparait, sauf si la donnée interne INHIB est à 1. Sur débordement d'horloge interne, le bit ERROR n'est pas mis à 1. Si la sortie ERROR est à 1, elle est figée dans cet état dès que la réceptivité devient passante. Seul un ordre INIT la fera à nouveau évoluer : • mise à l'état 0 si pas de défaut, • maintien à l'état 1 si un ou plusieurs défauts ont été détectés pour le cycle en cours. STATUS word R (1) R (2) mot indiquant le type de défaut (voir chapitre 4.4). Si la sortie STATUS indique un ou plusieurs défauts, elle est figée dans cet état dès que la réceptivité devient passante. Seul un ordre INIT la fera à nouveau évoluer : • mise à l'état 0 si pas de défaut, • signalisation du ou des défauts détectés pour le cycle en cours. TIME word R (1) R (2) mot indiquant le temps courant avec une base de temps exprimée en multiples de N x 100 ms. Le coefficient N est défini par la constante interne BASE. TIME est initialisé à la valeur PRESET et commence à s'incrémenter en début d'évaluation de la réceptivité; c'est à dire dès que l'étape ou les étapes amont sont devenues actives. Il arrête d'évoluer et se fige à la valeur en cours dès que la réceptivité devient passante. Si un défaut est détecté (ERROR = 1), TIME reste figé dans cet état jusqu'au prochain ordre INIT. Si la transition est en cours d'évaluation lorsque INIT = 1, TIME prend la valeur du temps interne en cours et s'incrémente à partir de cette valeur. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 4/3 ___________________________________________________________________________ Données internes Paramètre Type Accès Description INHIB bit R/W (1) R/W (2) bit d'inhibition de la sortie ERROR. La mise à l'état 1 de ce bit fige la sortie ERROR dans l'état en cours jusqu'à ce que INHIB soit à nouveau à l'état 0. PRESET word R/W (1) R/W (2) ce mot permet de définir par programme ou en mode données la valeur d'initialisation du temps courant (TIME) dès que la réceptivité est évaluée (la ou les étapes amont deviennent actives). Par défaut INHIB = 0. Par défaut PRESET = 0. MIN word R/W (1) R/W (2) ce mot définit, à partir du début d'évaluation de la réceptivité, le temps minimum pendant lequel elle doit être non passante. Par défaut MIN = 0. MAX word R/W (1) R/W (2) ce mot définit, à partir du début d'évaluation de la réceptivité, le temps maximum pendant lequel elle doit être non passante. Par défaut MAX = 0. MIN_VAL word R/W (1) R/W (2) ce mot mémorise le temps le plus petit pendant lequel la réceptivité a été non passante. MIN_VAL es initialisé à 32767 par l'entrée INIT. MAX_VAL word R/W (1) R/W (2) ce mot mémorise le temps le plus grand pendant lequel la réceptivité a été non passante. MAX_VAL est initialisé à 0 par l'entrée INIT. Par défaut MIN_VAL = 32767. Par défaut MAX_VAL = 0. PDONE bit R (1) à l'état 1, ce bit signale qu'une "photo" a été effectuée. R (2) Par défaut PDONE = 0. un bit à l'état 1 dans ce mot masque la mise à 1 du bit de même poids dans le mot STATUS. Le bit ERROR n'est pas positionné à 1. MASQ_ST word R/W (1) R/W (2) ERRDATE ar_w R (1) R (2) Par défaut MASQ_ST = 0. tableau de 8 mots qui contient la date d'apparition du défaut : dixième de seconde, seconde, minute, heure, jour, mois, année et jour de la semaine. (1) accès par programme, (2) accès par requête. ___________________________________________________________________________ 4/4 Surveillance d'une transition : TRDGN et TRDGS 4 ____________________________________________________________________________ Constantes internes Paramètre Type Accès Description INI_MIN word R (1) R/W (2) ce mot indique la valeur initiale du temps MIN. Cette valeur est transférée dans la donnée interne MIN au démarrage ou sur reprise à froid. INI_MAX word R (1) R/W (2) ce mot indique la valeur initiale du temps MAX. Cette valeur est transférée dans la donnée interne MAX au démarrage ou sur reprise à froid. Par défaut INI_MIN = 0. Par défaut INI_MAX = 0. BASE word PHOTO word R (1) R/W (2) ce mot définit le coefficient N nécessaire à la définition de la base de temps. Tous les temps sont exprimés en multiples de N x 100 ms. Par défaut BASE = 1. numéro d'OFB à déclencher. Par défaut PHOTO = -1 (pas de photo). (1) accès par programme, (2) accès par requête. 4.4 Liste des défauts Mot STATUS bit0 bit1 = 1 bit2 = 1 bit3 = 1 bit4 à bit13 bit14 = 1 bit15 : : : : : non significatif l'entrée COND est différente de 1 la réceptivité est passante avant le temps MIN demandé la réceptivité est passante après le temps MAX demandé non significatif : non significatif : débordement de l'horloge interne : non significatif ___________________________________________________________________________ 4/5 ___________________________________________________________________________ 4.5 Fonctionnement Un bloc fonction de type TRGDN ou TRDGS est exécuté juste après l'évaluation de la réceptivité associée. A chaque exécution d'un bloc fonction (voir chapitre 1.5-3), celui-ci effectue les traitements suivants : • acquisition des entrées (INIT, COND), • surveillance des entrées et du temps d'activité de l'étape ou des étapes amont, • mise à jour des sorties (ERROR, STATUS, TIME). Cela permet sur un cycle de surveillance, compris entre le début d'évaluation de la réceptivité et le moment où celle-ci devient passante, de surveiller : • que le bit COND reste égal à 1, • que la transition Grafcet est évaluée un temps minimum MIN, défini en données internes, • que la transition Grafcet est évaluée un temps maximum MAX, défini en données internes. 4.5-1 Comportement de l'OFB en cas de détection de défaut(s) Dès que l'entrée COND n'est plus à l'état 1 ou dès que la transition Grafcet est évaluée en dehors de la fourchette de temps fixée, l'OFB signale un défaut : • mise à 1 du bit ERROR, • mise à 1 du bit de mot STATUS correspondant au défaut, • si un OFB PHOTOi est associé à l'OFB TRDGSi, déclenchement de celui-ci. Tous les défauts détectés au cours d'un même cycle de surveillance sont cumulés au fur et à mesure de leur apparition (mise à 1 du bit du mot STATUS correspondant). En fin de cycle de surveillance (dès que la réceptivité devient passante) les sorties ERROR et STATUS sont figées dans l'état en cours, et cela jusqu'à la prochaine initialisation de l'OFB par l'entrée INIT. Malgré l'état figé des sorties ERROR et STATUS, l'OFB continue la surveillance de ses entrées en interne. Cette surveillance étant relancée à chaque cycle de surveillance, les défauts alors détectés ne sont pas signalés (attente de l'ordre INIT) et sont donc perdus. A l'initialisation de l'OFB, les sorties ERROR et STATUS indiquent l'état en cours. Les défauts seront cumulés jusqu'à la fin du cycle de surveillance qui figera à nouveau les sorties. Si aucun défaut n'est détecté en fin d'un cycle de surveillance, les sorties ERROR et STATUS ne sont pas figées. ___________________________________________________________________________ 4/6 4 Surveillance d'une transition : TRDGN et TRDGS ____________________________________________________________________________ 4.5-2 Comportement de l'OFB sur coupure secteur Lors d'une reprise à froid, l'OFB initialise ses paramètres et ses données internes : • mise à 1 de l'entrée COND et mise à 0 de l'entrée INIT, • mise à 0 des sorties ERROR, STATUS et TIME, • transfert de INI_MIN, INI_MAX respectivement dans MIN, MAX et mise à 0 des autres données internes, • mise à 32767 de MIN_VAL et mise à 0 de MAX_VAL. La reprise à chaud ou le débordement de tâche (OVERRUN) sont transparents pour l'OFB. ____________________________________________________________________________ 4.5-3 Optimisation en exécution Un bloc fonction TRDGNi ou TRDGSi n'est exécuté que lorsque la transition est évaluée. C'est donc l'interpréteur Grafcet qui assure automatiquement l'optimisation de son exécution. Les touches dynamiques IF et THEN sont cependant proposées afin de pouvoir annuler l'exécution de l'OFB sur certains cycles critiques. ____________________________________________________________________________ 4.5-4 Exemple de fonctionnement Cycle de 1 2 surveillance 3 4 Etape(s) amont active(s) TIME Défaut A B C D INIT ERROR DEF. DEFAUT D DEFAUT B A STATUS ___________________________________________________________________________ 4/7 ___________________________________________________________________________ • Cycle de surveillance 1 l'OFB est en fonctionnement normal et aucun défaut n'est détecté. • Cycle de surveillance 2 - défaut A : l'état du bit COND est différent de 1. Le bit ERROR passe à 1 et le mot STATUS signale ce défaut (bit 1 = 1), - INIT acquitte le défaut signalé par ERROR et STATUS. Ces 2 sorties sont alors positionnées dans l'état en cours (pas de défaut si l'entrée COND est repassée à 1), - défaut B : le temps courant est supérieur au temps MAX et la transition n'est toujours pas active. Le bit ERROR passe à l'état 1 et le mot STATUS signale le défaut B (bit 3 à l'état 1), - la réceptivité devient passante : ce cycle de surveillance est terminé. Les sorties ERROR, STATUS et TIME sont figées dans l'état en cours (ERROR et bit 3 du mot STATUS à l'état 1, TIME indique le temps en cours). • Cycle de surveillance 3 - étape(s) amont active : le comptage du temps s'effectue en interne, - défaut C (entrée COND différente de 1) : ce défaut est enregistré en interne, - la réceptivité devient passante : les sorties ERROR, STATUS et TIME étant toujours figées, le défaut C est perdu. • Cycle de surveillance 4 - étape(s) amont active : le comptage du temps s'effectue en interne, - défaut D (l'état du bit COND est différent de 1) : ce défaut est enregistré en interne, - INIT acquitte le défaut B signalé par ERROR et STATUS. Ces 2 sorties sont alors positionnées dans l'état en cours (ERROR et bit 1 du mot STATUS à l'état 1). La sortie TIME prend la valeur du temps courant compté en interne et s'incrémente à partir de cette valeur, - la réceptivité devient passante : ce cycle de surveillance est terminée. Les sorties ERROR, STATUS et TIME sont figées dans l'état en cours (ERROR et bit 1 du mot STATUS à l'état 1, TIME indique le temps en cours). ___________________________________________________________________________ 4/8 Surveillance d'une transition : TRDGN et TRDGS 4 ____________________________________________________________________________ 4.6 Exemple d'utilisation Contrôle qu'un mouvement a bien été exécuté Moteur Table fcAr fcAv Contrôles à effectuer • • • • surveiller que l'ordre d'avance de la table a bien été donné, contrôler l'ensemble des sécurités, contrôler le bon fonctionnement du moteur (fusible OK), contrôler que la table est en place pour usinage en 10 s au maximum. Programme PL7-3 5 Avance de la table fcAv 6 Usinage • Etape 5 : programmation de la commande d'avance de la table. AvAuto DefCde DefSecu DefFin CdeAv ( ) AvManu D EXEC EVDGS5 (;CdeAv;AvAuto + AvManu;Moteur => DefCde;) • Traitement postérieur : programmation de l'avance de la table et contrôle des sécurités. Auto BPManu X5 CdeAv SecuAuto Avance ( ) SecuManu D EXEC EVDGS6 (;CdeAv + BPManu;Avance; => DefSecu;) ___________________________________________________________________________ 4/9 ___________________________________________________________________________ • Transition X5 → X6 fcAv ( # ) D EXEC TRDGS0 (; => Def Fin;;) Programmation des OFBs EVDGS5 CdeAv AvAuto + AvManu Moteur INIT ENABLE EVENT COND : bit : bit : bit : bit VALUE =1 ERROR : bit STATUS : word DefCde • l'entrée EVENT permet de contrôler que l'ordre d'avance a bien été donné, • l'entrée COND permet de surveiller en permanence le fusible du moteur. EVDGS6 CdeAv + BPManu Avance INIT ENABLE EVENT COND : bit : bit : bit : bit VALUE =1 ERROR : bit STATUS : word DefSecu • l'entrée EVENT permet de contrôler l'avance de la table et l'ensemble des sécurités. TRDGS0 INIT COND : bit : bit ERROR : bit STATUS : word : word TIME DefFin INI_MAX = 10 x 1s BASE = 10 x 100ms • INI_MAX fixe le temps maximum (10 secondes) pour l'avance de la table. ___________________________________________________________________________ 4/10 Surveillance d'une transition : TRDGN et TRDGS 4 ____________________________________________________________________________ Visualisation des défauts par APPLIDIAG ___________________________________________________________________________ 4/11 ___________________________________________________________________________ ___________________________________________________________________________ 4/12 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ 5.1 Généralités Ces deux types de blocs fonctions permettent de contrôler, commander et diagnostiquer un élément de la partie opérative; c'est-à-dire un équipement agissant directement sur les produits fabriqués et sur l'environnement. Pour cela, les OFBs EPON et EPOS, définis par une association "préactionneur-actionneur/capteur", assurent un positionnement entre deux points de référence (contrôlés ou non), à déplacement (linéaire ou en rotation) pratiqué à vitesse constante. Ce cas courant concerne la commande de vérins (monostables, bistables ou distributeurs point milieu) ou la commande de certains moteurs utilisés comme moyens de positionnement, de serrage, d'unité d'usinage, de plateau tournant, etc... Ixy,i ▲ ▲ ▲ Oxy,i ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ PL7-3 ou APPLIDIAG OFB EPON ou EPOS Partie commande et surveillance Partie opérative ___________________________________________________________________________ 5/1 ___________________________________________________________________________ 5.2 Présentation de EPONi et EPOSi Entrées EPONi ou EPOSi INIT : bit ERROR : bit REQ_I : bit STATUS0 : word REQ_O : bit STATUS1 : word SENSOR_I : bit STATE_I : bit SENSOR_O : bit STATE_O : bit SECU_I : bit ORDER_I : bit SECU_O : bit ORDER_O : bit SECUPERM : bit Données internes TMIN_I : word TMIN_O : word TMAX_I : word TMAX_O : word TIME_I : word TIME_O : word RMIN_I : word RMIN_O : word RMAX_I : word RMAX_O : word RESET_FB : bit RESET_CT : bit MVT_I : bit MVT_O : bit READY : bit ADJ_TIME : bit EXPECTED : bit OUTCTRL : bit ORIGIN : bit RESEQ_I : bit RESEQ_O : bit INC_I : bit INC_O : bit FAULT_I : bit FAULT_O : bit POSSIB_I : bit POSSIB_O : bit NOSENS_I : bit NOSENS_O : bit N_ERROR : word N_REQ : word Constantes internes IMIN_I : word IMIN_O : word IMAX_I : word IMAX_O : word DIS_TIME : word BASE : word SET_ERR : word CONFIG : word RST_ORD : word SIMUL : bit RST_STA : word NBSENS_I : word RST_FB : word NBSENS_O : word ROTATION : bit ONEWAY : bit ORD_MNT : bit NEW_REQ : bit Sorties L'entrée INIT est accessible par APPLIDIAG ou par programme; le programme étant prioritaire. ___________________________________________________________________________ 5/2 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ 5.3 Description des paramètres Paramètres d'entrées Paramètre Type Accès Description INIT bit R/W (1) R/W (2) à l'état 1 ce bit provoque l'acquittement des défauts signalés par le bit ERROR et les mots STATUS0 et STATUS1. Le bit INIT est valide automate en STOP ou en RUN, par programme ou par requête, OFB exécuté ou non. Il est remis à 0 par l'OFB. Par défaut INIT = 0. REQ_I bit R/W (1) R/W (2) ce bit est positionné à 1 par la partie commande pour demander un mouvement "rentrée". Par défaut REQ_I = 0. REQ_O bit R/W (1) R/W (2) SENSOR_I bit R/W (1) R/W (2) SENSOR_O bit R/W (1) R/W (2) SECU_I bit R/W (1) R/W (2) ce bit est positionné à 1 par la partie commande pour demander un mouvement "sortie". Par défaut REQ_O = 0. cette entrée reçoit l'information de position d'un capteur de position "rentrée". Par défaut SENSOR_I = 0. cette entrée reçoit l'information de position d'un capteur de position "sortie". Par défaut SENSOR_O = 0. cette entrée permet de câbler les conditions de sécurité d'un mouvement "rentrée". Par défaut SECU_I = 0. SECU_O bit R/W (1) R/W (2) cette entrée permet de câbler les conditions de sécurité d'un mouvement "sortie". Par défaut SECU_O = 0. SECUPERM bit R/W (1) R/W (2) cette entrée permet de câbler les conditions permanentes de fonctionnement. Par défaut SECUPERM = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 5/3 ___________________________________________________________________________ Paramètres de sorties Paramètre Type Accès Description ERROR bit R (1) R (2) bit de défaut. Ce bit est positionné à 1 dès qu'un défaut apparait et à condition que ce défaut ne soit pas masqué (se reporter aux constantes internes SET_ERR et RST_FB). STATUS0, STATUS1 word R (1) R (2) ces 2 mots indiquent le type de défaut. STATUS0 signale les défauts liés au fonctionnent de l'OFB; STATUS1 est réservé aux défauts de configuration (se reporter au sous-chapitre 5.6). STATE_I bit R (1) R (2) à l'état 1 ce bit indique que la position "rentrée" est contrôlée. STATE_O bit R (1) R (2) à l'état 1 ce bit indique que la position "sortie" est contrôlée. Par défaut ERROR = 0. Par défaut STATUS0 = 0 et STATUS1 = 0. Par défaut STATE_I = 0. Par défaut STATE_O = 0. ORDER_I bit R (1) R (2) à l'état 1 ce bit indique que la commande "rentrée" est activée. Par défaut ORDER_I = 0. ORDER_O bit R (1) R (2) à l'état 1 ce bit indique que la commande "sortie" est activée. Par défaut ORDER_O = 0. Données internes liées à la gestion du temps Les valeurs de ces données expriment un temps égal à n fois 100 ms, où n est la valeur de la constante BASE. Les valeurs admises sont les nombres entiers compris entre 0 et 32767 inclus. Paramètre Type Accès Description TMIN_I, TMIN_O word R (1) R (2) ces 2 mots mémorisent le temps minimum qui a été nécessaire, respectivement pour les mouvements de "rentrée" et de "sortie". Sur initialisation de l'OFB ou sur mise à 1 de RESET_CT ou RESET_FB, TMIN_I et TMIN_O prennent la valeur 32767. TMAX_I, TMAX_O word R (1) R (2) ces 2 mots mémorisent le temps maximum qui a été nécessaire, respectivement pour les mouvements de "rentrée" et de "sortie". Sur initialisation de l'OFB ou sur mise à 1 de RESET_CT ou RESET_FB, TMAX_I et TMAX_O prennent la valeur 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 5/4 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ Données internes liées à la gestion du temps (suite) Paramètre Type Accès Description RMIN_I, RMIN_O word R (1) R (2) ces 2 mots servent de référence de durée minimum pour respectivement, les mouvements de "rentrée" et de "sortie". Sur initialisation de l'OFB (démarrage à froid, reconfiguration ou mise à 1 de RESET_FB) ces mots sont respectivement initialisés à la valeur des constantes internes IMIN_I et IMIN_O. RMAX_I, RMAX_O word R (1) R (2) ces 2 mots servent de référence maximum pour respectivement, les mouvements de "rentrée" et de "sortie". Sur initialisation de l'OFB (démarrage à froid, reconfiguration ou mise à 1 de RESET_FB) ces mots sont respectivement initialisés à la valeur des constantes internes IMAX_I et IMAX_O. TIME_I, TIME_O word R (1) R (2) ces 2 mots contiennent le temps courant respectivement pour les mouvements de "rentrée" et de "sortie" en cours ou le temps du dernier mouvement respectivement de "rentrée" et de "sortie" réalisé. Par défaut TIME_I = 0 et TIME_O = 0. Données internes utilisées pour les requêtes spécifiques Paramètre Type Accès Description RESET_FB bit R/W (1) R/W (2) à l'état 1 ce bit remet à 0 l'OFB. Le bit RESET_FB est valide automate en STOP ou en RUN, par programme ou par requête, OFB exécuté ou non. Il est remis à 0 par l'OFB. RESET_CT bit R/W (1) R/W (2) à l'état 1 ce bit ré-initialise les compteurs mémorisant les temps minimum et maximum des mouvements de "rentrée" et de "sortie" (TMIN_I, TMIN_O, TMAX_I et TMAX_O), le nombre de demandes de mouvement acceptées (N_REQ) et le nombre d'erreurs détectées (N_ERROR). Il est remis à 0 par l'OFB. Par défaut RESET_FB = 0. Par défaut RESET_CT = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 5/5 ___________________________________________________________________________ Données internes indiquant des états Paramètre Type Accès Description MVT_I MVT_O bit R (1) R (2) ces 2 bits signalent l'état transitoire d'un mouvement "rentrée" ou "sortie" engagé et non terminé (position recherchée non atteinte). Par défaut MVT_I = 0 et MVT_O = 0. READY bit R (1) R (2) ADJ_TIME bit R (1) R (2) ce bit signale la disponibilité de l'OFB : à l'état 1, l'OFB est en mode commande (positionnement des ordres) et à l'état 0, l'OFB est en mode recalage (attente de la prise d'origine). Par défaut READY = 0. ce bit signale que les temps de référence des mouvements ont été acquis (mode apprentissage). Par défaut ADJ_TIME = 0. EXPECTED bit R (1) R (2) ce bit signale que l'OFB attend l'apparition d'un capteur de fin de mouvement (le mouvement est engagé depuis plus de RMIN_I ou RMIN_O ou a été interrompu). Par défaut EXPECTED = 0. INC_I bit R (1) R (2) ce bit signale, en l'absence de mouvement, une incohérence entre l'état "rentrée" attendu par l'automatisme (donnée interne RESEQ_I ou ORIGIN) et la position connue par l'OFB. Par défaut INC_I = 0. INC_O bit R (1) R (2) ce bit signale, en l'absence de mouvement, une incohérence entre l'état "sortie" attendu par l'automatisme (donnée interne RESEQ_O) et la position connue par l'OFB. Par défaut INC_O = 0. FAULT_I bit R (1) R (2) ce bit signale un défaut constaté pendant un mouvement "rentrée" (hors position). Par défaut FAULT_I = 0. FAULT_O bit R (1) R (2) ce bit signale un défaut constaté pendant un mouvement "sortie" (hors position). Par défaut FAULT_O = 0. POSSIB_I bit R (1) R (2) ce bit indique que l'OFB est prêt à accepter une demande de mouvement "rentrée". Par défaut POSSIB_I = 0. POSSIB_O bit R (1) R (2) ce bit indique que l'OFB est prêt à accepter une demande de mouvement "sortie". Par défaut POSSIB_O = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 5/6 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ Données internes utilisées pour la remise en cycle Paramètre Type Accès Description OUTCTRL bit R/W (1) R/W (2) après un défaut provoquant l'arrêt du mouvement, ce bit permet de retrouver une position physique connue par le recalage OFB; les ordres étant activés sans surveillance. Par défaut OUTCTRL = 0. ORIGIN bit R/W (1) R/W (2) ce bit signale que l'état "prise d'origine" est attendu par l'automatisme (équivalent à RESEQ_I mais prioritaire). Par défaut ORIGIN = 0. RESEQ_I bit R/W (1) R/W (2) ce bit signale que l'état "rentrée" est attendu par l'automatisme. Par défaut RESEQ_I = 0. RESEQ_O bit R/W (1) R/W (2) ce bit signale que l'état "sortie" est attendu par l'automatisme. Par défaut RESEQ_O = 0. Données internes utilisées pour le contrôle des positions Paramètre Type Accès Description NOSENS_I, NOSENS_O bit R/W (1) R/W (2) ces bits donnent la position inverse des capteurs câblés sur les entrées respectives SENSOR_I et SENSOR_O. Ces bits sont utilisés seulement si l'OFB est configuré pour contrôler les positions à l'aide de ces données (constantes internes NBSENS_I et/ou NBSENS_O = 2). Données internes utilisées comme indicateurs de fiabilité Paramètre Type Accès Description N_REQ word R (1) R (2) ce mot mémorise le nombre de demandes acceptées par l'OFB. Il prend la valeur 0, lorsque RESET_FB ou RESET_CT est mis à l'état 1 ou sur débordement du compteur (lorsque la valeur limite 32767 est atteinte). Le débordement du compteur N_REQ entraîne sa remise à zéro, ainsi que celle du compteur N_ERROR. N_ERROR word R (1) R (2) ce mot mémorise le nombre d'erreurs détectées par l'OFB (fronts montants du bit ERROR). Il prend la valeur 0, lorsque RESET_CT est mis à l'état 1 ou sur débordement du compteur (lorsque la valeur limite 32767 est atteinte). Le débordement du compteur N_ERROR entraîne sa remise à zéro, ainsi que celle du compteur N_REQ. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 5/7 ___________________________________________________________________________ Constantes internes liées à la gestion du temps Les valeurs de ces constantes expriment un temps égal à n fois 100 ms, où n est la valeur de la constante BASE. Les valeurs admises sont les nombre entiers compris entre 0 et 32767 inclus. Paramètre Type Accès Description IMIN_I, IMIN_O word R (1) R (2) ces 2 mots définissent le temps minimum autorisé respectivement pour les mouvements de "rentrée" et de "sortie". A l'initialisation de l'OFB, les valeurs de IMIN_I et IMIN_O sont recopiés respectivement dans RMIN_I et RMIN_O. Par défaut IMIN_I = 0 et IMIN_O = 0. IMAX_I, IMAX_O word R (1) R (2) ces 2 mots définissent le temps maximum autorisé respectivement pour les mouvements de "rentrée" et de "sortie". A l'initialisation de l'OFB, les valeurs de IMAX_I et IMAX_O sont recopiés respectivement dans RMAX_I et RMAX_O. DIS_TIME word R (1) R (2) ce mot définit la durée pendant laquelle la disparition d'un capteur de position est tolérée. Par défaut IMAX_I = 0 et IMAX_O = 0. Par défaut DIS_TIME = 0. BASE word R (1) R (2) ce mot définit le coefficient N nécessaire à la définition de la base de temps. Tous les temps sont exprimés en multiples de N x 100 ms. Par défaut BASE = 1. Constantes internes utilisées pour configurer le comportement de l'OFB lors d'un défaut La mise à 1 d'un bit dans les constantes internes suivantes, sélectionne le défaut signalé par le bit de même rang dans le mot STATUS0. Paramètre Type Accès Description SET_ERR word R (1) R (2) ce mot permet de sélectionner les défauts qui provoqueront la mise à l'état 1 du bit ERROR et leur mémorisation dans STATUS0. Par défaut SET_ERR = H'0FE7' (voir sous-chapitre 5.4). RST_ORD word R (1) R (2) ce mot permet de sélectionner les défauts qui provoqueront la remise à zéro des ordres (ORDER_I et ORDER_O). Par défaut RST_ORD = H'0E00' (voir sous-chapitre 5.4). RST_STA word R (1) R (2) ce mot permet de sélectionner les défauts qui provoqueront la remise à zéro des états de position contrôlé par l'OFB (STATE_I et STATE_O) . Par défaut RST_STA = H'0180' (voir sous-chapitre 5.4). RST_FB word R (1) R (2) ce mot permet de sélectionner les défauts provoquant le passage de l'OFB en mode recalage (attente prise d'origine et acquittement). Le bit ERROR est positionné à 1 lors de l'un de ces défauts. Par défaut RST_FB = H'0187' (voir sous-chapitre 5.4). (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 5/8 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ Constantes internes utilisées pour configurer les types d'actionneurs commandés Paramètre Type Accès Description CONFIG word R (1) R (2) ce mot permet de configurer le type d'actionneur commandé. (se reporter au sous-chapitre 5.5). Par défaut CONFIG = -1 (cette valeur est erronée volontairement afin de rendre obligatoire le choix du type d'actionneur). SIMUL NBSENS_I, NBSENS_O bit word R (1) à l'état 1 ce bit positionne l'OFB en mode simulation. R (2) Par défaut SIMUL = 0. R (1) R (2) ces 2 mots permettent de définir la manière dont l'OFB contrôle respectivement les positions "rentrée" ou "sortie" : • NBSENS_I (ou NBSENS_O) = 0; la position n'est pas contrôlée, • NBSENS_I (ou NBSENS_O) = 1; la position est contrôlée avec l'entrée SENSOR_I (ou SENSOR_O), • NBSENS_I (ou NBSENS_O) = 2; la position est contrôlée avec l'entrée SENSOR_I (ou SENSOR_O) (état de travail de tous les capteurs) et la donnée interne NOSENS_I (ou NOSENS_O) (état repos). Par défaut NBSENS_I = 1 et NBSENS_O = 1. ROTATION ONEWAY bit bit R (1) à l'état 1 ce bit définit un mouvement de rotation. R (2) Par défaut ROTATION = 0 (mouvement linéaire). R (1) R (2) à l'état 1 ce bit définit un mouvement de rotation dans un seul sens. Par défaut ONEWAY = 0. Constantes internes utilisées pour configurer l'OFB sur reprise de cycle Paramètre Type Accès Description ORD_MNT bit R (1) R (2) si ce bit est à l'état 1, les ordres seront réactivés à la disparition de la signalisation dans STATUS0 du ou des défauts ayant provoqué une remise à zéro des ordres.. Par défaut ORD_MNT = 0. NEW_REQ bit R (1) R (2) si ce bit est à l'état 1, de nouvelles demandes seront exigées après détection d'un défaut ayant provoqué le passage de l'OFB en mode recalage (c'est-à-dire d'un défaut sélectionné dans RST_FB). Par défaut NEW_REQ = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 5/9 ___________________________________________________________________________ 5.4 Masques de sélection des constantes internes Le tableau suivant donne les valeurs par défaut des masques de sélection des constantes internes SET_ERR, RST_ORD, RST_STA et RST_FB. Lorsqu'un bit est signalé par une croix, cela signifie qu'il est sélectionné et que le défaut correspondant ne sera pas masqué. Ainsi l'OFB permet d'exécuter un mouvement en présence d'erreur et quelle que soit l'erreur. Par exemple, si le bit 9, sélectionnant le défaut "disparition des conditions permanentes de fonctionnement" est positionné à 0, les ordres pourront être activés même si cette condition disparaît. Bit Signification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Erreur commande Capteur "rentrée" non attendu Capteur "sortie" non attendu Capteur "rentrée" intempestif Capteur "sortie" intempestif Capteur "rentrée" tardif Capteur "sortie" tardif Disparition capteur "rentrée" Disparition capteur "sortie" Disparition condition permanente Disparition cond. sécurité "rentrée" Disparition cond. sécurité "sortie" Demande "rentrée" refusée Demande "sortie" refusée Capteur "rentrée" non retombé Capteur "sortie" non retombé SET_ERR RST_ORD RST_STA RST_FB (H'0FE7') (H'0E00') (H'0180') (H'0187') x x x . . x x x x x x x . . . . . . . . . . . . . x x x . . . . . . . . . . . x x . . . . . . . x x x . . . . x x . . . . . . . ___________________________________________________________________________ 5/10 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ 5.5 Sélection des types d'actionneurs C'est la valeur de la constante interne CONFIG qui permet de sélectionner le type d'actionneur et le type d'ordre souhaités. Les différentes configurations possibles sont les suivantes : Bit Actionneur Commande Logique de commande 0 actionneur monostable, une seule demande un seul ordre (ORDER_O) (REQ_O) ordre si demande (type 1) 1 actionneur monostable, deux demandes un seul ordre (ORDER_O) (REQ_O, REQ_I) ordre maintenu jusqu'à demande inverse (type 2) 2 actionneur monostable deux demandes un seul ordre (ORDER_O) (REQ_O, REQ_I) ordre si demande et accrochage de l'ordre sur la position, déverrouillage par la demande inverse ou la perte de position (type 5) 3 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre si demande (type 1) 4 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre maintenu jusqu'à demande inverse (type 2) 5 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre si demande et position non atteinte (type 3). Le préactionneur réagit sur une impulsion, inutile de maintenir l'ordre 6 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre maintenu jusqu'à demande inverse et jusqu'à position (type 4) 7 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre si demande et accrochage de l'ordre sur la position, déverrouillage par la demande inverse ou la perte de position (type 5) 8 actionneur multi-stable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) idem 4 9 actionneur multi-stable deux demandes (REQ_O, REQ_I) idem 6 10 actionneur multi-stable deux demandes idem 5 (REQ_O, REQ_I) et Arrêt intermédiaire autorisé (absence absence de demande de demandes) 11 actionneur multi-stable deux demandes idem 7 (REQ_O, REQ_I) et Arrêt intermédiaire autorisé (absence absence de demande de demandes) ___________________________________________________________________________ 5/11 ___________________________________________________________________________ 5.6 Liste des défauts Lorsque l'OFB EPON ou EPOS détecte un défaut, il signale ce dernier au travers du mot STATUS0 (plusieurs défauts peuvent être signalés en même temps). La mémorisation ou non des défauts dépend des valeurs des masques de sélection du comportement de l'OFB sur défaut : SET_ERR, RST_ORD et RST_FB : • un défaut sélectionné dans SET_ERR sera mémorisé jusqu'à son acquittement (l'OFB reste en mode contrôle-commande), • un défaut sélectionné dans RST_ORD sera signalé jusqu'à sa disparition ou son acquittement par INIT s'il est sélectionné dans SET_ERR (l'OFB reste en mode contrôle-commande), • un défaut sélectionné dans RST_FB sera mémorisé jusqu'à son acquittement (l'OFB passe en mode recalage), • tous les autres défauts (non sélectionnés) cessent d'être signalés lorsque la cause du défaut disparaît. Le tableau suivant liste les types de défauts signalés par l'OFB : Bit Signification bit 0 = 1 Erreur sur les commandes ou informations capteur anormales L'OFB a détecté une commande aberrante ou des informations sur les positions incohérentes : demandes "rentrée" et " sortie" présentes en même temps, état attendu "rentrée" (RESEQ_I ou ORIGIN) et "sortie" (RESEQ_O) présents en même temps, utilisation des commandes "rentrée" pour un actionneur monostable avec une seule demande ou pour un mouvement de rotation dans un seul sens, capteurs de position non confondus pour un mouvement de rotation. bit 1 = 1 bit 2 = 1 Capteur "rentrée" non attendu Capteur "sortie" non attendu Après être retombé, le capteur de la position inverse est à nouveau présent pendant un mouvement ou à l'arrêt. bit 3 = 1 bit 4 = 1 Capteur "rentrée" intempestif Capteur "sortie" intempestif Le capteur de la position à atteindre est présent avant le temps minimum défini pour le mouvement. bit 5 = 1 bit 6 = 1 Capteur "rentrée" tardif Capteur "sortie" tardif Le capteur de la position à atteindre n'est pas encore présent après le temps maximum défini pour le mouvement. bit 7 = 1 bit 8 = 1 Disparition capteur "rentrée" Disparition capteur "sortie" En position, le capteur a disparu pendant un temps supérieur au temps admis et défini en configuration. ___________________________________________________________________________ 5/12 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ Liste des défauts (suite) Bit bit 9 = 1 Signification Disparition condition permanente En mode contrôle-commande, les conditions permanentes ont disparu pendant un mouvement. bit 10 = 1 Disparition de la condition de sécurité pour le mouvement "rentrée" bit 11 = 1 Disparition de la condition de sécurité pour le mouvement "sortie" La condition de sécurité a disparu pendant un mouvement. bit 12 = 1 Demande "rentrée" refusée bit 13 = 1 Demande "sortie" refusée Une demande ne peut être acceptée par l'OFB (conditions de sécurité et/ou conditions permanentes absentes, ...). bit 14 = 1 Capteur "rentrée" non retombé bit 15 = 1 Capteur "sortie" non retombé Le capteur de la position inverse n'est pas retombé après le temps minimum défini pour le mouvement. Défauts de configuration Lors de l'initialisation de l'OFB (démarrage à froid, reconfiguration, RESET_FB, ...) celui-ci se retrouve dans un état "hors contexte d'utilisation" et en attente de prise d'origine. Il peut à ce moment là détecter les erreurs de configuration, empêchant son fonctionnement, qu'il signale par le paramètre de sortie STATUS1. Les défauts signalés sont les suivants : Bit Signification bit 0 = 1 Type d'actionneur invalide (valeur de CONFIG erronée). bit 1 = 1 Position "rentrée" ET position "sortie" choisies non contrôlées. bit 2 = 1 Mouvement rotation ET une des positions choisi non contrôlée. bit 3 = 1 Mouvement de rotation, monostable et dans un seul sens. bit 4 = 1 Durée maximale d'un mouvement inférieure à la durée minimale. bit 5 = 1 Mode simulation et apprentissage des durées des mouvements. bit 6 = 1 Mouvement de translation et dans un seul sens. bit 7 = 1 Mode apprentissage des durées des mouvements et positions non contrôlées. bit 8 = 1 Mouvement de rotation et positions contrôlées différemment. bit 9 = 1 Type d'actionneur 2, 7 ou 11 et défaut disparition capteur(s) non sélectionné pour faire retomber les ordres. ___________________________________________________________________________ 5/13 ___________________________________________________________________________ 5.7 Fonctionnement Le bloc fonction EPON ou EPOS s'insère dans la commande en assurant le lien entre le programme applicatif et l'action et inversement : les entrées REQ_O et REQ_I permettent de recevoir des demandes et les sorties ORDER_O et ORDER_I transmettent les ordres vers l'actionneur. Les entrées SENSOR_O et SENSOR_I et éventuellement les données NOSENS_O et NOSENS_I renseignent l'OFB sur les positions physiques "sortie" et "rentrée". La durée du mouvement est contrôlée au travers des données RMIN_O, RMAX_O, RMIN_I et RMAX_I. Les entrées SECU_O et SECU_I définissent les conditions de sécurité devant être valides pendant les mouvements "rentrée" et "sortie". L'entrée SECUPERM représente la condition de fonctionnement de l'OFB et doit être valide en permanence en mode contrôle-commande. 5.7-1 Pré-programmation de l'OFB Il est nécessaire de pré-programmer l'OFB afin de choisir : 1 Le type d'actionneur commandé, défini par la constante interne CONFIG : monostable (ORDER_I non utilisé) ou bistable (ORDER_O et ORDER_I utilisés), 2 Le type de mouvement, défini par la constante ROTATION : translation ou rotation. Si le mouvement choisi est la rotation, les capteurs de position "rentrée" et "sortie" sont confondus et la constante ONEWAY définit si le mouvement est à un seul sens ou à deux sens de rotation, 3 Le type des ordres donnés à l'actionneur. Ces ordres sont appliqués aux actionneurs selon les équations suivante pour les mouvements de "sortie". Ces équations sont identiques pour les mouvements de "rentrée" (remplacer _O par _I et vice et versa) : • Ordre si demande (type 1) REQ_O REQ_I ORDER_O • Ordre mémorisé jusqu'à la demande inverse (type 2) REQ_O REQ_I ORDER_O ORDER_O ___________________________________________________________________________ 5/14 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ • Ordre si demande et jusqu'à la position (type 3) REQ_O STATE_O REQ_I ORDER_O • Ordre mémorisé jusqu'à la demande inverse et jusqu'à la position (type 4) REQ_O ORDER_O REQ_I ORDER_O STATE_O • Ordre si demande et accrochage de l'ordre sur la position (type 5) REQ_O ORDER_O REQ_I ORDER_O STATE_O ___________________________________________________________________________ 5/15 ___________________________________________________________________________ 4 La manière dont les positions physiques de l'EPO sont contrôlées par l'OFB. Elle est définie par les constantes internes NBSENS_O et NBSENS_I. NBSENS_O ou NBSENS_I Contrôle 0 Position non contrôlée. Cette position est considérée comme étant atteinte si l'OFB s'attend à ce qu'elle soit atteinte, ou non atteinte si l'OFB ne s'attend pas à ce qu'elle le soit. Aucun défaut lié à cette position (capteur non retombé, non attendu, etc...) ne sera signalé. En d'autres termes cela signifie que si une position est choisie non contrôlée, l'OFB arrêtera le mouvement (vers cette position) dès que la durée limite RMAX_I ou RMAX_O sera atteinte et considérera l'EPO virtuellement sur cette position. D'autre part, à l'initialisation ou en recalage, la prise d'origine ne peut se faire que sur une position contrôlée. 1 Position contrôlée au travers de l'entrée SENSOR_O ou SENSOR_I. 2 Position contrôlée physiquement avec plusieurs capteurs. L'OFB contrôle la position avec 2 données : SENSOR_O (ou SENSOR_I) et NOSENS_O (ou NOSENS_I), avec : POSITION_O = SENSOR_O . NOSENS_O et POSITION_I = SENSOR_I . NOSENS_I SENSOR_O ou SENSOR_I représente l'état travail de tous les capteurs, NOSENS_O ou NOSENS_I représente l'état repos. Remarque Les deux positions ne peuvent pas être choisies, toutes les deux, non contrôlées. Si c'est le cas, l'OFB signale un défaut de configuration (STATUS1) et devient inutilisable. 5 Le comportement de l'OFB sur détection d'un défaut : • la constante SET_ERR définit les défauts, signalés dans STATUS0, qui provoqueront la mise à l'état 1 du bit ERROR, • la constante RST_ORD définit les défauts qui feront retomber les sorties ORDER_I et ORDER_O, • la constante RST_STA définit les défauts qui remettront à zéro les états contrôlés par l'OFB (sorties STATE_I et STATE_O), • la constante RST_FB définit les défauts qui provoqueront le basculement de l'OFB vers le mode "recalage" : les ordres et les états contrôlés évoluent selon les masques RST_ORD et RST_STA. La mise à 1 d'un bit dans l'une des 4 constantes SET_ERR, RST_ORD, RST_STA ou RST_FB sélectionne le défaut associé au bit de même rang dans STATUS0. ___________________________________________________________________________ 5/16 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ • la constante ORD_MNT définit si les ordres doivent être réactivés ou non à la disparition de la signalisation dans STATUS0 du ou des défauts ayant provoqué la mise à zéro des ordres pendant un mouvement. • la constante NEW_REQ définit si de nouvelles demandes sont exigées après un défaut ayant positionné l'OFB en mode "recalage". Par défaut, les nouvelles demandes sont exigées. 6 les durées des mouvements. • les constantes IMAX_I et IMAX_O définissent les durées maximales des mouvements "rentrée" et "sortie", • les constantes IMIN_I et IMIN_O définissent les durées minimales des mouvements "rentrée" et "sortie", Les valeurs expriment des temps dans une base de N x 100 ms, où N est la valeur de la constante BASE. Sur initialisation de l'OFB, ces valeurs sont copiées dans les données internes RMAX_I, RMAX_O, RMIN_I et RMIN_O. Si les constantes internes IMIN_I et IMAX_I (ou IMIN_O et IMAX_O), définissant la durée du mouvement, sont à zéro, l'OFB fera l'apprentissage de la durée du mouvement. 5.7-2 Exécution du mouvement En fonctionnement normal (mode contrôle-commande et bit READY = 1), l'OFB EPON ou EPOS commande le ou les mouvements en réalisant les opérations suivantes : • • • • • • • • • • contrôle des informations capteurs (entrées SENSOR_I et SENSOR_O), contrôle des demandes (entrées REQ_I et REQ_O), surveillance de la durée du mouvement, mémorisation des durées minimale et maximale des mouvements, apprentissage des durées de déplacement, détection et gestion des défauts, élaboration des comptes rendus pour la commande fonctionnelle, élaboration des ordres de commande de l'actionneur (sorties ORDER_I et ORDER_O), mise à jour des indicateurs de fonctionnement, assistance à la remise en cycle. ___________________________________________________________________________ 5/17 ___________________________________________________________________________ Les figures suivantes indiquent les différentes actions de mouvement : • de translation → ORDER_O Position "rentrée" Position "sortie" ← ORDER_I ou (pas REQ_O et monostable) Arrêt selon les cas → ORDER_O Position non contrôlée Position "sortie" ← ORDER_I ou (pas REQ_O et monostable) → ORDER_O Position "rentrée" Position non contrôlée ← ORDER_I ou (pas REQ_O et monostable) → MVT_O SIMUL SIMUL ← MVT_I • de rotation Position → ORDER_O Arrêt selon les cas Rotation 2 sens SIMUL → MVT_O Rotation 2 sens → ORDER_I ou (pas REQ_O et monostable) → MVT_I → ORDER_O → MVT_O Position Rotation 1 seul sens SIMUL Rotation 1 seul sens ___________________________________________________________________________ 5/18 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ Autorisation de mouvement En l'absence de demandes de mouvement et si celles-ci sont à priori autorisées (l'activation de l'information "demande refusée" dans STATUS0 ne serait pas activée), l'OFB positionne ses données internes POSSIB_I et POSSIB_O à l'état 1. Remarques • SECUPERM (conditions permanentes de fonctionnement) ou SECU_O (conditions de sécurité du mouvement) entrent dans l'évaluation du bit POSSIB_0 si leurs absences font retomber les ordres; c'est-à-dire, si les défauts leur étant associés sont sélectionnés dans le masque RST_ORD. • un mouvement sera refusé, si un défaut sélectionné dans RST_ORD est présent au moment de la demande. • la présence de la demande inverse, lors d'une demande de mouvement, empêchera toujours son exécution (ce défaut n'est pas masquable). De plus, pendant l'exécution d'un mouvement, une demande inverse annulera l'ordre que la demande soit acceptée ou non. Disparition d'un capteur et engagement du mouvement En position, la disparition d'un capteur n'est signalée qu'au bout du temps indiqué par la constante interne DIS_TIME. Ce contrôle est inhibé dès qu'une demande de mouvement est acceptée. Informations sur le mouvement L'OFB EPON ou EPOS positionne des données qui fournissent des informations sur l'exécution du mouvement : • les sorties STATE_I et STATE_O indiquent l'état du mouvement contrôlé par l'OFB (position atteinte), • les données internes MVT_I et MVT_O signalent que le mouvement engagé n'est pas encore terminé (hors position), • FAULT_I et FAULT_O signalent une erreur sur le mouvement en cours, • INC_I et INC_O signalent une incohérence entre la position attendue (données RESEQ_I, RESEQ_O et ORIGIN) et les sorties STATE_I et STATE_O, en l'absence de mouvement. Pendant le mouvement les conditions de sécurité liées au mouvement et les conditions permanentes doivent rester valides selon les masques RST_FB et RST_ORD. ___________________________________________________________________________ 5/19 ___________________________________________________________________________ 5.7-3 Mode recalage Lorsqu'un défaut provoque le passage de l'OFB EPON ou EPOS en mode recalage (bit READY à l'état 0), celui-ci attend de retrouver une position d'origine ("rentrée" ou "sortie") puis un acquittement du défaut (bit INIT à l'état 1). Prise d'origine L'OFB surveille en permanence les capteurs. Dès qu'il détecte une position atteinte, il positionne les sorties STATE_I et STATE_O et attend l'acquittement du défaut. Acquittement du défaut Il est autorisé lorsque l'OFB a retrouvé une position d'origine et si aucune demande n'est présente dans le cas où l'OFB est configuré pour exiger des nouvelles demandes (constantes interne NEW_REQ à l'état 1). L'acquittement est commandé par la mise à 1 (par programme ou par requête) de l'entrée INIT (Elle sera remise à 0 par l'OFB). Exécution des mouvements sans surveillance En mode recalage (uniquement), la donnée interne OUTCTRL permet d'exécuter des mouvements sans surveillance. Ainsi, lorsque OUTCTRL est positionné à 1, les demandes, prises en compte sur front montant, sont directement reportées sur les ordres sans aucun contrôle sur les capteurs; les mouvements devant quand même être autorisés (données POSSIB_O ou POSSIB_I). 5.7-4 Aide à la reprise de cycle Les données internes RESEQ_I, RESEQ_O et ORIGIN indiquent à l'OFB l'état qui est attendu par l'automatisme. L'OFB mémorise l'état attendu (mise à 1 de RESEQ_I, RESEQ_O ou ORIGIN). Si l'état ou le mouvement contrôlé par l'OFB n'est pas en accord avec l'état attendu (le dernier mémorisé), les données INC_I et INC_O signalent une incohérence. Lorsque l'OFB passe en mode recalage, les états attendus avant le passage sont mémorisés. Dès qu'une position est retrouvée, INC_I et INC_O signalent une incohérence entre la position retrouvée et l'état attendu. 5.7-5 Enregistrement des durées minimales et maximales des mouvements L'OFB EPON ou EPOS enregistre pour chaque mouvement exécuté (en mode non simulé) la durée et mémorise les durées minimales et maximales dans les données internes TMIN_I, TMAX_I, TMIN_O et TMAX_O. Les durées maximales sont mémorisées uniquement si elles sont inférieures aux valeurs maximales de référence RMAX_I et RMAX_O. La donnée interne RESET_CT permet de réinitialiser les valeurs minimales et maximales. ___________________________________________________________________________ 5/20 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ 5.7-6 Apprentissage des durées des mouvements L'OFB EPON ou EPOS a la possibilité de régler les durées des mouvements. Pour cela, il faut que les constantes internes de gestion du temps soient initialisées à 0. Lorsqu'un mouvement est exécuté sans interruption, la donnée interne RMIN_O (ou RMIN_I) prend une valeur égale à la moitié de la durée du mouvement; tandis que RMAX_O (ou RMAX_I) prend une valeur égale à 1 fois et demi cette valeur. On dit qu'un mouvement est exécuté sans interruption lorsqu'il n'est pas arrêté volontairement soit par absence de demandes pour les actionneurs le permettant, soit par un défaut qui provoque la mise à zéro des ordres. Lorsque les durées des deux mouvements ont été acquises, le bit ADJ_TIME prend la valeur 1. 5.7-7 Particularités du mouvement de rotation Evaluation de la position Si les deux entrées SENSOR_I et SENSOR_O ne sont pas identiques, le défaut "erreur commande" sera signalé. En position, si au moins une des deux entrées retombe à 0, l'OFB commencera à compter la durée de la disparition du ou des capteurs et ce, jusqu'à ce que les 2 entrées reprennent en même temps la valeur 1. En mouvement, la position sera considérée comme "quittée" si les 2 capteurs sont vus au moins une fois tous les deux à 0. La position sera considérée "atteinte" si les 2 capteurs sont vus à 1. Les seuls défauts signalés, concernant les capteurs, sont donc : • en position : "capteur(s) disparu(s)", • en mouvement : "capteur(s) non retombé(s)", "capteur(s) intempestif(s)" ou "capteur(s) tardif(s)". Demande maintenue et position atteinte En rotation, une seule position est contrôlée (les deux capteurs sont confondus). Sur position et à l'inverse du mouvement de translation, les deux demandes sont acceptées et engagent les deux mouvements possibles. Lorsqu'un mouvement est terminé (position atteinte), si la demande de "rentrée" ou de "sortie" est toujours présente, le mouvement est automatiquement relancé. Pour éviter cela avec le mouvement de rotation, les demandes sont interprétées sur front montant. ___________________________________________________________________________ 5/21 ___________________________________________________________________________ 5.7-8 Mode manuel L'exécution des mouvements en mode manuel (hors cycle machine) est à la charge de la commande fonctionnelle, indépendamment de l'OFB EPON ou EPOS. Ce dernier réagit aux commandes de la même manière qu'en mode automatique. Cependant, pour que l'OFB puisse fonctionner en mode manuel, il faut qu'il soit également exécuté hors cycle machine. Le bloc fonction EPOS, ayant la caractéristique diagnostic avec mémorisation du source, ne peut se programmer qu'une seule fois dans une application PL7-3. Pour cela, si une commande manuelle de l'OFB est prévue, il doit être exécuté dans un module PL7-3 facilement accessible, quel que soit l'état du cycle machine : module exécuté à chaque cycle automate (POST ou SR) dont l'appel peut être commandé facilement, en fonction ou indépendamment du cycle machine. 5.7-9 Modes de marche automate Sur démarrage à froid, reconfiguration, requête SY0, reprise après une coupure secteur ou ouverture du "ziquet" et défaut logiciel (overrun), l'OFB EPON ou EPOS remet à zéro toutes ses données internes et se retrouve en mode recalage (READY = 0). Le mode contrôle/commande sera à nouveau activé lorsque les conditions suivantes seront réunies : une position trouvée, aucun défaut signalé et aucune demande présente et cela quelle que soit la valeur de la constante interne NEW_REQ. ___________________________________________________________________________ 5/22 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ 5.8 Exemple d'utilisation L'exemple suivant montre l'utilisation de l'OFB EPOS pour contrôler le déplacement d'une tête de perceuse dans un cycle de perçage de pièces. A chaque cycle, lorsqu'une pièce est présente, la tête de perceuse est descendue, le perçage est effectué (temporisation) puis la tête de perceuse est remontée pour la pièce suivante. Contrôle à effectuer L'OFB est programmé pour commander un actionneur bistable : les ordres sont maintenus en présence des demandes et cela jusqu'à la position ( constante interne CONFIG = 5). Une remise en cycle en cas de défaut nécessitant une commande manuelle, l'OFB est programmé dans le traitement postérieur du Grafcet. Les commandes de mouvements sont positionnées lorsque les étapes correspondantes sont actives (bits associés au Grafcet indiquant si une étape est active). La descente de la tâte de perceuse correspond au mouvement de "sortie" et la montée au mouvement de "rentrée". Les conditions de sécurité du mouvement de "sortie" vérifient que le moteur de la perceuse tourne et qu'une pièce est présente. Pour le mouvement de "rentrée", seul le moteur est testé. Les conditions permanentes de marche vérifient que la commande est en mode automatique ou en mode manuel (équation affectée au bit Marche dans le traitement préliminaire). Programme PL7-3 IN Attente démarrage cycle Auto.RE(BpCycle) 0 Attente présence pièce Auto.Piece 1 Descente tête Auto.EPOS0,STATE_O 2 (tête en bas) Perçage [X0,2,V > 20] 3 (temporisation) Remontée tête Auto.EPOS0,STATE_I (tête en haut) 4 Not Arret Arret OUT ___________________________________________________________________________ 5/23 ___________________________________________________________________________ • Traitement postérieur programmation du déplacement de la tête de la perceuse. X0,1 EPOS0,RESEQ_O X0,3 EPOS0,RESEQ_I Moteur Piece EPOS0,SECU_O EPOS0,SECU_I D EXEC EPOS0(BpManu.BpAcquit;(Auto.EPOS0,RESEQ_I)+(BpManu.BpMontee); (Auto.EPOS0,RESEQ_O)+(BpManu.BpDesc);FcHaut;FcBas;;;Marche => ;;;;;O2,0;O2,1) Programmation de l'OFB BpManu. BpAcquit (1) (2) FcHaut FcBas EPOS0 INIT : bit ERROR : bit REQ_I : bit STATUS0 : word REQ_O : bit STATUS1 : word SENSOR_I : bit STATE_I : bit SENSOR_O : bit STATE_O : bit SECU_I : bit ORDER_I : bit SECU_O : bit ORDER_O : bit SECUPERM : bit O2,0 O2,1 CONFIG = 5 (1) : (Auto.EPOS0,RESEQ_I)+(BpManu.BpMontee) (2) : (Auto.EPOS0,RESEQ_O)+(BpManu.BpDesc) ___________________________________________________________________________ 5/24 Commande et diagnostic de la partie opérative : EPON et EPOS 5 ____________________________________________________________________________ Visualisation des défauts par APPLIDIAG ___________________________________________________________________________ 5/25 ___________________________________________________________________________ ___________________________________________________________________________ 5/26 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ 6.1 Généralités Ces deux types de blocs fonctions permettent de contrôler, commander et diagnostiquer un élément de la partie opérative; c'est-à-dire un équipement agissant directement sur les produits fabriqués et sur l'environnement. Pour cela, les OFBs NEPON et NEPOS, définis par une association "préactionneur-actionneur/capteur", assurent un positionnement entre deux points de référence (contrôlés ou non), à déplacement (linéaire ou en rotation) pratiqué à vitesse constante. Ce cas courant concerne la commande de vérins (monostables, bistables ou distributeurs point milieu) ou la commande de certains moteurs utilisés comme moyens de positionnement, de serrage, d'unité d'usinage, de plateau tournant, etc... Ixy,i ▲ ▲ ▲ Oxy,i ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ PL7-3 ou APPLIDIAG OFB NEPON ou NEPOS Partie commande et surveillance Partie opérative ___________________________________________________________________________ 6/1 ___________________________________________________________________________ 6.2 Présentation de NEPONi et NEPOSi Entrées NEPONi ou NEPOSi INIT : bit ERROR : bit REQ_I : bit STATUS0 : word REQ_O : bit STATUS1 : word SENSOR_I : bit READY : bit SENSOR_O : bit ORDER_I : bit SECU_I : bit ORDER_O : bit SECU_O : bit STATE_I : bit SECUPERM : bit STATE_O : bit POSSIB_I : bit POSSIB_O : bit FAULT_I : bit FAULT_O : bit INC_I : bit INC_O : bit Données internes RMIN_I : word ADJ_TIME : bit RMAX_I : word RESET_CT : bit TIME_I : word RESET_FB : bit TMIN_I : word OUTCTRL : bit TMAX_I : word ORIGIN : bit RMIN_O : word RESEQ_I : bit RMAX_O : word RESEQ_O : bit TIME_O : word NOSENS_I : bit TMIN_O : word NOSENS_O : bit TMAX_O : word MVT_I : bit N_REQ : word MVT_O : bit N_ERROR : word EXPECTED : bit Constantes internes CONFIG : word DIS_TIME : word NBSENS_I : word APP_TIME : word NBSENS_O : word SET_ERR : word ROTATION : bit RST_FB : word ONEWAY : bit RST_ORD : word IMIN_I : word ORD_MNT : bit IMAX_I : word NEW_REQ : bit IMIN_O : word SIMUL : bit IMAX_O : word BASE : word Sorties L'entrée INIT est accessible par APPLIDIAG ou par programme; le programme étant prioritaire. ___________________________________________________________________________ 6/2 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ 6.3 Description des paramètres Paramètres d'entrées Paramètre Type Accès Description INIT bit R/W (1) R/W (2) à l'état 1 ce bit provoque l'acquittement des défauts mémorisés dans les mots STATUS0 et STATUS1. Le bit INIT est valide automate en STOP ou en RUN, par programme ou par requête, OFB exécuté ou non. Il est remis à 0 par l'OFB. Par défaut INIT = 0. REQ_I bit R/W (1) R/W (2) ce bit est positionné à 1 par la partie commande pour demander un mouvement "rentrée". Par défaut REQ_I = 0. REQ_O bit R/W (1) R/W (2) SENSOR_I bit R/W (1) R/W (2) SENSOR_O bit R/W (1) R/W (2) SECU_I bit R/W (1) R/W (2) ce bit est positionné à 1 par la partie commande pour demander un mouvement "sortie". Par défaut REQ_O = 0. cette entrée reçoit l'information de position de tous les capteurs de position "rentrée". Par défaut SENSOR_I = 0. cette entrée reçoit l'information de position de tous les capteurs de position "sortie". Par défaut SENSOR_O = 0. cette entrée permet de câbler les conditions de sécurité d'un mouvement "rentrée". Par défaut SECU_I = 0. SECU_O bit R/W (1) R/W (2) cette entrée permet de câbler les conditions de sécurité d'un mouvement "sortie". Par défaut SECU_O = 0. SECUPERM bit R/W (1) R/W (2) cette entrée permet de câbler les conditions permanentes de fonctionnement. Par défaut SECUPERM = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/3 ___________________________________________________________________________ Paramètres de sorties Paramètre Type Accès Description ERROR bit R (1) R (2) bit de défaut. Ce bit est positionné à 1 dès qu'un défaut apparait et à condition que ce défaut ne soit pas masqué (se reporter à la constante interne SET_ERR). STATUS0, STATUS1 word R (1) R (2) ces 2 mots indiquent le type de défaut. STATUS0 signale les défauts liés au fonctionnent de l'OFB; STATUS1 est réservé aux défauts de configuration (se reporter au sous-chapitre 6.6). READY bit R (1) R (2) ce bit signale la disponibilité de l'OFB : à l'état 1, l'OFB est en mode commande (positionnement des ordres) et à l'état 0, l'OFB est en mode recalage (attente de la prise d'origine). ORDER_I bit R (1) R (2) ORDER_O bit R (1) R (2) STATE_I bit R (1) R (2) Par défaut ERROR = 0. Par défaut STATUS0 = 0 et STATUS1 = 0. Par défaut READY = 0. à l'état 1 ce bit indique que la commande "rentrée" est activée. Par défaut ORDER_I = 0. à l'état 1 ce bit indique que la commande "sortie" est activée. Par défaut ORDER_O = 0. à l'état 1 ce bit indique que la position "rentrée" est contrôlée. Par défaut STATE_I = 0. STATE_O bit R (1) R (2) à l'état 1 ce bit indique que la position "sortie" est contrôlée. Par défaut STATE_O = 0. POSSIB_I bit R (1) R (2) ce bit indique que l'OFB est prêt à accepter une demande de mouvement "rentrée". Par défaut POSSIB_I = 0. POSSIB_O bit R (1) R (2) ce bit indique que l'OFB est prêt à accepter une demande de mouvement "sortie". Par défaut POSSIB_O = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/4 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ Paramètres de sorties (suite) Paramètre Type Accès Description FAULT_I bit R (1) R (2) ce bit signale un défaut constaté pendant un mouvement "rentrée" (hors position). Par défaut FAULT_I = 0. FAULT_O bit R (1) R (2) INC_I bit R (1) R (2) ce bit signale un défaut constaté pendant un mouvement "sortie" (hors position). Par défaut FAULT_O = 0. ce bit signale, en l'absence d'ordre ou de requête, une incohérence entre l'état "rentrée" attendu par l'automatisme (donnée interne RESEQ_I ou ORIGIN) et la position connue par l'OFB. Par défaut INC_I = 0. INC_O bit R (1) R (2) ce bit signale, en l'absence d'ordre ou de requête, une incohérence entre l'état "sortie" attendu par l'automatisme (donnée interne RESEQ_O) et la position connue par l'OFB. Par défaut INC_O = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/5 ___________________________________________________________________________ Données internes liées à la gestion du temps Les valeurs de ces données expriment un temps égal à n fois 100 ms, où n est la valeur de la constante BASE. Les valeurs admises sont les nombres entiers compris entre 0 et 32767 inclus. Paramètre Type Accès Description RMIN_I, RMIN_O word R (1) R (2) ces 2 mots servent de référence de durée minimum pour respectivement, les mouvements de "rentrée" et de "sortie". Par défaut ou sur requête RESET_FB, ces mots sont respectivement initialisés à la valeur des constantes internes IMIN_I et IMIN_O (ou à 0 si IMIN_I = IMAX_I = 0, IMIN_O = IMAX_O = 0). RMAX_I, RMAX_O word R (1) R (2) ces 2 mots servent de référence maximum pour respectivement, les mouvements de "rentrée" et de "sortie". Par défaut ou sur requête RESET_FB, ces mots sont respectivement initialisés à la valeur des constantes internes IMAX_I et IMAX_O (ou à 32767 si IMIN_I = IMAX_I = 0, IMIN_O = IMAX_O = 0). TIME_I, TIME_O word R (1) R (2) ces 2 mots contiennent le temps courant respectivement pour les mouvements de "rentrée" et de "sortie" en cours ou le temps du dernier mouvement respectivement de "rentrée" et de "sortie" réalisé. Par défaut TIME_I = 0 et TIME_O = 0. TMIN_I, TMIN_O word R (1) R (2) ces 2 mots mémorisent le temps minimum qui a été nécessaire, respectivement pour les mouvements de "rentrée" et de "sortie". Par défaut ou sur requête, RESET_CT, TMIN_I et TMIN_O prennent la valeur RMAX_I ou RMAX_O si ADJ_TIME = 1; et IMAX_I ou IMAX_O si ADJ_TIME = 0. TMAX_I, TMAX_O word R (1) R (2) ces 2 mots mémorisent le temps maximum qui a été nécessaire, respectivement pour les mouvements de "rentrée" et de "sortie". Par défaut ou sur requête, RESET_CT, TMAX_I et TMAX_O prennent la valeur RMIN_I ou RMIN_O si ADJ_TIME = 1; et IMIN_I ou IMIN_O si ADJ_TIME = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/6 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ Données internes utilisées comme indicateurs de fiabilité Paramètre Type Accès Description N_REQ word R (1) R (2) ce mot mémorise le nombre de demandes acceptées par l'OFB. Il prend la valeur 0, lorsque RESET_CT est mis à l'état 1 ou sur débordement du compteur (lorsque la valeur limite 32767 est atteinte). Le débordement du compteur N_REQ entraîne sa remise à zéro, ainsi que celle du compteur N_ERROR. N_ERROR word R (1) R (2) ce mot mémorise le nombre d'erreurs détectées par l'OFB (fronts montants du bit ERROR). Il prend la valeur 0, lorsque RESET_CT est mis à l'état 1 ou sur débordement du compteur (lorsque la valeur limite 32767 est atteinte). Le débordement du compteur N_ERROR entraîne sa remise à zéro, ainsi que celle du compteur N_REQ. Données internes utilisées pour les requêtes spécifiques Paramètre Type Accès Description RESET_CT bit R/W (1) R/W (2) à l'état 1 ce bit ré-initialise les compteurs mémorisant les temps minimum, maximum et courant des mouvements de "rentrée" et de "sortie" (TMIN_I, TMIN_O, TMAX_I, TMAX_O, TIME_I et TIME_O), le nombre de demandes de mouvement acceptées (N_REQ) et le nombre d'erreurs détectées (N_ERROR). Il est remis à 0 par l'OFB. Par défaut RESET_CT = 0. RESET_FB bit R/W (1) R/W (2) à l'état 1 ce bit remet à 0 l'OFB (sauf les données gérées par RESET_CT). Le bit RESET_FB est valide automate en STOP ou en RUN, par programme ou par requête, OFB exécuté ou non. Il est remis à 0 par l'OFB. Par défaut RESET_FB = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/7 ___________________________________________________________________________ Données internes utilisées pour la remise en cycle Paramètre Type Accès Description OUTCTRL bit R/W (1) R/W (2) après un défaut sélectionné dans RST_FB, cette donnée permet d'autoriser l'OFB d'envoyer des ordres sans surveillance des capteurs, afin d'amener la partie opérative à une position contrôlée permettant le recalage. Les entrées SECU_I, SECU_O et SECUPERM doivent être valides. ORIGIN bit R/W (1) R/W (2) ce bit signale que l'état "position d'origine" est attendu par l'automatisme (équivalent à RESEQ_I mais prioritaire). RESEQ_I bit R/W (1) R/W (2) ce bit signale que l'état "rentrée" est attendu par l'automatisme. RESEQ_O bit R/W (1) R/W (2) ce bit signale que l'état "sortie" est attendu par l'automatisme. Par défaut OUTCTRL = 0. Par défaut ORIGIN = 0. Par défaut RESEQ_I = 0. Par défaut RESEQ_O = 0. Données internes utilisées pour le contrôle des positions Paramètre Type Accès Description NOSENS_I, NOSENS_O bit R/W (1) R/W (2) ces bits donnent la position inverse des capteurs câblés sur les entrées respectives SENSOR_I et SENSOR_O. Ces bits sont utilisés seulement si l'OFB est configuré pour contrôler les positions à l'aide de ces données (constantes internes NBSENS_I et/ou NBSENS_O = 2). Données internes indiquant des états Paramètre Type Accès Description ADJ_TIME bit R (1) R (2) ce bit signale que les temps de référence des mouvements ont été acquis (mode apprentissage). MVT_I MVT_O bit R (1) R (2) Par défaut ADJ_TIME = 0. ces 2 bits signalent l'état transitoire d'un mouvement "rentrée" ou "sortie" engagé et non terminé (position recherchée non atteinte). Par défaut MVT_I = 0 et MVT_O = 0. EXPECTED bit R (1) R (2) ce bit signale que l'OFB attend l'apparition d'un capteur de fin de mouvement (le mouvement est engagé depuis plus de RMIN_I ou RMIN_O ou a été interrompu). Par défaut EXPECTED = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/8 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ Constantes internes utilisées pour configurer les types d'actionneurs commandés Paramètre Type Accès Description CONFIG word R (1) R (2) ce mot permet de configurer le type d'actionneur commandé. (se reporter au sous-chapitre 6.5). Par défaut CONFIG = -1 (cette valeur est erronée volontairement afin de rendre obligatoire le choix du type d'actionneur). NBSENS_I, NBSENS_O word R (1) R (2) ces 2 mots permettent de définir la manière dont l'OFB contrôle respectivement les positions "rentrée" ou "sortie" : • NBSENS_I (ou NBSENS_O) = 0; la position n'est pas contrôlée, • NBSENS_I (ou NBSENS_O) = 1; la position est contrôlée avec l'entrée SENSOR_I (ou SENSOR_O), • NBSENS_I (ou NBSENS_O) = 2; la position est contrôlée avec l'entrée SENSOR_I (ou SENSOR_O) (état de travail de tous les capteurs) et la donnée interne NOSENS_I (ou NOSENS_O) (état repos de tous les capteurs). Par défaut NBSENS_I = 1 et NBSENS_O = 1. ROTATION bit R (1) à l'état 1 ce bit définit un mouvement de rotation. R (2) Par défaut ROTATION = 0 (mouvement linéaire). ONEWAY bit R (1) R (2) à l'état 1 ce bit définit un mouvement de rotation, avec possibilité d'enchaîner plusieurs mouvements dans un même sens. SIMUL bit R (1) à l'état 1 ce bit positionne l'OFB en mode simulation. R (2) Par défaut SIMUL = 0. Par défaut ONEWAY = 0. Constantes internes liées à la gestion du temps Les valeurs de ces constantes expriment un temps égal à n fois 100 ms, où n est la valeur de la constante BASE. Les valeurs admises sont les nombres entiers compris entre 0 et 32767 inclus. Paramètre Type Accès Description IMIN_I, IMIN_O word R (1) R (2) ces 2 mots définissent le temps minimum autorisé respectivement pour les mouvements de "rentrée" et de "sortie". A l'initialisation de l'OFB, les valeurs de IMIN_I et IMIN_O sont recopiés respectivement dans RMIN_I et RMIN_O (si IMIN_I et IMIN_O ne sont pas tous les 2 à 0). Par défaut IMIN_I = 0 et IMIN_O = 0. IMAX_I, IMAX_O word R (1) R (2) ces 2 mots définissent le temps maximum autorisé respectivement pour les mouvements de "rentrée" et de "sortie". A l'initialisation de l'OFB, les valeurs de IMAX_I et IMAX_O sont recopiés respectivement dans RMAX_I et RMAX_O (si IMAX_I et IMAX_O ne sont pas tous les 2 à 0). Par défaut IMAX_I = 0 et IMAX_O = 0. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/9 ___________________________________________________________________________ Constantes internes liées à la gestion du temps (suite) Paramètre Type Accès Description DIS_TIME word R (1) R (2) ce mot définit la durée pendant laquelle la disparition d'un capteur de position est tolérée. Par défaut DIS_TIME = 0. APP_TIME word R (1) R (2) ce mot définit la durée pendant laquelle l'apparition non attendue d'un capteur de position est tolérée. Par défaut APP_TIME = 0. BASE word R (1) R (2) ce mot représente le coefficient N nécessaire à la définition de la base de temps. Tous les temps sont exprimés en multiples de N x 100 ms. Par défaut BASE = 1. Constantes internes utilisées pour configurer le comportement de l'OFB lors d'un défaut Paramètre Type Accès Description SET_ERR word R (1) R (2) ce mot permet de sélectionner les défauts qui provoqueront la mise à l'état 1 du bit ERROR. Par défaut SET_ERR = H'0FE7' (voir sous-chapitre 6.4). RST_FB word R (1) R (2) ce mot permet de sélectionner les défauts provoquant le passage de l'OFB en mode recalage. Ces défauts sont mémorisés dans STATUS0 jusqu'à leur acquittement. Ils doivent également être sélectionnés dans le masque SET_ERR. Par défaut RST_FB = H'0187' (voir sous-chapitre 6.4). RST_ORD word R (1) R (2) ce mot permet de sélectionner les défauts provoquant la remise à zéro des ordres (ORDER_I et ORDER_O). Ces défauts sont mémorisés dans STATUS0 jusqu'à leur acquittement. Ils doivent également être sélectionnés dans le masque SET_ERR. Par défaut RST_ORD = H'0F87' (voir sous-chapitre 6.4). (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/10 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ Constantes internes utilisées pour configurer l'OFB sur reprise de cycle Paramètre Type Accès Description ORD_MNT bit R (1) R (2) si ce bit est à l'état 1, les ordres seront réactivés à la disparition de la signalisation dans STATUS0 du ou des défauts ayant provoqué une remise à zéro des ordres. NEW_REQ bit R (1) R (2) Par défaut ORD_MNT = 0. si ce bit est à l'état 1, de nouvelles demandes seront exigées après détection d'un défaut ayant provoqué le passage de l'OFB en mode recalage (c'est-à-dire d'un défaut sélectionné dans RST_FB). Par défaut NEW_REQ = 1. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 6/11 ___________________________________________________________________________ 6.4 Masques de sélection des constantes internes Le tableau suivant donne les valeurs par défaut des masques de sélection des constantes internes SET_ERR, RST_ORD et RST_FB. Lorsqu'un bit est signalé par une croix, cela signifie qu'il est sélectionné et que le défaut correspondant ne sera pas masqué. Ainsi l'OFB permet d'exécuter un mouvement en présence d'erreur et quelle que soit l'erreur. Par exemple, si le bit 9, sélectionnant le défaut "disparition des conditions permanentes de fonctionnement" est positionné à 0, les ordres pourront être activés même si cette condition disparaît. Bit Signification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Erreur commande Capteur "rentrée" non attendu Capteur "sortie" non attendu Capteur "rentrée" intempestif Capteur "sortie" intempestif Capteur "rentrée" tardif Capteur "sortie" tardif Disparition capteur "rentrée" Disparition capteur "sortie" Disparition condition permanente Disparition cond. sécurité "rentrée" Disparition cond. sécurité "sortie" Demande "rentrée" refusée Demande "sortie" refusée Capteur "rentrée" non retombé Capteur "sortie" non retombé SET_ERR (H'0FE7') RST_ORD (H'0F87') RST_FB (H'0187') x x x . . x x x x x x x . . . . x x x . . . . x x x x x . . . . x x x . . . . x x . . . . . . . ___________________________________________________________________________ 6/12 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ 6.5 Sélection des types d'actionneurs C'est la valeur de la constante interne CONFIG qui permet de sélectionner le type d'actionneur et le type d'ordre souhaités. Les différentes configurations possibles sont les suivantes : Bit Actionneur Commande Logique de commande 0 actionneur monostable, une seule demande un seul ordre (ORDER_O) (REQ_O) ordre si demande (type 1) 1 actionneur monostable, deux demandes un seul ordre (ORDER_O) (REQ_O, REQ_I) ordre maintenu jusqu'à demande inverse (type 2) 2 actionneur monostable deux demandes un seul ordre (ORDER_O) (REQ_O, REQ_I) ordre si demande et accrochage de l'ordre sur la position, déverrouillage par la demande inverse ou la perte de position (type 5) 3 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre si demande (type 1) 4 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre maintenu jusqu'à demande inverse (type 2) 5 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre si demande et position non atteinte (type 3). Le préactionneur réagit sur une impulsion, inutile de maintenir l'ordre 6 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre maintenu jusqu'à demande inverse et jusqu'à position (type 4) 7 actionneur bistable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) ordre si demande et accrochage de l'ordre sur la position, déverrouillage par la demande inverse ou la perte de position (type 5) 8 actionneur multi-stable deux ordres distincts (ORDER_O, ORDER_I) deux demandes (REQ_O, REQ_I) idem 4 9 actionneur multi-stable deux demandes (REQ_O, REQ_I) idem 6 10 actionneur multi-stable deux demandes idem 5 (REQ_O, REQ_I) et Arrêt intermédiaire autorisé (absence absence de demande de demandes) 11 actionneur multi-stable deux demandes idem 7 (REQ_O, REQ_I) et Arrêt intermédiaire autorisé (absence absence de demande de demandes) Note CONFIG = 8 à 11 : arrêt intermédiaire possible sur défaut sélectionné dans RST_ORD. ___________________________________________________________________________ 6/13 ___________________________________________________________________________ 6.6 Liste des défauts Lorsque l'OFB NEPON ou NEPOS détecte un défaut, il signale ce dernier au travers du mot STATUS0 (plusieurs défauts peuvent être signalés en même temps). La mémorisation ou non des défauts dépend des valeurs des masques de sélection du comportement de l'OFB sur défaut : RST_ORD et RST_FB : • un défaut sélectionné dans RST_FB sera mémorisé dans STATUS0 jusqu'à sa disparition et son acquittement par INIT (l'OFB passe en mode recalage), • un défaut sélectionné dans RST_ORD sera mémorisé dans STATUS0 jusqu'à sa disparition et son acquittement par INIT (l'OFB reste en mode contrôle-commande), • tous les autres défauts (non sélectionnés) cessent d'être signalés lorsque la cause du défaut disparaît. Un défaut sélectionné dans SET_ERR positionne le bit ERROR à 1. Le tableau suivant liste les types de défauts signalés par l'OFB : Bit bit 0 = 1 Signification Erreur sur les commandes ou informations capteur anormales L'OFB a détecté une commande aberrante ou des informations incohérentes sur les positions. Commandes aberrantes : demandes "rentrée" et " sortie" présentes en même temps, utilisation de la commande "rentrée" pour un actionneur monostable avec une seule demande, états attendus "rentrée" (RESEQ_I) et "sortie" (RESEQ_O) présents en même temps. Informations incohérentes sur les positions : capteurs de positions non confondus pour un mouvement de rotation, position non contrôlée et capteur de position actif, position contrôlée par plusieurs capteurs et variables SENSOR_I / O et NOSENS_I / O actives simultanément. bit 1 = 1 bit 2 = 1 Capteur "rentrée" non attendu Capteur "sortie" non attendu En position, au moins un capteur de la position opposée est actif, pendant un temps supérieur au temps autorisé, configuré dans APP_TIME. Après être retombé, le capteur de la position quittée apparaît à nouveau, pendant un temps supérieur au temps autorisé, défini dans APP_TIME. En recalage, au moins un capteur est présent sur chaque position. bit 3 = 1 bit 4 = 1 Capteur "rentrée" intempestif Capteur "sortie" intempestif Au moins un capteur de la position à atteindre est présent avant le temps minimum du mouvement, défini dans RMIN_I ou RMIN_O. ___________________________________________________________________________ 6/14 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ Liste des défauts (suite) Bit Signification bit 5 = 1 bit 6 = 1 Capteur "rentrée" tardif Capteur "sortie" tardif Au moins un capteur de la position à atteindre n'est pas encore présent au delà du temps maximum imparti au mouvement et défini dans RMAX_I ou RMAX_O. bit 7 = 1 bit 8 = 1 Disparition capteur "rentrée" Disparition capteur "sortie" En position, au moins un capteur a disparu pendant un temps supérieur au temps toléré, configuré dans DIS_TIME. En recalage, aucune position n'est retrouvée. bit 9 = 1 Disparition condition permanente Les conditions permanentes ont disparu pendant un mouvement. bit 10 = 1 Disparition de la condition de sécurité pour le mouvement "rentrée" bit 11 = 1 Disparition de la condition de sécurité pour le mouvement "sortie" La condition de sécurité a disparu pendant un mouvement. bit 12 = 1 Demande "rentrée" refusée bit 13 = 1 Demande "sortie" refusée Une demande ne peut être acceptée par l'OFB (conditions de sécurité et/ou conditions permanentes absentes, ...). bit 14 = 1 Capteur "rentrée" non retombé bit 15 = 1 Capteur "sortie" non retombé Au moins un capteur de la position quittée n'est pas retombé après le temps minimum du mouvement, défini dans RMIN_I ou RMIN_O. ___________________________________________________________________________ 6/15 ___________________________________________________________________________ Défauts de configuration Lors de l'initialisation de l'OFB (transfert application, changement de cartouche, RESET_FB, ...) celui-ci se retrouve dans un état "hors contexte d'utilisation" et en attente de prise d'origine. Il peut à ce moment là détecter les erreurs de configuration, empêchant son fonctionnement, qu'il signale par le paramètre de sortie STATUS1. Les défauts signalés sont les suivants : Bit Signification bit 0 = 1 Type d'actionneur invalide (valeur de CONFIG erronée). bit 1 = 1 Position "rentrée" ET position "sortie" choisies non contrôlées. bit 2 = 1 Mouvement rotation ET une des positions choisie non contrôlée. bit 3 = 1 Mouvement de rotation, monostable et dans un seul sens. bit 4 = 1 Durée maximale d'un mouvement inférieure ou égale à la durée minimale. bit 5 = 1 Mode simulation et apprentissage des durées des mouvements. bit 6 = 1 Mouvement de translation et dans un seul sens. bit 7 = 1 Mode apprentissage des durées des mouvements et positions non contrôlées. bit 8 = 1 Mouvement de rotation et positions contrôlées différemment. bit 9 = 1 Type d'actionneur 2, 7 ou 11 et défaut disparition capteur(s) non sélectionné pour faire retomber les ordres. bit 10 = 1 CONFIG choisie ET position non contrôlée incompatibles. (type d'actionneurs 2, 7 ou 11 et NBSENS_I ou NBSENS_O = 0). bit 11 = 1 Masques de sélection RST_ORD et RST_FB incompatibles. (les défauts sélectionnés dans RST_FB doivent être également sélectionnés dans RST_ORD). bit 12 = 1 Masques de sélection RST_ORD, RST_FB et SET_ERR incompatibles. (les défauts sélectionnés dans RST_FB et RST_ORD doivent être également sélectionnés dans SET_ERR). bit 13 = 1 Mouvement rotation ET masque de sélection RST_FB incompatibles. (ROTATION = 1 et défaut capteur(s) non retombé(s) non sélectionné dans RST_FB). ___________________________________________________________________________ 6/16 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ 6.7 Fonctionnement Le bloc fonction NEPON ou NEPOS s'insère dans la commande en assurant le lien entre le programme applicatif et l'action et inversement : les entrées REQ_O et REQ_I permettent de recevoir des demandes et les sorties ORDER_O et ORDER_I transmettent les ordres vers l'actionneur. Les entrées SENSOR_O et SENSOR_I et éventuellement les données NOSENS_O et NOSENS_I renseignent l'OFB sur les positions physiques "sortie" et "rentrée". La durée du mouvement est contrôlée au travers des données RMIN_O, RMAX_O, RMIN_I et RMAX_I. Les entrées SECU_O et SECU_I définissent les conditions de sécurité devant être valides pendant les mouvements "rentrée" et "sortie". L'entrée SECUPERM représente la condition de marche de la machine qui doit être valide pendant les mouvements. 6.7-1 Pré-programmation de l'OFB Il est nécessaire de pré-programmer l'OFB afin de choisir : 1 Le type d'actionneur commandé, défini par la constante interne CONFIG : monostable (ORDER_I non utilisé) ou bistable (ORDER_O et ORDER_I utilisés), 2 Le type de mouvement, défini par la constante ROTATION : translation ou rotation. Si le mouvement choisi est la rotation, les capteurs de position "rentrée" et "sortie" sont confondus et la constante ONEWAY définit si le mouvement est à un seul sens ou à deux sens de rotation, 3 Le type des ordres donnés à l'actionneur. Ces ordres sont appliqués aux actionneurs selon les équations suivante pour les mouvements de "sortie". Ces équations sont identiques pour les mouvements de "rentrée" (remplacer _O par _I et vice et versa) : • Ordre si demande (type 1) REQ_O REQ_I ORDER_O • Ordre mémorisé jusqu'à la demande inverse (type 2) REQ_O REQ_I ORDER_O ORDER_O ___________________________________________________________________________ 6/17 ___________________________________________________________________________ • Ordre si demande et jusqu'à la position (type 3) REQ_O STATE_O REQ_I ORDER_O • Ordre mémorisé jusqu'à la demande inverse et jusqu'à la position (type 4) REQ_O REQ_I STATE_O ORDER_O ORDER_O • Ordre si demande et accrochage de l'ordre sur la position (type 5) REQ_O ORDER_O REQ_I ORDER_O STATE_O ___________________________________________________________________________ 6/18 6 Commande et diagnostic de la partie opérative : NEPON et NEPOS ____________________________________________________________________________ 4 La manière dont les positions physiques de l'EPO sont contrôlées par l'OFB. Elle est définie par les constantes internes NBSENS_O et NBSENS_I. NBSENS_O ou NBSENS_I Contrôle 0 Position non contrôlée. Cette position est considérée comme étant atteinte si l'OFB s'attend à ce qu'elle soit atteinte, ou non atteinte si l'OFB ne s'attend pas à ce qu'elle le soit. Aucun défaut lié à cette position (capteur non retombé, non attendu, etc...) ne sera signalé. En d'autres termes cela signifie que si une position est choisie non contrôlée, l'OFB arrêtera le mouvement (vers cette position) dès que la durée limite RMAX_I ou RMAX_O sera atteinte et considérera l'EPO virtuellement sur cette position. D'autre part, à l'initialisation ou en recalage, la prise d'origine ne peut se faire que sur une position contrôlée. 1 Position contrôlée au travers de l'entrée SENSOR_O ou SENSOR_I. 2 Position contrôlée physiquement avec plusieurs capteurs. L'OFB contrôle la position avec 2 données : SENSOR_O (ou SENSOR_I) et NOSENS_O (ou NOSENS_I), avec : POSITION_O = SENSOR_O . NOSENS_O et POSITION_I = SENSOR_I . NOSENS_I SENSOR_O ou SENSOR_I représente l'état travail de tous les capteurs, NOSENS_O ou NOSENS_I représente l'état repos de tous les capteurs. Remarque Les deux positions ne peuvent pas être choisies, toutes les deux, non contrôlées. Si c'est le cas, l'OFB signale un défaut de configuration (STATUS1) et devient inutilisable. 5 Le comportement de l'OFB sur détection d'un défaut : • la constante SET_ERR définit les défauts, qui provoqueront la mise à l'état 1 du bit ERROR, • la constante RST_ORD définit les défauts qui feront retomber les sorties ORDER_I et ORDER_O, • la constante RST_FB définit les défauts qui provoqueront le basculement de l'OFB vers le mode "recalage". La mise à 1 d'un bit dans l'une des 2 constantes RST_ORD ou RST_FB sélectionne le défaut associé au bit de même rang dans STATUS0. ___________________________________________________________________________ 6/19 ___________________________________________________________________________ • la constante ORD_MNT définit si les ordres doivent être réactivés ou non à la disparition de la signalisation dans STATUS0 du ou des défauts ayant provoqué la mise à zéro des ordres pendant un mouvement. • la constante NEW_REQ définit si de nouvelles demandes sont exigées après un défaut ayant positionné l'OFB en mode "recalage". Par défaut, les nouvelles demandes sont exigées. 6 les durées des mouvements. • les constantes IMAX_I et IMAX_O définissent les durées maximales des mouvements "rentrée" et "sortie", • les constantes IMIN_I et IMIN_O définissent les durées minimales des mouvements "rentrée" et "sortie", Les valeurs expriment des temps dans une base de N x 100 ms, où N est la valeur de la constante BASE. Sur initialisation de l'OFB, ces valeurs sont copiées dans les données internes RMAX_I, RMAX_O, RMIN_I et RMIN_O. Si les constantes internes IMIN_I et IMAX_I (ou IMIN_O et IMAX_O), définissant la durée du mouvement, sont à zéro, l'OFB fera l'apprentissage de la durée du mouvement. 6.7-2 Exécution du mouvement En fonctionnement normal (mode contrôle-commande et bit READY = 1), l'OFB NEPON ou NEPOS commande le ou les mouvements en réalisant les opérations suivantes : • contrôle des informations capteurs (entrées SENSOR_I et SENSOR_O et éventuellement NOSENS_I et NOSENS_O), • contrôle des demandes (entrées REQ_I et REQ_O), • surveillance de la durée du mouvement, • mémorisation des durées minimale et maximale des mouvements, • apprentissage des durées de déplacement, • détection et réaction aux erreurs, • élaboration des comptes rendus pour la commande fonctionnelle, • élaboration des ordres de commande de l'actionneur (sorties ORDER_I et ORDER_O), • mise à jour des indicateurs de fonctionnement, • assistance à la remise en cycle. ___________________________________________________________________________ 6/20 6 Commande et diagnostic de la partie opérative : NEPON et NEPOS ____________________________________________________________________________ Les figures suivantes indiquent les différentes actions de mouvement : • de translation → ORDER_O Position "rentrée" Position "sortie" ← ORDER_I ou (pas REQ_O et monostable) Arrêt selon les cas → ORDER_O Position non contrôlée Position "sortie" ← ORDER_I ou (pas REQ_O et monostable) → ORDER_O Position "rentrée" Position non contrôlée ← ORDER_I ou (pas REQ_O et monostable) → MVT_O SIMUL SIMUL ← MVT_I • de rotation Position → ORDER_O Arrêt selon les cas Rotation 2 sens SIMUL → MVT_O Rotation 2 sens → ORDER_I ou (pas REQ_O et monostable) → MVT_I → ORDER_O → MVT_O Position Rotation 1 seul sens SIMUL Rotation 1 seul sens ___________________________________________________________________________ 6/21 ___________________________________________________________________________ Autorisation de mouvement En l'absence de demandes de mouvement et si celles-ci sont à priori autorisées (l'activation de l'information "demande refusée" dans STATUS0 ne serait pas activée), l'OFB positionne ses sorties POSSIB_I et POSSIB_O à l'état 1. Remarques • SECUPERM (conditions permanentes de marche) ou SECU_O / I (conditions de sécurité du mouvement) entrent dans l'évaluation du bit POSSIB_O / I si leurs absences font retomber les ordres; c'est-à-dire, si les défauts leur étant associés sont sélectionnés dans le masque RST_ORD. • un mouvement sera refusé, si un défaut sélectionné dans RST_ORD est présent au moment de la demande. • la présence de la demande inverse, lors d'une demande de mouvement, empêchera toujours son exécution (ce défaut n'est pas masquable). De plus, pendant l'exécution d'un mouvement, une demande inverse annulera l'ordre que la demande soit acceptée ou non, • en position, une demande est sans effet pour les commandes de type ordre jusqu'à position (type 3 ou 4) : POSSIB tient compte de cette condition. Disparition d'un capteur et engagement du mouvement En position, la disparition d'un capteur n'est signalée qu'au bout du temps indiqué par la constante interne DIS_TIME. Ce contrôle est inhibé dès qu'une demande de mouvement est acceptée. Capteur non attendu En dehors du mode recalage, l'apparition d'un capteur non attendu n'est signalée qu'après le temps indiqué par la constante interne APP_TIME. Informations sur le mouvement L'OFB NEPON ou NEPOS positionne des données qui fournissent des informations sur l'exécution du mouvement : • les sorties STATE_I et STATE_O indiquent l'état du mouvement contrôlé par l'OFB (position atteinte). FAULT_I et FAULT_O signalent une erreur sur le mouvement en cours, • INC_I et INC_O signalent une incohérence entre la position attendue (données RESEQ_I, RESEQ_O et ORIGIN) et les sorties STATE_I et STATE_O, en l'absence d'ordre ou de requête, • les données internes MVT_I et MVT_O signalent que le mouvement engagé n'est pas encore terminé (hors position). Pendant le mouvement les conditions de sécurité liées au mouvement et les conditions permanentes doivent rester valides selon les masques RST_FB et RST_ORD. ___________________________________________________________________________ 6/22 6 Commande et diagnostic de la partie opérative : NEPON et NEPOS ____________________________________________________________________________ 6.7-3 Mode recalage Suite à une erreur configurée dans RST_FB ou à une requête RESET_FB, provoquant le passage en mode recalage, l'OFB NEPON ou NEPOS réalise les opérations suivantes : • désactivation du bit READY, • désactivation des sorties STATE_I / O et ORDER_I / O, • prise en compte de ses constantes et poursuite du fonctionnement s'il n'y a pas d'erreur de configuration dans STATUS1 (uniquement dans le cas de requête RESET_FB), • attente d'une requête INIT pour effacer les défauts qui ne sont plus présents dans STATUS0 (uniquement dans le cas d'un défaut). L'OFB est alors dans un état de RESET dans lequel il est "gelé" : il ne teste plus les conditions permanentes, les conditions de sécurité et ses sorties n'évoluent plus, • passage en mode recalage pour retrouver une position d'origine, • retour en mode contrôle-commande dès qu'il détecte une configuration cohérente des capteurs. 6.7-4 Aide à la reprise de cycle Les données internes RESEQ_I, RESEQ_O et ORIGIN indiquent à l'OFB l'état qui est attendu par l'automatisme. L'OFB mémorise le dernier état attendu (mise à 1 de RESEQ_I, RESEQ_O ou ORIGIN). Si l'état ou le mouvement contrôlé par l'OFB n'est pas en accord avec l'état attendu (le dernier mémorisé), les sorties INC_I et INC_O signalent une incohérence. Lorsque l'OFB passe en mode recalage, les états attendus avant le passage sont mémorisés. 6.7-5 Enregistrement des durées minimales et maximales des mouvements L'OFB NEPON ou NEPOS enregistre pour chaque mouvement exécuté (en mode non simulé) la durée et mémorise les durées minimales et maximales dans les données internes TMIN_I, TMAX_I, TMIN_O et TMAX_O. Les durées maximales sont mémorisées uniquement si elles sont inférieures aux valeurs maximales de référence RMAX_I et RMAX_O. La donnée interne RESET_CT permet de réinitialiser les valeurs minimales et maximales des mouvements. ___________________________________________________________________________ 6/23 ___________________________________________________________________________ 6.7-6 Apprentissage des durées des mouvements L'OFB NEPON ou NEPOS a la possibilité d'apprendre les durées des mouvements. Pour cela, il faut que les constantes internes de gestion du temps soient initialisées à 0. Lorsqu'un mouvement est exécuté sans interruption, la donnée interne RMIN_O (ou RMIN_I) prend une valeur égale à la moitié de la durée du mouvement; tandis que RMAX_O (ou RMAX_I) prend une valeur égale à 1 fois et demi cette valeur. On dit qu'un mouvement est exécuté sans interruption lorsqu'il n'est pas arrêté volontairement soit par absence de demandes pour les actionneurs le permettant, soit par un défaut qui provoque la mise à zéro des ordres. Lorsque les durées des deux mouvements ont été acquises, le bit ADJ_TIME prend la valeur 1. 6.7-7 Particularités du mouvement de rotation Evaluation de la position Si les deux entrées SENSOR_I et SENSOR_O (et éventuellement NOSENS_I et NOSENS_O) ne sont pas identiques, le défaut "erreur commande" sera signalé. En position, si au moins une des deux entrées retombe à 0, l'OFB commencera à compter la durée de la disparition du ou des capteurs et ce, jusqu'à ce que les 2 entrées reprennent en même temps la valeur 1. En mouvement, la position sera considérée comme "quittée" si les 2 capteurs sont vus au moins une fois tous les deux à 0. La position sera considérée "atteinte" si les 2 capteurs sont vus à 1. Les seuls défauts signalés, concernant les capteurs, sont donc : • en position : "capteur(s) disparu(s)" ou "capteur(s) non retombé(s)", • en mouvement : "capteur(s) intempestif(s)" ou "capteur(s) tardif(s)". Demande maintenue et position atteinte En rotation, une seule position est contrôlée (les deux capteurs sont confondus). Sur position et à l'inverse du mouvement de translation, les deux demandes sont acceptées et engagent les deux mouvements possibles. Lorsqu'un mouvement est terminé (position atteinte), si la demande de "rentrée" ou de "sortie" est toujours présente, le mouvement est automatiquement relancé. Pour éviter cela avec le mouvement de rotation, les demandes sont interprétées sur front montant. ___________________________________________________________________________ 6/24 Commande et diagnostic de la partie opérative : NEPON et NEPOS 6 ____________________________________________________________________________ 6.7-8 Mode manuel L'exécution des mouvements en mode manuel (hors cycle machine) est à la charge de la commande fonctionnelle, indépendamment de l'OFB NEPON ou NEPOS. Ce dernier réagit aux commandes de la même manière qu'en mode automatique. Cependant, pour que l'OFB puisse fonctionner en mode manuel, il faut qu'il soit également exécuté hors cycle machine. Le bloc fonction NEPOS, ayant la caractéristique diagnostic avec mémorisation du source, ne peut se programmer qu'une seule fois dans une application PL7-3. Pour cela, si une commande manuelle de l'OFB est prévue, il doit être exécuté dans un module PL7-3 facilement accessible, quel que soit l'état du cycle machine : module exécuté à chaque cycle automate (POST ou SR) dont l'appel peut être commandé facilement, en fonction ou indépendamment du cycle machine. 6.7-9 Modes de marche automate Sur transfert application ou changement de cartouche, l'OFB réinitialise toutes ses données, prend en compte ses constantes et se retrouve en mode recalage (READY à 0). Sur requête SY0, reprise après une coupure secteur, action sur le verrou cartouche ou défaut logiciel (Overrun), l'OFB repasse en mode recalage (READY à 0). Les sorties ORDER_I / O et STATE_I / O sont remises à 0. Les compteurs gérés par RESET_CT ainsi que les temps de référence sont conservés. L'OFB ne relit pas ses constantes. Le mode contrôle-commande sera activé lorsqu'une position sera trouvée, aucun défaut signalé et aucune demande présente (quelle que soit la valeur de la constante NEW_REQ). ___________________________________________________________________________ 6/25 ___________________________________________________________________________ ___________________________________________________________________________ 6/26 Mémorisation de la mémoire bits : PHOTO 7 ____________________________________________________________________________ 7.1 Généralités L'OFB PHOTO permet de mémoriser l'état de la mémoire bits, à un instant donné. Lors de la recherche des causes d'erreur avec l'outil DIAG FAS, cela permet de connaître la valeur des bits à l'apparition du défaut. L'OFB PHOTO ne s'exécute qu'avec des processeurs de niveau supérieur ou égal à V5. ____________________________________________________________________________ 7.2 Présentation de PHOTOi PHOTOi Entrées INIT : bit MEMO : bit Données internes HEAD_TAB : ar_w TAB_MEMO : ar_w RESEVED : bit COUNTER : word Constantes internes T_SAVED : word BI_MIN : word BI_MAX : word WORKING : bit Sortie L'OFB PHOTO ne possédant pas la caractéristique "diagnostic", il n'est pas "visible" par l'outil APPLIDIAG. L'entrée INIT est accessible par programme ou depuis l'OFB de diagnostic qui déclenche la "photo" (la mise à 1 du bit INIT d'un OFB EVDGSi, MVDGSi ou TRDGSi provoque l'initialisation de l'OFB PHOTOi associé). ___________________________________________________________________________ 7/1 ___________________________________________________________________________ 7.3 Description des paramètres Paramètres d'entrées Paramètre Type Accès Description INIT bit R/W (1) R/W (2) bit d'initialisation permettant sur front montant de libérer la "photo" (acquitter la dernière sauvegarde); ce qui positionne la sortie WORKING à 0. L'entrée INIT est remise à 0 par l'OFB. L'initialisation de l'OFB PHOTOi est déclenchée soit par programme, soit depuis l'OFB de diagnostic (EVDGSi, MVDGSi ou TRDGSi) auquel il est associé. Par défaut INIT = 0. MEMO bit R/W (1) R/W (2) si la sortie WORKING est à l'état 0, un front montant sur cette entrée provoque la sauvegarde (mémorisation) de tous les bits configurés dans la mémoire bits. L'entrée MEMO est remise à 0 par l'OFB. Par défaut MEMO = 0. Paramètre de sortie Paramètre Type Accès Description WORKING bit R (1) R (2) à l'état 1, ce bit indique qu'une mémorisation ("photo") a été effectuée et qu'elle est disponible (pas encore acquittée). Par défaut WORKING = 0. Données internes Paramètre Type Accès Description HEAD_TAB ar_w R (1) R (2) ce tableau de 32 mots sert d'en-tête à la table qui contient l'image de la mémoire bits au moment de la "photo". TAB_MEMO ar_w R (1) R (2) ce tableau de 296 mots contient l'image de la mémoire bits au moment de la "photo" (à l'apparition du défaut). COUNTER word R (1) R (2) ce mot indique le nombre de sauvegardes ("photo") effectuées. RESERVED bit R (1) R (2) à l'état 1, ce bit indique que la "photo" est réservée par DIAG FAS. La déréservation sera réalisée par DIAG FAS ou automatiquement après 10 s. (1) : accès par programme, (2) : accès par requête. ___________________________________________________________________________ 7/2 Mémorisation de la mémoire bits : PHOTO 7 ____________________________________________________________________________ Constantes internes Paramètre Type Accès Description T_SAVED mot R (1) R/W (2) ce mot définit les types de bit qui sont sauvegardés lors de la "photo" : • bit 0 = 1, bits système (SYi), • bit 1 = 1, bits E/S des modules TOR distants (RI/ROx,y,i), • bit 2 = 1, bits E/S des modules TOR en bac (I/Oxy,i), • bit 3 = 1, bits d'étapes Grafcet (Xi), • bit 4 = 1, bits de macro-étapes Grafcet (XMj), • bit 5 = 1, bits internes (Bi), • bits 6 et 7 , réservés, • bit 8 = 1, bits d'erreur des OFBs EVDGSi, • bit 9 = 1, bits d'erreur des OFBs MVDGSi, • bit 10 = 1, bits d'erreur des OFBs TRDGSi, • bit 11 à 15, réservés. Par défaut les bits E/S, RI/RO et BI sont sauvegardés (T_SAVED = 38). BI_MIN word R (1) R/W (2) ce mot définit le numéro du premier bit interne qui est sauvegardé lors de la "photo". BI_MAX word R (1) R/W (2) ce mot définit le numéro du dernier bit interne qui est sauvegardé lors de la "photo". Seuls les bits internes dont les numéros sont compris entre BI_MIN et BI_MAX sont mémorisés (en accord avec la configuration PL7-3). (1) : accès par programme, (2) : accès par requête. Note Seuls 600 bits ERROR des OFBs de diagnostic sont sauvegardés, en respectant l'ordre EVDGSi, MVDGSi et TRDGSi. Par conséquent, si une application contient 600 bits EVDGSi,ERROR il ne sera pas possible de sauvegarder les bits MVDGSi,ERROR et TRDGSi,ERROR. ___________________________________________________________________________ 7/3 ___________________________________________________________________________ 7.4 Fonctionnement L'OFB PHOTOi peut être activé : • de manière implicite depuis un OFB de diagnostic avec mémorisation du source (EVDGSi, MVDGSi ou TRDGSi); ce qui est le fonctionnement normal de cet OFB. • par le programme application qui exécute l'instruction EXEC PHOTOi et positionne l'entrée MEMO à 1. Dans les deux cas, l'exécution de la "photo" nécessite que la sauvegarde précédente soit acquittée; c'est-à-dire que la sortie WORKING soit à 0. L'activation de l'OFB positionne alors la sortie WORKING à 1 et cela jusqu'au prochain acquittement par la mise à 1 de l'entrée INIT. Si l'OFB PHOTOi est associé à un OFB de diagnostic, son acquittement est déclenché par la mise à 1 du bit INIT de l'OFB de diagnostic. Si l'OFB est acquitté par une requête de réglage (outil DIAG FAS), l'automate peut être en STOP ou en RUN. Lors d'une "photo", l'OFB PHOTOi recopie dans une table, l'état de tous les bits de la mémoire bits, configurés dans l'application et définis par les constantes internes T_SAVED, BI_MIN et BI_MAX. La recopie s'effectue dans l'ordre de la cartographie utilisée par PL7-3 : • • • • • • Bits système (SYi), Bits d'entrées/sorties distantes (RI/ROx,y,i), Bits d'entrées/sorties en bac (I/Oxy,i), Bits d'étapes Grafcet (Xi), Bits de macro-étapes Grafcet (XMj), Bits internes (Bi). Si la sauvegarde d'un type de bits n'est pas sélectionnée, l'espace qui aurait du être occupé par celle-ci n'est pas significatif. En plus de la mémoire bits, l'OFB PHOTOi peut mémoriser les bits ERROR des OFBs de diagnostic avec mémorisation du source (bits 8, 9 et 10 de la constante interne T_SAVED). Seuls les 600 premiers bits ERROR sont sauvegardés et cela en respectant l'ordre suivant : tous les bits EVDGSi,ERROR, tous les bits MVDGSi,ERROR et enfin tous les bits TRDGSi,ERROR. ___________________________________________________________________________ 7/4 Mémorisation de la mémoire bits : PHOTO 7 ____________________________________________________________________________ La donnée interne HEAD_TAB, exploitable par le logiciel de diagnostic contient tous les renseignements nécessaires à l'utilisation de la table des bits mémorisés : Mot Information 0 Marqueur application PL7-3. 1à8 Date et heure de la mémorisation sous le format suivant : dixièmes de seconde, secondes, minutes, heures, jour, mois, année et jour dans la semaine. 9, 10 et 11 Code famille, code classe et numéro de l'OFB de diagnostic qui a demandé la "photo" (-1 si le déclenchement de la "photo" est applicatif). 12 Adresse dans la table des bits mémorisés, du premier bit sauvegardé appartenant à la mémoire bits. 13 Adresse dans la table des bits mémorisés, du dernier bit sauvegardé appartenant à la mémoire bits. 14 et 15 Adresse dans la table des bits mémorisés, du premier bit système et nombre de bits système sauvegardés. 16 et 17 Adresse dans la table des bits mémorisés, du premier bit d'entrées/sorties distantes et nombre de bits d'E/S distantes sauvegardés. 18 et 19 Adresse dans la table des bits mémorisés, du premier bit d'entrées/sorties en bac et nombre de bits d'E/S en bac sauvegardés. 20 et 21 Adresse dans la table des bits mémorisés, du premier bit d'étapes Grafcet et nombre de bits d'étapes Grafcet sauvegardés. 22 et 23 Adresse dans la table des bits mémorisés, du premier bit de macro-étapes Grafcet et nombre de bits de macro-étapes Grafcet sauvegardés. 24 et 25 Adresse dans la table des bits mémorisés, du premier bit interne et nombre de bits internes sauvegardés. 26 et 27 Adresse dans la table des bits mémorisés, du premier bit EVDGSi,ERROR et nombre de bits EVDGSi,ERROR sauvegardés. 28 et 29 Adresse dans la table des bits mémorisés, du premier bit MVDGSi,ERROR et nombre de bits MVDGSi,ERROR sauvegardés. 30 et 31 Adresse dans la table des bits mémorisés, du premier bit TRDGSi,ERROR et nombre de bits TRDGSi,ERROR sauvegardés. ___________________________________________________________________________ 7/5 ___________________________________________________________________________ ___________________________________________________________________________ 7/6 Annexes 8 ____________________________________________________________________________ 8.1 Synthèse sur les OFBs _____________________________________________________________________________________________________________ 8.1-1 Généralités Les blocs fonctions optionnels (OFB) sont une extension du langage PL7-3 et peuvent être considérés comme une instruction "évoluée" de ce langage. Un OFB est caractérisé par : • la famille auquel il appartient (par exemple PL7_DIAG, PL7_AXE, PL7_COM, ...), • un type qui définit sa fonction (par exemple EVDGN, TRDGS,...), • un numéro. Famille PL7_DIAG EVDGN Famille PL7_AXE Famille PL7_COM EVDGS AXMLD COMLD MVDGN MVDGS • • • • • • • • Chaque type d'OFBs a sa structure propre qui lui permet d'échanger des informations : • paramètres d'entrées, • paramètres de sorties, • données internes, • constantes internes. De plus, à chaque type d'OFBs sont associés des modes de marche spécifiques (démarrage à froid, démarrage à chaud, reprise sur OVERRUN, traitement des requêtes UNI-TELWAY), correspondants à des traitements particuliers propres au type d'OFBs. Un OFB, extension du langage PL7-3, ne peut s'exécuter que lorsque l'automate est en RUN. Son architecture est par exemple la suivante : Entrées Sorties TRDGNi INIT : bit COND : bit ERROR : bit STATUS : word : word TIME Données internes Constantes internes INHIB : bit PRESET : word MIN : word MAX : word MIN_VAL : word MAX_VAL : word INI_MIN : word INI_MAX : word BASE : word ___________________________________________________________________________ 8/1 ___________________________________________________________________________ 8.1-2 Utilisation Avant d'utiliser un OFB dans un programme application, il est nécessaire en mode configuration PL7-3 : • de déclarer le type d'OFB afin de charger son code exécutable en mémoire, • de définir le nombre de blocs fonctions utilisé. Un OFB est défini par : • une zone programme (descripteur générique et code source), implantée une seule fois en mémoire pour tous les OFBS de même type, • une zone données (entrées, sorties et données internes) et constantes (constantes internes) pour chaque OFB configuré. OFB Descripteur générique Zone programme Code exécutable Zone données Constantes OFB1 Entrées OFB2 Entrées OFBn Entrées Sorties Sorties Sorties Données Données Données Constantes Constantes Constantes Tous les objets d'un OFB sont repérés de la manière suivante : par exemple SCMDG1,STATUS le type de l'OFB le numéro de l'OFB le nom de l'élément Note : pour un même type d'OFB, la taille de la section mémoire réservée aux paramètres de chaque OFB est fixe. Utilisation multiple d'un même OFB dans une application Il est possible d'utiliser le même OFB plusieurs fois dans une application, à condition que ces utilisations ne soient pas simultanées. Pour cela certains OFBs possèdent un bit (READY), qui signale que l'OFB n'est plus exécuté. Parmi les OFBs de la famille PL7_DIAG, ceux qui permettent de mémoriser l'équation surveillée, ne sont pas ré-utilisables. ___________________________________________________________________________ 8/2 Annexes 8 ____________________________________________________________________________ 8.1-3 Objets d'OFBs La syntaxe des objets d'OFBs, pour leur utilisation dans un programme application, est la suivante : OFBi,élément OFB : type de l'OFB, i : numéro de l'OFB, élément : nom de l'élément. Le type des objets d'un OFB (bit, mot, pointeur, ...) est défini par son concepteur et détermine l'accès à ces objets (par programme, par requête ou en mode CONSTANTES). Objets Type Accès par Accès en programme CONSTANTES __________________________________________________________________________________________________________ Paramètres d'entrées Bit, Mot, Double mot R NON Module NON NON Pointeur sur bit NON NON Pointeur sur mot/double mot NON NON __________________________________________________________________________________________________________ Paramètres Bit, Mot, Double mot R NON de sorties __________________________________________________________________________________________________________ Données internes Bit, Mot, Double mot R/W(*) NON Tableau de mots/doubles mots R/W(*) NON Chaîne de caractères (message) R/W(*) NON __________________________________________________________________________________________________________ Constantes internes Bit, Mot, Double mot Tableau de mots/doubles mots Chaîne de caractères (message) R R R R/W R/W R/W R : accès en lecture W : accès en écriture W(*) : accès en écriture selon autorisation du concepteur de l'OFB Limitations Un certain nombre d'opérations ne sont pas possibles sur les données et constantes internes d'un OFB : • opérations sur front avec un élément interne de type bit, • opérations d'incrémentation/décrémentation, de conversion binaire/ASCII et ASCII/ binaire avec un élément interne de type mot, • opérations suivantes avec un élément interne de type tableau : - opérations arithmétiques entre deux tableaux, - opérations sur tous les mots d'un tableau, - sommation des mots d'un tableau, - comparaison de deux tableaux, - recherche dans un tableau Un élément interne de type message doit être de longueur paire avec un maximum de 78 caractères. ___________________________________________________________________________ 8/3 ___________________________________________________________________________ 8.1-4 Programmation d'un OFB Programmer (ou câbler) un OFB revient à affecter des objets ou des expressions PL7-3 aux entrées/sorties de cet OFB. Il n'est pas obligatoire de câbler toutes les entrées et sorties d'un OFB. Le câblage d'un OFB peut se faire de manière graphique par visualisation de l'OFB ou par saisie de la commande EXEC, dont la syntaxe est la suivante : EXEC OFBi (Ent1;Ent2;Ent3; ;Entn => Sort1;Sort2; ;Sortm) OFBi Ent Sort ; => : : : : : type et numéro de l'OFB, expressions d'entrées, objets de sorties, séparateur entre paramètres, séparateur entre les paramètres d'entrées et les paramètres de sorties. Exemple : EXEC MVDGN2 (B1;B2;[W1>W2]+B100;;;B12 => B100;W10;W11) B1 B2 [W1>W2] + B100 Entrées non câblées B12 INIT : bit ENABLE : bit EVENT : bit COND : bit EVENT_T0 : bit EVENT_T1 : bit MVDGN2 ERROR : bit STATUS : word : word TIME B100 W10 W11 Le contenu des expressions d'entrées et des objets de sorties est défini par le type des paramètres d'entrées/sorties de l'OFB, comme indiqué dans les tableaux suivants : Expressions d'entrées Paramètre d'entrée Expression d'entrée __________________________________________________________________________________________________________ Bit Expression Booléenne Objet bit PL7-3 (indexé ou non) Objet bit d'OFB __________________________________________________________________________________________________________ Mot ou double mot Expression arithmétique simple longueur Expression arithmétique double longueur Objet mot ou double mot PL7-3 Objet mot d'OFB de type : • mot, double mot • tableau de mots ou doubles mots __________________________________________________________________________________________________________ Module Module d'entrées ou de sorties __________________________________________________________________________________________________________ Pointeur sur bit Objet bit PL7-3 (non indexé) __________________________________________________________________________________________________________ Pointeur sur mot Objet mot PL7-3 (non indexé) __________________________________________________________________________________________________________ Pointeur sur double mot Objet double mot PL7-3 (non indexé) ___________________________________________________________________________ 8/4 Annexes 8 ____________________________________________________________________________ Objets de sorties Paramètre de sortie Objet de sortie __________________________________________________________________________________________________________ Bit Objet bit PL7-3 __________________________________________________________________________________________________________ Mot Objet mot PL7-3 __________________________________________________________________________________________________________ Double mot Objet double mot PL7-3 un paramètre de sortie peut être un objet indexé Limitations sur les paramètres d'entrées • un paramètre d'entrée de type pointeur sur bit ne peut pas être un bit extrait de mot, • on ne peut pas utiliser dans une expression arithmétique, un paramètre d'entrée de type pointeur ou module. ___________________________________________________________________________ 8/5 ___________________________________________________________________________ 8.2 Glossaire _____________________________________________________________________________________________________________ Cycle de surveillance cycle compris entre 2 fronts descendants de l'entrée ENABLE (EVDGNi, EVDGSi, MVDGNi et MVDGSi) ou entre le début d'évaluation de la réceptivité et le moment où elle devient passante (TRDGNi et TRDGSi). OFB Bloc fonction optionnel. Caractéristique diagnostic caractéristique intrinsèque à certains OFBs. Ces OFBs, quelle que soit leur famille d'appartenance possèdent les sorties ERROR et STATUS. Type d'OFBs il définit la structure (entrées/sorties paramètres internes, modes de marche, ...) et le fonctionnement de l'OFB. Famille d'OFBs elle regroupe plusieurs types d'OFBs ayant une même fonctionnalité (diagnostic application, communication, commande d'axes,...). Temps interne temps courant mémorisé en interne, dans un mot non accessible par programme, lorsque les sorties d'un OFB sont figées. Si les sorties ne sont pas figées le temps courant est accessible par la sortie TIME. Objets d'un OFB tous les objets d'un OFB accessibles par programme (extension des objets PL7-3). Câblage d'un OFB programmation des entrées/sorties d'un OFB. Cela revient à affecter des expressions ou un objets PL7-3 aux entrées/sorties de cet OFB. Il n'est pas obligatoire de câbler toutes les entrées et sorties. ___________________________________________________________________________ 8/6