Vi-POSIF-S Installing | Schneider Electric Logiciel de simulation de partie opérative SIMACTEL 6.0 Mode d'emploi
Ajouter à Mes manuels
◉
Touch to zoom
PRELIMINAIRE A CREATION D'UNE APPLICATION B SIMULATION C UTILITAIRES D EXEMPLES E ANNEXES F ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ A PRELIMINAIRES Sommaire Intercalaire A Chapitre 1 2. Page Préambule P/1 Présentation et mise en œuvre 1/1 1.1 Généralités 1.1-1 Fonctionnalités offertes par le logiciel SIMACTEL 1/1 1/1 1.2 Configuration nécessaire 1/2 1.3 Vérification du matériel 1/2 1.4 Raccordements 1/3 1.5 Mise en œuvre logicielle 1.5.1 Opérations préliminaires 1.5.2 Procédure d’installation 1.5.3 Opérations à faire suite à l’installation 1/3 1/3 1/4 1/4 Utilisation de SIMACTEL 2/1 2.1 2/1 Méthodologie pour réaliser une action de simulation ___________________________________________________________________________ A/1 A PRELIMINAIRES Chapitre 3. Sommaire Intercalaire A Page Accès au logiciel SIMACTEL 3/1 3.1 Depuis l’atelier logiciel X-TEL 3/1 3.2 Depuis le navigateur (XTEL-BROWSER) 3/2 3.3 Fenêtre principale de SIMACTEL 3/2 ___________________________________________________________________________ A/2 Préambule Environnement logiciel SIMACTEL s’exécute sous MINI XTEL-BASE ou XTEL-BASE (version ≥ V52). Certaines précautions sont à prendre dans la sélection des paramètres de configuration des sessions WIN-OS/2, en tenant compte de la version OS/2 utilisée (OS/2 2.1, WARP Rouge ou WARP Bleu). Ces aspects sont détaillés au chapitre 1 de l’intercalaire A : Présentation et mise-en-œuvre. ___________________________________________________________________________ P/1 A A B ___________________________________________________________________________ P/2 Présentation et mise en œuvre 11 Chapitre Présentation et mise en œuvre 1.1 Généralités Ce document décrit la mise en œuvre et l’utilisation du logiciel de simulation de partie opérative SIMACTEL, référencé TXT L SIM V6 , sur terminal équipé du système d’exploitation OS/2 et de l’atelier logiciel X-TEL : • terminal FTX 507, • micro-ordinateur IBM PS/2 ou Compatible IBM PC. Ce logiciel de bureau d’études, permet de concevoir une représentation virtuelle d’une machine ou d’un process, et d’utiliser cette représentation pour la validation et le test des programmes automates. 1.1.1 Fonctionnalités offertes par le logiciel SIMACTEL Un P.C. équipé du logiciel SIMACTEL connecté à l’automate, remplace tous les éléments en aval de celui-ci, c’est-à-dire les cartes d’entrées et de sorties, l’interface électrique et le procédé lui-même. Un modèle configuré dans SIMACTEL présente les mêmes caractéristiques que l’installation et réagit donc vis-à-vis de l’automate exactement de la même manière que le ferait cette dernière. Pour ce faire, le logiciel SIMACTEL offre les fonctionnalités suivantes : • la représentation d’une machine par une description complète de ces parties mécaniques et électriques, • la validation de cette représentation par simulation en mode local, • le pilotage de la «machine virtuelle» en mode connecté, • la visualisation et l’analyse de l’état du procédé, • le positionnement de défauts sur la partie opérative pour la mise au point du programme automate. 1.2 Configuration nécessaire Le logiciel SIMACTEL nécessite la configuration matérielle minimale suivante : • ordinateur PS/2 ou Compatible IBM P.C. équipé du système d’exploitation OS/2 version 2.1 ou version 3.0 “ Warp ” (la version “ Warp ” est conseillée). • un écran V.G.A. (l’utilisation d’un écran haute-résolution est recommandée), • un processeur 80386 ou supérieur et un co-processeur 80387 (un 486 DX est conseillé), • 16 Mo de mémoire RAM, ___________________________________________________________________________ 1/1 A A • un disque dur disposant de 20 Mo d’espace libre, • une souris. Important : B • L’atelier logiciel XTEL (ou Mini-XTEL) de version ≥ 5.6 doit être présent sur le poste. • Une application SIMACTEL ne peut être connectée qu’à des processeurs TSX ou PMX dont la version logicielle est supérieure ou égale à 5.0 (voir étiquette sur le processeur). • Les imprimantes supportées pour impression des chronogrammes des mouvements sont les imprimantes compatibles EPSON et HP Laser Jet. Pour l’impression des dossiers machines et des modèles utilisez votre imprimante habituelle. SIMACTEL fonctionne parfaitement en plein écran ou en mode fenêtre sous WARP V3.0 en version BLEU. Par contre, certaines anomalies liées à l’émulation WINDOWS sous OS/2 2.1 ou WARP rouge peuvent apparaître : - au niveau du raffraîchissement d’écran - ou sous forme de blocage système, suite à des manipulations trop rapides de la souris. Ces problèmes peuvent être résolus en indiquant au système d’utiliser le mode plein écran pour SIMACTEL. Ce paramètrage est fait au niveau du groupe OS/2 Configuration du Système,en cliquant sur l’icône Configuration de WIN-OS/2, et en indiquant comme mode d’activation WIN-OS/2 plein écran comme paramètre d’activation de WINDOWS. De plus, pour des problèmes de basculement de cession ; il est préférable de positionner le paramètre VIDEO_SWITCH_NOTIFICATION à HF (ou OFF). 1.3 Vérification du matériel L’ensemble logiciel SIMACTEL comprend : • un jeu de disquettes du logiciel SIMACTEL au format 3" 1/2, • un jeu de disquettes de l'update B d'XTEL au format 3" 1/2, • une clé de protection, • un contrat de licence, • la présente documentation. ___________________________________________________________________________ 1/2 Présentation et mise en œuvre 1.4 1 Raccordements Tous les raccordements spécifiques au terminal (moniteur, clavier, souris, imprimante, support de clé, ...) étant supposés effectués, ce chapitre ne décrit donc que la mise en place de la clé logicielle. Pour cela, positionner la clé logicielle dans l’emplacement libre du support de clés. Note : Cette clé logicielle contient le droit d’accès, obligatoire pour accéder au logiciel SIMACTEL. L’outil Key Manager, livré avec X-TEL BASE, permet de transférer ce droit dans la clé maître, afin de concentrer les droits sur une seule clé (clé maître) et donc libérer un emplacement de support de clés. On se réfèrera à la documentation X-TEL pour les procédures de mise en œuvre. 1.5 Mise en œuvre logicielle 1.5.1 Opérations préliminaires Avant d’installer le logiciel SIMACTEL sur disque dur, il est conseillé de : • lire le certificat de licence et de garantie concernant les restrictions de copie et d’installation du logiciel, • faire une duplication des disquettes nécessaires à l’installation, afin de les préserver contre toute détérioration accidentelle et ne travailler qu’avec une copie. 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 sur ces disquettes. 1.5.2 Procédure d’installation Les opérations suivantes doivent précéder l’installation du logiciel SIMACTEL : 1. vérifier que la version logicielle de l’atelier logiciel X-TEL ou MINI X-TEL installée sur le poste est ≥ à5.6 et que l'update B est lui aussi installé (voir la documentation correspondante). Si c’est le cas, procéder à l’installation du logiciel SIMACTEL. Dans le cas contraire, installer d’abord l’atelier logiciel (se reporter à la documentation correspondante). 2. fermer toutes les sessions en cours (voir documentation correspondante). Installation du logiciel SIMACTEL • ouvrir une session OS/2 plein écran, • insérer la première disquette Logiciel SIMACTEL dans le lecteur, • saisir l’identificateur du lecteur (a: ou b:), puis valider par <Entrée>, ___________________________________________________________________________ 1/3 A A B • à partir du nouveau prompt (par exemple [A:\] ou [B:\], saisir la commande install, • suivre la procédure visualisée à l’écran, afin d’installer toutes les disquettes Logiciel SIMACTEL, • lorsque l’installation est terminée, contrôler la configuration. Valider par <Entrée>, • retirer la disquette du lecteur et retourner à X-TEL par la commande <Ctrl><Echap>. 1.5.3 Opérations à faire suite à l’installation Configuration du système d’exploitation Comme tout logiciel fonctionnant dans une fenêtre WINDOWS (ou WIN-OS/2), SIMACTEL utilise les paramètres par défaut du système, regroupés au sein de l'outil Configuration de WIN-OS/2 (accessible au niveau du groupe OS/2 Configuration du système. Si des anomalies de lancement de SIMACTEL surviennent, veuillez vérifier que les paramètres suivants sont bien positionnés : -WIN RUN MODE positionné à 3.1 Enhanced Compatibility - DOS FILES positionné à 30 (au moins) - DPMI DOS_API positionné à AUTO - DPMI MEMORY_LIMIT positionné à 10 (au moins) Police de caractères utilisée par SIMACTEL SIMACTEL nécessite d’avoir installé sur le poste la fonte Courier New (au niveau WINDOWS ou WIN-OS/2). Dans le cas où cette fonte n’est pas installée, le logiciel signale une erreur et ne peut démarrer. Si tel est le cas, il faudra ajouter cette fonte au niveau du gestionnaire de programmes (WINDOWS ou WIN-OS/2). Consulter pour cela la documentation WINDOWS-OS/2 sur l’ajout de fontes. Voici un aperçu de la procédure à suivre : Choisissez le groupe Gestionnaire de programmes (WINDOWS ou WIN-OS/2), parmi ce groupe l'icône Panneau de configuration, puis l'icône Polices. La liste des polices installées sur le poste est visible, ainsi que le bouton Ajouter. Cliquez sur celui-ci, et ensuite sélectionnez le sous-répertoire SYSTEM du répertoire où est installé WINDOWS. Si la police Courrier New Normal (True Type) est présente dans la liste des noms affichés, il ne reste plus qu'à l'ajouter. Sinon - c'est que la police n'est pas présente sur le disque -, prendre la disquette n°1 de l'installation de SIMACTEL, et répéter l'opération de récupération en sélectionnant le lecteur A. ___________________________________________________________________________ 1/4 Chapitre 22 Utilisation de SIMACTEL Utilisation de SIMACTEL 2.1 Méthodologie pour réaliser une action de simulation La méthodologie proposée est destinée à guider l’utilisateur dans sa démarche pour concevoir une application SIMACTEL, puis l’utiliser le plus efficacement possible pour tester des programmes automate. Pour cela, il est utile de réaliser de manière chronologique un certain nombre d’opérations, au niveau de la station et de ses outils, au niveau PL7-3, et enfin au niveau de SIMACTEL. 1. Décrire tous les “ mouvements ” possibles de la partie opérative. Sous-chapitre 2 de l’intercalaire B • A partir de tous les documents transmis par les concepteurs de la machine, ou de l’installation (description fonctionnelle, diagrammes de cycles, liste des capteurs/actionneurs, schémas fluides, schémas d’implantation...), identifier tous les mouvements élémentaires possibles de la partie opérative : mouvements mécaniques, déplacement de pièces, évolutions de certaines grandeurs (exemple : niveau dans une cuve), et - par extension - les dialogues entre l’automate et des sousensembles de partie opérative vus en tant que “ boîte noire ” (les “ mouvements ” correspondent alors à la transcription de datagrammes d’échange de données plutôt qu’à du pilotage d’actionneurs/lecture de capteurs). • Créer dans SIMACTEL les axes nécessaires à la description des mouvements identifiés : fenêtre Axes, bouton Créer. Sous-chapitre 2.2 de l’intercalaire B • Pour chaque axe, décrire son nom, sa longueur, son type (linéaire, rotatif), puis les capteurs associés. Sous-chapitre 2.3 de l’intercalaire B • Pour chaque capteur, indiquer sa position sur l’axe, son comportement logique. Le bouton “ Spécial ” permet de décrire des comportements quelconques du capteur lors de l’évolution des mouvements sur l’axe. • Afficher - pour un axe donné - l’ensemble des comportements des capteurs de l’axe grâce au bouton Visualiser de la fenêtre Capteurs de l’axe : ... afin de vérifier la description de l’ensemble. • Cas particuliers : - des axes linéaires simples avec un capteur “ début de course ” et un capteur “ fin de course ” peuvent être créés rapidement par le bouton Standard de la fenêtre Axes. ___________________________________________________________________________ 2/1 A A - comme pour tout autre élément de partie opérative, un ou plusieurs axes peuvent être immédiatement incorporés par l’instanciation d’un modèle standard. B • Pour chaque axe, décrire les mouvements associés en sélectionnant le bouton Mouvements de la fenêtre Configuration d’axe. Sous-chapitre 2.4 de l’intercalaire B • Décrire chaque mouvement par son sens d’évolution, sa vitesse, une équation booléenne donnant les conditions d’activation selon la conception retenue (actionneur ou préactionneur associé, présence de l’énergie). • Traiter de manière spécifique la modélisation des flux de pièces dans le cas, par exemple, d’installations de manutention. Il peut alors s’avérer nécessaire de créer des variables booléennes (bouton Variables de la fenêtre Configuration d’Axe) afin de décrire la logique d’évolution des “ présence-pièces ” au moyen d’équations booléennes faisant intervenir des positions d’axes ou des fonctions-mémoire. Sous-chapitre 2.5 de l’intercalaire B • Procéder périodiquement lors de la modélisation à certaines vérifications, par un contrôle “ statique ” du modèle de partie opérative (exemples : édition des listes d’éléments de chaque type, variables “ en amont ” ou “ en aval ” de chaque axe, état de la liste des variables “ indéfinies ”, c’est-à-dire dont le comportement n’est pas encore définie en interne dans le modèle...). • Dans le même but, des fonctions de contrôle de cohérence existent dans SIMACTEL et peuvent être activées par le bouton Vérifier la description de la fenêtre Edition des axes. 2. Décrire les sous-ensembles électrique de la partie opérative. Sous-chapitre 2.8 de l’intercalaire B Intercalaire B • Dès la validation des schémas électriques de la machine, il est possible dans SIMACTEL de décrire tous les composants électriques et électromécaniques assurant l’interface entre l’automate de commande et les mouvements de la partie opérative : • Décrire le bornier d’entrées/sorties (E/S TOR en bac et déportées) : déclaration des cartes d’entrées et de sorties et des TBX pour les E/S déportées (fenêtre Création d’un bornier). Chapitre 4 de l’intercalaire B ___________________________________________________________________________ 2/2 Utilisation de SIMACTEL 2 A • Editer les E/S ainsi créées : affectation d’un mnémonique et d’un commentaire aux sorties ; affectation d’un mnémonique, d’un commentaire et d’une équation booléenne aux entrées, l’équation indiquant les conditions de passage à 1 de l’entrée selon le câblage associé. • Deux fonctions d’import de fichiers sont disponibles pour récupérer la description des E/S: Sous-chapitre 4.3 de l’intercalaire B - l’une, accessible par le bouton Fichier SDBASE, pour la lecture des mnémoniques et commentaires depuis un fichier .SCY généré par SDBASE. - L’autre, accessible par le bouton Fichier Neutre, pour l’import des E/S depuis le fichier normalisé généré par X-TEL-CAD (ou certains outils de CAO éléctrique). • Décrire la logique câblée par la saisie des relais et des termes d’alimentation : fenêtre Relayage. Chaque relais peut être temporisé à l’enclenchement ou au déclenchement de manière à reproduire le temps de basculement des contacts. Chapitre 3 de l’intercalaire B Diverses fonctions sont prévues pour aider à la saisie des équations booléennes associées : boutons Aide édition, Dictionnaire... (ces fonctions sont présentes pour toute saisie d’équation dans SIMACTEL). • Décrire les pupitres conventionnels câblés sur le bornier d’E/S, en déclarant les divers éléments (boutons poussoirs, voyants, commutateurs...) : fenêtre Construction d’un pupitre. Chapitre 5 de l’intercalaire B • L’accès aux variables indéfinies permet de vérifier périodiquement la cohérence du modèle ou de détecter des erreurs de saisie. Sous-chapitre 2.7 de l’intercalaire B 3. Décrire le ou les synoptiques de partie opérative Chapitre 6 de l’intercalaire B • Un synoptique principal est à créer, sans indication de titre, qui deviendra le fond de plan de l’interface de simulation, afin de visualiser les principaux axes et variables du modèle : fenêtre Création de synoptique. • D’autres synoptiques, à désigner chacun par un titre, peuvent être ajoutés afin de détailler des sous-ensembles de la la machine. 4. Procéder à la validation du modèle obtenu • Lancer l’outil station SIMACTEL et passer en “ mode Chapitre 3 local ” (menu Simulation depuis la fenêtre principale de l’intercalaire C SIMACTEL). ___________________________________________________________________________ 2/3 A B • Une fois chargé le modèle de la machine, l’interface de simulation permet d’accéder à toutes les fonctions de pilotage et d’analyse : accès aux pupitres, synoptiques, variables externes, traces de simulation... • Cette validation correspond aux tests élémentaires tels qu’ils sont effectués lors des premières mises soustension de l’installation réelle ; elle peut s’avérer suffisante pour des machines simples (peu d’axes SIMACTEL) et lorsque les mouvements sont assez “ décorrélés ”. • Il est vivement conseillé de procéder à une validation du comportement global du modèle qui permet de plus de vérifier la conception d’ensemble en liaison avec le mécanicien. Pour cela, une fonction “ grafcet ” permet de décrire l’enchaînement des mouvements (description fonctionnelle) et d’animer ainsi automatiquement le modèle, tout en restant en mode local (sans connexion API) : • Décrire le grafcet d’animation (fenêtre Description de machines, menu Grafcet). Il s’agit ici de reproduire le fonctionnement de l’installation (exemple : cycle d’usinage d’une machine) en s’appuyant sur les documents fournis par le mécanicien : grafcet mécanicien, chronogramme des mouvements, voire description .littérale). sous-chapitre 3.1 de l’intercalaire C Décrire le ou les graphes nécessaires : étape initiale, étapes du graphe, transitions, liens entre les élément pour déterminer la structure de l’ensemble ; procéder ensuite à la description de chaque étape et de chaque transition (bouton Edi après avoir sélectionné l’étape ou la transition à renseigner). • Puisqu’il s’agit ici de se substituer à la partie commande pour enchaîner les mouvements de la machine, les actions des étapes peuvent agir sur les contacts électriques, les préactionneurs ou les actionneurs du modèle, les conditions des transitions peuvent récupérer des capteurs, des boutons de pupitre ou toute autre variable provenant de la partie opérative. • Revenir alors à l’environnement de simulation, en sélectionnant mode local, après avoir choisi le grafcet d’animation préalablement décrit. • La simulation peut alors se dérouler par le dialogue continu entre le grafcet d’animation d’une part, le modèle de partie opérative d’autre part. Il est possible, en ___________________________________________________________________________ 2/4 Utilisation de SIMACTEL 2 A cours de simulation, de visualiser et d’intégrer le grafcet d’animation qui apparaît dans la liste des synoptiques. • Utiliser les outils de pilotage pour animer la simulation : pupitres, externes, contextes, scénarios chapitre 2 de l’intercalaire C • Utiliser les modes de marche de SIMACTEL pour faire évoluer progressivement le modèle, notamment le mode pas-à-pas. • Utiliser les outils de visualisation (synoptiques, pages) et les outils d’analyse (examen, activité, évolutions, pièges) pour la mise-au-point détaillée du modèle. • Accéder à la fonction Description pour toute modification “ en ligne ” du modèle qui ne remet pas en cause la description mécanique elle-même. • Utiliser la fonction Trace pour enregistrer les évolutions de la machine et les représenter ensuite sous forme de chronogramme, afin de valider de manière définitive le comportement du modèle (si possible en liaison avec le concepteur mécanicien). • A cette étape, le modèle SIMACTEL obtenu doit correspondre exactement à la machine réelle en cours de réalisation ; il peut donc être exploité pour engager la mise-au-point de l’application PL7.3 dès la fin des phases codage et tests unitaires par l’automaticien. 5. Editer - au format souhaité - un dossier du modèle de partie opérative chapitre 2 de l’intercalaire D • Cliquer sur le bouton Outils de l’interface de configuration SIMACTEL, puis sélectionner l’item impression de la machine sélectionnée dans la fenêtre Utilitaires. • Sélectionner les éléments à imprimer parmi ceux listé dans la fenêtre Impression sur <imprimate par défaut>. Cocher la case Ouvrir SIMPRINT pour utiliser un format d’édition différent du format d’édition par défaut ou positionner des options d’impression. • Dans SIMPRINT, modifier l’aspect du dossier d’impression en changeant les options d’impression accessibles depuis le menu Format et en modifiant le contenu des champs de la fenêtre principale de l’application. • Vérifier le contenu du dossier en le visualisant à l’aide de la commande Aperçu avant impression du menu Fichier. ___________________________________________________________________________ 2/5 A • Imprimer les documents. • Sauvegarder le format d’édition modifié pour pouvoir l’utiliser pour d’autres dossiers d’édition. B 6. Préparer la plate-forme de simulation • Le poste équipé de X-TEL et de SIMACTEL est à raccorder à l’automate conformément au driver de communication associé à la station (via la prise console ou UNITELWAY : sur coupleur TSX SCM 21 ou prise UNITELWAY intégrée aux CPU de type XX.425). chapitre 2.4 de l’intercalaire C de X-TEL Atelier Logiciel V5 Remarque Les supports de communication FIPWAY, ETHWAY et MAPWAY sont aussi acceptés. Se référer aux documentations correspondantes pour leur mise en œuvre. 7. Configurer l’OFB SIMACTEL dans l’application PL7.3 • Lancer PL7.3. chapitres 6.1, 6.7 et 6.11 de l’intercalaire B de PL7-3 Modes Opératoires V5 • Accéder à la configuration des OFB. • Sélectionner l’OFB dans la famille SIMACTEL. • Instancier l’OFB SIMACTEL. (Une fois) • Procéder à la reconfiguration de l’application PL7.3. 8. Transférer l’application PL7.3 dans l’automate • Lancer l’outil station transfer. chapitre 14.2 de l’intercalaire G de PL7-3 Modes Opératoires V5 • Dérouler le menu Transfert et choisir la rubrique Disque -> Station Automate.../Transfert Global. • Le transfert terminé, quitter l’outil station transfer. 9. Procéder au réglage de l’OFB SIMACTEL • Accéder à l’écran Mode constante par la commande Constante de l’écran Sélection des modes. chapitres 10.3 de l’intercalaire F de PL7-3 Modes Opératoires V5 • Choisir la commande OFB, puis l’OFB SIMACTEL, afin d’accéder aux constantes internes de l’OFB. • Utiliser la commande MODIFY pour régler la constante WATCHDOG qui permet de configurer le délai d’attente de l’OFB avant l’envoi de l’historique des changements d’états des sorties vers SIMACTEL. • La simulation est prête à démarrer ___________________________________________________________________________ 2/6 Utilisation de SIMACTEL 2 A 10. Lancer la simulation • Lancer la simulation en sélectionnant l’outil station SIMACTEL, puis le mode connecté dans le menu simulation. 11. Dérouler les essais pour la mise-au-point complète de l’application PL7.3 • Utiliser l’ensemble des outils mis à disposition dans SIMACTEL pour optimiser la productivité et la pertinence des essais (contextes, scénarios, défaut pour injecter des défaillances sur les constituants de la partie opérative, trace, forçage...). Il est vivement conseillé de préparer auparavant un plan d’essai et des fiches de test pour garantir l’exhaustivité de la mise-au-point de l’application PL7.3. • Accéder au “ Serveur ” de simulation pour suivre l’évolution des E/S en cours de simulation. Le serveur est une application WINDOWS lancée automatiquement avec SIMACTEL, et qui gère le dialogue entre l’OFB et SIMACTEL ; accéder aux différentes fonctions du menu visualisation pour afficher l’historique d’évolutions des E/S, ou un synoptique dynamique représentant les racks et les TBX de l’application. • Prononcer la recette de l’application PL7.3 lorsque toutes les fonctionnalités ont été testées et validées : utiliser au besoin la fonction Trace pour éditer les chronogrammes d’évolution dans les principaux modes de fonctionnement. ___________________________________________________________________________ 2/7 A B ___________________________________________________________________________ 2/8 Chapitre 33 Accès au logiciel SIMACTEL Accès au logiciel SIMACTEL 3.1 Depuis l’atelier logiciel X-TEL La procédure d’accès est rigoureusement identique à celle utilisée pour les autres Outils Station sous XTEL. Accéder au logiciel SIMACTEL revient à ouvrir la fenêtre correspondante. Il faut pour cela : Procédure Souris Clavier 1. ouvrir la fenêtre Gestionnaire de bureau (Desktop Manager), double clic sur l’icône <Ctrl><Echap> <↑> ou <↓> <Entrée> 2. activer le groupe Telemecanique, double clic sur Telemecanique <↑> ou <↓> <Entrée> 3. ouvrir la fenêtre Utilisateur, double clic sur XTEL <≠> ou <↓> <Entrée> 4. saisir les paramètres utilisateurs, ce qui ouvre la fenêtre Volumes, clic dans la zone de saisie xxx, validation <↓>, xxx, <Entrée> 5. ouvrir un volume, double clic sur l’icône volume <Alt> <→> Fenêtre <↓> <↓> Volumes <Entrée> <Tab> <F2> 6. ouvrir un projet, double clic sur l’icône projet idem Volumes <↓> Projets 7. ouvrir une station, double clic sur l’icône station idem Volumes <↓> Stations 8. choisir Nouveau dans le menu Définition de la fenêtre Outils Station (si l’icône Simactel n’est pas déjà présent parmi les Ouitls Station), clic sur menu Définition, Nouveau <Alt> <→> Fenêtre <↓> <↓><OutilsStation> <Entrée> <Αλτ> <→><Définition> <↓><Nouveau> <Entrée> 9. sélectionner SIMACTEL, double clic sur simactel <↓><simactel> <Entrée> 10. ouvrir la fenêtre SIMACTEL. double clic sur l’icône Simactel idem Volumes <↓> Outils Station ___________________________________________________________________________ 3/1 A A 3.2 Depuis le navigateur (XTEL-BROWSER) Le navigateur est un outil V5, accessible depuis la fenêtre Groupe Telemecanique ou depuis le menu Visualiser des fenêtres principales X-TEL. Il permet de visualiser la hiérarchie des éléments de l’atelier logiciel et d’accéder rapidement aux différents niveaux : ouverture de toutes les fenêtres de l’atelier logiciel ou lancement d’une fonction ou d’un outil. Pour lancer l’Outil Station Simactel depuis le navigateur, il faut que celuici existe déjà au niveau de la station. Il faut ensuite suivre la procédure suivante : Procédure Souris Clavier 1. ouvrir la fenêtre Gestionnaire de bureau (Desktop Manager), double clic sur l’icône <Ctrl><Echap> <≠> ou <Ø> <Entrée> 2. activer le groupe Telemecanique, double clic sur Telemecanique <≠> ou <Ø> <Entrée> 3. ouvrir la fenêtre Xtel Browser, double clic sur Xtel Browser <≠> ou <Ø> <Entrée> 4. saisir les paramètres utilisateurs, ce qui ouvre le navigateur, clic dans la zone de saisie, xxx, Validation <Ø>, xxx, <Entrée> 5. naviguer dans le browser jusqu’à l’outil station Simactel de la station désirée, clic sur les items <Æ> simactel 6. ouvrir la fenêtre SIMACTEL. double clic sur l’item simactel <Entrée> 3.3 Fenêtre principale de SIMACTEL Une fois lancé SIMACTEL, la fenêtre principale obtenue donne accès aux diverses fonctionnalités du logiciel. ___________________________________________________________________________ 3/2 Accès au logiciel SIMACTEL 3 La ligne de menu de la fenêtre est composée de 6 items qui sont: • MACHINE : Sa sélection donne accès à la liste des machines existantes. • GRAFCET : Cet item est accessible dès qu’une machine a été choisie. De la même façon que MACHINE, une fenêtre apparaît avec la liste des fichiers de grafcet existants. • SIMULATION : Ce bouton active un menu permettant de lancer la simulation selon l’un des deux modes disponibles : ‘’local’’ ou ‘’connecté’’. • TRACE : Donne accès à la représentation sous forme chronogramme des évolutions de variables pendant une simulation. • DESCRIPTION : Permet de basculer dans l’environnement de Description. • FIN : Comme son nom l’indique. ___________________________________________________________________________ 3/3 A A ___________________________________________________________________________ 3/4 CREATION D'UNE APPLICATION Sommaire Intercalaire B B Chapitre 1. 2 Page Présentation 1/1 1.1 Introduction 1/1 1.2 Modélisation de la partie opérative d’un système automatisé 1.2.1 Comptes-rendus émis par une grandeur physique : axe et capteurs 1.2.2 Evolutions des grandeurs physiques : notion de mouvement 1.2.3 Préactionneurs et variables de modélisation 1.2.4 Interface avec la partie commande : équations des entrées 1.2.5 Notion de “ variable externe ” 1/1 1/2 1/3 1/4 1/5 1/5 1.3 Evaluation des équations et fronts sur les variables 1.3.1 Propagation des changements d’état dans les équations 1.3.2 Les fronts de variables avec SIMACTEL 1/6 1/6 1/7 1.4 Fenêtre principale de l’interface de description 1/9 Création des axes et de la partie mécanique 2/1 2.1 Fenêtre principale de description des axes 2/1 2.2 Création et édition des axes 2.2.1 Caractéristiques de l’axe 2.2.2 Liens amont et aval de l’axe 2.2.3 Axe standard 2/2 2/2 2/4 2/5 2.3 Création et édition des capteurs 2.3.1 Configuration de base proposée par l’interface 2.3.2 Description d’un capteur par évolutions 2.3.3 Vérification de la description des capteurs : visualisation 2/6 2/6 2/7 2/9 ___________________________________________________________________________ B/1 CREATION D'UNE APPLICATION Sommaire Intercalaire B B Chapitre 3 Page 2.4 Création et édition des mouvements 2/10 2.5 Création et édition des variables 2/11 2.6 Création et édition des bistables 2/12 2.7 Accès aux “ variables indéfinies ” 2/14 2.8 Vérification de la description des axes 2/16 Création de la tête de filerie 3/1 3.1 Introduction 3/1 3.2 Création d’un relais 3/2 3.3 Edition des relais 3/3 Prise en compte des contacts temporisés dans les équations 3/3 3.4 des relais 4 Création du bornier 4/1 4.1 Introduction 4/1 4.2 Description des cartes d’Entrées/Sorties 4/2 4.3 Edition des Entrées/Sorties 4/3 4.3.1 Passerelle FNES 4/4 4.3.2 Import SDBASE 4/4 ___________________________________________________________________________ B/2 CREATION D'UNE APPLICATION Sommaire Intercalaire B B Chapitre 5 Page Création des pupitres 5/1 5.1 Introduction 5/1 5.2 Création et édition des pupitres 5.2.1 Création d'un élément 5.2.2 Modification d'un élément 5.2.3 Suppression et restitution d'un élément 5/1 5/1 5/1 5/2 5.3 Définition des éléments des pupitres 5.3.1 Boutons poussoirs 5.3.2 Boutons poussoirs à accrochage 5.3.3 Voyants 5.3.4 Boutons poussoirs à voyant 5.3.5 Commutateurs à deux positions 5.3.6 Interrupteur 5.3.7 Commutateurs à trois positions 5.3.8 Commutateurs à n positions 5.3.9 Roues codeuses 5.3.10 Afficheurs hexadécimaux (ou "digits") 5.3.11 Texte 5.3.12 Séparateur 5/3 5/3 5/4 5/3 5/6 5/7 5/8 5/9 5/10 5/11 5/12 5/13 5/13 5.4 Dulication des pupitres 5/13 5.5 Coupure des pupitres 5/13 5.6 Fusion des pupitres 5/14 5.7 Variables de pupitres 5/14 5.8 Vérification de la cohérence 5/15 5.9 Impression des pupitres 5/15 ___________________________________________________________________________ B/3 CREATION D'UNE APPLICATION Sommaire Intercalaire B B Chapitre Page 6. Création des synoptiques 6.1 Introduction 6/1 6/1 6.2 Création et édition des synoptiques 6.2.1 Axes 6.2.2 Variables 6.2.3 Texte 6.2.4 Décodeurs 6.2.5 Lignes 6.2.6 Copier/Coller 6.2.7 Déplacement d’éléments 6/2 6/3 6/5 6/6 6/7 6/8 6/8 6/8 6.3 Impression des synoptiques 6/8 7. Création et utilisation de modèles 7/1 7.1 Présentation 7.2 Définition des modèles 7.2.1 Edition d’un modèle 7.2.2 Paramétrage 7.2.3 Exemple de modèle 7.2.4 Définition d’un modèle à partir d’une machine 7.3 Incorporation d’un modèle 7.3.1 Résolution des collisions 7.3.2 Valuation des paramètres 7.3.3 Identification des entrées; 7.3.4 Variables indéfinies 7.3.5 Accès à la description du modèle 7/1 7/1 7/2 7/3 7/4 7/5 7/7 7/8 7/9 7/10 7/10 7/12 7.4 Trace des instanciations 7/13 ___________________________________________________________________________ B/4 Chapitre 11 Présentation Présentation 1.1 Introduction Le principe de SIMACTEL consiste à modéliser la partie opérative, indépendamment de toute hypothèse sur le fonctionnement de la partie commande. De cette façon, outre le fonctionnement normal d’une installation, il est possible de tester, soit les différents modes de marche, soit le comportement du programme automate face à des défauts de partie opérative (casse de capteur par exemple). La première étape dans la réalisation d’une simulation avec le logiciel SIMACTEL est la création d’une représentation de la partie opérative. Pour ce faire, le logiciel comprend une interface de description complète détaillée dans ce qui suit. Elle permet de décrire les éléments suivants : • des axes et autres éléments représentant la partie mécanique, • la tête de filerie, • le bornier et les entrées et sorties automate, • des pupitres de conduite, • des synoptique, • des modèles. 1.2 Modélisation de la partie opérative d’un système automatisé Certaines approches de simulation consistent à décrire au moyen de grafcets un modèle “ dual ” représentant le fonctionnement attendu de la Partie Opérative. Cette méthode est notamment proposée dans des logiciels de CAO grafcet où elle présente l’avantage de représenter les évolutions de la Partie Opérative par le même outil que la Partie Commande, permettant l’animation de l’ensemble par le même algorithme d’exécution. L’inconvénient majeur est qu’on ne peut tester valablement que le fonctionnement normal de l’automatisme. Dans SIMACTEL au contraire la philosophie est de modéliser la Partie Opérative indépendamment de toute hypothèse sur le fonctionnement qui va lui être imposé par la Partie Commande. Outre le fonctionnement normal, on pourra tester dans de bonnes conditions les modes de marche et également analyser le comportement de l’automatisme en cas de défauts survenant dans la Partie Opérative. Le concept de base sur lequel repose cette modélisation est la notion “ d’Axe ”. ___________________________________________________________________________ 1/1 B 1.2.1 Comptes-rendus émis par une grandeur physique : axe et capteurs B Dans un système automatisé, l’API émet des ordres sous la forme de Sorties destinées à faire évoluer des grandeurs physiques, telles que la position d’un vérin par exemple. En retour l’automate reçoit des comptes-rendus au moyen d’Entrées par l’intermédiaire de capteurs disposés dans la machine. Dans SIMACTEL, “ l’Axe ” permet de représenter les différentes valeurs possibles d’une grandeur et les états correspondants des capteurs en rendant compte. Par exemple, l’axe décrivant un vérin aura une longueur correspondant à la course de ce vérin. Ses capteurs seront placés en début et fin de course. Type de capteurs : Les capteurs peuvent être disposés en une position quelconque dans l’axe auquel ils sont associés. Quatre types de comportement logique pour ces capteurs sont disponibles dans SIMACTEL : • La “logique positive” caractérise les capteurs à fermeture. Un capteur de ce type est au niveau logique “ 1 ” lorsque la came qui l’active se trouve à son niveau. • Les capteurs dont la logique est “ négative ” ont un fonctionnement inverse du cas précédent. • Les capteurs à “ enclenchement ” passent à l’état “ 1 ” quand la grandeur physique dont ils rendent compte est supérieure à la valeur donnée par leur position dans l’axe. • Les capteurs à “ déclenchement ” ont un fonctionnement symétrique de celui des capteurs à enclenchement. ___________________________________________________________________________ 1/2 Présentation 1 1.2.2 Evolutions des grandeurs physiques : notion de mouvement L’état des grandeurs physiques évoluant dans la partie opérative d’un système automatisé est représenté au moyen des axes, auxquels sont associés des capteurs. Les évolutions de ces grandeurs sont décrites dans SIMACTEL par des “ Mouvements ” caractérisés par un sens, une vitesse et une équation. Prenons l’exemple d’un vérin pneumatique piloté par un distributeur bistable. Selon la position de ce distributeur, que l’on peut considérer comme étant une fonction mémoire, le vérin sortira ou rentrera jusqu’à atteindre une position extrême de sa trajectoire. Les déplacements s’effectuent à condition que la pression pneumatique soit présente. Comme le distributeur peut prendre deux états différents, on peut le représenter par une variable booléenne. Supposons que l’état “ vrai ” de cette variable, que nous appellerons “ Dis ”, corresponde à la sortie du vérin. Si “ Pneu ” est la variable représentant la pression pneumatique motrice, les équations des mouvements du vérin seront : • pour la sortie : Dis . Pneu • pour la rentrée : /Dis . Pneu. Cette description d’un vérin est un cas très simple qui est cependant souvent rencontré en pratique. Dans d’autres cas, les équations des mouvements peuvent être d’une certaine complexité. Il faut alors s’assurer qu’elles sont mutuellement exclusives, un seul mouvement pouvant être actif pour un axe, à un instant donné. ___________________________________________________________________________ 1/3 B 1.2.3 Préactionneurs et variables de modélisation Dans les équations des mouvements d’un vérin, nous avons fait intervenir une variable booléenne représentant les deux positions possibles d’un distributeur. B De façon générale, dans les équations de mouvements d’actionneurs interviendront des variables correspondant à l’état de préactionneurs : ce seront des distributeurs dans le cas d’un vérin, mais ce pourra être des contacteurs pour les mouvements pilotés par des actionneurs électriques. D’autre part, certains cas de modélisation nécessitent l’utilisation de variables, permettant notamment de représenter des présences de pièces en certains points de la machine, et qui peuvent intervenir dans les équations de mouvements. Il est donc possible de décrire ces entités pour la modélisation d’une machine dans SIMACTEL. Ainsi un distributeur sera représenté par une fonction bistable, caractérisée par des termes d’enclenchement et de déclenchement, ces termes correspondant aux électrovannes pilotant le distributeur. Les relais et contacteurs ainsi que les variables de modélisation seront décrits par des expressions booléennes. ___________________________________________________________________________ 1/4 Présentation 1 1.2.4 Interface avec la partie commande : équations des entrées Le dialogue entre la Partie Commande et la Partie Opérative d’un système automatisé est réalisé au moyen d’Entrées/Sorties. Dans SIMACTEL, les Entrées sont décrites par des expressions booléennes, permettant notamment de faire le lien entre les capteurs représentant les comptes-rendus d’évolution et les informations perçues par l’automate. Dans ces équations d’Entrées interviennent d’autre part des variables représentant les conditions d’alimentation des cartes de l’API. Les capteurs ne sont pas les seuls éléments affectant les entrées d’un automate : des informations issues notamment des pupitres y sont également prises en compte. Nous reviendrons de façon plus détaillée sur cet aspect de la configuration machine lors de la présentation de l’interface de description. 1.2.5 Notion de “ variable externe ” La modélisation d’un vérin a été prise comme exemple d’illustration des notions d’Axes et de Mouvements associés. Dans les équations exprimant les activités des Mouvements de ce vérin, nous avons fait apparaître d’une part une variable “ Dis ” correspondant à l’état d’une fonction bistable caractérisant la position d’un distributeur et d’autre part un terme “ Pneu ” représentant la pression pneumatique permettant les mouvements du vérin. Si l’état logique de “ Dis ” est déterminé en fonction de termes d’enclenchement et de déclenchement, par contre “ Pneu ” représente une condition externe à la modélisation. Toutes les variables dont l’état n’est pas défini de façon interne par le modèle, telle cette condition pneumatique, sont désignées dans SIMACTEL par le nom de “ variable externe ”. Remarque : Ce nom de “ variable externe ”, désignant des variables dont l’état n’est pas déterminé par l’évolution du modèle ( ou par le dialogue avec la Partie Commande dans le cas des Sorties ), fait référence à l’usage qui sera fait de ces variables dans l’environnement de simulation : leur état pourra être modifié par une action extérieure. Dans l’interface de description, ces variables sont dites “ indéfinies ” car elles apparaissent dans la description sans que leur nature, c’est-à-dire leur origine, ne soit connue. ___________________________________________________________________________ 1/5 B 1.3 Evaluation des équations et fronts sur les variables La description d’une machine dans SIMACTEL inclut la représentation des relais par des équations booléennes. B D’autres variables, assimilées à des relais dans le fonctionnement interne de la simulation, peuvent également être utilisées à des fins de modélisation. On sait que le comportement d’un programme d’automate dépend de l’ordre dans lequel sont écrites les équations, celles-ci étant évaluées séquentiellement. Il est donc important de savoir comment les expressions représentant ces entités sont évaluées dans SIMACTEL, pour pouvoir élaborer une modélisation ne présentant pas d’aléas. D’autre part SIMACTEL offre la possibilité d’utiliser des fronts sur des variables de la modélisation ; l’utilisation doit donc en être précisée. 1.3.1 Propagation des changements d’état dans les équations Dans la réalité, les changements d’état qui se propagent dans le relayage d’une machine se font en fonction des temps de fermeture et d’ouverture des relais. Dans SIMACTEL, les temps de commutation sont considérés comme étant négligeables par rapport aux évolutions des axes : les équations représentant les relais sont donc évaluées à une date de simulation fixée, jusqu’à ce que l’on obtienne un état stable de ces éléments. Alors que dans un automate les équations sont évaluées de façon séquentielle, les équations intervenant dans la modélisation de la Partie Opérative sont évaluées en “ parallèle ” dans SIMACTEL. C’est-à-dire qu’une évolution de variable affecte de façon synchrone les équations où elle intervient : la propagation des changements d’état se fait par “ couches ” d’équations successives. Ce mode d’évaluation est appliqué aux relais et variables de modélisation. Soient par exemple, les équations suivantes : X1 = (S1 + X1) . /R1 X2 = (R1 . X1 + X2) . /R2 Supposons que l’on ait initialement X1 = 1 et X2 = 0 et également S1 = R1 = R2 = 0 Lors du passage à 1 de R1, on aura simultanément passage à 1 de X2 et passage à 0 de X1. ___________________________________________________________________________ 1/6 Présentation 1 1.3.2 Les fronts de variables avec SIMACTEL La notion de front de variable est familière à l’automaticien. Ce concept existe dans la définition normalisée du grafcet : un front montant sur une Entrée est “ vrai ”, si l’Entrée correspondante est à l’état logique “ 1 ” et était à “ 0 ” au cycle précédent d’exécution. Dans la modélisation d’une machine, il y a également la possibilité d’utiliser des fronts sur certaines variables, dans les équations définissant les relais et variables de modélisation d’une part, dans les combinaisons de capteurs d’autre part. • Utilisation d’un front dans une équation Dans les relais et variables peuvent intervenir des fronts sur les sorties, variables externes ( ou “ indéfinies ” en phase de description ), capteurs et combinaisons et également sur d’autres relais ou variables. La déclaration d’un front sur la variable de nom <var> s’effectue en préfixant <var> d’un “ + ” ou d’un “ - ” selon que l’on utilise le front montant ou descendant de <var>. Remarque : Si la variable <var> est définie implicitement par l’utilisation de “ +<var> ” ou “ -<var> ” dans une équation, cette variable apparaîtra comme variable externe en simulation. • Evaluation des fronts Si dans un automate un front est vu pendant une durée bien définie correspondant à un temps de cycle, il n’en est pas de même dans SIMACTEL (du moins en ce qui concerne les fronts intervenant dans la modélisation de la Partie Opérative). Il n’existe pas de notion équivalente au “ tour de cycle ” pendant lequel les variables seraient remises à jour séquentiellement : les équations sont évaluées par “ couches ” successives, les équations d’une même couche étant calculées simultanément. Dans SIMACTEL, un front intervenant dans les expressions booléennes d’un modèle de partie opérative est “ vrai ”, à partir du moment où se produit le changement d’état correspondant, pour l’évaluation de la première couche d’équations où intervient ce front. Soient les équations suivantes : b = +a c = (b + c) . /d avec a = b = c = d = 0 initialement. Si “ a ” passe à l’état vrai, on aura un passage fugitif à 1 de “ b ”, qui ne pourra donc jamais être observé dans cet état. Mais “ c ” verra cet état transitoire et pourra donc être enclenché, jusqu’à ce que “ d ” passe à 1. ___________________________________________________________________________ 1/7 B • Chaînage d’équations comportant des fronts Soient les équations suivantes : Mem-a = (+Set + Mem-a) . /Reset-a B Mem-b = (+Set . Mem-a + Mem-b) . /Reset-b “ Mem-a ” est donc enclenchée par le front montant de “ Set ” et déclenchée par l’état vrai de“ Reset-a ”. Pour enclencher “ Mem-b ”, il faut que lors du passage à 1 de “ Set ”, “ Mem-a ” soit déjà à 1. Si initialement “ Mem-a ” et “ Mem-b ” sont à “ 0 ”, il faudra 2 passages successifs à “ 1 ” de “ Set ” pour enclencher “ Mem-b ”. • Exemples d’application Le calcul “ parallèle ” des équations et l’utilisation des fronts permettent de modéliser certains éléments intéressants tels que, par exemple : • un séquenceur : Xi = (+Vi . Xi-1 + Xi) . /Xi+1 Xi représente l’état logique au pas “ i ” du séquenceur. Le front montant de Vi fait passer au pas suivant “ i + 1 ” si Xi est valide, • un registre à décalage : Bi = +Cmd . Bi-1 + Bi . /+Cmd Bi représente le bit “ i ” du registre. Le décalage a lieu lors du passage à 1 de la variable “ Cmd ”. Pour charger le registre, il faudrait compléter l’équation ci-dessus. ___________________________________________________________________________ 1/8 Présentation 1.4 1 Fenêtre principale de l’interface de description La fenêtre principale de l’interface de description comporte trois zones. Le bandeau supérieur conduit aux interfaces de description des différentes parties de l’installation. La zone centrale contient des informations sur la machine ou le modèle édité. Les boutons d’accès aux autres fonctionnalités du logiciel SIMACTEL (simulation, outils... ) se trouvent en bas de la fenêtre. Le rôle de chacun de ces éléments est détaillé ci-dessous. boutons d’accès aux interfaces de description machine permet de créer, de charger et de supprimer les dossiers machine. Tant qu’aucune machine n’a été chargée dans SIMACTEL, le message “ pas de machine sélectionnée ” apparaît en haut à gauche de la fenêtre. bornier cf. Chapitre 4 de cet intercalaire. relais cf. Chapitre 3 de cet intercalaire. axes cf. Chapitre 2 de cet intercalaire. pupitres cf. Chapitre 5 de cet intercalaire. synoptiques cf. Chapitre 6 de cet intercalaire. grafcets cf. Sous-chapitre 3.1 de l’intercalaire C. modèles cf. Chapitre 7 de cet intercalaire. ___________________________________________________________________________ 1/9 B accès aux autres fonctions aide B lance l’aide en ligne sur l’interface de descrip tion SIMACTEL outils impression de la machine cf. Chapitre 2 de l’intercalaire D. sauvegarde sur une disquette cf. Sous-chapitre 1.1 de l’intercalaire D. chargement à partir d’une disquette cf. Sous-chapitre 1.2 de l’intercalaire D. copie d’une machine cf. Sous-chapitre 1.3 de l’intercalaire D. transfert d’une machine en modèle cf. Sous-chapitre 7.1 de cet intercalaire. trace des instanciations cf. Sous-chapitre 7.3 de cet intercalaire. simulation cf. Intercalaire C. fin quitte l’application SIMACTEL. ___________________________________________________________________________ 1/10 Chapitre 22 Création des axes et de la partie mécanique Création des axes et de la partie mécanique 2.1 Fenêtre principale de description des axes Dans cette fenêtre apparaît la liste des axes constituant la description. Des boutons permettent de créer un nouvel axe, éditer, renommer ou supprimer les axes existants. A ce niveau peut être modifiée l’unité de temps utilisée pour la configuration. Par défaut cette unité est la seconde, elle peut être remplacée par le 1/100 ième de minute en cliquant le texte seconde apparaissant dans la fenêtre. Ce choix d’unité est important pour la représentation des traces de simulation (cf. Chapitre 3 de l’intercalaire D). Un bouton permet de signaler des anomalies dans la description. Cette fonctionnalité est décrite dans le sous-chapitre 8 de cet intercalaire. Les mouvements sont liés à un seul axe et ne sont donc éditables que par l’intermédiaire de cet axe. La suppression d’un axe entraîne la destruction de ses mouvements. Les bistables et variables de modélisation ne sont pas associés de façon univoque à un axe. Aussi des boutons permettent-ils d’accéder directement à ces entités. Le bouton Capteurs permet d’accéder à l’ensemble des capteurs de la description. On peut, à ce niveau, savoir à quel axe est associé tel capteur et ouvrir la fenêtre d’édition de cet axe. Les éléments décrits dans lesquels ce capteur intervient sont également accessibles. Enfin, on peut éditer directement le capteur sans passer par l’axe auquel il est associé. Le bouton Indéfinis donne accès à la liste des variables intervenant à différents niveaux dans la description et qui n’ont pas été définies. Des paragraphes spécifiques sont consacrés à ces fonctionnalités. ___________________________________________________________________________ 2/1 B 2.2 Création et édition des axes La création d’un axe commence par la saisie du mnémonique permettant de l’identifier. B Le nom d’un axe est de la forme ax-<no>, où <no> est par défaut le plus petit entier tel que ax-<no> n’est pas un axe déjà défini. Il est possible de remplacer <no> par un autre entier ou par toute chaîne comptant au plus 7 caractères. Suite à la création d’un axe ou demande d’édition d’un axe déjà décrit, la fenêtre de configuration d’un axe apparaît. Cette fenêtre permet d’une part la saisie des caractéristiques propres de l’axe et d’autre part d’accéder aux variables qui lui sont associées. 2.2.1 Caractéristiques de l’axe Les caractéristiques propres de l’axe, saisies directement dans la fenêtre d’édition sont les suivantes : Type de l’axe Par défaut l’axe est linéaire, c’est-à-dire que les évolutions sont limitées entre un début et une fin de course. Ceci correspond à la majorité des actionneurs, tels que les vérins. Un axe peut être rotatif, par exemple pour décrire un élément de Partie Opérative tel qu’une tourelle portant différents outils. C’est ce type d’axe qui intervient dans la modélisation des transferts de pièces ou qui permet de représenter certains axes “ informationnels ”. Le libellé C’est une chaîne d’au plus 16 caractères. La longueur C’est un nombre strictement positif, exprimé dans l’unité que l’on s’est choisie. La largeur de came Par défaut, cette largeur est nulle. En pratique cette came est peu utilisée : on lui préfère souvent la largeur d’activation associée à chacun des capteurs de l’axe. La position initiale dans l’axe Par défaut en début d’axe, cette position peut être en fin d’axe ou être déterminée en fonction d’un des capteurs de l’axe. Ce dernier cas est un peu délicat et nécessite d’avoir vu la façon dont sont configurés les capteurs. Si l’on a décrit le capteur servant à l’initialisation de l’axe selon la configuration de base proposée par l’interface, 3 cas sont à distinguer : - si la logique du capteur est positive ou à enclenchement, l’initialisation de l’axe aura ___________________________________________________________________________ 2/2 Création des axes et de la partie mécanique 2 lieu après le (premier) passage à l’état 1 du capteur, - si la logique est négative, l’initialisation se fera après le premier passage à 0 du capteur, - dans le cas d’un capteur à déclenchement, l’axe sera initialisé juste avant le passage à 0 du capteur (ou après le passage à 1 en partant de la fin de l’axe). Si par contre le capteur a été décrit par évolutions, l’initialisation est fonction de l’état initial du capteur. Si celui-ci est à 0 en début d’axe, ce dernier sera initialisé après le premier passage à 1. Dans le cas contraire, l’axe sera initialisé avant le premier passage à 0 du capteur. Validation des caractéristiques de l’axe Le bouton Valider se trouvant dans la partie inférieure gauche de la fenêtre permet de prendre en compte les informations que l’on vient de décrire. Le bouton Annuler permet de retrouver les valeurs de celles-ci, lors de la dernière validation effectuée. Note Il peut parfois être utile de créer un capteur fictif dans l’axe, à seule fin d’initialiser celui-ci correctement. ___________________________________________________________________________ 2/3 B 2.2.2 Liens amont et aval de l’axe Les capteurs et mouvements sont définis par rapport à un axe : le lien avec cet axe est donc immédiat. B Pour les autres variables, l’association aux axes se fait selon les deux principes suivants : • le lien amont consiste à associer à l’axe toutes les variables de la description intervenant dans la définition de ses mouvements, en excluant toutefois les relais faisant partie de l’alimentation générale (cf. Chapitre 3 de cet intercalaire). Appliquée récursivement, cette association permet de remonter jusqu’aux sorties de la partie commande, • le lien aval consiste à associer à l’axe les variables de la description dans lesquelles interviennent ses capteurs. De la même façon que le lien amont, il est appliqué récursivement jusqu’aux entrées. Les boutons Amont et Aval permettent de visualiser ces variables dans la fenêtre d’édition d’un axe. Si l’on sélectionne une de ces variables avec la souris, on entre en édition de celle-ci, à condition toutefois qu’elle fasse partie des variables configurées dans la partie mouvements. Les boutons se trouvant dans la partie inférieure droite de l’écran ouvrent les fenêtres d’edition respectivement des capteurs, bistables et variables liés à l’axe. ___________________________________________________________________________ 2/4 Création des axes et de la partie mécanique 2 2.2.3 Axe standard La description d’un axe peut nécessiter la manipulation d’un grand nombre de fenêtres, afin de définir les variables qui lui sont associées. C’est pourquoi la notion “ d’axe standard ” a été introduite. Le bouton Standard se trouvant dans la partie inférieure gauche de la fenêtre permet d’ouvrir une page de description d’un axe type, tel qu’un vérin. Un axe standard comprend au plus deux capteurs, qui doivent obligatoirement se trouver en début et fin d’axe. Au maximum, deux mouvements (sortie et entrée) lui sont associés. Le bouton bistable permet de compléter cette description, si besoin est. ___________________________________________________________________________ 2/5 B 2.3 B Création et édition des capteurs Le bouton Capteurs de la fenêtre de configuration d’un axe fait apparaître le menu principal de la fonction d’édition des capteurs associés à cet axe. A ce niveau, il est possible comme pour toutes les variables liées à un axe, de créer, éditer, renommer et supprimer des capteurs. Les fenêtres de création et d’édition sont analogues. Les différences sont les suivantes : • en création, on doit saisir le mnémonique du capteur créé. Le bouton Indéfinis permet de choisir le nom du capteur parmi les variables indéfinies présentes dans la description, et ainsi d’identifier une de ces variables au capteur que l’on crée, • en édition, le mnémonique du capteur n’est pas modifiable : il faut recourir à la fonction Renommer. Par contre, on peut passer d’un capteur à l’autre sans quitter la fenêtre d’édition. Deux manières différentes de décrire un capteur sont proposées dans l’interface de configuration. 2.3.1 Configuration de base proposée par l’interface C’est l’option par défaut. Celle-ci consiste à décrire le capteur par quatre informations qui sont : la position Celle-ci peut être début, fin d’axe ou une valeur numérique. Dans ce dernier cas, il faut veiller à ce que les choix en début ou fin d’axe ne soient plus sélectionnés, ce qui peut être obtenu en validant par la touche <Entrée> la valeur saisie. le type logique 1. logique positive : le capteur est activé (son état logique est 1) quand la came agit dessus, 2. logique négative : l’état du capteur est complémenté par rapport au cas précédent, 3. enclenchement : le capteur passe à l’état actif à partir de sa position et le reste jusqu’à la fin de l’axe, 4. déclenchement : le fonctionnement est symétrique de l’enclenchement, la largeur d’activation Cette information caractérise la longueur pendant laquelle le capteur est actif (logique positive) ou inactif (logique négative). Par défaut, le capteur “ hérite ” de la largeur de came associée à l’axe. Le nombre d’occurrences Par défaut égal à 1, ce nombre permet de répéter le capteur plusieurs fois dans l’axe à intervalles réguliers. Ceci peut être utile par exemple dans le cas d’un axe rotatif activant un capteur au moyen de cames réparties régulièrement. Cette fonction n’est active que si le type de logique est logique positive ou logique négative. ___________________________________________________________________________ 2/6 Création des axes et de la partie mécanique 2 Note La largeur d’activation est différente de la notion de “ came ” attachée à l’axe. Si un axe linéaire a une came non nulle, sa longueur est réduite d’autant et la position de chacun de ses capteurs est avancée, car l’on considère que le déplacement de cette came s’effectue “ à l’intérieur ” de l’axe. 2.3.2 Description d’un capteur par évolutions La description d’un capteur de la manière “ standard ” que l’on vient de présenter peut s’avérer inadaptée dans certains cas. Notamment quand un capteur de l’axe est activé par des cames de largeurs variables et/ou disposées à intervalles irréguliers. Pour pallier cela, il est possible de configurer un capteur de façon totalement libre. En cliquant le bouton Spécial se trouvant en haut à gauche de la fenêtre d’édition du capteur, le contenu de cette fenêtre est modifié. Si des données ont été saisies en mode “ standard ”, on les retrouve ici sous la forme d’un chronogramme d’une part, et de la suite des évolutions logiques du capteur d’autre part, dans un défileur dans la partie droite de la fenêtre. L’état initial est indiqué au moyen d’un sélectionneur à 2 positions. La configuration du capteur consiste, à partir d’un état initial, à donner la suite des évolutions affectant le capteur. Ces évolutions sont saisies au moyen de l’éditeur se trouvant au bas de la fenêtre. La validation par la touche <Entrée> a pour effet d’ajouter la position d’évolution à celles ___________________________________________________________________________ 2/7 B se trouvant dans le défileur, si la valeur saisie est un nombre positif plus petit ou égal à la longueur de l’axe. Le chronogramme représentant les évolutions du capteur est simultanément remis à jour. B Le bouton Fin à droite de l’éditeur permet de faire apparaître dans celui-ci la longueur de l’axe auquel le capteur est associé. Ceci permet de positionner une évolution en fin d’axe après validation, ou simplement de pouvoir se rappeler cette longueur. Le retrait d’une évolution non souhaitée est réalisé en la cliquant avec la souris dans le défileur. Le chronogramme est automatiquement remis à jour. ___________________________________________________________________________ 2/8 Création des axes et de la partie mécanique 2 2.3.3 Vérification de la description des capteurs : visualisation Le bouton visualiser du menu d’édition des capteurs permet de faire apparaître une fenêtre où est affiché un chronogramme des évolutions des capteurs de l’axe. Afin de vérifier si la configuration des capteurs que l’on a effectuée correspond bien à ce que l’on souhaitait faire, une fonction de Visualisation est disponible. Pour avoir une vision plus précise des positions de changement d’état de ces capteurs et de l’ordre dans lequel elles se produisent, on peut également visualiser la succession des évolutions de ces capteurs tout au long de l’axe. Note A ce niveau de la représentation sous forme de chronogramme, il est possible d’éditer les capteurs en cliquant sur leur nom avec la souris. On peut ainsi corriger une configuration incorrecte. ___________________________________________________________________________ 2/9 B 2.4 B Création et édition des mouvements Le bouton mouvements de la fenêtre de configuration d’un axe fait apparaître le menu principal de la fonction d’édition des mouvements associés à un axe. Il est possible de créer, éditer, renommer et supprimer des mouvements. L’édition d’un mouvement consiste à déclarer : le sens du mouvement un mouvement ayant un sens de mouvement positif entraîne un déplacement vers une position croissante sur l’axe (vers l’extrémité de l’axe) lorsqu’il est activé. Un mouvement ayant un sens de mouvement négatif entraîne un déplacement vers l’origine de l’axe lorsqu’il est activé, la vitesse elle détermine la durée du déplacement de l’axe entre 2 capteurs. Une vitesse infinie entraîne une durée de déplacement nulle d’un capteur vers un autre. l’équation elle détermine l’état du mouvement. C’est une fonction logique de variables de modélisation, de relais, de capteurs, de sorties, ou de comparaisons de numériques. Dans la fenêtre d’édition d’un mouvement apparaissent deux boutons : précédent et suivant. Ceux-ci permettent de rappeler dans l’éditeur dédié à la saisie de l’équation du mouvement, les équations des mouvements déjà définis pour l’axe. Ces équations portant généralement sur les mêmes termes, ceci permet d’éviter de retaper une équation intégralement : il peut parfois suffire de complémenter certaines variables pour avoir l’équation du nouveau mouvement. ___________________________________________________________________________ 2/10 Création des axes et de la partie mécanique 2.5 2 Création et édition des variables Le bouton Variables de la fenêtre d’édition de l’axe fait apparaître le menu principal permettant la création, l’édition, le changement de nom et la suppression des variables associées à l’axe. Pour les variables logiques, équations : • • • • • • les éléments suivants peuvent intervenir dans les les capteurs, les variables de pupitres, les variables externes, les relais, les sorties, les autres variables logiques. Aides apportées à l’édition des variables Pour la dénomination des variables créées, le bouton indéfinis permet un choix parmi la liste de ces variables apparaissant dans la description. Pour les bistables et variables de modélisation, ce choix est limité aux variables indéfinies en amont de l’axe, intervenant par exemple dans l’équation des mouvements de celui-ci. La fonction aide édition permet d’ouvrir une fenêtre où l’on peut sélectionner les variables susceptibles d’intervenir dans une équation. Elles peuvent être transférées dans les éditeurs de saisie de ces équations. ___________________________________________________________________________ 2/11 B 2.6 Création et édition des bistables La fenêtre de description des bistables de SIMACTEL contient les éléments suivants : le mnémonique : B il s’agit du nom du bistable. Ce nom est utilisé dans les équations des éléments en aval du bistable, notamment les mouvements commandé par le bistable. le terme d’enclenchement : nom d’un élément de description en amont du bistable. Le bistable prend l’état “ 1 ” sur le front montant du terme d’enclenchement lorsque la condition est vérifiée. Il garde cette valeur tant que le déclenchement n’est pas effectué, même si le terme d’enclenchement retombe à l’état “ 0 ”. le terme de déclenchement : nom d’un élément de description en amont du bistable. Le bistable prend l’état “ 0 ” sur le front montant du terme de déclenchement lorsque la condition est vérifiée. Il garde cette valeur jusqu’à ce qu’un nouvel l’enclenchement soit effectué, même si le terme de déclenchement retombe à l’état “ 0 ”. la condition : nom d’un élément de description en amont du bistable. Le bistable ne peut pas changer d’état si la condition n’est pas vérifiée. Généralement, on trouve en condition un terme représentant l’énergie. bouton indéfinis : pour la dénomination des variables créées, le bouton Indéfinis permet un choix parmi la liste de ces variables apparaissant dans la description. Ce choix est limité aux variables indéfinies en amont de l’axe, intervenant par exemple dans l’équation des mouvements de celui-ci. ___________________________________________________________________________ 2/12 Création des axes et de la partie mécanique 2 bouton aide : La fonction Aide édition permet d’ouvrir une fenêtre où l’on peut sélectionner les variables susceptibles d’intervenir dans une équation. Elles peuvent être transférées dans les éditeurs de saisie de ces équations. Les boutons Valider, Quitter et Annuler permettent de sortir des fenêtres de création et de modification des bistables. ___________________________________________________________________________ 2/13 B 2.7 Accès aux “ variables indéfinies ” Dans le premier chapitre de cet intercalaire, la notion de “ variable externe ” fut introduite. B En résumé, si, par exemple, l’état des capteurs dépend de la position dans un axe ou si l’état des relais est déterminé par une expression booléenne, la valeur logique des variables externes n’est pas définie de façon interne par l’évolution du modèle. Ces variables représentent des “ limites de modélisation ” correspondant à des conditions externes telles que l’alimentation en énergie, la présence de pièces en entrée de la machine ou encore des capteurs signalant l’ouverture d’une porte. Dans l’environnement de simulation, l’état de ces variables sera déterminé par une action extérieure. Au cours de la configuration, des variables peuvent n’être que “ temporairement indéfinies ”. Par exemple, si l’on débute la description par la définition du “ bornier ” (cf. Chapitre 4 de cet intercalaire), les capteurs intervenant dans les équations des Entrées sont des “ variables indéfinies ” car les axes activant ces capteurs n’ont pas encore été décrits. L’introduction dans une équation d’une de ces variables est signalée par un message. Lors de la création d’une entité de la modélisation, on peut accéder à la liste des variables indéfinies existantes pour nommer le nouvel élément. Mais l’existence de “ variables indéfinies ” dans la description peut également résulter d’une erreur de saisie dans la définition d’un élément. Afin de remédier à ceci, le bouton Indéfinis se trouvant dans la première fenêtre de l’interface de configuration des axes permet d’ouvrir une fenêtre où est présentée la liste de ces variables intervenant dans l’ensemble de la description. ___________________________________________________________________________ 2/14 Création des axes et de la partie mécanique 2 La sélection d’une de ces variables fait apparaître les éléments de la description où elle intervient. Si l’on sélectionne à l’aide de la souris l’un de ces éléments, la fenêtre d’édition propre au type de l’élément concerné apparaît, permettant ainsi d’effectuer une correction qui pourra faire disparaître la “ variable indéfinie ” indésirable. B ___________________________________________________________________________ 2/15 2.8 Vérification de la description des axes Le bouton Vérifier la description de la fenêtre principale d’édition des axes, permet d’activer un contrôle de cohérence de la description de la partie opérative. B Les anomalies suivantes sont signalées : • axes sans capteurs, • axes linéaires n’ayant pas au moins un mouvement par sens, • axes rotatifs sans mouvement, • diverses variables non utilisées. ___________________________________________________________________________ 2/16 3 Création de la têteChapitre de filerie 3 Création de la tête de filerie 3.1 Introduction La “ Tête de Filerie ” est constituée du relayage intervenant dans la machine à simuler. La description de ces relais consiste dans SIMACTEL à transcrire sous forme d’expressions booléennes les schémas électriques disponibles dans les documents. Une distinction est faite dans l’interface de configuration entre “ l’Alimentation ” et les “ Relais ”. Les relais figurant dans l’alimentation correspondent à des fonctions générales de la machine telles que la distribution de la puissance électrique, la mise sous tension de différents sous-ensembles ..., et ne sont pas liés directement aux actionneurs. Par contre les “ Relais ” interviennent directement dans la commande des mouvements. Cette distinction n’influe pas sur le fonctionnement du simulateur mais intervient dans l’association des variables de la description aux axes de la machine. ___________________________________________________________________________ 3/1 B 3.2 Création d’un relais Pour créer un relais, il faut bien sûr le nommer. Ceci se fait au moyen d’un éditeur acceptant au plus 10 caractères. B Le relais que l’on décrit a peut-être déjà été utilisé pour la définition d’un élément du modèle (par exemple un autre relais). Dans ce cas, il existe une variable indéfinie ayant le nom du relais que l’on veut créer : le bouton Indéfinis permet de retrouver ce nom. Le nom du relais que l’on veut créer peut être le mnémonique d’une Sortie décrite dans le bornier. Par le bouton Mnémoniques, on a accès à la liste des Sorties avec leur mnémonique : on peut ainsi choisir le nom du relais à créer. Il est possible d’associer une temporisation à un relais, en cochant la case temporisé de la fenêtre de création de ces éléments. Il faut alors préciser la durée de la temporisation : la valeur de celle-ci est saisie au moyen d’un éditeur. L'unité est celle que l'on choisit pour la configuration de la machine dans dans la fenêtre de création des axes. Par défaut, le relais est temporisé à l’enclenchement, c’est-à-dire que le contact temporisé apparaît un certain temps après que l’équation du relais soit vérifiée. En cliquant le texte à l’enclenchement apparaissant dans la fenêtre de création, le relais sera temporisé au déclenchement, c’est-à-dire que le contact temporisé retombera un moment après que l’équation du relais soit devenue “ fausse ”. La création d’un relais est effectivement prise en compte si l’on valide au moyen du bouton prévu à cet effet. La fenêtre de création reste présente à l’écran : en modifiant le nom du relais, on peut en créer un autre. Le bouton Aide édition permet de sélectionner des variables que l’on souhaite voir figurer dans l’équation du relais. Le Dictionnaire, auquel on accède au moyen du bouton de même nom, permet de mémoriser des mots ou des ensembles de mots, pour ensuite les restituer dans les équations. Son intérêt est de faciliter la saisie d'équation ayant une partie commune. ___________________________________________________________________________ 3/2 Création de la tête de filerie 3.3 3 Edition des relais En édition, il est possible de modifier les caractéristiques du relais, c’est-à-dire son équation et la temporisation qui lui est éventuellement associée. B 3.4 Prise en compte des contacts temporisés dans les équations des relais Nous avons vu que l’on pouvait associer des temporisations aux relais de la tête de filerie. Ceci n’a d’intérêt que s’il est possible de faire intervenir dans l’équation d’un relais les contacts temporisés correspondants. Pour les relais temporisés à l’enclenchement, l’état vrai du contact temporisé est fax<relais> où “ <relais> ” est le nom du relais auquel est associée la temporisation. L’état actif du contact temporisé d’un relais temporisé au déclenchement de nom <relais> est /dax-<relais>. Ceci provient de la représentation interne des temporisations. Celles-ci sont représentées par des axes de nom ax-<relais>.fax-<relais> et dax-<relais> sont des variables, automatiquement associées à ces axes, qui passent à l’état “ vrai ” dès que ceux-ci arrivent respectivement en fin et début de course. Exemple : On déclare un relais Km1, temporisé à l'enclenchement avec une durée de 10. A partir du moment où l'équation associée à ce relais est vérifiée, la date de simulation devra progresser de 10 unités pour que la variable fax–km1 représentant le contact temporisé devienne "vraie". ___________________________________________________________________________ 3/3 B ___________________________________________________________________________ 3/4 Chapitre 4 Création du bornier 4 Création du bornier 4.1 Introduction Dans SIMACTEL, le bornier décrit l’interface entre la modélisation de la Partie Opérative et la Partie Commande que l’on va valider, en l’occurrence un programme exécuté dans un automate. La description du bornier comprend donc la configuration des modules d’entrées/sorties en bac et déportées. On doit également définir les équations des Entrées activées par le simulateur en fonction des variables du modèle de la machine. ___________________________________________________________________________ 4/1 B 4.2 B Description des cartes d’Entrées/Sorties La description d’un bornier commence par la configuration des modules d’Entrées/ Sorties; chacun d’eux est désigné par un code qui permet de plus d’indiquer si le module en question doit être simulé ou non par SIMACTEL. La fenêtre de configuration comprend 2 parties: • en bas de l’écran, on touve les E/S en bac. La grille représente les modules et racks de l’automate. A droite de l’écran sont affichées les différentes cartes d’entrées/ sorties autorisées.La case se trouvant à droite du texte Effacer permet, lorsqu’elle est cochée, d’enlever une carte de la configuration. • En haut de l’écran on trouve les E/S déportées. La grille représente les points de connexion . A droite sont affichés les différents types de modules TBX. Remarques : • les entrées non simulées ne sont pas générées dans SIMACTEL . • dans le cas d’un module TBX, on déclare uniquement son type (16 entrées, 16sorties, 8 entrées/sorties, 8 entrées/8 programmables) • pour les modules TBX programmables, on saisit voie par voie (de 8 à 15), le type de la voie (Entrée/Sortie) en sélectionnant la pastille correspondante. ___________________________________________________________________________ 4/2 Création du bornier 4.3 4 Edition des Entrées/Sorties La configuration du bornier permet de définir les adresses des Entrées/Sorties. Pour leur associer un mnémonique et un commentaire, il faut les éditer au moyen du bouton prévu à cet effet. Cette édition permet d’autre part de définir les équations des Entrées. Une aide est apportée pour la saisie de ces équations par le bouton Aide édition. Ce bouton permet d’ouvrir une fenêtre où l’on peut sélectionner les variables susceptibles d’intervenir dans l’équation d’une Entrée. Il n’est pas permis de faire intervenir une Sortie dans une équation d’Entrée. Ce rebouclage nécessite que soit définie une variable intermédiaire, qui peut être un relais de la tête de filerie ou une variable de modélisation de la partie “ Mouvements ”. Remarques : Il n’est pas possible de créer ou de supprimer des Entrées/Sorties sans passer par la configuration du bornier. Cette configuration se fait à la création du bornier ou avec le bouton Modifier Bornier si on ne change que quelques cartes d’Entrées/Sorties. ___________________________________________________________________________ 4/3 B 4.3.1 Passerelle FNES B Les “ fichiers neutres d’Entrées/Sorties ” ont été définis afin de permettre des échanges standardisés de données entre les logiciels de CAO électrique et des logiciels de documentation d’automatismes programmés. L’interface de configuration de SIMACTEL offre la possibilité de lire ces fichiers, permettant ainsi de récupérer la configuration des Entrées /Sorties d’un automate, avec les mnémoniques et commentaires qui leur sont associés. Ces fichiers peuvent provenir par exemple du module XTEL-CAD. La procédure de génération du fichier FNES depuis XTEL-CAD est la suivante : - Sous l'outil XTEL-CONF, activer l'item du menu "Fichier" "XTEL—>CSAO", de façon à générer les fichiers .IOC et .IOF. - Sous l'outil XTEL-CAD activer l'item "Fichier" "XTEL—>CSAO" pour générer un fichier au format FNES. Attention le fichier doit se trouver sous le répertoire "UNITE:\XPROJPRJ\PROJET\STATION\APP. Pour lire un de ces fichiers, il faut cliquer le bouton “ Fichier neutre ” apparaissant dans la fenêtre du bornier des Entrées/Sorties ou dans la fenêtre de création d’un nouveau bornier. Le nom du fichier à lire doit ensuite être saisi, la validation lance le traitement à condition que ce fichier existe bien. La passerelle FNES peut être appelée après la configuration du bornier. Elle permet de mettre à jour chaque mnémonique et commentaire des Entrées/Sorties. Elle peut aussi être appelée lors de la configuration du bornier. Dans ce cas, elle crée en plus la configuration automatique des cartes d’Entrées/Sorties. La lecture d’un fichier neutre peut donc se faire avec mise à jour ou non du bornier. Avec l’option, il y a configuration du bornier, avec les types de cartes lus dans le fichier. Sans l’option, les mnémoniques et commentaires des Entrées/Sorties déjà existantes sont remis à jour. 4.3.2 Import SDBASE L’outil station SDBASE permet la conversion (export) vers des fichiers rassemblant les mnémoniques et commentaires des E/S ( fichiers textes .SCY). La procédure de génération de ce fichier depuis XTEL-CAD est la suivante : - Sous l'outil XTEL-SDBASE, activer l'item du menu "Fichier" "Convertir\Base de symboles vers fichier texte", puis sélecter le format standard (.SCY), et indiquer le nom du fichier. Le bouton Fichier SDBASE de la fenêtre du bornier des Entrées/sorties permet de récupérer ces mnémoniques/commentaires, en indiquant le nom du fichier correspondant. ___________________________________________________________________________ 4/4 Création desChapitre pupitres 55 Création des pupitres 5.1 Introduction La configuration d’un pupitre consiste d’une part à définir la “ géométrie ” de celui-ci, c’est-à-dire à positionner les uns par rapport aux autres les différents éléments qui le composent. D’autre part chacun des éléments est décrit individuellement. La représentation graphique de ces éléments est complétée par des “ étiquettes ” permettant de les identifier et de désigner les différentes positions des commutateurs. Aux boutons poussoirs et commutateurs sont associées des variables activées en fonction des actions exercées sur ces éléments. Ces variables sont donc reprises dans les équations des Entrées ou dans les relais de la tête de filerie. Les voyants et afficheurs sont commandés en fonction de Sorties ou de relais et éventuellement de variables de modélisation de la Partie Mouvements. 5.2 Création et édition des pupitres Pour créer un pupitre, il faut d’abord lui donner un titre, qui pourra être modifié ultérieurement. Dans la phase d’édition, le pupitre apparaît en haut à gauche de l’écran. A droite de l’écran se trouve un ensemble de boutons de commande correspondants aux fonctionnalités d’édition. 5.2.1 Création d’un élément La sélection du type d’élément à créer fait apparaître la fenêtre “ d’habillage ” correspondante (cf. Sous-chapitre 5.2. “ définition des éléments de pupitre ” de cet intercalaire) Après validation des données saisies, le nouvel élément est positionné par rapport à un élément figurant déjà dans le pupitre que l’on sélectionne par la souris : cet élément de référence passe alors en inverse vidéo. 5.2.2 Modification d’un élément Après sélection d’un élément du pupitre édité, le bouton “ Modifier un élément ” permet de rappeler la fenêtre d’habillage propre au type de cet élément. Les étiquettes et la ou les variables qui lui sont associées peuvent ainsi être modifiées. ___________________________________________________________________________ 5/1 B 5.2.3 Suppression et restitution d’un élément B Un élément du pupitre, préalablement sélectionné à l’aide de la souris, peut être supprimé au moyen du bouton prévu à cet effet. Le bouton “ Restitution d’un élément ” permet d’annuler la dernière suppression effectuée. L’élément restitué doit être repositionné dans le pupitre. Il est possible de modifier la position d’un élément dans un pupitre. Le pupitre est d’abord réaffiché sans l’élément sélectionné qui doit être repositionné par rapport à un élément de référence. ___________________________________________________________________________ 5/2 Création des pupitres 5.3 5 Définition des éléments des pupitres Nous venons de voir le principe général de configuration des pupitres. Ce paragraphe est consacré à la description de chacun des éléments les composant. 5.3.1 Boutons poussoirs Un bouton poussoir est identifié par un titre formé de 2 chaînes superposées de 6 caractères chacune. Le champ couleur est en fait une lettre, initiale de la couleur du bouton. Le bouton poussoir apparaîtra donc avec cette couleur. La variable activée par le bouton est saisie au moyen d’un éditeur. Comme cette variable a peut-être déjà été utilisée dans l’équation d’une Entrée ou dans un relais de la tête de filerie, elle est susceptible de se trouver dans la liste des variables “ indéfinies ” de la description : cette liste est donc présentée dans la fenêtre d’édition des boutons poussoirs. Par défaut le contact du bouton est à fermeture : l’état logique de la variable associée passe à “ vrai ” quand un appui est effecué sur le bouton. En cliquant le texte “ fermeture ” ce fonctionnement est inversé : il s’agit alors d’un contact à ouverture ou “ normalement fermé ”. Le bouton poussoir “ large ” a le même fonctionnement qu’un bouton poussoir standard. Comme il est deux fois plus large, les chaînes formant le titre peuvent compter 12 caractères. ___________________________________________________________________________ 5/3 B 5.3.2 Boutons poussoirs à accrochage B Ces boutons permettent de représenter des éléments tels que les arrêts d’urgence “ coup de poing ”, qui restent enfoncés et nécessitent parfois l’utilisation d’une clé pour être relâchés. Ces boutons ont un titre formé d’une seule chaîne d’au plus 12 caractères. Comme pour les boutons poussoirs simples, le contact peut être à fermeture ou à ouverture. ___________________________________________________________________________ 5/4 Création des pupitres 5 5.3.3 Voyants A l’instar des boutons poussoirs, le titre identifiant ces éléments est formé de deux chaînes de 6 caractères. La variable allumant le voyant étant le plus souvent une Sortie ou un relais, un accès à ces entités est prévu. De la même façon que pour les boutons poussoirs, les voyants “ larges ” occupent une place deux fois plus grande dans les pupitres, et les chaînes formant leur titre peuvent compter 12 caractères. ___________________________________________________________________________ 5/5 B 5.3.4 Boutons poussoirs à voyant Ces éléments regroupent les fonctions “ bouton poussoir ” et “ voyant ”. Leur configuration reprend donc ces deux aspects. B ___________________________________________________________________________ 5/6 Création des pupitres 5 5.3.5 Commutateurs à 2 positions Les commutateurs occupent dans les pupitres un emplacement correspondant à deux boutons poussoirs “ standards ”. Ils sont munis d’un titre de 12 caractères et chaque position est identifiée par une étiquette d’au plus 5 caractères. Si la fonction “ Rappel Automatique ” est sélectionnée, le commutateur retournera en position de repos, à gauche, dès qu’il sera relâché. Ceci est indiqué par une flèche dans la représentation graphique de l’élément. Par défaut la variable associée est activée dans la position droite du commutateur. Ceci peut être inversé en remplaçant le “ contact à fermeture ” par un “ contact à ouverture ”, de la même façon que pour les boutons poussoirs. La variable peut être choisie parmi la liste des “ variables indéfinies ” de la description. ___________________________________________________________________________ 5/7 B 5.3.6 Interrupteur Cet élément occupe la même place qu’un bouton poussoir simple, son titre est également formé de deux chaînes de 6 caractères. B Son fonctionnement est similaire à celui d’un commutateur à 2 positions, il peut également être muni d’une fonction de rappel automatique. ___________________________________________________________________________ 5/8 Création des pupitres 5 5.3.7 Commutateurs à 3 positions; Dans ces commutateurs, deux variables dites “ droite ” et “ gauche ” sont activables. Par défaut la position neutre, où aucune de ces variables n’est à l’état logique 1, est la position centrale du commutateur. Cette position peut être modifiée au moyen du sélectionneur prévu à cet effet. Dans le cas où la position neutre est la position centrale, les positions droite et gauche peuvent être à rappel automatique au centre. ___________________________________________________________________________ 5/9 B 5.3.8 Commutateurs à n positions A chaque position de ce commutateur sont associées un certain nombre de variables, qui seront à l’état logique “ 1 ” si la position est sélectionnée. B Par défaut, ce commutateur a 2 positions. On peut ajouter une nouvelle position : ce sera la n+1 ième, si n était le nombre de positions du commutateur. L’insertion correspond à un décalage des positions existantes, à partir de celle qui est éditée. On change la position éditée au moyen des boutons “ Position précédente ” et “ Position suivante ”. Il est possible de supprimer la position courante. Les variables associées à la position courante apparaissent dans un défileur. Pour ajouter une variable à la position courante, on peut soit la saisir dans l’éditeur se trouvant en haut à droite de la fenêtre de configuration du commutateur à n positions, soit la choisir dans la liste des variables «indéfinies», qui est présentée sous cet éditeur. Le retrait d’une variable de la position courante est effectué en cliquant celle-ci dans le défileur, sous le texte “ Position <i> ”. A chacune des positions du commutateur, on peut associer un commentaire. Ces commentaires seront affichés, dans le pupitre, à droite du commutateur. ___________________________________________________________________________ 5/10 Création des pupitres 5 5.3.9 Roues codeuses La configuration de ces éléments est similaire à celle des commutateurs à N positions. Le nombre de positions est ici fixé à 10, et ces positions sont numérotées de 0 à 9. La roue codeuse occupe un emplacement deux fois moins important que le commutateur à N positions, aussi le titre est-il réduit à 6 caractères. ___________________________________________________________________________ 5/11 B 5.3.10 Afficheurs hexadécimaux ( ou “ digits ” ) Ces éléments donnent la possibilité d’afficher une valeur hexadécimale dans un pupitre. La valeur affichée est donnée par 4 bits qui peuvent être des Sorties ou des Relais. B La validation est optionnelle. Si elle est définie, l’état des 4 bits n’est affiché que si la variable de validation est à “ 1 ”. L’affichage peut être validé sur un front montant ou descendant d’une variable. Dans ce cas celle-ci doit être préfixée par “ + ” ou “ - ”. ___________________________________________________________________________ 5/12 Création des pupitres 5 5.3.11 Texte Ceci permet d’introduire une ou deux lignes de commentaires dans un pupitre. B 5.3.12 Séparateur Le séparateur sert à disposer des “ blancs ” dans le pupitre. Ces espaces vides ont la même dimension qu’un bouton poussoir «standard». 5.4 Duplication des pupitres La description d’une machine pouvant comporter des pupitres analogues, il est possible de dupliquer un pupitre déjà décrit. Les variables associées aux éléments sont conservées, il faut donc modifier ces variables en éditant les éléments du pupitre dupliqué. 5.5 Coupure des pupitres Cette fonctionnalité permet d’extraire des éléments d’un pupitre pour en faire un autre. Il faut d’abord sélectionner les éléments que l’on souhaite extraire du pupitre à découper, puis nommer le pupitre qui sera créé avec ces éléments. Ceux-ci sont positionnés suivant les mêmes lignes que dans le pupitre d’origine. ___________________________________________________________________________ 5/13 5.6 Fusion des pupitres Ceci permet d’ajouter à un pupitre les éléments appartenant à d’autres pupitres. Les pupitres étant constitués de lignes d’éléments, les possibilités de fusion en découlent. B Il est possible d’ajouter un pupitre à un autre de différentes façons : • au-dessus : Les lignes constituant le pupitre ajouté sont disposées au-dessus de celles du pupitre initial, • au-dessous : La situation est inversée par rapport à la précédente, • à droite en haut/en bas : Les lignes formant le pupitre ajouté sont disposées au bout de celles du pupitre initial, en commençant par les lignes du haut ou, au contraire, de telle façon que les dernières lignes de chaque pupitre se correspondent, • à gauche en haut/en bas : Les lignes formant le pupitre ajouté sont placées au début de celles formant le pupitre initial. 5.7 Variables de pupitres Le bouton Variables de pupitres donne accès à l’ensemble de ces variables, dont l’état dépend des boutons poussoirs et commutateurs décrits dans les pupitres. La sélection d’une de ces variables permet d’une part de savoir à quel élément de quel pupitre elle est attachée. Le bouton Pupitre permet d’entrer en édition du pupitre concerné, le bouton Elément donne accès à l’édition directe de l’élément du pupitre correspondant. On peut également éditer les entités de la description où elles interviennent par le bouton Eléments en aval. ___________________________________________________________________________ 5/14 Création des pupitres 5.8 5 Vérification de la cohérence Le contrôle de cohérence consiste à vérifier que les variables associées aux éléments des pupitres sont correctes, c’est-à-dire que d’une part les voyants et afficheurs sont commandés par des Sorties ou Relais et que d’autre part, les variables activées par les boutons poussoirs et commutateurs sont bien “ non définies ”. Si des variables sont activées par des boutons poussoirs ou commutateurs différents (ce qui est systématiquement le cas après duplication), cette anomalie est signalée. 5.9 Impression des pupitres Cette commande permet d’imprimer un pupitre sur l’imprimante par défaut de WINDOWS. SIMACTEL produit un document formé : • D’une copie de l’image du pupitre choisi, • D’une liste des éléments le constituant. Remarque : Avant de déclencher l’impression d’un pupitre, l’utilisateur devra s’assurer que ce pupitre peut être entièrement visualisé à l’écran. Dans le cas contraire, seule la partie affichée sera imprimée. Le logiciel SIMPRINT, dédié à la documentation des dossiers machine SIMACTEL, permet également d’imprimer les pupitres (cf. Chapitre 2 de l’intercalaire D). ___________________________________________________________________________ 5/15 B B ___________________________________________________________________________ 5/16 Chapitre 66 Création des synoptiques Création des synoptiques 6.1 Introduction Les synoptiques associés à une machine permettent de suivre l’évolution des variables et les mouvements des axes. Un synoptique se compose d’un fond de plan dans lequel on agence différents éléments graphiques, tous relatifs à des variables de la machine. Un des synoptiques figure dans la fenêtre principale de l’environnement de simulation. Par défaut c’est le premier des synoptiques par ordre alphabétique des titres. Ce synoptique particulier est désigné explicitement en ne lui attribuant pas de titre. ___________________________________________________________________________ 6/1 B 6.2 Création et édition des synoptiques Pour créer un synoptique, il faut lui donner un titre, qui pourra être modifié ultérieurement. B Un cas particulier est le titre vide : le synoptique ainsi désigné apparaîtra dans la fenêtre de simulation. Il figure en tête de la liste des synoptiques décrits sous la dénomination “ Fond de Plan ”. On passe ensuite en édition. En haut de l’écran apparaissent d’une part les boutons du choix du type de l’élément graphique (axes, variables, textes, décodeurs), d’autre part les boutons d’édition et de suppression d’un élément de la vue. ___________________________________________________________________________ 6/2 Création des synoptiques 6 6.2.1 Axes On choisit l’axe à représenter parmi les axes de la machine. Ensuite on précise les caractéristiques de l’axe : sa forme, son origine, sa taille, lesquelles vont jouer sur son aspect dans le synoptique. La forme est choisie parmi les icônes correspondantes. Celle-ci peut être verticale, horizontale ou circulaire. La position dans l’axe peut être représentée par une came se déplaçant le long de celui-ci. On peut choisir de représenter l’axe par un barre-graphe si la position y est considérée comme un niveau. Dans ce cas les capteurs sont symbolisés par des flèches. Le choix de l’origine de l’axe ( à gauche/à droite ou en haut/en bas ) détermine le “ 0 ” des coordonnées. Par exemple, un axe de forme horizontale dont l’origine est choisie à droite et dont la position initiale est 0 aura sa came dessinée à droite. La taille de l’axe est fixée par un coefficient de proportionnalité pris entre 0,5 et 5. Par défaut il est positionné à 1. Quand les choix du mode de représentation de l’axe sont définis, il est possible d’insérer celui-ci dans la vue avec la souris en cliquant à l’endroit où il doit être positionné. Le dernier axe créé (ou désigné à la souris) peut être déplacé à l’aide de la souris (en appuyant simultanément sur la touche “ ctrl ” du clavier). il peut être supprimé de la vue par l’appui sur le bouton Suppression. On peut aussi modifier sa taille (touche “ + ” pour l’augmenter, touche “ - ” pour la diminuer). ___________________________________________________________________________ 6/3 B • Représentation des capteurs associés à l’axe B Afin de ne pas surcharger la représentation de l’axe dans le synoptique, seuls apparaissent les capteurs intervenant dans les équations des entrées du bornier ou des relais de la tête de filerie. Les capteurs n’intervenant que dans les variables de modélisation sur les mouvements des axes sont considérés comme fictifs et ne sont donc pas représentés. Si l’on décrit le synoptique avant d’avoir configuré le bornier, les capteurs de l’axe n’apparaîtront pas dans la représentation. Ceci est notamment le cas si l’on veut faire une simulation interne au moyen d’un “ grafcet de mécanicien ”. Dans ce cas, dans l’environnement de simulation, les capteurs de l’axe intervenant dans les réceptivités des transitions du grafcet apparaîtront dans le synoptique : ces capteurs interviennent alors en effet dans des Entrées implicites. ___________________________________________________________________________ 6/4 Création des synoptiques 6 6.2.2 Variables Une variable de la machine peut être représentée à l’aide d’une icône du type “ bouton radio ” qui, en mode simulation, reflétera son état courant. Pour ajouter une variable, il faut d’abord sélectionner le bouton Variables si la fenêtre Variables de description n’est pas déjà visible. La partie droite de la fenêtre permet de sélectionner le type de variable parmi les entrées ou les sorties du bornier, les relais de la tête de filerie, les variables de modélisation de la partie mouvement, et les pièges. Ce choix se fait alors simplement en désignant celleci dans la liste affichée à l’aide de la souris, puis en désignant le point de l’écran où l’on veut voir apparaître cette variable (nom + icône). Si l’on sélectionne un axe représenté dans le synoptique en le cliquant avec la souris, ces variables sont restreintes à celles figurant dans les liens amont et aval de l’axe considéré. Pour revenir à l’ensemble des variables de la machine, il faut soit cliquer de nouveau la représentation de l’axe (ou d’un élément quelconque du synoptique) mais avec le bouton droit de la souris, ou cliquer dans une zone du synoptique où aucun élément n’est représenté. Il est possible de choisir une représentation verticale de la variable (case à cocher). De la même façon que pour les axes, la variable peut être déplacée à l’écran, ou supprimée. ___________________________________________________________________________ 6/5 B 6.2.3 Texte Des textes libres peuvent être disposés dans la vue en les positionnant avec la souris. Il est possible de les afficher verticalement (case à cocher). B ___________________________________________________________________________ 6/6 Création des synoptiques 6 6.2.4 Décodeurs De la même façon que dans les pupitres, des afficheurs hexadécimaux peuvent être disposés dans la vue. La valeur affichée est donnée par 4 bits, qui peuvent être des sorties ou des variables de la modélisation. ___________________________________________________________________________ 6/7 B 6.2.5 Lignes Des lignes fixes peuvent être ajoutées pour agrémenter les vues. B 6.2.6 Copier/Coller Un mécanisme de copier/coller est proposé : 1. choisir la partie du synoptique à copier, à l’aide du bouton gauche de la souris en encadrant la zone à copier, 2. cliquer sur le bouton Copier, 3. cliquer sur le bouton Coller puis cliquer sur la position désirée dans le synoptique. 6.2.7 Déplacement d’éléments Il est possible de déplacer des éléments de la vue soit en cliquant dessus et en bougeant la souris sans lâcher le bouton, soit en utilisant les flèches de direction du clavier (déplacement par pixels). 6.3 Impression des synoptiques Cette commande permet d’imprimer un synoptique sur l’imprimante par défaut de WINDOWS. Le document créé par SIMAC correspond à une simple recopie de l’image du synoptique sélectionné. Remarque : Avant de déclencher l’impression d’un synoptique, l’utilisateur devra s’assurer que ce synoptique peut être entièrement visualisé à l’écran. Dans le cas contraire, seule la partie affichée sera imprimée. Le logiciel SIMPRINT, générateur de dossier machine SIMAC, permet également d’imprimer les synoptiques (cf. Chapitre 2 de l’intercalaire D). ___________________________________________________________________________ 6/8 7 Création et utilisation deChapitre modèles 7 Création et utilisation de modèles 7.1 Présentation Une machine peut comporter des parties semblables, où un même sous-ensemble peut être commun à des machines différentes. Il est donc avantageux de pouvoir facilement recopier des “ modèles standards ”, en évitant une re-description laborieuse et source d’erreurs. D’autre part la sauvegarde du savoir-faire de description d’éléments ayant nécessité un effort particulier d’analyse peut s’avérer intéressante. Pour ces raisons la notion de “ modèle ” à été introduite dans l’interface de configuration de SIMACTEL. L’utilisation de cette fonctionnalité comporte deux aspects, d’une part la définition de modèles archivés dans une bibliothèque, et d’autre part l’incorporation d’un modèle dans la description d’une machine. Cette bibliothèque est commune à un projet XTEL. Les modèles définis dans une station sont accessibles à une autre station du même projet. 7.2 Définition des modèles Un modèle est constitué des mêmes composantes qu’une machine : axes, relayages, pupitres, synoptiques, à l’exception toutefois du bornier. Un bornier nécessite en effet que soit défini un type d’automate, alors qu’un modèle doit être général et ne pas dépendre d’un format particulier d’adressage. Un modèle peut cependant comporter la définition d’équations d’Entrées, la désignation de ces Entrées étant totalement libre. Un modèle ne comprend pas la définition explicite de Sorties, ces variables sont donc des “ variables indéfinies ” dans un modèle. Lors de l’incorporation du modèle dans une machine, ces variables pourront être identifiées à des Sorties définies dans le bornier de cette machine. Au cas où la nature du modèle impose que certaines des variables indéfinies du modèle soient obligatoirement identifiées à des Sorties, cette contrainte peut être intégrée dans la définition du modèle, comme nous le verrons ultérieurement. ___________________________________________________________________________ 7/1 B 7.2.1 Edition d’un modèle L’édition d’un modèle générique se fait par les mêmes interfaces que la description d’une machine. B On retrouve les mêmes fenêtres et l’enchaînement des commandes est conservé. La seule différence est la possibilité de commenter les variables de la description afin de garantir la lisibilité du modèle lors d’une utilisation ultérieure. De plus, un commentaire général peut être associé au modèle sous la forme d’un texte accessible par le bouton Commentaire apparaissant dans la fenêtre de sélection des modèles et dans la fenêtre de fond de l’interface de configuration quand on est en cours d’édition d’un modèle. Comme les autres entités formant la description d’un modèle, les “ variables indéfinies ” peuvent être commentées, au niveau de la fenêtre d’accès à ces variables. C’est également dans cette fenêtre que peut être introduite la contrainte imposant d’identifier certaines de ces variables à des Sorties. Ceci se fait en cochant la case Sortie, quand une variable indéfinie est sélectionnée. ___________________________________________________________________________ 7/2 Création et utilisation de modèles 7 7.2.2 Paramétrage Un modèle peut être paramétré, c’est-à-dire que notamment le nom des variables du modèle peut comporter un (ou plusieurs) paramètres. Un paramètre est désigné par le caractère “ $ ”, suivi ou non d’un entier entre 0 et 9. Outre le nom des variables, les paramètres peuvent intervenir dans le libellé des Axes et des pièges de description, dans les mnémoniques et commentaires des Entrées et également dans les titres et étiquettes des éléments de pupitre ainsi que dans les commentaires associés aux différentes positions des “ commutateurs à N positions ” (cf. Sous-chapitre 5.2 de cet intercalaire). Nous avons vu que l’on peut imposer, dans la définition d’un modèle, que certaines variables indéfinies soient identifiées à des Sorties lors de l’incorporation de ce modèle dans une machine. Si tel est le cas, le nom de la variable indéfinie dans le modèle et son commentaire deviendront les mnémoniques et commentaires de la Sortie du bornier de la machine (à condition toutefois que ceux-ci ne soient pas déjà définis, par exemple par la lecture d’un fichier FNES). Cette affectation a lieu après que les paramètres aient été substitués. Pour cette raison le commentaire associé à une variable indéfinie dans un modèle peut également être paramétré. Dans l’interface de description, on accède aux paramètres utilisés dans le modèle par le bouton Paramètres qu’on trouve dans la première fenêtre d’accès à chacune des composantes de la description. On peut à ce niveau commenter les paramètres et vérifier dans quelles entités de la description ils interviennent, ce qui permet de contrôler la cohérence du paramétrage. ___________________________________________________________________________ 7/3 B 7.2.3 Exemple de modèle Considérons le modèle d’un vérin piloté par un distributeur bistable. L’axe décrivant la course de ce vérin est l’axe “ Ax-1 ”, son libellé est “ Vérin $0 ”. B Les capteurs de début et fin de course sont respectivement Sq$00 et Sq$01. Le distributeur bistable a pour nom D$0. Les mouvements de sortie et rentrée sont respectivement SV$0 et RV$0, leurs équations sont D$0 et S$0. Le terme d’enclenchement du bistable D$0 est YV$01, son terme de déclenchement YV$00. Ces électrovannes ont pour équations : • YV$01 = Sortie-$0 . Alim-Elec • YV$00 = Rentrée-$0 . Alim-Elec Le rôle du paramètre (ici $0) est essentiellement de mettre en évidence dans la définition du modèle un lien existant entre les noms des différentes variables, lien qui sera propagé dans la machine où le modèle sera incorporé. Seules les variables significatives du modèle sont donc paramétrées. Dans l’exemple ci-dessus, il s’agit des capteurs, du bistable et des électrovannes. Le nom de l’axe lui-même n’est pas paramétré. Le modèle du vérin présente des variables indéfinies qui sont Sortie-$0, Rentrée-$0 et Alim-Elec. Cette dernière variable est une condition d’alimentation électrique des électrovannes pilotant le distributeur du vérin. Les deux autres variables pourront être identifiées à des Sorties indéfinies dans le bornier de la machine où ce modèle sera incorporé. ___________________________________________________________________________ 7/4 Création et utilisation de modèles 7 7.2.4 Définition d’un modèle à partir d’une machine C’est souvent après avoir décrit une machine particulière pour une application de simulation qu’apparaît l’intérêt de sauvegarder une partie de celle-ci sous la forme d’un modèle générique. Afin d’éviter de décrire ce qui à déjà été fait, il est possible d’extraire une partie d’une machine pour en faire un modèle réutilisable. Cette opération s’effectue en plusieurs étapes. • Transfert d’une machine en modèle Ceci consiste à recopier en tant que modèle les différents sous-ensembles constituant une machine : Axes, Relayage, Bornier et Pupitres. Cette fonctionnalité est accessible à partir du bouton Outils de l’interface de configuration. • Réduction du modèle A moins que la machine ait été décrite pour valider un modèle, par exemple au moyen d’une simulation locale, seuls certains éléments figurant dans la description de celleci formeront le modèle. Il faut donc éliminer une grande partie de la description afin d’en extraire le modèle que l’on souhaite conserver. Pour faciliter cette opération, des fonctionnalités de “ réduction ” sont disponibles dans l’interface de configuration des modèles. • Réduction des axes Le bouton Réduire de la fenêtre principale d’édition des axes d’un modèle permet de sélectionner les axes que l’on souhaite conserver dans le modèle. Les axes considérés sont sélectionnés dans la partie gauche de la fenêtre de réduction, ils apparaissent alors dans la partie droite de cette fenêtre. La réduction des axes entraîne l’élimination des axes non sélectionnés et des variables associées spécifiquement à ces axes. Sont donc conservées les variables figurant dans les liens amont/aval des axes sélectionnés d’une part, et les variables qui ne sont associées à aucun axe de la description d’autre part. Par défaut cette réduction est appliquée également au relayage et aux Entrées. Cette option peut être désélectionnée, dans ce cas la réduction n’est appliquée qu’aux variables décrites dans la partie Axes/Mouvements. ___________________________________________________________________________ 7/5 B • Réduction du relayage Cette réduction comporte deux aspects, selon que l’on considère l’alimentation générale ou les relais dédiés à la commande des actionneurs. B En ce qui concerne l’alimentation générale, la réduction consiste simplement à pouvoir la supprimer totalement. Pour les autres relais, la réduction permet de ne conserver que ceux d’entre eux qui sont liées aux Axes du modèle d’une part, ou en relation avec les pupitres d’autre part. On conserve ainsi les relais intervenant dans la commande des Axes ou affectés par leurs évolutions : ce sont ceux figurant dans les liens “ amont ” et “ aval ”. Sont également conservés les relais ou interviennent des variables activées par les boutons poussoirs et commutateurs ou participant à la commande des voyants et afficheurs. • Réduction des entrées Ceci consiste à éliminer les Entrées qui ne sont pas connectées à des éléments de la description : on supprime les Entrées dans les équations desquelles n’interviennent que des relais de “ l’Alimentation générale ” ou des variables “ indéfinies ” non utilisées par ailleurs dans la description. Les fonctionnalités de réduction permettent de “ dégrossir ” rapidement un sousensemble extrait d’une machine. Afin que ce sous-ensemble puisse être archivé comme modèle réutilisable, des variables devront encore probablement être éliminées. Les variables conservées pourront être commentées et éventuellement paramétrées en recourant à la fonction Renommer. ___________________________________________________________________________ 7/6 Création et utilisation de modèles 7.3 7 Incorporation d’un modèle L’incorporation d’un modèle générique peut avoir lieu à tout moment au cours de l’édition d’une machine. Cependant, dans le cas où le modèle comprend la définition d’Entrées ou si certaines variables indéfinies y figurant doivent être identifiées à des Sorties, il est nécessaire que le bornier d’Entrées/Sorties de la machine ait été préalablement configuré. Pour incorporer un modèle dans la description d’une machine, il faut, après avoir sélectionné le modèle désiré dans la fenêtre de gestion des modèles, cliquer le bouton Instancier. Avant que le modèle puisse être inclus dans la machine, un certain nombre d’opérations doivent être effectuées au moyen de fenêtres spécifiques. Ces fenêtres sont activées automatiquement dès que le modèle est chargé en mémoire. Le processus peut être interrompu, le bouton Adapter se trouvant en bas à gauche de la fenêtre principale d’incorporation de modèle permet de le réactiver. Dès que le modèle peut être inclus dans la machine, ce bouton est remplacé par le bouton Incorporer. Les différentes phases devant nécessairement être accomplies avant l’incorporation d’un modèle sont la résolution des collisions, la valuation des paramètres et l’identification des Entrées. ___________________________________________________________________________ 7/7 B 7.3.1 Résolution des collisions B Les “ collisions ” correspondent à des incompatibilités entre le modèle et la Machine où l’on souhaite l’incorporer, dues à l’existence de variables définies de même nom dans le modèle et la Machine. La fenêtre Résolution des collisions est la première à être automatiquement activée lors de l’incorporation d’un modèle, au cas où des collisions existent bien sûr. Prenons l’exemple du modèle du vérin décrit précédemment. L’axe décrivant la course du vérin est l’axe “ Ax-1 ”. Si un axe “ Ax-1 ” est déjà défini dans la machine où l’on souhaite incorporer ce modèle, une collision est signalée. La résolution de la collision consiste à changer le nom de la variable du modèle impliquée, soit le numéro de l’axe dans le cas du vérin. ___________________________________________________________________________ 7/8 Création et utilisation de modèles 7 7.3.2 Valuation des paramètres Si des paramètres ont été utilisés dans la définition du modèle à incorporer, il faut leur donner une valeur permettant “ l’instanciation ” de ce modèle. Les paramètres sont présentés dans la partie gauche de la fenêtre. La sélection d’un paramètre fait apparaître les éléments du modèle dans lesquels il intervient. La valeur à affecter à un paramètre est saisie dans un éditeur et validée par “ retour chariot ”. Seules les valeurs n’introduisant pas de collisions sont autorisées. ___________________________________________________________________________ 7/9 B 7.3.3 Identification des entrées; B Si des Entrées sont définies dans le modèle et que leur adresse n’est pas conforme à la configuration du bornier de la machine, ou que ces adresses sont déjà affectées, la phase suivante nécessaire à l’adaptation du modèle est “ l’identification des Entrées ”. Celle-ci consiste à identifier les Entrées du modèle à des adresses non affectées du bornier de la machine. A ce niveau il est également possible de visualiser les Entrées du modèle, c’est-à-dire visualiser les équations, mnémoniques et commentaires. 7.3.4 Variables indéfinies Un modèle peut naturellement comporter des “ variables indéfinies ”, représentant des conditions externes à ce modèle. Un modèle étant destiné à être incorporé dans une machine, ces variables indéfinies peuvent correspondre à des variables existant dans la machine. Par exemple, dans le cas du modèle de vérin, la variable “ Alim-Elec ” intervenant dans les équations des électrovannes représente une condition d’alimentation électrique. Quand ce modèle est incorporé dans une machine, il se peut que cette condition soit définie dans la partie “ Alimentation ” de la tête de filerie de cette machine. Le bouton “ Identifier ” de la fenêtre d’accès aux variables indéfinies du modèle permet de sélectionner la variable de la machine à laquelle on souhaite identifier une de ces variables. Le bouton “ Renommer ” permet de changer le nom d’une variable indéfinie du modèle. Si une identification existe avec une variable de la machine, le type de la variable concernée est signalé. ___________________________________________________________________________ 7/10 Création et utilisation de modèles 7 Remarques : Les variables paramétrées, c’est-à-dire dont le nom comporte un paramètre, ne peuvent être renommées. En effet, on considère que la forme du nom d’une variable paramétré est une contrainte du modèle et ne peut donc être modifiée. Pour la même raison, ces variables ne peuvent être identifiées à des variables de la machine : cette identification ne peut être qu’implicite, due à la valuation des paramètres. Cependant on accepte qu’une variable indéfinie paramétrée soit identifiée à une Sortie définie dans le bornier de la machine. Dans ce cas le nom de la variable indéfinie dans le modèle deviendra le mnémonique de la Sortie et son commentaire le commentaire de cette sortie. • les variables indéfinies du modèle qui ont été désignées comme devant être identifiées à des Sorties doivent l’être nécessairement, afin que le modèle puisse être incorporé à la machine. • la possibilité d’identifier une variable externe du modèle à une variable définie de la machine vaut également pour les variables numériques. ___________________________________________________________________________ 7/11 B 7.3.5 Accès à la description du modèle B Les boutons Relayage, Pupitres, Mouvements et Pièges permettent d’accéder aux différentes composantes du modèle que l’on incorpore. On peut ainsi d’une part visualiser les éléments constituant le modèle et d’autre part changer le nom des variables de celui-ci, à condition toutefois qu’elles ne soient pas paramétrées. • Cas particulier des pupitres Un pupitre est constitué, d’une part, d’éléments agissant sur l’état de variables : il s’agit des boutons poussoirs et des différents types de commutateurs et d’autre part de voyants et afficheurs reflétant l’état de variables. La définition d’un pupitre est dite cohérente si, notamment, les variables activées sont utilisées, par exemple dans le relayage ou les Entrées, et si les variables commandant les voyants et les afficheurs sont bien des Sorties ou des relais. La description d’un pupitre dans un modèle peut être cohérente. Pour cela il faut que ce pupitre soit accompagné de la description d’un relayage et/ou d’équations d’Entrées où sont définies et utilisées les variables intervenant dans les éléments de ce pupitre. Si par contre le modèle n’est constitué que d’un pupitre, il est forcément “ non cohérent ”. Cette cohérence peut être vérifiée dans la fenêtre Pupitres lors de l’incorporation d’un modèle, au moyen du bouton Cohérence des variables. Si la cohérence n’est pas respectée, les variables concernées sont présentées. Il s’agit donc d’une part des variables intervenant dans les voyants et afficheurs qui ne sont ni des Sorties ni des relais ( du modèle ou de la Machine ) et d’autre part des variables commandées par les boutons-poussoirs et commutateurs et qui ne sont pas utilisées. Les variables du premier type peuvent être identifiées à des Relais ou Sorties définies dans la machine. Celles du second type peuvent être identifiées à des variables indéfinies. Cette identification explicite n’est possible que pour des variables non paramétrées. ___________________________________________________________________________ 7/12 Création et utilisation de modèles 7.4 7 Trace des instanciations Une trace des instanciations de modèles dans une machine est conservée. On accède à cette trace par le bouton Outils de l’interface de configuration. La liste des noms des différents modèles incorporés est présentée, avec le nombre d’instances correspondant. Si on sélectionne un des noms de modèle dans la liste de gauche, la valeur donnée aux paramètres pour la première instance de ce modèle est présentée. Les variables de la machine correspondant à cette instance sont affichées à droite. Si plusieurs instances existent pour le modèle sélectionné, on peut les visualiser au moyen des flèches se trouvant à droite du numéro de l’instance affichée dans la partie centrale de la fenêtre. Les valeurs données aux paramètres et les variables correspondantes sont présentées. On peut également accéder à une instance particulière d’un modèle en sélectionnant les valeurs qui ont été données aux paramètres du modèle lors de l’incorporation dans la machine. Pour ce faire, il faut cliquer, dans la partie centrale de la fenêtre, le paramètre dont on veut sélectionner la valeur. Apparaît alors l’ensemble des valeurs prises par ce paramètre compte tenu des valeurs qui ont été sélectionnées pour les paramètres précédents. Si on sélectionne l’une de ces valeurs, la première instance pour laquelle le paramètre correspondant a cette valeur est visualisée. Quand une instance est sélectionnée, les variables correspondantes sont affichées dans la partie droite de la fenêtre. Ces variables peuvent être éditées et on peut également changer leur nom. Si on édite une de ces variables, les boutons Précédent et Suivant de la fenêtre d’édition correspondante permettent de se déplacer dans l’ensemble des variables de la machine issue de la même variable du modèle. Ceci permet de faciliter une correction à posteriori des instances d’un modèle. Le bouton Supprimer se trouvant dans la liste des modèles présents dans la machine permet de retirer toutes les instances de ce modèle de la description de la machine. Le bouton Supprimer l’instance permet de ne retirer de la machine que l’instance sélectionnée. ___________________________________________________________________________ 7/13 B B ___________________________________________________________________________ 7/14 SIMULATION Sommaire Intercalaire C Chapitre 1 2 Page Présentation 1/1 1.1 Simulation par événements 1/1 1.2 Échange des E/S entre partie commande et partie opérative 1.2.1 Dialogue PC-PO en Simulation Interne 1.2.2 Echange d’Entrées/Sorties avec un automate 1.2.3 Problème des Temporisations 1.2.4 Contrôle de l’évolution des Sorties pendant la simulation 1/2 1/2 1/2 1/3 1/5 Environnement de simulation 2/1 2.1 Fenêtre de fond de l’environnement de simulation 2/1 2.2 Actions sur les pupitres et les variables externes 2.2.1 Variables externes 2.2.2 Pupitres 2.2.3 Notion de “ contexte ” 2.2.4 Notion de “ scénario ” 2/3 2/3 2/5 2/7 2/8 2.3 Outils de visualisation 2.3.1 Pages dynamiques 2.3.2 Les synoptiques 2/8 2/9 2/11 2.4 Forçage des variables de modélisation 2/13 2.5 Examen ou l’analyse des situations 2.5.1 Variables dont l’état est déterminé par une expression booléenne 2.5.2 Mouvements 2.5.3 Capteurs 2/14 2/15 2/16 2/17 ___________________________________________________________________________ C/1 C SIMULATION Chapitre Sommaire Intercalaire C Page 2.6 Pièges d’exploitation 2.6.1 Caractérisation d’un piège 2.6.2 Evaluation des pièges 2.6.3 Action des pièges 2/17 2/18 2/18 2/19 2.7 Les défauts 2.7.1 Collages et forçages 2.7.2 Rebonds sur les capteurs 2.7.3 Remarques 2/20 2/21 2/22 2/23 2.8 Les scénarios 2.8.1 Séquences d’actions sur les Pupitres et les variables externes 2.8.2 Edition d’un scénario 2.8.3 Notion d’attente 2.8.4 Vérifications de réactions 2/23 2/24 Initialisation 2/32 C 2.9 3 2/26 2/27 2/29 2.10 Sauvegarde et Restitution d’état machine 2/33 2.11 Description 2/34 Mode Local 3/1 3.1 Présentation 3/1 3.2 Création des grafcets mécaniciens 3.2.1 Syntaxe 3.2.2 Interface d’édition des grafcets 3.2.3 Impression des grafcets 3/2 3/2 3/5 3/11 3.3 Animation en mode local 3/12 ___________________________________________________________________________ C/2 SIMULATION Chapitre 4 Sommaire Intercalaire C Page Mode connecté 4/1 4.1 Principe d’échange Automate / SIMACTEL 4.1.1 Introduction 4.1.2 Principe de base 4.1.3 Mécanisme des échanges 4/1 4/1 4/2 4/3 4.2 Mise en œuvre 4.2.1 Mise en œuvre matérielle 4.2.2 Simulation des modules d’E/S 4/4 4/4 4/5 4.3 Configuration de l’OFB de simulation 4.3.1 Principe de chargement de l’OFB 4.3.2 Réglage de l’OFB 4.3.3 Fonctionnement de l’OFB de simulation 4/6 4/6 4/7 4/8 4.4 Le serveur de communication 4.4.1 Fonction 4.4.2 Paramètres de communication 4.4.3 Les commandes de l’interface 4/9 4/9 4/9 4/9 4.5 Le menu Visualisation 4.5.1 Commande Historique 4.5.2 Commande E/S en Bac 4.5.3 Commande E/S Déportées 4.5.4 Commande Fermer 4/10 4/10 4/11 4/13 4/13 4.6 Le menu Historique 4.6.1 Commande Editer 4.6.2 Commande Configurer 4.6.3 Commande Mnémoniques 4/14 4/14 4/14 4/15 4.7 Le menu Synoptique 4.7.1 Commande Précédent 4.7.2 Commande Suivant 4/16 4/16 4/16 ___________________________________________________________________________ C/3 C SIMULATION Sommaire Intercalaire C Chapitre Page 4.8 Le menu Fenêtre 4.8.1 Commande Nouvelle Fenêtre 4.8.2 Commande Cascade 4.8.3 Commande Mosaïque 4.8.4 Commande Réorganiser les icônes 4.8.5 Commande 1 2 ... 4/17 4/17 4/17 4/17 4/17 4/17 4.9 Le menu ? 4.9.1 Commande Index 4.9.2 Commande Utiliser l’aide 4.9.3 Commande A propos de ... 4/18 4/18 4/18 4/18 C 4.10 Divers 4.10.1 4.10.2 4.10.3 4.10.4 La Barre d’outils La Barre d’information Commande d’aide contextuelle La Barre de titre 4/19 4/19 4/20 4/20 4/20 ___________________________________________________________________________ C/4 Chapitre 11 Présentation Présentation 1.1 Simulation par événements Les aspects logiques et séquentiels sont prépondérants dans le fonctionnement des systèmes pilotés par automate programmable, par opposition aux procédés continus que l’on rencontre dans l’industrie chimique par exemple. Ceci permet de décrire l’évolution d’un automatisme comme une suite d’événements “ discrets ”. Les événements sont en particulier les changements d’état des Entrées/Sorties assurant le dialogue entre la Partie Commande et la Partie Opérative du système automatisé. Afin d’exploiter cette caractéristique des automatismes industriels, le système SIMACTEL a été conçu selon le principe de la “ Simulation par Événements ”. C’est-à-dire que l’on ne cherche pas à reproduire les temps réels d’évolutions de la machine, mais l’on va restituer la progression datée des situations logiques successives. En fonction des Sorties émises par la Partie Commande, le modèle de la machine permet de déterminer quelles Entrées vont évoluer et à quelles dates. On peut ainsi envoyer ces Entrées à l’automate dans le même ordre chronologique que dans la réalité d’une part et faire évoluer le temps machine (ou “ Date de Simulation ”) d’autre part. L’évolution de la simulation étant indépendante du temps réel des mouvements de la machine, la Simulation sera dans la plupart des cas “ accélérée ” par rapport à la réalité. Pour des évolutions machine très rapides, elle pourra par contre être plus lente. ___________________________________________________________________________ 1/1 C 1.2 Échange des Entrées/Sorties entre partie commande et partie opérative Le principe de la Simulation par Événements appliqué dans SIMACTEL consiste à prévoir l’évolution des Entrées en fonction de l’état des Sorties, à l’aide d’un modèle de la Partie Opérative. Pour que cette extrapolation soit correcte, elle doit être faite sur la base d’un état stable des Sorties. Sinon un écart temporel minime, de l’ordre du temps de cycle API, entre l’apparition de Sorties pourrait être la cause d’un écart beaucoup plus important au niveau des événements engendrés, si ces Sorties n’étaient pas traitées simultanément. C De la même façon, il ne serait pas correct de propager dans le modèle de la machine l’activation transitoire d’une Sortie pendant un temps de cycle : en raison de l’inertie des actionneurs, cette sortie n’aurait pas d’effet sur la machine dans la réalité. 1.2.1 Dialogue PC-PO en Simulation Interne SIMACTEL offre la possibilité de vérifier le modèle de la machine à simuler en pilotant celle-ci à l’aide d’un grafcet mécanicien : c’est la “ Simulation Interne ”. Cette simulation est réalisée en respectant la norme du grafcet. En particulier l’exécution du grafcet est effectuée avec recherche de stabilité lors d’un changement d’état des Entrées : seul l’état final, et donc stable, des Sorties est perçu par le modèle de la machine simulée. 1.2.2 Echange d’Entrées/Sorties avec un automate La communication entre le Simulateur se trouvant sur une FTX ou un compatible PC et l’API est réalisée au moyen d’un OFB, qui simule la présence des cartes d’Entrées/ Sorties dans le rack de l’automate. Nous avons vu que, pour que la simulation s’effectue correctement, la prédiction des évolutions d’Entrées doit se faire en fonction d’un état stable des Sorties. Aussi le dialogue se passe-t-il de la façon suivante. Chaque fois que le simulateur envoie des Entrées à l’OFB, celui-ci les fournit à l’automate, et recueille les évolutions de Sorties résultant de la réaction du programme automate, pendant un temps correspondant à quelques cycles. S’il n’y a pas de temporisations dans l’automate ou si leur effet a été corrigé selon les principes qui seront précisés ultérieurement, ce temps permet au programme de l’API d’évoluer et de présenter un état stable des Sorties. Les Sorties recueillies sont ___________________________________________________________________________ 1/2 Présentation 1 envoyées au simulateur qui peut alors poursuivre son traitement. Si des Sorties continuent à évoluer, elles sont mémorisées par l’OFB qui les fournira au simulateur lorsque celui-ci enverra les changements d’état d’Entrées suivants. 1.2.3 Problème des Temporisations Nous avons vu que le dialogue entre le simulateur et l’automate programmable repose sur l’hypothèse que, lorsque l’API perçoit un changement d’état d’Entrées, les Sorties qu’il fait évoluer atteignent un état stable après quelques cycles d’exécution de son programme. Cependant l’utilisation de temporisations dans le programme de l’automate peut mettre en défaut cette hypothèse. On peut distinguer différents usages des temporisations : • certaines sont utilisées pour effectuer des actions en “ boucle ouverte ”, n’engendrant pas de compte-rendu de la Partie Opérative. C’est le cas par exemple des fonctions auxiliaires telles que le clignotement des voyants ou l’arrosage. Ces temporisations n’engendrent pas de problème dans le dialogue, si ce n’est que la période de clignotement ne doit pas être trop petite afin que les états actifs/inactifs de la Sortie impliquée soient perçus correctement. • Des temporisations peuvent également être employées pour générer des créneaux de Sortie de durée suffisante pour vaincre l’inertie d’un préactionneur, tel qu’un distributeur. L’émission de ces commandes impulsionnelles peut de plus être retardée par rapport à la réception des Entrées par l’automate. Le problème est alors d’éviter que ces Sorties soient filtrées par le dialogue entre le simulateur et l’automate. ___________________________________________________________________________ 1/3 C En effet, si l’échange d’Entrées/Sorties se passe de façon telle que les fronts montant et descendant d’une Sortie impulsionnelle soient émis par l’OFB dans le même groupe de Sorties, le passage temporaire à l’état actif de la Sortie concernée ne sera pas pris en compte et n’aura donc pas l’effet escompté sur la Partie Opérative simulée. Pour remédier à ce problème, il faut que l’impulsion ne se produise pas entre deux échanges d’Entrées/Sorties successifs, ce qui peut se passer si le passage à 1 de la Sortie est retardée par rapport à la réception des Entrées. Il faudrait donc en fait que la durée de l’impulsion soit plus importante que l’intervalle de temps séparant deux échanges d’Entrées/Sorties. C Comme ce temps dépend du traitement effectué par le simulateur et peut donc être très variable, il est en pratique plus judicieux d’annuler le retard éventuel entre la réception des Entrées et l’émission des Sorties en modifiant les temporisations du programme de l’automate. • Enfin un dernier usage des temporisations est la surveillance des évolutions de la Partie Opérative. Elles sont utilisées en tant que “ chien de garde ” de mouvements ou de parties de cycle, permettant de détecter des collages à 0 de capteurs ou des blocages d’actionneurs par exemple. Bien qu’en général la simulation soit “ accélérée ” par rapport à la machine réelle, il peut arriver, pour certains mouvements rapides, que le simulateur soit plus lent que la réalité. Il vaut donc mieux, dans un premier temps, majorer la valeur de ces temporisations en “ chien de garde ”. On pourra alors valider la partie séquentielle du programme d’animation indépendamment des aspects temporels de la surveillance. La vérification du bon fonctionnement des temporisations de surveillance pourra ensuite être réalisée en ajustant leur valeur en fonction du temps de réponse effectif du simulateur. ___________________________________________________________________________ 1/4 Présentation 1 1.2.4 Contrôle de l’évolution des Sorties pendant la simulation Nous avons vu que l’échange d’E/S entre le simulateur et l’API repose sur l’hypothèse que lorsque le simulateur envoie un changement d’état d’Entrées à l’automate, celui-ci présente un état stable de ses Sorties au bout de quelques cycles. Pour que la simulation se déroule correctement, il faut donc que d’une part le “ chien de garde ” de l’OFB soit ajusté correctement et que d’autre part les temporisations du programme de l’automate soient modifiées comme il est prescrit au paragraphe précédent de ce chapitre. Après chaque écriture d’Entrées, l’OFB regroupe les changements d’état de Sorties apparaissant pendant un certain nombre de cycles et les envoie au simulateur. Si le chien de garde de l’OFB est trop court ou si des temporisations n’ont pas été modifiées convenablement, des Sorties sont susceptibles d’évoluer au-delà de ce temps d’attente : elles seront transmises au simulateur lors de l’échange d’E/S suivant. Cependant le simulateur a pu faire évoluer le modèle de la machine de façon incorrecte compte tenu de la réponse effective de l’API qui n’a pas été reçue à temps. Par exemple, le simulateur envoie à l’API une Entrée l’informant de l’arrivée d’un Axe sur une position intermédiaire, l’automate répond par la retombée d’une Sortie devant provoquer l’arrêt du mouvement. Si le “ chien de garde ” de l’OFB est trop court, le passage à 0 de cette Sortie peut ne pas être reçu lors de l’envoi de l’Entrée mais lors de l’échange suivant : le simulateur aura alors fait évoluer l’axe hors de la position d’arrêt prévue, entraînant ainsi une incohérence dans le déroulement de la simulation. Ces sorties sont identifiées dans l’historique du serveur par une lettre «a» entre parenthèses. Un autre problème pouvant survenir en cours de simulation est l’émission d’impulsions de durée trop courte de la part de l’automate. Ceci peut se produire si la temporisation contrôlant l’impulsion n’a pas une durée suffisante par rapport au temps pendant lequel l’OFB regroupe les évolutions de Sorties. Dans ce cas, les fronts montant et descendant de la Sortie sont reçus dans le même paquet de Sorties et le passage temporaire à l’état actif n’est pas pris en compte par le simulateur. ___________________________________________________________________________ 1/5 C C ___________________________________________________________________________ 1/6 Chapitre 22 Environnement de simulation Environnement de simulation 2.1 Fenêtre de fond de l’environnement de simulation La fenêtre principale de l’environnement de simulation comporte trois zones. Le bandeau regroupe les différentes commandes utilisables en simulation. La zone se trouvant sous ce bandeau est divisée en trois parties, dédiés respectivement aux modes de marche, à l’affichage de la date et au choix de la période, et enfin à l’indication de l’état de la simulation. Le bas de la fenêtre est réservé à la visualisation du synoptique de fond de la machine simulée. Les modes de marche du simulateur sont Pas à Pas, Périodique et Continu. Ils sont sélectionnés grâce aux cases à cocher correspondantes. - En mode Pas à Pas, la simulation est interrompue à chaque changement d’état des sorties. - Le mode Périodique permet d’arrêter la simulation en fonction d’un pas de temps machine. La valeur de ce pas est saisie au moyen d’une boîte de dialogue ouverte en cliquant le bouton Période. Cette fenêtre apparait automatiquement si l’on sélectionne le mode périodique alors que la période n’est pas définie. C - Le mode Continu correspond à la non sélection des modes Pas à Pas ou Périodique : la simulation se déroule sans interruption tant qu’il y a des mouvements actifs. Si l’on est en mode périodique et que l’on sélectionne le mode continu, la période qui était saisie est perdue. Par contre, si l’on désélectionne le mode périodique, la période est conservée. Dans la partie centrale de la zone située sous le bandeau est affichée la Date de simulation. Par défaut celle-ci progresse en fonction des événements engendrés par l’évolution du modèle de la partie opérative. Pour des process relativement lents, cette “ avance du temps ” peut-être beaucoup plus rapide que la réalité. Le temps "réel" au rythme duquel s'effectue la simulation dépend en effet de la quantité de calculs à effectuer et non des temps des mouvements définis en configuration du modèle. Une possibilité de ralentir la simulation est de définir une période de faible valeur par le bouton Période. Un autre moyen est de sélectionner le Mode temporisé, en cochant la case se trouvant sous la date. Ceci permet de synchroniser, dans la mesure du possible, l’évolution de la date de simulation avec l’horloge du PC. C'es-à-dire que la date de simulation ne progresse dans ce cas pas plus vite que le temps "réel". Ceci n'est réalisable que si les calculs à effectuer - et les échanges avec l'automate - ne sont pas trop importants. Un signe "+" apparaît à gauche de la commande "mode temporisé" si ceci est le cas. La partie droite de la fenêtre informe de l’état de la simulation. Quand aucun mouvement ne se produit, le texte Blocage y est affiché sur fond noir. En cours de simulation, le bouton Interruption permet d’interrompre l’évolution du modèle, donc de la date. Quand la simulation est arrêtée - par exemple sur apparition d’une sortie alors que le mode Pas à Pas est sélectionné - le bouton Relance permet de reprendre le cours de celle-ci. Un état particulier de SIMACTEL est l’Interruption sur Problème Modèle. Ceci se ___________________________________________________________________________ 2/1 H produit quand une incohérence dans la modélisation interdit la poursuite de la simulation. Les causes possibles sont précisées en Annexe dans la rubrique Messages d’erreur (Cf. Chapitre 2 de l’intercalaire F). Le tableau ci-après renvoie, pour chacune des commandes de l’environnement de simulation, aux chapitres de la documentation les concernant. commandes de l’environnement de simulation : C Pupitres cf. Sous-chapitre 2.2 de cet intercalaire. Externes cf. Sous-Chapitre 2.2 de cet intercalaire. Contextes cf. Sous-chapitre 2.2 de cet intercalaire. Synoptiques cf. Sous-chapitre 2.3 de cet intercalaire. Outils Evolutions Ouvre une fenêtre affichant les échanges d’E/S. Echéancier Ouvre une fenêtre affichant l’échéancier de SIMACTEL. Examen cf. Sous-chapitre 2.5 de cet intercalaire. Pages cf. Sous-chapitre 2.3 de cet intercalaire. Pièges cf. Sous-chapitre 2.6 de cet intercalaire. Forçages cf. Sous-chapitre 2.4 de cet intercalaire. Description cf. Sous-chapitre 2.10 de cet intercalaire. Défauts cf. Sous-chapitre 2.7 de cet intercalaire. Scénarios cf. Sous-chapitre 2.8 de cet intercalaire. Trace cf. Chapitre 3 de l’intercalaire D. Aide Ouvre l’aide en ligne de la partie simulation. Initialisation Ré-initialise la simulation en proposant un contexte (cf. Sous-chapitre 2.2 de cet intercalaire). Fin Quitte la simulation en demande si on souhaite sauvegarder l’état machine. Cf. Sous-chapitre 2.10 de cet intercalaire. ___________________________________________________________________________ 2/2 Environnement de simulation 2 C 2.2 Actions sur les pupitres et les variables externes 2.2.1 Variables externes Sous le nom de “ variables externes ” on trouve les termes intervenant dans des équations du modèle et dont l’origine n’est pas spécifiée (les variables indéfinies de la partie description). Il s’agit généralement de variables représentant des conditions d’alimentation en énergie, des capteurs non activés par des axes tels que les sécurités ou encore des présences de pièces en entrée d’une machine. Par la création d’Entrées implicites rentrent également dans cette catégorie les variables internes du grafcet qui ne sont pas gérées : on peut ainsi les forcer. Enfin nous avons vu que les Sorties intervenant dans le modèle et qui ne sont pas commandées par le grafcet en simulation interne passent en “ variables externes ”. Le bouton Externes en haut à gauche de l’écran de simulation fait apparaître une fenêtre permettant de modifier l’état de ces variables. Les variables externes sont présentées dans la partie gauche de cette fenêtre avec leur état logique. Si l’on sélectionne une de ces variables dans la liste de gauche, elle passe dans la partie droite de la fenêtre. ___________________________________________________________________________ 2/3 H On peut retirer la variable de la partie droite en la cliquant de la même façon. Un autre moyen de sélectionner une variable pour en modifier l’état est de la taper dans l’éditeur présent dans la fenêtre; si le nom saisi n’est pas celui d’une variable externe, la liste présentée dans la partie gauche de la fenêtre est défilée de façon à ce que la première variable externe de rang alphabétique supérieur à celui du nom tapé apparaisse au début de la zone présentée. Le bouton Valider permet d’envoyer les changements d’états sélectionnés au simulateur. C ___________________________________________________________________________ 2/4 Environnement de simulation 2 2.2.2 Pupitres Dans l’environnement d’exploitation du simulateur, les pupitres apparaissent sous la forme de fenêtres que l’on peut positionner à sa guise. L’action sur les éléments composant ces pupitres se fait à l’aide de la souris selon des modalités que nous allons préciser. • Manipulation des pupitres Si des pupitres ont été décrits, le bouton Pupitres en haut à gauche de la fenêtre de simulation fait apparaître un menu permettant de choisir le pupitre que l’on veut afficher. L’item Tous active en une seule commande l’ensemble des pupitres configurés. Les pupitres sélectionnés sont disposés à l’endroit où ils avaient été positionnés lors de la dernière simulation. Par défaut ils apparaissent dans la partie inférieure droite de l’écran. C Le bouton Fin en haut à droite d’un pupitre permet de le retirer de l’écran. • Actions sur les éléments des pupitres Les pupitres sont composés d’une part d’éléments tels que les voyants et afficheurs hexadécimaux permettant la signalisation d’informations et d’autre part de boutonspoussoirs et commutateurs destinés à la conduite du système automatisé. L’action de l’opérateur portera donc sur ces derniers éléments. • Boutons-poussoirs L’utilisation courante d’un bouton poussoir est la génération d’une impulsion à destination de la Partie Commande du système automatisé. Ceci est réalisé simplement dans SIMACTEL en cliquant le bouton-poussoir à l’aide de la souris. Le bouton du pupitre reste alors enfoncé tant que l’on appuie sur le bouton de la souris. Le bouton-poussoir retourne de lui même à l’état de repos dès que l’on relâche la souris. Le bouton-poussoir à accrochage est un type particulier de bouton qui reste enfoncé quand on appuie dessus : c’est le cas par exemple des boutons d’arrêt d’urgence qui nécessitent parfois l’utilisation d’une clé pour être relâchés. Ce type de bouton existe dans SIMACTEL : un clic de la souris les enclenche, et il faut une commande spéciale pour les relâcher. Ce relâchement peut être obtenu de deux façons différentes. D’une part en cliquant la commande Relâchement en haut du pupitre : celle-ci passe alors en inverse vidéo et un clic sur le bouton concerné permet de le relâcher. D’autre part le relâchement d’un bouton peut être obtenu en maintenant enfoncée la touche <Ctrl> du clavier et en cliquant le bouton. Il est possible de réaliser des appuis maintenus de boutons-poussoirs. Ceci peut être utile pour activer simultanément plusieurs boutons-poussoirs ou pour sélectionner une fonction du simulateur par la souris tout en maintenant un bouton appuyé. ___________________________________________________________________________ 2/5 H Comme pour le relâchement, il y a deux façons de maintenir enfoncé un boutonpoussoir : • une première façon est de cliquer la commande impulsion en haut du pupitre : celleci est alors remplacée par l’indication maintien. Si l’on clique sur un bouton-poussoir celui-ci passera dans l’état maintenu qui est signalé par le dessin d’un doigt sur le bouton considéré, • un autre moyen de réaliser cette fonction est de cliquer sur le bouton concerné tout en appuyant la touche <Shift> du clavier. C Le relâchement d’un bouton-poussoir maintenu se fait, comme pour les boutons à accrochage, au moyen de la commande relâchement du pupitre ou par l’action combinée de la touche <Ctrl> et du clic de la souris. • Commutateurs Dans SIMACTEL sont disponibles des commutateurs à 2, 3 ou n positions. Le positionnement des commutateurs se fait au moyen des boutons gauche et droit de la souris. Les commutateurs à 2 et 3 positions peuvent être munis d’une fonction de rappel automatique pour certaines positions : par exemple la position gauche pour un commutateur à 2 positions. Dans ce cas celle-ci est indiquée par une flèche et le commutateur se comporte comme un bouton poussoir pour cette position : un clic de la souris permet d’engendrer une impulsion suivie d’un retour en position de repos, c’està-dire la position gauche pour le commutateur à 2 positions ou la position centrale pour les 3 positions. De la même façon que pour les boutons-poussoirs, on peut maintenir un commutateur dans une position de rappel : la flèche indiquant le retour automatique n’apparaît plus. • Roues codeuses La position sélectionnée est incrémentée en cliquant la case marquée “ + ”, et décrémentée en agissant sur la case marquée “ - ”. • Analyse de l’état des voyants et des afficheurs Il est possible “ d’interroger ” ces composants des pupitres sur la raison de leur état. On peut savoir pourquoi un voyant est éteint (ou allumé) ou en fonction de quelles variables est affichée la valeur numérique dans un décodeur hexadécimal. Pour cela il faut positionner le curseur de la souris au niveau de l’élément considéré et cliquer simultanément les boutons gauche et droit. Pour un voyant, on aura un “ examen ” de la variable le commandant, dans le cas d’un afficheur hexadécimal l’état des 4 bits de donnée et de la variable de validation éventuelle sera affiché. ___________________________________________________________________________ 2/6 Environnement de simulation 2 Remarque : Pour “ interroger ” un bouton poussoir à voyant, il faut joindre aux clics des 2 boutons de la souris l’appui sur la touche <Ctrl> du clavier pour éviter d’actionner la fonction bouton de cet élément. 2.2.3 Notion de “ contexte ” Nous venons de voir comment manipuler les pupitres et agir sur les variables externes. La fonction contexte, accessible par le bouton se trouvant en haut de la fenêtre de simulation permet de sauvegarder un état courant des pupitres et variables externes : on peut ensuite restaurer le contexte enregistré chaque fois que l’on procède à une Initialisation de la simulation. C En cours de simulation, on peut utiliser cette fonction pour vérifier l’état dans lequel se trouvent les pupitres et variables externes : en sélectionnant un contexte dans la fenêtre permettant de les créer, l’écart de la situation courante par rapport au contexte est indiqué dans la partie droite de cette fenêtre. Les variables dont l’état n’est pas conforme au contexte sont signalées et en cliquant une de ces variables, l’élément ainsi que le pupitre auquel elle est attachée sont affichés. Le bouton Restituer permet de remettre l’état de ces variables en conformité avec le contexte sélectionné. ___________________________________________________________________________ 2/7 H 2.2.4 Notion de “ scénario ” La notion de contexte est complétée par la possibilité d’enregistrer et de restituer une succession d’actions sur les variables externes et les éléments de pupitre afin d’automatiser des séquences de commande ( séquence de démarrage, remises en cycles... ). Il s’agit d’un cas particulier de l’utilisation des scénarios. La notion de scénario est détaillée au chapitre 2.8 de cet intercalaire. C 2.3 Outils de visualisation Nous venons de voir dans le paragraphe précédent comment piloter le simulateur par le moyen des pupitres et de l’action sur les variables externes. Il est également important de pouvoir observer dans de bonnes conditions les évolutions du modèle simulé, autrement qu’au travers du simple échange d’Entrées/Sorties ou de l’échéancier des événements attendus. Pour cela des fonctionnalités ont été développées : ce sont les “ pages dynamiques ” et les “ synoptiques ”. La fonction examen participe également à l’observabilité de la simulation mais en raison de sa spécificité un paragraphe particulier lui est consacré (cf. Chapitre 2.5 de cet intercalaire). ___________________________________________________________________________ 2/8 Environnement de simulation 2 2.3.1 Pages dynamiques Cet outil permet de visualiser en permanence l’état de variables que l’on a préalablement sélectionnées. L’accès à cette fonction se fait par action sur l’item Pages du menu Outils situé dans la partie inférieure de l’écran de simulation. Une première fenêtre est alors affichée, permettant de créer une nouvelle page, d’éditer, visualiser et détruire les pages déjà configurées. Le bouton Créer ouvre une fenêtre où l’on saisit le nom de la page à configurer. Après validation, on entre en phase d’édition de la page. • Edition d’une page C La fenêtre d’édition comporte à sa droite une zone où apparaissent les variables constituant la page éditée. Cette zone est donc vide si on entre en création d’une nouvelle page. La partie centrale de la fenêtre permet de sélectionner le type de variable que l’on souhaite voir figurer dans la page. Le choix est proposé parmi : • les Entrées et Sorties du bornier, • les relais et l’alimentation générale de la tête de filerie, • les variables de modélisation de la partie “ mouvements ”, • les pièges d’exploitation. La sélection du type de variable en fait apparaître la liste dans la partie gauche de la fenêtre. La configuration de la page se fait très simplement en sélectionnant des variables dans cette liste à l’aide de la souris. Le retrait d’une variable de la page se fait de la même manière en cliquant celle-ci dans la partie droite de la fenêtre. On peut également ajouter une variable à la page au moyen de l’éditeur se trouvant au bas de la partie centrale de la fenêtre. Si la variable saisie est correcte, elle passe dans la partie droite de la fenêtre, suite à la validation par retour chariot. En plus des variables proposées dans le choix décrit précédemment, on peut aussi incorporer dans la page des capteurs, bistables, mouvements ou des variables externes. Au cas où la saisie ne correspond pas à une des variables du type sélectionné, un défilement de la liste des variables présentées est effectué, correspondant à un positionnement alphabétique dans cette liste. ___________________________________________________________________________ 2/9 H C • Visualisation des pages dynamiques L’action sur le bouton Visualiser de la fenêtre principale de la fonction Pages fait apparaître dans la partie droite de la fenêtre de fond du simulateur, les variables constituant la page sélectionnée. Les variables sont disposées en colonne et leur état est indiqué par une icône du type “ Bouton radio ”. La fenêtre de visualisation possède des boutons —> et <— afin de passer d’une page à la suivante ou précédente. Le bouton Editer permet d’entrer en édition de la page visualisée et donc de modifier la liste des variables formant la page. Il est également possible de créer de toutes pièces une nouvelle page grâce au bouton prévu à cet effet. Remarque : On peut analyser la raison de l’état logique dans lequel se trouve une des variables visualisées sur la page : c’est la fonction examen sur laquelle nous reviendrons ultérieurement de manière approfondie. Cette fonctionnalité est disponible, quand le simulateur est à l’arrêt ou en blocage, en cliquant la variable considérée. ___________________________________________________________________________ 2/10 Environnement de simulation 2 2.3.2 Les synoptiques Dans l’environnement de simulation, les synoptiques décrits au préalable apparaissent sous la forme de fenêtres (vues), sauf le synoptique intitulé Fond de plan qui apparaît dans la fenêtre principale de la simulation (cf. Chapitre 7 de l’intercalaire B) . Les fenêtres de synoptique de grafcet se lance de la même façon que les autres synoptiques. Leur utilisation est décrite au chapitre 3 de cet intercalaire. • Manipulation des synoptiques Si des synoptiques ont été décrits, le bouton Synoptiques fait apparaître un menu permettant de choisir le ou les synoptiques à afficher. L’item Tous permet d’afficher l’ensemble des synoptiques en une seule commande. Pour chaque synoptique affiché, un bouton Fin permet de le supprimer de l’écran. Lorsque l’on quitte la simulation, les positions à l’écran des synoptiques sont conservées. C Animation des synoptiques Animation des axes Un axe est représenté par un contour (rectangle vertical, horizontal ou cercle) dans lequel on voit évoluer la position courante soit par une came, soit par un barre-graphe. On voit aussi les états des capteurs de l’axe qui sont “ allumés ” lors de leur passage à 1. Animation des variables De la même façon que pour les pages, les variables d’un synoptique sont “ allumées ” lors de leur passage à 1 et “ éteintes ” lors de leur passage à 0. ___________________________________________________________________________ 2/11 H Animation des décodeurs Un calcul est fait en fonction de la valeur des bits du décodeur et un chiffre indique la valeur courante recomposée. Examen des variables synoptiques Lors d’un arrêt du simulateur ou en cas de blocage, il est possible d’accéder à un examen des variables des synoptiques, en double-cliquant sur l’élément graphique concerné. C Par exemple pour les axes, on retrouve la fenêtre classique d’examen d’un axe (cf. Chapitre 2.5 de cet intercalaire). ___________________________________________________________________________ 2/12 Environnement de simulation 2.4 2 Forçage des variables de modélisation Ces variables sont équivalentes à des relais dans le fonctionnement interne de SIMACTEL. A la différence de ces derniers, elles sont décrites dans la partie “ Axes ” de l’interface de configuration. D’autre part, elles ne peuvent être soumises à des défauts dans l’environnement de simulation. Le forçage permet d’agir directement sur l’état logique de ces variables qui est normalement défini par une expression booléenne. Ceci permet par exemple, dans le cas où ces variables représentent des présences de pièces, d’injecter une pièce en un endroit quelconque de la machine simulée sans que cela ait été explicitement prévu dans l’équation des variables concernées lors de la modélisation. Un autre intérêt est de pouvoir remédier temporairement à une erreur de modélisation (équation erronée de la variable) sans avoir à reprendre la simulation après correction ou d’éviter une correction “ ad hoc ” non pertinente. C Il faut cependant être conscient que ces “ forçages ” risquent d’introduire des incohérences dans la modélisation de la partie opérative s’ils sont utilisés de façon incontrôlée : il s’agit de ne pas faire de SIMACTEL une “ boite à boutons ” en négligeant l’effort de modélisation qui fait l’intérêt de ce produit. ___________________________________________________________________________ 2/13 H 2.5 Examen ou l’analyse des situations “ L’examen ” est une fonctionnalité qu’on trouve à différents niveaux dans SIMACTEL. Elle est accessible quand la simulation est “ arrêtée ”, c’est-à-dire lors d’un blocage, ou, lors d’un des différents arrêts possibles. Nous avons déjà évoqué cet outil à propos des voyants des pupitres et des variables visualisées dans les pages dynamiques. La fenêtre principale de cette fonction est activée par l’item Examen du menu Outils. Cette fenêtre comporte un certain nombre de boutons et un éditeur. L’action de la souris sur un de ces boutons fait s’afficher l’état logique des variables du type sélectionné. C On peut alors déclencher un examen sur une des variables présentées en la cliquant avec la souris. Un autre moyen d’accéder à l’examen d’une variable est de la saisir dans l’éditeur de la fenêtre examen. “ Retour chariot ” déclenche un examen de la variable si celle-ci est connue du simulateur. Sinon un défilement de la liste des variables présentées est effectué, correspondant à un positionnement alphabétique de la saisie dans cette liste. ___________________________________________________________________________ 2/14 Environnement de simulation 2 2.5.1 Variables dont l’état est déterminé par une expression booléenne C’est le cas de nombre d’entités présentes dans un modèle de simulation telles que les Entrées du bornier, les relais de la tête de filerie ou les variables de la partie mouvements. L’examen de ces variables consiste à présenter, si la variable est dans l’état logique “ 0 ”, les termes manquants pour vérifier l’équation de la variable. Si au contraire la variable est à “ 1 ”, l’explication de cet état à partir de l’analyse de l’équation est donnée. Le bouton Mise à 0 permet de présenter les conditions pour remettre à “ 0 ” cette variable. La fenêtre d’examen d’une variable comporte une zone principale où sont affichées des informations. C La liste des variables manquantes ou expliquant l’état “ vrai ” est reprise dans un défileur dans la partie droite de la fenêtre. En sélectionnant une de ces variables, on poursuit l’examen en profondeur. ___________________________________________________________________________ 2/15 H 2.5.2 Mouvements L’examen d’un mouvement associé à un axe est un peu différent. Si l’état (activité) du mouvement est déterminé par une expression booléenne, dans le cas d’un axe linéaire, ce mouvement est limité en fin ou début de course de l’axe selon le sens du mouvement. Lors de l’examen d’un mouvement, différents cas sont donc possibles : • Si l’axe auquel est associé le mouvement est linéaire et que le mouvement est en fin de course, ceci est indiqué et l’équation du mouvement n’est pas analysée. C • Si, le mouvement étant inactif, un autre mouvement est actif pour l’axe associé, ce mouvement est indiqué et un examen de celui-ci est déclenché quand on quitte la fenêtre. • Si le mouvement examiné est inactif sans pour autant être en fin de course, l’analyse de l’équation donne les conditions manquantes. Il peut arriver que l’examen indique “ mouvement impossible ” : ceci se produit quand interviennent des capteurs de l’axe associé dans les conditions manquantes. ___________________________________________________________________________ 2/16 Environnement de simulation 2 2.5.3 Capteurs On peut interroger le simulateur sur l’état d’un capteur. Une fenêtre spécifique est alors proposée. Des informations sur l’axe auquel est associé le capteur y sont affichées. Dans la partie droite de la fenêtre sont indiqués le ou les mouvements permettant de quitter ou d’atteindre le capteur selon que celui-ci est actif ou inactif. C 2.6 Pièges d’exploitation Grâce aux pièges, le simulateur peut être arrêté quand une situation particulière se produit. Les pièges permettent également de compter les occurrences d’événements, de mesurer le temps écoulé entre deux occurrences successives ou la durée pendant laquelle une situation persiste. ___________________________________________________________________________ 2/17 H 2.6.1 Caractérisation d’un piège Un piège est défini par un événement et/ou une condition. Les variables sur lesquelles portent ces termes sont les Entrées/Sorties, des relais et éventuellement des variables de modélisation. Si la condition n’est pas définie, elle est considérée comme étant toujours vraie. Le piège est vérifié si, quand l’événement se produit, la condition est validée. Si l’événement n’existe pas, la condition est testée systématiquement. Un libellé de 40 caractères permet de compléter le mnémonique du piège. C 2.6.2 Evaluation des pièges La définition des pièges implique des Entrées, des Sorties et éventuellement des relais. Ces variables ont bien évidemment des effets les unes sur les autres, notamment par l’intermédiaire de la Partie Commande qui fait évoluer les Sorties en fonction des changements d’état d’Entrées qu’elle perçoit. On n’observera donc pas les mêmes situations logiques combinant des Entrées/Sorties selon que l’on se place avant ou après l’échange entre le simulateur et l’automate dont on teste le programme. Le choix qui a été fait dans SIMACTEL est d’évaluer les pièges après réception de Sorties émises par l’API, et propagation dans les relais de la tête de filerie. Ceci permet de vérifier de façon adéquate les réactions du programme API, telles que, par exemple, la disparition d’une Sortie pilotant un mouvement lors de l’activation d’une Entrée de sécurité. Si l’on n’attendait pas la réaction de l’automate avant de tester le piège, on aurait un déclenchement intempestif de celui-ci. ___________________________________________________________________________ 2/18 Environnement de simulation 2 2.6.3 Action des pièges L’activation d’un piège est signalée par un message comprenant le mnémonique et le libellé du piège. La durée écoulée (cumul des temps d’évolution machine) depuis la dernière occurrence du piège est indiquée. Si le piège ne possède pas d’événement déclenchant, sa désactivation est également signalée, ainsi que la durée de cette activation (temps pendant lequel la condition a été vérifiée). Le seuil que l’on peut associer à un piège permet de ne déclencher l’action de celui-ci qu’au bout d’un certain nombre d’occurrences. Si l’option Raz a été sélectionnée, l’action se déclenchera toutes les n occurrences, n étant la valeur du seuil. L’arrêt de simulation provoqué par le piège peut être désactivé: son activation sera “ silencieuse ” mais ses occurrences seront tout de même cumulées : le piège peut donc servir de compteur. C Remarque : Un piège peut être incorporé dans une page de variables; son état est alors visualisé dynamiquement. Lorsque le simulateur est arrêté, un “ examen ” peut être déclenché en cliquant le nom du piège. Si le piège possède une condition, l’examen correspond à l’analyse de celle-ci. ___________________________________________________________________________ 2/19 H 2.7 Les défauts La vérification du fonctionnement normal et des modes de marche n’est généralement pas suffisante pour valider un programme de commande. Il est également intéressant de tester le comportement de l’automatisme lors de l’application de défauts dans la Partie Opérative. Les temps d’arrêts dont ils sont la cause pénalisant la productivité, il est important de vérifier que ceux-ci sont bien détectés par la Partie Commande et/ou surveillance de l’automatisme d’une part et que d’autre part les modes de reprises sont corrects. Aussi est-il possible, dans SIMACTEL, de créer des défauts dans la machine modélisée. C Il existe trois types de défauts qui sont : • les collages à 0 ou à 1 des capteurs, relais et bistables : quand l’élément concerné passe dans l’état correspondant, il y reste jusqu’à suppression du défaut ( ou forçage dans l’état contraire ), • les forçages portant sur les mêmes éléments : le passage dans l’état sélectionné est immédiat, • les rebonds sur les capteurs, qui peuvent avoir lieu à l’activation ou à la désactivation. Ces fonctions sont accessibles par l’item Défauts du menu Outils. ___________________________________________________________________________ 2/20 Environnement de simulation 2 2.7.1 Collages et forçages Dans la partie gauche de la fenêtre permettant de positionner ce type de défaut, apparaît la liste des entités concernées. Après sélection d’une de ces variables, le défaut choisi est positionné à l’aide de l’un des boutons prévus à cet effet. On peut également sélectionner la variable sur laquelle on souhaite mettre un défaut au moyen de l’éditeur se trouvant sous la liste dans la partie gauche de la fenêtre. La suppression de défaut sur une variable se fait en cliquant cette dernière dans la zone de défaut où elle apparaît. Remarque : C Le bouton Annuler, ne supprime pas les défauts positionnés mais rétablit dans la fenêtre l’état des défauts courants. Les collages affectant les capteurs sont pris en compte dans les équations des Entrées du bornier et les relais de la tête de filerie où interviennent ces éléments. Par contre, ils ne sont pas perçus dans les mouvements des axes et les “ variables de modélisation ” de la description mécanique de la machine. Le positionnement d’un défaut sur un capteur a donc le même effet que dans la réalité, sans cependant perturber la modélisation de la Partie Opérative, ce qui ne serait pas l’effet souhaité. ___________________________________________________________________________ 2/21 H 2.7.2 Rebonds sur les capteurs Le défaut “ rebond ” consiste à envoyer à l’automate, lors du changement d’état d’un capteur affecté par ce défaut, 3 évolutions successives des Entrées où intervient le capteur, l’état de celui-ci étant inversé deux fois de suite après le passage dans l’état correct. Au moins un temps de cycle API s’écoule avant que ces évolutions d’Entrées ne soient présentées sur le bus d’Entrées/Sorties : l’automate a donc le temps de les percevoir et de faire évoluer son programme. Les Sorties ne sont envoyées au simulateur après que les trois évolutions successives aient été reçues. C Il y a deux manières de procéder pour positionner des rebonds sur les capteurs. Soit on sélectionne ceux sur lesquels on veut provoquer le défaut, soit on le positionne sur tous les capteurs, sauf certains que l’on choisit. La sélection des capteurs se fait de la même manière que pour les collages et forçages, par choix dans la liste des capteurs ou par saisie directe au moyen d’un éditeur. ___________________________________________________________________________ 2/22 Environnement de simulation 2 2.7.3 Remarques • Il est possible de supprimer simultanément tous les défauts positionnés. Pour ce faire, utiliser l’item Tout supprimer du sous-menu Défauts. • Lors d’une initialisation, le simulateur demande si l’on veut supprimer les défauts éventuellement positionnés. 2.8 Les scénarios Cette fonctionnalité comporte plusieurs aspects. C Le premier est la possibilité de restituer automatiquement des séquences d’actions sur les Pupitres et les variables externes. Ceci permet de faciliter les procédures de démarrage de l’automatisme - mise sous tension, mise en service - ou les changements de mode de marche en cours de fonctionnement. Ces séquences sont créées par enregistrement et leur exécution peut, si besoin est, être contrôlée au moyen “ d’attentes ”. Une autre utilisation est la définition de scénarios de panne, intéressants par exemple dans le cadre de la formation d’opérateurs. Ces scénarios, construits au moyen d’un outil d’édition, permettent de positionner des défauts automatiquement au cours d’une simulation, en fonction de certains événements. Pour répondre à ce besoin, la possibilité de tester le nombre d’activations de pièges dans une attente a été prévue : on peut ainsi casser un capteur après un certain nombre de passages d’une pièce par exemple. Enfin, la notion de “ réaction ” permet de vérifier la conformité de l’évolution d’un sousensemble de l’automatisme à un modèle de référence. Cette référence est un scénario comportant des réactions. Elle est établie par enregistrement des changements d’état de variables que l’on associe au scénario. Au cours de l’exécution, ces changements d’état sont considérés comme des réactions qui doivent se reproduire. Il faut bien sûr que le scénario soit exécuté dans les mêmes conditions : les attentes permettent de synchroniser celui-ci avec l’évolution de l’automatisme. ___________________________________________________________________________ 2/23 H 2.8.1 Séquences d’actions sur les Pupitres et les variables externes. C’est une utilisation privilégiée des scénarios qui permet notamment d’automatiser la procédure de mise en service de l’automatisme. • Enregistrement Il faut tout d’abord créer un scénario en lui attribuant un nom et éventuellement un commentaire. C Ceci étant fait il ne reste qu’à sélectionner ce scénario et cliquer le bouton Enregistrer de la fenêtre de gestion des scénarios. Après confirmation l’enregistrement est activé. Le bouton Scénarios de la fenêtre de Simulation est alors grisé, son texte est changé en Enregistr.. Simultanément une fenêtre de suivi apparaît. On peut retirer cette fenêtre de l’écran en cliquant Quitter. Le bouton Enregistr. de la fenêtre de fond permet de la rappeler. Le bouton Sauvegarder permet de clore l’enregistrement en le sauvegardant sur disque. Au fur et à mesure que des actions sont effectuées sur les pupitres et les externes, les changements d’état concernant les variables correspondantes sont visualisés dans cette fenêtre. Les syntaxes sont les suivantes : - <var> <- 1 - <var> <- 0 pour le passage à 1 ou à 0 d’une variable. Dans le cas des impulsions sur les boutons-poussoirs, la syntaxe est la suivante, selon que le contact est à fermeture ou à ouverture : - <var> <> 1 ou - <var> <> 0 Dans le cas des commutateurs à n positions et des roues-codeuses, plusieurs changements d’état de variables sont susceptibles de se produire simultanément : il s’agit “ d’actions synchrones ” dont la syntaxe est la suivante : - <var1> <- 0 - <var2> <- 1 Si des actions sont effectuées à des dates de simulation différentes, l’indication de la durée écoulée depuis l’action précédente - ou depuis le début de l’enregistrement s’il s’agit de la première action - complète la ligne du scénario enregistré. La syntaxe, par exemple dans le cas du passage à 1 d’une variable est alors : - <var> <- 1 d: <durée> Dans le cas d’actions synchrones, l’indication de durée suit le premier changement d’état affiché. Remarque : La capacité maximale d’enregistrement d’un scénario est de 150 lignes. Au-delà, l’enregistrement est interrompu et une confirmation de sauvegarde est demandée à l’utilisateur. ___________________________________________________________________________ 2/24 Environnement de simulation 2 • Restitution de la séquence d’actions Il faut pour cela cliquer le bouton Exécuter de la fenêtre de gestion des Scénarios. Après confirmation, l’exécution est lancée. Le bouton Scénarios est grisé et son texte devient Exécution. Pendant l’exécution d’une séquence, les pupitres sont verrouillés et la modification de l’état des variables externes ainsi que le positionnement des défauts sont inhibés. Les actions enregistrées sont restituées en respectant les écarts de durée éventuels, à moins qu’un blocage se produise : dans ce cas l’action est exécutée sans tenir compte du délai associé. Il faut être conscient du fait que la référence de temps utilisée est le “ temps machine ” et non “ le temps réel ”, ce qui rend inopérantes les séquences où interviendraient des temporisations de l’automate. C Si l’on clique le bouton Exécution, une fenêtre apparaît dans laquelle le contenu du scénario en cours d’exécution est visualisé. La prochaine action devant être effectuée est indiquée en inverse vidéo. Le bouton Arrêter de cette fenêtre permet d’interrompre l’exécution du scénario avant terme. • Autres actions enregistrées Outre les changements d’états des variables externes et de pupitres, sont enregistrés d’une part les positionnements et suppression de défauts sur les capteurs, relais et bistables et d’autre part les forçages de variables de modélisation booléennes. Le collage à 1 d’un capteur a par exemple la syntaxe suivante : - <capteur> : collé à 1 • Complètement La fonctionnalité de “ complètement ” permet d’ajouter des actions à un scénario déjà défini. Accessible par le bouton Compléter, elle consiste à réenregistrer un scénario qui est tout d’abord exécuté. Le texte du bouton Scénarios est remplacé par Complète. pendant la phase d’exécution. Une fois celle-ci terminée on passe en enregistrement de nouvelles actions, ajoutées à la suite. ___________________________________________________________________________ 2/25 H 2.8.2 Edition d’un scénario Un scénario est formé d’une suite de lignes. Pendant l’exécution ces lignes sont traitées de façon séquentielle, comme on peut le visualiser dans la fenêtre de suivi. Un scénario peut comporter, outre des actions, des attentes et des réactions. Le principe de l’édition restant similaire, nous n’évoquerons pour l’instant que le cas des lignes “ action ” formant les séquences. L’outil d’édition permet de modifier un scénario existant - obtenu par enregistrement mais également de construire un scénario de toutes pièces. C La suppression d’une ligne permet d’éliminer une action indésirable résultant par exemple d’un appui inopportun sur un bouton-poussoir pendant l’enregistrement. Une ligne peut être éditée, notamment pour modifier - ou supprimer - le délai d’exécution qui lui est associé, en particulier s’il s’agit de la première ligne. Enfin une nouvelle ligne peut être ajoutée à la fin du scénario, ou insérée dans celui-ci devant une ligne sélectionnée. L’accès à la fonctionnalité d’édition s’effectue au moyen du bouton Editer de la fenêtre de gestion des scénarios. • Modification d’une ligne Il faut pour cela cliquer le bouton Modifier après avoir sélectionné la ligne voulue. Apparaît alors la fenêtre d’édition d’une ligne de scénario. Un éditeur se trouvant dans la partie droite de cette fenêtre contient le texte représentant la ligne considérée. La modification peut se faire directement dans cet éditeur : en tapant “ retour chariot ”, une vérification de la syntaxe est effectuée. La modification pourra être effective au moyen du bouton Valider. ___________________________________________________________________________ 2/26 Environnement de simulation 2 Un autre moyen de modifier la ligne éditée est d’utiliser le bouton Revenir de la fenêtre d’édition. Celui-ci permet de remettre en cause les différents éléments constituant la ligne, en partant de la fin de celle-ci. Dans le cas par exemple d’une action sur une variable de pupitre, on pourra successivement “ revenir ” sur le délai associé à cette action, sur l’action effectuée sur la variable - changement d’état ou impulsion, sur la variable elle-même, etc. Chaque fois qu’une action sur le bouton Revenir est effectuée, les choix substitutifs sont proposés dans la partie gauche de la fenêtre d’édition. Il suffit de sélectionner un élément dans cette liste pour reconstituer une ligne dont la syntaxe est naturellement correcte. • Création d’une ligne C Il peut s’agir d’un ajout en fin de scénario ou d’une insertion : deux boutons sont prévus à cet effet. La fenêtre de création est la même que pour la modification. L’éditeur contenant le texte de la ligne est initialement vide et la liste de choix contient les différents types de lignes que l’on peut ajouter ou insérer dans le scénario, comptetenu du type de la ligne précédant et éventuellement suivant celle que l’on crée. La construction de la nouvelle ligne peut se faire, à l’instar de la modification, directement dans l’éditeur en respectant la syntaxe ou par choix successifs dans la liste, le contenu de celle-ci étant modifié au fur et à mesure de la construction. Remarque : Après validation de la création d’une ligne, une autre ligne peut être ajoutée à sa suite sans quitter la fenêtre d’édition. 2.8.3 Notion d’attente Les séquences obtenues par enregistrement présentent le défaut de ne pas comporter de conditions de synchronisation qui permettent de contrôler leur exécution. Cependant, certaines procédures - notamment de mise en service d’un automatisme peuvent nécessiter à certains moment d’attendre qu’une réaction de la partie commande se produise, caractérisée par exemple par un voyant allumé, pour que la suite de la séquence soit efficiente. D’autre part dans le cadre de la formation d’opérateurs, il peut être intéressant d’exécuter des actions - en particulier positionner des défauts - en fonction d’événements engendrés par l’évolution de l’automatisme. Les “ attentes ” répondent à ce besoin, en permettant de suspendre l’exécution d’un scénario, jusqu’à ce qu’un événement se produise, ou tant qu’une condition n’est pas vérifiée. ___________________________________________________________________________ 2/27 H • Insertion d’attentes par édition Un premier moyen d’inclure une ligne d’attente dans un scénario est de le faire a posteriori en éditant le scénario obtenu par enregistrement. Il faut pour cela sélectionner l’action - ou la première d’un groupe d’actions synchrones - dont on veut contrôler l’exécution par une attente, et cliquer le bouton Insérer. La liste de choix de la fenêtre d’édition qui apparaît alors doit normalement comporter l’item Attente, que l’on sélectionnera. Sont ensuite proposés les différents types de variables pouvant intervenir dans une ligne d’attente. C Pour les variables booléennes les attentes possibles sont le passage à 1 ou à 0 de la variable d’une part - il s’agit d’un événement - et d’autre part la vérification de l’état logique 1 ou 0 de la variable - c’est donc une condition. Les syntaxes correspondantes sont les suivantes : <- <var> -> 1 ou <- <var> -> 0 <- <var> :: 1 ou <- <var> :: 0 et Cas des Pièges : D’une part une distinction est faite entre les pièges selon qu’ils possèdent un événement ou non. Dans le premier cas c’est le passage à 1 du piège, dont l’activité est fugitive, qui peut être attendu. Par contre si le piège n’a pas d’événement, son activité - représentée par sa condition - est traitée comme les autres variables booléennes. D’autre part une attente peut être formée en testant le compteur associé au piège, au moyen d’une comparaison à une valeur entière. Pour compléter ceci, une action spécifique permettant la remise à 0 du compteur d’un piège est disponible : elle doit, si besoin est, être insérée dans le scénario au moyen de l’outil d’édition. • Enregistrement d’attentes Un autre moyen de prendre en compte une attente dans un scénario est de “ préparer ” celui-ci avant de l’enregistrer. La préparation d’un scénario consiste à lui associer des variables - qui ne peuvent être que booléennes - avant de procéder à son enregistrement. La fenêtre de préparation, accessible par le bouton Préparer, comprend dans sa partie supérieure un sélectionneur comportant les deux items Attente et Réaction. Par défaut la sélection est Attente, c’est le cas qui nous intéresse ici. La partie centrale de la fenêtre permet de sélectionner le type de variable désiré : les variables concernées apparaissent alors à gauche. Si l’on en sélectionne une, elle prend place dans la liste Attentes à droite de la fenêtre, elle peut en être retirée par un clic de la souris. L’éditeur permet une saisie directe de la variable souhaitée. Il faut ensuite valider pour que les variables sélectionnées soient associées au scénario. ___________________________________________________________________________ 2/28 Environnement de simulation 2 Au cours de l’enregistrement de ce scénario, les changements d’états se produisant sur les variables qui lui sont associées seront automatiquement insérées, sous la forme d’attentes, parmi les actions effectuées. • Exécution d’un scénario comportant des attentes Pendant l’exécution d’une séquence d’actions, les pupitres sont verrouillés et le positionnement de défauts est inhibé. Si le scénario comprend une ligne d’attente, la main est rendue à l’opérateur qui peut agir sur les interfaces tant que l’attente n’est pas satisfaite. On peut ainsi créer un scénario dont l’exécution reste latente tant qu’une attente n’est pas vérifiée, puis déclenche une série d’actions. C • Complètement des scénarios avec attentes Le principe du complètement consiste à réenregistrer un scénario qui est d’abord exécuté. Si la ligne en cours d’exécution est une attente, elle est réinscrite dans le scénario et la main est rendue sur les pupitres et les défauts, mais les actions effectuées ne sont pas enregistrées tant que l’attente n’est pas satisfaite. Ceci permet en particulier de conditionner un enregistrement en complétant un scénario formé d’une attente, définie en édition. 2.8.4 Vérifications de réactions L’utilisation des scénarios n’a jusqu’à présent été envisagée que sous la forme de séquences d’actions dont l’exécution peut être contrôlée au moyen d’attentes. Un autre emploi de cette fonctionnalité est la vérification du comportement de sousensembles de l’automatisme, au moyen de la notion de “ réaction ”. Ces réactions sont les changements d’état, obtenus par enregistrement, de variables associées au scénario dans la phase de “ préparation ”. Pour qu’une exécution ultérieure de ce scénario soit correcte, il faudra que les changements d’états des variables ou “ réactions ” se produisent à nouveau, de la même façon qu’au cours de l’enregistrement. • Enregistrement de réactions Il faut tout d’abord définir les variables dont on souhaite considérer les changements d’état comme des réactions à surveiller. Ceci se fait au moyen de la fenêtre de préparation, présentée à propos de l’enregistrement des attentes. Le principe de la désignation des variables est similaire, mais il faut cette fois sélectionner l’item Réaction dans la partie supérieure de la fenêtre. ___________________________________________________________________________ 2/29 H Remarques : • une variable spéciale nommée “ Blocage ” peut être surveillée. Elle est vraie quand aucun mouvement ne se produit. Dès que l’enregistrement est lancé, la fenêtre de suivi permet de visualiser la constitution du scénario. Celui-ci comprend cette fois, outre les changements d’état de variables résultant d’actions sur les pupitres et externes, les changements d’état affectant les variables associées au scénario en tant que réactions. C Les réactions, à l’instar des actions, comportent une indication de durée. Au cours de l’enregistrement, la durée qui est affichée dans la fenêtre de suivi correspond au temps écoulé depuis la dernière action ou le début de l’enregistrement. Une fois le scénario sauvegardé, seule la dernière ligne d’une série de réactions consécutives conserve cette indication de durée. La syntaxe d’une ligne “ réaction ” est, par exemple pour le passage à 1 d’une variable : => <var> -> 1 d:<durée> De façon analogue aux actions, des réactions peuvent être synchrones. C’est notamment le cas si sont associées au scénario des variables dont les changements d’états sont des conséquences immédiates les uns des autres. Lors de l’apparition d’une sortie, l’enclenchement du relais et l’activation du mouvement qu’elle commande sont des événements synchrones du changement d’état de celle-ci. La syntaxe en est : => <var1> -> 1 d:<durée> <var2> -> 1 Remarques : • nous avons vu qu’une attente permet de conditionner le début d’un enregistrement, par complètement d’un scénario. Ceci est également vrai si le scénario comporte des réactions, associées en préparation : la surveillance de l’évolution des variables correspondantes est suspendue tant que l’attente n’est pas satisfaite. • les attentes peuvent être enregistrées, si elles sont associées au scénario au moyen de la fonctionnalité de préparation. Il y a dans ce cas exclusion entre les variables “ d’attente ” et les variables de “ réaction ”. • Conformité des réactions L’exécution d’un scénario comportant des réactions peut être - ou ne pas être - conforme selon des critères que nous allons préciser sur la base d’un exemple simple. Considérons un scénario, débutant par une attente permettant de synchroniser son exécution, et ne comportant que des réactions. L’attente peut être un piège caractérisant le début de cycle d’un sous-ensemble de l’automatisme, les réactions les mouvements des axes formant ce module. Ce scénario pourra être constitué par complètement à partir de l’attente définie en édition. L’exécution du scénario consiste, une fois l’attente “ début de cycle ” satisfaite, à vérifier que les réactions - ici les changements d’état des mouvements des axes du module ___________________________________________________________________________ 2/30 Environnement de simulation 2 réapparaissent dans le même ordre et avant une date limite correspondant à la durée associée à la dernière réaction enregistrée. • Enchaînement d’actions et de réactions Si le scénario comporte également des actions, le principe de son exécution est le suivant : • les actions sont exécutées en fonction du délai qui leur est éventuellement associé. Pendant qu’une ligne “ action ” est en cours de traitement - son délai d’exécution n’est pas encore atteint - il est vérifié qu’aucune évolution des variables associées au scénario ne se produit. • quand c’est une réaction qui est en cours de traitement, il est vérifié qu’elle se produit bien avant le délai imparti et qu’aucune autre évolution de variable du scénario ne se produit. C • Compte-rendu d’exécution L’exécution du scénario peut être visualisée en cliquant le bouton Exécution de la fenêtre de Simulation. Les lignes en cours de traitement apparaissent en inverse vidéo dans la fenêtre de suivi. Dans le cas des scénarios avec réactions, une fenêtre de compte-rendu d’exécution est systématiquement affichée, elle peut être retirée une fois le scénario terminé. Si l’exécution du scénario n’est pas correcte, c’est-à-dire si des réactions n’apparaissent pas dans les délais prévus ou si des évolutions intempestives se manifestent, les “ anomalies ” sont signalées dans cette fenêtre. Dans ce cas la simulation est interrompue et le scénario terminé. La fenêtre de suivi permet de constater à quel niveau du scénario s’est produite la divergence. • Complètement de scénarios comportant des réactions Dans ce cas le complètement consiste à réenregistrer le scénario - actions et évolutions des variables associées comme attentes ou réactions - en exécutant dans un premier temps les actions du scénario initial. Si le scénario comportait des attentes, seules celles ne se trouvant pas après une réaction sont conservées pour l’exécution. En effet, l’enregistrement étant suspendu pendant le traitement d’une attente, ces réactions ne pourraient plus figurer dans le nouveau scénario. L’intérêt essentiel du complètement dans le cas de la surveillance de réactions est de pouvoir corriger un scénario pour lequel des erreurs avaient été faites quant au choix des variables associées en préparation lors d’un premier enregistrement : il suffit alors de modifier ces variables et de “ rejouer ” le scénario grâce à la fonctionnalité de complètement. ___________________________________________________________________________ 2/31 H 2.9 Initialisation La commande d’Initialisation permet de replacer le modèle de la machine tel qu’il est au lancement de la simulation. Tout se passe comme si l’on débutait une nouvelle simulation : la fenêtre de choix de contexte est donc proposée. Si aucun contexte n’est sélectionné, les variables de pupitres et externes restent dans leur état. Au cas où un état machine - ou “ contexte mécanique ” - aurait été sauvegardé lors d’une précédente simulation, sa restauration est possible. C En mode connecté, un repositionnement du programme de l’automate devra probablement être effectué, afin que la simulation puisse reprendre correctement. ___________________________________________________________________________ 2/32 Environnement de simulation 2 2.10 Sauvegarde et Restitution d’état machine Quand on lance une simulation, en interne ou avec un automate, les axes sont en position initiale telle qu’elle a été définie dans l’interface de configuration et toutes les variables dont l’état est décrit par des expressions booléennes sont à l’état logique “ 0 ”. Ceci peut-être une contrainte pénalisante quand on simule par exemple un système de convoyage. Il est dans ce cas avantageux de pouvoir reprendre une simulation en retrouvant la machine dans l’état auquel on avait abouti lors d’une précédente simulation, avec des objets disposés en certains points. La fonctionnalité de sauvegarde d’état machine offre cette possibilité. Le principe consiste à pouvoir sauvegarder, lorsque l’on sort de la simulation, la position des axes de la machine ainsi que l’état logique de l’ensemble des variables décrites dans la partie “ mouvements ” de la machine : il s’agit des bistables et variables de modélisation. Une simulation connectée pouvant s’effectuer avec des grafcets, l’état de ceux-ci est sauvegardé : il s’agit des étapes actives, des actions internes positionnées et de la valeur des compteurs. C L’état logique des variables externes ou activées par les pupitres est également conservé : la sauvegarde d’un état machine inclut donc la notion de contexte tel qu’il a été défini au sous-chapitre 2.2 de cet intercalaire. Cette sauvegarde peut-être demandée quand on sort de la simulation : il faut pour cela cocher la case Sauver l’état machine apparaissant dans la fenêtre de confirmation. A défaut, une sauvegarde éventuellement faite précédemment est perdue. Une sauvegarde est également faite systématiquement si l’on sort de la simulation de façon “ anormale ” suite à un bug ou à une erreur de communication avec l’automate. La restitution d’un état machine est effectuée si l’on coche la case Restituer l’état sauvé se trouvant dans la fenêtre de choix de contexte apparaissant en début de simulation. ___________________________________________________________________________ 2/33 H 2.11 Description La fonction “ description ” permet de visualiser en cours de simulation la description de la machine modélisée et de procéder à certaines modifications. Cette fonction est accessible par l’item correspondant du menu Outils. Pour ce qui est de la modélisation de la machine, il est possible de modifier les équations des entrées, relais et variables ainsi que les caractéristiques des mouvements Ces modifications sont possibles dans leur intégralité en simulation interne puisqu’il s’agit d’une phase de la méthodologie visant à mettre au point le modèle. C Par contre en simulation connectée les modifications permises sont limitées à la partie “ électrique ” de la modélisation, c’est-à-dire les équations des entrées et le relayage. Les capteurs associés aux axes ne peuvent être modifiés mais l’on peut les visualiser de la même façon que dans l’interface de description, sous forme de chronogramme ou “ d’évolutions ”. En simulation interne, il est également possible de modifier la description de la Partie Commande. On peut ainsi corriger les actions associées aux étapes ou les réceptivités des transitions par exemple. On peut aussi modifier les étapes initiales, ce qui permet de tester des grafcets de façon indépendante. En fin de simulation, si des modifications ont été effectuées, le simulateur demande si l’on veut les sauvegarder. Les anciens fichiers de description sont alors renommés avec l’extension .BAK. ___________________________________________________________________________ 2/34 Chapitre 3 Mode local 1 Mode Local 3.1 Présentation La simulation interne est généralement effectuée à l’aide d’un grafcet, qui permet d’enchaîner les mouvements afin de reproduire le cycle de fonctionnement de la machine simulée. Le “ grafcet de Mécanicien ” permet de faire une simulation interne sans avoir défini un Bornier et une Tête de filerie. Ces grafcets ont pour nom “ MGRAF<i> ”. Des E/S sont implicitement crées pour permettre le dialogue entre le grafcet et le modèle de la partie opérative. Les entrées sont créées pour toute variable apparaissant dans une condition de transition et ne correspondant pas à une variable interne du grafcet telle qu’une fin de temporisation ou un état d’étape. C De même des sorties “ fictives ” sont créées pour toute action d’étape pour laquelle n’est pas définie une variable de même nom dans le modèle de la partie opérative. Si un Bornier et une Tête de filerie ont été décrits, ils sont pris en compte, même s’il s’agit d’une simulation avec grafcet. Cependant si des actions du grafcet ont le même nom que des relais, ces derniers sont “ occultés ” pendant la simulation. Remarque : Il est possible de faire une simulation interne sans grafcet : les actionneurs devront être pilotés “ manuellement ” en agissant sur les Sorties, ou directement sur les relais ou électrovannes si la tête de filerie n’a pas été décrite : ces entités apparaîtront en “ variables externes ”. ___________________________________________________________________________ 3/1 Sans titre-2 1 15/01/96, 14:58 H 3.2 Création des grafcets mécaniciens Un grafcet de mécanicien est un grafcet dont l’interface avec la partie opérative n’est pas définie explicitement par un bornier d’Entrées/Sorties. Le dialogue s’effectue en agissant sur les variables indéfinies du modèle de la partie opérative au moyen des actions du grafcet : les actions des étapes dont le nom n’est pas celui d’une variable définie dans la modélisation sont “ extériorisées ” sous la forme de “ Sorties implicites ” susceptibles d’avoir un effet sur la partie opérative. C Ceci vaut également pour les relais de la tête de filerie ne faisant pas partie de l’alimentation : ces relais ne seront pas pris en compte si des actions de même nom existent dans le grafcet de mécanicien. Réciproquement, les compte-rendus intervenant dans les conditions de transition sont directement les capteurs et autres variables de la partie opérative, ainsi que les variables de pupitres. Des variables externes supplémentaires peuvent éventuellement être introduites. Un tel grafcet peut être créé si le bornier est configuré : il est alors simplement interdit de faire intervenir des Entrées dans les conditions de réceptivité. Pour atteindre l’interface de création des grafcets mécaniciens, il faut utiliser le bouton GRAFCET de l’interface de configuration de SIMACTEL. 3.2.1 Syntaxe Les grafcets sont constitués d’étapes et de transitions reliées par des arcs. Aux étapes sont associées des actions et aux transitions des conditions ou “ réceptivités ”. Les actions des étapes Les actions de base sont bien sûr les activations des actionneurs. Elles peuvent également concerner des variables internes, ou porter sur des temporisations et des compteurs. Actions sur des variables booléennes Les actions peuvent être positionnées pendant l’activation de l’étape à laquelle elles sont associées, ou mémorisées et désactivées. Dans ce cas les syntaxes sont : <action> = 1 pour la mémorisation, <action> = 0 pour la désactivation. ___________________________________________________________________________ 3/2 Sans titre-2 2 15/01/96, 14:58 Mode local 1 Activations des temporisations Une action peut également être le lancement d’une temporisation, la syntaxe est la suivante : <Lti> si l’on active la temporisation avec sa durée par défaut ou <Lti> <durée> , où <durée> est une valeur numérique positive. Le fonctionnement de la temporisation est différent selon que son activation est conditionnée ou non. S’il n’y a pas de condition, la temporisation est lancée lors de l’activation de l’étape à laquelle elle est associée et continue à s’écouler même si cette étape est désactivée. C Par contre si une condition est précisée, la temporisation est lancée lors du passage à l’état vrai du “ et logique ” formé par l’activité de l’étape et cette condition : cette temporisation est donc initialisée à l’activation de l’étape si la condition est vérifiée à ce moment, ou lorsque la condition se vérifie alors que l’étape est active. Si la condition est invalidée ou l’étape désactivée, la temporisation est remise à 0. Opérations sur les compteurs Plusieurs actions sont possibles sur des compteurs. Ce sont l’affectation, l’incrémentation et la décrémentation, et les opérations arithmétiques addition, soustraction et multiplication. La syntaxe de l’affectation est la suivante : <compteur> = <valeur> où <valeur> peut être un nombre ou un autre compteur. Ces actions peuvent être conditionnées par des expressions booléennes, dont la syntaxe est identique à celle des réceptivités des transitions. Pour ce qui est de l’incrémentation/décrémentation, les syntaxes sont : <compteur> + et <compteur> S’il n’y a pas de condition associée à cette opération, elle est effectuée à l’activation de l’étape. Dans le cas où une condition est définie, l’incrémentation ou décrémentation est opérée lors du passage à l’état vrai du “ et logique ” formé par l’activité de l’étape et de cette condition : soit à l’activation de l’étape si la condition est vérifiée, ou à chaque passage à “ 1 ” de la condition tant que l’étape est active. Pour les opérations arithmétiques la syntaxe est : <compteur> <opérateur> <valeur> où <opérateur> peut être “ + ”, “ - ” ou “ * ” et <valeur> est défini comme pour l’affectation. Ces opérations sont effectuées tant que l’étape est active - et non à l’activation comme ___________________________________________________________________________ 3/3 Sans titre-2 3 15/01/96, 14:58 H c’est le cas pour l’incrémentation/décrémentation - et que la condition éventuellement associée est vérifiée. Si l’on définit dans une étape l’action “ cpt1 + 1 ” et que l’activité de cette étape n’est pas “ fugitive ” dans un seul cycle d’exécution, on aura un débordement du compteur “ cpt1 ”. Conditions des transitions Également appelées “ réceptivités ”, ces conditions de transition sont définies par des expressions “ booléennes ”, où peuvent intervenir des prédicats portant sur la valeur de compteurs. C Les tests sur la valeur des compteurs s’écrivent de la façon suivante, <compteur> <opérateur> <valeur> où : <compteur> est le compteur concerné, <opérateur> est un opérateur de comparaison qui peut être : < , >, < = ,> = , = ou <>. Les termes “ Xi ” permettent de prendre en compte l’activité d’une étape, en l’occurrence l’étape “ n° i ”, dans une réceptivité. Les fronts sur les Entrées ou les activités d’étapes peuvent être testés en préfixant les variables correspondantes d’un “ + ” ou d’un “ - ” selon qu’il s’agit du front montant ou descendant. ___________________________________________________________________________ 3/4 Sans titre-2 4 15/01/96, 14:58 Mode local 1 3.2.2 Interface d’édition des grafcets La fenêtre d’édition est composée d’une zone principale, dédiée au dessin du grafcet. Cette page graphique est en fait 25 fois plus grande que la partie qui en est affichée à l’écran, aussi se trouve-t-elle à l’intérieur d’un défileur permettant de déplacer la zone visualisée. Dans la partie gauche de la fenêtre d’édition apparaissent d’une part 5 icônes symbolisant, de haut en bas, une étape initiale, une étape “ normale ”, une transition, le lien entre deux éléments et une zone délimitée par des pointillés. D’autre part 5 boutons sont disposés dans la partie inférieure gauche de la fenêtre. Les 2 premiers permettent l’édition et la suppression des constituants d’un grafcet, c’est-àdire les étapes et transitions mais aussi les liens entre ces éléments. Les 2 boutons suivants sont réservés à la création des compteurs et temporisations. C Création des étapes et transitions Pour créer une étape ou une transition, il faut d’abord sélectionner au moyen de la souris l’icône correspondante dans la partie gauche de la fenêtre : le passage en inverse vidéo de cette icône indique qu’on est en mode de création. On peut sortir de ce mode en dé-sélectionnant l’icône par le bouton droit de la souris. La création de l’élément s’effectue simplement en avec le bouton gauche dans la zone graphique à l’endroit où l’on veut faire apparaître une étape ou une transition. Ces éléments sont positionnés à intervalles réguliers dans la page graphique selon le pas d’une grille. ___________________________________________________________________________ 3/5 Sans titre-2 5 15/01/96, 14:58 H L’élément qui vient d’être créé est rappelé dans la partie gauche de la fenêtre, au-dessus de la colonne de boutons. Il peut être déplacé dans la page graphique au moyen des flèches du clavier, ou directement à l’aide de la souris. Si une étape ou une transition a été créée par erreur, elle peut être supprimée, au moyen du bouton Del, après sélection de l’élément indésirable. Une confirmation est demandée avant la suppression effective de l’élément. C Par défaut l’indice d’une étape ou d’une transition nouvellement créée est l’entier n+1, où n est le plus grand entier numérotant une étape ou une transition existante. Le bouton N° permet de choisir les indices à partir desquels les étapes et transitions créées vont être numérotées. Liens entre étapes et transitions Le lien entre les éléments peut être établi de deux façons, selon la représentation graphique choisie. Le lien peut être représenté par un arc : dans ce cas il faut d’abord sélectionner, dans la partie gauche de la fenêtre, l’icône représentant deux éléments reliés par une flèche. Le lien peut également être représenté par un renvoi : ceci est intéressant dans le cas où le tracé d’un arc dans la page graphique nuirait à la clarté du devoir. Dans ce cas il faut sélectionner l’icône représentant deux flèches, située sous celle évoquée précédemment. Le lien est alors établi en sélectionnant d’abord l’élément amont par un clic de la souris : celuici est alors identifié par un petit carré noir. On sélectionne ensuite l’élément aval, celui-ci est désigné par le marqueur comme étant l’élément amont pour le prochain lien. Si ceci n’est pas souhaité, il faut dé-sélectionner l’élément au moyen d’un deuxième clic de la souris. Un lien entre deux éléments peut être détruit s’il a auparavant été sélectionné avec le bouton gauche de la souris : l’arc concerné est alors désigné dans la partie gauche de la fenêtre et le bouton Del permet de le supprimer. Blocs L’interface graphique offre la possibilité de manipuler des ensembles d’étapes et de transitions. Pour cela il faut d’abord cliquer l’icône représentant un carré en pointillé dans la partie gauche de l’écran, celle-ci passe alors en inverse vidéo. La désignation des étapes et transitions se fait en encadrant celles-ci à l’intérieur d’un rectangle. Le coin supérieur gauche de ce rectangle est positionné en cliquant dans la page graphique sans relâcher le bouton de la souris. ___________________________________________________________________________ 3/6 Sans titre-2 6 15/01/96, 14:58 Mode local 1 En déplaçant la souris tout en maintenant le bouton enfoncé, on voit apparaître un rectangle dont le coin inférieur droit suit les mouvements de la souris. Quand on relâche le bouton de cette dernière le rectangle se fixe à l’écran : un ensemble d’étapes et de transitions est alors désigné. Ce bloc peut être déplacé d’un seul tenant au moyen de la souris. Il peut également être supprimé au moyen du bouton Del, après une confirmation. Enfin un ensemble d’étapes et de transitions peut être dupliqué. Après avoir été sélectionné comme il vient d’être expliqué, il faut cliquer le bouton Copier se trouvant dans le haut de la fenêtre. Un clic de la souris dans la zone graphique permet alors de positionner le coin supérieur gauche du bloc à copier, ce qui est fait après confirmation. C Zoom arrière Nous avons vu que la description du grafcet s’effectue dans une page graphique dont 1/25 ième est visualisé. Afin d’avoir une vue globale du grafcet, une fonction zoom arrière est proposée : elle est activable au moyen du bouton se trouvant en haut de la fenêtre. En zoom arrière, la zone visualisée en mode d’édition est représentée par un rectangle. Ce rectangle peut être déplacé à l’aide de la souris et la touche “ Retour chariot ” permet de revenir en mode d’édition. La fonction de gestion des blocs, décrite précédemment, est également accessible en zoom arrière. Edition des étapes et transitions La page graphique permet de décrire l’ossature du grafcet. Pour que celui-ci ait un intérêt, il faut pouvoir définir son “ interprétation ”, c’est-à-dire associer des actions aux étapes et des conditions aux transitions. Ceci est réalisé au moyen de fenêtres prévues à cet effet, qui sont activées par le bouton Edi après sélection d’une étape ou d’une transition dans la zone graphique. Les boutons Précédent et Suivant de ces fenêtres permettent de passer en revue tous les éléments du grafcet appartenant au type sélectionné. Description des étapes La partie supérieure de la fenêtre de description comporte une case de choix indiquant s’il s’agit d’une étape initiale ou non : cette caractéristique peut être modifiée en cliquant la case par la souris. Les actions associées à l’étape apparaissent dans un défileur à gauche de la fenêtre. Si l’on sélectionne une de ces actions, celle-ci est affichée dans l’éditeur Action, et la condition qui lui est éventuellement associée apparaît dans l’éditeur correspondant. On peut alors modifier cette action et sa condition, la substitution étant effectuée au ___________________________________________________________________________ 3/7 Sans titre-2 7 15/01/96, 14:58 H moyen du bouton Remplacer. L’action sélectionnée peut également être supprimée par le bouton correspondant. Pour créer une nouvelle action, il faut définir celle-ci dans les éditeurs Action et Condition et agir sur le bouton Ajouter. Des aides sont apportées dans la définition des actions. Le bouton Aide action permet de sélectionner une action interne, une temporisation ou un compteur. Le bouton Aide condition permet quant à lui de sélectionner les termes susceptibles d’intervenir dans l’expression de la condition d’une action, soit les actions internes, compteurs et variables de fin de temporisation. C ___________________________________________________________________________ 3/8 Sans titre-2 8 15/01/96, 14:59 Mode local 1 Description des transitions Cette description consiste à définir la réceptivité associée à la transition. La syntaxe est identique à celle des conditions des actions des étapes, une aide analogue est donc proposée. C Création des compteurs et des temporisations Dans les étapes du grafcet, on peut activer des temporisations ou faire des opérations sur les compteurs. Dans les transitions, on peut prendre en compte des variables de fin de temporisation et tester la valeur des compteurs. Pour pouvoir être utilisées dans les actions et réceptivités, ces entités doivent être préalablement définies : c’est le rôle des boutons Cpt et Tmp. Les compteurs Le bouton Cpt permet d’ouvrir une fenêtre où sont affichés les compteurs définis pour le grafcet édité. Pour créer un nouveau compteur, il faut saisir un indice entier dans l’éditeur se trouvant dans la partie droite de la fenêtre et agir sur le bouton Ajouter. Un nom de compteur est donc toujours de la forme “ Cpt<i> ” où <i> est un entier. Si l’entier <i> est tel que le compteur “ Cpt<i> ” existe déjà, un message le signale et le premier entier non affecté est proposé dans l’éditeur. Les temporisations La fenêtre permet de créer de nouvelles temporisations et de modifier la durée des temporisations existantes. Pour modifier la durée d’une temporisation, il faut sélectionner le terme “ Lt<i> ” correspondant à l’activation de cette temporisation. La durée de celle-ci est alors ___________________________________________________________________________ 3/9 Sans titre-2 9 15/01/96, 14:59 H affichée dans un éditeur où on peut la modifier : celle-ci sera prise en compte par le bouton Modifier. Pour créer une temporisation, on peut agir sur le bouton Nouvelle temporisation : le plus petit indice entier ne correspondant pas à une temporisation existante, apparaît alors dans l’éditeur temporisation. La durée par défaut est 1, elle peut bien sûr être modifiée. L’indice de la temporisation à créer peut être saisi directement dans l’éditeur temporisation. C Le bouton Ajouter permet de prendre en compte la nouvelle temporisation, à condition qu’une temporisation de même indice n’existe pas déjà. Une temporisation peut être ajoutée aux actions d’une étape par l’interface d’édition des étapes. Il suffit de saisir son nom, c’est à dire “ lt ” suivi de son numéro, ou de choisir parmi la liste de temporisations avec le bouton Aide action. La fin de temporisation dans une équation de transition est définie par la variable “ ft ” suivi du numéro de temporisation. Remarque : La suppression des compteurs et des temporisations n’est pas prévue dans l’interface. Celle-ci est en effet implicite, seules les temporisations et compteurs utilisés dans le grafcet étant sauvegardés quand on sort de l’édition. ___________________________________________________________________________ 3/10 Sans titre-2 10 15/01/96, 14:59 Mode local 1 3.2.3 Impression des grafcets SIMACTEL permet l’impression d’un bloc de sélection quelconque créé au moyen de la souris. Le bouton Imprimer situé dans la partie supérieure de la fenêtre déclenche, après confirmation, l’impression du contenu de ce bloc. Toutefois, si les dimensions du rectangle représentant le bloc ne conviennent pas pour l’imprimante, un message d’erreur signale l’abandon de la commande. Pour faciliter l’impression des grafcets, SIMACTEL met à disposition de l’utilisateur une fonctionnalité de mise en page automatique. Celle-ci s’active au moyen du bouton Pagination situé en haut de la fenêtre. Le grafcet est alors présenté en zoom arrière en faisant apparaître chaque page créée par un rectangle “ ombré ”. Les dimensions et les emplacements de ces rectangles sont calculés en fonction : C • De l’emplacement et de la proximité des “ sous-graphes ”, • De paramètres définis pour l’imprimante par défaut : dimensions et disposition du papier. L’impression, déclenchée par le bouton Imprimer, peut ensuite se dérouler de plusieurs manières : • Impression de toutes les pages : la totalité des pages créées est imprimée. • Impression des pages sélectionnées : la sélection d’une page s’effectue par simple “ clic ” dans son rectangle ; la page est alors grisée. • Impression d’une zone de sélection : l’utilisateur peut avoir recours à cette fonctionnalité lorsqu’un graphe est trop haut ou trop large pour figurer sur un seul feuillet d’imprimante. Dans ce cas, le graphe est imprimé de façon manuelle par sélections successives de zones à imprimer. Le document imprimé par SIMACTEL est formé : • D’une page contenant le schéma graphique du GRAFCET dans lequel figurent les références des étapes et des transitions, • D’une ou plusieurs pages détaillant chaque étape et chaque transition de la partie sélectionnée du GRAFCET. ___________________________________________________________________________ 3/11 Sans titre-2 11 15/01/96, 14:59 H 3.3 Animation en mode local Si un grafcet est en cours d’exécution, un synoptique de même nom est visualisable. Il contient le grafcet tel qu’il a été décrit, en mode zoom arrière (réduction au 1/5e) avec les étapes, transitions et liens. Les étapes actives sont “ allumées ” au fur et à mesure de l’évolution du grafcet. Lorsque la simulation est arrêtée, il est possible d’ouvrir directement la fenêtre d’examen pour une étape ou une transition en cliquant sur cette étape ou cette transition dans la fenêtre. C ___________________________________________________________________________ 3/12 Sans titre-2 12 15/01/96, 14:59 4 Mode Chapitre connecté 4 Mode connecté 4.1 Principe d’échange Automate / SIMACTEL 4.1.1 Introduction En mode connecté, SIMACTEL échange des E/S avec l’automate pour simuler le comportement de la partie opérative. Ces échanges sont réalisés à l’aide de deux modules logiciels : le serveur de communication et l’OFB de simulation. SIMACTEL dialogue avec le serveur de communication qui échange les E/S avec l’OFB de simulation. Ce dernier étant chargé de fournir à l’automate les évolutions d’E/S. Le schéma ci-dessous présente les échanges d’E/S entre SIMACTEL et l’automate. FTX - PC + WINOS2 TSX7 - PMX7 V5 C DDE SIMACTEL X-WAY Serveur de Communication OFB de Simulation Programme Automate ___________________________________________________________________________ 4/1 H 4.1.2 Principe de base La communication entre SIMACTEL et l’automate est donc réalisée au moyen du serveur de communication qui est chargé d’échanger les E/S avec l’OFB de simulation. Ainsi, lorsque SIMACTEL fait évoluer le modèle de la Partie Opérative (P. O.) les évolutions des entrées qu’il déduit sont communiquées au serveur. Le serveur les communique à son tour à l’OFB qui se charge de les recopier dans l’automate. Les évolutions des sorties résultant de la réaction du programme automate sont ensuite fournies en retour à SIMACTEL par l’OFB et par le serveur. C Pour fournir à l’automate les changements d’état des entrées, l’OFB dispose de commandes d’écriture directe dans la mémoire de l’API. Le recueil des évolutions de sorties s’opère, quant à lui, par une commande de lecture directe de la mémoire-image automate des sorties. En comparant celle-ci à son contenu antérieur préalablement mémorisé, l’OFB déduit les sorties dont l’état s’est modifié. En définitive, l’OFB maintient donc sa propre mémoire-image des E/S. Un temps d’attente permettant la stabilisation des sorties du programme automate est respecté entre un envoi d’évolutions d’entrées par SIMACTEL et une remontée des évolutions de sorties. Ce temps, appelé “ chien de garde ”, est généralement fixé à 3 fois le temps de cycle de la tâche MAST. Cependant, il est possible de le modifier : voir chapitre 4.3.2. ___________________________________________________________________________ 4/2 Mode connecté 4 4.1.3 Mécanisme des échanges L’OFB possède une Mémoire Image d’Entrées (MIED) qui est mise à jour à partir des évolutions du modèle de la P.O. (machine), contrôlées par SIMACTEL et fournies par le serveur ; cette MIED est ensuite transférée vers la MIE automate. La Mémoire Image des Sorties de l’OFB (MISD) est mise à jour à chaque cycle automate et comparée au contenu d’une Mémoire Image des Sorties antérieure (MISDA), permettant ainsi de calculer les changements d’état des sorties qui seront propagés dans le modèle machine. Simactel Serveur E OFB Automate C Requêtes DDE Modèle programme utlisateur ∆E MIED Requêtes UNI-TE MISDA Propagation des Sorties S MIE Propagation des Entrées MISD Requêtes DDE ∆S Requêtes UNI-TE COMPARATEUR Générateur des changements d'état des sorties MIS ___________________________________________________________________________ 4/3 H 4.2 Mise en œuvre 4.2.1 Mise en œuvre matérielle La mise en œuvre d’une plate-forme de simulation nécessite la mise en œuvre d’une communication Automate-SIMACTEL en Boucle de Courant, RS485 ou RS232. Cette communication s’appuie intégralement sur les services X-WAY. Dans le cas de SIMACTEL Mono-station, la mise en œuvre matérielle décrite ci-dessous concerne les liaisons Prise-console et UNI-TELWAY; tous les autres services X-WAY restant néanmoins compatibles (FIPWAY, MAPWAY, ETHWAY) moyennant la mise en place des supports physiques correspondants. C La connexion Automate/SIMACTEL s’effectue via le port BC/RS485 ou RS232 de la FTX, ou via le port RS232 dans le cas d’un P.C. Pour les CPU de type xx.455, l’utilisation d’une carte de communication SCM 21 sera nécessaire pour toute simulation en RS485 (UNI-TELWAY). Pour exemple, voici les connexions type dans le cas de l’utilisation d’une FTX Raccordement FTX - AUTOMATE Les connexions possibles sont les suivantes : • Sortie FTX B.C >> Prise Console • Sortie FTX RS 485 >> Prise UNI-TELWAY intégrée (CPU xx.425) • Sortie FTX RS 485 >> Prise SCM 21 • Sortie FTX RS 232 >> Prise Console (Convertisseur TSX TE 01) • Sortie FTX RS 232 vertisseur TSX SCA 72) >> Prise UNI-TELWAY intégrée (Cpu xx.425) (Con- • Sortie FTX RS 232 >> Prise SCM 21 (Convertisseur TSX SCA 72) ___________________________________________________________________________ 4/4 Mode connecté 4 4.2.2 Simulation des modules d’E/S Lors d’une simulation avec SIMACTEL, l’utilisateur peut choisir différents modules d’E/ S en bac et d’E/S déportées. Il peut ensuite déterminer les modules qu’il souhaite voir simuler par SIMACTEL et ceux qui ne doivent pas l’être. Les différentes possibilités de configuration ainsi que les contrôles de celle-ci sont détaillés ci-après. • Modules d’Entrées/Sorties simulés par SIMACTEL : ce type de configuration est le plus utilisé et permet à SIMACTEL de simuler les E/S de ces modules. L’OFB vérifie la présence de ces modules dans la configuration API et bloque le démarrage de la simulation si les modules n’existent pas ou s’ils sont différents de ceux déclarés dans SIMACTEL. Les modules peuvent être ou pas présents physiquement. C • Modules d’Entrées/Sorties non simulés par SIMACTEL et déclarés comme tels dans SIMACTEL : ce cas est surtout utilisé avec des modules de sorties car il peut être nécessaire, lors d’une mise en route sur site, de câbler certain module. Cela permet de récupérer dans SIMACTEL l’état de leurs sorties pour faire évoluer le modèle de la partie opérative simulée. L’OFB vérifie la présence de ces modules dans la configuration API et bloque le démarrage de la simulation si les modules n’existent pas. Il affiche un message non bloquant pour la simulation, si les modules non simulés sont présents dans la configuration API mais ne sont pas présents physiquement. • Modules d’Entrées/Sorties non déclarés dans SIMACTEL mais présents dans la configuration API : ce cas permet de laisser des modules d’E/S physiquement câblés qui n’interviennent pas dans l’évolution du modèle de partie opérative simulée. L’OFB affiche un message non bloquant pour la simulation si les modules ne sont pas présents physiquement. ___________________________________________________________________________ 4/5 H 4.3 Configuration de l’OFB de simulation 4.3.1 Principe de chargement de l’OFB Avant de commencer une simulation, il faut charger l’OFB SIMACTEL dans l’application automate par les opérations suivantes (on pourra ce reporter à la documentation PL73 Modes Opératoires V5 aux chapitres 6.1, 6.7 et 6.11 de l’intercalaire B, au chapitre 10.3 de l’intercalaire F et au chapitre 14.2 de l’intercalaire G) : • Accéder à l’écran CHOIX DES MODES DE CONFIGURATION par la commande CONFIGURATION de l’écran SELECTION DES MODES. Ce mode comporte 7 rubriques dont l’une permet la configuration des Blocs Fonctions Optionnels. C • Accéder à l’écran CONFIGURATION DES BLOCS FONCTIONS OPTIONNELS par la commande BLOCS FONCTIONS OPTIONNELS. C’est à partir de cet écran que l’on va charger l’OFB dans l’application automate. Les OFBs disponibles étant répartis par famille, il faudra donc charger une instance de l’OFB SIMACTEL de la famille SIMACTEL. • Utiliser la commande [NEW OFB] pour lister les OFBs disponibles sur le disque. • Trouver la famille SIMACTEL grâce aux commandes [PREV FAM] et [NEXT FAM]. L’OFB SIMACTEL apparaît alors dans la liste de gauche. • Utiliser la commande [INS] pour sélectionner l’OFB et valider par retour chariot (ENTER). • Sélectionner 1 instance de l’OFB par la commande [MODIFY], puis le nombre 1 puis valider par retour chariot. Il faut maintenant reconfigurer l’application pour que l’OFB soit pris en compte. • A partir de l’écran CHOIX DU MODE DE RECONFIGURATION, choisir la commande DIAGNOSTIC DE RECONFIGURATION qui permet de vérifier la cohérence entre le programme utilisateur et la nouvelle configuration. A la fin de la vérification, si tout est correct, le message VERIFICATION CORRECTE s’affiche. Noter qu’il est possible d’abandonner les modifications par la commande [ABORT] avant de reconfigurer l’application. • Utiliser alors la commande RECONFIGURATION pour transférer la nouvelle configuration dans la mémoire réservée à l’application. Confirmer la reconfiguration par la commande [YES]. Si la configuration s’est déroulée correctement, on revient à l’écran SELECTION DES MODES et le message RECONFIGURATION CORRECTE est affiché. • Recharger finalement l’application dans l’automate et le programme automate est prêt à être simulé. ___________________________________________________________________________ 4/6 Mode connecté 4 4.3.2 Réglage de l’OFB Nous avons vu dans le chapitre 4.1.2 qu’il était possible d’attendre un certain nombre de cycle automate après l’envoi des entrées pour remonter les sorties à SIMACTEL. En règle générale 3 cycles automate sont suffisants pour considérer que l’on a une stabilisation de l’évolution du programme utilisateur. Cependant, il est possible de modifier ce “ Chien de Garde ” par l’intermédiaire d’une constante de l’OFB appelée “ WATCHDOG ”. Pour la modifier, les opérations suivantes sont nécessaires : • Accéder à l’écran MODE CONSTANTE par la commande CONSTANTE de l’écran SELECTION DES MODES. • UTILISER la commande [OFB] pour avoir accès à la visualisation et à la modification des constantes internes de l’OFB. C • Choisir l’OFB SIMACTEL par la commande [SELECT] ainsi que son numéro, puis valider ce qui permet d’afficher les constantes internes de l’OFB. • Modifier la valeur de la constante “ WATCHDOG ” par la commande [MODIFY] puis valider. Si vous êtes en mode connecté, la modification est immédiatement prise en compte, sinon elle interviendra au prochain chargement de l’application dans l’automate. ___________________________________________________________________________ 4/7 H 4.3.3 Fonctionnement de l’OFB de simulation Lorsque l’OFB de simulation est chargé dans l’application automate, il est inactif tant que la simulation n’a pas commencé. Il est donc possible de le laisser résident dans le programme API si on désire exécuter d’autres opérations autres que la simulation. Lorsque la simulation débute, l’OFB s’active pour gérer les échanges d’E/S entre l’automate et SIMACTEL. A la fin de la simulation et jusqu’à la prochaine, il redevient inactif. Cependant, dans certain cas, l’OFB de simulation peut rester actif (cas d’une coupure secteur pendant la simulation par exemple). Les différents modes de marche de l’OFB de simulation sont détaillés ci-après. C Début simulation (Réception Conf et Conf SIMACTEL ∈ Conf Automate) OFB ACTIF Coupure secteur, ouverture ziquet et reprise à chaud OFB INACTIF (Reconf et reprise à froid) ou (Arrêt de la simulation) ___________________________________________________________________________ 4/8 Mode connecté 4.4 4 Le serveur de communication 4.4.1 Fonction Le serveur de communication est chargé de transmettre des informations entre SIMACTEL et l’OFB de simulation. Lorsque SIMACTEL fait évoluer le modèle de la P.O., il communique au serveur les évolutions d’entrées. Après écriture de ces entrées dans l’automate via l’OFB, le serveur, sur demande SIMACTEL, remonte les évolutions de sorties et les transmet à SIMACTEL. Le serveur possède donc toutes les informations sur les E/S échangées. C’est pourquoi, l’interface du serveur permet d’avoir quelques fonctionnalités présentées ci dessous. C 4.4.2 Paramètres de communication Deux paramètres sont nécessaires à l’établissement de la communication entre SIMACTEL et l’automate : • l’adresse de l’automate connecté avec le simulateur • le type de driver utilisé pour la communication Ces deux paramètres sont transmis automatiquement par XTEL au lancement de la simulation. 4.4.3 Les commandes de l’interface L’interface du Serveur est composée de menus déroulants et d’une barre d’outils permettant d’accéder aux commandes. Cette partie détaille, menu par menu, le rôle de chacune des commandes de l’interface. ___________________________________________________________________________ 4/9 H 4.5 Le menu Visualisation Le menu Visualisation comprend les commandes suivantes: Historique E/S en Bac E/S Déportées Fermer C Affiche l’historique des E/S. Affiche un synoptique des E/S en Bac. Affiche un synoptique des E/S Déportées. Ferme le document actif. 4.5.1 Commande Historique La commande Historique permet d’afficher une fenêtre de suivi qui fait défiler la succession des évolutions d’E/S en cours de simulation. Ces évolutions sont datées de deux façons différentes : pour les envois d’entrées par SIMACTEL, le temps depuis le début de la simulation est affiché devant chaque série. Pour les réceptions d‘évolutions de sorties, on indique le nombre de cycle automate nécessaire à l’apparition de ces sorties depuis le dernier envoi d’entrées. Les E/S sont affichées grâce à la commande Editer; elles appartiennent aux modules configurés par la commande Configurer. Elles sont présentées par leur adresse ou par leur mnémonique grâce à la commande Mnémoniques. • Fenêtre Historique Dans cette fenêtre, les échanges entre SIMACTEL et l’automate sont affichés. L’affichage est effectif dés que la commande Editer est utilisée. Seules les E/S configurées à l’aide de la commande Configurer sont affichées. Si la commande Mnémoniques est utilisée, l’affichage se fait sous forme de mnémoniques. Le signe (a) devant certaines sorties signifie que ce sont des sorties qui sont apparues dans l’automate plus de n cycle(s) après un envoi d’évolutions d’entrées par le simulateur. N correspond au “ WATCHDOG ”, variable d’attente de l’OFB et peut être réglé de 0 à 10. ___________________________________________________________________________ 4/10 Mode connecté 4 4.5.2 Commande E/S en Bac Utilisez cette commande pour afficher le synoptique des E/S en bac. Seuls les racks configurés dans SIMACTEL peuvent être visualisés. Tous les modules d’E/S (4,8,16 et 32) sont représentés par des modules de 16 E/S pour des raisons de lisibilité. Dans le cas des cartes de 32 entrées ou 32 sorties, les 16 premières valeurs sont affichées sur le rack i et les 16 suivantes sur le rack i+1, au même emplacement. Le passage d’un rack à un autre, se fait à l’aide des commandes Précédent et Suivant. Grâce à cette commande, Il est possible d’ouvrir plusieurs synoptiques d’E/S en bac si on désire visualiser plusieurs racks à la fois. Un double clic sur l’un des modules configurés permet d’ouvrir une boîte de dialogue contenant les E/S correspondantes avec leurs valeurs et les mnémoniques associés. Les modules d’E/S non simulés, déclarés dans la configuration SIMACTEL, sont représentés avec des hachures sur le synoptique. ___________________________________________________________________________ 4/11 C H • Boîte de dialogue Etat des E/S et mnémoniques La liste représente la correspondance entre les E/S et leurs mnémoniques. Elle indique également leurs états par la couleur du texte et d’un bouton radio affiché en vis-à-vis - rouge : - noir : état 1 état 0 C ___________________________________________________________________________ 4/12 Mode connecté 4 4.5.3 Commande E/S Déportées Utilisez cette commande pour afficher le synoptique des E/S Déportées. Seuls les points de connexion configurés dans SIMACTEL peuvent être visualisés. Pour un point de connexion, l’extension est affichée que si elle existe. Le passage d’un point à un autre, se fait à l’aide des commandes Précédent et Suivant. Grâce à cette commande, Il est possible d’ouvrir plusieurs synoptiques d’E/S déportées si on désire visualiser plusieurs points de connexion à la fois. Un double clic sur l’un des modules (base ou extension) configurés permet d’ouvrir une boite de dialogue contenant les E/S correspondantes avec leurs valeurs et les mnémoniques associés. Les modules d’E/S non simulés, déclarés dans la configuration SIMACTEL, sont représentés avec des hachures sur le synoptique. Si la base et l’extension sont non simulées et que seule l’extension est déclarée comme telle dans SIMACTEL, alors la base sera quand même représentée sur le synoptique mais de façon grisée. C 4.5.4 Commande Fermer Utilisez cette commande pour Fermer la fenêtre active. Cette commande est inaccessible si toutes les fenêtres sont fermées. ___________________________________________________________________________ 4/13 H 4.6 Le menu Historique Le menu Historique est affiché lorsque la fenêtre de l’historique est active. Le menu Historique comprend les commandes suivantes: Editer Configurer... Mnémoniques Affiche les échanges d’E/S sélectionnées entre SIMACTEL et l’automate. Permet de choisir les E/S à afficher. Permet de choisir le mode d’affichage des E/S. C 4.6.1 Commande Editer Utilisez cette commande pour afficher dans la fenêtre Historique du serveur les échanges entre SIMACTEL et l’automate. Les E/S affichées appartiennent aux modules configurés à l’aide de la commande Configurer... 4.6.2 Commande Configurer Utilisez cette commande pour choisir les modules d’E/S que vous désirez visualiser lorsque la commande Editer est active. Cette commande permet ainsi de filtrer les E/ S à afficher. • Boîte de dialogue Configuration des modules La liste de droite représente les modules d’E/S à visualiser sur la fenêtre Historique du serveur lorsque la commande Editer est active. Par défaut, toutes les E/S sont prêtes à être affichées. ___________________________________________________________________________ 4/14 Mode connecté 4 Pour enlever ou ajouter des modules, les différentes possibilités sont les suivantes : - Bouton gauche de la souris pour sélectionner un élément puis bouton ou - Double click sur un élément pour l’ajouter ou l’enlever. - SHIFT + bouton gauche de la souris pour sélectionner plusieurs modules contigus puis bouton ou - CTRL + bouton gauche de la souris pour sélectionner plusieurs modules non contigus puis bouton C ou 4.6.3 Commande Mnémoniques Utilisez cette commande pour afficher dans la fenêtre Historique du serveur les échanges entre SIMACTEL et l’automate sous la forme de mnémoniques. Si le mnémonique n’existe pas, l’adresse de l’entrée ou de la sortie correspondante sera affichée. ___________________________________________________________________________ 4/15 H 4.7 Le menu Synoptique Le menu Synoptique est affiché lorsqu’une fenêtre synoptique est active. Le menu Synoptique comprend les commandes suivantes: Précédent Suivant C Affiche le synoptique du rack ou du point de connexion précédent. Affiche le synoptique du rack ou du point de connexion suivant. 4.7.1 Commande Précédent Utilisez cette commande pour passer d’un synoptique au précédent. Cette commande est commune aux E/S en bac et aux E/S déportées. Elle agit donc sur la fenêtre synoptique active. 4.7.2 Commande Suivant Utilisez cette commande pour passer d’un synoptique au suivant. Cette commande est commune aux E/S en bac et aux E/S déportées. Elle agit donc sur la fenêtre synoptique active. ___________________________________________________________________________ 4/16 Mode connecté 4.8 4 Le menu Fenêtre Le menu Fenêtre comprend les commandes suivantes: Nouvelle Fenêtre Cascade Mosaïque Réorganiser les icônes 1 2... Duplique la fenêtre active. Arrange les fenêtres en cascade. Arrange les fenêtres en mosaïque. Aligne les icônes des fenêtres réduites. Active la fenêtre spécifiée. C 4.8.1 Commande Nouvelle Fenêtre Utilisez cette commande pour dupliquer la fenêtre active. Dans le cas de l’historique, cela permet de comparer deux séquences d’historique différentes. 4.8.2 Commande Cascade Utilisez cette commande pour afficher les fenêtres ouvertes sous forme de cascade. 4.8.3 Commande Mosaïque Utilisez cette commande pour afficher les fenêtres ouvertes sous forme de mosaïque verticale. 4.8.4 Commande Réorganiser les icônes Utilisez cette commande pour ranger les icônes des fenêtres réduites. 4.8.5 Commande 1 2 ... Utilisez cette commande pour visualiser la liste des documents ouverts et pour activer la fenêtre désirée. La fenêtre active est celle précédée d’une marque dans ce menu. ___________________________________________________________________________ 4/17 H 4.9 Le menu ? Le menu ? comprend les commandes qui vous permettent d’accéder à l’aide en ligne de l’application: C Index Affiche la liste des sujets sur lesquels vous pouvez obtenir l’aide. Utiliser l’aide Donne des informations sur la façon d’utiliser l’aide. A propos de ... Affiche le numéro de version de l’application. 4.9.1 Commande Index Utilisez cette commande pour accéder au premier écran d’aide du serveur de communication. A partir de cet écran, il vous est possible d’accéder à l’ensemble de l’aide en ligne de l’application. Ou que vous vous trouviez dans l’aide en ligne, vous pouvez cliquer sur le bouton Index pour revenir à cet écran. 4.9.2 Commande Utiliser l’aide Utilisez cette commande pour vous documenter sur l’utilisation de l’aide en ligne. 4.9.3 Commande A propos de ... Utilisez cette commande pour obtenir le numéro de version. ___________________________________________________________________________ 4/18 Mode connecté 4 4.10 Divers 4.10.1 La Barre d’outils La barre d’outil est affichée sur toute la largeur de l’application, juste en dessous de la barre de menus. La barre d’outil offre un accès rapide aux principales commandes du serveur. Cliquez Sur Ouvre l’historique. C Ouvre un Synoptique des E/S en bac. Ouvre un synoptique des E/S déportées. Ferme la vue active. Affiche les E/S configurées. Permet de configurer les E/S. Affiche les E/S sous forme de mnémoniques. Affiche le rack ou le point de connexion précédent pour la fenêtre active. Affiche le rack ou le point de connexion suivant pour la fenêtre active. Affiche les informations sur le produit. Affiche le curseur d’aide contextuelle. ___________________________________________________________________________ 4/19 H 4.10.2 La Barre d’information Appuyer sur F1 pour obtenir l'aide. La barre d’information est affichée en bas de la fenêtre principale du serveur. La partie gauche de la barre d’information explique les actions associées aux éléments de menu, lorsque vous vous déplacez dans les menus avec les touches flèche. De la même manière, cette zone affiche des messages relatifs aux boutons de la barre d’outils lorsque vous appuyez sur ces boutons sans relâcher. Si après avoir lu le message associé à un bouton de la barre d’outil, vous ne souhaitez pas exécuter la commande, libérez le bouton de la souris en dehors de la zone du bouton. C 4.10.3 Commande d’aide contextuelle Utilisez la commande d’aide contextuelle pour obtenir des informations sur une partie de l’application. Lorsque vous choisissez l’outil d’aide contextuelle dans la barre d’outils, le pointeur de la souris est remplacé par une flèche et un point d’interrogation. Puis cliquez à un endroit quelconque de votre application, un autre bouton de la barre d’outils par exemple. L’aide en ligne correspondant à cet élément est affichée. Raccourci Touches: SHIFT+F1 4.10.4 La Barre de titre La barre de titre est affichée en haut de chaque fenêtre. Elle contient, pour la fenêtre principale, le nom du serveur suivi du nom de la fenêtre active, et, pour les fenêtres secondaires, seulement le nom de celles-ci. Pour les fenêtres de synoptique, le numéro du rack (ou du point de connexion) affichés apparaît dans la barre de titre. Pour déplacer la fenêtre, maintenez la souris appuyée sur la barre de titre et déplacez la souris. Note: Vous pouvez également déplacer les boîtes de dialogue suivant le même principe. La barre de titre peut contenir les éléments suivants : • Bouton activant le menu de contrôle de l’application • Bouton d’agrandissement de l’application • Bouton de réduction de l’application • Nom de l’application •___________________________________________________________________________ Bouton de restauration 4/20 UTILITAIRES Sommaire Intercalaire D Chapitre 1 Page Transfert de fichiers 1/1 1.1 Présentation 1/1 1.2 Sauvegarde sur une disquette 1/2 1.3 Chargement à partir d’une disquette 1/3 1.4 Copie d’une machine 1/4 D 2 Documentation de l’application 2/1 2.1 Présentation 2/1 2.2 L’application SIMPRINT 2.2.1 Les formats d’édition 2.2.2 La liaison avec SIMACTEL 2.2.3 Les champs de la fenêtre principale de l’application 2/1 2/1 2/5 2/6 2.3 Le menu Fichier 2.3.1 Commande Nouveau 2.3.2 Commande Ouvrir 2.3.3 Commande Enregistrer 2.3.4 Commande Enregistrer sous 2.3.5 Commande Imprimer 2.3.6 Commande Aperçu avant impression 2.3.7 Commande Mise en page 2.3.8 Dernier fichier ouvert 2.3.9 Quitter 2/7 2/7 2/8 2/9 2/9 2/10 2/12 2/13 2/14 2/14 2.4 Le menu Dossier 2.4.1 Commande Ouvrir une machine 2.4.2 Commande Ouvrir un modèle 2/15 2/15 2/16 ___________________________________________________________________________ D/1 UTILITAIRES Chapitre Page 2.5 Le menu Format 2.5.1 Commande Général 2.5.2 Commande Bornier 2.5.3 Commande Relayage 2.5.4 Commande Axe 2.5.5 Commande Pupitre 2.5.6 Commande Paragraphes 2/18 2/18 2/20 2/21 2/22 2/24 2/25 2.6 Menu Affichage 2.6.1 Commande Barre d’outils 2.6.2 Commande Barre d’information 2/27 2/27 2/28 2.7 Le menu Aide 2.7.1 Commande Contenu de l’aide 2.7.2 Commande Aide sur l’aide 2.7.3 Commande A propos de SIMPRINT 2/28 2/28 2/29 2/29 2.8 Conseils et problèmes d’impression 2/29 D 3 Sommaire Intercalaire D Edition des Chronogrammes 3.1 Configuration 3.1.1 Edition d’un module 3/1 3/2 3.2 Eléments de présentation - Fonctions générales. 3.2.1 Présentation générale 3.2.2 Principe général 3.2.3 Entête de la page 3.2.4 Déplacement dans le chronogramme 3.2.5 Précision du diagramme. 3.2.6 Indications de temps 3/3 3/3 3/5 3/7 3/7 3/8 3/8 ___________________________________________________________________________ D/2 UTILITAIRES Chapitre Sommaire Intercalaire D Page 3.3 Diagramme des axes 3.3.1 Nature des éléments présentés 3.3.2 Changement d’origine. 3.3.3 Sélection d’un module 3.3.4 Sélection d’un axe 3.3.5 Quitter le diagramme des axes 3/10 3/10 3/10 3/10 3/11 3/11 3.4 Diagramme des mouvements d’un module 3.4.1 Nature des éléments présentés 3.4.2 Choix des éléments présentés 3.4.3 Quitter le diagramme des mouvements 3/12 3/12 3/12 3/12 3.5 Diagramme des E/S d’un axe 3.5.1 Nature des éléments présentés 3.5.2 Choix des éléments présentés 3.5.3 Quitter le diagramme des E/S 3/13 3/13 3/14 3/14 3.6 Représentation en tableau d’analyse fonctionnelle 3.6.1 Accès 3.6.2 Présentation 3.6.3 Fonctionnalités 3.6.4 Filtrage 3.6.5 Quitter la représentation AF 3/14 3/14 3/14 3/15 3/15 3/15 3.7 La comparaison de cycles 3.7.1 Principe 3.7.2 Création d’un cycle de référence 3.7.3 Activation de la comparaison 3.7.4 Affichage des durées des évolutions du cycle de référence 3.7.5 Affichage des divergences temporelles en tableau structuré 3.7.6 Déplacement de l’enregistrement de référence 3.7.7 Affichage des informations de synchronisation du cycle de référence 3.7.8 Recherche de divergence 3/16 3/16 3/16 3/18 3/19 3/19 3/19 3/20 3/20 ___________________________________________________________________________ D/3 D UTILITAIRES Chapitre D 4 Sommaire Intercalaire D Page 3.8 Impression des diagrammes 3/23 3.9 Synthèse des touches utilisées 3.9.1 Description du clavier 3.9.2 Diagramme des axes 3.9.3 Diagramme des Mouvements 3.9.4 Diagramme des Entrées/Sorties 3.9.5 Diagramme Analyse Fonctionnelle 3/24 3/24 3/24 3/25 3/26 3/27 Liaisons D.D.E. 4/1 4.1 Informations générales 4/1 4.2 Information sur la simulation 4/2 4.3 Gestion des éléments de description 4.3.1 Alimentation 4.3.2 Axe 4.3.3 Bistable 4.3.4 Capteur 4.3.5 Entrée 4.3.6 Externe 4.3.7 Mouvement 4.3.8 Piège 4.3.9 Relais 4.3.10 Sortie 4.3.11 Variable 4/4 4/4 4/5 4/6 4/7 4/9 4/9 4/10 4/11 4/12 4/13 4/14 4.4 Tableau récapitulatif 4/15 4.5 Conseils et problèmes de liaisons D.D.E. 4/16 ___________________________________________________________________________ D/4 Chapitre Transfert de fichiers 11 Transfert de fichiers 1.1 Présentation Les fonctions décrites ci-dessous permettent de transférer des fichiers machines. Pour y accéder, il faut choisir le bouton Outils dans la fenêtre principale de l’interface de configuration. Le bouton Outils permet également d’accéder à d’autres fonctionnalités du logiciel SIMACTEL documentés dans d’autres chapitre que celui-ci (cf. Sous-chapitre 1.4 de l’intercalaire B). D ___________________________________________________________________________ 1/1 1.2 Sauvegarde sur une disquette Sélectionnez la machine à sauvegarder dans le défileur se trouvant en haut à gauche de la fenêtre. Son nom s’inscrit dans l’éditeur se trouvant en haut à droite. Choisissez le lecteur de disquette sur lequel vous souhaitez recopier la machine en cliquant l’un des radio boutons A: ou B:. Le bouton Valider lance la commande. Un message d’erreur Windows apparaît si vous ne disposez pas d’une place suffisante sur votre disquette ou s’il n’y a pas de disquette présente dans le lecteur sélectionné. Dans ce cas, remédiez au problème rencontré et relancez la commande. D ___________________________________________________________________________ 1/2 Transfert de fichiers 1.3 1 Chargement à partir d’une disquette Choisissez le lecteur de disquette depuis lequel vous souhaitez recopier la machine en cliquant l’un des boutons radio A: ou B:. Sélectionnez la machine à charger dans le défileur se trouvant en haut à droite de la fenêtre. Ce défileur contient l’ensemble des machines se trouvant sur la disquette. Le bouton Valider lance la commande. D ___________________________________________________________________________ 1/3 1.4 Copie d’une machine Choisissez la machine à copier parmi celles proposées dans le défileur se trouvant en haut à gauche de la fenêtre. Le nom de la machine sélectionnée s’inscrit dans l’éditeur se trouvant à côté. Tapez le nom d’une nouvelle machine dans l’éditeur immédiatement en dessous. Un nom de machine fait au maximum huit caractères. Cliquez sur le bouton Valider pour lancer la commande. Le bouton Quitter permet de sortir de la fenêtre. D ___________________________________________________________________________ 1/4 Chapitre 22 Documentation de l'application Documentation de l'application 2.1 Présentation L’application SIMPRINT est une application Windows dédiée à l’impression des dossiers machines et des modèles SIMACTEL. Elle peut être lancée à partir de la fonction Outils de l’interface de description. Ce chapitre est consacré à cette application. Il est organisé en deux parties. La première, l’application SIMPRINT, introduit les principes de fonctionnement de l’application. La seconde, commande de l’interface, est le manuel de référence. 2.2 L’application SIMPRINT L’application SIMPRINT permet d’imprimer des dossiers machine et des modèles SIMACTEL en fonction d’un grand nombre de paramètres. Certains agissent sur la forme du dossier imprimée, par exemple le choix des polices de caractères, d’autres agissent sur son contenu. Les formats d’édition SIMPRINT permettent l’archivage et la réutilisation de ces paramètres d’un dossier imprimé à l’autre. 2.2.1 Les formats d’édition Un format d’édition est un fichier utilisé par SIMPRINT pour imprimer les dossiers des machines et des modèles. Les informations qu’il contient déterminent les éléments de description à imprimer, les polices de caractères utilisées, ou encore l’espace libre entre les bords de la feuille et le texte. Par convention, les fichiers format d’édition SIMPRINT sont de la forme “ *.FMT ”. L’interface de SIMPRINT permet de charger, de modifier et d’enregistrer ces fichiers. Le format d’édition actif est le format d’édition chargé dans l’application SIMPRINT. C’est en fonction de lui que SIMPRINT organise l’impression des données. Son nom est inscrit dans le bandeau de titre de l’application1. Lorsqu’une machine ou un modèle SIMAC est chargé, SIMPRINT active en même temps le format d’édition “ DEFAUT.FMT ” qui se trouve dans le répertoire où le progiciel SIMAC est installé. De cette façon, tout dossier est près à être imprimé dès son ouverture. Ce format est modifiable comme tous les autres. Les commandes de gestion des formats d’édition sont réparties en deux ensembles. Le premier se trouve dans le menu Fichier et regroupe toutes les commandes de gestion des fichiers format d’édition. Il permet de charger et d’enregistrer les formats d’édition (cf. Sous-chapitre 2.3 de cet intercalaire). Le second se trouve dans le menu Format. Les paramètres du format d’édition actif sont configurables depuis l’interface de l’application. Les commandes Général, Bornier, Relayage, Axe et Pupitre agissent sur le contenu du dossier imprimé. Elles permettent de sélectionner les éléments de descrip___________________________________________________________________________ 2/1 D tion à imprimer (cf. Sous-chapitre 2.5 de cet intercalaire). SIMPRINT structure le dossier imprimé en paragraphes auxquels un style est associé. Pour chaque style, les caractéristiques suivantes sont paramétrables : • saut de page : insertion de saut de page avant le paragraphe, • retrait : configuration de l’espace libre à gauche du paragraphe, • avant : configuration de l’espace libre au-dessus du paragraphe, • après : configuration de l’espace libre en dessous du paragraphe, • fonte : choix de la police de caractère utilisée pour le paragraphe. Marge gauche D Marge droite ... Texte de paragraphe précédent, texte de paragraphe précédent, texte de paragraphe précédent, texte de paragraphe précédent Espace avant Retrait Texte du paragraphe Espace après Texte du paragraphe suivant Texte du paragraphe suivant ... Les styles utilisés par SIMPRINT sont les suivants : • Titre principal • Identification • Section • Sous-section • Section niv 3 • Elément • Chronogramme • Texte normal • En-tête • Pied de page • Pupitre & Synoptique ___________________________________________________________________________ 2/2 Documentation de l'application 2 Titre principal Ce style définit l’édition du titre du dossier d’impression (la première ligne du dossier). Identification Ce style définit l’édition des libellés des champs de la première page. Les champs édités sont ceux que vous avez remplis dans la fenêtre principale de l’application. Les champs vides sont ignorés. Section, Sous-section, Section niv 3 Ces styles définissent l’édition des différents titres contenus dans le dossier. Les sections sont les différentes parties du dossier d’édition (borniers, alimentations, relais, axes, variables, bistables, variables de pupitre, pupitres et synoptiques). Les soussections et les sections de niveau 3 correspondent à des sous-parties de ces sections. Les correspondances entre texte et styles sont dépendantes des options d’édition que vous avez choisies. Elément Utilisez ce style pour configurer l’édition des noms des éléments de description (une variable, un relais...). Chronogramme Ce style définit l’édition des chronogrammes des capteurs des axes. Texte normal Ce style définit l’édition du texte normal du dossier d’édition. En-tête Ce style défini l’édition du texte faisant partie de l’en-tête de chaque page du dossier. Le seul paramètre utile de ce style est la fonte de caractères choisie. Pied de page Ce style définit l’édition du texte faisant partie du pied de page de chaque page du dossier. Le seul paramètre utile de ce style est la fonte de caractères choisie. ___________________________________________________________________________ 2/3 D Pupitre & Synoptique Ce style définit l’espace souhaitée autour des dessins des pupitres et des synoptiques. Le choix de la police de caractères est sans effet pour ce style. Zone d'entête D Cadre Zone de texte Zone de pied de page ___________________________________________________________________________ 2/4 Documentation de l'application 2 2.2.2 La liaison avec SIMACTEL Pour lancer l’impression d’un dossier, utillisez le bouton Outils de l’interface de configuration SIMACTEL. Dans la fenêtre Utilitaires, sélectionnez l’item impression de la machine sélectionnée. Si la fenêtre Impression sur <imprimante par défaut> n’apparaît pas directement, cliquez sur le bouton Valider de cette fenêtre. La fenêtre Impression sur <imprimate par défaut> permet de positionner les options d’ouverture suivantes : Bornier Imprimer la configuration des borniers et des entrées/sorties. Relais Imprime les relais et les alimentations. Axes Imprime les axes, les capteurs, les mouvements et tous les autres éléments de description associés aux axes. Pupitres Imprime les pupitres. Synoptique Imprime les synoptiques. Ouvrir SIMPRINT Ouvre le logiciel SIMPRINT. Si cette case n’est pas cochée, l’impression sera effectuée avec le format d’édition par défaut sur l’imprimante par défaut sans ouvrir le logiciel SIMPRINT. L’application SIMPRINT utilise des “ hard-copy ” d’écran pour insérer les dessins des synoptiques et des pupitres dans le dossier imprimé. Cette opération ne peut se faire qu’à partir de SIMAC. Lorsque la commande impression de la machine sélectionnée est activée, SIMACTEL commence par ouvrir toutes les fenêtres pupitre et synoptique en séquence pour stocker leur contenu dans des fichiers “ *.DIB ” (Device Independent Bitmap). Ces fichiers sont exploités en impression par le logiciel SIMPRINT. ___________________________________________________________________________ 2/5 D 2.2.3 Les champs de la fenêtre principale de l’application Les contenus des champs de la fenêtre principale de l’application permettent de préciser la nature du dossier. Ils sont imprimés en première page, s’ils sont remplis, et enregistrés dans les formats d’édition. Seul le champ Machine est rempli automatiquement par l’application SIMPRINT lorsqu’une machine ou qu’un modèle SIMACTEL est ouvert. Leurs significations sont les suivantes : • Société : Nom de la société ayant réalisé le dossier original. • Service : Service de la société chargé de la réalisation. • Date : Date de création du dossier machine. • Auteur : Nom de l’auteur de la description. • Machine : Champ en lecture seule. Le nom de la machine s’y inscrit automatiquement. • Secteur : Nom du secteur de la machine ou du processus industriel. • Code client : Numéro de codification du client. • Code classement : Numéro d’archivage, support informatique. D • Version : Indice de la version courante du dossier. Le bas de la fenêtre principale de l’application est une zone de commentaire que l’utilisateur peut exploiter pour ajouter des informations complémentaires sur la description de la machine. Cette zone est imprimée à la suite des champs. ___________________________________________________________________________ 2/6 Documentation de l'application 2.3 2 Le menu Fichier Le menu fichier regroupe toutes les commandes relatives à la gestion des formats d’édition SIMPRINT. Il comprend les commandes suivantes: Nouveau Ouvrir... Enregistrer Enregistrer sous... Imprimer... Aperçu avant impression Mise en page... Dernier fichier ouvert Quitter Crée un nouveau format d’édition. Ouvre un fichier format d’édition existant. Enregistre les modifications apportées au format d’édition actif. Enregistre le format d’édition actif sous un nouveau nom. Imprime le dossier d’édition. Affiche le dossier à l’écran tel qu’il apparaîtra une fois imprimé. Sélectionne une imprimante et son mode de connexion. Permet d’ouvrir l’un des quatre formats d’édition les plus récemment utilisés. Quitte l’application SIMPRINT. D 2.3.1 Commande Nouveau Cette commande crée un nouveau format d’édition SIMPRINT avec les options par défaut de l’application SIMPRINT. La police de caractères utilisée par défaut est “ Courrier New ”. Si cette police n’est pas installée, SIMPRINT utilise la fonte système de votre ordinateur. La commande Ouvrir permet d’ouvrir un format d’édition existant (cf. Sous-chapitre 2.3.2 de cet intercalaire). Raccourcis: Barre d’outils: Touches : CTRL+N ___________________________________________________________________________ 2/7 2.3.2 Commande Ouvrir Cette commande ouvre un format d’édition existant à partir de la boîte de dialogue Ouvrir. Le nom du format d’édition sélectionné apparaît dans le bandeau de titre de l’application. Vous pouvez également créer un nouveau format d’édition SIMPRINT à l’aide de la commande Nouveau. Raccourcis: Barre d’outils : Touches : CTRL+O • Boîte de dialogue Ouvrir Dans la boîte de dialogue, les options suivantes vous permettent de choisir le format d’édition à ouvrir : Nom de fichier Contient le nom du fichier à ouvrir. Cette liste n’affiche que les fichiers dont l’extension est identique à celle choisie (voir ci-dessous). D Liste des fichiers de type Sélectionne le type des fichiers que vous souhaité ouvrir. Les formats d’édition SIMPRINT ont par convention l’extension *.fmt. Répertoires Sélectionne le répertoire dans lequel SIMPRINT a archivé le format d’édition à ouvrir. Lecteurs Sélectionne le lecteur dans lequel SIMPRINT a archivé le format d’édition à ouvrir. Réseau2 Connecte SIMPRINT à un autre noeud du réseau. ___________________________________________________________________________ 2/8 Documentation de l'application 2 2.3.3 Commande Enregistrer Cette commande sauvegarde le format d’édition actif avec son nom et sa localisation courante. Lorsqu’un format d’édition est sauvegardé pour la première fois, SIMPRINT ouvre la boîte de dialogue Enregistrer sous (Cf.Sous-chapitre 2.3.4 de cet intercalaire) qui permet de nommer le format d’édition. Cette commande apparaît grisée tant qu’aucune modification n’a été faite sur le format d’édition actif. La commande Enregistrer sous change le nom et la localisation d’un format d’édition. Raccourcis: Barre d’outils : Touches : CTRL+S 2.3.4 Commande Enregistrer sous Cette commande enregistre le format d’édition actif sous un nouveau nom et/ou à une autre localisation. Elle ouvre la boîte de dialogue Enregistrer sous. La commande Enregistrer permet de sauvegarder les modifications du format d’édition actif (cf.Sous-chapitre 2.3.3 de cet intercalaire). • Boîte de dialogue Enregistrer sous La boîte de dialogue Enregistrer sous contient les options suivantes : Nom de fichier Contient le nouveau nom du fichier d’archivage pour le format d’édition actif. Un nom de fichier comporte jusqu’à huit caractères de dénomination et trois caractères pour l’extension. SIMPRINT ajoute automatiquement au nom du fichier l’extension spécifiée dans la liste des formats. Lecteurs Sélectionne le lecteur sur lequel le format d’édition est archivé. Répertoires Sélectionne le répertoire sous lequel le format d’édition est archivé. ___________________________________________________________________________ 2/9 D Réseau Connecte SIMPRINT à un autre noeud du réseau. D 2.3.5 Commande Imprimer Cette commande imprime un dossier SIMACTEL à partir de la boîte de dialogue Imprimer. Cette boîte de dialogue permet de choisir les pages à imprimer, le nombre de copies, l’imprimante, et d’accéder à toutes les autres options d’impression. Cette commande apparaît grisée lorsque aucun dossier machine ou qu’aucun modèle SIMACTEL n’est chargé. Raccourcis: Touches: Barre d’outils: CTRL+P • Boîte de dialogue Imprimer La boîte de dialogue contient les options suivantes : Imprimante Indique l’imprimante sélectionnée et le mode de connexion utilisé. L’option configurer modifie ces paramètres. Configurer Ouvre la boîte de dialogue Configuration de l’impression atteignable directement par la commande Mise en page (Cf.Sous-chapitre 2.3.7 de cet intercalaire). Cette option permet de choisir une imprimante et son mode de connexion. ___________________________________________________________________________ 2/10 Documentation de l'application 2 Etendue Détermine les pages à imprimer: Tout Sélection Pages Imprime le dossier complet. Option non compatible avec l’application SIMPRINT. Imprime les pages dont le numéro est compris entre le nombre saisi dans le champ De et celui saisi dans le champ A. Copies Indique le nombre de copies à effectuer. Copies triées Imprime les copies dans l’ordre au lieu d’imprimer plusieurs copies de la même page à la suite. Qualité d’impression Sélectionne la qualité d’impression. Généralement, une qualité d’impression faible demande moins de temps de calcul. D ___________________________________________________________________________ 2/11 • Boîte de dialogue Impression en cours Cette boîte de dialogue est affichée pendant que SIMPRINT envoie le dossier à l’imprimante. Le numéro de page indique la progression de l’impression. Le bouton annuler sert à quitter l’impression avant qu’elle ne soit terminée. D 2.3.6 Commande Aperçu avant impression Cette commande affiche le dossier sur écran tel qu’il apparaîtrait une fois imprimé. La fenêtre principale de l’application SIMPRINT est remplacée par une fenêtre dans laquelle sont affichées une ou deux pages dans le format d’impression choisi. La Barre d’outils de l’aperçu avant impression permet d’afficher une ou deux pages à la fois, de se déplacer vers l’arrière et vers l’avant dans le dossier affiché, de zoomer sur une page et de lancer l’impression. Cette commande apparaît grisée lorsque aucun dossier machine ou qu’aucun modèle SIMACTEL n’est chargé dans SIMPRINT. Raccourcis: Barre d’outils: Touches: ALT+V ___________________________________________________________________________ 2/12 Documentation de l'application 2 • Barre d’outils de l’aperçu avant impression La barre d’outils de l’aperçu avant impression offre les options suivantes : Imprimer Ouvre la boîte de dialogue Imprimer afin de lancer l’impression du dossier (Cf. Souschapitre 2.3.5 de cet intercalaire). Page suiv. Affiche la page suivante du dossier. Page préc. Affiche la page précédente du dossier. Une page/Deux pages Affiche une ou deux pages à la fois. Zoom + Change l’affichage pour une vision plus fine de la page affichée. Zoom Change l’affichage pour une vision plus large de la page affichée. Fermer Ferme l’aperçu avant impression et affiche de nouveau la fenêtre principale de SIMPRINT.` 2.3.7 Commande Mise en page Cette commande sélectionne l’imprimante et son mode de connexion. Elle ouvre une boîte de dialogue Configuration de l’impression. • Boîte de dialogue Configuration de l’impression Les options suivantes vous permettent de choisir une imprimante et un mode de connexion. Imprimante Sélectionne l’imprimante à utiliser. Soit l’imprimante par défaut, soit une autre imprimante de la liste. Le panneau de configuration de Windows permet d’installer de nouvelles imprimantes. Orientation Sélectionne le mode portrait ou le mode paysage. ___________________________________________________________________________ 2/13 D Taille Choisi la taille du papier sur lequel le dossier sera imprimé. Alimentation Certaines imprimantes possèdent plusieurs sources d’alimentation en papier. Cette option sélectionne la source désirée. Options Affiche une boîte de dialogue permettant de modifier d’autres options. Cette boîte de dialogue est spécifique de l’imprimante utilisée. Réseau4 Utiliser cette option pour atteindre un autre noeud du réseau. D 2.3.8 Dernier fichier ouvert Les nombres et les noms des fichiers listés en bas du menu fichier servent à ouvrir l’un des quatre derniers formats d’édition les plus récemment utilisés. 2.3.9 Quitter Cette commande termine l’utilisation de SIMPRINT. Elle est équivalente à la commande Fermer du menu de contrôle de l’application. SIMPRINT demande à ce moment d’enregistrer les modifications apportées au format d’édition actif. Raccourcis: Souris: Touches: ALT+F4 Double-clic sur le bouton de contrôle de l’application ___________________________________________________________________________ 2/14 Documentation de l'application 2.4 2 Le menu Dossier Le menu dossier regroupe les commandes d’ouverture des dossiers machine et des modèles SIMACTEL. Ces commandes sont les suivantes: • Ouvrir une machine • Ouvrir un modèle 2.4.1 Ouvre le dossier d’une machine SIMACTEL. Ouvre un modèle SIMACTEL. Commande Ouvrir une machine Cette commande ouvre un dossier machine parmi ceux listés dans la boîte de dialogue Ouvrir un dossier machine. Si un dossier machine est déjà ouvert, une marque est positionnée devant la Commande Ouvrir une machine du menu. Remarque : Le nom de la machine SIMACTEL chargée à l’aide de cette commande est affiché dans le champ machine de la fenêtre principale de l’application. Si la machine n’a pas été préalablement ouverte à partir de SIMACTEL, il est possible que les images représentants les pupitres et les synoptiques de la machine ne soient pas à jour ou soient absentes. Cette commande n’est pas disponible si l’édition d’un modèle est en cours. ___________________________________________________________________________ 2/15 D • Boîte de dialogue Ouvrir un dossier machine La liste de la boîte de dialogue contient l’ensemble des dossiers présents sur votre ordinateur. Pour ouvrir un dossier, il faut le sélectionner dans la liste et cliquer sur le bouton OK ou double-cliquer directement sur l’élément. Le bouton Annuler permet d’abandonner cette commande. D 2.4.2 Commande Ouvrir un modèle Cette commande ouvre un modèle SIMACTEL parmi ceux listés dans la boîte de dialogue Ouvrir un modèle. Si un modèle SIMACTEL est déjà ouvert, une marque est positionnée devant la Commande Ouvrir un modèle du menu. Remarque : Le nom du modèle chargé à l’aide de cette commande s’affiche dans le champ machine de la fenêtre principale de l’application. Si le modèle n’a pas été préalablement ouvert à partir de SIMACTEL, il est possible que les images représentants les pupitres et les synoptiques du modèle ne soient pas à jour ou soient absentes. ___________________________________________________________________________ 2/16 Documentation de l'application 2 Cette commande n’est pas accessible si l’édition d’une machine est en cours. • Boîte de dialogue Ouvrir un modèle La liste de la boîte de dialogue contient l’ensemble des modèles SIMACTEL se trouvant dans le même répertoire que celui chargé. Pour ouvrir un modèle, il faut le sélectionner dans la liste et cliquer sur le bouton OK, ou double-cliquer directement sur l’élément. Le bouton Annuler permet d’abandonner cette commande. D ___________________________________________________________________________ 2/17 2.5 Le menu Format Le menu format regroupe les options d’impression des dossiers d’édition de l’application SIMPRINT. • Général • • • • • Bornier Relayage Axe Pupitre Paragraphes Positionne les marges, l’en-tête et le pied de page du format d’édition. Configure l’édition des entrées et des sorties. Configure l’édition des relais et des alimentations. Configure l’édition des axes. Configure l’édition des éléments de pupitre. Sélectionne le style de chacun des types de paragraphe. 2.5.1 Commande Général D Cette commande accède aux paramètres d’ensemble de la configuration. Elle ouvre une boîte de dialogue Configuration générale qui permet de positionner les différentes options proposées par l’application SIMPRINT. • Boîte de dialogue Configuration générale Les options de la boîte de dialogue permettent de configurer l’impression réalisée par SIMPRINT. Vous pouvez immédiatement visualiser le résultat obtenu en utilisant la commande Aperçu avant impression du menu Fichier (Cf.Sous-chapitre 2.3.6 de cet intercalaire) du menu fichier. Marges Chacune des cases de ce groupe contient la valeur d’une des marges en centimètres. L’en-tête sera imprimé au-dessus de la marge haute. Le pied de page sera imprimé en dessous de la marge basse. Les marges gauche et droite correspondent à l’espace libre souhaité de chaque coté des pages du dossier. Eléments Chaque case à cocher de ce groupe correspond à une partie du dossier d’impression. Si la case est cochée, la partie correspondante du dossier d’impression est éditée. Pour changer l’état d’une case, il suffit de cliquer dessus avec la souris. Lorsque vous cliquez sur certaines de ces cases, SIMPRINT ouvre une autre boîte de dialogue qui vous permet de choisir plus finement vos options d’impression. Les options accessibles sont les suivantes: Instances Imprime les instances de modèle. Bornier(s) Imprime la configuration des borniers et les entrées/sorties. Relais/Alim. Imprime les relais et les alimentations. Axes Imprime les axes, les capteurs, les mouvements et tous les autres éléments de description associés aux axes. ___________________________________________________________________________ 2/18 Documentation de l'application 2 Pupitres Imprime les pupitres. Cadre Imprime un cadre autour de chaque page du dossier. Le cadre est coupé en trois zones: la zone de l’en-tête, une zone centrale ou le dossier est édité et celle de pied de page. En-tête Imprime l’en-tête en haut de chaque page. Pied de page Imprime le pied de page en bas de chaque page. Synoptique Imprime les synoptiques. En-tête et Pied de page L’en-tête et le pied de page des dossiers d’impression SIMPRINT sont découpés en trois zones (droite, centre et gauche). Pour chacune de ces zones vous pouvez taper un texte qui sera édité avec l’ensemble du dossier. Ces zones de texte peuvent également contenir les commandes suivantes: &P Cette séquence de caractères est remplacée à l’édition par le numéro de la page. &M Cette séquence de caractères est remplacée à l’édition par le nom de la machine ou du modèle. &D Cette séquence de caractères est remplacée par la date courante. && Cette séquence de caractères est remplacée par le caractère &. Remarque : Les commandes Bornier, Relayage, Axe et Pupitre agissent sur les cases à cocher de la configuration générale. Par exemple, si vous choisissez une configuration de Pupitre telle qu’aucun élément de pupitre ne soit imprimé, SIMPRINT désactivera automatiquement la case à cocher Pupitre de la boîte de dialogue Configuration générale. Inversement, si vous désactivez la case à cocher dans la boîte de dialogue Configuration générale, l’item Pupitre du menu ne sera plus accessible (affichage grisé). ___________________________________________________________________________ 2/19 D 2.5.2 Commande Bornier Cette commande accède directement aux paramètres relatifs à l’impression des borniers et des entrées/sorties. Elle ouvre la Boîte de dialogue Configuration des Entrées/sorties. • Boîte de dialogue Configuration des entrées/sorties Cette boîte de dialogue contient les options suivantes: Carte d’entrées/sorties Lorsque cette case est cochée SIMPRINT ajoute la liste des cartes d’E/S des borniers automate au dossier d’impression. Entrées Sélectionnez l’un des trois boutons radio du groupe pour choisir le niveau d’édition des entrées que vous souhaitez. D Non Pas d’édition des entrées. Liste Seul les noms des entrées avec leur mnémonique et leur com mentaire sont édités. Complète Inclus l’équation des entées au dossier d’édition. Sorties Sélectionnez l’un des deux boutons radio du groupe pour choisir le niveau d’édition des sorties que vous souhaitez. Non Pas de sorties dans le dossier d’édition Oui Ajoute le nom de chaque sortie accompagnée de son mnémoni que et de son commentaire au dossier d’édition. ___________________________________________________________________________ 2/20 Documentation de l'application 2 Remarque : Si toutes ces options sont désactivées (pas d’impression des cartes d’entrées/ sorties et pas d’impression des entrées ni des sorties), SIMPRINT désactive automatiquement la case à cocher Bornier de la boîte de dialogue Configuration générale. Cette fonction n’est accessible que si la case Bornier est cochée dans la boîte de dialogue Configuration générale (cf. Sous-chapitre 2.5.1 de cet intercalaire). D 2.5.3 Commande Relayage Cette commande accède directement aux paramètres relatifs à l’impression du relayage. Elle ouvre la Boîte de dialogue Configuration du relayage. • Boîte de dialogue Configuration du relayage Cette boîte de dialogue configure de l’édition du relayage dans SIMPRINT Alim. Sélectionnez l’un des trois boutons radios dans le groupe pour choisir le niveau d’édition des alimentations souhaité. Relais Sélectionnez l’un des trois boutons radios dans le groupe pour choisir le niveau d’édition des relais souhaité. Options des groupes de bouton radio Non Pas d’édition de ce type d’élément. Liste Imprime uniquement la liste des noms des éléments de ce type. Complète Inclus l’édition complète des éléments au dossier d’impression. ___________________________________________________________________________ 2/21 Remarque : Les commentaires de modèle sont imprimés à côté du nom des éléments (mode liste et complet). Si toutes les options de la boîte de dialogue sont désactivées (pas d’impression des alimentations ni des relais), SIMPRINT désactive automatiquement la case à cocher Relayage de la boîte de dialogue Configuration générale. Cette fonction n’est accessible que si la case Relais/Alim. est cochée dans la boîte de dialogue Configuration générale (cf. Sous-chapitre 2.5.1 de cet intercalaire). D 2.5.4 Commande Axe Cette commande accède directement aux paramètres relatifs à l’impression des axes. Elle ouvre la Boîte de dialogue Configuration des axes. • Boîte de dialogue Configuration des axes Cette boîte de dialogue configure l’impression des axes et des autres éléments de description mécanique dans SIMACTEL. SIMPRINT propose plusieurs niveaux d’édition pour chacun des types d’élément suivant : Capteur Sélectionne le niveau d’édition des capteurs. Les capteurs sont imprimés à la suite de l’axe auquel ils sont attachés. Mouvement Sélectionne le niveau d’édition des Mouvements. Les mouvements sont imprimés à la suite de l’axe auquel ils sont attachés. Variable Sélectionne le niveau d’édition des variables. Bistable Sélectionne le niveau d’édition des bistables. ___________________________________________________________________________ 2/22 Documentation de l'application 2 Axe Sélectionne le niveau d’édition des axes. Options des groupes de boutons radio Non Pas d’impression des éléments de ce type. Liste Ajouter la liste des noms des éléments de ce type au dossier imprimé. Complète Ajouter la description complète des éléments de ce type au dossier imprimé. Chronogramme Lorsque cette case est cochée SIMPRINT ajoute le chronogramme des capteurs de chaque axe au dossier d’impression. Remarque Les commentaires de modèle sont imprimés à côté des noms des éléments. Cette fonction n’est accessible que si la case Axes est cochée dans la boîte de dialogue Configuration générale (cf. Sous-chapitre 2.5.1 de cet intercalaire). D ___________________________________________________________________________ 2/23 2.5.5 Commande Pupitre Cette commande accède directement aux paramètres relatifs à l’impression des pupitres. Elle ouvre la boîte de dialogue Configuration des pupitres. • Boîte de dialogue Configuration des pupitres Cette boîte de dialogue permet de configurer l’impression des pupitres de SIMAC. Dessin des pupitres La sélection de cette case à cocher ajoute les dessins des pupitres au dossier d’impression. Variables Ce groupe de bouton radio permet de sélectionner le niveau d’édition des variables du pupitre. Eléments Ce groupe de bouton radio permet de sélectionner le niveau d’édition des éléments du pupitre. D Options des groupes de boutons radio Non Ne pas imprimer les éléments de description mécanique. Liste Ajouter la liste des noms des éléments de ce type au dossier imprimé. Complète Ajouter la description complète des éléments de ce type au dossier imprimé. ___________________________________________________________________________ 2/24 Documentation de l'application 2 2.5.6 Commande Paragraphes Cette commande accède directement aux paramètres relatifs à l’impression des paragraphes. Elle ouvre la Boîte de dialogue Configuration des paragraphes. • Boîte de dialogue Configuration des paragraphes Cette boîte de dialogue change la police de caractère et les autres options pour chaque type de paragraphe. Boîte à liste déroulante (Titre...) Les éléments de la liste déroulante sont les différents styles de paragraphe utilisés par SIMPRINT. A chaque style correspondent des lignes de texte dans le dossier d’impression. Les styles définis dans SIMPRINT sont les suivants: Titre principal Ce style défini l’édition du titre du dossier d’impression (la pre mière ligne du dossier). Identification Ce style définit l’édition des libellés des champs de la première page. Les champs édités sont ceux que vous avez remplis dans la fenêtre principale de l’application. Les champs vides sont ignorés. Section Sous-section Section niv 3 Ces styles définissent l’édition des différents titres contenus dans le dossier. Les sections sont les différentes parties du dossier d’édition (borniers, alimentations, relais, axes, variables, bistables, variables de pupitre, pupitres et synoptiques). Les sous-sections et les sections de niveau 3 correspondent à des sous-parties de ces sections. Les correspondances entre texte et styles sont dépendantes des options d’édition que vous avez choisies. Elément Utilisez ce style pour configurer l’édition des noms des éléments de description (une variable, un relais...). Chronogramme Ce style définit l’édition des chronogrammes des capteurs des axes. ___________________________________________________________________________ 2/25 D Texte normal Ce style définit l’édition du texte normal du dossier d’édition. En-tête Ce style défini l’édition du texte faisant partie de l’en-tête de chaque page du dossier. Le seul paramètre utile de ce style est la fonte de caractères choisie. Pied de page Ce style définit l’édition du texte faisant partie du pied de page de chaque page du dossier. Le seul paramètre utile de ce style est la fonte de caractères choisie. Pupitre & Synoptique Ce style définit l’espace souhaitée autour des dessins des pupi tres et des synoptiques. Le choix de la police de caractères est sans effet pour ce style. Saut de page avant Insère un saut de page avant chaque paragraphe utilisant ce style si cette case est cochée. Cette option est sans effet pour les styles En-tête et Pied de page. Espacement Retrait Tapez la taille du retrait souhaitée par rapport à la marge gauche pour tous les paragraphes utilisant ce style. La taille doit être donnée en centimètres. D Avant Tapez la taille de l’espace souhaitée au-dessus de la première ligne de texte de chaque paragraphe utilisant ce style. La taille doit être donnée en centimètres. Après Tapez la taille de l’espace souhaitée en dessous de la dernière ligne de texte de chaque paragraphe utilisant ce style. La taille doit être donnée en centimètres. Fonte Ouvre la boîte de dialogue Windows de choix d’une police de caractères. ___________________________________________________________________________ 2/26 Documentation de l'application 2.6 2 Menu Affichage Le menu affichage regroupe les commandes suivantes: • Barre d’outils Affiche ou masque la barre d’outils • Barre d’information Affiche ou masque la barre d’information. 2.6.1 Commande Barre d’outils Cette commande affiche ou masque la barre d’outils qui contient des boutons d’accès aux commandes les plus usuelles de SIMPRINT. Une marque apparaît à coté de l’élément du menu lorsque la barre d’outil est affichée. La barre d’outil est affichée sur toute la largeur de l’application, juste en dessous de la barre de menus. La barre d’outil offre un accès rapide aux principales commandes de l’application SIMPRINT. Ouvre un nouveau format d’édition (Cf. Sous-chapitre 2.3.1 de cet intercalaire). Ouvre un format d’édition existant. SIMPRINT ouvre la Boîte de dialogue Ouvrir à partir de laquelle vous pouvez localiser et ouvrir un format d’édition (Cf. Sous-chapitre 2.3.2 de cet intercalaire). Enregistre le format d’édition avec son nom courant. Si le format d’édition n’est pas encore nommé, SIMPRINT ouvre la boîte de dialogue Enregistrer sous (Cf.Souschapitre 2.3.3 de cet intercalaire). Affiche un aperçu avant impression du dossier avec le format d’édition actif (Cf.Sous-chapitre 2.3.6 de cet intercalaire). Imprime le dossier avec le format d’édition actif (Cf.Sous-chapitre 2.3.5 de cet intercalaire). Ouvre la boîte de dialogue A propos de SIMPRINT (Cf.Sous-chapitre 2.6.3 de cet intercalaire). Change le pointeur de la souris pour le pointeur d’aide contextuelle. ___________________________________________________________________________ 2/27 D 2.6.2 Commande Barre d’information Cette commande affiche et masque la barre d’information qui informe sur les actions effectuées sur l’interface SIMPRINT. Une marque apparaît à coté de la commande du menu si la barre d’information est affichée. La partie gauche de la barre d’information explique, lorsque vous vous déplacez dans les menus avec les touches flèche, les actions associées aux éléments de menu. De la même manière, cette zone affiche des messages relatifs aux boutons de la barre d’outils lorsque vous appuyez sur ces boutons sans les relâcher. Si après avoir lu le message associé à un bouton de la barre d’outil, vous ne souhaitez pas exécuter la commande, libérez le bouton de la souris en dehors de la zone du bouton. La partie droite informe l’utilisateur sur l’état des touches clavier suivantes: CAP La touche «capitales» est verrouillée (Caps Lock). NUM Le pavé numérique est activé (Num Lock). SCRL Le défilement est activé (Scroll Lock). D 2.7 Le menu Aide Le menu aide regroupe les commandes d’accès à l’aide en ligne de l’application: • Contenu de l’aide Ouvre l’aide en ligne de SIMPRINT à la page contenant l’index. • Aide sur l’aide Ouvre l’aide générale de Windows sur l’utilisation de l’aide. • A propos de SIMPRINT Ouvre la boîte de dialogue à propos de SIMPRINT. 2.7.1 Commande Contenu de l’aide Cette commande ouvre le premier écran d’aide de l’application SIMPRINT. A partir de cet écran, il vous sera possible d’accéder à l’ensemble de l’aide en ligne de l’application. Ou que vous vous trouviez dans l’aide en ligne, vous pouvez cliquer sur le bouton Index pour revenir à ce premier écran. ___________________________________________________________________________ 2/28 Documentation de l'application 2 2.7.2 Commande Aide sur l’aide Cette commande ouvre l’aide en ligne générale de Windows. 2.7.3 Commande A propos de SIMPRINT Cette commande ouvre la boîte de dialogue A propos de SINPRINT contenant le numéro de version ainsi que le copyright ® de l’application SIMPRINT. D 2.8 Conseils et problèmes d’impression Si l’impression est lente. La qualité de l’impression dépend de nombreux paramètres. Suivant les polices de caractères utilisés et le type d’imprimante, le temps nécessaire peut varier dans une fourchette de un à dix ; de même, pour la taille du fichier envoyé au gestionnaire d’impression. Par exemple, les imprimantes PostScript envoient des primitives graphiques pour dessiner un trait là ou d’autres imprimantes sont obligées d’envoyer des bitmaps. Il n’est pas possible de définir de règles simples. L’utilisateur doit configurer des formats d’édition SIMPRINT en fonction de son matériel et de ses attentes. Si le dernier caractère (le caractère le plus à droite) des cases droites de l’entête et/ou du pied de page n’est pas imprimé. Ceci est dû à des problèmes Windows de calcul de la taille d’une chaîne de caractères en fonction de la police utilisée. Pour remédier à ce problème, il suffit de rajouter un caractère d’espace après le dernier caractère de la chaîne considérée. ___________________________________________________________________________ 2/29 D ___________________________________________________________________________ 2/30 Chapitre 33 Edition des chronogrammes Edition des chronogrammes 3.1 Configuration Avant d’executer une trace sur l’installation, la première opération à effectuer est de configurer les modules pour structurer la représentation de la machine. Pour ce faire, sélectionnez l’item Configurer du menu Trace de la fenêtre principale de l’environnement de simulation SIMACTEL. En effet, une machine automatisée est souvent formée de sous-ensembles mécaniques auxquels peuvent correspondre des parties relativement indépendantes du programme d’animation. La fonction “ modules ” permet d’introduire une telle structuration au sein du simulateur. De fait, un module est un ensemble d’axes. Il est dit actif dès qu’un déplacement est en cours sur l’un des axes qui le composent. Il est dit inactif dans le cas contraire. La configuration de modules présente certaines analogies avec celle des pages de variables (cf. Sous-chapitre 2.3 de l’intercalaire B). Le bouton Créer permet de construire un module ; après avoir saisi le nom du module, on entre en édition. D ___________________________________________________________________________ 3/1 3.1.1 Edition d’un module La fenêtre d’édition de modules comporte, dans sa partie gauche, un défileur où apparaît l’ensemble des axes de la machine simulée. Dans la partie droite sont affichés les axes constituant le module édité. Si l’on sélectionne un axe dans une de ces deux listes, son libellé apparaît dans le haut de la partie centrale de la fenêtre et des boutons deviennent actifs. Le bouton Aval permet de visualiser au centre de la fenêtre les variables se trouvant en “ aval ” de l’axe, c’est-à-dire celles sur lesquelles les évolutions de celui-ci sont susceptibles d’avoir un effet. Il s’agit des capteurs de l’axe, des combinaisons où apparaissent ces capteurs, éventuellement des relais ou variables de modélisation et enfin des entrées concernées par l’axe. De façon analogue, le bouton Amont fait apparaître les variables situées en “ amont ” de l’axe, c’est-à-dire celles intervenant dans les évolutions de l’axe : il s’agit des mouvements, relais, bistables et sorties pilotant celui-ci. D Ces variables sont obtenues par un parcours du graphe existant entre les variables de la description, en excluant les relais faisant partie de l’alimentation générale. Le bouton Ajouter est également activé si l’on sélectionne un axe dans la partie gauche (ensemble des axes de la machine) : ce bouton permet d’ajouter l’axe au module. Si un axe du module est sélectionné (partie droite de la fenêtre), l’axe de la machine sera inséré devant cet axe dans le module, sinon il est simplement ajouté en fin de module. Si c’est un axe appartenant au module qui est sélectionné, le bouton permet au contraire de le supprimer du module. ___________________________________________________________________________ 3/2 Edition des chronogrammes 3.2 3 Eléments de présentation - Fonctions générales. 3.2.1 Présentation générale Ce chapitre explique les principes de base nécessaires à l’utilisation du logiciel de représentation des chronogrammes. Il décrit : • les éléments de la fenêtre de représentation, • comment ordonner la représentation. • comment imprimer une partie ou la totalité d’un chronogramme, • comment créer et utiliser les cycles de référence. Le premier diagramme présenté à l’utilisateur, lorsqu’il fait une consultation d’un enregistrement, est appelé Diagramme des axes. D Ce diagramme offre une vue globale du fonctionnement en présentant les changements d’états des modules (actif, inactif), et, pour chacun d’eux, l’activité des axes associés. La première ligne, Toutes variables, permet de plus l’accès à un diagramme des évolutions de la totalité des E/S et des mouvements de la machine. Si aucun module n’a été créé avant l’enregistrement, le diagramme présente simplement l’activité des axes. Le déplacement dans ce chronogramme permet de sélectionner un instant précis de l’enregistrement (touches de déplacement horizontal) et un module ou un axe (touches de déplacement vertical). Si un module est sélectionné, l’appuie sur la touche <Entrée> bascule en visualisation du diagramme des mouvements du module. ___________________________________________________________________________ 3/3 Si un axe est sélectionné, l’appuie sur la touche <Entrée> bascule en visualisation du diagramme des E/S de l’axe en rappelant en première ligne l’activité de l’axe lui-même. Des touches fonction permettront également de passer à une représentation de type fonctionnel, appelée représentation AF à partir des diagrammes des mouvements et des diagrammes des E/S (voir ci-dessous). D Outre le changement de base de temps, diverses fonctions permettent : • de calculer l’écart entre deux événements, • de hiérarchiser les capteurs/actionneurs mis en jeu selon un critère numérique, chronologique ou structurel, • de modifier l’origine des diagrammes présentés, • d’imprimer les diagrammes. ___________________________________________________________________________ 3/4 Edition des chronogrammes 3 3.2.2 Principe général Le principe général du dialogue opérateur et les fonctions accessibles à chaque niveau sont résumés dans le tableau suivant : Type de diagramme Diagramme des axes Diagramme des mouvements Diagramme des E/S Représentation AF Touches de fonctions type Fx F1: Information F2: Format Horaire/Mécanicien. F3: Zoom F4: Changement d’origine F6: Mémorisation du curseur F8: Impression écran F9: impression continue Tab: Fenêtre menu F2: Entrées/Sorties ou Sorties F3: Changement d’échelle F4: Ordre Num/Chronologique F6: Mémorisation du curseur F7: Label E/S F8: impression écran F9: impression continue Tab : Fenêtre menu F2: Capteur/Act. ou Actionn F3: Avec ou sans filtrage F4: Filtrer /ajouter l’E/S pointée F6: Mémorisation du curseur F8: impression écran F9: impression continue Tab : Fenêtre menu Touches de fonctions type Maj+ Fx Aucune Touches de fonctions type Alt + Fx Aucune Alt+F1: Sauve référence Maj+F1: Représentation AF Alt+F2: Comparaison active Maj+F2: Change format heure Alt+F3: Durées cycle référence Maj+F3: Couleur Entrées Maj+F4: Chgt d’origine Maj+F5: Zoom 1 mn Maj+F8: Dépl. cont/évolution Alt+F4: Activer dépl. référence Alt+F5: Activer resynchro Alt+F6: Recherche divergence Alt+F7: Chgt origine référence Alt+F8: Info cycle de référence Alt+F1: Sauve référence Maj+F1: Représentation Alt+F2: Comparaison active Maj+F2: Change format heure Alt+F3: Durées cycle référence Alt+F4: Activer dépl. référence Maj+F3: Couleur Entrées Alt+F5: Activer resynchro Maj+F4: Chgt d’origine Alt+F6: Recherche divergence Maj+F5: Zoom 1 mn Alt+F7: Chgt origine référence Maj+F8: Dépl. cont/évolution Alt+F8: Info cycle de référence A tout moment, l’appui sur la touche <Tab> fait apparaître un menu qui regroupe toutes les fonctions disponibles pour la représentation en cours. Chaque fonction est donc accessible soit par une touche fonction (exemple <F2>) ou une combinaison (exemple <Alt+F2>), soit par le menu décrit ci-dessous : Ce menu est composé de 2 parties : • la première partie contient l’intitulé des touches de fonction, • la deuxième contient des indications concernant les pages du menu. Dans notre exemple : • ➞ indique que l’appui sur la touche de positionnement GAUCHE affichera la page précédente du menu, ___________________________________________________________________________ 3/5 D • ➞ indique que l’appui sur la touche de positionnement DROIT affichera la page suivante du menu, • Les fenêtres du menu sont définies en rouleau comme indiqué à la figure suivante (Après affichage de la dernière fenêtre, on revient à la première). Le nombre de fenêtre dans un menu diffère selon le type de représentation. Une fois ce menu à l’écran, il est possible de : Sélectionner une fonction : en choisissant une touche fonction (ex : en appuyant sur <F3> pour le changement d’échelle), en amenant le curseur (représenté par une flèche située à droite du libellé du menu) devant la fonction choisie avec les touches de positionnement haut ou bas (! à) puis en validant par <Entrée>.(ø) Le menu se fermera et l’action sélectionnée sera exécutée. Au prochain appui sur <Tab>, le menu réapparaîtra, le curseur étant positionné en face de la dernière fonction choisie. Visionner une autre page du menu en : D appuyant sur les touches de positionnement gauche ou droite (x v). Visionner une page spéciale du menu en : <Maj> : pour afficher les fonctions de type <Maj+Fx>, <Alt> : pour faire afficher les fonctions de type <Alt+Fx>, <FIN> : pour afficher les touches type flèches, <Ctrl>, <Esc>, .. Effacer la fenêtre du menu en : appuyant sur <Esc> ou <Tab>. (aucune action n’est alors réalisée), sélectionnant une fonction comme expliqué ci-dessus. F1 : Description d'axes F2 : E/S ou Sorties F3 : Changement échelle F4 : Ordre chronologique F5 : Visualiser axes E/S F6 : Mémorisation du curseur F7 : Labels ou commentaire F8 : Impression écran F9 : Impression continue Zoom du menu F1 : Description d'axes F2 : E/S ou Sorties F3 : Changement échelle F4 : Ordre chronologique F5 : Visualiser axes E/S F6 : Mémorisation du curseur F7 : Labels ou commentaire F8 : Impression écran F9 : Impression continue ___________________________________________________________________________ 3/6 Edition des chronogrammes 3 3.2.3 Entête de la page Le haut de la page écran regroupe les éléments suivants: • l’indication de l’échelle de temps courante, • le nom de la machine dans le diagramme des axes, le label du module dans le diagramme des mouvements du module, le nom de l’axe dans le diagramme des E/ S de l’axe, • les dates et heures de début et fin d’enregistrement, • le type de diagramme présenté, • l’indication du format courant des durées, • FH : Format Horaire (hh : mn’ ss» xx), • FM : Format Mécanicien (hh: mm’ yyy), • les indications concernant l’origine et la position courante du curseur. Par défaut, l’origine correspond à l’heure de début d’enregistrement. L’écart représente la différence entre la position courante du curseur et une position préalablement mémorisée (par défaut cette position correspond à l’origine) 3.2.4 Déplacement dans le chronogramme • Le curseur Un curseur est matérialisé par une barre verticale que l’on peut déplacer dans la page à l’aide des touches de positionnement gauche et droite d’1/5 d’unité de temps dans le diagramme des axes. Dans le diagramme des mouvements et le diagramme des E/S, l’appui sur une touche de positionnement gauche ou droite permet de déplacer le curseur d’évolution en évolution (toutes les évolutions de toutes les E/S et de tous les mouvements sont prises en compte). A chaque déplacement, les indications d’écart et de position courante dans l’entête de la page sont mises à jour. Touches : <Maj+F8> : permet de passer d’un mode continu (1/5 d’unité de temps) à un mode par évolution (déplacement d’évolution en évolution). <Ctrl+Á> ou <Ctrl+Ë> : provoque un déplacement plus rapide de 10 unités. <Ctrl+Début> ou <Ctrl+Fin> : place le curseur au début ou à la fin du chronogramme. • Saut de page Une page représente 100 unités de temps d’enregistrement (6 s, 1 mn, 10 mn, 100 mn selon l’échelle). Lorsque le curseur est amené à 5 unités de temps d’une extrémité de page, un saut de page est généré provoquant un décalage de la fenêtre matérialisée à l’écran par 50 unités de temps. ___________________________________________________________________________ 3/7 D 3.2.5 Précision du diagramme. La précision du diagramme est directement liée à la modélisation de la partie opérative. Les temps affichés dans les chronogrammes et les représentations AF sont calculés à partir des distances et vitesses déclarées dans SIMACTEL. 3 échelles de temps sont disponibles: • dans le diagramme des axes : 1 mn soit 60 s, 1/10 mn soit 6 s, 1 / 100 mn soit 600 ms. • dans le diagramme des mouvements et le diagramme des E/S : 1 mn soit 60 s, 1/10 mn soit 6 s, 1/100 mn soit 600 ms, 1/1000 mn soit 60 ms. Le positionnement du graphique à l’écran est réalisé avec une précision de 1/5 d’unité de temps soit 12 ms maximum. D Touches : <F3> changement de l’échelle des temps. <Maj+F5> changement pour l’échelle des temps 1 mn dans les diagrammes des mouvements et des E/S. 3.2.6 Indications de temps • Indication de la durée Le principe de construction du diagramme consiste à tracer des segments horizontaux représentant les périodes d’activation de chaque entrée, sortie ou mouvement, ou de maintien d’un état actif, inactif d’un module. Sur chaque segment, l’indication de durée est portée en respectant le format en cours. Par défaut, le format horaire est utilisé et seuls les chiffres significatifs sont présentés. Deux types de format de durée sont possibles : - Format Horaire (FH) hh : mn’ ss» xx, (exemple: 2’7"38), - Format Mécanicien (FM) hh: mm’ yyy, (exemple: 2’138). L’indication > suivie d’une durée au dessus d’un segment (exemple : > 2 ”38) signifie que l’élément correspondant était déjà dans l’état indiqué avant l’origine ou reste dans cet état après la fin de l’enregistrement. ___________________________________________________________________________ 3/8 Edition des chronogrammes 3 L’indication X au dessus d’un segment (exemple : X) indique que l’activation est inférieure ou égale à : - 10 ms en format horaire, - 1/100 ème de minute en format mécanicien La précision de la durée est toujours la même quelle que soit l’échelle de temps utilisée. Touches : <F2> : changement du format de date dans le diagramme des modules, <Maj+F2> : changement du format de date dans le diagramme des mouvements et des E/S. • Instant de début et de fin d’activation Lorsqu’on amène le curseur sur le début ou la fin du segment, l’indication d’écart dans l’entête correspond à l’instant d’occurrence de l’événement concerné depuis l’origine. L’indication de position correspond à l’heure exacte d’apparition de l’événement. L’origine dans le diagramme des axes représente l’heure du début d’enregistrement par défaut. Elle peut être modifiée par la fonction “ changement d’origine ” : Touches : <F4> changement d’origine d’un enregistrement dans le diagramme des axes. <Maj+F4> changement d’origine d’un enregistrement dans le diagramme des mouvements et des E/S. • Ecart entre deux événements La touche <F6> permet de mémoriser la position courante du curseur. L’appui sur cette touche provoque le positionnement d’un repère triangulaire sur l’échelle des temps à la position courante du curseur. Le déplacement du curseur provoque alors automatiquement le calcul de l’écart entre la position mémorisée et la position courante. Exemple: Origine: 15:37’53"32 Courant: 15:47’26"11 Ecart: 3"10/15:47’23"1 Touche : <F6> mémorise la position du curseur. • Déplacement vertical La fenêtre matérialisée par l’écran peut être déplacée verticalement d’une ligne à l’aide des touches de positionnement haut et bas. Touches : <PgDn> et <PgUp> permettent de déplacer la fenêtre de module en module dans le diagramme des axes ou de 10 lignes dans les autres diagrammes. <Début> et <Fin> permettent de se positionner sur la première ou dernière ligne. ___________________________________________________________________________ 3/9 D 3.3 Diagramme des axes 3.3.1 Nature des éléments présentés Une page écran regroupe 16 lignes représentant l’activité des modules et des axes sur une même plage de temps. L’activité d’un axe est représenté par un trait épais (sens avance) ou d’un triple trait (sens recul) surmonté d’un temps représentant la durée. • Le module “ toutes variables ” Le premier module nommé “ toutes variables ” est fictif. Il regroupe toutes les entrées/ sorties déclarées dans SIMACTEL. Il permet de visualiser toutes les entrées/sorties dans le même diagramme. 3.3.2 Changement d’origine D Si un enregistrement regroupe plus de 3000 changements d’état dans un module, le diagramme représente les 3000 premiers à partir de l’origine, ce qui constitue un secteur. Le changement d’origine consiste à déplacer l’origine du diagramme jusqu’à la position courante du curseur, donc à déplacer le secteur visualisé dans l’enregistrement global. Remarque Un changement d’origine, effectué lorsque le curseur est placé sur l’origine, repositionne celle-ci au début de l’enregistrement. Le diagramme des E/S est limité aux 3000 premiers changements d’état des entrées/sorties du module sélectionné à partir de l’instant correspondant à la position courante du curseur. Pour visualiser la suite de l’enregistrement, il suffit de se placer à la fin du secteur puis de faire un changement d’origine. Touches : <F4> changement d’origine dans le diagramme des axes. 3.3.3 Sélection d’un module La sélection d’un module permet de visualiser les mouvements correspondant au module sélectionné, présentés axe par axe. La position du curseur dans le diagramme des axes fixera l’origine du curseur dans le diagramme des mouvements du module. ___________________________________________________________________________ 3/10 Edition des chronogrammes 3 Touches : <!>, <à> déplacement haut ou bas, <Début> et <Fin> déplacement au premier ou au dernier module, <Entrée> sélection du module. 3.3.4 Sélection d’un axe La sélection d’un axe permet de visualiser les E/S et les mouvements de l’axe, ceux-ci étant placés en fin de liste. La première ligne rappelle l’activité des mouvements de l’axe. La position du curseur dans le diagramme des axes fixera l’origine du curseur dans le diagramme des E/S de l’axe. Touches : <!>, <à> déplacement haut ou bas, <Début> et <Fin> déplacement au premier ou au dernier module, <Entrée> sélection de l’axe. 3.3.5 Quitter le diagramme des axes L’appui sur la touche <Esc> permet de quitter le diagramme des axes. De plus, cette action permet de sortir du logiciel de représentation. ___________________________________________________________________________ 3/11 D 3.4 Diagramme des mouvements d’un module A partir du diagramme des axes, la sélection d’un module et d’un instant d’enregistrement provoque la présentation du diagramme des mouvements du module. L’origine de ce diagramme correspond alors à la position courante du curseur dans le diagramme des axes au moment de la validation. Inversement, tout déplacement du curseur sera répercuté dans le diagramme des axes. 3.4.1 Nature des éléments présentés • Ligne d’état de l’axe Le haut du chronogramme présente la ligne d’état du module, telle qu’elle apparaît dans le diagramme des axes. L’utilisateur peut ainsi mettre directement en rapport l’activité du module avec l’activité des mouvements. D 3.4.2 Choix des éléments présentés L’ordre dans lequel les éléments sont présentés sur un chronogramme peut être sélectionné par l’utilisateur. La nature des éléments présentés est toujours rappelé dans l’entête de la page. Le tri par ordre chronologique s’effectue en comparant les temps d’apparition des premiers fronts de chaque élément à partir de la position mémorisée (touche <F6>). Les éléments jamais actifs ou qui sont déjà actifs à l’instant correspondant sont présentés en fin de liste. Touche : <F4> permet de passer de l’ordre numérique à l’ordre chronologique et inversement. 3.4.3 Quitter le diagramme des mouvements L’appui sur la touche <Esc> permet de quitter le diagramme des mouvements. De plus, cette action permet de revenir au diagramme des axes. ___________________________________________________________________________ 3/12 Edition des chronogrammes 3.5 3 Diagramme des E/S d’un axe A partir du diagramme des axes, la sélection d’un axe et d’un instant d’enregistrement provoque la présentation du diagramme des E/S de l’installation. L’origine de ce diagramme correspond alors à la position courante du curseur dans le diagramme des axes au moment de la validation. Inversement, tout déplacement du curseur sera répercuté dans le diagramme des axes. 3.5.1 Nature des éléments présentés • Choix Entrées ou Entrées/Sorties Par défaut, les éléments présentés à l’écran sont les entrées/sorties puis les mouvements et les axes à surveiller pour le module. Les E/S sont triées dans l’ordre numérique de leur dénomination automate. Touche : <F2> permet de basculer de la représentation du diagramme des sorties à celui des entrées/sorties et réciproquement. • Différencier les couleurs des évolutions des entrées et des sorties Par défaut, les évolutions des entrées/sorties sont représentées en jaune. Toutefois, afin de faciliter la lecture du chronogramme, il est possible de modifier les couleurs des évolutions des entrées . Trois couleurs sont disponibles : jaune, bleu, blanc. Touche : <Maj+F3> permet de modifier les couleurs des évolutions des entrées en les faisant passer respectivement de jaune à bleu, de bleu à blanc puis de blanc à jaune. • Ligne d’état de l’axe Le haut du chronogramme présente la ligne d’état de l’axe, telle qu’elle apparaît dans le diagramme des axes. L’utilisateur peut ainsi mettre directement en rapport l’activité des mouvements de l’axe avec les évolutions des entrées/sorties. ___________________________________________________________________________ 3/13 D 3.5.2 Choix des éléments présentés L’ordre dans lequel les éléments sont présentés sur un chronogramme peut être sélectionné par l’utilisateur. La nature des éléments présentés est toujours rappelé dans l’entête de la page. Le tri par ordre chronologique s’effectue en comparant les temps d’apparition des premiers fronts de chaque élément à partir de la position mémorisée (touche <F6>). Les éléments jamais actifs ou qui sont déjà actifs à l’instant correspondant sont présentés en fin de liste. Touche : <F4> permet de passer de l’ordre numérique à l’ordre chronologique et inversement. 3.5.3 Quitter le diagramme des E/S D L’appui sur la touche <Esc> permet de quitter le diagramme des E/S. De plus, cette action permet de revenir au diagramme des axes. 3.6 Représentation en tableau d’analyse fonctionnelle 3.6.1 Accès L’accès à la représentation de type tableau structuré s’effectue par appui sur les touches <Maj+F1> à partir du diagramme des E/S ou du diagramme des mouvements. 3.6.2 Présentation Cette représentation restitue sous forme de tableaux structurés les mêmes informations que le chronogramme. Elle permet de suivre de façon chronologique les évolutions des Entrées/Sorties et de repérer instantanément les évolutions synchrones (voir figure suivante). ___________________________________________________________________________ 3/14 Edition des chronogrammes 3 3.6.3 Fonctionnalités La position courante du curseur correspond au temps d’apparition de la première évolution affichée à l’écran (repérée par une flèche) et peut être mémorisée par appui sur la touche <F6>. Tous les changements effectués en représentation AF restent valables dans le chronogramme. Il est à noter que la plupart des touches utilisables en représentation des mouvements ou des E/S sont utilisables pour la représentation AF. Touches : <➞>ou <➞> déplacement du curseur évolution par évolution, <PgUp>, <PgDn> déplacement page par page dans la liste des évolutions. 3.6.4 Filtrage Si les évolutions d’une ou plusieurs Entrées/Sorties “gênent ” l’analyse ou ne sont pas utiles ˆ la compréhension du séquencement des évolutions, l’utilisateur peut les éliminer temporairement de la représentation. Cette opération constitue le filtrage. Pour effectuer un filtrage, il suffit de se positionner en mode “ Repr_sentation AF avec filtrage ” (indication figurant dans l’ent_te) à l’aide de la touche <F3>. En mode “Représentation AF ”, si le filtrage n’est pas actif, les Entrées/Sorties préalablement filtrées sont marquées du signe *. Dans ce cas, l’appui sur la touche <F4>, permet de faire réappara”tre les évolutions de l’E/S pointée dans la représentation avec filtrage. Le filtrage ne fonctionne que lors de la représentation AF. Toutefois, il est possible d’utiliser ce filtrage dans le diagramme des Entrées/Sorties. Touches : <F3> : Active ou désactive la représentation avec filtrage, <F4> :permet de filtrer de la représentation l’entrée/sortie pointée par la flèche, ou permet de restituer une entrée/sortie filtrée au préalable (repérée par le signe *). 3.6.5 Quitter la représentation AF L’appui sur la touche <Esc> permet de quitter la représentation AF. Cette action permet de revenir au mode “ standard ” du diagrammes des mouvements ou des E/S. ___________________________________________________________________________ 3/15 D 3.7 La comparaison de cycles 3.7.1 Principe Cette fonction permet de présenter sur l’écran deux chronogrammes enregistrés à des instants différents. La représentation simultanée de ces deux enregistrements permet de visualiser les divergences du fonctionnement d’une installation à un instant donné, par rapport à un fonctionnement de référence. La mémorisation d’un chronogramme de référence s’effectue au vu du chronogramme par sélection de la globalité ou d’une partie de ce chronogramme et par une demande de sauvegarde. La comparaison peut être ensuite activée à tout moment. Le chronogramme de référence vient alors se juxtaposer au chronogramme présent à l’écran. Il est possible de déplacer un chronogramme par rapport à l’autre pour faire coïncider les changements d’états d’E./S. Durant les phases de comparaison de chronogrammes, toutes les fonctionnalités restent disponibles: changement de base de temps, tri chronologique, sélection Entrées ou Entrées/Sorties,... D Cette comparaison de cycles est utilisable en mode “ diagramme des E/S ”, “ diagramme des mouvements ” ou en mode “ représentation AF ”. 3.7.2 Création d’un cycle de référence Le cycle de référence est délimité par la position mémorisée d’une part (accessible par la touche <F6>), et la position courante du curseur d’autre part. Si les deux sont confondues, l’ensemble de l’enregistrement est sauvegardé (1500 évolutions maximum). La création d’un cycle de référence peut se faire soit au vu du chronogramme des entrées/sorties, soit au vu de la représentation en tableau structuré. ___________________________________________________________________________ 3/16 Edition des chronogrammes 3 Les étapes à suivre pour créer un cycle de référence sont résumées dans le tableau suivant : Action Touches Positionner le curseur à l’endroit où l’on désire que débute le cycle <x>,<v>,<Ctrl+x> <Ctrl+v> en mode de référence. Par exemple, à l’instant de “ DEBUT DE CYCLE ” représentation des E/S, <!>, <à>, <PgUp> ou <PgDn> en mode AF, Effectuer une mémorisation de cette position <F6> (mémo curseur) Positionner le curseur à l’endroit où l’on désire que se termine l’enregistrement de référence. Par exemple, à l’instant de “ FIN DE CYCLE ” <x>,<v>,<Ctrl+x> <Ctrl+v> en mode représentation des E/S, <!>, <à>, <PgUp> ou <PgDn> en mode AF, Sauvegarder l’enregistrement de référence pour les 2 positions indiqués <Alt+F1> Confirmer l’enregistrement du cycle de référence <O> pour confirmer <N> pour annuler la création. Le cycle de référence va alors se resynchroniser automatiquement sur les mêmes conditions de début de cycle suivantes trouvées dans l’enregistrement. Automatique Une fois la confirmation faite, le cycle de référence est automatiquement sauvegardé. Il est possible d’en recréer un à tout moment. Un enregistrement de cycle de référence comprend : • les évolutions de toutes les E/S (dans la limite de 1500 évolutions), • les informations caractéristiques de l’instant de début d’enregistrement : • le premier changement d’état d’Entrées/Sorties (parmi l’ensemble des E/S de l’axe), • l’état logique des Entrées/Sorties présentées à l’écran à l’instant de ce changement d’état. Ces informations sont visibles par appui sur les touches <Alt+F7>. On peut créer autant de cycle de référence qu’il y a d’élément représentés au niveau du diagramme des axes. Un seul cycle de référence peut être créé par élément. ___________________________________________________________________________ 3/17 D Touches agissant sur les cycles de référence : • <Alt+F2> désactiver ou activer (s’il existe) l’affichage du cycle de référence • <Alt+F3> afficher les durées du cycle de référence, • <Alt+F4> déplacer dans le temps le cycle de référence, • <Alt+F5> effectuer une recherche de divergence automatique, • <Alt+F6> changer l’origine du cycle de référence dans le temps, • <Alt+F7> visualiser les informations de synchronisation du cycle de référence, • <+> (plus) effectuer une resynchronisation du cycle de référence vers l’avant de l’enregistrement, • <-> (moins) effectuer une resynchronisation du cycle de référence vers l’arrière de l’enregistrement. D 3.7.3 Activation de la comparaison Le chronogramme de référence est présenté en bleu avec un motif différent pour le distinguer en mode chronogramme, ou à droite en mode tableau structuré. En mode comparaison, il est toujours possible de modifier la base de temps (touche <F3>), de visionner les sorties seules ou les entrées/sorties (touche <F2>), .... Touche : <Alt+F2> lance la superposition des cycles de référence et en cours. ___________________________________________________________________________ 3/18 Edition des chronogrammes 3 3.7.4 Affichage des durées des évolutions du cycle de référence Par défaut, les durées des évolutions affichées sont celles du cycle courant. Il est possible toutefois d’afficher les durées des évolutions du cycle de référence en mode chronogramme. Touches : <Maj+F2> affiche les durées des évolutions du cycle de référence au format horaire ou mécanicien, <Alt+F3> permet d’alterner les indications de durée de l’enregistrement courant avec celles de l’enregistrement de référence. 3.7.5 Affichage des divergences temporelles en tableau structuré Le temps indiqué pour chaque évolution de l’enregistrement courant (celui de gauche) correspond à la différence calculée entre le temps courant et le temps de référence. Considérons les cas suivants pris sur la figure suivante : • l’entrée I02,5 : active au bout de 4’10’’45 sur l’enregistrement courant (figure précédente) et active au bout de 4’10’’35 sur l’enregistrement de référence (figure suivante et précédente) affichera une divergence temporelle positive de 10 centième de seconde (signifiant que l’enregistrement au moment de cette évolution, à un retard de 10 centième de seconde sur le cycle de référence). • l’entrée I02,3 : active au bout de 4’13’’05 sur l’enregistrement courant (figure précédente) et active au bout de 4’13’’10 sur l’enregistrement de référence (figure suivante et précédente) affichera une divergence temporelle négative de (-5) centième de seconde.(signifiant que l’enregistrement au moment de cette évolution, à une avance de 5 centième de seconde sur le cycle de référence). Touche : <Alt+F3> permet d’afficher les divergences temporelles. 3.7.6 Déplacement de l’enregistrement de référence Pour faciliter la comparaison, il est possible de déplacer, dans le diagramme, l’enregistrement de référence. Ce déplacement peut s’effectuer de trois façons différentes : • à chaque déplacement du curseur, il suffit d’appuyer sur les touches <Alt+F4> et d’utiliser les touches < x>, <v> ou <Ë> en mode chronogramme, <!> ou <à> en mode tableau structuré, l’enregistrement de référence se déplace alors dans le diagramme avec le curseur. • de cycle en cycle, l’appui sur les touches <+> (plus) ou <-> (moins) provoque la recherche du cycle suivant ou précédent à partir de la position du curseur. Si le début de l’enregistrement de référence correspond à un début de cycle, l’enregistrement de ___________________________________________________________________________ 3/19 D référence est ainsi déplacé de cycle en cycle dans le chronogramme. • par décalage de l’enregistrement de référence à la position courante du curseur par appui sur les touches <Alt+F6> Concernant le déplacement du cycle de référence de cycle en cycle à l’aide des touches <+> ou <->, cela consiste à retrouver dans l’enregistrement courant les mêmes conditions qu’à l’instant du début de l’enregistrement de référence. C’est-à-dire le changement d’état correspondant à la première évolution avec les mêmes états logiques des E/S affichées lors de la sauvegarde. Toutes les évolutions de l’enregistrement courant ne correspondant pas à une évolution du cycle de référence sont considérés comme une divergence. Les divergences fonctionnelles sont directement affichées en rouge et marquées par le symbole «#». D 3.7.7 Affichage des informations de synchronisation du cycle de référence Les informations affichées sont les suivantes : • La date et l’heure de l’enregistrement, • les informations caractéristiques de l’instant de début d’enregistrement : • le premier changement d’état d’Entrées/Sorties (parmi l’ensemble des E/S du module), • l’état logique des Entrées/Sorties présentées à l’écran à l’instant de ce changement d’état. Touche : <Maj+F7> provoque l’affichage des informations du cycle de référence. 3.7.8 Recherche de divergence Une recherche de divergence peut être opérée automatiquement afin de comparer l’enregistrement complet par rapport au cycle de référence préalablement créé. La recherche s’effectue à partir de la position courante du curseur et se termine à la fin de l’enregistrement. A chaque divergence trouvée, la recherche s’arrête et affiche le type de divergence trouvée. Touches : <Maj+F5> lance la recherche de divergence automatique, <Esc> met fin à la recherche de divergence automatique en cours. • Principe de recherche d’une divergence A chaque resynchronisation sur un cycle, la liste des évolutions du cycle courant est comparée à la liste des évolutions du cycle de référence. ___________________________________________________________________________ 3/20 Edition des chronogrammes 3 En représentation A.F. on tient compte aussi du filtrage, la divergence visualisée peut alors être différente de celle dans le chronogramme. • 1ere Etape A partir du premier changement d’état du cycle, on compare évolution par évolution le cycle courant et le cycle de référence. Le premier changement d’état différent appartenant au cycle de référence est recherché dans le cycle courant parmi les évolutions suivantes. Sur un changement d’état d’une sortie La recherche s’arrête au premier changement d’état d’une entrée OU à la première évolution d’une sortie séparée de plus de 200 ms D Comparaison de cycle évolution par évolution pour une sortie Sur une entrée La recherche s’arrête au premier changement d’état d’une sortie ou au premier temps différent. Comparaison de cycle évolution par évolution pour une entrée ___________________________________________________________________________ 3/21 • 2eme Etape Si la recherche de l’évolution aboutit, on considère qu’il n’y a aucune divergence. On s’intéresse alors au changement d’état correspondant dans le cycle courant que l’on recherche de la même façon dans le cycle de référence. De même, si l’évolution est trouvée, aucune divergence n’est signalée et on passe à l’évolution divergente suivante. Pour un groupe de divergence, la zone de recherche commence à la première évolution divergente. • Visualisation des divergences La divergence ainsi trouvée est signalée par un message en bas de l’écran. “ Divergence : I02,4 - TOURELLE MILIEU ==> front · non attendu ” ou “ Divergence : I02,4 - TOURELLE MILIEU ==> front Í manquant ” D Il s’agit soit d’un front non attendu dans le cycle courant, soit d’un front du cycle de référence manquant dans le cycle courant. La divergence est marquée dans le chronogramme par le symbole “ DIV ” en rouge ou “ div ” en bleu. En représentation A.F., la ligne correspondante à la divergence trouvée est signalée en violet. ___________________________________________________________________________ 3/22 Edition des chronogrammes 3.8 3 Impression des diagrammes A tout moment, un chronogramme peut être imprimé, que ce soit le diagramme des axes, le diagramme des mouvements, le diagramme des E/S ou la représentation AF. L’impression peut se faire sur 2 types d’imprimantes, les imprimantes EPSON ou compatibles, et les imprimantes HP LaserJet. Le début de la zone d’impression est caractérisé par l’origine de l’enregistrement, et la fin de la zone d’impression correspond à la position du curseur courant. L’impression se fait à partir du premier élément indiqué dans la liste. Une feuille A4 permet d’imprimer 32 éléments. Pour réaliser l’impression d’une partie ou de l’ensemble d’un chronogramme, il faut : Action Touches <x>,<v>,<Ctrl+x>, <Ctrl+v> en mode Positionner le curseur à l’endroit où l’on désire que débute l’impression. Effectuer le changement d’origine pour marquer le début de l’impression Pour imprimer une partie : Positionner le curseur à l’endroit où l’on désire que se termine l’impression, Pour imprimer l’ensemble : ne pas déplacer le curseur (le laisser à l’origine de l’enregistrement.) diagramme des axes, diagramme des mouvements ou diagramme des E/S. <!>, <à>, <PgUp> ou <PgDn> en mode AF, <F4> dans le diagramme des axes, <Maj+F4> dans le diagramme des mouvements, le diagramme des E/S ou en représentation AF, <x>,<v>,<Ctrl+x>, <Ctrl+v> en mode représentation des mouvements, des E/S, ou diagramme des axes. <!>, <à>, <PgUp> ou <PgDn> en mode AF, Lancer l’impression <F9> Sélectionner le type d’imprimante <1>: imprimante EPSON <2> : imprimante type HP LaserJet. <Esc>: annuler l’impression L’impression peut être arrêté à tout moment par appui sur <Esc>. Le choix de l’imprimante n’est demandé que pour la première impression. Touches : <F8> imprime l’écran, <F9> imprime tout ou partie du chronogramme. ___________________________________________________________________________ 3/23 D 3.9 Synthèse des touches utilisées 3.9.1 Description du clavier La figure ci-dessous illustre les différentes touches utilisées lors de la représentation des chronogrammes. Ces touches sont repérées par un contour grisé et un libellé (la disposition et les libellés des touches peuvent être différents selon le type de clavier utilisé). D 3.9.2 Diagramme des axes • Touches de fonctions type Fx Fonctions Explications F1 F2 F3 F4 F6 F8 F9 Donne la version du logiciel Format horaire (HH:MM’SS»XX) ou mécanicien (HH:MM’XXX) Echelle : 1 mn (60 s.), 1/10 mn (6s.), 1/100 mn (600 ms) Changement de l’origine du diagramme Mémorisation de la position du curseur Impression de la partie affichée à l’écran Impression du diagramme (entre la position mémorisée et le curseur courant) : Informations logiciel : Change format HMS ou HM : Changement échelle : Changement d’origine : Mémorisation du curseur : impression écran : impression continue ___________________________________________________________________________ 3/24 Edition des chronogrammes 3 • Touches clavier Touches clavier Explications Home, End : 1er/dernier module Ctrl+Home : Début enreg. Ctrl+End : Fin enregistrement PgUp,PgDn : Défilement haut/bas x v : Instant préc./suivant Ctrl Á Ë : Défilement rapide ! à : Module préc./suivant Return : Sélection module ou axe Tab : Affichage fen. menu Esc : Quitter Accès au premier ou au dernier module du diagramme Accès au premier module du diagramme Accès au dernier module du diagramme Déplace la fenêtre de 10 lignes vers le haut ou le bas Déplacement d’1/5 d’unité de tps vers l’instant précédent ou suivant Déplacement rapide (10 unit. de temps) vers l’instant préc. ou suiv. Module précédent ou suivant Afficher le diagramme des E/S correspondantes au module sélectionné. Affichage des menus dans une fenêtre Quitter le diagramme des modules 3.9.3 Diagramme des Mouvements D • Touches de fonctions type Fx Fonctions Explications F3 F4 F6 F7 F8 F9 Ech. : 1 mn, 1/10 mn (6s), 1/100 mn (600 ms), 1/1000 mn(60 ms) Visualisation des mvts dans l’ordre numérique ou chronologique Mémorisation de la position courante du curseur Label complet ou partie du label Impression de la partie affichée à l’écran Impression du diagramme (entre la position mémorisée et le curseur courant) : Changement échelle : Ordre num./Ordre chronolog. : Mémo. position curseur : Label E/S : impression écran : impression continue • Touches de fonctions type Maj+Fx Fonctions Explications SF1 SF2 SF3 SF4 SF5 SF8 Accès au mode ANALYSE FONCTIONNELLE Format horaire (HH:MM’SS»XX) ou mécanicien (HH:MM’XXX) Changement de la couleur des mvts (jaune, blanc ou bleu) Déplacement de l’origine du diagramme jusqu’à la position courante Zoom 1 minute Mode de déplacement du curseur vertical continu ou par évolution : Représentation AF : Change format HMS ou HM : Change couleur Entrées : Changement origine : ZOOM 1 mn : Dépl. continu / par évolution • Touches de fonctions type Alt+Fx Fonctions Explications AF1 AF2 AF3 AF4 AF5 AF6 AF7 AF8 Accès au mode ANALYSE FONCTIONNELLE Format horaire (HH:MM’SS»XX) ou mécanicien (HH:MM’XXX) Changement de la couleur des mvts (jaune, blanc ou bleu) Déplacement de l’origine du diagramme jusqu’à la position courante Zoom 1 minute Mode de déplacement du curseur vertical continu ou par évolution Permet de modifier l’origine du cycle de référence Affiche les informations sur le cycle de référence : Sauve référence : Comparaison active : Durée cycle référence : Changement origine : Activer resynchro. : Recherche divergence : Chgt origine référence : Info cycle de référence ___________________________________________________________________________ 3/25 • Touches clavier D Touches clavier Explications Home, End Ctrl+Home Ctrl+End PgUp,PgDn -, + x v Ctrl x v ! à Maj, Alt Tab Esc Accès au premier ou au dernier mvt du chronogramme Accès au premier mouvement du chronogramme Accès au dernier mouvement du chronogramme Déplace la fenêtre de 10 lignes vers le haut ou le bas Vers le cycle précédent ou suivant (en comparaison seulement) Déplacement d’1/5 d’unité de tps vers l’instant précédent ou suivant Déplacement rapide (10 unit. de temps) vers l’instant préc. ou suiv. Mouvement précédent ou suivant Affichage des menus pour les fonctions en Maj+Fx ou Alt+Fx Affichage des menus dans une fenêtre Quitter le diagramme des Mouvements : 1ère/dernière E/S. : Début enreg. : Fin enregistrement : .Défilement haut/bas : Cycle préc./suivant : Instant préc./suivant : Défilement rapide : E/S préc./suivante : Autres menus : Affichage fen. menu : Quitter 3.9.4 Diagramme des Entrées/Sorties • Touches de fonctions type Fx Fonctions Explications F2 F3 F4 F6 F7 F8 F9 Visualisation des Entrées/Sorties ou des sorties uniquement Ech. : 1 mn, 1/10 mn (6s), 1/100 mn (600 ms), 1/1000 mn(60 ms) Visualisation des E/S dans l’ordre numérique ou chronologique Mémorisation de la position courante du curseur Label complet ou partie du label + adresse des E/S Impression de la partie affichée à l’écran Impression du diagramme (entre la position mémorisée et le curseur courant) : E/S ou Sorties : Changement échelle : Ordre num./Ordre chronolog. : Mémo. position curseur : Label E/S : impression écran : impression continue • Touches de fonctions type Maj+Fx Fonctions Explications SF1 SF2 SF3 SF4 SF5 SF8 Accès au mode ANALYSE FONCTIONNELLE Format horaire (HH:MM’SS»XX) ou mécanicien (HH:MM’XXX) Changement de la couleur des Entrées (jaune, blanc ou bleu) Déplacement de l’origine du diagramme jusqu’à la position courante Zoom 1 minute Mode de déplacement du curseur vertical continu ou par évolution : Représentation AF : Change format HMS ou HM : Change couleur Entrées : Changement origine : ZOOM 1 mn : Dépl. continu / par évolution ___________________________________________________________________________ 3/26 Edition des chronogrammes 3 • Touches de fonctions type Alt+Fx Fonctions Explications AF1 AF2 AF3 AF4 AF5 AF6 AF7 AF8 Accès au mode ANALYSE FONCTIONNELLE Format horaire (HH:MM’SS»XX) ou mécanicien (HH:MM’XXX) Changement de la couleur des Entrées (jaune, blanc ou bleu) Déplacement de l’origine du diagramme jusqu’à la position courante Zoom 1 minute Mode de déplacement du curseur vertical continu ou par évolution Permet de modifier l’origine du cycle de référence Affiche les informations sur le cycle de référence : Sauve référence : Comparaison active : Durée cycle référence : Changement origine : Activer resynchro. : Recherche divergence : Chgt origine référence : Info cycle de référence • Touches clavier Touches clavier Explications Home, End Ctrl+Home Ctrl+End PgUp,PgDn -, + x v Ctrl x v ! à Maj, Alt Tab Esc Accès à la première ou à la dernière E/S du chronogramme Accès à la première E/S du chronogramme Accès à la dernière E/S du chronogramme Déplace la fenêtre de 10 lignes vers le haut ou le bas Vers le cycle précédent ou suivant (en comparaison seulement) Déplacement d’1/5 d’unité de tps vers l’instant précédent ou suivant Déplacement rapide (10 unit. de temps) vers l’instant préc. ou suiv. E/S précédente ou suivante Affichage des menus pour les fonctions en Maj+Fx ou Alt+Fx Affichage des menus dans une fenêtre Quitter le diagramme des Entrées/Sorties : 1ère/dernière E/S. : Début enreg. : Fin enregistrement : .Défilement haut/bas : Cycle préc./suivant : Instant préc./suivant : Défilement rapide : E/S préc./suivante : Autres menus : Affichage fen. menu : Quitter 3.9.5 Diagramme Analyse Fonctionnelle • Touches de fonctions type Fx Fonctions Explications F2 F3 F4 F6 F7 F8 F9 Visualisation des Entrées/Sorties ou des sorties uniquement permet de rendre le filtre actif ou non Filtre ou ajoute l’E/S pointée Mémorisation de la position courante du curseur Label complet ou partie du label + dénomination des E/S Impression de la partie affichée à l’écran Impression du diagramme (entre la position mémorisée et le curseur courant) : E/S ou Sorties : avec ou sans filtrage : Filtrer/ajouter l’E/S pointée : Mémo. position curseur : Label E/S ou commentaire : impression écran : impression continue ___________________________________________________________________________ 3/27 D • Touches de fonctions type Maj+Fx Fonctions Explications SF2 : Change format HMS ou HM SF4 : Changement origine Format horaire (HH:MM’SS»XX) ou mécanicien (HH:MM’XXX) Déplacement de l’origine du diagramme jusqu’à la position courante • Touches de fonctions type Alt+Fx D Fonctions Explications AF1 AF2 AF3 AF4 AF5 AF6 AF7 AF8 Accès au mode ANALYSE FONCTIONNELLE Format horaire (HH:MM’SS»XX) ou mécanicien (HH:MM’XXX) Changement de la couleur des Entrées (jaune, blanc ou bleu) Déplacement de l’origine du diagramme jusqu’à la position courante Zoom 1 minute Mode de déplacement du curseur vertical continu ou par évolution Permet de modifier l’origine du cycle de référence Affiche les informations sur le cycle de référence : Sauve référence : Comparaison active : Durée cycle référence : Changement origine : Activer resynchro. : Recherche divergence : Chgt origine référence : Info cycle de référence • Touches clavier Touches clavier Explications Home,End PgUp,PgDn -, + ! à Maj, Alt Tab Esc Accès à la première ou à la dernière évolution Déplace la fenêtre de 10 lignes vers le haut ou le bas vers le cycle précédent ou suivant (en comparaison seulement) Evolution précédente ou suivante Affichage des menus pour les fonctions en Maj+Fx ou Alt+Fx Affichage des menus dans une fenêtre Quitter la représentation AF : 1ère/dernière E/S. : .Défilement haut/bas : Cycle préc./suivant : Evol. préc./suivante : Autres menus : Affichage fen. menu : Quitter ___________________________________________________________________________ 3/28 Chapitre Liaisons D.D.E. 44 Liaisons D.D.E. 4.1 Informations générales L’échange dynamique de données (D.D.E.) est un mode de communication interprocessus qui permet d’échanger des données entre applications, qu’il s’agisse du transfert d’une information, ou bien, de tenir informer une application des évolutions des données d’une autre application. SIMACTEL est un “ serveur D.D.E. ”. C’est à dire, qu’il est possible pour toute application “ client D.D.E. ” de connaître l’état des variables SIMACTEL, de suivre leurs évolutions, et de changer leurs valeurs. SIMACTEL n’est serveur que durant la simulation. Le serveur D.D.E. SIMACTEL est disponible pour les applications WINDOWS clientes uniquement lorsque que la fenêtre principale de la simulation est lancée (simulation interne ou simulation avec automate). Le nom de serveur D.D.E.de l’application SIMACTEL est : SIMACTEL. Le nom du sujet pour lequel une liaison peut être ouverte est le nom de la machine sur laquelle la simulation est effectuée (ex : Maquette). La syntaxe du nom de sujet est celle des noms de machine SIMACTEL; la première lettre du nom de la machine doit être en majuscule et les lettres suivantes doivent être en minuscule. Les requêtes D.D.E. comprises par le serveur SIMACTEL sur ces données sont de trois types : • lire la valeur de la donnée (noté LECTURE), • être informé de chaque modification de la donnée (noté INFORMATION), • changer la valeur de la donnée (noté ECRITURE). Selon les données, seules une ou plusieurs de ces requêtes sont disponibles. Pour chaque donnée, les requêtes possibles sont détaillées dans la suite de cette section. Remarques Pour respecter au plus près le standard D.D.E., SIMACTEL différencie les majuscules et les minuscules. De même, les caractères accentués sont différenciés des caractères non accentués. Seul le format CF_TEXT est actuellement reconnu par le serveur SIMACTEL. ___________________________________________________________________________ 4/1 D 4.2 Information sur la simulation • status Requêtes : LECTURE, INFORMATION, ECRITURE. Etat de fonctionnement du serveur SIMACTEL. La valeur retournée appartient à l’ensemble de chaînes de caractères suivant : • “ en cours ” si la simulation est en cours, • “ interrompue ” si la simulation est interrompue, • “ bloquée ” si la simulation est bloquée. Pour modifier l’état de la simulation, la valeur à envoyer au serveur SIMACTEL est l’une des chaînes de caractères suivantes : • “ interruption ” : interrompt la simulation, • “ relance ” : relance la simulation. Remarque il n’est pas possible de modifier l’état de la simulation lorsque l’état courant est “ bloquée ”. D • mode Requêtes : LECTURE, ECRITURE. Mode de fonctionnement de la simulation. La valeur retournée par le serveur SIMACTEL est l’une des chaînes de caractères suivantes : • “ pas à pas ” si le mode de simulation pas à pas est le mode de simulation courant, • “ périodique ” si le mode de simulation courant est le mode périodique, • “ continu ” si le mode de simulation courant est le mode continu. Pour modifier la donnée mode, la valeur à envoyer au serveur SIMACTEL est l’une des trois chaînes de caractères listées ci-dessus. Remarque Pour sélectionner le mode de simulation périodique, il faut préalablement définir une période. • période Requêtes : LECTURE, ECRITURE. Période associée au mode de fonctionnement périodique. La valeur retournée par le serveur SIMACTEL est une chaîne de caractères contenant la valeur de la période (ex : “ 0.001 ”). De même, pour changer la valeur de la période de simulation, l’application cliente envoie au serveur SIMACTEL une chaîne de caractères contenant un nombre (les formats de nombre compréhensible par SIMACTEL sont ceux acceptés par l’interface de simulation). La valeur retournée est la chaîne de caractères “ INCONNU ” si aucune période n’est positionnée dans le serveur SIMACTEL. ___________________________________________________________________________ 4/2 Liaisons D.D.E. 4 • tempsréel Requêtes : LECTURE, ECRITURE. Indique si la simulation est en mode temps réel ou non. La valeur retournée (respectivement à transmettre au serveur SIMACTEL) est l’une des chaînes de caractères suivantes : • “ 1 ” si l’option temps réel est active, • “ 0 ” si l’option temps réel est inactive. • impulsion Requêtes : LECTURE, ECRITURE. Retourne l’état de la case à cocher “ arrêt si Impulsion de Sortie ”. La valeur retournée (respectivement à transmettre au serveur SIMACTEL) est l’une des chaînes de caractères suivantes : • “ 1 ” si l’option est active, • “ 0 ” si l’option est inactive. • date Requêtes : LECTURE, INFORMATION. Retourne la valeur courante de la date sous la forme d’une chaîne de caractères. Suivant le type de représentation choisit la valeur retournée est soit : • “ HH:MM:SS.XX ” (HH : heures, MM : minutes, SS : secondes, XX : reliquat), • “ MM:SS.XX ” (MM : minutes, SS : secondes, XX : reliquat) si la date envoyée est inférieure à une heure. Remarque Si le modèle SIMACTEL est calculé en centièmes de minutes, la date envoyée par liaison D.D.E. est automatiquement convertie au format heures, minutes, secondes. • date:unité Requête : LECTURE. Retourne l’unité utilisée pour le calcul de la date sous la forme d’une chaîne de caractères. La valeur retournée appartient à l’ensemble de chaînes de caractères suivant : • “ 1/100 mn. ”, • “ sec. ”. ___________________________________________________________________________ 4/3 D • type Requête : LECTURE. Retourne la liste des noms des élément de type type de la machine sous la forme d’une chaîne de caractères. Chaque nom est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). type est un type d’éléments SIMACTEL. Sa valeur est à prendre dans l’ensemble suivant : • “ externes ”, • “ relais ”, • “ bistables ”, • “ entrées,nb”, • “ axes ”, • “ variables ”, • “ sorties ”, • “ capteurs ”, • “ pièges ”. • “ alimentations ”, • “ mouvements ”, La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. D • type:nb Requête : LECTURE. Retourne le nombre d’éléments de description d’un type particulier. type est un type d’éléments SIMACTEL. La valeur de la donnée est à prendre dans l’ensemble suivant : • “ externes:nb ”, • “ entrées:nb ”, • “ sorties:nb ”, • “ alimentations:nb ”, 4.3 • “ relais:nb ”, • “ axes:nb ”, • “ capteurs:nb ”, • “ mouvements:nb ”, • “ bistables:nb ”, • “ variables:nb ”, • “ pièges:nb ”. Gestion des éléments de description 4.3.1 Alimentation • alimentations Requête : LECTURE. Retourne la liste des alimentations de la machine sous la forme d’une chaîne de caractères. Chaque nom d’alimentation est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • alimentations:nb Requête : LECTURE. Retourne le nombre d’alimentation de la machine sous la forme d’une chaîne de caractères contenant un nombre. ___________________________________________________________________________ 4/4 Liaisons D.D.E. 4 • alimentation:elt:état Requêtes : LECTURE, INFORMATION. Etat de l’alimentation elt, où elt est le nom d’une alimentation SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si l’alimentation est inactive, • “ 1 ” si l’alimentation est active. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas une alimentation SIMACTEL. • alimentation:elt:défaut Requêtes : LECTURE, INFORMATION, ECRITURE. Défauts positionnés sur l’alimentation elt, où elt est le nom d’une alimentation SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant: • “ collage à 0 ”, • “ collage à 1 ”, • “ forçage à 0 ”, • “ forçage à 1 ”, • “” (chaîne de caractères vide) si aucun défaut n’est positionné sur l’alimentation elt. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas une alimentation SIMACTEL. Pour positionner un défaut, l’application client envoie l’une des chaînes de caractères ci-dessus. Pour retirer tous les défauts positionnés sur l’alimentation elt, l’application client envoie au serveur SIMACTEL la chaîne de caractères “ aucun ”. Remarque La requête d’écriture est sans effet si la fenêtre de l’interface SIMACTEL de positionnement des défauts sur les alimentations est ouverte. 4.3.2 Axe • axes Requête : LECTURE. Retourne la liste des axes de la machine sous la forme d’une chaîne de caractères. Chaque nom d’axe est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • axes:nb Requête : LECTURE. Retourne le nombre d’axes de la machine sous la forme d’une chaîne de caractères contenant un nombre. ___________________________________________________________________________ 4/5 D • axe:elt:état Requêtes : LECTURE, INFORMATION. Etat de l’axe elt, où elt le nom d’un axe SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si l’axe est inactif (aucun mouvement de cet axe n’est en cours), •“ 1 ” si l’axe est actif (un mouvement est en cours d’exécution). La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un axe SIMACTEL. • axe:elt:position Requêtes : LECTURE, INFORMATION. Position courante de l’axe elt, où elt est le nom d’un axe SIMACTEL écrit en minuscules. La valeur est renvoyée sous la forme d’une chaîne de caractères contenant un nombre compris entre 0 et 1. La valeur retournée est le pourcentage de sortie de l’axe elt. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un axe SIMACTEL. D • axe:elt:longueur Requête : LECTURE. Longueur de l’axe elt, où elt est le nom d’un axe SIMACTEL écrit en minuscules. La valeur est renvoyée sous la forme d’une chaîne de caractères contenant un nombre. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un axe SIMACTEL. 4.3.3 Bistable • bistables Requête : LECTURE. Retourne la liste des bistables de la machine sous la forme d’une chaîne de caractères. Chaque nom de bistable est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • bistables:nb Requête : LECTURE. Retourne le nombre de bistables de la machine sous la forme d’une chaîne de caractères contenant un nombre. • bistable:elt:état Requêtes : LECTURE, INFORMATION. Etat du bistable elt, où elt est le nom d’un bistable SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si le bistable est inactif, • “ 1 ” si le bistable est actif. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un bistable SIMACTEL. ___________________________________________________________________________ 4/6 Liaisons D.D.E. 4 • bistable:elt:défaut Requêtes : LECTURE, INFORMATION, ECRITURE. Défauts positionnés sur le bistable elt, où elt est le nom d’un bistable SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant: • “ collage à 0 ”, • “ collage à 1 ”, • “ forçage à 0 ”, • “ forçage à 1 ”, • “” (chaîne de caractères vide) si aucun défaut n’est positionné sur le bistable elt. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un bistable SIMACTEL. Pour positionner un défaut, l’application client envoie l’une des chaînes de caractères ci-dessus. Pour retirer tous les défauts positionnés sur le bistable elt, l’application client envoie au serveur SIMACTEL la chaîne de caractères “ aucun ”. Remarque La requête d’écriture est sans effet si la fenêtre de l’interface SIMACTEL de positionnement des défauts sur les bistables est ouverte. 4.3.4 Capteur • capteurs Requête : LECTURE. Retourne la liste des capteurs de la machine sous la forme d’une chaîne de caractères. Chaque nom de capteur est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • capteurs:nb Requête : LECTURE. Retourne le nombre de capteurs de la machine sous la forme d’une chaîne de caractères contenant un nombre. • capteur:elt:état Requêtes : LECTURE, INFORMATION. Etat du capteur elt, où elt est le nom d’un capteur SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si le capteur est inactif, • “ 1 ” si le capteur est actif. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un capteur SIMACTEL. ___________________________________________________________________________ 4/7 D • capteur:elt:défaut Requêtes : LECTURE, INFORMATION, ECRITURE. Défauts positionnés sur le capteur elt, où elt est le nom d’un capteur SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant: • “ collage à 0 ”, • “ collage à 1 ”, • “ forçage à 0 ”, • “ forçage à 1 ”, • “ rebonds à l’activation ”, • “ rebonds à la désactivation ”, • “” (chaîne de caractères vide) si aucun défaut n’est positionné sur le capteur elt. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un capteur SIMACTEL. Le résultat de la requête peut être plusieurs chaînes de caractères concaténées si, par exemple, il y a, à la fois, un forçage et des rebonds positionnés. D Pour modifier les défauts positionnés sur le capteur elt, l’application client envoie l’une des chaînes de caractères suivantes : • “ collage à 0 ”, • “ collage à 1 ”, • “ forçage à 0 ”, • “ forçage à 1 ”, • “ aucun ”. Remarques La requête d’écriture est sans effet si la fenêtre de l’interface SIMACTEL de positionnement des défauts sur les capteurs est ouverte. Pour positionner des rebonds depuis l’application client il faut utiliser la requête “ rebonds ”. • capteur:elt:rebonds Requête : ECRITURE. Positionne des rebonds sur elt, où elt est le nom d’un capteur SIMACTEL écrit en minuscules. Les valeurs transmises au serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ rebonds à l’activation ”, • “ rebonds à la désactivation ”, • “ aucun ” pour retirer tous les rebonds positionnés sur le capteur elt. Remarque La requête d’écriture est sans effet si la fenêtre de l’interface SIMACTEL de positionnement des rebonds sur les capteurs est ouverte. ___________________________________________________________________________ 4/8 Liaisons D.D.E. 4 4.3.5 Entrée • entrées Requête : LECTURE. Retourne la liste des entrées de la machine sous la forme d’une chaîne de caractères. Chaque nom d’entrée est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • entrées:nb Requête : LECTURE. Retourne le nombre d’entrées de la machine sous la forme d’une chaîne de caractères contenant un nombre. • entrée:elt:état Requête : LECTURE, INFORMATION. Etat de l’entrée elt, où elt est le nom d’une entrée SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si l’entrée est inactive, • “ 1 ” si l’entrée est active. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas une entrée SIMACTEL. 4.3.6 Externe • externes Requête : LECTURE. Retourne la liste des variables externes de la machine sous la forme d’une chaîne de caractères. Chaque nom de variable externe est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • externes:nb Requête : LECTURE. Retourne le nombre de variables externes sous la forme d’une chaîne de caractères contenant un nombre. • externe:elt:état Requêtes : LECTURE, INFORMATION, ECRITURE. Etat de la variable externe elt, où elt est le nom d’une variable externe SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à ___________________________________________________________________________ 4/9 D l’ensemble de chaînes de caractères suivant: • “ 0 ” si la variable externe est inactive, • “ 1 ” si la variable externe est active. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas une variable externe SIMACTEL. Pour positionner la valeur d’une variable externe, l’application client envoie l’une des deux chaînes de caractères définies ci-dessus. Remarque La requête d’écriture est sans effet si la fenêtre de l’interface SIMACTEL de modification des variables externes est ouverte. 4.3.7 Mouvement D • mouvements Requête : LECTURE. Retourne la liste des mouvements de la machine sous la forme d’une chaîne de caractères. Chaque nom de mouvement est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • mouvements:nb Requête : LECTURE. Retourne le nombre de mouvements de la machine sous la forme d’une chaîne de caractères contenant un nombre. • mouvement:elt:état Requêtes : LECTURE, INFORMATION. Etat du mouvement elt, où elt est le nom d’un mouvement SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si le mouvement est inactif, • “ 1 ” si le mouvement est actif. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un mouvement SIMACTEL. ___________________________________________________________________________ 4/10 Liaisons D.D.E. 4 4.3.8 Piège Les pièges répertoriés et exploités au travers des requêtes D.D.E. ne sont que les pièges définis en simulation. • pièges Requête : LECTURE. Retourne la liste des pièges de la machine sous la forme d’une chaîne de caractères. Chaque nom de piège est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • pièges:nb Requête : LECTURE. Retourne le nombre de pièges de simulation de la machine sous la forme d’une chaîne de caractères contenant un nombre. • piège:elt:état Requêtes : LECTURE, INFORMATION. Etat de elt, où elt est le nom d’un piège de simulation SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si le piège est inactif, • “ 1 ” si le piège est actif. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un piège de simulation SIMACTEL. • piège:elt:nombre Requête : LECTURE. Nombre d’activation enregistrée de elt, où elt est le nom d’un piège de simulation SIMACTEL écrit en minuscules. La valeur obtenue est une chaîne de caractères contenant un nombre. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un piège de simulation SIMACTEL. • piège:elt:moyenne Requête : LECTURE. Ecart moyen enregistré entre deux activations de elt, où elt est le nom d’un piège de simulation SIMACTEL écrit en minuscules. La valeur obtenue est une chaîne de caractères contenant un nombre. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un piège de simulation SIMACTEL. • piège:elt:mini Requête : LECTURE. Ecart minimal enregistré entre deux activations de elt, où elt est le nom d’un piège de ___________________________________________________________________________ 4/11 D simulation SIMACTEL écrit en minuscules. La valeur obtenue est une chaîne de caractères contenant un nombre. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un piège de simulation SIMACTEL. • piège:elt:maxi Requête : LECTURE. Ecart maximal enregistré entre deux activations de elt, où elt est le nom d’un piège de simulation SIMACTEL écrit en minuscules. La valeur obtenue est une chaîne de caractères contenant un nombre. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un piège de simulation SIMACTEL. 4.3.9 Relais D • relais Requête : LECTURE. Retourne la liste des relais de la machine sous la forme d’une chaîne de caractères. Chaque nom d’alimentation est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • relais:nb Requête : LECTURE. Retourne le nombre de relais de la machine sous la forme d’une chaîne de caractères contenant un nombre. • relais:elt:état Requêtes : LECTURE, INFORMATION. Etat du relais elt, où elt est le nom d’un relais SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant : • “ 0 ” si le relais est inactif, • “ 1 ” si le relais est actif. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un relais SIMACTEL. • relais:elt:défaut Requêtes : LECTURE, INFORMATION, ECRITURE. Défauts positionnés sur le relais elt, où elt est le nom d’un relais SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant: • “ collage à 0 ”, • “ collage à 1 ”, ___________________________________________________________________________ 4/12 Liaisons D.D.E. 4 • “ forçage à 0 ”, • “ forçage à 1 ”, • “” (chaîne de caractères vide) si aucun défaut n’est positionné sur le relais elt. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas un relais SIMACTEL. Pour positionner un défaut, l’application client envoie l’une des chaînes de caractères ci-dessus. Pour retirer tous les défauts positionnés sur le relais elt, l’application client envoie au serveur SIMACTEL la chaîne de caractères “ aucun ”. Remarque La requête d’écriture est sans effet si la fenêtre de l’interface SIMACTEL de positionnement des défauts sur les relais est ouverte. 4.3.10 Sortie • sorties Requête : LECTURE. Retourne la liste des sorties de la machine sous la forme d’une chaîne de caractères. Chaque nom de sortie est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • sorties:nb Requête : LECTURE. Retourne le nombre de sorties de la machine sous la forme d’une chaîne de caractères contenant un nombre. • sortie:elt:état Requêtes : LECTURE, INFORMATION. Retourne la valeur de la sortie elt, où elt est le nom d’une sortie SIMACTEL écrit en minuscules. La valeur appartient à l’ensemble suivant : • “ 1 ” si la sortie est à l’état haut, • “ 0 ” sinon. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas une sortie SIMACTEL. ___________________________________________________________________________ 4/13 D 4.3.11 Variable • variables Requête : LECTURE. Retourne la liste des variables de la machine sous la forme d’une chaîne de caractères. Chaque nom de variable est délimité par les caractères séparateurs “ CR ” et “ LF ” (\r\n). La chaîne de caractères renvoyée est la chaîne de caractères vide si le serveur SIMACTEL ne contient aucun élément de ce type. • variables:nb Requête : LECTURE. Retourne le nombre de variable de la machine sous la forme d’une chaîne de caractères contenant un nombre. D • variable:elt:état Requêtes : LECTURE, INFORMATION. Retourne la valeur de la variable elt, où elt est le nom d’une sortie SIMACTEL écrit en minuscules. La valeur appartient à l’ensemble suivant : • “ 1 ” si la variable est à l’état haut, • “ 0 ” sinon. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas une variable SIMACTEL. • variable:elt:défaut Requêtes : LECTURE, INFORMATION, ECRITURE. Défauts positionnés sur la variable elt, où elt est le nom d’une variable SIMACTEL écrit en minuscules. Les valeurs obtenues auprès du serveur SIMACTEL appartiennent à l’ensemble de chaînes de caractères suivant: • “ forçage à 0 ”, • “ forçage à 1 ”, • “” (chaîne de caractères vide) si aucun défaut n’est positionné sur la variable elt. La chaîne de caractères renvoyée est “ INCONNU ” si elt n’est pas une variable SIMACTEL. Pour positionner un défaut, l’application client envoie l’une des chaînes de caractères ci-dessus. Pour retirer tous les défauts positionnés sur la variable elt, l’application client envoie au serveur SIMACTEL la chaîne de caractères “ aucun ”. Remarque La requête d’écriture est sans effet si la fenêtre de l’interface SIMACTEL de positionnement des défauts sur les variables est ouverte. ___________________________________________________________________________ 4/14 Liaisons D.D.E. 4.4 4 Tableau récapitulatif Requête Lect. Ecrit. Info. alimentation:elt:défaut oui oui alimentation:elt:état alimentations alimentations:nb axe:elt:état axe:elt:longueur axe:elt:position axes axes:nb bistable:elt:défaut oui oui oui oui oui oui oui oui oui bistable:elt:état bistables bistables:nb capteur:elt:défaut oui oui oui oui capteur:elt:état capteur:elt:rebonds oui capteurs capteurs:nb date date:unité entrée:elt:état entrées entrées:nb externe:elt:état externes externes:nb oui oui oui oui oui oui oui oui oui oui impulsion oui oui mode oui oui mode:période mouvement:elt:état mouvements mouvements:nb piège:elt:état oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui oui Commentaire défauts positionné sur une alimentation, page 4-5 état d'une alimentation elt, page 4-5 liste des alimentations, page 4-4 nombre d’alimentations, page 4-4 état d’un axe, page 4-5 longueur d’un axe, page 4-6 position d’un axe, page 4-6 liste des axes, page 4-5 nombre d’axes, page 4-5 défauts positionnés sur un bistable, page 4-6 état d’un bistable, page 4-6 liste des bistables, page 4-6 nombre de bistables, page 4-6 défaut positionnés sur un capteur, page 4-7 état d’un capteur, page 4-7 rebonds positionnés sur un capteur, page 4-8 liste des capteurs, page 4-7 nombre de capteurs, page 4-7 date, page 4-3 unité de temps, page 4-4 état d’une entrée, page 4-8 liste des entrées, page 4-8 nombre d’entrées, page 4-8 état d’une variable externe, page 4-9 liste des variables externes, page 4-8 nombre de variables externes, page 4-8 option arrêt sur impulsion de sortie, page 4-3 le mode de simulation courant, page 4-3 la période, page 4-3 état d’un mouvement, page 4-9 liste des mouvements, page 4-9 nombre de mouvements, page 4-9 état d’un piège de simulation, page 4-10 ___________________________________________________________________________ 4/15 D D piège:elt:maxi oui piège:elt:mini oui piège:elt:moyenne oui piège:elt:nombre oui pièges pièges:nb oui oui relais relais:elt:défaut oui oui relais:elt:état relais:nb sortie:elt:état sorties sorties:nb status tempsréel variable:elt:défaut oui oui oui oui oui oui oui oui variable:elt:état variables variables:nb oui oui oui 4.5 oui oui oui oui oui oui oui oui oui oui écart max. entre deux activations, page 4-10 écart min. entre deux activations, page 4-10 écart moyen entre deux activations, page 4-10 nombre d’activation d’un piège, page 4-10 liste des pièges de simulation, page 4-9 nombre de pièges de simulation, page 4-9 liste des relais, page 4-10 défauts positionnés sur un relais, page 4-11 état d’un relais, page 4-11 nombre de relais, page 4-10 état d’une sortie, page 4-11 liste des sorties, page 4-11 nombre de sorties, page 4-11 l’état de la simulation, page 4-2 option temps réel, page 4-3 défauts postionnés sur une variable, page 4-12 état d’une variable, page 4-12 liste des variables, page 4-12 nombre de variables, page 4-12 Conseils et problèmes de liaisons D.D.E. • La requête mode ne fonctionne pas lorsque les modes continu et périodique sont sélectionnés en même temps. Seul un des modes courants est renvoyé par la liaison D.D.E. • Il existe deux modes de liaison D.D.E., les liaisons synchrones et les liaisons asynchrones. Durant une liaison synchrone, les processus clients et serveurs s’exécutent au même rythme, l’un attendant l’autre. Toutes les évolutions du serveur apparaissent chez le client. De ce fait, l’exécution de SIMACTEL serveur est ralentie par la connexion. Ce mode est le mode utilisé par Microsoft EXCEL client D.D.E., par exemple. Par contre, lors d’une liaison asynchrone, client et serveur évoluent à leurs propres rythmes. Dans cette configuration, il est possible que le client “ rate ” certaines évolutions trop rapides du serveur. Ce mode de connexion est celui de NetDDE pour Windows pour WorkGroups. ___________________________________________________________________________ 4/16 EXEMPLES Chapitre 1 2 3 Sommaire Intercalaire E Page Axes linéaires simples 1/1 1.1 Axe simple 1/1 1.2 Vérin poussoir 1/3 1.3 Interverrouillage mécanique 1/4 Dialogue 2/1 2.1 Tiroir de soudure 2/1 Exemples de convoyage de pièces 3/1 E 3.1 Présentation 3/1 3.2 Principe de modélisation 3/1 3.3 Marche avant simple 3/3 3.4 Marche avance et recul 3/5 3.5 Prise en compte de la longueur de pièce 3/7 ___________________________________________________________________________ E/1 EXEMPLES Chapitre 4 Sommaire Intercalaire E Page Machine à trois postes d'usinage 4/1 4.1 Description SIMACTEL 4.1.1 Présentation 4.1.2 Modélisation 4/1 4/1 4/1 4.2 Dossier électrique et mécanique 4/6 4.3 Dossier d'impression 4/25 E ___________________________________________________________________________ E/2 Chapitre 1 Axes linéaires simples 1 Axes linéaires simples 1.1 Axe simple Les schéma ci-dessous présentent les descriptions mécanique et pneumatique d’un axe linéaire simple. • Description mécanique et pneumatique verin : descente fraiseuse Ø piston : 100 Ø tige : 56 course totale : 350mm cycle de l'unité : YV20 YV21 240 80 80 80 course en mm vitesse en m/mn 320 100 position des capteurs et description des mouvements FCH3 piste 1 80 piste 2 FCM3 FCB3 240 piste 3 320 ___________________________________________________________________________ 1/1 E MO / DE FRAISEUSE FCH3 yv20 FCM3 FCB3 yv21 p1 r1 • Description SIMACTEL E Axe n ° 3 • Libellé : descente fraiseuse • Type : linéaire • Position initiale : début de course • Longueur : 350 Mouvement mvt3+ Mouvement mvt3- • Sens : positif • Vitesse : 80 • Equation : ( yv20 * pneu ) • Sens : négatif • Vitesse : 100 • Equation : ( yv21 * pneu ) Capteur FCH3 Capteur FCM3 Capteur FCB3 • Logique : positive • Logique : enclenchement • Logique : enclenchement • Position : début de course • Position : 80 • Position : 240 Remarque Les commandes yv20 et yv21 activant les mouvements mvt3+ et mvt3- sont des relais SIMACTEL. pneu est un terme d’alimentation générale SIMACTEL. ___________________________________________________________________________ 1/2 Axes linéaires simples 1.2 1 Vérin poussoir L’axe présentée ci-dessous se différencie de l’exemple précédent par le type de commande utilisé pour activer les déplacements sur l’axe. La commande des mouvements est faite par un bistable au lieu de relais. • Description mécanique et pneumatique POUSSOIR VERIN POUSSOIR Ø Piston : 50 Ø Tige : 28 Course totale : 40 Course utile : 40 Pression : 50 cm2 mm/s l/mn sortie 13,5 40 3,1 4,2 rentrée 18,5 40 FCG0 FCD0 yv31 yv32 p1 1741 r1 0741 • Description SIMACTEL Axe n ° 1 • Libellé : poussoir • Type : linéaire • Position initiale : début de course • Longueur : 40 Mouvement mvt1+ Mouvement mvt1- • Sens : positif • Vitesse : 40 • Equation : ( bis1 * pneu ) • Sens : négatif • Vitesse : 40 • Equation : ( /bis1 * pneu ) ___________________________________________________________________________ 1/3 E Capteur FCG0 Capteur FCD0 • Logique : positive • Position : début de course • Logique : positive • Position : fin de course Bistable bis1 • Enclenchement : yv31 • Déclenchement : yv32 • Condition : Remarques Les commandes yv31 et yv32 activant les mouvements mvt1+ et mvt1- sont des relais SIMACTEL. pneu est un terme d’alimentation générale SIMACTEL. 1.3 Interverouillage mécanique L’exemple suivant concerne deux axes simples où l’un sert de verrou mécanique pour l’autre. Cette interaction est prise en compte en ajoutant un capteur fictif représentant la course libre de l’axe 1 et en intégrant la position de l’axe 2 à l’équation du mouvement mvt1+. • Description mécanique et pneumatique E ___________________________________________________________________________ 1/4 Axes linéaires simples 1 VERIN UNITE Ø Piston : 50 Ø Tige : 28 Course totale : 40 Course utile : 40 Pression : 50 cm2 mm/s l/mn sortie 13,5 40 3,1 rentrée 18,5 40 4,2 FCG1 FCD1 yv31 yv32 p1 r1 VERIN de BUTEE Ø Piston : 50 Ø Tige : 28 Course totale : 40 Course utile : 40 Pression : 50 cm2 mm/s l/mn 3,1 sortie 13,5 40 rentrée 18,5 40 4,2 FCG2 FCD2 yv41 yv42 Unité 10 Butée ___________________________________________________________________________ 1/5 E • Description SIMACTEL de l’axe n° 1 Axe n ° 1 • Libellé : unite • Type : linéaire • Position initiale : début de course • Longueur : 40 Mouvement mvt1+ Mouvement mvt1- • Sens : positif • Vitesse : 40 • Equation : ( bis1 * pneu * ( /cf + ( cf * fcd2 ))) • Sens : négatif • Vitesse : 40 • Equation : ( /bis1 * pneu ) Capteur FCG1 Capteur FCD1 • Logique : positive • Position : début de course • Logique : positive • Position : fin de course Capteur CF • Logique : enclenchement • Position : 10 Bistable bis1 • Enclenchement : yv31 • Déclenchement : yv32 • Description SIMACTEL de l’axe n° 2 E Axe n ° 2 • Libellé : verrou • Type : linéaire • Position initiale : début de course • Longueur : 40 Mouvement mvt2+ Mouvement mvt2- • Sens : positif • Vitesse : 40 • Equation : ( bis2 * pneu ) • Sens : négatif • Vitesse : 40 • Equation : ( /bis2 * pneu ) Capteur FCG2 Capteur FCD2 • Logique : positive • Position : début de course • Logique : positive • Position : fin de course Bistable bis2 • Enclenchement : yv41 • Déclenchement : yv42 ___________________________________________________________________________ 1/6 Axes linéaires simples 1 Remarques Les commandes yv31, yv32, yv41 et yv42 activant les mouvements mvt1+, mvt1, mvt2+ et mvt2- sont des relais SIMACTEL. pneu est un terme d’alimentation générale SIMACTEL. E ___________________________________________________________________________ 1/7 E ___________________________________________________________________________ 1/8 Chapitre Dialogue 22 Dialogue 2.1 Tiroir de soudure La partie opérative au sens SIMACTEL comprend la modélisation des échanges entre l’automate et les équipements intelligents, qu’il s’agisse de robots, d’équipement de pesée, ou comme dans l’exemple ci-dessous, de tiroir de soudure. Le principe retenu est de représenter chaque cycle d’échanges entre l’API et l’équipement par un axe rotatif SIMACTEL, où, les mots de commande de l’automate activent les mouvements de l’axe et les capteurs de l’axe représentent les réponses faites par l’équipement. Pds1 Pds2 Pds3 TIROIR API Start Fcy Rev Pds1, Pds2 et Pds3 : codes de soudure envoyés par l’API au tiroir de soudure afin de définir le temps et l’intensité de la soudure. Start : l’API donne le départ du cycle de soudure. Fcy : fin de cycle envoyé par le tiroir. Rev : relais géré par le tiroir de soudure et permettant la fermeture des pinces sélectionnées. Cod1 Start Fcy Rev ___________________________________________________________________________ 2/1 E • Description SIMACTEL La longueur de l’axe correspond au temps du cycle de soudure et le mouvement est effectué à la vitesse de 1.. La description du dialogue est contenu dans l’équation du mouvement mvt1. L’équation du mouvement mvt1 comprend trois termes : • Le premier “ dx * start * cod1 ” correspond au déclenchement du mouvement sur l’axe en position initiale (dx = 1). Le mouvement est actif lorsque l’API envoie la commande start et le bon code de soudure identifié par cod1. Cod1 est une variable SIMACTEL fonction du code de soudure envoyé par l’automate. Cod1 est dans l’état 1 si le code envoyé correspond au cycle de soudure simulé par l’axe SIMACTEL. • “ /dx * /fx * cod1 * start ” correspond au maintient du mouvement pendant toute la durée de la soudure. Pendant l’état 1 de ce terme, la came balaye l’axe et donc SIMACTEL renvoie à l’automate des informations sur l’avancé de la soudure. • “ fx * /start ” est le terme permettant à l’axe de revenir dans sa position initiale pour être près pour le cycle de soudure suivant. Ce terme est à l’état 1 lorsque l’axe se trouve en fin de course et que la commande start retombe. Le capteur fictif Rev simule le relais Rev du tiroir de soudure. Le capteur fx simule le signal Fcy. Axe n ° 1 E • Libellé : descente fraiseuse • Type : Rotatif • Position initiale : début de course • Longueur : 100 Mouvement mvt1 • Sens : positif • Vitesse : 1 • Equation : ( dx * start * cod1 ) + ( /dx * /fx * cod1 * start ) + (fx * /start) Capteur Rev • Logique : positive • Position : 10 • Largeur d’activation : 80 Capteur dx Capteur fx • Logique : positive • Position : début de course • Logique : positive • Position : fin de course ___________________________________________________________________________ 2/2 Chapitre Exemples de convoyage de pièces 33 Exemples de convoyage de pièces 3.1 Présentation Dans les process de type manutention, l’automate reçoit de la machine des informations sur la présence et le déplacement des pièces. Nous l’avons vu dans les exemples des chapitres précédents, la partie opérative d’une machine est représentée, dans SIMACTEL, par des axes et variables booléennes. Les pièces ne sont pas explicitement représentées. La description de partie opérative SIMACTEL simule la présence des pièces en calculant leurs actions sur les entrées automate en fonction des sorties automate et du temps écoulé. Le paragraphe suivant est consacré à la présentation du principe de modélisation d’un système de convoyage. Des exemples de transfert dans un, puis dans deux sens de marche sont ensuite détaillés. Enfin la détection des pièces convoyées, en tenant compte de leur longueur, est expliquée. 3.2 Principe de modélisation La modélisation d’un système de convoyage consiste à découper celui-ci en zones où une seule pièce peut se trouver : c’est la notion de “ canton ”. La présence d’une pièce dans une zone est caractérisée par une variable booléenne “ PPi ”. Le déplacement prend un certain temps, un axe associé à chaque “ canton ” permet de représenter ce temps : la position dans l’axe est le “ front avant ” de la pièce en déplacement. Le mouvement de cet axe représente le déplacement de la pièce dans la zone décrite par l’axe. L’équation de ce mouvement fait donc intervenir la variable “ PPi ” et un terme - par exemple “ KMVTi ” représentant la rotation du moteur entraînant le convoyeur. Le déplacement de la pièce dans la zone décrite par l’axe est considérée comme un processus possédant trois états. L’état initial correspond à la disponibilité du convoyeur pour une pièce arrivant en amont. Le deuxième état est le déplacement - et également l’arrêt en une position donnée - de la pièce sur le canton. Le dernier état caractérise la fin du transfert dans cette zone, la pièce est mise à disposition pour le canton suivant. Ce processus est cyclique, l’axe est donc rotatif. Un capteur fictif “ DXi ” de largeur nulle, placé en début d’axe représente la disponibilité du canton. Symétriquement un capteur “ FXi ”, également de largeur d’activation nulle, est placé en fin de l’axe rotatif pour caractériser la mise à disposition de la pièce pour la suite du transfert. Remarque Une équivalence pourrait être envisagée entre l’état “ vrai ” du capteur “ DXi ” et l’absence de pièce sur le canton. Cette équivalence est pratiquée pour la modélisation des transferts de la machine à 3 postes d’usinage présentée dans la section suivante. Cependant nous ne la retiendrons pas ici car cela pose problème dans le cas des transferts à déplacements dans les deux sens. ___________________________________________________________________________ 3/1 E L’évolution du processus de transfert est décrite au moyen de l’équation du mouvement. Le déplacement de la pièce est effectif quand le moteur est en marche et que : • soit une pièce est présente et la fin du canton n’est pas atteinte. • soit la fin du canton est atteinte et la pièce est prise en charge par le canton suivant, ou évacuée. On obtient l’équation suivante pour le mouvement : MVTi = KMVTi * (PPi * /FXi + FXi * /PPi) Une fois arrivé en “ FXi ” et la pièce emportée - “ PPi ” est remis à 0 - l’axe rotatif retourne ainsi en position initiale - sur “ DXi ” - et est de ce fait disponible pour une nouvelle pièce. Une pièce entre dans le canton si celui-ci est dans son état initial et que le canton précédent met à sa disposition une pièce. Compte-tenu de la représentation des états du canton au moyen des capteurs “ DXi ” et “ FXi ”, le terme d’enclenchement de la variable de présence pièce “ PPi ” est donc : DXi * PPi-1 * FXi-1 * KMVTi-1 la présence de “ KMVTi-1 ” a pour effet de maintenir la pièce sur le canton précédent si le moteur de celui-ci n’est pas en marche - ce qui a priori ne devrait pas se produire. E Une fois le transfert terminé sur un canton - l’axe correspondant est alors en “ FXi ” - la pièce peut passer sur le canton suivant si celui-ci est disponible - l’axe le décrivant y est en “ DXi+1 ”. Il faut cependant vérifier qu’une pièce ne s’y trouve pas déjà. En effet, si le moteur du canton suivant n’est pas piloté, l’axe a pu rester en “ DXi+1 ” bien qu’une pièce soit présente sur ce canton. Dans ces conditions, le terme de déclenchement de la variable “ PPi ” a pour expression : RPPi = FXi * DXi+1 * /PPi+1 * KMVTi L’équation de la variable de présence pièce “ PPi ” a donc finalement pour expression : PPi = (DXi * PPi-1 * FXi-1 * KMVTi-1 + PPi) * /RPPi ___________________________________________________________________________ 3/2 Exemples de convoyage de pièces 3.3 3 Marche avant simple L’exemple suivant présente le passage de pièces sur trois tapis en marche avant. La largeur des pièces est considérée négligeable, il n’y a qu’une seule pièce par tapis et les moteurs des tapis sont en fonctionnement permanent. Les tapis sont représentés par des axes rotatifs SIMACTEL. Les présences de pièce sont représentées par des variables booléennes. Les mouvements ont lieu lorsque les deux conditions suivantes sont réunies : • il y a une pièce sur l’axe, • le moteur du tapis fonctionne en marche avant. Pour qu’une pièce passe d’un tapis à l’autre, il faut que l’installation réponde également aux deux critères suivants : • l’axe en aval doit être à l’origine (attente de pièces), • il n’y a aucune pièce sur l’axe aval (empêcher les collisions). SQ1 SQ2 M1 SQ3 M2 dx1 M3 SQ2 SQ1 1 fx1 dx2 SQ3 2 fx2 dx3 3 fx3 Description du premier tapis Le premier tapis se trouvant à l’entrée du système de convoyage, une variable “BPP1” permet d’injecter une pièce sur celui-ci. La pièce apparait sur l’axe 1 lorsqu’il y a appui sur un bouton poussoir et que l’axe se trouve en début de course. Cet état est maintenu jusqu’à ce que RPP1 (variable booléenne de RAZ présence pièce) soit vraie. RPP1 est vrai lorsque l’axe 1 est en fin de course, l’axe 2 en début de course, qu’il n’y a pas de pièce sur le tapis suivant et que le moteur du tapis 1 est actif. Le mouvement MVT1 est actif tant que le moteur est actif, que PP1 est vrai ou pour passer automatiquement de la position fin de course à la position début de course. Equations du premier tapis • PP1 = (+BPP1 * DX1 + PP1) * /RPP1 • RPP1 = FX1 * DX2 * /PP2 * KMVT1 • MVT1 = (PP1 * /FX1 + FX1 * /PP1) * KMVT1 avec : • PP1 : présence pièce sur le tapis 1, • PP2 : présence pièce sur le tapis 2, • DX1 : capteur de début de course de l’axe 1, ___________________________________________________________________________ 3/3 E • DX2 : capteur de début de course de l’axe 2, • FX1 : capteur de fin de course de l’axe 1, • +BPP1 : front montant du bouton poussoir fictif servant à positionner des pièces sur le premier tapis, • RPP1 : Raz de la présence pièce. • KMVT1 : commande du moteur du tapis 1. Description du second tapis La pièce est considérée présente sur l’axe 2 lorsque l’axe 2 se trouve en début de course, que l’axe 1 se trouve en fin de course, qu’il y a une pièce sur l’axe 1 et que le moteur de l’axe 1 est actif. La présence pièce sur l’axe 2 est maintenue comme la présence pièce de l’axe 1. Les autres équations sont similaires à celles de l’axe 1. Equations du second tapis • PP2 = (DX2 * FX1 * PP1 * KMVT1 + PP2) * /RPP2 • RPP2 = FX2 * DX3 * /PP3 * KMVT2 • MVT2 = (PP2 * /FX2 + FX2 * /PP2) * KMVT2 avec : • PP1 : présence pièce sur le tapis 1, E • PP2 : présence pièce sur le tapis 2, • DX2 : capteur de début de course de l’axe 2, • DX3 : capteur de début de course de l’axe 3, • FX1 : capteur de fin de course de l’axe 1, • FX2 : capteur de fin de course de l’axe 2, • RPP2 : Raz de la présence pièce, • KMVT1 : commande du moteur du tapis 1., • KMVT2 : commande du moteur du tapis 2. Description du troisième tapis On considère que les pièces disparaissent automatiquement en fin de tapis 3 (évacuation vers une partie non simulée de l’installation par exemple). Pour le reste les équations sont similaires à celles décrites précédemment. Equations du troisième tapis • PP3 = (DX3 * FX2 * PP2 * KMVT2 + PP3) * /RPP3 • RPP2 = FX3 * KMVT3 • MVT3 = (PP3 * /FX3 + FX3 * /PP3) * KMVT3 ___________________________________________________________________________ 3/4 Exemples de convoyage de pièces 3 avec : • PP2 : présence pièce sur le tapis 2, • PP3 : présence pièce sur le tapis 3, • DX3 : capteur de début de course de l’axe 3, • FX2 : capteur de fin de course de l’axe 2, • FX3 : capteur de fin de course de l’axe 3, • RPP3 : Raz de la présence pièce, • KMVT2 : commande du moteur du tapis 2, • KMVT3 : commande du moteur du tapis 3. 3.4 Marche avance et recul Cet exemple reprend la description faite au paragraphe 3.3 en ajoutant le fonctionnement en marche arrière des tapis. Les équations des mouvements d’avance restent identiques. Description SIMACTEL Dans les équations de présence pièce, par rapport au cas précédent (cf. Sous-chapitre 3.3 de cet intercalaire), un terme supplémentaire est ajouté. Il faut en effet vérifier, lors du passage d’une pièce d’un tapis à l’autre, que le tapis censé recevoir la pièce tourne bien dans le même sens que le tapis qui la lui apporte. Dans le cas contraire, la pièce ne doit pas changer de canton. Les éléments de description SIMACTEL sont les suivants : • PP1 : variable booléenne de présence pièce sur le tapis 1, • PP2 : variable booléenne de présence pièce sur le tapis 2, • PP3 : variable booléenne de présence pièce sur le tapis 3, • DX1 : capteur de début de course de l’axe 1, • DX2 : capteur de début de course de l’axe 2, • DX3 : capteur de début de course de l’axe 3, • FX1 : capteur de fin de course de l’axe 1, • FX2 : capteur de fin de course de l’axe 2, • FX3 : capteur de fin de course de l’axe 3, • +BPP1 : front montant du bouton poussoir fictif servant à positionner des pièces sur le premier tapis, • RPP1 : variable booléenne raz de la présence pièce sur le tapis 1, • RPP2 : variable booléenne raz de la présence pièce sur le tapis 2, ___________________________________________________________________________ 3/5 E • RPP3 : variable booléenne raz de la présence pièce sur le tapis 3, • MTAV1 : commande du moteur d’avance du tapis 1, • MTAV2 : commande du moteur d’avance du tapis 2, • MTAV3 : commande du moteur d’avance du tapis 3, • MTAR1 : commande du moteur de recul du tapis 1, • MTAR2 : commande du moteur de recul du tapis 2, • MTAR3 : commande du moteur de recul du tapis 3, • MVAV1 : mouvement d’avance de l’axe 1, • MVAV2 : mouvement d’avance de l’axe 2, • MVAV3 : mouvement d’avance de l’axe 3, • MVAR1 : mouvement de recul de l’axe 1, • MVAR2 : mouvement de recul de l’axe 2, • MVAR3 : mouvement de recul de l’axe 3. Equations du premier tapis • PP1 = (+BPP1 * DX1 + FX1 * DX2 * PP2 * MTAR2 * /MTAV1 + PP1) * /RPP1 • RPP1 = FX1 * DX2 * /PP2 * MTAV1 * /MTAR2 + DX1 * MTAR1 • MVAV1 = (PP1 * /FX1 + FX1 * /PP1) * MTAV1 • MVAR1 = (PP1 * /DX1 + DX1 * /PP1) * MTAR1 Equations du second tapis E • PP2 = (DX2 * FX1 * PP1 * MTAV1 * /MTAR2 + FX2 * DX3 * PP3 * MTAR3 * /MTAV2 + PP2) * /RPP2 • RPP2 = FX2 * DX3 * /PP3 * MTAV2 * /MTAR3 + DX2 * FX1 * /PP1 * /MTAV1 * MTAR2 • MVAV2 = (PP2 * /FX2 + FX2 * /PP2) * MTAV2 • MVAR2 = (PP2 * /DX2 + DX2 * /PP2) * MTAR2 Equations du troisième tapis • PP2 = (DX3 * FX2 * PP2 * MTAV2 * /MTAR3 + PP3) * /RPP3 • RPP3 = FX3 * MTAV3 + DX3 * FX2 * /PP2 * /MTAV2 * MTAR3 • MVAV3 = (PP3 * /FX3 + FX3 * /PP3) * MTAV3 • MVAR3 = (PP3 * /DX3 + DX3 * /PP3) * MTAR3 ___________________________________________________________________________ 3/6 Exemples de convoyage de pièces 3.5 3 Prise en compte de la longueur de pièce L’exemple décrit ici comprend trois éléments. Il s’agit de tables à rouleau de longueur 6000 mm sur lesquelles se déplace des luges de longueur 5000 mm. FRONT AVANT sq4a sq45a sq4b sq45b sq4c sq45c La présence des pièces est représentée par des variables booléennes, la position dans un axe décrivant un canton correspondant au front avant de la pièce. Dans cette modélisation il n’est donc pas fait mention de la longueur de la pièce, la seule contrainte imposée est de n’avoir qu’une pièce par canton. Cependant ces pièces signalent leur passage à l’automate au moyen de détecteurs. A ce niveau au moins il faut tenir compte de la longueur de ces pièces : en effet les détecteurs sont activés pendant tout le passage des pièces. Ceci ne peut donc se faire simplement en plaçant les capteurs réels dans les axes. En particulier, quand une pièce commence à pénétrer sur le canton suivant, elle continue un moment à être détectée au niveau du canton qu’elle quitte, en raison de sa longueur. Pour cela les détecteurs doivent être modélisés par des équations du type “relais” faisant intervenir des capteurs fictifs placés dans les axes, conditionnés par les variables de présence afin de reproduire, en fonction du déplacement des pièces, les chronogrammes d’activation des détecteurs présentés ci-dessous. axe A axe B axe C sq4a sq45a sq4b sq45b sq4c sq45c ___________________________________________________________________________ 3/7 E Description SIMACTEL La description de l’installation faite avec SIMACTEL est similaire à celle réalisée précédemment dans ce chapitre. Du fait de la largeur des pièces, l’activation des capteurs réels SQ45A et SQ45B se poursuit d’un axe sur l’autre. Ces capteurs sont représentés par des relais activés par les variables de présence pièce et des capteurs fictifs sur les axes. dq45a sq4a table A fq45a dq45b sq4b table B fq45b sq45c sq4c table C Equations des relais représentant les capteurs • SQ45A = DQ45A * PPA + FQ45A * PPB • SQ45B = DQ45B * PPB + FQ45C * PPC E ___________________________________________________________________________ 3/8 Chapitre 44 Machine à trois postes d'usinage Machine à trois postes d'usinage. 4.1 Description SIMACTEL 4.1.1 Présentation L’environnement logiciel SIMACTEL est fourni avec un exemple d’application illustrant les diverses notions exposées dans ce manuel. Cet exemple consiste en une description de la “ maquette PROSYST ”, petite machine d’usinage habituellement utilisée comme support pour la formation aux logiciels basés sur la carte AIDIAG. Cette maquette est composée de trois postes d’usinage disposés en ligne. Devant chaque poste est disposé un tapis sur lequel se trouve la pièce à usiner. Ces tapis permettent le transfert des pièces d’un poste au suivant, depuis l’alimentation jusqu’à l’évacuation en fin de ligne. Les pièces déposées au chargement sont amenées sur le premier tapis, en l’occurrence celui de la perceuse, au moyen d’un poussoir. 4.1.2 Modélisation La maquette ayant été présentée, ce paragraphe est consacré à la modélisation qui en a été faite sur SIMACTEL. Le bornier Les Entrées I02,0 à I02,D correspondent aux capteurs activés par les actionneurs des 3 postes de la maquette, soit la perceuse, la tourelle tri-broches et le poste de fraisage. Les Entrées I03,0 à I03,6 prennent en compte des informations en provenance des pupitres. Les Entrées I03,8 à IO3,C informent l’automate de la présence de pièces aux différents postes d’une part et en amont et aval du transfert d’autre part ( alimentation et déchargement ). I04,0 et I04,1 correspondent respectivement aux positions “ dégagé ” et “ engagé ”, d’un organe mécanique permettant de verrouiller la tourelle porte-outils pendant son travail. I04,D correspond à la position “ gauche ”, c’est-à-dire rentré, du poussoir de l’alimentation, I04,E à la position “ droite ”. Dans les équations des Entrées interviennent des termes représentant les conditions d’alimentation électrique des cartes. De la même façon, les sorties, réparties sur trois cartes, permettent d’allumer des voyants et de commander les actionneurs et les tapis de la maquette. ___________________________________________________________________________ 4/1 E La tête de filerie Dans l’“ alimentation ” on trouve, en particulier les relais de mise sous tension et de mise en puissance KM1 et KMPU. Les relais ne faisant pas partie de cette “ alimentation ” servent d’intermédiaires de puissance entre les Sorties et les voyants et les mouvements des actionneurs. Description des axes E La modélisation de la maquette compte 11 axes. Les axes 1 à 5 correspondent aux actionneurs des 3 postes. Ainsi l’axe 1 représente la montée/descente de la perceuse. Cet axe est pourvu de 3 capteurs : FCH1 correspond à la position haute de la perceuse, FCM1 à la position intermédiaire et FCB1 à la position basse. “ D1 ” est le mouvement de descente de la perceuse, commandé par la Sortie O05,8 par l’intermédiaire de Km15. O05,7 pilote le mouvement de montée “ M1 ” par l’intermédiaire de Km 14. L’axe 2 représente de façon analogue la montée/descente de la tourelle tri-broches. La rotation de la tourelle est décrite par l’axe 3. Cet axe rotatif active 2 capteurs au moyen de cames différentes. Le capteur “ FCA1 ” est activé une seule fois par tour, tandis que “ FCA2 ” est activé 3 fois lors d’une rotation complète de la tourelle. La description du poste de fraisage est constituée de 2 axes, l’axe 4 correspondant à la montée/descente, l’axe 5 à la translation. L’axe 6 représente le poussoir permettant l’alimentation en pièces. Comme il n’y a que 2 capteurs disposés en début et en fin, c’est un axe “ standard ”. Les axes suivants, de 7 à 10 correspondent à la modélisation des tapis assurant le déplacement des pièces entre les postes. L’axe 12 est, comme l’axe 6, un axe “ standard ”. Il modélise un verrou mécanique permettant de bloquer la tourelle pendant l’usinage. Ce verrouillage mécanique est réalisé en interdisant le mouvement “ RTOUR ” de rotation de la tourelle si le capteur “ FCVE ” est activé. Modélisation des tapis Cette description est un peu délicate et nécessite d’abord que soit expliquée la manière dont sont modélisés les transferts de pièces au moyen des outils de représentation de SIMAC. Pour être modélisé, un transfert doit être décomposé en zones susceptibles d’être occupées chacune par une pièce au plus : c’est la notion de “ canton ”. Un “ canton ” peut être dans trois états distincts. Il est “ libre ” si aucune pièce ne s’y trouve, “ occupé ” dans le cas contraire. Le troisième état correspond à la disponibilité de la pièce pour le canton suivant. Dans SIMAC, un “ canton ” est décrit par un axe rotatif. L’état libre est représenté par un capteur “ dxi ” en début d’axe, où “ i ” est l’indice du canton. Un capteur “ fxi ” en fin d’axe correspond à la disponibilité de la pièce pour le canton suivant. ___________________________________________________________________________ 4/2 Machine à trois postes d'usinage 4 Sur la machine réelle, les capteurs sont activés par le passage des pièces. Dans SIMAC, les capteurs réels sont représentés par des capteurs disposés sur l’axe de façon à en simuler le fonctionnement. La présence d’une pièce dans le canton “ i ” est indiquée par une variable booléenne “ pi ”. Cette variable est enclenchée si une pièce est disponible dans le canton précédent et si le canton “ i ” est libre. Elle est déclenchée lorsque la pièce arrive en fin du canton “ i ”, si le canton suivant est disponible. L’équation de cette variable pi est donc : pi = [fxi-1 . dxi + pi] . /(fxi . dxi+1) (1) Le mouvement associé à l’axe représentant le canton décrit l’évolution de la pièce dans celui-ci. On a une évolution, si une pièce étant présente, le moteur “ Mi ” provoquant le déplacement de la pièce ( c’est le moteur entrainant un tapis par exemple ) est en fonctionnement. Ce déplacement a lieu jusqu’à ce qu’on atteigne la fin de l’axe. L’équation du mouvement comprend donc un terme : pi . Mi . /fxi Quand fxi est atteint et que la pièce passe dans le canton suivant, l’axe représentant le canton “ i ” doit être positionné en “ dxi ”. Cet axe étant rotatif, ceci est obtenu en complétant l’équation du mouvement par le terme : /pi . fxi L’équation du mouvement ainsi définie n’est pas tout à fait correcte. Supposons qu’une pièce occupe le canton “ i ” et que le moteur Mi ne fonctionne pas : l’axe correspondant restera sur le capteur “ dxi ”. Si maintenant une autre pièce est amenée par le canton précédent, quand l’axe décrivant celui-ci atteindra “ fxi-1 ”, la présence pièce “ pi-1 ” de ce canton sera déclenchée : la pièce se confondra alors avec celle déjà présente sur le canton “ i ”. Pour éviter ceci, on ajoute un terme “ pi . dxi ” dans l’équation d’un mouvement : dès qu’une pièce entre dans un canton, ce terme fait quitter le capteur dxi, évitant ainsi de perdre une pièce qui pourrait arriver de nouveau. L’équation du mouvement associé à l’axe représentant un canton “ i ” est donc finalement : Si = pi . (dxi + Mi) . /fxi + /pi . fxi (2) Cette équation pourrait être affinée : on peut par exemple vouloir tenir compte du fait que, jusqu’à une certaine position dans le canton, la pièce a encore besoin d’être entraînée par le moteur du canton précédent. Dans ce cas, on placera un capteur fictif dans l’axe, déterminant une zone où le moteur Mi-1 intervient dans le mouvement du canton “ i ”. Les équations (1) et (2) sont appliquées dans la modélisation de la maquette pour décrire le tapis de la tourelle, qui se trouve entre le tapis de la perceuse et celui de la ___________________________________________________________________________ 4/3 E fraiseuse. Le tapis de la fraiseuse est décrit de façon analogue. Les axes correspondant sont les axes 8 et 9, les variables de présence pièces associées pp8 et pp9. La modélisation du tapis de la perceuse est un peu différente : en amont de celui-ci se trouve en effet le poussoir, et non un autre tapis. Si l’équation (2) est encore valable pour décrire le mouvement de la pièce sur le tapis de la perceuse, l’équation décrivant la présence de la pièce doit être adaptée. Une pièce est disponible pour le tapis de la perceuse quand, ayant été déposée au chargement ( le poussoir doit être en position gauche ), le pousseur l’a amenée à droite. Ce dernier peut alors revenir en position gauche, alors que le tapis de la perceuse n’est pas forcément libre et n’a donc pas “ pris en charge ” la pièce. On voit donc que la disponibilité d’une pièce pour le tapis de la perceuse est une information qui doit être mémorisée : ce rôle est joué par la variable “ Mem-pp0 ”. Dans ces conditions, l’équation de la présence de pièce sur le tapis de la perceuse s’écrit : pp7 = (dx7 . Mem-pp0 + pp7) . /(fx7 . dx8) Nous avons vu que le poussoir est représenté par un axe “ standard ”. Les deux capteurs extrêmes dont est muni cet élément sont “ Fcg0 ” et “Fcd0 ”, correspondant respectivement aux positions gauche et droite du poussoir. La variable correspondant à la présence d’une pièce sur le poussoir est “ pp0 ”. Une pièce peut être déposée au chargement si le poussoir est en position gauche. E Le terme d’enclenchement de pp0 sera donc : fcg0 . pièce, où “ pièce ” est une variable externe représentant la présence d’une pièce au chargement. La pièce sera disponible pour le tapis de la perceuse si le poussoir l’a amenée en position droite. Cette pièce disponible sera effectivement prise en charge par le tapis quand l’axe représentant ce dernier sera en “ dx7 ”, l’équation de la variable Mem-pp0 est donc : Mem-pp0 = fcd0 . pp0 + Mem-pp0 . /dx7 La variable pp0, représentant la présence d’une pièce au chargement, sera également déclenchée, à condition que la disponibilité pour le tapis de la perceuse ait été mémorisée, ou que le tapis de la perceuse soit disponible quand le poussoir arrive en position droite. L’équation de cette variable est donc : pp0 = (fcg0 . pièce + pp0) . /[(fcd0 + Mem-p0) . dx7] Voyons maintenant l’évacuation des pièces. Quand les pièces arrivent au bout du tapis de la fraiseuse, qui est le dernier poste de la ligne, elles entrent dans une zone d’évacuation. La variable correspondant à la présence d’une pièce à l’évacuation est PP10, dont l’équation est : pp10 = (dx10 . fx9 + pp10) . /(fx10 . evacpièce) ___________________________________________________________________________ 4/4 Machine à trois postes d'usinage 4 où “ evacpièce ” est une variable externe permettant le retrait des pièces présentes à l’évacuation. Afin d’informer la Partie Commande de la présence d’une pièce sur un des tapis, des capteurs sont placés en face de chacun des postes. L’activation de ces capteurs apparaît donc dans les axes 7, 8 et 9 qui représentent l’évolution d’une pièce sur ces tapis. Le capteur de la zone d’évacuation est quant à lui disposé en fin de l’axe 10. Le capteur correspondant à la présence d’une pièce au chargement, Fcp0 est décrit par une équation : Fcp0 = pp0 + b7 . pp7 pp0 est la variable représentant la présence d’une pièce au chargement, elle intervient donc logiquement dans l’expression de fcp0. b7 est un capteur associé à l’axe 7, décrivant le tapis de la perceuse. Ce capteur est actif sur une certaine longueur au début de l’axe 7. Ceci est dû au fonctionnement du capteur indiquant la présence d’une pièce au chargement : ce capteur reste activé alors que la pièce est déjà engagée sur le tapis de la perceuse, d’où le rôle du terme b7 . pp7 dans l’expression de fcp0. Remarques La description présentée est complétée par un axe 11 permettant de reboucler les pièces parvenant à l’évacuation au niveau du chargement. Le rebouclage est effectué quand la variable externe “ Retour ” est à l’état logique “ 1 ”. Le pupitre Le pupitre permet de piloter cette maquette quand elle est commandée par un automate : on y trouve notamment les boutons de mise sous-tension, mise en puissance et départ cycle. Y figure également un bouton-poussoir fictif permettant d’injecter des pièces en entrée de la machine. L’interrupteur “ Retour pièce” , lorsque il est en position fermée, permet le rebouclage des pièces au moyen de l’axe 11. Les grafcets Le fichier MGRAF1 contient des grafcets permettant d’animer la maquette en mode local. Les 3 premiers grafcets pilotent chacun des postes. Les 4 autres grafcets gèrent le poussoir d’alimentation et les 3 tapis. Remarques Ces grafcets “ dits de Mécanicien ” ne gèrent pas de modes de marche. En simulation interne, il suffit d’introduire une pièce au chargement au moyen du bouton-poussoir “ pièce ” du pupitre de conduite pour activer le modèle. ___________________________________________________________________________ 4/5 E ANNEXES Sommaire Intercalaire F Chapitre 1 2 Page Performances 1/1 1.1 Présentation 1/1 1.2 Impact de l’OFB de simulation sur le temps de cycle automate 1.2.1 Cas des E/S en bac 1.2.2 Cas des E/S déportées 1/2 1/2 1/4 1.3 Impact du médium utilisé et des outils 1/5 Messages d’erreur 2/1 2.1 Messages liés à l’environnement 2/1 2.2 Messages liés à la modélisation 2/1 2.3 Messages liés aux échanges automates 2/2 2.4 Messages liés à l’impression 2/3 F ___________________________________________________________________________ F/1 ANNEXES Chapitre Sommaire Intercalaire F Page F ___________________________________________________________________________ F/2 Chapitre 11 Performances Performances 1.1 Présentation Lors d’une simulation en mode connecté, nous avons vu qu’il était nécessaire d’utiliser un OFB de simulation pour réaliser les échanges entre SIMACTEL et l’automate. Cet OFB est donc rajouté, sous PL7-3, à l’application automate avant son transfert dans l’automate. Cependant, il n’y a aucune modification à apporter au programme lui-même pour pouvoir utiliser l’OFB de simulation. De ce fait, la simulation permet de se mettre dans des conditions réelles d’utilisation de ce programme. Il est à noter tout de même que l’OFB de simulation a un certain impact sur la globalité de l’application automate. En effet, il représente une taille mémoire d’environ 13 Koctets qui s’ajoute au volume total de l’application. De plus, il influence par son déroulement le temps de cycle automate. Sur ce dernier point, l’impact de l’OFB de simulation est en fait très limité, notamment pour des configurations d’E/S en bac compte tenu du principe retenu : l’OFB inhibe les échanges sur le bus fond de panier pour qu’il n’y ait pas de rafraîchissement de la mémoire image des E/S de l’automate. En effet, c’est l’OFB qui se charge de recopier dans cette mémoire les évolutions d’E/S détectées. De cette manière, tout le temps processeur utilisé pour les échanges d’E/S sur le bus est récupéré, ce qui permet de compenser les temps de calcul de l’OFB de simulation. Par contre, l’impact de l’OFB est légèrement supérieur pour des configurations d’E/S déportées car il n’y a pas, dans ce cas, d’inhibition des échanges sur les TBX. Il est donc nécessaire de recopier, à chaque cycle, la propre mémoire image des E/S de l’OFB dans la mémoire image de l’automate. Cette opération est d’autant plus coûteuse en temps que la configuration du nombre d’E/S déportées est importante. Les graphiques présentés à la suite donnent des indications chiffrées de l’impact de l’OFB de simulation sur le temps de cycle automate. F ___________________________________________________________________________ 1/1 1.2 Impact de l’OFB de simulation sur le temps de cycle automate 1.2.1 Cas des E/S en bac Trois types de mesures différentes sont présentées : • Recopie systématique d’E/S en nombre croissant sur la totalité des E/S configurées PL7- 3 SIMACTEL I I O O Toutes les E/S sont configurées dans la tâche MAST. Principe de mesure : comparaison du temps de cycle SW41 avec et sans l’OFB de simulation. On met SY48 à 1 pour permettre le rafraîchissement de SW41. Rappelons que le temps de cycle mesuré grâce à SW41 représente le temps réel d’exécution du cycle automate et non pas le temps configuré lors de la création de l’application. Les résultats obtenus sont les suivants : SW41 moyen avec l'OFB de simulation 14 12 F temps en ms 10 1 8 3 6 5 Nombre de racks de sorties configurés 7 4 2 0 1 3 5 7 Nombre de racks d'entrées configurés ___________________________________________________________________________ 1/2 Performances 1 SW41 moyen réel 14 12 temps en ms 10 1 8 3 6 5 Nombre de racks de sorties configurés 7 4 2 0 1 3 5 Nombre de racks d'entrées configurés 7 Différence entre SW41 avec l'OFB et SW41 réel 1 0,8 temps en ms 0,6 1 0,4 3 0,2 Nombre de racks de sorties configurés 5 0 7 -0,2 F -0,4 -0,6 1 3 5 Nombre de racks d'entrées configurés 7 ___________________________________________________________________________ 1/3 SW41 moyen avec l'OFB de simulation 12 1 rack (13 sorties échangées) temps en ms 10 3 racks (39 sorties échangées) 8 6 5 racks (64 sorties échangées) 4 7 racks (90 sorties échangées) 2 0 1 rack (7 entrées échangées) 3 racks (19 entrées échangées 5 racks (32 entrées échangées Nombre de racks de sorties configurés et nombre de sorties échangées • Pour se rapprocher du contexte réel de la simulation par événement, on recopie systématiquement 5% des entrées et 10% des sorties configurées. Le principe de mesure reste identique et les résultats sont les suivants : 7 racks (45 entrées échangées) SW41 moyen réel 12 1 rack (13 sorties échangées) F temps en ms 10 3 racks (39 sorties échangées) 8 6 5 racks (64 sorties échangées) 4 7 racks (90 sorties échangées) 2 0 1 rack (7 entrées échangées) 3 racks (19 entrées échangées 5 racks (32 entrées échangées Nombre de racks de sorties configurés et nombre de sorties échangées Nombre de racks d'entrées configurés et nombre d'entrées échangées 7 racks (45 entrées échangées) Nombre de racks d'entrées configurés et nombre d'entrées échangées ___________________________________________________________________________ 1/4 Différence entre SW41 avec l'OFB et SW41 réel 1 1 rack (13 sorties échangées) 0,8 temps en ms 0,6 3 racks (39 sorties échangées) 0,4 0,2 5 racks (64 sorties échangées) 0 -0,2 7 racks (90 sorties échangées) -0,4 -0,6 1 rack (7 entrées échangées) 3 racks (19 entrées échangées 5 racks (32 entrées échnagées 1 Nombre de racks de sorties configurés et nombre de sorties échangées Performances 7 racks (45 entrées échangées) Nombre de racks d'entrées configurés et nombre d'entrées échangées • Sur la base de l’application Maquette (cf. Chapitre 4 de l’intercalaire E). Principe de mesure : mesure du temps de recopie d’une entrée sur une sortie par l’automate avec et sans l’OFB de simulation. Cette mesure a été réalisée grâce à un terminal permettant d’espionner l’apparition des échanges d’E/S entre SIMACTEL et l’automate. Les résultats obtenus sont les suivants : - temps de traitement sans l’OFB : 9;9;11;12;9;8;10;9;9;8;6;8;6;8;12;11;6;6;8;10;6; pour un temps moyen de 8.6ms - temps de traitement avec l’OFB : 8;7;7;6;10;7;6;8;9;6;7;6;6;10;5;6;7;6;9;6; pour un temps moyen de 7.1 ms ___________________________________________________________________________ 1/5 F 1.2.2 Cas des E/S déportées La mesure effectuée consiste à augmenter progressivement le nombre d’E/S déportées configurées : on ajoute 16 voies par 16 voies en alternant les sorties et les entrées. Les 16 premières voies sont des sorties. Toutes les E/S sont configurées dans la tâche MAST. Sans l’OFB de simulation, seul l’automate rafraîchit les E/S déportées dans sa mémoire image des E/S. Par contre, lorsque l’OFB est activé, il recopie, à chaque cycle, sa propre mémoire image des E/S dans celle de l’automate juste après le rafraîchissement de celle-ci par le système de l’automate. En mesurant le temps de cycle avec et sans l’OFB, on peut donc en déduire l’impact de celui-ci sur le temps d’exécution. Principe de mesure : on relève la valeur de SW41 avec et sans l’OFB de simulation Les résultats sont les suivants : SW41 moyen avec et sans l'OFB de simulation 14 12 10 ms 8 6 4 F 2 128S/128E 128S/112E 112S/112E 112S/96E 96S/96E 96S/80E 80S/80E 80S/64E 64S/64E 64S/48E 48S/48E 48S/32E 32S/32E 32S/16E 16S/16E 16S/0E 0S/0E 0 Nombre d'E/S FIP configurées Avec l'OFB Sans l'OFB ___________________________________________________________________________ 1/6 Performances 1.3 1 Impact du médium utilisé et des outils Le temps nécessaire au cycle complet de la simulation intégre le temps d’exécution de l’OFB, le temps de calcul de l’échéancier par SIMACTEL, mais aussi les échanges UNITE entre le serveur de communication et l’OFB de simulation, ainsi que les échanges SIMACTEL-Serveur. Nous avons donc testé la simulation sur la Maquette de l’intercalaire exemple avec différents médiums : Prise-console et UNI-TELWAY. Pour cela, le temps moyen de parcours d’une pièce dans l’application maquette a été mesuré, avec ou sans PL7-3 debug. Les résultats sont les suivants : • Sans PL7-3 mode debug Prise-console : temps de passage moyen d’une pièce en 42.2 secondes UNI-TELWAY : temps de passage moyen d’une pièce en 40.5 secondes • Avec PL7-3 mode debug Prise-console : temps de passage moyen d’une pièce en 45 secondes UNI-TELWAY : temps de passage moyen d’une pièce en 41.5 secondes F ___________________________________________________________________________ 1/7 F ___________________________________________________________________________ 1/8 MessagesChapitre d'erreur 12 Messages d'erreur 2.1 Messages liés à l’environnement Ces messages ont trait à la disponibilité de ressources nécessaires au bon fonctionnement de SIMACTEL. Message “ Problème de ressources Windows fermer des fenêtres ” L’affichage des Pupitres et des Synoptiques nécessite l’utilisation de fenêtres Windows, en fonction en particulier du nombre d’éléments représentés dans les Synoptiques. Lors de la demande d’affichage de Pupitres ou de Synoptiques, un test des ressources disponibles est effectué. Si celles-ci sont insuffisantes - ce qui peut être vérifié au moyen de la fenêtre “ A propos ” du Gestionnaire de Programmes - ce message est affiché. Il faut alors choisir de retirer un ou plusieurs des Synoptiques ou Pupitres déjà présents à l’écran. Messages “Copie (ou Sauvegarde ou Chargement) mal effectué(e) ” Ces messages sont susceptibles d’apparaître lors de l’utilisation des Outils permettant la copie d’une machine ou d’un modèle, le transfert d’une machine en modèle et la sauvegarde ou le chargement d’une machine ou d’un modèle vers - respectivement depuis - une disquette. La cause la plus probable est le manque de place disponible sur le disque de l’ordinateur ou sur la disquette dans le cas d’une sauvegarde. Un mauvais formatage de la disquette peut également être en cause. 2.2 Messages liés à la modélisation Ces messages sont susceptibles d’apparaître lors d’une simulation locale ou connectée. Leur origine provient d’une anomalie dans la modélisation, interdisant la poursuite de la simulation qui est donc interrompue. Message “ Indétermination sur l’état de variables ” Ce message apparaît lorsque SIMACTEL n’est pas en mesure de déterminer l’état de relais ou de variables de modélisation. Un exemple trivial est l’équation suivante : a = /a Ce phénomène apparaît par exemple si l’on a décrit une bascule R/S dans SIMACTEL au moyen de deux équations logiques et que l’on en active de façon synchrone les entrées Set et Reset ! Le moyen de résoudre l’anomalie est de corriger les expressions des variables incriminées ou de rétablir un état stable en agissant sur un des termes des équations. ___________________________________________________________________________ 2/1 F Message “ Activités simultanées pour l’axe : ..” Ce message signale une anomalie due au caractère non exclusif des équations de mouvements associées à un même axe. Il faut dans ce cas modifier les équations des mouvements concernés afin de les rendre incompatibles. Message “ Evolution infinie de : ” Ce message apparaît lorsqu’un bouclage se produit dans un axe rotatif évoluant à une vitesse infinie. Le problème est que l’équation n’est jamais invalidée au cours du déplacement. Il faut donc corriger cette équation afin que le mouvement auquel on a donné une vitesse infinie puisse être désactivé par le changement d’état d’un des capteurs se trouvant dans l’axe. Message “ Instabilité du Grafcet ” Ce message signale qu’une “ situation stationnaire ” apparaît dans un Grafcet. C’està-dire qu’un cycle fermé de transitions dont les réceptivités sont simultanément vérifiées s’est établi. Il faut donc verrouiller certaines des transitions impliquées dans la boucle. Une autre possibilité est qu’un débordement de compteur se produit : il s’agit d’une anomalie concernant une opération arithmétique - qu’il faut éventuellement remplacer par une incrémentation - effectuée dans une Etape. 2.3 Messages liés aux échanges automates Les différents messages d’erreur liés aux échanges entre SIMACTEL et l’automate, ainsi que leurs causes sont présentés ci-dessous. Message “ Ouverture de la liaison non réussie ” F SIMACTEL n’a pas réussi à lancer le serveur de communication. Message “ CONNEXION ECHOUEE ” Si ce message n’est pas accompagné d’autres messages, cela signifie que : - la connexion physique n’est pas correctement établie - l’OFB de simulation est absent de l’application automate - l’automate est hors service Si ce message est accompagné du message “ VERSION UC INCOMPATIBLE ”, cela signifie que : - la version de l’UC de l’automate n’est pas une V5 Si ce message est accompagné du message “ CONFIGURATION SIMACTEL<>CONFIGURATION API ”, cela signifie que : - la configuration réalisée dans SIMACTEL ne correspond pas à la configuration décrite dans le programme automate. ___________________________________________________________________________ 2/2 Messages d'erreur 2.4 1 Messages liés à l’impression Les différents messages d’erreur liés à l’impression, ainsi que leurs causes sont présentés ci-dessous. Message “ Impossible d’ouvrir le dossier machine ”. SIMACTEL n’a pas réussi à ouvrir le dossier machine demandé. Ce message survient lorsque le logiciel n’a pas réussi à lire les informations contenues dans les fichiers de description de la machine. Si ce message apparaît, contactez votre centre de support technique. Message “ Impossible d’ouvrir le modèle ”. SIMACTEL n’a pas réussi à ouvrir le modèle demandé. Ce message survient lorsque le logiciel n’a pas réussi à lire les informations contenues dans les fichiers de description du modèle. Si ce message apparaît, contactez votre centre de support technique. Message “ Incompatibilité entre le format d’édition, le dossier machine et les caractéristiques de l’imprimante. SIMPRINT ne peut pas imprimer votre dossier machine ! VEUILLEZ MODIFIER VOTRE FORMAT D’EDITION... ” Ce message apparaît lorsque SIMACTEL n’est pas capable d’imprimer le document avec le format d’édition demandé. Ceci se produit lorsqu’un des paragraphes du document est d’une taille telle qu’il ne puisse pas être imprimé sur une seule page. Pour corriger ce problème, il faut choisir une police de caractères suffisamment petite pour que tous les paragraphes soient positionnables sur une seule page. Message “ Mémoire insuffisante ! Fermer le plus possible d’applications pour libérer de la mémoire. ” Lorsque trop d’applications WINDOWS sont lancées en même temps, l’ordinateur ne dispose plus de suffisamment de mémoire libre pour exécuter correctement SIMACTEL. Fermer le plus possible d’applications pour libérer de la mémoire lorsque ce message apparaît. Message “ Une autre instance de SIMPRINT est déjà lancée ! Fermez d’abord cette autre instance avant d’utiliser à nouveau l’outil d’impression ” Ce message apparaît lorsque l’on ouvre l’outil d’impression alors que l’application SIMPRINT est déjà active. Pour corriger ce problème, fermer l’application SIMPRINT active, puis utiliser de nouveau l’outil d’impression. Message “ Impossible de lancer l’impression. ” Ce message apparaît lorsque survient une erreur d’impression WINDOWS. Pour corriger ce problème, reportez-vous au guide d’utilisation de WINDOWS. ___________________________________________________________________________ 2/3 F Messages “ Le fichier *.dib est trop important pour être ouvert par SIMPRINT ! ” et “ Impossible d’ouvrir le fichier *.dib ! ” Ces messages apparaissent lorsque SIMACTEL rencontre des problèmes pour l’impression des pupitres et des synoptiques. Veuillez contacter votre centre de support technique pour corriger ce problème. F ___________________________________________________________________________ 2/4