▼
Scroll to page 2
of
230
Logiciel de programmation pour commandes de série 300 et WDP3-014/018 Version 3 Edition: c220 09.2003 No. d’ident.: 00441113021 Version logicielle: 3.2XX Suggestions Corrections Berger Lahr GmbH & Co. KG ProOED3 Breslauer Str. 7 Postfach 1180 D-77901 Lahr Expéditeur: Nom: Société/Service: Adresse: Téléphone: Suggestions et/ou corrections: Edition: b162 Juillet 97 No. d’ident.: 0044113021 Si vous avez constaté des erreurs dans cette documentation, veuillez nous en faire part sur ce formulaire. Vos idées et suggestions seront également les bienvenues. Sommaire Sommaire 1 Description générale Page 1-1 1.1 Fonctionnalité de ProOED3 1-1 1.2 Comparaison des commandes WDP3-01X et de la série 300 avec OED3 1-2 1.3 Vue d’ensemble du logiciel de programmation ProOED3 1-4 1.3.1 Editeurs de programme 1-4 1.3.2 Paramètres et variables 1-5 1.3.3 Fonctions on-line (en ligne) 1-6 1.4 Notes sur la documentation 1-8 1.5 Structure des menus et séquences d’utilisation 1-9 1.5.1 Création et test d’un nouveau projet 1-10 1.5.2 Chargement d’un projet existant dans la commande 1-11 1.5.3 Affichage de la position pendant un déplacement manuel 1-12 1.5.4 Apprentissage de positions par la commande 1-12 1.5.5 Dialogues d’exploitation pour test de terminal VT52 ou FT2000 1-13 1.5.6 Observation du programme séquentiel ou API 1-13 ProOED3 No. d’ident.: 00441113021 Sommaire 2 3 4 Installation Page 2-1 2.1 Fourniture 2-1 2.2 Accessoires 2-2 2.3 Conditions 2-2 2.4 Installation du logiciel 2-3 2.5 Lancement de ProOED3 2-6 2.6 Traitement de projets ProOED3 version 2 2-8 Mise en service d’une commande avec ProOED3 3-1 3.1 Câblage de la commande 3-1 3.1.1 3-1 Interfaces série 3.2 Contrôle du câblage 3-3 3.3 Test de fonctionnement du moteur série 300 3-6 3.4 Test de fonctionnement du moteur WDP3-014/018 3-7 Création d’un projet simple ProOED3 4-1 No. d’ident.: 00441113021 Sommaire 5 Utilisation Page 5-1 5.1 Fonctions en rapport avec le projet (Projet) 5-4 5.1.1 Ouvrir un projet 5-4 5.1.2 Créer un nouveau projet 5-5 5.1.3 Enregistrer sous 5-6 5.1.4 Imprimer 5-7 5.1.5 Sélectionner le type de commande 5-7 5.2 5.3 Editeurs (Données) 5-8 5.2.1 Editeurs SEQ et API 5-9 5.2.2 Edition de noms symboliques 5-11 5.2.3 Edition de textes d’émission 5-14 5.2.4 Edition de paramètres de commande 5-15 5.2.5 Edition des variables de position 5-16 Le menu déroulant Edit (Edition) 5-17 5.3.1 Couper 5-17 5.3.2 Copier 5-18 5.3.3 Coller 5-18 5.3.4 Rechercher 5-18 5.3.5 Remplacer 5-19 5.3.6 Compiler 5-20 ProOED3 No. d’ident.: 00441113021 Sommaire Page 5.4 5.5 Fonctions on-line (On-line) 5-21 5.4.1 Le menu déroulant Transfer 5-21 5.4.1.1 5-22 Chargement du projet dans la commande (Download) 5.4.2 Le menu déroulant Controller (Commande) 5-22 5.4.3 Fonctions de test 5-23 5.4.3.1 Simulation FT2000 5-24 5.4.3.2 Test E/S 5-25 5.4.3.3 Enregistrement de positions (Teach-In Positions) 5-26 5.4.3.4 Affichage des positions pendant un déplacement manuel 5-28 5.4.3.5 Debug programme SEQ et programme API 5-29 Aide 5-32 ProOED3 No. d’ident.: 00441113021 Sommaire 6 Programmation Page 6-1 6.1 Principes de base 6-1 6.1.1 Développement d’un programme ProOED3 6-1 6.1.1.1 6-2 6.2 Développement de programmes 6.1.2 Définition des paramètres de commande 6-4 6.1.3 Programme séquentiel et programme API 6-7 6.1.3.1 Instructions 6-8 6.1.3.2 Opérateurs 6-10 6.1.3.3 Opérandes <ac ... wx> 6-12 6.1.3.4 Commentaires 6-22 6.1.4 Noms symboliques 6-23 6.1.5 Textes d’émission pour dialogues d’exploitation 6-24 Programmation de fonctions de base 6-25 6.2.1 Chargement et stockage 6-26 6.2.2 Mise à 1 et mise à 0 6-27 6.2.3 Opérations logiques 6-27 6.2.4 Comparaisons 6-28 6.2.5 Calculs arithmétiques 6-29 6.2.6 Instructions de saut 6-30 6.2.7 Sous-programmes 6-31 ProOED3 No. d’ident.: 00441113021 Sommaire Page 6.3 6.4 Programmation de fonctions de commande 6-32 6.3.1 Initialisation d’une commande 6-34 6.3.2 Programmation de déplacements 6-34 6.3.2.1 Modes de fonctionnement d’axe 6-34 6.3.2.2 Mode point à point 6-35 6.3.2.3 Mode poursuite de position (réducteur électronique) 6-50 6.3.2.4 Contrôle de rotation 6-55 6.3.2.5 Actionnement d’un frein (série 300 uniquement) 6-58 6.3.2.6 Interpolation avec unités de positionnement multiaxes (WPM) 6-59 6.3.2.7 Déplacement manuel par les entrées de signal 6-61 6.3.3 Entrées/sorties externes avec MP 926 (série 300 uniquement) 6-62 6.3.4 Signaux analogiques (série 300 uniquement) 6-63 6.3.5 Communication par interface série 6-63 6.3.6 Synchronisation avec une commande de niveau supérieur 6-67 6.3.7 Console d’exploitation de la société Lauer (série 300 uniquement) 6-68 Test de programme 6-71 ProOED3 No. d’ident.: 00441113021 Sommaire 7 Messages d’erreur Page 7-1 7.1 Erreurs de programmation 7-1 7.1.1 Erreurs de compilation 7-1 7.1.2 Erreurs au téléchargement d’un programme 7-2 7.1.3 Erreurs du système d’exploitation MS-DOS 7-2 7.1.4 Erreurs système ProOED3 7-2 Erreurs lors de l’exécution du programme 7-3 7.2.1 Numéros d’erreur sur l’afficheur 7 segments 7-5 7.2.2 Menu d’erreurs sur le terminal d’exploitation 7-7 7.2.3 Traitement des erreurs par programme utilisateur 7-10 7.2 8 Annexe 8-1 8.1 Description des instructions 8-1 8.2 Exemples de projets 8-40 8.2.1 Charger l’exemple de projet pour mode manuel 8-41 8.2.2 Copier un exemple de projet dans un autre répertoire 8-47 8.2.3 Description des exemples de projets 8-48 8.3 Termes techniques 8-50 8.4 Abréviations 8-53 9 Index des mots-clés 9-1 10 Corrections et compléments 10-1 ProOED3 No. d’ident.: 00441113021 Sommaire ProOED3 No. d’ident.: 00441113021 Description générale 1 Description générale 1.1 Fonctionnalité de ProOED3 Application Le logiciel de programmation ProOED3 permet de créer des programmes pour les commandes BERGER LAHR de la série 300 (p.ex. WDP3-318) et les commandes WDP3-014/018 équipées du système d’exploitation OED3 version 3.0. IMPORTANT Les commandes de la série 300 et les commandes WDP3-014/018 diffèrent sur le plan matériel et par leur fonctionnalité (voir chapitre 1.2). Les différences concernant l’utilisation par la face avant, les paramètres et les instructions sont signalées dans les différents chapitres. Commandes avec OED3 Commandes de la série 300 avec OED3: – WP-311 (commande monoaxe sans commande de puissance) – WDP3-314/318 (commande monoaxe avec commande de puissance) – WDPM3-314 (commande biaxe avec commande de puissance) – WPM-311 (commande quadriaxe sans commande de puissance) Commande WDP3-01X avec OED3: – WDP3-014/018 (commande monoaxe sans commande de puissance) Fonctions Les principales fonctions du logiciel de programmation ProOED3: – Paramétrage et programmation de la commande – Chargement de programmes dans la commande – Test de programmes – Test du câblage des entrées/sorties de la commande – Programmation simple de mode manuel et apprentissage au moyen de programmes exemples fournis Les programmes de commande sont créés à l’aide d’éditeurs conviviaux sur un PC. L’interface à menus déroulant et fenêtres assure un grand confort de travail. La disquette d’installation de ProOED3 contient de nombreux exemples de projets qui peuvent être utilisés pour la programmation d’applications. ProOED3 offre de larges possibilités en matière de test de programmes, telles que l’observation de l’exécution d’un programme pendant son déroulement sur la commande. PC avec logiciel ProOED3 00 ENC. 40 - ROT.ERR. Téléchargement READY ProOED3 M Moteur pas à pas E Codeur 01 + 41 42 l 0 programme de commande 51 02 ROT. MONIT. 03 SIGNAL 53 Sorties 55 STEP 04 EF 3456 78 9A 0 12 OFF I-RED GAT/ENA 05 PH.CURR BCD l 20 06 READY 07 FAULT Q0 08 TEMP 09 OVER-VOLT 57 10 LOW-VOLT U V W 11 Entrées Q9 Fig. 1-1 Environnement système ProOED3 Commande de la série 300 ou WDP3-014/018 avec système d'exploitation OED3 No. d’ident.: 00441113021 1-1 Description générale 1.2 Comparaison des commandes WDP3-01X et de la série 300 avec OED3 Différences Conséquences Indexeur La commande WDP3-01X contient un indexeur logiciel. Les commandes de la série 300 contiennent un indexeur matériel. La commande WDP3-01X met trois plus de temps pour traiter une instruction qu’une commande de la série 300. Mémoire de travail La commande WDP3-01X ne possède pas de RAM sauvegardée par batterie. Une commande de la série 300 possède une RAM sauvegardée par batterie. Avec les commandes de la série 300, le programme utilisateur créé avec ProOED3 reste dans la mémoire de travail (RAM) de la commande après la coupure de la tension d’alimentation. Avec la commande WDP3-01X, le programme utilisateur est effacé après la coupure de la tension d’alimentation. Sauvegarde dans l’EEPROM: ProOED3 permet de sauvegarder le programme utilisateur dans l’EEPROM de la commande. Un programme utilisateur sauvegardé dans l’EEPROM est automatiquement chargé dans la mémoire de travail de la commande à la mise sous tension et conservé après la mise hors tension. Entrées/sorties La commande WDP3-01X possède 11 entrées et 4 sorties libres. Une commande monoaxe de la série 300 possède 15 entrées et 10 sorties libres. Aucune extension E/S n’est possible avec la commande WDP3-01X. Jusqu’à 5 extensions E/S MP 926 (de chacune 16 E/S) peuvent être raccordées à une commande de la série 300. Possibilités E/S de la commande WDP3-01X limitées en comparaison d’une commande de la série 300 Entrée de déclenchement La commande WDP3-01X ne possède pas d’entrée de déclenchement. Les commandes de la série 300 possèdent une entrée de déclenchement. Sur les commandes de la série 300, l’entrée de déclenchement permet de réagir très vite à un événement, voir l’instruction “settrigger”. Interface analogique La commande WDP3-01X ne peut pas être équipée d’une interface analogique. Avec une commande de la série 300, il est possible d’entrer et de délivrer des signaux de tension analogiques par l’intermédiaire d’une interface analogique. Interface codeur La commande WDP3-01X peut être équipée au maximum d’une interface codeur, une commande de la série 300 peut être équipée au maximum de deux interfaces codeur. 1-2 ProOED3 Une interface codeur permet de réaliser un réducteur électronique ou un contrôle de rotation. Deux interfaces codeur permettent de réaliser un réducteur électronique et un contrôle de rotation. No. d’ident.: 00441113021 Description générale Différences Conséquences Interface série La commande WDP3-01X ne possède qu’une seule interface série. Une commande de la série 300 peut être équipée de deux interfaces série. Avec la commande WDP3-01X, les possibilités de test de dialogues d’exploitation programmés pour un terminal d’exploitation (p.ex. FT2000) sont limitées (par simulation de terminal en mode debug de ProOED3). Réglage du courant Sur la commande WDP3-01X, le courant de phase maximum se règle par un paramètre en face avant, sur une commande de la série 300 par un commutateur rotatif sur la face avant. Le réglage du courant par l’instruction OED3 “setcurrent” se rapporte à la valeur réglée via la face avant. Nombre d’axes La commande WDP3-01X est une commande monoaxe. Les commandes de la série 300 existent en version mono-, bi- et quadriaxe pour moteurs 3 ou 5 phases. Une commande multiaxe de la série 300 permet de contrôler un système de manutention complet. Console d’exploitation Lauer Une console d’exploitation de la société Lauer peut être raccordée aux commandes de la série 300. Il est possible de créer des applications pour les commandes de la série 300 avec une console d’exploitation Lauer. IMPORTANT Les instructions et paramètres applicables aux commandes de la série 300 et WDP3-01X sont parfois différents (voir chapitres 6.1.2 et 6.1.3.2). ProOED3 No. d’ident.: 00441113021 1-3 Description générale 1.3 Vue d’ensemble du logiciel de programmation ProOED3 1.3.1 Editeurs de programme Fig. 1-2 Editeur de programme Des éditeurs de programme sont disponibles pour la création de programmes de commande. La saisie de commentaires améliore la lisibilité des programmes. – – Fig. 1-3 Fonctions d’édition 1-4 Des fonctions de copie, recherche et remplacement facilitent la programmation. – ProOED3 No. d’ident.: 00441113021 Description générale 1.3.2 Paramètres et variables Un éditeur permet de modifier les paramètres de commande prédéfinis. Fig. 1-4 Edition des paramètres de commande Il existe également des éditeurs de variables de position, variables de texte et noms symboliques. Fig. 1-5 Edition des variables de position ProOED3 No. d’ident.: 00441113021 1-5 Description générale 1.3.3 Fonctions on-line (en ligne) Le menu “On-line” propose des fonctions de transfert de données et de test de programme. Quelques exemples: – – – Transfert de programme dans la commande Affichage des états d’entrée sur l’écran Manipulation des états de sortie Les indicateurs ne sont affectés qu'en cas de raccordement de modules E/S externes sur les commandes de la série 300. Fig. 1-6 Entrées, sorties et indicateurs – Déplacement et positionnement manuel des axes et enregistrement de valeurs de position. Fig. 1-7 Teach-In (apprentissage) 1-6 ProOED3 No. d’ident.: 00441113021 Description générale – Observation du programme de commande et de ses résultats logiques pendant le déroulement du programme. – Simulation du terminal d’exploitation FT2000 Fig. 1-8 Observation du programme de commande Fig. 1-9 Simulation FT2000 ProOED3 No. d’ident.: 00441113021 1-7 Description générale 1.4 Notes sur la documentation Cette documentation contient des informations sur l’installation et l’utilisation du logiciel de programmation ProOED3 ainsi que sur la programmation d’une commande de la série 300 ou WDP3-014/018 avec ProOED3. La documentation technique de l’appareil contient des informations sur l’installation et l’utilisation de l’appareil. IMPORTANT Les masques d’écran représentés sont des exemples, ils ne correspondent pas obligatoirement avec ceux qui sont affichés. 1-8 ProOED3 No. d’ident.: 00441113021 Description générale 1.5 Structure des menus et séquences d’utilisation La figure ci-dessous montre la structure des menus de ProOED3. ProOED3 Projet Données Edition Ouvrir Nouveau Enregistrer Enregistrer sous Imprimer Type de commande Quitter Programme SEQ Programme API Noms symboliques Textes d'émission Paramètres de commande Variables de position Transfert Commande Téléchargement Interface PC Options de terminal Quitter On-line Couper Copier Coller Rechercher Rechercher suivant Remplacer Compiler Test Lancer Arrêter Sauvegarder programme en EEPROM Simulation FT2000 Emulation VT52 Test E/S Position(s)Teach-In Position(s) manuelles Debug programme SEQ Debug programme API Aide Instructions Clavier Informations système A propos de ProOED3... Aide Clavier Informations système A propos de ProOED3... Fig. 1-10 Structure des menus de ProOED3 Les séquences d’utilisation décrites dans les chapitres suivants présentent la procédure de programmation et d’utilisation à l’aide de ProOED3. Les détails relatifs à l’exploitation sont donnés dans les différents chapitres consacrés à la description des menus. ProOED3 No. d’ident.: 00441113021 1-9 Description générale 1.5.1 Création et test d’un nouveau projet ⇒ Menu “Project/New” (Projet/Nouveau). Donner le nom du projet et le type de commande. Le type de commande peut être modifié dans le menu “Project/Controller Type” (Projet/Type de commande). Entrer les parties de programme ⇒ Compiler les programmes API et séquentiel, évtl. corriger les erreurs de programme Menu “Data/...” * “SEQ Program” (programme séquentiel) pour séquences de déplacement, communication via interface séries, opérations E/S * “PLC Program” (Programme API) pour traitement simultané d’opérations E/S et de programmes séquentiels * “Symbolic names” (Noms symboliques) pour désignations individuelles dans le programme * “Send texts” (Textes d’émission) pour communication via interface série * “Control Parameters” (Paramètres de commande) pour configuration de la commande * “Position Variables” (Variables de position) pour le mode apprentissage ⇒ Menu “Edit/Compile” (Edition/Compiler) Raccorder le PC à la commande et câbler la commande conformément aux spécifications ⇒ Contrôler le câblage des E/S, voir chapitre 3 ⇒ Menu “On-line/Transfer/PC interface” (On-line/Transfert/Interface PC) ⇒ Lancer OED3 par la face avant de la commande. Sur les commandes de la série 300, maintenir les touches 41 et 42 appuyées vers “+” jusqu’à ce que “Ed” apparaisse sur l’afficheur. Sur les commandes WDP3-014/018, appuyer en même temps sur la touche “+” et la touche “↵” jusqu’à ce que “Ed” apparaisse. Si la communication entre le PC et la commande fonctionne, “EDIT>” s’affiche sur l’écran du PC. ⇒ Menu “On-line/Transfer/Download” (On-line/Transfert/Téléchargement) Créer un nouveau projet Choisir l’interface série du PC pour la transmission de données (standard: COM 2) Activer le mode édition sur la commande Charger le projet dans la commande IMPORTANT Si une partie de programme n’a pas été compilée, un “?” apparaît avant le nom de cette partie de programme après activation du menu “.../Download”. 1-10 Lancer le programme de la commande ⇒ Menu “On-line/Controller/Run” (On-line/Commande/Lancer) Tester le programme ⇒ Menus: “On-line/Test/...”, voir chapitre 1.5.6 Imprimer le programme ⇒ Menu: “Project/Print” (Projet/Imprimer) ProOED3 No. d’ident.: 00441113021 Description générale IMPORTANT Le programme de commande peut être sauvegardé dans l’EEPROM dans le menu “On-line/Controller/Save Program to EEPROM” (On-line/Commande/Sauvegarder programme en EEPROM). Avec les commandes WDP3-014/018, la sauvegarde du programme est obligatoire, car celles-ci ne possèdent pas de batterie. 1.5.2 Chargement d’un projet existant dans la commande ⇒ Menu “Project/Open” (Projet/Ouvrir) ⇒ Menu “Project/Controller Type” (Projet/Type de commande) ⇒ Menu “Edit/Compile” (Edition/Compiler) Raccorder le PC à la commande et câbler la commande conformément aux spécifications. ⇒ Contrôler le câblage des E/S, voir chapitre 3 Choisir l’interface série du PC pour la transmission de données (standard: COM 2). ⇒ Menu “On-line/Transfer/PC interface” (On-line/Transfert/Interface PC) Activer le mode édition sur la commande ⇒ Lancer OED3 par la face avant de la commande. Sur les commandes de la série 300, maintenir les touches 41 et 42 appuyées vers “+” jusqu’à ce que “Ed” apparaisse sur l’afficheur. Sur les commandes WDP3-014/018, appuyer en même temps sur la touche “+” et la touche “↵” jusqu’à ce que “Ed” apparaisse. Si la communication entre le PC et la commande fonctionne, “EDIT>” s’affiche sur l’écran du PC. Charger le projet dans la commande ⇒ Menu “On-line/Transfer/Download” (On-line/Transfert/Téléchargement) Ouvrir un projet existant Indiquer le type de commande Compiler les programme API et séquentiel, évtl. corriger les erreurs de programme. IMPORTANT Si une partie de programme n’a pas été compilée, un “?” apparaît avant le nom de cette partie de programme après activation du menu “.../Download”. Lancer le programme de la commande ⇒ Menu “On-line/Controller/Run” (On-line/Commande/Lancer) IMPORTANT Le programme de commande peut être sauvegardé dans l’EEPROM dans le menu “On-line/Controller/Save Program to EEPROM” (On-line/Commande/Sauvegarder programme en EEPROM). Avec les commandes WDP3-014/018, la sauvegarde du programme est obligatoire, car celles-ci ne possèdent pas de batterie. ProOED3 No. d’ident.: 00441113021 1-11 Description générale 1.5.3 Affichage de la position pendant un déplacement manuel Un déplacement manuel peut être effectué par l’intermédiaire de la face avant (se reporter à la documentation de l’appareil) ou par programme utilisateur. Lors d’un déplacement manuel par programme utilisateur, la position actuelle peut être affichée sur l’écran pendant le déplacement. Des programmes exemples de déplacement manuel sont inclus dans les fichiers d’installation de ProOED3 sur le PC. Le déplacement manuel par programme utilisateur est réalisé à l’aide des indicateurs de commande m0 à m4. Dans le programme exemple “MANUAL.PO3”, les entrées de signaux i0 à i4 sont affectées aux indicateurs m0 à m4. Ouvrir le projet “déplacement manuel” et le charger dans la commande ⇒ voir chapitre 1.5.2 Actionner les entrées manuelles et afficher les positions manuelles ⇒ Menu “On-line/Test/Manual Position(s)” (On-line/Test/Position(s) manuelle(s)) IMPORTANT Si souhaité, modifier les paramètres “Vitesse manuelle lente” et “Vitesse manuelle rapide” dans l’éditeur “Paramètres de commande” et les charger dans la commande. 1.5.4 Apprentissage de positions par la commande Ouvrir le projet “Teach-In” et le charger dans la commande Effectuer un déplacement manuel et stocker les positions souhaitées dans le projet sur PC 1-12 En mode apprentissage par programme utilisateur, il est possible d’atteindre manuellement et de mémoriser dans la commande jusqu’à 400 positions. Des programmes exemples d’apprentissage sont inclus dans les fichiers d’installation de ProOED3 sur le PC. Le déplacement manuel par programme utilisateur est réalisé à l’aide des indicateurs de commande m0 à m4. Dans le programme exemple “TEACH-IN.PO3”, les entrées de signaux i0 à i4 sont affectées aux indicateurs m0 à m4. ⇒ voir chapitre 1.5.2 ⇒ Menu “On-line/Test/Teach-In Position(s)” (On-line/Test/Position(s) d’apprentissage) IMPORTANT Les positions mémorisées peuvent être éditées postérieurement au moyen de l’éditeur “Variables de position”. ProOED3 No. d’ident.: 00441113021 Description générale 1.5.5 Dialogues d’exploitation pour test de terminal VT52 ou FT2000 ProOED3 permet de simuler des terminaux VT52 ou FT2000. Il est ainsi possible de tester des dialogues d’exploitation programmés sans que le terminal concerné soit raccordé à la commande. Les dialogues d’exploitation sont programmés dans le programme séquentiel. Les textes affichés lors de dialogues d’exploitation sont créés à l’aide de l’éditeur “Textes d’émission”. Des exemples de dialogues d’exploitation sont inclus dans les fichiers d’installation de ProOED3 sur le PC. Pour tester des dialogues d’exploitation sans terminal d’exploitation, il est possible de raccorder à la commande un ou deux PC sur lesquels tourne ProOED3 (avec deux PC, il est en outre possible d’observer le programme, voir chapitre 1.5.6). IMPORTANT Si une seule interface série est disponible sur la commande, l’interface d’exploitation programmée de la commande doit être la même que l’interface PC (interface PC standard: “c1”). Le cas échéant, affecter le nom de l’interface d’exploitation “c1” dans l’éditeur “Noms symboliques”. Ouvrir un projet contenant des dialogues d’exploitation et le charger dans la commande ⇒ voir chapitre 1.5.2 Lancer le programme de la commande ⇒ Menu “On-line/Controller/Run” (On-line/Commande/Lancer) Tester les dialogues d’exploitation pour la commande sur l’écran du PC ⇒ Menu “On-line/Test/FT 2000 Simulation” ou “VT52 Emulation” 1.5.6 Observation du programme séquentiel ou API Les indicateurs et variables utilisés dans le programme séquentiel ou le programme API peuvent être affichés sur le PC pendant l’exécution de programme sur la commande. Le programme peut être exécuté pas à pas. Charger les parties de programme souhaitées dans la commande ⇒ voir chapitre 1.5.2 Observer le programme de la commande ⇒ Menu “On-line/Test/Debug SEQ Program” (On-line/Test/Debug programme SEQ) ou Menu “On-line/Test/Debug PLC Program” (On-line/Test/Debug programme API) ProOED3 No. d’ident.: 00441113021 1-13 Description générale 1-14 ProOED3 No. d’ident.: 00441113021 Installation 2 Installation 2.1 Fourniture Procéder à l’inventaire de la fourniture. Liste du matériel fourni: Quantité Désignation 1 Disquette 31⁄2" ProOED3 1 Documentation ProOED3 31/2" Fig. 2-1 Fourniture ProOED3 No. d’ident.: 00441113021 2-1 Installation 2.2 Accessoires Les accessoires suivants sont disponibles sur commande séparée (pour la description des accessoires, se reporter à la documentation de l’appareil, chapitre 6.2): – – – 2.3 Câble d’interface mâle-femelle Câble d’interface mâle-mâle Convertisseur d’interface MP 923 (RS 485/RS 232) Conditions Les conditions matérielles et logicielles requises pour ProOED3 sont: – – – – – – – – 2-2 IBM AT ou PC compatible à 100% système d’exploitation MS-DOS version 6.0 ou supérieure au moins 555 ko d’espace mémoire libre au moins 1 lecteur de disquettes 31⁄2" 1,44 Mo interface série RS 232 ou RS 485 câble d’interface correctement câblé pour la communication avec la commande éventuellement, convertisseur d’interface RS 485/RS 232 (p.ex. MP 923) commande de la série 300 ou commande WDP3-014/018 avec OED3. ProOED3 No. d’ident.: 00441113021 Installation 2.4 Installation du logiciel Pour installer ProOED3, procéder de la manière suivante: 1. Effectuer des copies de sécurité de toutes les disquettes fournies (pour les instructions relatives à la copie de disquettes, se reporter au manuel MS-DOS). 2. Insérer la disquette programme 31⁄2" ProOED3 dans le lecteur approprié. 3. Se placer sur le lecteur correspondant, p.ex.: entrer A: à l’invite DOS et appuyer sur la touche <↵>. 4. Lancer le programme d’installation: taper INSTALL et appuyer sur la touche <↵>. Fig. 2-2 Installation de ProOED3 Il apparaît ensuite sur l’écran certaines informations concernant l’installation. Pour continuer appuyer sur une touche quelconque, pour quitter le programme d’installation appuyer sur la touche <Esc>. IMPORTANT Si l’espace mémoire DOS disponible est insuffisant, un message en ce sens s’affiche sur l’écran. Dans ce cas, il est recommandé de quitter le programme d’installation et d’adapter la configuration mémoire, se reporter au manuel MS-DOS. ProOED3 No. d’ident.: 00441113021 2-3 Installation 5. Confirmer l’écran de configuration du système en appuyant sur une touche quelconque. 6. Sélectionner le type de commande à programmer et confirmer par la touche <↵>. Fig. 2-3 Affichage de la configuration système Fig. 2-4 Sélection du type de commande 2-4 ProOED3 No. d’ident.: 00441113021 Installation 7. Répondre par la touche <Y> pour “Oui” à la question de savoir si les fichiers AUTOEXEC.BAT et CONFIG.SYS doivent être actualisés (recommandé). Si des modifications sont nécessaires, le programme d’installation enregistre les fichiers originaux sous les noms AUTOEXEC.BAK et CONFIG.BAK. Fig. 2-5 Actualiser AUTOEXEC.BAT? Selon le type de commande qui a été sélectionné au point 6, les répertoires suivants sont créés sur le disque dur: Répertoire ProOED3 pour les commandes WDP3-014/018: C:\USR\PROOED3.01X \PROJECTS \EXAMPLES Répertoire ProOED3 pour les commandes de la série 300: C:\USR\PROOED3.300 \PROJECTS \EXAMPLES Dans le sous-répertoire “PROJECTS” sont stockées les données de projets, le sous-répertoire “EXAMPLES” contient les projets exemples pour la commande concernée. IMPORTANT Les fichiers possédant l’extension “OED” et “INI” sont des fichiers de configuration, ils ne doivent pas être modifiés ou supprimés. IMPORTANT Les exemples de projet sont décrits au chapitre 8.2.3. ProOED3 No. d’ident.: 00441113021 2-5 Installation 2.5 Lancement de ProOED3 Pour pouvoir lancer ProOED3, le logiciel doit avoir été installé comme indiqué au chapitre 2.4. Le logiciel de programmation ProOED3 se lance au moyen de la commande “START”. Description de la commande START <PROJET>.PO3 <COMX> </MONO> Paramètre <COMX> <PROJET>.PO3 </MONO> Signification Indiquer l’interface PC. Il s’agit de “COM1” ou “COM2” selon l’interface utilisée. Indiquer le projet qui sera chargé après le lancement de ProOED3. L’extension “.PO3” doit être entrée. Pour écrans monochromes. IMPORTANT START est un fichier batch. Il se trouve dans le répertoire projets ProOED3 “...\PROJECTS”. L’ordre des paramètres est sans importance. 2-6 ProOED3 No. d’ident.: 00441113021 Installation Exemple: 1. Mettre le PC sous tension. 2. Se placer dans le répertoire projets ProOED3, p.ex.: CD C:\USR\PROOED3.01X\PROJECTS ou CD C:\USR\PROOED3.300\PROJECTS et appuyer sur la touche <↵>. IMPORTANT Si le répertoire projets ProOED3 est dans le chemin de recherche DOS, cette étape peut être sautée. 3. Entrer la commande suivante: START MANUAL.PO3 COM2 et appuyer sur la touche <↵> (interface PC COM2 et projet “MANUAL.PO3”). 4. L’écran d’accueil ProOED3 s’affiche ensuite. Si aucun projet n’a été indiqué, ProOED3 charge automatiquement le dernier projet traité ou, lors du premier appel, affiche un projet vide. 5. Pour quitter ProOED3, taper <Alt>-<F4>. Fig. 2-6 ProOED3 après lancement du programme ProOED3 No. d’ident.: 00441113021 2-7 Installation 2.6 Conversion de projets de ProOED3 version 2 en version 3 Si un projet a été généré au moyen du logiciel de programmation ProOED3, version 2 et doit être chargé dans la commande dotée du logiciel de système d’exploitation OED3, version 3, celui-ci doit être converti en un projet ProOED3, version 3. A cet effet, procéder de la manière suivante: 1. Copier les fichiers de projet ProOED3, version 2 dans le répertoire de projets ProOED3 version 3. Exemple: COPY C:\PROOED3.200\PROCECTS\PROJECT1.X C:\USR\PROOED3.300\PROJECTS 2. Lancer le logiciel de programmation PROOED3 version 3 et sélectionner le projet ProOED3 version 2 au moyen de l’option de menu "Ouvrir projet". NOTA Une fenêtre de dialogue apparaît posant la question si le projet ProOED3 version 2 doit être converti en un projet de version 3. 3: Dans ce cas, introduire un nouveau nom de projet. NOTA Le projet est converti et mémorisé dans le répertoire de projets ProOED3 version 3. 4. Contrôler le réglage des paramètres de commande (voir chapitre 6.1.2) et charger le projet dans la commande au moyen de l’option de menu "Online/Transfer/Download", voir chapitre "Maniement". NOTA Après le test couronné de succès du projet ProOED3 version 3 dans la commande, l’ancien projet de la version 2 peut être effacé dans le répertoire de projets ProOED3, version 2. 2-8 ProOED3 No. d’ident.: 00441113021 Mise en service d’une commande avec ProOED3 3 Mise en service d’une commande avec ProOED3 3.1 Câblage de la commande Câbler les composants suivants conformément au chapitre 2 de la documentation de l’appareil: – – – – – 3.1.1 Interfaces série entrées/sorties contacts de fin de course moteur pas à pas codeur (si nécessaire) interfaces série La communication entre le PC et la commande s’effectue par transmission de données en série. L’interface standard sur le PC est COM2 et sur la commande l(interface c1 (emplacement 51 sur la série 300, emplacement OPT1 sur WDP3-014/018). La figure 3-1 montre le schéma de câblage de la commande avec le PC. ATTENTION Le câblage est différent selon que la commande est équipée d’une interface RS 485 (connecteur femelle) ou d’une interface RS 232 (connecteur mâle). Si la commande est équipée d’une interface RS 485 et le PC d’une interface RS 232, un convertisseur d’interface (p.ex. MP 923) est nécessaire. - + 41 STOP RUN 42 ADR MOD 51 l 0 l 1 l 3 READY ROT.ERR. l 2 40 - 00 ENCODER 01 + RS 485 41 42 l 0 51 02 ROT. MONIT. 03 SIGNAL 53 ou - + 41 STOP RUN 55 STEP 04 OFF 01 EF 2 78 9A 3456 BCD 06 READY 07 FAULT 42 ADR MOD 08 TEMP V24/RS 232 09 OVER-VOLT 57 MP 923 Convertisseur d'interface I-RED GAT/ENA 05 PH.CURR l 20 Q0 RS 485/RS 422 10 LOW-VOLT U V W 11 Q9 51 l 0 l 1 l 2 l 3 ProOED3 RS 232 COM 1 COM 2 Fig. 3-1 Schéma de câblage p.ex. pour la commande WDP3-318 ProOED3 No. d’ident.: 00441113021 3-1 Mise en service d’une commande avec ProOED3 Les connecteurs du câble d’interface doivent être câblés comme suit: Commande PC Commande PC 16 3 15 2 14 1 Blindage 1 6 2 6 7 3 7 8 4 8 9 5 9 5 25 12 24 11 23 10 22 5 9 9 21 4 8 4 8 20 3 7 3 7 19 2 6 2 6 18 1 5 1 17 4 Blindage 13 Connecteur femelle Longueur de câble max. 15 m Fig. 3-2 Câblage des connecteurs Connecteur mâle Connecteur femelle Connecteur femelle Longueur de câble max. 15 m IMPORTANT La documentation de l’appareil (chapitres 2 et 6) contient le brochage exact des interfaces ainsi que des informations relatives au câblage. 3-2 ProOED3 No. d’ident.: 00441113021 Mise en service d’une commande avec ProOED3 3.2 Contrôle du câblage Le câblage peut être contrôlé comme suit: – – contrôler la communication entre la commande et le PC effectuer un test E/S Pour cela, démarrer ProOED3 avec la commande “START” et le paramètre “TEST”. Description de la commande START /TEST <COMX> </MONO> Paramètre <COMX> </TEST> </MONO> Signification Indiquer l’interface PC. Il s’agit de “COM1” ou “COM2” selon l’interface utilisée. Appel direct du test E/S. Sert à contrôler le câblage des entrées/sorties. Ne permet pas de traiter des projets. Pour écrans monochromes. 1. Mettre le PC et la commande sous tension. 2. Se placer dans le répertoire projets ProOED3, p.ex.: CD C:\USR\PROOED3.01X\PROJECTS ou CD C:\USR\PROOED3.300\PROJECTS et appuyer sur la touche <↵>. 3. Entrer la commande suivante: START /TEST et appuyer sur la touche <↵>. Il apparaît un menu qui contient plusieurs fonctions de test. Fig. 3-3 Mise en service/test ProOED3 No. d’ident.: 00441113021 3-3 Mise en service d’une commande avec ProOED3 Pour tester le câblage, procéder comme suit: 4. Entrer <Alt>-<F> pour ouvrir le menu déroulant “Transfer”. 5. La barre de sélection est placée sur “Interface PC” => Appuyer sur la touche <↵>. 6. Sélectionner l’interface PC souhaitée avec la barre d’espacement. 7. Fermer la fenêtre avec la touche <Esc>. 8. Mettre la commande sous tension. 9. Mettre la commande dans l’état STOP (l’afficheur d’état de la commande doit indiquer “01”), se reporter à la documentation de l’appareil. Fig. 3-4 Menu déroulant Transfer Fig. 3-5 Sélection de l’interface PC 10. Sélectionner le mode édition. Série 300: Appuyer et maintenir les touches 41 et 42 en position “+” jusqu’à ce que l’afficheur d’état de la commande indique “Ed”. _ WDP3-014/018: Maintenir les touches “+” et “↵” appuyées ensemble jusqu’à ce que l’afficheur d’état de la commande indique “Ed”. + IMPORTANT Si le message “EDIT>” s’affiche sur l’écran, le câblage entre le PC et la commande est correct. Dans le cas contraire, il faut vérifier le câblage, le brochage des interfaces et éventuellement le réglage des options de terminal. Fig. 3-6 Message “EDIT” 3-4 ProOED3 No. d’ident.: 00441113021 Mise en service d’une commande avec ProOED3 11. Entrer <Alt>-<T> pour ouvrir le menu déroulant “Test”. Fig. 3-7 Appel du test E/S 12. Appuyer sur la touche <E> pour activer le test E/S. A droite de “I000-...”, ProOED3 indique de gauche à droite les états des entrées. Les entrées raccordées peuvent ainsi être très facilement vérifiées. A droite de “Q000-...” sont indiqués les états des sorties: 13. Déplacer le curseur (voir figure) avec les touches <←> et<→>. 14. Modifier l’état de sortie avec la barre d’espacement. 15. Observer les afficheurs d’état des sorties sur la face avant de la commande. Entrées Entrées externes Sorties Sorties externes Fig. 3-8 Test E/S IMPORTANT Avec les commandes WDP3-014/018, seules les entrées I0 à I8, I10, I11, I12 (LIMP), I13 (LIMN), I14 (REF.) et I15 (STOP) ainsi que les sorties Q0-Q3 sont indiquées. Ces commandes ne permettent pas de piloter des modules E/S externes. 16. Quitter le test E/S par la touche <Esc>. 17. Quitter le programme par <Alt>-<F4>. Modules E/S (seulement sur série 300) Si des modules E/S externes MP926 sont raccordés à une commande de la série 300 et paramétrés en conséquence (voir chapitre 6.1.2), M32 à M111 indiquent les états des entrées et M112 à M191 les états des sorties (voir chapitre 6.3.3). Les états de sortie des cartes E/S peuvent également être modifiés à l’aide de la barre d’espacement. ProOED3 No. d’ident.: 00441113021 3-5 Mise en service d’une commande avec ProOED3 3.3 Test de fonctionnement du moteur série 300 En mode manuel, le moteur pas à pas peut être déplacé vers la droite ou vers la gauche au moyen du sélecteur (pos. 41) situé sur la face avant de la commande. Ceci permet de vérifier le câblage du moteur pas à pas. ATTENTION Avant le déplacement manuel du moteur pas à pas, régler le courant moteur nominal par la face avant, se reporter à la documentation de l’appareil. IMPORTANT En mode manuel, tous les contacts de fin course sont contrôlés. Cela signifie que les entrées LIMP, LIMN et STOP doivent être sous tension (il faut obligatoirement les câbler). 1. Régler le courant moteur nominal. 2. Sélectionner l’état STOP. Appuyer le sélecteur (pos. 41) en position “-”. Sur l’afficheur apparaît “01”. 3. Sélectionner le mode manuel. Maintenir le sélecteur (pos. 42) appuyé en position “+”. Au bout de 2 s, les afficheurs sept segments (Pos. 40) clignotent. Régler le numéro correspondant au mode manuel de l’axe souhaité en appuyant sur “+” ou “-” au sélecteur (pos. 41). Axe 1 2 3 4 Numéro 91 92 93 94 En relâchant le sélecteur (pos. 42), le mode de fonctionnement est enregistré. Sur les afficheurs 7 segments (pos. 40) apparaît un “M” clignotant qui signale le mode manuel. 4. 5. 3-6 L’axe du moteur peut être déplacé pas à pas ou en continu. Action Sélecteur (pos. 41) appuyé brièvement en position “+” Réaction L’axe du moteur se déplace pas à pas dans le sens de rotation positif. Sélecteur (pos. 41) appuyé brièvement en position “-” Sélecteur (pos. 41) maintenu appuyé en position “+” L’axe du moteur se déplace pas à pas dans le sens de rotation négatif. L’axe du moteur se déplace en continu dans le sens de rotation positif. Sélecteur (pos. 41) maintenu appuyé en position “-” L’axe du moteur se déplace en continu dans le sens de rotation négatif. Quitter le mode manuel en appuyant le sélecteur (pos. 42) en position “+”. ProOED3 No. d’ident.: 00441113021 Mise en service d’une commande avec ProOED3 3.4 Test de fonctionnement du moteur WDP3-014/018 En mode manuel, le moteur pas à pas peut être déplacé vers la droite ou vers la gauche au moyen des touches de la face avant. Ceci permet de vérifier le câblage du moteur pas à pas. ATTENTION Avant le déplacement manuel du moteur pas à pas, régler le courant moteur nominal par la face avant, se reporter à la documentation de l’appareil. IMPORTANT En mode manuel, tous les contacts de fin course sont contrôlés. Cela signifie que les entrées LIMP, LIMN et STOP doivent être sous tension (il faut obligatoirement les câbler). _ + 1. Régler le courant moteur nominal. 2. Sélectionner l’état STOP. Appuyer sur la touche “-” jusqu’à ce que “01” apparaisse sur l’afficheur. 3. Sélectionner le mode manuel. Appuyer sur la touche “↵” jusqu’à ce que 01 clignote (3 sec.). Maintenir la touche “↵” appuyée et appuyer autant de fois que nécessaire sur la touche “+” pour faire apparaître “91”. Relâcher la touche “↵”. Un “M” clignotant apparaît. 4. L’axe du moteur peut être déplacé pas à pas ou en continu. Action Réaction Sélecteur appuyé brièvement en position “+” L’axe du moteur se déplace pas à pas dans le sens de rotation positif. Sélecteur appuyé L’axe du moteur se déplace pas à brièvement en position “-” pas dans le sens de rotation négatif. 5. Sélecteur maintenu appuyé en position “+” L’axe du moteur se déplace en continu dans le sens de rotation positif. Sélecteur maintenu appuyé en position “-” L’axe du moteur se déplace en continu dans le sens de rotation négatif. Quitter le mode manuel en appuyant sur la touche “↵”. ProOED3 No. d’ident.: 00441113021 3-7 Mise en service d’une commande avec ProOED3 3-8 ProOED3 No. d’ident.: 00441113021 Création d’un projet simple 4 Création d’un projet simple Instruction: movef x1 100 Le chapitre suivant présente la procédure de création d’un programme simple à l’aide de ProOED3. Condition PC ProOED3 Mise en service correcte de ProOED3 et de la commande, voir chapitre 3. Les entrées actives au niveau bas STOP, LIMP et LIMN doivent être reliées au 24 V. La tâche Le moteur doit être déplacé de façon répétée de 100 pas. Commande avec OED3 et entrées Le programme 40 01 STOP 41 - X1 + SIGNAL 42 51 I0 02 X2 SIGNAL 53 STEP I-RED GAT/ENA 03 X1 OFF PH.CURR LIMP READY ERROR STEP LIMP LIMN REF STOP TRIG I14 I16 I-RED GAT/ENA X2 OFF PH.CURR 04 X1 X2 FAULT TEMP OVER-V LOW-V READY I20 Q0 U V X1 W 57 LIMN 58 U V X2 W Q9 WDPM3-314 X1 X2 Un programme de commande OED3 peut être composé d’une partie de programme API et d’une partie de programme séquentielle. Les séquences de déplacement sont programmées dans le programme séquentiel. Pour cette tâche, il suffit de créer le programme séquentiel. Le programme séquentiel pour cette tâche se présente comme suit: movef x1 100 Moteur pas à pas 3 phases ;Commentaire: cette ;instruction déplace le ;moteur de l’axe x1 de ;100 pas en avant. Un programme se déroule toujours de manière cyclique, c.-à-d. qu’une fois l’instruction exécutée, elle est rappelée et le moteur se déplace de nouveau de 100 pas et ainsi de suite. Programmation avec ProOED3 Pour pouvoir programmer la commande, le PC et la commande doivent être correctement câblés, voir chapitre 3. Etape 1 Lancer ProOED3 1. Mettre le PC sous tension. 2. Se placer dans le répertoire projets ProOED3, p.ex.: CD C:\USR\PROOED3.01X\PROJECTS ou CD C:\USR\PROOED3.300\PROJECTS et appuyer sur la touche <↵>. 3. Entrer l’instruction suivante: START et appuyer sur la touche <↵>. ProOED3 No. d’ident.: 00441113021 4-1 Création d’un projet simple Etape 2 Créer un nouveau projet Un projet est un programme utilisateur qui se compose des parties de programme suivantes: – – – – – – Programme API Programme séquentiel (SEQ) Paramètres de commande Variables de position Noms symboliques Textes d’émission Pour créer un nouveau projet: 1. Entrer la combinaison de touches <Alt>-<P> pour ouvrir le menu déroulant Project (Projet). 2. Déplacer la barre de sélection sur “New” (Nouveau) à l’aide de la touche <↓>. 3. La barre de sélection est placée sur “Project/New”. => Appuyer sur la touche <↵>. Menu Barre de sélection Sélectionner l’option de menu “Projet/Nouveau” 4. Entrer le nom du projet (8 caractères au maximum) et appuyer sur la touche <↵>. 5. Avec les touches <↑> et <↓>, sélectionner le type de commande et appuyer sur la touche <↵>. Entrer le nom du projet V3-3-31X.OED Type de commande p.ex. WDP3-318 Sélectionner le type de commande 4-2 ProOED3 Version OED3 de la commande (voir plaquette signalétique) No. d’ident.: 00441113021 Création d’un projet simple 6. Entrer le commentaire du projet, p.ex.: “Mise en service”. Appuyer sur la touche <↵>. ProOED3 crée alors un projet vide. Entrer le commentaire du projet Etape 3 Créer le programme de commande Le bon fonctionnement du système peut être contrôlé par un programme d’une seule ligne. Entrer ce programme comme suit: Entrer le programme séquentiel 1. Appuyer deux fois sur la touche <↓> pour positionner le curseur au début de la ligne $ABL_END. 2. Entrer l’instruction suivante: movef x1 100 3. Appuyer sur la touche <↵> pour insérer une nouvelle ligne. Entrer une instruction Enregistrer le programme séquentiel 1. Entrer <Alt>-<P> pour ouvrir le menu déroulant “Project” (Projet). 2. Déplacer la barre de sélection sur “Save” (Enregistrer) à l’aide de la touche <↓> et appuyer sur la touche <↵>. Enregistrer le programme séquentiel ProOED3 No. d’ident.: 00441113021 4-3 Création d’un projet simple Etape 4 Compiler le programme séquentiel Le programme séquentiel doit être compilé avant de pouvoir être chargé dans la commande: 1. Entrer <Alt>-<B> pour ouvrir le menu déroulant “Edit” (Edition). 2. Déplacer la barre de sélection sur “Compile” (Compiler) à l’aide de la touche <↓> et appuyer sur la touche <↵>. Un message indique que le projet a été compilé sans erreur (confirmer par la touche <↵>). Compiler le programme séquentiel IMPORTANT Pour pouvoir exécuter le programme sur la commande, il doit être transféré dans la mémoire de la commande à l’aide des fonctions on-line (download). Pour cela, la liaison avec la commande doit être correcte, voir chapitre 3. Etape 5 Appeler les fonctions on-line Entrer <Alt>-<O>. Les fonctions on-line sont maintenant disponibles. Les fonctions on-line établissent la liaison avec la commande. On-line 4-4 ProOED3 No. d’ident.: 00441113021 Création d’un projet simple Etape 6 Sélectionner l’interface PC 1. Entrer <Alt>-<F> pour ouvrir le menu déroulant “Transfer”. 2. Déplacer la barre de sélection sur “PC interface” (Interface PC) à l’aide de la touche <↓> et appuyer sur la touche <↵>. 3. Sélectionner l’interface PC raccordée avec la barre d’espacement. Appeler Interface PC Sélectionner l’interface PC ProOED3 règle automatiquement les paramètres d’interface. En standard, les paramètres d’interface suivants sont sélectionnés sur la commande: Désignation Valeur Vitesse en bauds 9600 Parité EVEN Bits d’arrêt 1 Bits de données 7 Protocole XON/XOFF ProOED3 No. d’ident.: 00441113021 4-5 Création d’un projet simple Etape 7 Activer le mode édition de la commande La commande doit être en mode édition pour que le PC puisse communiquer avec elle. Seul ce mode permet de charger des programmes dans la commande. 1. Mettre la commande dans l’état STOP (l’afficheur d’état de la commande doit indiquer “01”), se reporter à la documentation de l’appareil. 2. Sélectionner le mode édition. Série 300: Appuyer et maintenir la touche 41 en position “+”. Appuyer la touche 42 en position “-” et la maintenir appuyée en même temps que la touche 41 jusqu’à ce que l’afficheur d’état de la commande indique “Ed”. _ WDP3-014/018: Maintenir les touches “+” et “↵” appuyées ensemble jusqu’à ce que l’afficheur d’état de la commande indique “Ed”. + IMPORTANT Si la communication entre le PC et la commande fonctionne, “EDIT” apparaît sur l’écran. Si non, contrôler le câblage et le brochage de l’interface. Etape 8 Charger le projet dans la commande (download) 1. Entrer <Alt>-<F> pour ouvrir le menu déroulant “Transfer”. 2. Déplacer la barre de sélection sur “Download” et appuyer sur la touche <↵>. Appeler Download 4-6 ProOED3 No. d’ident.: 00441113021 Création d’un projet simple 3. La barre de sélection est placée sur “Complete”. => Appuyer sur la touche <↵>. “Complete” signifie que tout le projet sera chargé dans la commande. Sélectionner l’option Les variables, les paramètres de commande, les textes et le programme de commande sont transférés dans la commande. Téléchargement Etape 9 Lancer le programme de commande 1. Entrer <Alt>-<S>. 2. La barre de sélection est placée sur “Run”. => Appuyer sur la touche <↵>. Lancer le programme IMPORTANT Comme le programme de commande se déroule de façon cyclique, le moteur tourne de 100 pas, s’arrête, tourne encore de 100 pas, etc. S’il n’y a pas de liaison on-line avec le PC, le programme de commande peut être arrêté et lancé par la face avant. Série 300: Sélecteur pos. 41: “-” = STOP, “+” = RUN _ + WDP3-014/018: Touche “-” = STOP Touche “+” = RUN IMPORTANT Le programme de commande peut être observé sur le PC pendant son exécution, voir chapitre 5.4.3.5. ProOED3 No. d’ident.: 00441113021 4-7 Création d’un projet simple Etape 10 Sauvegarder le programme de commande en EEPROM Avec une commande WDP3-014/018, pour que le programme de commande soit conservé après la coupure de la tension d’alimentation, celui-ci doit être sauvegardé dans l’EEPROM de la commande. Il est conseillé d’effectuer également cette opération avec une commande de la série 300, bien que ces commandes possèdent une RAM sauvegardée par batterie. 1. Entrer <Alt>-<S>. 2. Déplacer la barre de sélection sur “Save Program to EEPROM” (Sauvegarder programme en EEPROM) et appuyer sur la touche <↵>. Sauvegarder le programme en EEPROM IMPORTANT Le programme de commande peut être observé sur le PC pendant son exécution, voir chapitre 5.4.3.5. 4-8 ProOED3 No. d’ident.: 00441113021 Utilisation 5 Utilisation Interface utilisateur Ce chapitre décrit l’utilisation de ProOED3. La figure 5-1 montre les zones de l’écran et les principales touches. Barre de menus Barre de sélection Options de menu Menu déroulant Combinaisons de touches Zone d'édition Ligne infos/ Affectation touches de fonction Touche <ESC> pour fermer les menus déroulants et les fenêtres de dialogue Touches de fonction <F2> à <F10> Esc ~ ! ` 1 Q F1 F2 F3 @ # $ % ^ 2 3 4 5 6 W E F4 R F5 T F6 F7 & 8 U F9 ( * 7 Y F8 9 I O ) _ - + F12 ← Backspace } ] | \ Print Screen Insert Delete Scroll Lock Home End Pause Page Up Num Lock Page Down 7 Home / * 8 - 9 Pg Up + Ctrl A S Z D X F C G V H B J N K M Alt Touche <Ctrl> L < , : ; > . ´ ? / Alt Touche <Alt> " 4 ← ↵ Enter ñ Shift 1 End ↓ Caps Lock ñ Shift Touche <Shift> F11 = { [ Tab Touche <Tab> F10 0 P Touche <Backspace> ↓ Aide Ctrl ← ↓ → 5 2 ↓ 6 → 3 Pg Dn 0 ∗ Ins Del Enter Touche < ↵ > ou <Enter> Pour les combinaisons de touches Fig. 5-1 Interface utilisateur de ProOED3 ProOED3 No. d’ident.: 00441113021 5-1 Utilisation Les principales touches Le tableau suivant contient la description des fonctions des principales touches. Touche Fonction <↑>, <↓> Déplacer le curseur dans la direction correspondante. Dans les fenêtres à liste: déplacer la liste vers le début ou la fin. Déplacer la barre de sélection. <←>, <→> <↵> Déplacer le curseur dans la direction correspondante. Appeler l’option de menu sur laquelle la barre de sélection est placée. Insérer une nouvelle ligne. Insérer une rupture de ligne. <Inser> Basculer entre mode insertion et mode refrappe. <Suppr> Effacer le caractère à droite du curseur. <Pos1> Sauter au début de la ligne. Dans les fenêtres à liste: sauter au début de la liste. <Fin> Sauter à la fin de la ligne. Dans les fenêtres à liste: sauter à la fin de la liste. <Esc> Fermer un menu déroulant. Fermer une fenêtre d’entrée ou de dialogue. <Backspace> <↑ barrée> Faire défiler l’écran d’une page vers le haut. <↓ barrée> Faire défiler l’écran d’une page vers le bas. <Tab> <F1> ... <F10> 5-2 Effacer le caractère à gauche du curseur. ProOED3 Insère une tabulation. Touches de fonction: appel direct des fonctions fréquemment utilisées. Affichage de l’affectation dans la ligne d’état. No. d’ident.: 00441113021 Utilisation Généralités sur l’utilisation Sélection des options de menu Pour sélectionner une option de menu, procéder comme suit: 1. Ouvrir le menu déroulant en entrant la combinaison de touches: <Alt>-<touche d’accès direct> La touche d’accès direct est la touche correspondant à la lettre mise en valeur d’une option de menu. 2. Une fois le menu déroulant ouvert, appuyer sur la touche d’accès direct de l’option de menu souhaitée ou déplacer la barre de sélection sur l’option de menu souhaitée à l’aide des touches <↑> et <↓> et appuyer sur la touche <↵>. IMPORTANT Une option de menu peut également être appelée par une combinaison de touches. Si une option de menu possède une combinaison de touches, celle-ci figure derrière l’option de menu. Combinaisons de touches Fig. 5-2 Combinaisons de touches Fenêtres de sélection ProOED3 contient plusieurs fenêtres de sélection qui permettent de choisir des noms de projet, des types de commande ou autres. 1. Déplacer la barre de sélection sur l’option souhaitée à l’aide des touches <↑> et <↓>. 2. Appuyer sur la touche <↵>. Fig. 5-3 Fenêtre de sélection ProOED3 No. d’ident.: 00441113021 5-3 Utilisation 5.1 Fonctions en rapport avec le projet (Projet) Fonctions en rapport avec le projet (Projet) Le menu déroulant “Project” contient des fonctions qui agissent sur l’ensemble du projet ou sur des parties de celui-ci. Fig. 5-4 Projet 5.1.1 Ouvrir un projet Option de menu Fonction Chapitre Open (Ouvrir) Ouvrir un projet existant. 5.1.1 New (Nouveau) Créer un nouveau projet. 5.1.2 Save (Enregistrer) Enregistrer le projet sur disque dur. Save as (Enregistrer sous) Enregistrer le projet sous un autre nom. 5.1.3 Print (Imprimer) Imprimer toutes les données du projet dans un fichier. 5.1.4 Controller Type (Type de commande) Sélectionner le type de commande raccordé. 5.1.5 Exit (Quitter) Quitter ProOED3 et revenir au DOS. Ouvrir un projet enregistré sur le disque dur. 1. Sélectionner l’option de menu “Project/Open”. 2. Sélectionner le répertoire à l’aide des touches <↑> et <↓> et appuyer sur la touche <↵>. Pour aller au niveau de répertoire supérieur, sélectionner “..\” 3. Sélectionner le projet à l’aide des touches <↑> et <↓> et appuyer sur la touche <↵>. Le projet est alors ouvert et peut être édité. Fig. 5-5 Ouvrir un projet NOTA Pour la conversion d’un projet ProOED3 version en un projet de version 3, voir chapitre 2.6. 5-4 ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions en rapport avec le projet (Projet) 5.1.2 Créer un nouveau projet Pour créer un nouveau projet, procéder comme suit: 1. Sélectionner l’option de menu “Project/New”. 2. Entrer le nom du projet et appuyer sur la touche <↵>. Le nom de projet ne doit pas excéder 8 caractères et ne doit pas contenir de caractères spéciaux. 3. Sélectionner le type de commande. Fig. 5-6 Créer un nouveau projet V3-3-31X.OED Type de commande p.ex. WDP3-318 Version OED3 de la commande (voir plaquette signalétique) Fig. 5-7 Sélectionner le type de commande 4. Entrer le commentaire du projet. Ce commentaire sera affiché dans la ligne d’état. Fig. 5-8 Entrer le commentaire du projet ProOED3 crée alors un nouveau projet. A l’exception de quatre lignes dans l’éditeur de programme séquentiel et dans l’éditeur de programme API, ce projet ne contient pas de données. Ces quatre lignes marquent le début et la fin du programme séquentiel et du programme API et ne doivent être ni supprimées ni modifiées. Fig. 5-9 Début et fin d’un programme séquentiel Fig. 5-10 Début et fin d’un programme API ProOED3 No. d’ident.: 00441113021 5-5 Utilisation 5.1.3 Enregistrer sous Fonctions en rapport avec le projet (Projet) Permet de copier un projet existant et de l’enregistrer sous un autre nom. 1. Sélectionner l’option de menu “Project/Save as”. 2. Entrer le nouveau nom de projet et appuyer sur la touche <↵>. Le nom de projet ne doit pas excéder 8 caractères et ne doit pas contenir de caractères spéciaux. IMPORTANT Le projet est enregistré dans le répertoire projets courant “...\PROJECTS”. Le projet peut aussi être copié dans un autre répertoire. Exemple: Le projet MANUAL doit être copié du répertoire EXAMPLES dans le répertoire PROJECTS pour y être utilisé sous le nom TEST1. C:\USR\PROOED3.01X \PROJECTS \EXAMPLES C:\USR\PROOED3.300 \PROJECTS \EXAMPLES 1. Quitter ProOED3 par <Alt>+<F4> pour retourner au niveau DOS. 2. Entrer CD C:\USR\PROOED3.01X\PROJECTS ou CD C:\USR\PROOED3.300\PROJECTS et appuyer sur la touche <↵>. Si le répertoire de destination n’existe pas, le créer par MD C:\USR\PROOED3.01X\PROJECTS ou MD C:\USR\PROOED3.300\PROJECTS. 3. Entrer COPY C:\USR\PROOED3.01X\EXAMPLES\MANUAL.* TEST1.* ou COPY C:\USR\PROOED3.300\EXAMPLES\MANUAL.* TEST1.* et appuyer sur la touche <↵>. Le projet “TEST1” peut ensuite être ouvert et édité comme tout autre projet. 5-6 ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions en rapport avec le projet (Projet) 5.1.4 Imprimer Toutes les données du projet sont regroupées dans un fichier qui peut être édité sur l’imprimante par l’instruction DOS PRINT: 1. Sélectionner l’option de menu “Project/Print”. Une fenêtre d’information indique le nom du fichier d’impression. Fig. 5-11 Imprimer le projet 2. Quitter ProOED3. 3. Se placer dans le répertoire projets, p.ex. en tapant CD C:\USR\PROOED3.01X\PROJECTS ou CD C:\USR\PROOED3.300\PROJECTS 4. Imprimer le fichier d’impression par la commande PRINT, p.ex. PRINT TESTPROJ.LS0 5.1.5 Sélectionner le type de commande Selon le type de commande, des jeux d’instructions différents sont autorisés. Par exemple, sur une commande à un seul axe, il est impossible d’actionner le quatrième axe. C’est pour cette raison que OED3 doit savoir, au moment de la compilation du programme, à quel type de commande le programme est destiné. V3-3-31X.OED Type de commande p.ex. WDP3-318 Version OED3 de la commande (voir plaquette signalétique) Fig. 5-12 Sélectionner le type de commande Le type de commande représenté en noir est celui actuellement sélectionné. La sélection s’effectue à l’aide des touches <↓>, <↑> et <↵>. ProOED3 No. d’ident.: 00441113021 5-7 Utilisation 5.2 Editeurs (Données) Editeurs (Données) Ce menu permet d’appeler différents éditeurs. Fig. 5-13 Editeurs Option de menu Fonction Chapitre Programme SEQ Appeler l’éditeur SEQ. 5.2.1 Programme API Appeler l’éditeur API. 5.2.1 Noms symboliques Appeler l’éditeur de noms symboliques. 5.2.2 5-8 Textes d’émission Appeler l’éditeur de textes d’émission. 5.2.3 Paramètres de commande Appeler l’éditeur de paramètres de commande. 5.2.4 Variables de position Appeler l’éditeur de variables de position. 5.2.5 ProOED3 No. d’ident.: 00441113021 Utilisation Editeurs (Données) 5.2.1 Editeurs SEQ et API Ces éditeurs permettent d’entrer le code du programme. L’utilisation des deux éditeurs est identique. Fig. 5-14 Editeur SEQ IMPORTANT Les deux premières et deux dernières lignes qui marquent le début et la fin du programme ne doivent pas être modifiées ni supprimées. IMPORTANT Dans ces éditeurs, toutes les aides à l’édition (menu déroulant “Edit”) sont disponibles. Voir chapitre 5.3. Le tableau suivant décrit la fonction des touches et des combinaisons de touches: Touche Fonction <↑>, <↓> Déplacer le curseur dans la direction correspondante. Dans la fenêtre d’aide: déplacer la barre de sélection <←>, <→> <↵> Déplacer le curseur dans la direction correspondante. Insérer une nouvelle ligne. Insérer une rupture de ligne. <Inser> Basculer entre mode insertion et mode refrappe. <Suppr> Effacer le caractère à droite du curseur. <Pos1> Sauter au début de la ligne. Dans la fenêtre d’aide: Sauter au début de la liste. <Fin> Sauter à la fin de la ligne. Dans la fenêtre d’aide: Sauter à la fin de la liste. <Esc> <Backspace> Fermer la fenêtre d’aide. Effacer le caractère à gauche du curseur. <↑ barrée> Faire défiler l’écran d’une page vers le haut. <↓ barrée> Faire défiler l’écran d’une page vers le bas. ProOED3 No. d’ident.: 00441113021 5-9 Utilisation Editeurs (Données) Touche <Tab> <Shift>-<↑> <Shift>-<↓> <Shift>-<←> <Shift>-<→> <Ctrl>-<C> Fonction Insérer une tabulation. Sélectionner du texte destiné à être copié ou coupé. Copier le texte sélectionné dans le presse-papiers. <Ctrl>-<X> Supprimer le texte sélectionné et le copier dans le presse-papiers. <Ctrl>-<V> Insérer le texte contenu dans le presse-papiers à la position du curseur. <Ctrl>-<Y> Effacer la ligne sur laquelle est placé le curseur. <Ctrl>-<Pos1> Sauter à la première ligne. <Ctrl>-<Fin> Sauter à la dernière ligne. <Ctrl>-<F> Rechercher une chaîne de caractères définie. <Alt>-<G> Sauter à une ligne définie. <Alt>-<F1> Compiler le contenu actuel de l’éditeur. <Alt>-<F2> Changer le type de commande. <F1> Fenêtre d’aide avec liste des instructions. <F3> Poursuivre la recherche. <F4> Rechercher et remplacer. Liste d’instructions par la touche <F1> La touche <F1> active une fenêtre d’aide contenant les opérandes, les plages de valeur valides et les instructions. L’importance de la liste dépend du type de commande et de l’éditeur courants. Fig. 5-15 Liste des instructions 5-10 ProOED3 No. d’ident.: 00441113021 Utilisation Editeurs (Données) 5.2.2 Edition de noms symboliques Cet éditeur permet d’affecter des noms symboliques à des constantes, des variables, etc. Pour l’appeler, sélectionner “Data/Symbolic Names” (Données/Noms symboliques) ou entrer <Alt>-<3>. IMPORTANT Dans les noms symboliques, les majuscules et les minuscules sont considérées comme des caractères distincts. Fig. 5-16 Sélectionner Noms symboliques Fig. 5-17 Noms symboliques ProOED3 No. d’ident.: 00441113021 5-11 Utilisation Editeurs (Données) A la compilation, les noms symboliques sont remplacés par les désignations d’origine (voir figure). L’emploi de noms symboliques n’est pas absolument nécessaire, mais augmente la lisibilité d’un programme. Programme SEQ Noms symboliques Remplacer Rechercher Rechercher Remplacer Fig. 5-18 Noms symboliques à la compilation Règles pour les noms symboliques Les règles suivantes s’appliquent pour les noms symboliques: – – – – Les noms symboliques sont valables pour le programme SEQ et le programme API Longueur maximum 30 caractères 250 affectations au maximum par projet Un nom symbolique doit être écrit de manière continue, sans espace ou tabulation. IMPORTANT Il est également possible d’entrer des commentaires. Ceux-ci doivent, comme dans les éditeurs SEQ et API, être identifiés par un “;”. 5-12 ProOED3 No. d’ident.: 00441113021 Utilisation Editeurs (Données) Dans l’éditeur, les touches ont les fonctions suivantes: Touche Fonction <↑>, <↓> Déplacer le curseur dans la direction correspondante. Dans la fenêtre d’aide: déplacer la barre de sélection <←>, <→> <↵> Déplacer le curseur dans la direction correspondante. Insérer une nouvelle ligne. Insérer une rupture de ligne. <Inser> Basculer entre mode insertion et mode refrappe. <Suppr> Effacer le caractère à droite du curseur. <Pos1> Sauter au début de la ligne. Dans la fenêtre d’aide: Sauter au début de la liste. <Fin> Sauter à la fin de la ligne. Dans la fenêtre d’aide: Sauter à la fin de la liste. <Esc> <Backspace> Fermer la fenêtre d’aide. Effacer le caractère à gauche du curseur. <↑ barrée> Faire défiler l’écran d’une page vers le haut. <↓ barrée> <Tab> Faire défiler l’écran d’une page vers le bas. Insérer une tabulation. <Shift>-<↑> <Shift>-<↓> <Shift>-<←> <Shift>-<→> Sélectionner du texte destiné à être copié ou coupé. <Ctrl>-<C> Copier le texte sélectionné dans le presse-papiers. <Ctrl>-<X> Supprimer le texte sélectionné et le copier dans le presse-papiers. <Ctrl>-<V> Insérer le texte contenu dans le presse-papiers à la position du curseur. <Ctrl>-<Y> Effacer la ligne sur laquelle est placé le curseur. <Ctrl>-<Pos1> Sauter à la première ligne. <Ctrl>-<Fin> Sauter à la dernière ligne. <Ctrl>-<F> Rechercher une chaîne de caractères définie. <Alt>-<G> Sauter à une ligne définie. <Alt>-<F1> Compiler le contenu actuel de l’éditeur. <Alt>-<F2> Changer le type de commande. ProOED3 <F1> Fenêtre d’aide. <F3> Poursuivre la recherche. <F4> Rechercher et remplacer. No. d’ident.: 00441113021 5-13 Utilisation 5.2.3 Editeurs (Données) Edition de textes d’émission Les textes d’émission sont utilisés pour la sortie sur un terminal p.ex. FT2000 ou un PC avec BTERM. Sélectionner l’option de menu “Data/Send Texts” (Données/Textes d’émission) ou entrer <Alt>-<4>. Fig. 5-19 Sélectionner Textes d’émission Après l’appel de l’éditeur, l’écran suivant s’affiche. Le texte d’émission en vidéo inverse peut être édité. Déplacer la barre à l’aide des touches <↑> ou <↓>. Déplacer le curseur dans le texte à l’aide des touches <←> ou <→>. Sur le bord inférieur de la fenêtre “Textes d’émission” est affiché le numéro de la chaîne sur laquelle la barre est placée. Ce numéro sert à identifier le texte d’émission lors de la programmation. Numéro de la chaîne sur laquelle se trouve la barre Fig. 5-20 Textes d’émission IMPORTANT Les caractères “$XX” sont des caractères de contrôle. Une description détaillée en est donnée au chapitre 6.3.5. Pour quitter l’éditeur “Textes d’émission”, appuyer sur la touche <Esc>. Il apparaît alors une fenêtre contenant le message “Saving the File” (Enregistrer le fichier): – – quitter sans enregistrer quitter en enregistrant Fig. 5-21 Quitter les textes d’émission 5-14 ProOED3 No. d’ident.: 00441113021 => Appuyer sur la touche <Esc>. => Appuyer sur la touche <↵>. Utilisation Editeurs (Données) 5.2.4 Edition de paramètres de commande Sélectionner l’option de menu “Data/Control Parameters” (Données/Paramètres de commande) ou entrer <Alt>-<5>. Fig. 5-22 Sélectionner Paramètres de commande Après l’appel de l’éditeur, l’écran suivant s’affiche. Le paramètre en vidéo inverse peut être édité. Déplacer la barre à l’aide des touches <↑> ou <↓>. Sur le bord inférieur de la fenêtre “Paramètres de commande” sont affichées les valeurs minimales et maximales pour le paramètre de commande sur lequel la barre est placée. IMPORTANT Les paramètres de commande sont décrits au chapitre 6.1.2. Valeurs minimale et maximale du paramètre sur laquelle se trouve la barre Fig. 5-23 Paramètres de commande Pour quitter l’éditeur, appuyer sur la touche <Esc>. Il apparaît alors une fenêtre contenant le message “Saving the File” (Enregistrer le fichier): – – quitter sans enregistrer quitter en enregistrant => Appuyer sur la touche <Esc>. => Appuyer sur la touche <↵>. Fig. 5-24 Quitter les paramètres de commande ProOED3 No. d’ident.: 00441113021 5-15 Utilisation 5.2.5 Editeurs (Données) Edition des variables de position Sélectionner l’option de menu “Data/Position Variables” (Données/Variables de position) ou entrer <Alt>-<6>. Fig. 5-25 Sélectionner Variables de position Après l’appel de l’éditeur, l’écran suivant s’affiche. La variable de position en vidéo inverse peut être éditée. Déplacer la barre à l’aide des touches <↑> ou <↓>. IMPORTANT Les variables de position peuvent aussi être lues directement de la commande par “Teach-in”. Voir chapitre 5.4.3.3. Fig. 5-26 Variables de position Au total, 400 variables de position w100 à w499 sont disponibles pour les axes x1 à x4. 5-16 ProOED3 No. d’ident.: 00441113021 Utilisation Le menu déroulant Edit (Edition) 5.3 Le menu déroulant Edit (Edition) Ce menu contient d’utiles aides à l’édition et une option de menu pour la compilation du programme dans l’éditeur courant. Fig. 5-27 Edition 5.3.1 Couper Option de menu Fonction Chapitre Cut (Couper) Couper et placer dans le presse-papiers le texte sélectionné. 5.3.1 Copy (Copier) Copier le texte sélectionné dans le presse-papiers. 5.3.2 Paste (Coller) Insérer le contenu du presse-papiers à la position du curseur. 5.3.3 Find (Rechercher) Rechercher une chaîne de caractères définie. 5.3.4 Repeat Find (Rechercher suivant) Poursuivre la recherche sans entrer une nouvelle chaîne de caractères. Replace (Remplacer) Rechercher et remplacer une chaîne de caractères. 5.3.5 Compile (Compiler) Compiler le contenu de l’éditeur courant. Les programmes SEQ et API doivent être compilés avant de pouvoir être chargés dans la commande. 5.3.6 Pour sélectionner du texte et le couper dans le presse-papiers, procéder comme suit: 1. Appuyer sur la touche <Shift> et la maintenir. 2. A l’aide des touches <↑>, <↓>,<←> ou <→>, sélectionner la zone souhaitée et relâcher la touche <Shift>. 3. Sélectionner l’option de menu “Edit/Cut” ou entrer <Ctrl>-<X>. Fig. 5-28 Sélectionner du texte Le texte sélectionné est alors supprimé et stocké dans le presse-papiers. ProOED3 No. d’ident.: 00441113021 5-17 Utilisation 5.3.2 Le menu déroulant Edit (Edition) Copier Pour sélectionner du texte et le copier dans le presse-papiers, procéder comme suit: 1. Appuyer sur la touche <Shift> et la maintenir. 2. A l’aide des touches <↑>, <↓>,<←> ou <→>, sélectionner la zone souhaitée et relâcher la touche <Shift>. 3. Sélectionner l’option de menu “Edit/Copy” ou entrer <Ctrl>-<C>. Fig. 5-29 Sélectionner du texte Le texte sélectionné est alors stocké dans le presse-papiers. 5.3.3 Coller Pour coller le contenu du presse-papiers: 1. Positionner le curseur à l’endroit souhaité. 2. Sélectionner l’option de menu “Edit/Paste” ou entrer <Ctrl>-<V>. Fig. 5-30 Coller du texte Le contenu du presse-papiers est alors inséré à la position du curseur. 5.3.4 Rechercher Pour rechercher une chaîne de caractères définie dans l’éditeur courant: 1. Sélectionner l’option de menu “Edit/Find” ou entrer <Ctrl>-<F>. 2. Entrer la chaîne de caractères et appuyer sur la touche <↵>. Fig. 5-31 Rechercher du texte Si la chaîne de caractères entrée est trouvée, ProOED3 positionne le curseur à l’endroit correspondant. Dans le cas contraire, une fenêtre d’information apparaît. 5-18 ProOED3 No. d’ident.: 00441113021 Utilisation Le menu déroulant Edit (Edition) 5.3.5 Remplacer Pour rechercher et remplacer une chaîne de caractères définie: 1. Sélectionner l’option de menu “Edit/Replace”. 2. Entrer la chaîne de caractères à rechercher et appuyer sur la touche <↵>. 3. Entrer la chaîne de caractères de remplacement et appuyer sur la touche <↵>. 4. Si la chaîne de caractères a été trouvée, il apparaît une fenêtre offrant trois possibilités de choix: Fig. 5-32 Remplacer du texte Touche <Y> Remplacer une fois Touche <N> Ne pas remplacer Touche <A> Remplacer toutes les occurrences de la chaîne de caractères Fig. 5-33 Confirmer le remplacement ProOED3 No. d’ident.: 00441113021 5-19 Utilisation 5.3.6 Le menu déroulant Edit (Edition) Un programme doit être compilé pour pouvoir être chargé dans la commande. Compiler ATTENTION Pour la compilation, il est impératif que le bon type de commande soit sélectionné (Project/Controller Type). Lors de la compilation, ProOED3 convertit le programme en un langage compréhensible par la commande. Si le programme est exempt d’erreurs, un message correspondant est affiché. Fig. 5-34 Compiler le programme Un contrôle de syntaxe est effectué. En cas d’erreur, il apparaît une fenêtre contenant des informations à ce sujet. Voir aussi chapitre 7.1.1. Nombre d’erreurs Numéro d’erreur Type de commande sélectionné Message d’erreur Fig. 5-35 Erreur à la compilation Touche <F1> 5-20 Fonction Fenêtre d’aide contenant les opérandes, les plages de valeur valides et les instructions. <Ctrl>-<↓> ou <Ctrl>-<↑> Le curseur saute à l’endroit de l’erreur dans l’éditeur. <Esc> Fermeture de la fenêtre d’erreur et retour à l’éditeur. ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions on-line (On-line) 5.4 Fonctions on-line (On-line) Les fonctions on-line permettent de transférer le programme créé ainsi que les variables, textes, etc. dans la commande. Elles offrent également de nombreuses possibilités de test de programme. Les fonctions on-line s’appellent en tapant <Alt>-<O>. Fig. 5-37 Appeler les fonctions on-line 5.4.1 Le menu déroulant Transfer C’est ici qu’a lieu le transfert de données. Il permet également d’effectuer les réglages nécessaires pour le transfert de données. Fig. 5-36 Menu déroulant “Transfer” Option de menu Fonction Download Transfert du programme et de toutes les données associées dans la commande (voir chapitre 5.4.1.1). PC interface (Interface PC) Sélection de l’interface série. Terminal Options (Options de terminal) Autres réglages pour le transfert de données. Exit (Quitter) Quitter les fonctions on-line et revenir aux éditeurs. ProOED3 No. d’ident.: 00441113021 5-21 Utilisation 5.4.1.1 Fonctions on-line (On-line) Chargement du projet dans la commande (Download) ATTENTION Avant de mettre le système hors tension le transfer du programme doit être terminé. Dans le cas contraire, d'importants éléments du programme peuvent être détruits et uniquement réparés par le Service de Berger Lahr. Avant de pouvoir exécuter le programme sur la commande, il faut le charger dans la commande. La procédure est la suivante: 1. Sélectionner l’option de menu “Transfer/Download”. 2. Sélectionner l’option souhaitée à l’aide des touches <↑> et <↓> et appuyer sur la touche <↵>. Le tableau suivant montre quelle partie du projet est transférée dans la commande. Fig. 5-38 Sélectionner une option Option Signification Complete Transfert du projet complet. XXXXXXXX.SEQ Programme séquentiel (SEQ) XXXXXXXX.PLC Programme API XXXXXXXX.TXT Textes d’émission XXXXXXXX.PAR Paramètres de commande XXXXXXXX.VAR Variables de position IMPORTANT “XXXXXXXX” représente le nom du projet. Si un point d’interrogation “?” est affiché ici, cette partie de programme doit d’abord être compilée. 3. 5-22 Le programme est alors transféré dans la commande. Si des erreurs surviennent pendant cette opération, vérifier le câblage. ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions on-line (On-line) 5.4.2 Le menu déroulant Controller (Commande) Il permet de lancer et d’interrompre le mode automatique de la commande et de sauvegarder le programme de commande en EEPROM. IMPORTANT Il doit y avoir un programme dans la commande. Fig. 5-39 Online/Commande 5.4.3 Fonctions de test Option de menu Fonction Run (Lancer) Lancer le mode automatique de la commande. Stop (Arrêter) Interrompre le mode automatique de la commande. Save Program to EEPROM (Sauvegarder le programme enEEPROM) Sauvegarder le programme dans l’EEPROM intégrée dans la commande. Ce menu déroulant offre plusieurs possibilités de test de programme. Fig. 5-40 Online/Test Option de menu Fonction Chapitre FT2000 Simulation (Simulation FT2000) Simulation d’un FT2000 sur l’écran. 5.4.3.1 VT52 Emulation (Emulation VT52) Emulation de terminal VT52. I/O Test (Test E/S) Test du câblage des entrées/ sorties. Teach-In Position(s) (Position(s) d’apprentissage) Déplacement manuel du moteur 5.4.3.3 pas à pas et enregistrement de positions actuelles dans des variables de position. 5.4.3.2 Manual Position(s) Effectuer un déplacement (Position(s) manuelle(s)) manuel. 5.4.3.4 Debug programme SEQ 5.4.3.5 Debug programme API ProOED3 Observation des résultats des opérations, des variables, indicateurs, etc. pendant le mode automatique. Exécution pas à pas du programme. No. d’ident.: 00441113021 5-23 Utilisation 5.4.3.1 Fonctions on-line (On-line) Simulation FT2000 Cette option permet de tester simplement des programmes qui actionnent le FT2000. La sortie de textes sur l’écran de visualisation simulé du FT2000 a lieu de la même manière que si le FT2000 était raccordé. Fig. 5-41 Simulation FT2000 Utilisation Le tableau suivant présente l’affectation des touches du PC pour la simulation FT2000. Touche du FT2000 Touche du PC <F1> à <F8>, <0> à <9>, <->, <.> Touches identiques sur le clavier du PC. <S1> et <S2> Ne sont pas utilisées sur le PC. <←> <Backspace> <↓> <↵> IMPORTANT Le mode automatique de la commande se lance en appuyant sur les touches <X> et <↵>. 5-24 ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions on-line (On-line) 5.4.3.2 Test E/S Un test E/S peut être effectué pour vérifier les entrées/sorties: 1. Entrer <Alt>-<T>. 2. Déplacer la barre de sélection sur “I/O Test” à l’aide de la touche <↓> et appuyer sur <↵>. Fig. 5-42 Appeler Test E/S A droite de “I000-...”, ProOED3 indique de gauche à droite les états des entrées. Cela permet de vérifier très facilement les entrées raccordées. A droite de “Q000-...” sont indiqués les états des sorties: 1. Déplacer le curseur (voir figure) avec les touches <←> et <→>. 2. Modifier l’état de sortie avec la barre d’espacement. 3. Observer les afficheurs d’état des sorties sur la face avant de la commande. Entrées Entrées externes Sorties Sorties externes Fig. 5-43 Test E/S IMPORTANT Avec les commandes WDP3-014/018, seules les entrées I0 à I8, I10, I11, I12 (LIMP), I13 (LIMN), I14 (REF.) et I15 (STOP) ainsi que les sorties Q0-Q3 sont indiquées. Ces commandes ne permettent pas de piloter des modules E/S externes. 4. Modules E/S (seulement sur série 300) Quitter le test E/S par la touche <Esc>. Si des modules E/S externes MP926 sont raccordés à une commande de la série 300 et paramétrés en conséquence (voir chapitre 6.1.2), M32 à M111 indiquent les états des entrées et M112 à M191 les états des sorties (voir chapitre 6.3.3). Les états de sortie des cartes E/S peuvent également être modifiés à l’aide de la barre d’espacement. ProOED3 No. d’ident.: 00441113021 5-25 Utilisation 5.4.3.3 Fonctions on-line (On-line) Enregistrement de positions (Teach-In Positions) L’option Teach-In permet d’enregistrer des positions actuelles du moteur pas à pas dans jusqu’à 400 variables de position (w100 à w499). Les positions enregistrées peuvent être utilisées dans le programme. Le mode Teach-In (apprentissage) nécessite la présence d’un programme approprié dans la commande pour pouvoir déplacer les moteurs pas à pas et sélectionner les axes. Pour ce faire, on peut utiliser le projet exemple fourni “TEACH-IN.PO3” ou “MANUAL.PO3”. Les positions sont atteintes manuellement par l’intermédiaire des entrées et enregistrées dans des variables de position avec ProOED3. Après l’apprentissage, les variables de position peuvent être transférées de la commande dans le PC (Upload). ATTENTION Avec la commande WDP3-014/018, les variables de position apprises sont perdues à la mise hors tension de la commande si celles-ci n’ont pas été sauvegardées dans le projet par “Upload” après l’apprentissage. La procédure est la suivante: 1. Ouvrir le projet “MANUAL.PO3”. 2. Passer dans l’éditeur API par <Alt>-<2>. 3. Compiler le programme API par <Alt>-<F1>. 4. Sélectionner les paramètres de commande souhaités. 5. Entrer <Alt>-<O> pour appeler les fonctions on-line. 6. Entrer <Alt>-<T> pour ouvrir le menu déroulant “Test”. 7. Appuyer sur la touche <T> pour sélectionner “Teach-In Position(s)” (la commande doit être en mode édition). 8. Si un programme permettant de déplacer le moteur se trouve déjà dans la commande, appuyer sur la touche <↵> et poursuivre au point 10. Dans le cas contraire, appuyer sur la barre d’espacement pour répondre par “Non” à la question et appuyer sur la touche <↵>. Cela provoque l’appel de la fenêtre de sélection “Download”. Fig. 5-44 Appeler Teach-In ATTENTION Avant de mettre le système hors tension le transfer du programme doit être terminé. Dans le cas contraire, d'importants éléments du programme peuvent être détruits et uniquement réparés par le Service de Berger Lahr. Fig. 5-45 Transférer le programme Oui/Non? 5-26 ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions on-line (On-line) 9. La fenêtre de sélection “Download” s’affiche sur l’écran. La barre de sélection est placée sur “Complete”. => Appuyer sur la touche <↵> pour transférer le projet complet dans la commande. 10. La fenêtre “Teach-In” s’affiche sur l’écran. Le tableau ci-dessous contient des explications sur son utilisation. Fig. 5-46 Teach-In (apprentissage) Touche Fonction <R> La commande effectue un déplacement de référence. <P> Le moteur pas à pas se déplace vers la position de la variable de position sélectionnée. <W> La position actuelle du moteur pas à pas est enregistrée dans la variable de position sélectionnée. <↓> et <↑> <Esc> Sélectionner la variable de position pour l’axe actuel. Fermer la fenêtre. La manière dont le moteur pas à pas se déplace et l’axe actuel dépendent du programme présent dans la commande. Avec le programme exemple fourni “MANUAL.PO3”, exploiter la commande comme suit: Déplacer le moteur pas à pas et choisir la vitesse par I0 à I2: Entrée Fonction I0 Déplacer le moteur vers la gauche I1 Déplacer le moteur vers la droite I2 Choisir vitesse lente/rapide Sélectionner l’axe actuel au moyen de I3 et I4: Axe ProOED3 Etat du signal d’entrée x1 x2 I3 0 0 I4 0 1 x3 x4 1 1 0 1 No. d’ident.: 00441113021 5-27 Utilisation Fonctions on-line (On-line) Pour fermer la fenêtre “Teach-In”, appuyer sur la touche <Esc>. Les variables de position enregistrées doivent ensuite être transférées dans le PC (Upload). Annuler par la touche <Esc>, transférer les variables de position dans le PC par la touche <↵>. Fig. 5-47 Transférer les variables de position dans le PC? La fenêtre suivante doit apparaître lors du transfert des variables de position: Fig. 5-48 Teach-In (apprentissage) 5.4.3.4 L’option “Manual Position(s)” permet d’effectuer un déplacement manuel. Les positions actuelles du moteur pas à pas sont affichées sur l’écran. Cette opération nécessite la présence d’un programme approprié dans la commande pour pouvoir déplacer les moteurs pas à pas et sélectionner les axes. Pour ce faire, on peut utiliser le projet exemple fourni “TEACH-IN.PO3” ou “MANUAL.PO3”. Pour le déplacement du moteur et la sélection de l’axe, voir chapitre 5.4.3.3, “Teach-In”. Affichage des positions pendant un déplacement manuel Fig. 5-49 Appeler Position(s) manuelle(s) Fig. 5-50 Déplacement manuel 5-28 ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions on-line (On-line) 5.4.3.5 Debug programme SEQ et programme API Les programmes SEQ ou API et leurs résultats d’opérations peuvent être affichés sur l’écran en mode automatique. L’exécution des programmes pas à pas est possible. 1. Sélectionner l’option de menu “Debug PLC Program” ou “Debug SEQ Program”. 2. Répondre comme il convient à la question “Project loaded into Controller?” (Projet chargé dans la commande?) et transférer le cas échéant un programme dans la commande. Fig. 5-52 Appeler Debug Fig. 5-53 Charger le projet dans la commande? Mode Step Il apparaît la fenêtre de debugging suivante, la commande passe en mode Step (pas à pas). Fig. 5-51 Fenêtre Debug en mode Step ProOED3 No. d’ident.: 00441113021 5-29 Utilisation Fonctions on-line (On-line) Fenêtre de debugging La fenêtre de debugging contient les informations suivantes: – Instructions du programme à tester – ROP (résultat d’opération) pour chaque instruction de programme – Variables, indicateurs, timers – Commandes de debugging – Fenêtre pour la simulation FT2000 Commandes de debugging Touches Signification <C>lear Supprimer un point d’arrêt posé par <B> <B>reakpoint Poser un point d’arrêt <S>tep Basculer de fonctionnement continu en fonctionnement pas à pas, effectuer un pas <R>un Basculer de fonctionnement pas à pas en fonctionnement continu Affichages des variables, indicateurs et timers Touches Signification <v> Augmenter le numéro de la variable affichée <SHIFT><v> Diminuer le numéro de la variable affichée <m> Augmenter le numéro de l’indicateur affiché <SHIFT><m> Diminuer le numéro de l’indicateur affiché <t> Augmenter le numéro du timer affiché <SHIFT><t> Diminuer le numéro du timer affiché <w> Augmenter le numéro de la variable de position <SHIFT><w> Diminuer le numéro de la variable de position Défilement du programme Touches Signification <↑ barrée> Faire défiler le programme d’une page vers le haut <↓ barrée> Faire défiler le programme d’une page vers le bas Pour exécuter les commandes, utiliser les touches indiquées entre crochets. 5-30 ProOED3 No. d’ident.: 00441113021 Utilisation Fonctions on-line (On-line) Mode Run Lors du basculement en mode Run (commande: <R>un), la fenêtre de debugging apparaît légèrement modifiée. Fig. 5-54 Fenêtre Debug en mode Run En mode Run, il n’est possible d’exécuter que la commande <S>tep pour repasser en mode Step. IMPORTANT En raison de l’affichage des résultats d’opérations, le traitement du programme est environ 100 fois plus lent en mode debug. Exécution du programme en mode debug En mode debug, le programme peut être exécuté en deux modes de fonctionnement: – fonctionnement pas à pas (mode Step) – fonctionnement continu (mode Run) En mode Step, le programme peut être exécuté et testé ligne par ligne à l’aide de la touche <S>tep. Avec la touche <R>un, le programme est exécuté en mode Run, c.-à-d. en fonctionnement continu. La touche <B>reakpoint permet d’indiquer une ligne de programme à laquelle le programme doit être interrompu en mode Run. Le programme repasse en mode Step lorsqu’il rencontre un point d’arrêt. La touche <C>lear permet de supprimer un point d’arrêt. IMPORTANT Un seul point d’arrêt peut être posé. Simulation FT2000 en mode debug La fenêtre de debugging contient en bas une petite fenêtre pour la simulation d’un terminal d’exploitation FT2000. Cette fenêtre permet de tester avec le PC la communication programmée pour un terminal d’exploitation sans qu’il soit nécessaire de raccorder un terminal réel. Pendant la simulation du terminal d’exploitation, les entrées du clavier du PC sont utilisées pour la simulation. La fenêtre de debugging n’est pas exploitable pendant ce temps. ProOED3 No. d’ident.: 00441113021 5-31 Utilisation 5.5 Aide Aide Cette option de menu permet d’afficher des informations sur l’utilisation et sur le système. Fig. 5-55 Aide 5-32 Option de menu Fonction Commands (Commandes) Liste des commandes clavier. System Info (Informations système) Informations système telles que: version DOS, mémoire libre, etc. About ProOED3 (A propos de ProOED3) Information abrégée sur ProOED3, p.ex. numéro de version. ProOED3 No. d’ident.: 00441113021 Programmation Principes de base 6 Programmation 6.1 Principes de base 6.1.1 Développement d’un programme ProOED3 Le logiciel de programmation ProOED3 permet de développer des programmes utilisateurs simples pour les commandes de la série 300 et pour les commandes WDP3-014/018. Un programme utilisateur ProOED3 (en bref: programme) est composé de plusieurs parties de programme: – – – – – – Paramètres de commande Programme API Programme séquentiel (SEQ) Variables de position Noms symboliques Textes d’émission La programmation des différentes parties de programme s’effectue au moyen des éditeurs prévus à cet effet (voir chapitre 5.2). Pour pouvoir être exécutées et testées, les parties de programme doivent être chargées dans la commande (Download). Noms symboliques Programme API Programme séquentiel Variables de position ProOED3 Textes d'émission Paramètres de commande Compilation 40 - 00 ENCODER READY ROT.ERR. Téléchargement 01 + 41 42 l 0 Commande Fig. 6-1 Compiler des parties de programme et les charger dans la commande 51 02 ROT. MONIT. 03 SIGNAL 53 55 STEP 04 OFF 01 EF 2 7 8 9 AB 3456 I-RED GAT/ENA 05 PH.CURR CD l 20 06 READY 07 FAULT Q0 08 TEMP 09 OVER-VOLT 57 10 LOW-VOLT U V W 11 Q9 IMPORTANT Le programme API et le programme SEQ doivent être compilés avant de pouvoir être chargés dans la commande. ProOED3 No. d’ident.: 00441113021 6-1 Programmation Principes de base Plusieurs outils sont disponibles pour le test de programme: – – – – – Debugger API, pour le test du programme API Debugger SEQ, pour le test du programme séquentiel Test E/S, pour le contrôle du câblage des E/S Simulation FT2000, pour le test de dialogues d’exploitation pour le terminal d’exploitation FT2000 Simulation VT52, pour le test de dialogues d’exploitation pour un terminal VT52 IMPORTANT Il n’est pas nécessaire d’élaborer toutes les parties de programme pour créer un programme exécutable. Suivant l’application, il peut suffire, par exemple, de définir les paramètres de commande et de coder le programme séquentiel. Mais il est obligatoire de compiler le programme séquentiel et le programme API et de les charger dans la commande. 6.1.1.1 Développement de programmes Pour développer un programme avec ProOED3, la commande doit être en mode édition. Ce mode permet de charger dans la commande des programmes développés avec ProOED3 (Download). Un programme chargé dans la commande peut être lancé par ProOED3 (Run), la commande passe en mode automatique pour exécuter le programme. Si le programme est arrêté par ProOED3, la commande revient en mode édition. Arrêt commande Pousser les sélecteurs 41 puis 42 en position + jusqu'à ce que “Ed” apparaisse Pousser le sélecteur 41 en position Pousser le sélecteur 41 en position + jusqu'à ce qu'un point apparaisse Eteindre et rallumer la commande Option de menu “Controller/Stop” sur le PC Mode éditeur Fig. 6-2 Affichage d’état sur la série 300 6-2 ProOED3 Mode automatique Entrée <X> et < ↵> ou option de menu “Controller/Run” sur le PC No. d’ident.: 00441113021 Programmation Principes de base Arrêt commande Appuyer sur + et ↵ jusqu'à ce que “Ed” apparaisse Touche “-” Appuyer sur + jusqu'à ce qu'un point apparaisse Eteindre et rallumer la commande Option de menu “Controller/Stop” sur le PC Mode Edition Mode automatique Entrée <X> et < ↵ > ou option de menu “Controller/Run” sur le PC Fig. 6-3 Affichage d’état sur WDP3-014/018 Procédure de développement de programmes Conditions: La commande doit être entièrement câblée et la liaison entre le PC et la commande doit fonctionner correctement. 1. Lancer ProOED3. 2. Créer un nouveau projet ou ouvrir un projet existant. 3. Pour un nouveau projet, définir le type de commande. 4. Créer ou modifier toutes les parties de programme nécessaires avec les éditeurs appropriés. 5. Compiler le programme séquentiel et le programme API. 6. Activer le mode édition de la commande, voir figure 6-2. 7. Charger les parties de programme individuellement ou en bloc dans la commande. 8. Lancer le programme. 9. Tester le programme. 10. Sauvegarder le programme en EEPROM. IMPORTANT Les étapes de développement d’un projet simple sont décrites en détail au chapitre 4. ProOED3 No. d’ident.: 00441113021 6-3 Programmation 6.1.2 Définition des paramètres de commande Principes de base Les paramètres de commande servent à initialiser la commande. L’initialisation se produit à chaque lancement de programme. Les paramètres de commande ont une influence sur l’activation des moteurs, le positionnement des axes, les interfaces et les réglages de base de la commande. Les paramètres de commande se gèrent à l’aide de l’éditeur de paramètres. Ils doivent être définis spécialement pour chaque application. IMPORTANT A l’ouverture d’un nouveau projet, les paramètres de commande sont prédéfinis à leurs valeurs par défaut. Liste des paramètres Paramètre Plage de réglage Description (valeur par défaut) Active limit switches x1 to x4 0–3 A l’atteinte d’un contact de fin de course, le moteur est (Contacts de fin de course (3) arrêté selon la rampe définie. La commande se trouve actifs x1 à x4) ensuite en état d’erreur. 0 = pas de contact de fin de course actif 1 = contact de fin de course négatif actif 2 = contact de fin de course positif actif 3 = deux contacts de fin de course actifs Decimal point 1–3 Nombre de décimales pour les instructions rec_dez et (Nombre de décimales) (2) snd_dez. 0–5 Résolution (incréments/tour) et évaluation de codeur Encoder evaluation (3) (simple, double, quadruple) DG1 or DG2, DG = encoder, 0 = codeur 500, évaluation simple encoder 1 only for WP-311 1 = codeur 500, évaluation double and WDP5-318 2 = codeur 500, évaluation quadruple 3 = codeur 1000, évaluation simple (Evaluation de codeur 4 = codeur 1000, évaluation double DG1 ou DG2, DG = codeur, 5 = codeur 1000, évaluation quadruple codeur 1 uniquement sur WP-311 et WDP5-318) Encoder setting* -1 – 2 Utilisation des connexions codeurs (Réglage codeur*) (0) -1 = connexion 1 (p1) non utilisée connexion 2 (p2) pour mode poursuite de position 0 = connexion 1 (p1) pour mode poursuite de position connexion 2 (p2) non utilisée 1 = connexion 1 (p1) pour contrôle de rotation connexion 2 (p2) pour mode poursuite de position 2 = connexion 1 (p1) pour mode poursuite de position connexion 2 (p2) pour contrôle de rotation Rotation monitor x1 to x4 (Contrôle de rotation x1 à x4) External I/O modules* (Modules E/S externes*) 6-4 0–1 (0) 0–5 (0) ProOED3 Sur les commandes WDP3-314/WDP3-318, il n’existe pas de connexion codeur 1 (p1). Les réglages suivants sont possibles: -1 = connexion 2 (p2) pour mode poursuite de position 0 = connexion 2 (p2) non utilisée 2 = connexion 2 (p2) pour contrôle de rotation 0 = désactiver le contrôle de rotation 1 = activer le contrôle de rotation Nombre de modules E/S externes MP926 sur l’interface RS 485 HS (16 entrées et 16 sorties par carte) No. d’ident.: 00441113021 Programmation Principes de base Paramètre Error handling (Traitement des erreurs par l’utilisateur) Clearing distance limit switch (Distance de sécurité contact de fin de course) Clearing speed limit switch (Vitesse depuis contact de fin de course) Lauer operating panel* (Console d’exploitation Lauer*) Plage de réglage Description (valeur par défaut) 0–2 Réaction de la commande en cas d’erreur (voir aussi (0) chapitre 7.2) 0 = Toute la commande est arrêtée. 99 sur l’afficheur 7 segments. Menu d’erreurs par l’interface série c1. 1 = Le programme séquentiel et l’axe sont arrêtés. Numéro d’erreur sur l’afficheur 7 segments. Pas de menu d’erreurs. 2 = Traitement des erreurs par programme utilisateur. Sous-programme “L0”. Pas de menu d’erreurs. 0 – 1000 pas Distance de sécurité du contact de fin de course ou (0 pas) contact de référence après un déplacement de référence (position = 0). 1 – 10000 Hz Vitesse utilisée pour quitter la zone des contacts de fin de course ou de référence. (200 Hz) 4 – 10000 Hz** (200 Hz) 0–8 1 = 8 octets de données, type micro (0) 2 = 8 octets de données, type mini 3 = 8 octets de données, type midi 4 = 8 octets de données, type maxi 5 6 7 8 Manual speed – slow (Vitesse manuelle lente) Manual speed – fast (Vitesse manuelle rapide) Max. allowed dist. limit switch (Distance maximale après contact de fin de course) Normalizing factor denominator x1 to x4 (Facteur de normalisation dénominateur x1 à x4) Normalizing factor numerator x1 to x4 (Facteur de normalisation numérateur x1 à x4) Ramp x1 to x4 (Rampe x1 à x4) 1 – 10000 Hz (200 Hz) 4 – 10000 Hz** (200 Hz) 1 – 10000 Hz (2000 Hz) 4 – 10000 Hz** (2000 Hz) 10 – 55924053 (10000) 1 – 2147483647 (1000) = = = = 16 octets de données, type micro 16 octets de données, type mini 16 octets de données, type midi 16 octets de données, type maxi Si l’une des valeurs 5, 6, 7 ou 8 est réglée pour “Console d’exploitation Lauer”, le paramètre “Modules E/S externes” ne peut être réglé qu’à la valeur 0, 1 ou 2. Vitesse en déplacement manuel lent via l’indicateur m0 ou m1. Vitesse en déplacement manuel rapide via l’indicateur m2. Le moteur doit avoir quitté un contact de fin de course (de référence) avant d’avoir parcouru cette distance. Le facteur de normalisation est utilisé en mode point à point pour convertir les unités utilisateur (p.ex. mm) en unités moteur (pas ou incréments). -55924053 – +55924053 (1000) 0–3 (0) ProOED3 Forme de la rampe selon laquelle le moteur sera accéléré et freiné. 0 = rampe Linéaire 1 = rampe exponentielle*** 2 = rampe sinus carré*** 3 = rampe optimisée moteur pas à pas*** No. d’ident.: 00441113021 6-5 Programmation Paramètre Gear interface signals (Signaux d’interface réducteur) Standard acceleration (Accélération standard) Standard speed (Vitesse standard) Start/stop speed (Vitesse de démarrage/ d’arrêt) System speed x1 to x4 (Vitesse système x1 à x4) Inching distance for manual mode (Distance impulsionnelle pour mode manuel) Type of reference movement x1 to x4 (Type de déplacement de référence x1 à x4) Principes de base Plage de réglage Description (valeur par défaut) 0–1 Type de signal à l’entrée codeur (1) 0 = signal impulsion/sens 1 = signal A/B 1 – 2000 Hz/ms Si aucune accélération n’est spécifiée dans le programme (125 Hz/ms) utilisateur (par l’instruction “acc”), tous les axes x1 à x4 sont démarrés et freinés avec cette accélération. 1 – 200000 Hz Si aucune autre vitesse n’est spécifiée dans le (1000 Hz) programme utilisateur (par l’instruction “vel”), tous les 4 – 40000 Hz** axes x1 à x4 sont déplacés à cette fréquence maximale. (1000 Hz) 1024 – 10000 Hz Vitesse utilisée pour démarrer ou arrêter l’axe. (100 Hz) 4 – 10000 Hz** (100 Hz) 1 – 200000 Hz Vitesse système maximale (32767 Hz) IMPORTANT Si une commande de la série 300 doit faire 4096 - 40000 Hz** tourner un moteur à une vitesse d’exactement (32767 Hz) 1 Hz, cette valeur doit être réglée à 32767 Hz. 0 – 100 pas Course parcourue lors d’une activation brève (env. (10 pas) 500 ms) de l’indicateur de déplacement manuel m0 ou m1. Distance impulsionnelle = 0 signifie que le moteur passe immédiatement en mode de fonctionnement continu. 0–3 Indique quel contact de fin de course soit être atteint (0) lors du déplacement de référence 0 = contact de fin de course négatif 1 = contact de fin de course positif 2 = contact de référence par rotation à gauche (vu de l’avant sur l’arbre moteur) 3 = contact de référence par rotation à droite (vu de l’avant sur l’arbre moteur) * Uniquement pour série 300 ** Uniquement pour WDP3-014/018 *** Possible uniquement en mode PTP. Exemples Réglage Paramètre Déplacement de référence de “Type du déplacement de l’axe x1 vers contact de référence x1” = 2 référence par rotation à gauche Rampe sinus carré pour l’axe x4 “Rampe x4” = 2 Contrôler le contact de fin de course positif pour l’axe x1 6-6 ProOED3 “Contact de fin de course actifs x1” =2 No. d’ident.: 00441113021 Programmation Principes de base 6.1.3 Programme séquentiel et programme API Dans les programmes séquentiel et API sont spécifiées les tâches de la commande. Après l’initialisation de la commande (paramètres de commande), le programme séquentiel et le programme API sont exécutés indépendamment l’un de l’autre en alternant toutes les 2 ms: chacun à son tour, le programme API puis le programme séquentiel sont traités pendant 2 ms. Les deux programmes peuvent échanger des données par l’intermédiaire d’indicateurs (m) et de variables (v, w, f). Les entrées et sorties peuvent être activées par les deux programmes. IMPORTANT Pendant l’exécution des deux parties de programme, la commande se trouve en mode automatique. Lancement mode automatique Editeur de paramètres Editeur SEQ Exécuter le programme séquentiel Initialisation et paramétrage de la commande 2 ms Exécuter le programme API Editeur API Fig. 6-4 Exécution de programme en mode automatique Programme API Les instructions du programme API sont traitées de manière cyclique. Il n’y a cependant pas de contrôle du temps de cycle. Le programme API peut exécuter les fonctions suivantes: – enregistrer et lire des données – opérations logiques – opérations arithmétiques – opérations de comparaison – lecture directe de signaux E/S (pas d’image de processus) – fonction de timer Il ne doit pas être utilisé d’instructions spécifiques à la commande dans le programme API, les instructions possibles dans le programme API sont repérées dans le tableau du chapitre 6.1.3.2 “Opérateurs”. Un programme API peut comporter jusqu’à 1000 lignes de code. Le programme API s’élabore à l’aide de l’éditeur API et doit être compilé avant d’être chargé dans la commande. ProOED3 No. d’ident.: 00441113021 6-7 Programmation Principes de base Programme séquentiel Le programme séquentiel se déroule également de manière cyclique. Le programme séquentiel s’élabore à l’aide de l’éditeur SEQ et doit être compilé avant d’être chargé dans la commande. Le programme séquentiel peut, en plus des instructions API, également contenir des instructions spécifiques à la commande (positionnement, interpolation linéaire, codeur, interface série). Les instructions séquentielles sont repérées dans le tableau du chapitre 6.1.3.2 “Opérateurs”. Le programme séquentiel peut exécuter les fonctions supplémentaires suivantes: – déplacement de référence – positionnements – interpolation linéaire – réducteur électronique – contrôle de rotation – échange de données via interface série – synchronisation avec commande de niveau supérieur – accès direct aux signaux E/S – sous-programmes IMPORTANT Les programmes API et séquentiel peuvent échanger des données par l’intermédiaire d’indicateurs (m) et de variables (v, w, f). Le programme séquentiel peut contenir au maximum 2000 lignes de code. 6.1.3.1 Instructions Les programmes API et séquentiel sont composés d’une suite d’instructions. Structure d’une instruction Une instruction se compose d’un opérateur et de un ou deux opérandes. Exemples: ld 100 Opérateur Opérande vel x1 100 Opérateur Opérande 1 Opérande 2 Voir aussi chapitres 6.1.3.2 et 6.1.3.3. 6-8 ProOED3 No. d’ident.: 00441113021 Programmation Principes de base Résultat d’opération ROP Le résultat d’opération (ROP) est une mémoire intermédiaire (accumulateur) de la commande qui est utilisée pour – le transfert de données – le stockage de résultats – la condition en cas d’exécution conditionnelle d’une instruction Les instructions utilisent le contenu du ROP comme opérande pour des opérations logiques, des comparaisons, des calculs arithmétiques et comme condition pour des instructions de saut conditionnel. Le résultat d’une instruction est stocké dans le ROP. Le ROP ne peut stocker qu’une valeur booléenne (une valeur binaire) ou des nombres entiers (valeurs sur 32 bits). ROP Plage de valeurs Valeur booléenne 0, 1 Nombre entier - 2147483647 à +2147483647 ROP ld 100 1 100 2 add 10 Exemples: ld add div mul 3 110 5 3 ;ROP ;ROP <- 5 <- ROP + 3 4 10 ;ROP ;ROP <- ROP \ 4 (ROP <- 2) <- ROP * 10 (ROP <- 20) (ROP <- 8) L’exécution de certaines instructions (s, r, calc, caln, jmpc, jmpn) dépend de la valeur booléenne (VRAI, FAUX) du ROP. Valeur dans le ROP Valeur booléenne du ROP 0 FAUX <> 0 VRAI Exemple 1: ld i10 r q5 Exemple 2: ld i10 jmpn L4 ProOED3 ;ROP <- i10 ;La sortie 5 ne sera ;réinitialisée que si ;ROP = 1 (VRAI). ;ROP <- i10 (entrée 10) ;Sauter au label L4 si ;i10 = 0. No. d’ident.: 00441113021 6-9 Programmation 6.1.3.2 Principes de base Opérateurs L’opérateur symbolise la fonction d’une instruction. L’opérateur détermine le nombre et le type des opérandes de l’instruction. Les tableaux d’instructions suivants contiennent tous les opérateurs avec les opérandes correspondants. Le premier tableau contient les instructions qui sont possibles aussi bien dans le programme API que dans le programme séquentiel. Le deuxième tableau contient les instructions qui ne sont possibles que dans le programme séquentiel. Les instructions sont classées par groupes de fonctions. Les instructions sont décrites plus en détail dans l’annexe. Instructions pour le programme API et le programme séquentiel Groupe de fonctions Chargement et stockage Mise à 1 et mise à 0 Timer Instructions Opérateur <Opérandes poss.> ld <fknvwiqmxtp> ldn <iqm> st <fnvwqmxtp> stn <qm> r <qm> s <qm> stimer <t> Opérations logiques and andn or orn Instructions add arithmétiques div mul sub Instructions de eq comparaison gt lt Sauts de jmp programme et jmpc labels jmpn label end Communication ld_LKey* avec console ld_LBit* d’exploitation Lauer* ld_LInt* ld_LDint* st_LBit* st_LInt* st_LDint* Signification Charger ou lire dans le ROP Charger ou lire la valeur inversée dans le ROP Stocker Stocker la valeur inversée Mettre à 0 la sortie ou de l’indicateur Mettre à 1 la sortie ou l’indicateur Lancer le timer (possible uniquement dans le programme API) <iqm> Opération ET <iqm> Opération NON ET <iqm> Opération OU <iqm> Opération NON OU <fknvw> Addition <fknvw> Division <fknvw> Multiplication <fknvw> Soustraction <fknvwiqm> Egal <fknvw> Plus grand que <fknvw> Plus petit que <lk> Saut inconditionnel <lk> Saut conditionnel, ROP = 1 (VRAI) <lk> Saut conditionnel, ROP = 0 (FAUX) <L> Label de saut Fin de programme et saut au début de programme Lire l’état d’une touche de la console d’exploitation Lauer <knvw> <knvw> <knvw> Lire un bit de l’interface de données de la console d’exploitation Lauer Lire un mot de l’interface de données de la console <knvw> d’exploitation Lauer Lire un double mot de l’interface de données de la <knvw> console d’exploitation Lauer <knvw> <knvw> Ecrire un bit dans l’interface de données de la console d’exploitation Lauer Ecrire un mot dans l’interface de données de la console <knvw> d’exploitation Lauer Ecrire un double mot dans l’interface de données de la <knvw> console d’exploitation Lauer * Uniquement pour la série 300 6-10 ProOED3 No. d’ident.: 00441113021 Programmation Principes de base Instructions pour le programme séquentiel Groupe de fonctions Appels de sousprogrammes Instructions Opérateur <Opérandes poss.> cal <L> calc <L> caln <L> ret mode <x> <k> Mode de fonctionnement d’axe Positionnement vel en mode point acc à point move movef Réducteur électronique en mode poursuite de position Interpolation linéaire avec commandes multiaxes Communication par interface série Sortie analogique <x> <x> <x> <x> <fknvw> <fknvw> <fknvw> <fknvw> pos posf <x> <x> <fknvw> <fknvw> ref reff <x> <x> stop stopa* setsiglist* settrigger* gearn gearz goff <x> <x> <x> <x> <x> <x> <x> <knvw> <k> <fknvw> <fknvw> <fknvw> <knvw> <fknvw> <fnvw> <fnvw> <fnvw> <fnvw> <fnvw> <fknvw> <fknvw> <fnvw> <fknvw> <fnvw> <knvw> <knvw> Lancer une interpolation linéaire (absolue) Lancer une interpolation linéaire (absolue) et attendre que la position soit atteinte Lancer une interpolation linéaire (relative) Lancer une interpolation linéaire (relative) et attendre que la position soit atteinte Préparer une interpolation linéaire Positionner le curseur Recevoir un caractère Recevoir un caractère avec contrôle Recevoir un nombre décimal Afficher et éditer un nombre Recevoir et stocker un nombre Gestion d’écran Envoyer un caractère Envoyer un nombre décimal Envoyer une chaîne de caractères Envoyer un nombre Lire une tension analogique Délivrer une tension analogique linmove* linmovef* <x> <c> <c> <c> <c> <c> <c> <c> <c> <c> <c> <c> <a> <a> Appel de sous-programme inconditionnel Appel de sous-programme conditionnel, ROP = 1 (VRAI) Appel de sous-programme conditionnel, ROP = 0 (FAUX) Retour au programme appelant Définir le mode de fonctionnement d’un axe Régler la vitesse de consigne Régler la rampe d’accélération Positionnement relatif sans attendre Positionnement relatif et attendre que la position soit atteinte Positionnement absolu sans attendre Positionnement absolu et attendre que la position soit atteinte Déplacement de référence sans attendre Déplacement de référence et attendre que la position soit atteinte Arrêter l’axe x Arrêter tous les axes Activer la liste de positions Déclenchement de position Régler le dénominateur du facteur de réduction Régler le numérateur du facteur de réduction Régler l’offset de position linpos* linposf* setipos* cursor rec_char rec_char_n rec_dez rec_var rec_var_n screen snd_char snd_dez snd_str snd_var getanalog* setanalog* Signification ProOED3 No. d’ident.: 00441113021 6-11 Programmation Groupe de fonctions Autres instructions Principes de base Instructions Signification Opérateur <Opérandes poss.> amp <x> <k> Mettre sous tension/hors tension la commande de puissance brake* <x> Activer la sortie du frein clrerror <x> Remettre à zéro une erreur de signaux d’axe getport <im> <fknvw> Lire des entrées ou des indicateurs et convertir en nombre handshake <i> <q> Synchronisation avec commande de niveau supérieur restart Relancer le programme séquentiel setcurrent <x> <fknvw> Régler le courant moteur wait <fknvw> Interrompre l’exécution du programme wsave Sauvegarder les variables de position nop Instruction vide (durée d’exécution 500 µs à 1000 µs) * Uniquement pour la série 300 6.1.3.3 Opérandes <ac ... wx> Les instructions peuvent avoir un ou deux opérandes (voir tableau au chapitre 6.1.3.2). Les opérandes contiennent les valeurs nécessaires à l’exécution des instructions. Les types d’opérandes possibles sont les suivants: Opérande a Signification Plage de valeurs Interface analogique Entrée: ±10000mV Sortie: +10000mV a2* c f** Module analogique Interface série c1 Interface 1 c2* Interface 2 Variables FRAM (uniquement pour WDP3-014/018 avec OED3) f1, f2, f3 i 6-12 -2147483647 à +2147483647 0 ou 1 Entrées i0 à i8, i10, i11 WDP3-014/018 i0 à i20 pour commandes monoaxes (série 300) i0 à i30/40 pour commandes multiaxes (série 300) i30: pour WDPM3-314 i40: pour WPM-311 k Constantes (valeur) l Labels L0 à L100 (L0 réservé pour traitement des erreurs par programme utilisateur) ProOED3 -2147483647 à +2147483647 No. d’ident.: 00441113021 Programmation Principes de base Opérande Signification m Indicateurs Déplacement manuel vers la droite (m0 = 1) m1 Déplacement manuel vers la gauche (m1 = 1) m2 Vitesse rapide m3 Sélection multiaxes bit 0 Axe m4 m3 m4 Sélection multiaxes bit 1 x1 x2 x3 x4 0 0 1 1 0 1 0 1 m5 à m9 Réservé m10 Activer le déplacement manuel: 0 = non actif, 1 = actif m11 Déplacement manuel actif? 0 = non, 1 = oui m12 à m20 Réservé m21 à m999 Disponibles; Axe x1: 0 = axe à l’arrêt, 1 = axe se déplace m1002 Axe x2: 0 = axe à l’arrêt, 1 = axe se déplace m1003 Axe x3: 0 = axe à l’arrêt, 1 = axe se déplace m1004 Axe x4: 0 = axe à l’arrêt, 1 = axe se déplace m1005 à m1010 Réservé m1011* Déclenchement x1: 1 = signal de déclenchement de l’axe 1 m1012* Déclenchement x2: 1 = signal de déclenchement de l’axe 2 m1013* Déclenchement x3: 1 = signal de déclenchement de l’axe 3 m1014* Déclenchement x4: 1 = signal de déclenchement de l’axe 4 0 = variables FRAM invalides 1 = variables FRAM valides m1016 à m1023 t Réservé Indexation indirecte de variables n1 à n99 q Sur commandes avec modules E/S externes MP 926: pour les entrées externes i 32 à i 111 pour les sorties externes q 112 à q 191 m1001 m1015** p 0 ou 1 m0 m32 à m111 m112 à m191 n Plage de valeurs 1 – 499 Accès indirect via v1 à v99 et w100 à w499 Codeurs p1 Codeur 1 (uniquement pour WP-311 et WDP5-318) p2 Codeur 2 Sorties 0 ou1 q0 à q3 WDP3-014/018 q0 à q9 Série 300 Timer t0 à t9 (résolution 100 ms) ProOED3 0 à 864000 No. d’ident.: 00441113021 6-13 Programmation Opérande v w Signification Plage de valeurs Variables -2147483647 à +2147483647 v0 Numéro d’axe en cas d’erreur dans le programme séquentiel v1 à v99 Disponibles v100 Numéro d’erreur pour l’afficheur 7 segments v101 Variable de poursuite de position axe x1 v102 Variable de poursuite de position axe x2 v103 Variable de poursuite de position axe x3 v104 Variable de poursuite de position axe x4 v105 à v110 Réservé v111* Position de déclenchement axe x1 v112* Position de déclenchement axe x2 v113* Position de déclenchement axe x3 v114* Position de déclenchement axe x4 Variables de position w100 à w499 x Principes de base Axe x1, x2, x3, x4 -2147483647 à +2147483647 Axe x1 pour commandes monoaxes x1 à x4 pour commandes multiaxes * Uniquement pour la série 300 ** Uniquement pour WDP3-014/018 IMPORTANT Les nombres à virgule fixe ne sont pas autorisés comme opérandes. 6-14 ProOED3 No. d’ident.: 00441113021 Programmation Principes de base Description d’erreur Dans la description d’erreur, les opérandes possibles pour un opérateur sont indiqués par l’initiale des types d’opérande. Exemple 1: and <iqm> L’opérateur “and” a un opérande. Le type d’opérande ne peut être que i (entrée), q (sortie) ou m (indicateur). Exemple 2: move <x> <fknvw> L’opérateur “move” a deux opérandes. Le premier opérande x identifie l’axe. Le type du deuxième opérande ne peut être que f (variable FRAM), k (constante), v (variable), w (variable de position) ou n (variable d’index). Constantes Constantes (k) Les constantes sont utilisées pour donner directement des valeurs dans une instruction. Seuls sont autorisés comme constantes des nombres entiers compris entre -2147483647 et +2147483647. Variables Exemple 1: ld 5000 mul 10000000 Exemple 2: jmp -10 Exemple 3: snd_str c1 ;Cette multiplication donne ;un résultat erroné, ;car la plage de valeurs ;du ROP est dépassée. ;Saut de 10 lignes de ;programme en arrière. 10 ;Envoyer le texte d’émission ;10 par l’interface série. Variables (v) Les variables sont des emplacements mémoire servant au stockage intermédiaire de valeurs. 99 variables (v1 à v99) sont disponibles, elles peuvent être utilisées pour du calcul ou comme opérandes pour des instructions de positionnement. Les variables sont sur 32 bits et leur plage de valeur s’étend de -2147483648 à +2147483647. Seuls des nombres entiers peuvent être stockés dans des variables. ProOED3 No. d’ident.: 00441113021 6-15 Programmation Principes de base Certaines variables ont des fonctions spéciales. Variable v0 En cas d’erreur dans le programme séquentiel, la variable v0 contient le numéro de l’axe en erreur. En cas d’erreur, l’axe peut encore être déplacé par l’instruction movef v0 <position> Variable v100 La variable v100 contient un numéro d’erreur en cas d’erreur (voir chapitre 7.2: “Erreurs lors de l’exécution du programme”) Variables v101 à v104 Les variables v101 à v104 peuvent être utilisées comme grandeurs de référence en mode poursuite de position (voir instruction “mode”). Variables v111 à v114 (série 300 uniquement) Les positions de déclenchement sont stockées dans les variables v111 à v114 lors d’un déplacement de déclenchement (voir instruction “settrigger”). Variables v0 Signification Numéro d’axe en cas de défaut dans le programme séquentiel v1 à v99 Disponibles v100 Numéro d’erreur pour afficheur 7 segments v101 Variable de poursuite de position pour axe x1 v102 Variable de poursuite de position pour axe x2 v103 Variable de poursuite de position pour axe x3 v104 Variable de poursuite de position pour axe x4 v105 à v110 Réservé v111* Position de déclenchement pour axe x1 v112* Position de déclenchement pour axe x2 v113* Position de déclenchement pour axe x3 v114* Position de déclenchement pour axe x4 * Uniquement pour la série 300 IMPORTANT Si la commande contient une batterie, les variables sont protégées contre l’absence de tension, c.-à-d. qu’elles conservent leur valeur même quand la commande est hors tension. Les commandes WDP3-014/018 n’ont pas de batteries, les variables v0 à v99 sont donc initialisées à 0 à chaque démarrage de la commande. IMPORTANT Le programme API et le programme séquentiel peuvent échanger des données par l’intermédiaire de variables et d’indicateurs, car les deux parties de programme peuvent accéder aux variables. Exemple de programmation: ;ROP = v1 + v2 (ROP = 10 + 20) ld 10 ;Charge la valeur 10 dans le ROP ;ROP <-10 st v1 ;Stocke le contenu du ROP dans ;la variable v1; v1 <- 10 ld 20 ;Charge la valeur 20 dans le ROP st v2 ;Stocke le contenu du ROP dans ;la variable v2; v2 <- 20 ld v1 ;Charge la variable v1 (10) dans ;le ROP; ROP <- 10 add v2 ;Additionne la variable v2 (20) à ;la valeur dans le ROP; ROP <- 30 6-16 ProOED3 No. d’ident.: 00441113021 Programmation Principes de base Accès indirect Accès indirect (n) à une variable L’opérande n permet d’accéder indirectement à des variables. La valeur qui suit n désigne la variable par l’intermédiaire de laquelle l’accès doit se faire. Ceci permet d’écrire des programmes courts pour, par exemple, copier des variables à l’aide d’une boucle de programme. Exemple: n1 signifie accès indirect par la variable v1. La valeur dans la variable v1 est l’adresse des variables qui doivent être lues ou écrites. Programme Variables ld 10 st v1 ld 123 st v10 ld n1 10 . . . V1 123 V10 10 . . . V1 123 V10 10 . . . V1 345 V10 ROP = 123 ld 345 st n1 IMPORTANT Il peut être accédé indirectement aux variables v1 à v99 et w100 à w499. Exemple de programmation 1: Les 4 signaux d’entrée i0 à i3 servent d’index codé binaire pour les variables de position de l’axe x1. label L1 getport i0 add 100 ;Index + 100 (l’index ;pointe sur les variables ;de position de l’axe x1) st v10 ;Stockage comme valeur ;d’index dans v10 (n10) posf x1 jmp L1 ProOED3 4 n10 ;Lecture de la valeur ;d’index, formée par les ;entrées i0 à i3 ;(codée binaire) ;La variable v10 sert ;d’intermédiaire pour l’accès ;indirect à la variable de ;position w(100+Index) et ;le positionnement No. d’ident.: 00441113021 6-17 Programmation Principes de base Exemple de programmation 2: Les variables v10 à v20 doivent être copiées dans les variables v50 à v60. Pour cela, on effectue un accès indirect par l’intermédiaire des variables v1 et v2. Variables FRAM (uniquement WDP3-014/018) ld 10 ;Charge la valeur 10 dans ;le ROP; ROP <- 10 ;Stocke le contenu du ;ROP dans la variable v1 ;v1 <- 10 ;Charge la valeur 50 dans ;le ROP; ROP <- 50 ;Stocke le contenu du ;ROP dans la variable v2 ;v2 <- 50 st v1 ld 50 st v2 LABEL L1 ;Label de saut L1 ld n1 st n2 ld add v1 1 ;Charge la valeur de la ;variable v10 indirectement ;via v1; ROP <- v10 ;Stocke la valeur de la ;variable V10 indirectement ;via v2; v50 <- ROP ;Incrémenter la variable v1 st ld v1 v2 add st 1 v2 eq jmpn 60 L1 ;Incrémenter la variable v2 ;Teste la fin de boucle ;Saute au label L1 si ;v2 < 60 Variables FRAM (f) Si les commandes WDP3-014/018 détectent une absence de tension secteur (p.ex. mise hors tension) ou passent dans l’état STOP ou le mode édition, les variables f1, f2 et f3 sont automatiquement sauvegardées dans la FRAM. A la remise sous tension, le contenu des variables est automatiquement remis à la valeur d’avant la chute de tension. Les variables f1, f2 et f3 peuvent être utilisées comme des variables normales dans le programme. ATTENTION Hors tension, le contenu des variables FRAM ne sont sauvegardées que pendant un certain temps. – à 30°C de température ambiante: env. 250 jours – à 50°C de température ambiante: env. 60 jours L’état de l’indicateur m1015 = 1 indique si le contenu des variables FRAM est encore valide. 6-18 ProOED3 No. d’ident.: 00441113021 Programmation Principes de base Variables de position Variables de position (w) Les variables de position sont des variables spéciales servant à stocker des valeurs de position. Il existe 400 variables de position w100 à w499. Les variables de position sont utilisées en apprentissage (Teach-In) et pour la mise à 1/à 0 d’une entrée en fonction de la position (voir instruction “setsiglist”). IMPORTANT Les variables de position non occupées par des positions peuvent être utilisées pour d’autres usages. IMPORTANT (WDP3-014/018 uniquement) A la mise sous tension de la commande (POWER ON), les valeurs sauvegardées par “wsave” sont rechargées dans les variables de position. Il est aussi possible d’éditer et de modifier manuellement les variables de position avec l’éditeur “Variables de position”. Les variables de position peuvent être utilisées comme opérandes dans les instructions de positionnement. Exemples de programmation: movef x1 w100 movef x2 w299 posf x3 w300 posf x4 w410 ProOED3 ;Positionner l’axe x1 en relatif. ;La variable de position ;w100 est utilisée comme ;position relative. ;Positionner l’axe x2 en relatif ;La variable de position ;w299 est utilisée comme ;position relative. ;Positionner l’axe x3 en absolu ;La variable de position ;w300 est utilisée comme ;position absolue. ;Positionner l’axe x4 en absolu ;La variable de position ;w410 est utilisée comme ;position absolue. No. d’ident.: 00441113021 6-19 Programmation Principes de base Indicateurs Indicateurs (m) Les indicateurs sont des emplacements mémoire sur 1 bit internes à la commande. La commande dispose de 1024 indicateurs m0 à m1023. Une partie des indicateurs est réservée à des fonctions définies. Opérande Signification m0 m1 Déplacement manuel vers la droite (m0 = 1) Déplacement manuel vers la gauche (m1 = 1) m2 Vitesse rapide (m2 = 1) m3 Sélection multiaxes bit 0 Axe m4 m3 m4 Sélection multiaxes bit 1 x1 x2 x3 x4 0 0 1 1 0 1 0 1 m5 à m9 Réservé m10 m11 Activer le déplacement manuel: 0 = non actif, 1 = actif Déplacement manuel actif? 0 = non, 1 = oui m12 à m20 m21 à m999 Réservé Disponibles; m32 à m111 m112 à m191 Sur commandes avec modules E/S externes MP 926: pour les entrées externes i 32 à i 111 pour les sorties externes q 112 à q 191 m1001 m1002 m1003 m1004 Axe x1: 0 = axe à l’arrêt, 1 = axe se déplace Axe x2: 0 = axe à l’arrêt, 1 = axe se déplace Axe x3: 0 = axe à l’arrêt, 1 = axe se déplace Axe x4: 0 = axe à l’arrêt, 1 = axe se déplace m1005 à m1010 Réservé m1011* Déclenchement x1: 1 = signal de déclenchement de l’axe 1 m1012* m1013* m1014* m1015** Déclenchement x2: 1 = signal de déclenchement de l’axe 2 Déclenchement x3: 1 = signal de déclenchement de l’axe 3 Déclenchement x4: 1 = signal de déclenchement de l’axe 4 0 = variables FRAM invalides 1 = variables FRAM valides m1016 à m1023 Réservé * Uniquement pour la série 300 6-20 ProOED3 No. d’ident.: 00441113021 Programmation Principes de base Exemple de programmation 1: ;Opération ET des indicateurs m201 et m200 ld 1 ;Charge la valeur 1 dans le ROP; ;ROP <- 1. st m200 ;Stocke le contenu du ROP dans ;l’indicateur 200; m200 <- 1. ld 0 ;Charge la valeur 0 dans le ROP; ;ROP <- 0. st m201 ;Stocke le contenu du ROP dans ;l’indicateur 201; m201 <- 0. and m200 ;ROP and m200 (m201 and m200) ;ROP <- 0 Exemple de programmation 2: ;Surveillance de l’axe x1 par l’indicateur m1001 LABEL L1 ;Label de saut L1 ld m1001 ;Charge l’indicateur 1001 (état ;de l’axe x1) dans le ROP; jmpn L2 ;Saute au label L2 si l’axe x1 ;est à l’arrêt (m1001 = 0). jmp L1 ;Saute au label L1 tant que ;l’axe x1 se déplace. LABEL L2 ;Label de saut L2 Entrées/sorties Entrées (i) et sorties (q) Les désignations i pour les signaux d’entrée et q pour les signaux de sortie sont utilisées pour la lecture des entrées et le positionnement des sorties. Le nombre des entrées utilisables dépend de la commande. Entrées i0 à i8, i10, i11 i0 à i20 WDP3-014/018 pour commandes monoaxes (série 300) i0 à i30/40 pour commandes multiaxes (série 300) i30: pour WDPM3-314 i40: pour WPM-311 Sorties q0 à q3 WDP3-014/018 q0 à q9 commandes mono- et multiaxes (série 300) IMPORTANT Sur les commandes avec entrées/sorties externes par la carte E/S MP 926, des indicateurs spécifiques sont affectés aux signaux E/S externes. Les commandes WDP3-014/018 ne peuvent pas utiliser des E/S externes. ProOED3 No. d’ident.: 00441113021 6-21 Programmation Principes de base Axes Axes (x) Les instructions de positionnement et les instructions pour la commande de déplacement nécessitent comme opérande la désignation de l’axe pour lequel l’instruction doit être exécutée. Selon la commande, l’axe sera désigné de la façon suivante: Axe x1 x1 à x4 Labels pour commandes monoaxes pour commandes multiaxes Labels (L) Les instructions de saut et les appels de sous-programme utilisent des labels L comme destination de saut. Les labels de saut L0 à L100 sont utilisables dans le programme API et le programme séquentiel. IMPORTANT Le programme séquentiel saute automatiquement au label de saut L0 si un traitement des erreurs par l’utilisateur a été programmé, voir chapitre 7.2.3 “Traitement des erreurs par programme utilisateur”. Label L0 à L100 (L0 réservé en cas de traitement des erreurs par l’utilisateur) 6.1.3.4 Commentaires Il est possible d’insérer des commentaires à n’importe quel endroit dans le programme. Les commentaires doivent commencer par un point-virgule (;) et vont jusqu’à la fin de la ligne. Exemple: ;Ceci est un commentaire. ld 100 ;Ici aussi un commentaire ;est possible ;Voici encore un commentaire. st v1 ;Commentaire 6-22 ProOED3 No. d’ident.: 00441113021 Programmation Principes de base 6.1.4 Noms symboliques Les noms symboliques peuvent être utilisés pour remplacer des opérateurs, des opérateurs et des labels de saut par des textes. Cela permet de rendre les programmes plus lisibles et plus faciles à modifier. Les labels de saut L0 à L100 peuvent ainsi être remplacés par des noms plus parlants. Les opérateurs peuvent être remplacés par des noms nouveaux, plus familiers. Règles pour les noms symboliques – Le nom ne doit pas comporter d’espaces. – Un nom symbolique ne doit pas dépasser 30 caractères. – Il est possible de définir au maximum 250 noms. Les noms symboliques sont élaborés à l’aide de l’éditeur “Noms symboliques”. IMPORTANT Les noms sont valables à la fois pour le programme API et le programme séquentiel. Exemples de noms symboliques: C_Interface1 c1 X_Axe1 x1 T_Texte 70 L_Début L1 Exemples de programmation: LABEL L_Début snd_str C_Interface1 T_Texte posf X_Axe1 1000 jmp L_Début ProOED3 No. d’ident.: 00441113021 6-23 Programmation 6.1.5 Principes de base Textes d’émission pour dialogues d’exploitation Les textes d’émission sont des lignes de texte que le programme séquentiel peut envoyer à un terminal VT52, p.ex. FT2000, via l’interface série. Les textes d’émission sont élaborés à l’aide de l’éditeur de texte. L’éditeur de texte permet de définir jusqu’à 97 lignes de texte. Chaque ligne de texte possède un numéro et peut comporter jusqu’à 59 caractères. Les textes d’émission peuvent être envoyés par l’interface série <c> au moyen de l’instruction “snd_str <c> <k>”. Le numéro du texte d’émission est défini par la constante <k>. Exemple de textes d’émission: 21: Veuillez entrer une valeur de position 22: Valeur erronée Exemple de programmation 1: snd_str c1 21 ;La ligne de texte 21 est ;envoyée via l’interface ;série c1. Exemple de programmation 2: ld 22 ;La ligne de texte 22 est st v1 ;envoyée via l’interface snd_str c1 v1 ;série c1. IMPORTANT Les instructions et caractères de contrôle pour la programmation de l’interface série sont décrits en détail au chapitre 6.3.5. 6-24 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de base 6.2 Programmation de fonctions de base Le tableau suivant donne une vue d’ensemble des instructions de programmation des fonctions de base. Groupe de fonctions Instructions Opérateur <Opérandes poss.> Chargement et stockage* ld <fknvwiqmxtp> Charger ou lire dans le ROP ldn <iqm> Charger ou lire la valeur inversée dans le ROP st <fnvwqmxtp> Stockage stn <qm> Stocker la valeur inversée r <qm> Mettre à 0 la sortie ou l’indicateur s stimer <qm> <t> Mettre à 1 la sortie ou l’indicateur Lancer le timer (possible uniquement dans le programme API) Mise à 1 et mise à 0* Timer (uniquement dans le programme API) Opérations logiques* Signification and <iqm> Opération ET andn <iqm> Opération NON ET or orn <iqm> <iqm> Opération OU Opération NON OU add div mul <fknvw> <fknvw> <fknvw> Addition Division Multiplication sub eq gt <fknvw> <fknvwiqm> <fknvw> Soustraction Egal Plus grand que lt jmp <fknvw> <lk> Plus petit que Saut inconditionnel jmpc jmpn <lk> <lk> Saut conditionnel, ROP = 1 (VRAI) Saut conditionnel, ROP = 0 (FAUX) label end <L> Labels de saut Fin de programme et saut au début de programme cal Appels de sousprogramme calc (uniquement dans le programme caln séquentiel) <L> <L> Appel de sous-programme inconditionnel Appel de sous-programme conditionnel, ROP = 1 (VRAI) <L> Appel de sous-programme conditionnel, ROP = 0 (FAUX) Retour au programme appelant Instructions arithmétiques* Instructions de comparaison* Sauts de programme et labels* ret * Ces fonctions peuvent être programmées dans le programme API et dans le programme séquentiel. ProOED3 No. d’ident.: 00441113021 6-25 Programmation 6.2.1 Chargement et stockage Programmation de fonctions de base Les instructions de chargement “ld” et “ldn” permettent de lire et de charger une valeur dans le ROP. Les instructions “st” et “stn” permettent de transférer le contenu du ROP à un autre emplacement mémoire. Instructions de chargement et de stockage (API/SEQ) ld <fknvwiqmxtp> Charger ou lire dans le ROP ldn <iqm> Charger ou lire la valeur inversée dans le ROP st <fnvwqmxtp> Stocker stn <qm> Stocker la valeur inversée Exemples de programmation: ld 100 ;Charger la valeur 100 dans ;le ROP et st v10 ;la stocker dans la variable v10. 6-26 ld st i10 q1 ;Lire l’entrée i10 dans le ROP ;et la délivrer à la sortie q1. ld x1 ;Lire la position réelle de ;l’axe x1. ld 0 st x1 ;Fixer un point de référence ;pour l’axe x1, ;la position actuelle de ;l’axe devient le point zéro. ld p2 ;Lire la position du codeur p2. ld st 100 t1 ;Charger le timer t1. ld t1 ;Lire le temps du timer t1. ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de base 6.2.2 Mise à 1 et mise à 0 Les instructions “s” et “r” permettent de mettre une sortie (q) ou un indicateur (m) à 1 ou à 0. IMPORTANT Ces deux instructions ne sont exécutées que si le ROP contient une valeur différente de 0 (VRAI). Instructions de mise à 1 et de mise à 0 (API/SEQ) r s <qm> <qm> Mettre la sortie ou l’indicateur à 0 Mettre la sortie ou l’indicateur à 1 Exemples de programmation: ld i10 ;Charger l’entrée i10 dans le ROP. r q5 ;La sortie 5 n’est mise à 0 ;que si l’entrée i10 = 1. ld s 6.2.3 Opérations logiques i11 m500 ;Charger l’entrée i11 dans le ROP. ;L’indicateur 500 n’est mis à ;1 que si l’entrée i11 = 1. Les opérations logiques sont réalisées à l’aide des instructions “and” et “or”. Le résultat d’une opération est stocké dans le ROP. Instructions d’opérations logiques and <iqm> Opération ET andn or <iqm> <iqm> Opération NON ET Opération OU orn <iqm> Opération NON OU Exemples de programmation: ld m200 ;Sauter au Label L10 si and m201 ;l’indicateur m200 et ;l’indicateur m201 andn m202 ;sont à 1 et l’indicateur m202 jmpc L10 ;est à 0. ProOED3 No. d’ident.: 00441113021 6-27 Programmation 6.2.4 Comparaisons Programmation de fonctions de base Les instructions “eq”, “gt” et “lt” permettent d’effectuer des comparaisons. La comparaison est réalisée entre le ROP et l’opérande de l’instruction de comparaison. Le résultat d’une comparaison est soit 0 (FAUX) soit 1 (VRAI) et est stocké dans le ROP. IMPORTANT Après une comparaison, il est possible d’effectuer des sauts ou des appels de sous-programme conditionnels en fonction du ROP. Instructions de comparaison (API/SEQ) eq gt <fknvwiqm> <fknvw> Egalité Plus grand que lt <fknvw> Plus petit que Exemple de programmation 1: ld i10 ;Sauter au label L10 si eq i11 ;les entrées i10 et i11 ont jmpc L10 ;le même état. Exemple de programmation 2: ld v10 ;Appeler le sous-programme si la lt 100 ;variable v10 est inférieure ;à 100. calc L11 6-28 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de base 6.2.5 Calculs arithmétiques Quatre opérations sont disponibles pour les calculs arithmétiques. Le résultat est obtenu par la combinaison du ROP avec l’opérande et stocké dans le ROP. IMPORTANT Le calcul n’est possible qu’avec des nombres entiers (constantes et variables). Il n’est pas possible de calculer avec des nombres à virgule fixe. Instructions arithmétiques (API/SEQ) add <fknvw> Addition div mul <fknvw> <fknvw> Division Multiplication sub <fknvw> Soustraction Exemple de programmation 1: ;(356 + 744) * 3 ld 356 add 744 mul 3 Exemple de programmation 2: ;356 + 744 * 3 ld 744 mul 3 add 356 ProOED3 No. d’ident.: 00441113021 6-29 Programmation 6.2.6 Instructions de saut Programmation de fonctions de base Les instructions “jmp”, “jmpc” et “jmpn” sont utilisées pour programmer des branchements de programme. L’instruction de saut inconditionnel “jmp” est toujours exécutée. Les instructions de saut conditionnel “jmpc” ou “jmpn” sont exécutées en fonction du ROP. Il existe deux possibilités pour indiquer une destination de saut: – absolue, avec un label de saut p.ex.: jmp L10 – relative, d’un certain nombre de lignes p.ex.: jmp -7 Les labels de saut sont posés avec l’instruction “label”. IMPORTANT Les sauts relatifs en arrière sont indiqués par des valeurs négatives. Sauts et labels (API/SEQ) jmp <lk> Saut inconditionnel jmpc jmpn <lk> <lk> Saut conditionnel, ROP = 1 (VRAI) Saut conditionnel, ROP = 0 (FAUX) label end <L> Label de saut Fin de programme et saut au début de programme Exemple de programmation 1: ;Instruction de saut conditionnel absolu ld i10 ;Sauter au label L30 jmpc L30 ;si l’entrée i10 =1. ... LABEL L30 ;Label de saut L30 Exemple de programmation 2: ;Programmation d’une boucle ld 1 ;Initialiser le compteur st v15 ;de boucle v15. LABEL ... ld 20 ;Label de saut pour la boucle v15 ;Incrémenter le compteur ;de boucle. add st eq jmpn 1 v15 100 L20 ;Tester la fin de boucle. ;100 itérations Exemple de programmation 3: ;Instruction de saut conditionnel relatif ld m1001 ;Attendre l’arrêt de l’axe 1 jmpc -1 ;Sauter d’une ligne en arrière 6-30 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de base 6.2.7 Sous-programmes Le programme séquentiel peut être structuré au moyen de sous-programmes. Les instructions “cal”, “calc”, “caln” permettent de programmer des appels de sous-programmes. L’instruction “ret” met fin au sous-programme et provoque le retour à la ligne de programme appelante. L’appel de sous-programme inconditionnel “cal” est toujours exécuté. Les appels de sous-programme inconditionnels “calc” et “caln” sont exécutés en fonction du ROP. IMPORTANT Les sous-programmes ne sont possibles que dans le programme séquentiel et se trouvent toujours dans le même texte de programme que le programme séquentiel. Il n’existe pas de fichiers de sous-programmes individuels. Appels de sous-programmes (SEQ) cal calc <L> <L> calcn <L> ret Appel de sous-programme inconditionnel Appel de sous-programme conditionnel, ROP = 1 (VRAI) Appel de sous-programme conditionnel, ROP = 0 (FAUX) Retour au programme appelant Exemple de programmation: ;Appel de sous-programme conditionnel ld i10 ;Sauter au label L30 calc L30 ;si l’entrée i10 =1. ... ;Sous-programme LABEL L30 ;Label de saut de sous-programme ... ;Instructions du sous-programme ret ;Retour au programme appelant ProOED3 No. d’ident.: 00441113021 6-31 Programmation 6.3 Programmation de fonctions de commande Programmation de fonctions de commande Ce chapitre décrit la programmation de fonctions spécifiques à la commande. Les fonctions spécifiques à la commande sont programmées à l’aide – de paramètres de commande et – d’instructions IMPORTANT Il n’est possible de programmer des fonctions spécifiques à la commande que dans le programme séquentiel. Instructions pour le programme séquentiel Groupe de fonctions Instructions Opérateur <Opérandes poss.> Appels de sous- cal programme calc caln Mode de fonctionnement d’axe <L> Appel de sous-programme inconditionnel <L> <L> Appel de sous-programme conditionnel, ROP = 1 (VRAI) Appel de sous-programme conditionnel, ROP = 0 (FAUX) <x> <k> Retour au programme appelant Définir le mode de fonctionnement d’un axe <x> <x> <fknvw> <fknvw> Régler la vitesse de consigne Régler la rampe d’accélération <x> <x> <fknvw> <fknvw> Positionnement relatif sans attendre Positionnement relatif et attendre que la position soit atteinte pos posf <x> <x> <fknvw> <fknvw> Positionnement absolu sans attendre Positionnement absolu et attendre que la position soit atteinte ref reff <x> <x> Déplacement de référence sans attendre Déplacement de référence et attendre que la position soit atteinte stop stopa* <x> <x> Arrêter l’axe x Arrêter tous les axes setsiglist* settrigger* <x> <x> <knvw> <k> Activer la liste de positions Déclenchement de position (q1) <x> <x> <fknvw> <fknvw> Régler le dénominateur du facteur de réduction Régler le numérateur du facteur de réduction <x> <fknvw> Régler l’offset de position ret mode Positionnement vel en mode point acc à point move movef gearn Réducteur électronique en gearz mode poursuite goff de position Interpolation linéaire avec commandes multiaxes linpos* linposf* Lancer une interpolation linéaire (absolue) Lancer une interpolation linéaire (absolue) et attendre que la position soit atteinte linmove* linmovef* Lancer une interpolation linéaire (relative) Lancer une interpolation linéaire (relative) et attendre que la position soit atteinte setipos* 6-32 Signification <x> <knvw> ProOED3 Préparer une interpolation linéaire No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Instructions pour le programme séquentiel Groupe de fonctions Instructions Opérateur <Opérandes poss.> Communication cursor <c> par interface rec_char <c> série rec_char_n <c> Signification <fknvw> Positionner le curseur <fnvw> <fnvw> Recevoir un caractère Recevoir un caractère avec contrôle rec_dez rec_var <c> <c> <fnvw> <fnvw> Recevoir un nombre décimal Afficher et éditer un nombre rec_var_n screen <c> <c> <fnvw> <fknvw> Recevoir et stocker un nombre Gestion d’écran snd_char <c> <fknvw> Envoyer un caractère snd_dez snd_str <c> <c> <fnvw> <fknvw> Envoyer un nombre décimal Envoyer une chaîne de caractères snd_var <c> <fnvw> Envoyer un nombre Sortie analogique getanalog* setanalog* <a> <a> <knvw> <knvw> Lire une tension analogique Délivrer une tension analogique Console d’exploitation Lauer** ld_LKey* ld_LBit* <knvw> <knvw> <knvw> ld_LInt* <knvw> ld_LDint* <knvw> st_LBit* <knvw> <knvw> st_LInt* <knvw> st_LDint* <knvw> amp <x> brake* clrerror getport <x> <x> <im> <fknvw> handshake restart setcurrent <i> <q> <x> <fknvw> wait <fknvw> Autres instructions * ** <k> Lire l’état d’une touche de la console d’exploitation Lauer Lire un bit de l’interface de données de la console d’exploitation Lauer Lire un mot de l’interface de données de la console d’exploitation Lauer Lire un double mot de l’interface de données de la console d’exploitation Lauer Ecrire un bit dans l’interface de données de la console d’exploitation Lauer Ecrire un mot dans l’interface de données de la console d’exploitation Lauer Ecrire un double mot dans l’interface de données de la console d’exploitation Lauer Mettre sous tension/hors tension la commande de puissance Activer la sortie du frein Remettre à zéro une erreur de signal Lire des entrées/indicateurs et convertir en nombre entier Synchronisation avec commande de niveau supérieur Relancer le programme séquentiel Régler le courant moteur wsave Interrompre l’exécution du programme pendant un certain temps (ms) Sauvegarder les variables de position nop Instruction vide (durée d’exécution 500 µs à 1000 µs) Uniquement pour la série 300 Cette fonction peut être programmée dans le programme API et dans le programme séquentiel. ProOED3 No. d’ident.: 00441113021 6-33 Programmation 6.3.1 Initialisation d’une commande Programmation de fonctions de commande A chaque lancement de programme, la commande est initialisée aux valeurs définies dans les paramètres de commande. L’initialisation permet d’adapter à l’application considérée les composants de commande suivants: – – – – – Indexeur (commande d’axe) Commande de puissance Codeur Interfaces série Caractéristiques du système IMPORTANT Les paramètres de commande et leur signification sont décrits au chapitre “Paramètres de commande” et dans les sections suivantes. 6.3.2 Programmation de déplacements 6.3.2.1 Modes de fonctionnement d’axe Les commandes de la série 300 et WDP3-014/018 autorisent deux modes de fonctionnement d’axe: – Mode point à point – Mode poursuite de position Les modes de fonctionnement d’axe sont sélectionnés à l’aide de l’instruction “mode”. Instruction mode <x> <fknvw> Définir le mode de fonctionnement de l’axe IMPORTANT Les caractéristiques nécessaires pour un positionnement (vitesses, accélération, etc.) sont définis, entre autres, par les paramètres de commande. Exemple de programmation: ;Sélectionner le mode point à point pour l’axe x1 mode x1 0 ... ;Sélectionner le mode poursuite de position pour ;l’axe x1 mode x1 1 6-34 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande 6.3.2.2 Mode point à point En mode point à point, un axe est déplacé d’un point A à un point B par une instruction de positionnement. V pos move A Fig. 6-5 Mode point à point B t Positionnement absolu Les instructions “pos” et “posf” sont utilisées pour spécifier le positionnement absolu d’un axe par rapport à un point de référence (point zéro) de l’axe. Instructions pos <x> <fknvw> Positionnement absolu sans attendre posf <x> <fknvw> Positionnement absolu et attendre que la position soit atteinte Positionnement relatif Les instructions “move” et “movef” sont utilisées pour spécifier un positionnement relatif par rapport à la position actuelle de l’axe. Instructions move movef ProOED3 <x> <x> <fknvw> Positionnement relatif sans attendre <fknvw> Positionnement relatif et attendre que la position soit atteinte No. d’ident.: 00441113021 6-35 Programmation Programmation de fonctions de commande Positionnement avec et sans attente Après les instructions “move” et “pos”, un positionnement est lancé et le programme séquentiel se poursuit sans attendre la fin du positionnement. IMPORTANT La fin d’un “Positionnement sans attendre” peut être surveillée au moyen des indicateurs m1001 à m1004. Les instructions “movef” et “posf” lancent également un positionnement, mais le programme séquentiel attend que la position spécifiée soit atteinte avant de poursuivre son exécution. Exemple de programmation: ;Positionnement absolu sans attendre pos x1 1000 ;Positionnement absolu et attendre posf x1 1000 ;Positionnement relatif sans attendre move x1 1000 ;Positionnement relatif et attendre movef x1 1000 6-36 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Arrêt d’axes Les instructions “stop” et “stopa” permettent d’arrêter un ou tous les axes par programme. Les axes sont freinés selon la courbe de décélération en vigueur, voir pages suivantes. Instruction stop <x> Arrêter l’axe x stopa* Arrêter tous les axes * Uniquement pour la série 300 (système multiaxes) Contrôle de l’état de déplacement d’un axe Les indicateurs m1001 à m1004 permettent de contrôler l’état de déplacement d’un axe pendant un positionnement ou un déplacement de référence. Indicateur Signification m1001 Etat de l’axe x1: 0 = axe à l’arrêt 1 = axe se déplace m1002 Etat de l’axe x2: 0 = axe à l’arrêt 1 = axe se déplace m1003 Etat de l’axe x3: 0 = axe à l’arrêt 1 = axe se déplace m1004 Etat de l’axe x4: 0 = axe à l’arrêt 1 = axe se déplace Exemple de programmation 1: ;Positionnement absolu ;fin de déplacement pos x1 1000 ... ld m1001 jmpc -1 avec contrôle de la ;Lancer le positionnement ;Attendre l’arrêt de ;l’axe x1 pour un éventuel ;autre positionnement. Exemple de programmation 2: ;Arrêter pos ... stop ld jmpc ProOED3 l’axe x1 et attendre l’arrêt de l’axe x1 10000 ;Lancer le positionnement. x1 m1001 -1 ;Arrêter l’axe x1. ;Attendre que l’axe x1 soit ;vraiment à l’arrêt. ;m1001 = 1: l’axe se déplace ;m1001 = 0: l’axe est à ;l’arrêt No. d’ident.: 00441113021 6-37 Programmation Programmation de fonctions de commande Contrôle des contacts de fin de course Le paramètre de commande “Contacts de fin de course actifs xn” permet de définir quels contacts de fin de course seront contrôlés pendant un positionnement. Si l’un des contacts de fin de course contrôlés est atteint, la commande signale une erreur. Paramètre Signification Contacts de fin de A l’atteinte d’un contact de fin de course, course actifs x1 à x4 le moteur est arrêté selon la rampe définie. La commande se trouve ensuite en état d’erreur. 0 = pas de contact de fin de course actif 1 = contact de fin de course négatif actif 2 = contact de fin de course positif actif 3 = deux contacts de fin de course actifs Exemple de programmation: Les contacts de fin de course positif et négatif des axes x1 et x2 doivent être contrôlés. Paramètres de commande: "Contacts de fin de course actifs x1" = 3 "Contacts de fin de course actifs x2" = 3 6-38 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Indications de position en unités utilisateur Toutes les positions sont indiquées en unités utilisateur. Les unités utilisateur permettent d’indiquer des positions en unités de mesure usuelles (mm, cm, inch, etc.). Les unités utilisateur sont converties en unités d’entraînement (pas moteur) par un facteur de normalisation. Le facteur de normalisation résulte des paramètres de commande “facteur de normalisation dénominateur” et “facteur de normalisation numérateur”. Il est possible de définir un facteur de normalisation pour chaque axe. Facteur de normalisation = facteur de normalisation numérateur facteur de normalisation dénominateur Unités d’entraînement = unités utilisateur x facteur de normalisation IMPORTANT Le facteur de normalisation est réglé en usine à 1, c.-à-d. “facteur de normalisation dénominateur” = “facteur de normalisation numérateur”. En réglage de base, on a donc pour les indications de position: unités utilisateur = unités d’entraînement Exemple de programmation: Un moteur déplace un chariot de transport par l’intermédiaire d’un entraînement à vis sans fin. Les indications de positionnement du chariot doivent être données en centimètres (cm). Une rotation du moteur déplace le chariot de 10 cm; 10 cm correspondent donc à 1000 pas et un centimètre à 100 pas. Il faut régler le facteur de normalisation = 100. Paramètres de commande: "Facteur de normalisation numérateur x1" = 100 "Facteur de normalisation dénominateur x1" = 1 Programme: ;Déplacer l’axe x1 de 12 cm (1200 pas) movef x1 12 ProOED3 No. d’ident.: 00441113021 6-39 Programmation Programmation de fonctions de commande Vitesse Un axe se déplace à la vitesse de consigne définie par le paramètre de commande “Vitesse standard”. L’instruction “vel” peut être utilisée pour programmer la vitesse de consigne d’un axe. La vitesse de consigne peut être modifiée avant ou pendant le positionnement. Les vitesses sont indiquées en hertz (Hz). 1 Hz = 1 pas/s. La vitesse de démarrage/d’arrêt et la vitesse système maximale d’un axe se règlent au moyen de paramètres de commande. Instruction vel <x> <fknvw> Régler la vitesse de consigne Exemple de programmation: L’axe x1 doit se mettre en mouvement et freiner à la vitesse de démarrage/ d’arrêt de 500 Hz. Le déplacement de positionnement normal doit être effectué à 6000 Hz. La vitesse système maximale de 17000 Hz ne doit pas être dépassée. Paramètres de commande: "Vitesse de démarrage/d’arrêt x1" = 500 "Vitesse système x1" = 17000 Programme: ;Régler la vitesse de consigne de 6000 Hz ;pour l’axe x1 vel x1 6000 movef x1 2000 ;ou ld st vel movef 6-40 ProOED3 6000 v10 x1 x1 v10 2000 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Accélération (Hz/ms) Pour optimiser les déplacements par rapport au temps à l’application, il est possible de définir des rampes d’accélération différentes pour chaque axe. Les mêmes rampes sont utilisées pour le freinage et l’accélération. L’axe accélère et décélère selon la forme de rampe définie par le paramètre “Rampe”. Il existe 4 formes de rampe: – Rampe linéaire (Standard) – Rampe exponentielle – Rampe sinus carré (pour démarrage et freinage en douceur) – Rampe optimisée moteur pas à pas (démarrage et freinage optimisés par rapport au temps) Les paramètres de commande suivants sont utilisés pour le calcul de la courbe d’accélération actuelle: – “Rampe”, forme de rampe – “Vitesse système”, vitesse maximale du système – “Accélération standard”, accélération maximale Ces paramètres sont réglables séparément pour chaque axe. Voir aussi chapitre 6.1.2, Réglage des paramètres de commande. Vitesse V système maximale Vitesse de consigne Accélération max. Courbe d'accélération actuelle (rampe sinus carré) Vitesse de démarrage/ d'arrêt t Fig. 6-6 Courbe d’accélération La courbe d’accélération actuelle n’est calculée que jusqu’à la vitesse système maximale. La courbe effectivement parcourue est la portion comprise entre la vitesse de démarrage/d’arrêt et la vitesse de consigne. IMPORTANT Avec les rampes non-linéaires, il faut noter que la courbe calculée n’est exploité de façon optimale que si: – la vitesse de consigne correspond à la vitesse système maximale, – la courbe d’accélération est conçue de telle sorte que la vitesse de consigne est aussi atteinte lors d’un positionnement. ProOED3 No. d’ident.: 00441113021 6-41 Programmation Programmation de fonctions de commande Modification de la courbe d’accélération L’instruction “acc” permet de spécifier l’accélération maximale de la rampe. IMPORTANT L’instruction n’est permise que si l’axe est à l’arrêt. L’accélération maximale est toujours indiquée en Hz/ms. 1 Hz/ms = 1000 pas/s2 = 1 tour/s2 Exemple de programmation: Une rampe sinus carré d’accélération maximale 200 Hz/ms doit être programmée comme rampe d’accélération pour l’axe x1. Les positionnements sont effectués à une vitesse maximale de 11000 Hz. Paramètres de commande: "Rampe x1" = 2 "Vitesse système x1" = 11000 "Vitesse standard" = 11000 Programme: ;Calculer la rampe d’accélération et de freinage ;actuelle pour l’axe x1. acc x1 200 ;Accélération maximale ;200 Hz/ms. ;ou ld st acc 6-42 ProOED3 200 v10 x1 v10 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Déplacement de référence Les instructions “ref” et “reff” permettent d’effectuer des déplacements de référence. IMPORTANT Un déplacement de référence n’est possible qu’en mode point à point. Un déplacement de référence consiste à rejoindre un point de référence qui sera pris comme point zéro pour tous les positionnements suivants. Le paramètre “Type du déplacement de référence” permet de définir si un déplacement de référence doit être effectué vers le – contact de fin de course négatif, – contact de fin de course positif ou – le contact de référence (en tournant à gauche ou à droite). Le principe des différents déplacements de référence est illustré aux figures 6-7 et 6-8. Le paramètre “Distance de sécurité” permet de programmer une distance de sécurité par rapport au contact de fin de course ou de référence. Le paramètre de commande “Vitesse de dégagement de contact de fin de course” définit la vitesse avec laquelle le contact de fin de course est quitté. Le paramètre “Distance maximale après contact de fin de course” définit la distance maximale après laquelle l’axe doit avoir quitté le contact de fin de course (contact de référence). Sans cela, le déplacement de référence est interrompu. Contact de fin de course négatif Contact de fin de course positif M Distance de dégagement max. contact de fin de course Distance de sécurité Fig. 6-7 Principe du déplacement de référence vers un contact de fin de course Point de référence contact de fin de course négatif Point de référence contact de fin de course positif Vitesse de consigne Vitesse depuis le contact de fin de course Contact de référence M Fig. 6-8 Principe du déplacement de référence vers un contact de référence 1er cas Déplacement de référence vers contact de référence en tournant à droite 2ème cas Déplacement de référence vers contact de référence en tournant à gauche 3ème cas Déplacement de référence vers contact de référence en tournant à gauche avec distance de sécurité ProOED3 Point de référence contact de référence Vitesse de consigne Vitesse depuis le contact de référence Distance de sécurité Distance de dégagement max. contact de fin de couse No. d’ident.: 00441113021 6-43 Programmation Programmation de fonctions de commande Instructions ref reff <x> <x> <fknvw> <fknvw> Déplacement de référence sans attendre Déplacement de référence et attendre que la position soit atteinte IMPORTANT Le déplacement vers le contact de référence s’effectue selon la courbe d’accélération et à la vitesse de consigne définies par les paramètres de commande ou dans le programme. Paramètres de commande – “Type du déplacement de référence” – “Distance de sécurité” – “Vitesse de dégagement de contact de fin de course” – “Vitesse standard” – “Distance max. après contact de fin de course” Voir aussi chapitre 6.1.2, Réglage des paramètres de commande. Exemple de programmation: Un déplacement de référence doit être effectué vers le contact de fin de course positif. L’axe doit rechercher le contact de fin de course à la vitesse de 2000 Hz. L’axe doit quitter le contact de fin de course à la vitesse de 100 Hz. La distance de sécurité est de 2 unités utilisateur. Paramètres de commande: "Type du déplacement de référence x1" = 1 "Distance de sécurité" = 2 "Vitesse de dégagement de contact de fin de course" = 100 "Vitesse standard" = 2000 "Distance max. après contact de fin de course" = 10000 Programme: reff 6-44 ProOED3 x1 ;Déplacement de référence ;avec l’axe x1 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Fixation d’un point de référence Le point de référence (point zéro) pour les positionnements absolus est normalement le point déterminé après un déplacement de référence. Mais il est également possible de définir comme point de référence une position quelconque du système. Tous les positionnements absolus suivants se feront alors par rapport à ce point. C’est ce qu’on appelle “Fixation d’un point de référence”. ld st 0 x1 0 Point de référence Point zéro après le déplacement de référence Exemple de programmation: reff x1 ;Déplacement de référence movef x1 2000 ;Positionnement ld 0 ;Fixation d’un point de référence st x1 ;position actuelle de l’axe x1 = 0 Lecture de la position actuelle Dans le programme séquentiel, il est possible de déterminer à tout moment la position actuelle d’un axe. Exemple de programmation: La position actuelle de l’axe x1 doit être lue et stockée dans la variable v10. Programme: ld st ProOED3 x1 v10 ;Lire la position actuelle de ;l’axe x1 et la stocker dans la ;variable v10. No. d’ident.: 00441113021 6-45 Programmation Programmation de fonctions de commande Commutation d’une entrée de signal en fonction de la position (série 300 uniquement) Sur les commandes de la série 300, l’instruction “setsiglist” permet d’activer une liste de positions pour mettre à 1 ou à 0 (commuter) la sortie de signal q0. A chaque fois que l’axe atteint une position de la liste, le niveau de signal à la sortie q0 change. Si l’entrée est active, elle est mise à l’état inactif et inversement. A la première valeur de position dans la liste, l’entrée est mise à 1, que l’entrée soit déjà à 1 ou non. Une seule liste de positions peut être active à la fois, autrement dit il n’est pas possible de surveiller en même temps des listes de positions pour plusieurs axes. Une fois qu’une position de la liste a été atteinte, cette position n’est plus contrôlée. Liste de positions pour l'axe x1 Pos1 = w100 Pos2 = w101 k -k Pos3 = w102 Pos4 = w103 Point de référence Axe x1 q0 Instruction setsiglist* <x> <knvw> Activer la liste de positions pour la commutation de la sortie de signal q0 * Uniquement pour la série 300 La liste de positions doit être stockée dans les variables de position de l’axe correspondant. La première position dans la liste de l’axe x1 doit être stockée dans la variable w100. Pour les autres axes s’applique de même w200 pour x2, w300 pour x3 et w400 pour x4. L’opérande <k> de l’instruction “setsiglist” indique le nombre de positions dans la liste. Si <k> est négatif, la liste de positions est contrôlée dans l’ordre inverse. IMPORTANT Les listes de positions peuvent être élaborées avec l’éditeur “Variables de position” de ProOED3. 6-46 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Exemple de programmation: Il s’agit de contrôler 4 positions de l’axe x1. La sortie q1 doit être commutée aux positions 2000, 3000, 5000 et 6000. Liste de positions: w100 w101 w102 w103 2000 3000 5000 6000 Programme: ;Le contrôle de la liste de positions de l’axe x1 ;est activé. La liste de positions contient ;4 entrées. ... reff x1 ;Poser un point zéro. setsiglist posf ... x1 x1 4 10000 ;Liste de positions active. ;Lancer le positionnement. ;Pour contrôler la liste de positions dans ;l’ordre inverse, il faut indiquer le nombre ;de positions avec un nombre négatif. ... setsiglist x1 -4 posf x1 0 ... ProOED3 No. d’ident.: 00441113021 6-47 Programmation Programmation de fonctions de commande Activation du signal de déclenchement (série 300 uniquement) Sur les commandes de la série 300, il existe pour chaque axe une entrée de signal de déclenchement (trig1 à trig4). Les entrées de déclenchement sont utilisées pour des applications qui nécessitent des temps de réaction particulièrement courts. L’instruction “settrigger” active le contrôle d’une entrée de déclenchement. Cela permet de déterminer la position d’un axe au moment d’un événement déclencheur. La survenue d’un événement déclencheur est enregistrée dans les indicateurs m1011, m1012, m1013 et m1014. Tant que le signal de déclenchement est actif, les positions de l’axe concerné sont stockées dans les variables v111 à v114. Lorsque le signal de déclenchement devient inactif, la position de l’axe est figée dans la variable correspondante. IMPORTANT Les indicateurs m1011 à 1014 doivent être réinitialisés après la réaction au signal de déclenchement. Instruction settrigger* <x> <k> Activer le contrôle de l’entrée de déclenchement d’un axe * Uniquement pour la série 300 Principe: Contrôle de l’entrée de déclenchement de l’axe 1 (trig 1, flanc montant) settrigger x1 1 trig 1 v111 Position de l'axe x1 m1011 ld st 6-48 ProOED3 0 m1011 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande La constante <k> est utilisée pour choisir si l’entrée de déclenchement de l’axe <x> doit réagir à un flanc montant (k = 1) ou à un flanc descendant (k = 0). Axe Indicateur de déclenchement Position de déclenchement x1 m1011 v111 x2 m1012 v112 x3 m1013 v113 x4 m1014 v114 Exemple de programmation: La position de l’axe x1 doit être déterminée sur un flanc montant à l’entrée de déclenchement (utile pour des signaux de déclenchement à l’échelle de la milliseconde). Programme: settrigger x1 move ld jmpn ld x1 m1011 -1 0 st m1011 ld v111 st v10 ProOED3 1 ;Activer le contrôle de ;déclenchement pour l’axe ;x1 (flanc montant) 1000 ;Positionner l’axe ;Contrôler si l’événement ;déclencheur est survenu ;Remettre l’indicateur ;à zéro ;après l’événement ;déclencheur ;Déterminer la position ;de déclenchement ;et la stocker dans ;la variable v10 No. d’ident.: 00441113021 6-49 Programmation 6.3.2.3 Programmation de fonctions de commande Mode poursuite de position (réducteur électronique) En mode poursuite de position, les positions de consigne sont fixées par des impulsions externes (fournies par un codeur) ou par des valeurs de position d’une variable. L’axe se déplace lorsque des impulsions sont appliquées à l’entrée codeur ou si la valeur de position dans la variable change. Les impulsions externes ou la valeur de position stockée dans la variable sont appelées grandeur de référence. V Réducteur électronique Fig. 6-9 Mode poursuite de position t En mode poursuite de position, la course de l’axe n’est pas limitée, le moteur peut tourner aussi longtemps que souhaité dans un sens. Le mouvement de l’axe peut être arrêté par l’instruction “stop” ou “stopa”. Choix de la grandeur de référence L’instruction “mode” permet de sélectionner le type de grandeur de référence (spécification de position). Instruction mode <x> <k> Définir le mode de fonctionnement de l’axe <k> = 1: impulsions externes <k> = 2: variable Impulsions externes Impulsions externes via connexion de codeur Dans le cas normal, le moteur suit exactement les impulsions fournies à l’entrée codeur. La fréquence du signal impulsionnel externe détermine l’accélération et la vitesse de l’axe. IMPORTANT Si la fréquence est supérieure à la vitesse système maximale, le moteur tourne à la vitesse système. Si l’accélération de la grandeur de référence est supérieure à l’accélération définie, le moteur accélère avec l’accélération maximale actuellement définie. L’absence d’impulsions à l’entrée codeur signifie l’arrêt de l’axe. Les caractéristiques du codeur, la résolution en traits de codeur et le facteur d’évaluation (évaluation simple, double, quadruple) doivent être définis au moyen de paramètres de commande. 6-50 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Pour les mouvements du moteur s’applique alors: Unités d’entraînement = Impulsions codeur x (pas moteur) facteur d’évaluation résolution codeur Si la grandeur de référence est trop fluctuante, le moteur est piloté selon la courbe d’accélération définie dans le mode point à point (voir chapitre 6.3.2.2). Une mémoire tampon assure qu’aucune impulsion n’est perdue. IMPORTANT En cas d’arrêt du moteur et de changement de mode de fonctionnement d’axe, les impulsions fournies (positions) ne sont pas enregistrées. Variable Spécification de position par une variable La valeur d’une variable est interprétée comme position de consigne pour l’axe. Si la valeur de la variable change, l’axe se positionne selon la courbe d’accélération et à la vitesse de consigne définies (voir chapitre 6.3.2.2). Une variable particulière est réservée pour chaque axe: v101 v102 Variable de poursuite de position pour l’axe x1 Variable de poursuite de position pour l’axe x2 v103 Variable de poursuite de position pour l’axe x3 v104 Variable de poursuite de position pour l’axe x4 Exemple de programmation: L’axe x1 doit fonctionner en mode poursuite de position et traiter des impulsions externes fournies pas un codeur DG2 comme grandeur de référence. Paramètres de commande (voir page 6-53): "Réglage codeur" -1 (série 300 uniquement) "Evaluation de codeur DG2" 5 "Signaux d’interface réducteur" 0 Programme: ;Mode poursuite de position par codeur mode x1 1 ... label L1 ;Injecter une impulsion jmp -1 ;externe via la connexion ;codeur 2 IMPORTANT La fonction réducteur électronique avec codeur ainsi que les réglages des paramètres pour le mode poursuite de position sont décrits dans les pages suivantes. ProOED3 No. d’ident.: 00441113021 6-51 Programmation Programmation de fonctions de commande Réducteur électronique Le mode poursuite de position permet de réaliser un réducteur électronique. Pour cela, il faut définir à l’aide des instructions “gearz” et “gearn” un facteur de réduction par lequel la grandeur de référence fournie (signaux A/B, signaux impulsion/sens ou valeur d’une variable) sera multipliée. Il s’applique: Pas moteur = grandeur de référence x facteur de réduction x facteur d’évaluation L’instruction “goff” permet d’ajouter à la grandeur de référence un offset de position. L’offset est une position qui est additionnée à la grandeur de référence. Lors du passage en mode poursuite de position, l’offset est mis à zéro. En modifiant l’offset par “goff”, il est possible d’accélérer ou de freiner l’axe. Quand l’offset a été traité, l’axe reprend son déplacement normal. La formule suivante s’applique alors (uniquement en cas de changement de l’offset): Pas moteur = offset + (grandeur de référence x facteur de réduction) IMPORTANT Le facteur de réduction du réducteur électronique doit être programmé avant le basculement en mode poursuite de position. Exemple de programmation: Il doit être réalisé avec l’axe x1 un réducteur électronique par la connexion codeur 2. Le facteur de réduction doit être égal à 7.5. Paramètres de commande (voir page 6-53): "Réglage codeur" -1 (série 300 uniquement) "Evaluation de codeur DG2" 5 "Signaux d’interface réducteur" 0 Programme: 6-52 gearn x1 10 gearz x1 75 mode x1 1 ... label L1 jmp -1 ProOED3 ;Dénominateur du facteur de ;réduction = 10 ;Numérateur du facteur de ;réduction = 75 ;Mode poursuite de position ;par codeur ;Injecter des impulsions ;externes ;via la connexion codeur 2 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Réglage du codeur Le codeur est programmé au moyen des paramètres de commande suivants: – Signaux d’interface réducteur – Réglage codeur (nécessaire uniquement pour la série 300) – Evaluation de codeur Paramètre Signaux d’interface réducteur Réglage codeur* Valeur Plage de Description par défaut valeurs 1 0, 1 Définir le type de signal à l’entrée codeur 0 = signal impulsion/sens 1 = signal A/B 0 -1 à 2 Utilisation des connexions codeurs -1 = connexion 1 (p1) non utilisée connexion 2 (p2) pour mode poursuite de position 0 = connexion 1 (p1) pour mode poursuite de position connexion 2 (p2) non utilisée 1 = connexion 1 (p1) pour contrôle de rotation connexion 2 (p2) pour mode poursuite de position 2 = connexion 1 (p1) pour mode poursuite de position connexion 2 (p2) pour contrôle de rotation Sur les commandes WDP3-314/WDP3-318, il n’existe pas de connexion codeur 1 (p1). Les réglages suivants sont possibles: -1 = connexion 2 (p2) pour mode poursuite de position 0 = connexion 2 (p2) non utilisée 2 = connexion 2 (p2) pour contrôle de rotation Evaluation de codeur DG1 ou DG2 3 0à5 (codeur 1 n’existe que sur WP-311 et WDP5-318) Résolution (incréments/tour) et évaluation de codeur (simple, double, quadruple) 0 = codeur 500, évaluation simple 1 = codeur 500, évaluation double 2 = codeur 500, évaluation quadruple 3 = codeur 1000, évaluation simple 4 = codeur 1000, évaluation double 5 = codeur 1000, évaluation quadruple * Uniquement pour la série 300 ProOED3 No. d’ident.: 00441113021 6-53 Programmation Programmation de fonctions de commande Paramètres “Réglage codeur” “Signaux interface réducteur” “Evaluation de codeur” E Instructions “gearz”, “gearn” (facteur de réduction) Signaux A/B “goff” (offset de position) Connexion codeur Signaux impulsion/sens Valeur Mémoire tampon Variables V101 à V104 Régulateur de puissance Indexeur M Instruction “mode” Contrôle de rotation Connexion codeur E Paramètres “Réglage codeur” “Evaluation de codeur” Injection de grandeur de référence Contrôle de rotation Fig. 6-10 Programmation de codeur Exemple de programmation: Un réducteur électronique par le codeur p2 (DG2) doit être réalisé avec l’axe x1. Le facteur de réduction doit être égal à 10. Le codeur possède 1000 traits par tour, l’évaluation est quadruple. Des signaux impulsion/sens sont appliqués au codeur. Paramètres de commande: "Réglage codeur" -1 (uniquement pour la série 300) "Evaluation de codeur DG2" 5 "Signaux d’interface réducteur" 0 Programme: gearn x1 1 gearz x1 10 mode x1 1 ;Dénominateur du facteur de ;réduction = 1 ;Numérateur du facteur de ;réduction = 10 ;Mode poursuite de position ;par codeur Lecture de la position du codeur La position actuelle du codeur peut être lue et traitée par le programme comme suit: ld st 6-54 ProOED3 p2 v10 ;Lire la pos. actuelle du codeur ;et la stocker dans la ;variable V10 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande 6.3.2.4 Contrôle de rotation Contrôle de rotation sur commandes avec commande de puissance interne Le contrôle de rotation est utilisé pour détecter et éviter les pertes de position qui surviennent lors d’un mouvement de moteur. Des pertes de position peuvent se produire lorsque le moteur ne peut pas atteindre la position spécifiée en raison d’un obstacle ou d’une modification de charge et “déraille”. Le contrôle de rotation consiste à détecter la position réelle avec un codeur et à la comparer à la position de consigne. Si la différence entre la position de consigne et la position réelle (écart de poursuite) dépasse la limite d’erreur de poursuite (19 pas), une erreur de poursuite est signalée. Commande Codeur p1 Position de codeur Différence Erreur de poursuite x1 Position de consigne Contrôle de rotation RM_FAULT Moteur Fig. 6-11 Principe du contrôle de rotation Comportement en cas d’erreur de poursuite: 1. Le moteur freine selon la rampe définie. 2. Les sorties sont mises hors tension. 3. Sur l’afficheur d’état de la face avant apparaît le message d’erreur “12”. Le menu d’erreurs s’affiche en fonction du paramètre de commande “Traitement des erreurs par l’utilisateur”. ProOED3 No. d’ident.: 00441113021 6-55 Programmation Programmation de fonctions de commande Les paramètres suivants peuvent être utilisés pour le contrôle de rotation: Paramètre Réglage codeur* Valeur Plage de Description par défaut valeurs 0 -1 – 2 Utilisation des connexions codeurs -1 = connexion 1 (p1) non utilisée connexion 2 (p2) pour mode poursuite de position 0 = connexion 1 (p1) pour mode poursuite de position connexion 2 (p2) non utilisée 1 = connexion 1 (p1) pour contrôle de rotation connexion 2 (p2) pour mode poursuite de position 2 = connexion 1 (p1) pour mode poursuite de position connexion 2 (p2) pour contrôle de rotation Sur les commandes WDP3-314/WDP3-318, il n’existe pas de connexion codeur 1 (p1). Les réglages suivants sont possibles: -1 = connexion 2 (p2) pour mode poursuite de position 0 = connexion 2 (p2) non utilisée 2 = connexion 2 (p2) pour contrôle de rotation Evaluation de codeur DG1 ou DG2 3 0–5 0, 1 ou 2 pour codeur de résolution 500 3, 4 ou 5 pour codeur de résolution 1000 0 0, 1 0 = désactiver le contrôle de rotation 1 = activer le contrôle de rotation (codeur 1 n’existe que sur WP-311 et WDP5-318) Contrôle de rotation x1 à x4 * Uniquement pour la série 300 IMPORTANT La fonction contrôle de rotation est réalisée par évaluation des signaux A/B d’un codeur. Avec un codeur d’une résolution de 500 traits, l’évaluation double est toujours utilisée, indépendamment de la valeur du paramètre “Evaluation de codeur”. Avec un codeur d’une résolution de 1000 traits, l’évaluation simple est toujours utilisée, indépendamment de la valeur du paramètre “Evaluation de codeur”. Le paramètre de commande “Signaux d’interface réducteur” ne joue aucun rôle dans la fonction contrôle de rotation. 6-56 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande Marche à suivre après une erreur de poursuite 1. Eliminer le dérangement, p.ex. blocage mécanique, encrassement. 2. Redémarrer le programme avec un déplacement de référence. Exemple de programmation: Le codeur p2 (DG2) doit être utilisé pour le contrôle de rotation sur l’axe x1. Il s’agit d’un codeur à 1000 traits. Les signaux injectés à l’entrée codeur sont des signaux A/B. Paramètres de commande: "Réglage codeur" 2 (série 300 uniquement) "Evaluation de codeur DG2" 3 "Contrôle de rotation x1" 1 Contrôle de rotation sur commandes avec commande de puissance externe Si le contrôle de rotation est effectué sur une commande de puissance externe de BERGER LAHR (p.ex. WD3-008), une erreur de contrôle de rotation est signalée par le signal RM_FAULT de la commande (p.ex. WPM-311). Le paramètre de commande “Contrôle de rotation” permet d’activer et de désactiver l’évaluation du signal RM_FAULT sur la commande. Paramètre Contrôle de rotation x1 à x4 Valeur par défaut 0 Plage de Description valeurs 0–1 Activation ou désactivation de l’évaluation de “RM_FAULT” 0 = désactiver l’évaluation du signal d’erreur “RM_FAULT” 1 = activer l’évaluation du signal d’erreur “RM_FAULT” IMPORTANT Lors d’un contrôle de rotation avec commande de puissance externe, aucun autre réglage du codeur n’est possible. ProOED3 No. d’ident.: 00441113021 6-57 Programmation 6.3.2.5 Programmation de fonctions de commande Actionnement d’un frein (série 300 uniquement) Sur les commandes de la série 300, l’instruction “brake” permet d’utiliser une sortie pour actionner un frein. La figure 6-13 montre la combinaison des signaux ENABLE (activation commande de puissance) et READY (disponibilité commande de puissance) avec le signal de sortie affecté au frein. Commande Commande de puissance (interne ou externe) Axe x1 READY Sortie q4 M p.ex. WD5-008 p.ex. WP-311 ENABLE Moteur avec frein q5 q6 24 V q7 Fig. 6-12 Signaux pour la fonction de freinage Le frein est ouvert (q = haut) quand la commande de puissance a été activée et signale sa disponibilité. Le frein est fermé (q = bas) quand le signal de disponibilité de la commande de puissance disparaît (READY = bas). ENABLE tV READY tVFrein Sortie q Frein ouvert Frein fermé tV = Temps de décélération < 4 ms Fig. 6-13 Diagramme des temps pour la fonction de freinage tV Frein = Temps de décélération spécifique au frein Instruction brake* <x> Activer la sortie du frein * Uniquement pour la série 300 IMPORTANT L’instruction “brake” ne peut être annulée que par la mise hors tension de la commande. La sortie du frein reste active tant que la commande est alimentée. Exemple de programmation: ;La sortie q4 doit être utilisée pour actionner le ;frein du moteur de l’axe x1. ... brake x1 6-58 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande 6.3.2.6 Interpolation avec unités de positionnement multiaxes (WPM) Les unités de positionnement multiaxes de la série 300 (p.ex. WPM-311) permettent de commander simultanément plusieurs axes. Les axes peuvent être commandés de manière indépendante ou dépendante (interpolante). Il est possible de réaliser une interpolation linéaire entre deux ou trois axes. IMPORTANT Une interpolation linéaire peut être absolue (valeurs de position se référant aux points zéro des axes) ou relative (valeurs de position se référant à la position actuelle des axes), avec ou sans critère d’attente (le programme est arrêté jusqu’à ce que l’interpolation soit terminée). Instructions linpos* Lancer une interpolation linéaire (absolue) Lancer une interpolation linéaire (absolue) et attendre que la position soit atteinte linposf* linmove* Lancer une interpolation linéaire (relative) linmovef* setipos* <x> Lancer une interpolation linéaire (relative) et attendre que la position soit atteinte <knvw> Préparer une interpolation linéaire * Uniquement pour la série 300 (système multiaxes) L’instruction “stopa” permet d’arrêter une interpolation linéaire. Les points suivants doivent être observés pour l’interpolation: – – – – – les axes qui participent à l’interpolation doivent être réglés en mode point à point (voir instruction “mode”); les vitesses et accélérations des axes participants doivent être introduites avant l’interpolation (voir instructions “vel” et “acc”); les positions de destination, les vitesses et les accélérations des axes participants ne peuvent pas être modifiées pendant une interpolation; il n’est pas possible d’effectuer plusieurs interpolations simultanément; une interpolation influence le réducteur électronique (celui-ci doit éventuellement être réinitialisé après l’interpolation). ProOED3 No. d’ident.: 00441113021 6-59 Programmation Programmation de fonctions de commande Principe de l’interpolation linéaire La figure 6-14 montre le principe de l’interpolation linéaire à l’aide d’un exemple: Un déplacement doit être effectué d’un point A à un point B par interpolation linéaire avec deux axes (x1 et x2). Les positions de consigne sont transmises lors de l’entrée (p.ex. instructions “setipos x1 500” et “setipos x2 200”) et l’interpolation est lancée par l’instruction “linmove”. L’interpolateur linéaire calcule les vitesses et accélérations nécessaires pour l’interpolation à partir des positions de consigne et commande les différents axes. Il garantit également que les vitesses et accélérations préréglées ne sont pas dépassées. Axe x2 B 300 500 x1 200 s o 2 p seti ipos x set ove linm 200 100 A Axe x1 500 Fig. 6-14 Principe de l’interpolation linéaire 100 600 Exemple de programmation: Les axes x1 et x2 doivent effectuer un déplacement par interpolation linéaire de la position A (x1 = 100, x2 = 100) à la position B (x1 = 600, x2 = 300). Programme: setipos setipos linmove 6-60 ProOED3 x1 x2 500 200 ;Position relative pour x1 ;Position relative pour x2 ;Lancer le positionnement No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande 6.3.2.7 Déplacement manuel par les entrées de signal Le positionnement manuel d’axes peut être commandé au moyen d’indicateurs spéciaux. Signification des indicateurs Indicateur Signification m0 m1 Déplacement manuel vers la droite (m0 = 1) Déplacement manuel vers la gauche (m1 = 1) m2 Vitesse rapide (m2 = 1) m3 Sélection de l’axe Axe m4 m3 m4 Sélection de l’axe x1 x2 x3 x4 0 0 1 1 0 1 0 1 m10 Activation du déplacement manuel m11 Déplacement manuel actif? m11 = 0: non m11 = 1: oui Le déplacement manuel est programmé en combinant les entrées de signal avec ces indicateurs. Dans l’exemple, les entrées de signal sont utilisées comme suit: i1 i2 m0 m1 Déplacement manuel vers la droite Déplacement manuel vers la gauche i5 m2 Sélectionner la vitesse rapide i6 i7 m3 m4 Sélectionner l’axe Sélectionner l’axe i8 m10 Activer le déplacement manuel Exemple de programmation: ;Les entrées commandent le déplacement manuel ;au moyen des marqueurs ld i1 ;Déplacement manuel vers la droite st m0 ld i2 ;Déplacement manuel vers la gauche st m1 ld i5 ;Vitesse rapide st m2 ld i6 ;Sélection de l’axe st m3 ld i7 ;Sélection de l’axe st m4 ld i8 ;Activer le déplacement manuel st m10 ProOED3 No. d’ident.: 00441113021 6-61 Programmation 6.3.3 Programmation de fonctions de commande Entrées/sorties externes avec MP 926 (série 300 uniquement) Les commandes de la série 300 peuvent piloter jusqu’à 5 cartes d’entrée/ sortie externes MP 926 par l’intermédiaire d’une interface RS 485 HS. Une carte d’entrée/sortie MP 926 dispose de 16 entrées et de 16 sorties. Le nombre de cartes d’entrée/sortie raccordées se définit par le paramètre de commande “Modules E/S externes” (au maximum cinq cartes). 40 - 00 ENCODER READY ROT.ERR. Aux entrées sont affectés les indicateurs m32 à m111, aux sorties les indicateurs m112 à m191 (figure 6-15). Les indicateurs peuvent être lus et écrits dans le programme séquentiel et dans le programme API. 01 + 41 42 l 0 51 02 ROT. MONIT. 03 SIGNAL 53 55 STEP 04 OFF 01 EF 2 78 9A 3456 I-RED GAT/ENA 05 PH.CURR BCD l 20 06 READY 07 FAULT Q0 08 TEMP 09 OVER-VOLT 57 10 LOW-VOLT U V W 11 I0 : I15 Q9 Q0 : Q15 Sorties supplémentaires Entrées supplémentaires Indicateurs MP 926 1 m32 à m47 I0 : I15 m48 à m63 MP 926 m64 à m79 Q0 : Q15 m80 à m95 2 m96 à m111 I0 : I15 m112 à m127 m128 à m143 Q0 : Q15 m144 à m159 MP 926 3 m160 à m175 I0 : I15 m176 à m191 Q0 : Q15 I0 : I15 Q0 : Q15 Fig. 6-15 Plage d’indicateurs pour entrées/sorties externes MP 926 4 MP 926 5 Exemple de programmation: L’entrée i0 de l’extension E/S MP 926 doit être lue et délivrée à la sortie q0. Paramètre de commande: "Modules E/S externes" Programme: ld m32 st m112 6-62 ProOED3 1 ;Lire l’entrée i0 de MP 926. ;Positionner la sortie q0 de MP 926. No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande 6.3.4 Signaux analogiques (série 300 uniquement) Sur les commandes de la série 300, l’instruction “getanalog” permet de lire des valeurs de tension (en millivolts) d’un module analogique. L’instruction “setanalog” permet de délivrer une tension de sortie à un module analogique. Instructions getanalog* <a> <knvw> Lire une tension analogique setanalog* <a> <knvw> Délivrer une tension analogique * Uniquement pour la série 300 Exemple de programmation: Il s’agit de lire la tension de l’entrée analogique 1 du module analogique a2 et de la stocker dans la variable v10. Programme: getanalog st 6.3.5 Communication par interface série a2 v10 1 L’utilisateur peut programmer librement la communication entre la commande et un terminal d’exploitation VT52, p.ex. FT2000, par l’intermédiaire de l’interface série. IMPORTANT La communication par l’interface série peut être testée avec ProOED3, se reporter à la simulation VT52 ou FT2000. IMPORTANT Les commandes WDP3-014/018 ne disposent que d’une seule interface série c1 qui est utilisée pour la programmation et pour la communication. Les paramètres de transmission des deux interfaces sont définis comme suit: Vitesse en bauds Bits de données Parité Bits d’arrêt Protocole ProOED3 9600 7 paire (even) 1 XON\XOFF No. d’ident.: 00441113021 6-63 Programmation Programmation de fonctions de commande Plusieurs instructions sont disponibles pour la programmation des interfaces série: Instructions cursor <c> rec_char <c> rec_char_n <c> rec_dez <c> rec_var <c> rec_var_n <c> screen <c> snd_char <c> snd_dez <c> snd_str <c> snd_var <c> <fknvw> <fnvw> <fnvw> <fnvw> <fnvw> <fnvw> <fknvw> <fknvw> <fnvw> <fknvw> <fnvw> Positionner le curseur Recevoir un caractère Recevoir un caractère avec contrôle Recevoir un nombre décimal Afficher et éditer un chiffre Recevoir et stocker un nombre Gestion d’écran Envoyer un caractère Envoyer un nombre décimal Envoyer une chaîne de caractères Envoyer un nombre L’instruction “snd_str” permet d’envoyer des textes entiers via l’interface série. Les textes doivent au préalable avoir été créés avec l’éditeur “Textes d’émission”. Les caractères de contrôle sont interprétés comme suit: Caractère dans le tampon d’entrée/sortie de la commande Sens de la Caractère envoyé via l’interface transmission (code hexadécimal) Caractères ASCII (16#20 - 16#7E) ↔ Caractères ASCII (16#20 - 16#7E) Autres caractères (16#7F - 16#FF) ↔ 16#7F - 16#FF $$ ↔ $ (16#24) * $’ ↔ ’ (16#27) * $N ↔ (16#0A) New line * $R ↔ <CR> (16#0D) Carriage return * $00 - $1F ← 16#00 - 16#1F * $00 - $FF → 16#00 - 16#FF * * Ces caractères sont convertis lors de leur transmission. IMPORTANT Les caractères de contrôle doivent être indiqués par un signe $ et un caractère spécial, p.ex. $R pour carriage return, dans l’éditeur Textes d’émission. Certains caractères et variables peuvent être transmis au moyen des instructions “snd_char” et “snd_var”. L’instruction “rec_var” permet d’entrer confortablement des nombres sur un terminal VT52, p.ex. FT2000. Les instructions “cursor” et “screen” servent à positionner un curseur et à gérer l’écran sur un terminal VT52. IMPORTANT Les instructions de communication par l’interface série sont décrites en détail dans l’annexe “Liste des instructions”. 6-64 ProOED3 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande ➁ ➂ Créer et initialiser la mémoire fifo ➀ T E X T : 1 0 TxD 100 1 Mémoire de communication émission ➄➃ Interface série p.ex. c1 ➀ A 5 0 RxD 1 100 Mémoire de communication réception Fig. 6-16 Programmation d’interface ➀ L'interface série est automatiquement reconnue et initialisiée par matériel. ➁ snd_str c1 10 La ligne de texte 10 créée avec l'éditeur de texte est envoyée. ➂ snd_var c1 v50 Une valeur numérique p.ex. 10 est envoyée. ➃ rec_var c1 v40 Une valeur numérique p.ex. 50 est reçue. ➄ rec_char c1 v20 Le caractère “A” est reçu. Exemple de programmation 1: Il s’agit d’afficher 5 lignes de texte sur un terminal. Avant chaque affichage de ligne, il faut passer à la ligne suivante (new line) et sauter au début de la ligne (carriage return). Les lignes de texte sont entrées avec l’éditeur de textes d’émission. Editeur Textes d’émission: #14$R $R$NCeci est la première ligne de 5. $R$NCes 5 lignes seront $R$Nenvoyées l’une après l’autre $R$Nvia l’interface série. $R$NCeci est la dernière ligne de 5. IMPORTANT Si on utilise le terminal d’exploitation FT2000, il faut lui envoyer la commande d’adressage: #<Adresse><CR> avant d’envoyer ou de recevoir des données. Par exemple: Avec #14<CR>, c’est le FT2000 situé à l’adresse 14 qui est activé. L’adresse des terminaux peut être définie à la mise en service du FT2000, se reporter à la documentation FT2000. ProOED3 No. d’ident.: 00441113021 6-65 Programmation Programmation de fonctions de commande Programme: snd_str c1 1 ;Adresser le FT2000 ;Affichage ligne par ligne d’un texte sur un ;terminal ld 2 ;Initialiser v10 avec st v10 ;le premier numéro de ligne. snd_str c1 v10 ;Afficher la ligne. ld v10 ;Incrémenter le numéro de ligne. add 1 st v10 eq 6 ;Dernière ligne ? jmpn -5 ;Afficher la ligne suivante. Exemple de programmation 2: Il s’agit de charger un chiffre entré sur terminal dans une variable. Le chiffre doit pouvoir être édité et la plage de valeurs (0 à 1000) doit être vérifiée. L’invitation “Veuillez entrer le nombre:” et le nombre stocké dans la variable doivent être affichés. L’entrée ne doit se terminer que si le nombre est correct. Editeur Textes d’émission: #14$R $R$NVeuillez entrer le nombre: $R$NEntrée incorrecte $R$NEntrée correcte Programme: snd_str c1 1 ;Adresser le FT2000 ;Entrée de nombre confortable sur un terminal label L10 snd_str c1 2 ;"Veuillez entrer le nombre:" rec_var c1 v10 ;Lancer l’entrée de nombre. ld v10 ;Contrôler la plage de valeurs. lt 0 jmpc L20 ;trop petit: recommencer ;l’entrée ld v10 gt 1000 jmpc L20 ;trop grand: recommencer ;l’entrée snd_str c1 4 ;"Entrée correcte:" continuer jmp L30 ... label L20 ;"Entrée incorrecte" snd_str c1 3 jmp L10 label 6-66 ProOED3 L30 No. d’ident.: 00441113021 Programmation Programmation de fonctions de commande 6.3.6 Synchronisation avec une commande de niveau supérieur L’instruction “handshake” permet de synchroniser l’exécution du programme séquentiel avec une commande de niveau supérieur. Instruction handshake <i> <q> Synchronisation de l’exécution du programme avec une commande de niveau supérieur La commande indique par la sortie <q> qu’elle a exécuté une instruction “handshake”. L’exécution du programme séquentiel est interrompue jusqu’à ce que l’entrée <i> devienne active (= 1). L’exécution du programme reprend alors et la sortie <q> est réinitialisée (= 0). handshake i2 q3 = 1 Interrompre l'exécution du programme i2 = 1 Poursuivre l'exécution du programme q3 Sortie de synchronisation Entrée de synchronisation Instruction “handshake” le programme SEQ est arrêté Le programme SEQ est poursuivi Fig. 6-17 Synchronisation Exemple de programmation Une séquence de positionnement doit être synchronisée avec un API de niveau supérieur. Programme: ... posf x1 handshake i2 posf x2 handshake i2 ... ProOED3 1000 q3 2000 q3 No. d’ident.: 00441113021 6-67 Programmation 6.3.7 Programmation de fonctions de commande Console d’exploitation de la société Lauer (série 300 uniquement) Il est possible de raccorder aux commandes de la série 300 des consoles d’exploitation de la série PCS-topline de la société Lauer. Les consoles d’exploitation suivantes peuvent être utilisées: – – – – topline micro topline mini topline midi topline maxi PCS009 PCS090 et PCS095 PCS900, PCS920 et PCS950 PCS9000 et PCS9100 IMPORTANT Les consoles d’exploitation doivent être équipées d’une interface Interbus-S pour pouvoir être raccordées à une commande BERGER LAHR. Connexion d’une console d’exploitation Lauer à une commande BERGER LAHR Les consoles d’exploitation Lauer se raccordent à une commande BERGER LAHR soit directement à l’interface RS 485 HS soit par l’intermédiaire du module E/S MP926. ATTENTION Si un ou plusieurs modules E/S sont raccordés à la commande, la console d’exploitation Lauer doit être le dernier appareil de la chaîne (figure 6-18). Console d'exploitation Lauer READY 00 ENC. 40 - ROT.ERR. Commande de la série 300 01 + 41 42 l 0 02 ROT. MONIT. 51 Remote_in Remote_out MP 926 Remote_in Remote_out MP 926 Remote_in Remote_out MP 926 03 SIGNAL 53 55 STEP 04 OFF 01 EF 2 78 9A 3456 I-RED GAT/ENA 05 PH.CURR BCD l 20 06 READY 07 FAULT Q0 08 TEMP 09 OVER-VOLT 57 Fig. 6-18 Raccordement de la console d’exploitation Lauer à une commande BERGER LAHR 6-68 10 LOW-VOLT U V W Q9 ProOED3 11 No. d’ident.: 00441113021 LAUER Programmation Programmation de fonctions de commande Le câblage entre une commande BERGER LAHR de la série et une console d’exploitation Lauer se présente comme suit: RS 485 HS 5 9 4 8 3 7 GND TPDO1 TPDO1 TPDI1 TPDI1 5 9 4 8 3 7 2 2 6 6 1 Blindage 1 Terminal Interbus-S LAUER Commande BERGER LAHR Stecker Connecteur mâle torsadés Fig. 6-19 Câblage de la commande avec une console d’exploitation Lauer Longueur de câble max. 400 m Connecteur femelle Communication entre la commande et la console d’exploitation La communication entre la commande et la console d’exploitation s’effectue par une interface de données. L’interface de données comprend une plage de 256 mots (16 bits). Cette plage de données peut être lue et écrite au moyen d’instructions. La structure et le contenu de l’interface de données sont déterminés par la console d’exploitation Lauer. Pour de plus amples informations, se reporter à la documentation de la société Lauer. Paramètres de commande Les paramètres suivants doivent être correctement réglés pour qu’une commande de la série 300 puisse communiquer avec une console d’exploitation de la société Lauer. – – “Console d’exploitation Lauer” “Modules E/S externes” ATTENTION Le réglage du paramètre “Modules E/S externes” dépend du réglage du paramètre “Console d’exploitation Lauer”. ProOED3 No. d’ident.: 00441113021 6-69 Programmation Paramètre Console d’exploitation Lauer Modules E/S externes Programmation de fonctions de commande Valeur par défaut 0 Plage de valeurs 0–8 0 0–5 Description 1 2 3 4 = = = = 8 octets de données, type micro 8 octets de données, type mini 8 octets de données, type midi 8 octets de données, type maxi 5 6 7 8 = = = = 16 octets de données, type micro 16 octets de données, type mini 16 octets de données, type midi 16 octets de données, type maxi Si l’une des valeurs 5, 6, 7 ou 8 est réglée pour “Console d’exploitation Lauer”, le paramètre “Modules E/S externes” ne peut être réglé qu’aux valeurs 0, 1 ou 2. IMPORTANT Si seule la console d’exploitation Lauer est raccordée à l’interface RS 485 HS, le paramètre “Modules E/S externes” doit être réglé à 0. Instructions pour la communication entre la commande et la console d’exploitation L’échange de données entre la commande et la console d’exploitation se programme à l’aide des instructions suivantes: ld_LKey <knvw> ld_LBit <knvw> ld_LInt <knvw> ld_LDint <knvw> st_LBit <knvw> st_LInt <knvw> st_LDint <knvw> 6-70 ProOED3 Lire directement l’état d’une touche (bit de clavier) de la console d’exploitation <knvw> Lire un bit de l’interface de données de la console d’exploitation Lauer Lire un mot de l’interface de données de la console d’exploitation Lauer Lire un double mot de l’interface de données de la console d’exploitation Lauer <knvw> Ecrire un bit dans l’interface de données de la console d’exploitation Lauer Ecrire un mot dans l’interface de données de la console d’exploitation Lauer Ecrire un double mot dans l’interface de données de la console d’exploitation Lauer No. d’ident.: 00441113021 Programmation Test de programme 6.4 Test de programme ProOED3 offre plusieurs possibilités de test de programme. Ces possibilités sont décrites en détail au chapitre 5.4, Fonctions on-line. Test E/S Le test E/S indique si les états des signaux d’entrée et de sortie sont correctement positionnés. Il permet également de modifier manuellement les sorties. Les indicateurs ne sont affectés qu'en cas de raccordement de modules E/S externes sur les commandes de la série 300. Fig. 6-20 Test E/S Observation du programme pendant son exécution (debugging) ProOED3 indique sur l’écran comment le programme se déroule effectivement sur la commande. Les résultats d’opérations, variables, indicateurs, etc. peuvent également être affichés. Le programme peut être exécuté pas à pas, voir chapitre 5.4.3.5 “Debugging programme séquentiel et programme API”. Fig. 6-21 Fenêtre de debugging ProOED3 No. d’ident.: 00441113021 6-71 Programmation Test de programme Emulation de terminal ProOED3 offre deux possibilités pour tester l’entrée et la sortie de données de données sur des terminaux: – – Simulation du FT2000 sur l’écran Simulation d’un terminal avec VT52 Fig. 6-22 Simulation FT2000 6-72 ProOED3 No. d’ident.: 00441113021 Messages d’erreur 7 Messages d’erreur 7.1 Erreurs de programmation 7.1.1 Erreurs de compilation Message d’erreur Pas de mémoire libre Elimination Quitter et relancer ProOED3. Il doit y avoir 555 ko de mémoire DOS disponible. Compilateur non initialisé Dans l’option de menu “Project/Controller Type”, sélectionner le type de commande présent Préprocesseur non initialisé Trop de noms symboliques dans la liste d’affectation => réduire le nombre de noms symboliques Ligne d’entrée trop longue Raccourcir la ligne de programme Ligne de sortie trop longue Raccourcir la ligne de programme 1. Macroinstruction trop longue Raccourcir les noms symboliques (max. 30 caractères) 2. Macroinstruction trop longue Raccourcir les noms symboliques (max. 30 caractères) Trop de lignes Réduire le nombre de noms symboliques Trop d’erreurs Corriger les erreurs de programmation $ABL_START pas trouvé Insérer $ABL_START au début (deuxième ligne) du programme séquentiel $ABL_END pas trouvé Insérer $ABL_END à la fin (avant-dernière ligne) du programme séquentiel $ABL_START déjà présent Supprimer $ABL_START dans le programme séquentiel $ABL_END déjà présent Supprimer $ABL_END dans le programme séquentiel Trop de lignes dans le programme ABL Supprimer des lignes dans le programme séquentiel $SPS_START pas trouvé Insérer $SPS_START au début (deuxième ligne) du programme API $SPS_END pas trouvé Insérer $SPS_END à la fin (avant-dernière ligne) du programme API $SPS_START déjà présent Supprimer $SPS_START dans le programme API $SPS_END déjà présent Supprimer $SPS_END dans le programme API Trop de lignes dans le programme API Raccourcir le programme API $START_OF_OED3_UPLOAD pas trouvé Insérer $START_OF_OED3_UPLOAD au début du programme $END_OF_OED3_UPLOAD pas trouvé Insérer $END_OF_OED3_UPLOAD au début du programme $START_OF_OED3_UPLOAD déjà Supprimer $START_OF_OED3_UPLOAD au début du présent programme $END_OF_OED3_UPLOAD déjà présent Supprimer $END_OF_OED3_UPLOAD à la fin du programme Erreur de compilateur inconnue Appeler Service technique, tél. (49) 7821 946-257 Opérateur invalide Voir chapitre 6.1.3.2, Liste des instructions Opérande invalide Voir chapitre 6.1.3.2, Liste des instructions Trop peu d’opérandes Voir chapitre 6.1.3.2, Liste des instructions Trop d’opérandes Voir chapitre 6.1.3.2, Liste des instructions Plage de valeurs invalide Voir chapitre 6.1.3.3, Liste des opérandes Plage de valeurs de l’opérande invalide Voir chapitre 6.1.3.3, Liste des opérandes Type d’opérande invalide Voir chapitre 6.1.3.2, Liste des instructions ProOED3 No. d’ident.: 00441113021 7-1 Messages d’erreur 7.1.2 Erreurs au téléchargement d’un programme Lors d’un téléchargement dans la commande, la compatibilité du programme séquentiel et du programme API avec la commande est encore une fois contrôlée. Les erreurs de téléchargement sont indiquées comme suit: [E####] [L#] $END_OF OED3_DOWNLOAD [Download Error] <ESC> [E####] Numéro d’erreur, type d’erreur [L#] Ligne de programme dans laquelle l’erreur a été détectée Numéro d’erreur Signification [E4296] Opérande invalide [E4297] Instruction illégale dans le programme séquentiel ou le programme API [E4300] Valeur invalide de l’opérande IMPORTANT Ces erreurs peuvent survenir si un type de commande différent de celui réellement présent est réglé. Timeout à la réception Une erreur de timeout survenant lors du téléchargement du programme peut avoir les causes suivantes. – Fichier projet détruit – Trop de lignes dans le programme séquentiel ou le programme API – Liaison avec la commande interrompue 7.1.3 Erreurs du système d’exploitation MS-DOS Message d’erreur Erreurs MS-DOS ( ... ) Elimination Fichier ProOED3 défectueux sur le disque dur. Vérifier le système de fichiers et le disque dur (p.ex. avec “SCANDISK”). Eventuellement réinstaller ProOED3. 7.1.4 Autres messages d’erreur ProOED3 Message d’erreur Connected with controller with old software Controller does not answer Autres messages d’erreur 7-2 ProOED3 Cause possible La version OED3 de la commande et la version ProOED3 ne sont pas compatibles (p.ex. OED3 version 2 et ProOED3 version 3) Tension d’alimentation manque ou connexion à la commande interrompue Contacter Service Technique, tél. (07821) 946-257 No. d’ident.: 00441113021 Messages d’erreur Erreurs lors de l’exécution du programme Les erreurs qui surviennent pendant l’exécution du programme sont signalées à l’utilisateur de deux manières: – – sur l’afficheur 7 segments de la commande (voir chapitre 7.2.1, “Numéros d’erreur sur l’afficheur 7 segments”) dans un menu d’erreurs qui est affiché via l’interface série c1 sur l’écran du PC ou sur le terminal d’exploitation FT2000 (voir chapitre 7.2.2 “Menu d’erreurs”). Commande PC ou terminal Numéro d'erreur - 00 ENCODER READY ROT.ERR. Menu d'erreurs 40 01 + 41 42 l 0 51 02 ROT. MONIT. 03 SIGNAL 53 Fig. 7-1 Erreur lors de l’exécution du programme Traitement des erreurs par programme utilisateur 55 STEP 04 OFF 01 EF 2 3456 789A Label L0 . . . ret I-RED GAT/ENA 05 PH.CURR BCD 7.2 l 20 06 READY 07 FAULT Q0 08 TEMP 09 OVER-VOLT 57 10 LOW-VOLT U V W 11 Q9 Paramètre de commande “Traitement des erreurs par l'utilisateur” Sur les commandes munies de ProOED3, l’utilisateur peut dans une certaine mesure déterminer l’indication des erreurs et le comportement de la commande en cas d’erreur. Le paramètre de commande “Traitement des erreurs par l’utilisateur” permet de définir différentes possibilités d’indication et de traitement des erreurs. ProOED3 No. d’ident.: 00441113021 7-3 Messages d’erreur Paramètre de commande “Traitement des erreurs par l’utilisateur” (uniquement en cas d’erreurs de signaux d’axes) Paramètre: “Traitement des erreurs par l’utilisateur” 0 Signification Elimination Indication d’erreur: 1. sur l’afficheur 7 segments sur la face avant (voir chapitre 7.2.1) 2. menu d’erreurs via interface série c1 sur FT2000 ou PC (voir chapitre 7.2.2). Eliminer et acquitter l’erreur comme suit. Commande: 1. Le moteur est arrêté. 2. Les entrées sont réinitialisées. 1 Indication d’erreur: afficheur 7 segments sur la face avant (voir chapitre 7.2.1) Commande: Le moteur est arrêté. Série 300: touche 41 sur la face avant de la commande WDP3-014/018: touche “-” sur la face avant de la commande Eliminer et acquitter l’erreur comme suit. Série 300: touche 41 sur la face avant de la commande WDP3-014/018: touche “-” sur la face avant de la commande Si l’indication d’erreur est “99”, l’erreur peut être affichée et analysée par l’intermédiaire du menu d’erreurs (chapitre 7.2.2). 2 Indication d’erreur: affichage 7 segments sur la face avant “98” (voir chapitre 7.2.1) Commande: Si le label de saut L0 est absent, le moteur est arrêté. Programme: Saut au label de saut L0 s’il est présent. 7-4 ProOED3 No. d’ident.: 00441113021 L’erreur de signaux d’axe (voir tableau au chapitre 7.2.2) doit être traitée par le programme utilisateur (voir chapitre 7.2.3). Messages d’erreur 7.2.1 Numéros d’erreur sur l’afficheur 7 segments Les erreurs qui surviennent pendant l’exécution du programme sont signalées par un numéro d’erreur sur l’afficheur 7 segments de la commande. Le tableau suivant rassemble les erreurs possibles, leurs causes et les remèdes possibles: Affichage Cause ... Elimination Erreur lors de l’auto-test Appeler Service technique, tél. (49) 7821 946 257 Court-circuit dans le câble moteur Contrôler le câblage du moteur Commande de puissance pas prête Voir tableau des erreurs commande de puissance Interruption de ligne Déconnecter l’appareil et vérifier la ligne Surtension à la commande de puissance Raccorder une résistance ballast, se reporter à la documentation de l’appareil Surchauffe de la commande de puissance Laisser la commande de puissance refroidir moteur arrêté Installer un ventilateur, se reporter à la documentation de l’appareil Erreur sur codeur pour réducteur électronique, rupture de câble Vérifier le câblage du codeur Surchauffe du moteur Réduire le courant de phase Réduire la charge Sous-tension à la commande de puissance (<200 V) Vérifier l’alimentation électrique Contrôle de rotation actif, erreur de poursuite Vérifier la dureté de la mécanique Commande de puissance non alimentée Vérifier l’alimentation électrique. Connecter d’abord l’alimentation électrique de la commande de puissance, ensuite celle du bloc processeur. Commande de puissance interne défectueuse Si la mise sous tension n’est pas possible, appeler Service technique, tél. (49) 7821 946 257. Court-circuit sur une sortie q Vérifier le câblage de la connexion de signaux LIMP de contact de fin de course erroné ou fonctionnement incorrect du contact de fin de course Vérifier le câblage et le fonctionnement du contact de fin de course ou le sens de rotation du moteur, se reporter à la documentation de l’appareil. LIMP doit être atteint dans le sens de rotation positif du moteur. LIMN de contact de fin de course erroné ou fonctionnement incorrect du contact de fin de course Vérifier le câblage et le fonctionnement du contact de fin de course ou le sens de rotation du moteur, se reporter à la documentation de l’appareil. LIMN doit être atteint dans le sens de rotation négatif du moteur. LIMP de contact de fin de course positif actionné Quitter la zone du contact de fin de course LIMN de contact de fin de course négatif actionné Quitter la zone du contact de fin de course Contact de référence défectueux ou non raccordé Contrôler le contact de référence Entrée STOP activée Désactiver l’entrée STOP ProOED3 No. d’ident.: 00441113021 7-5 Messages d’erreur Affichage Cause Elimination Erreurs internes: 40 = Erreurs à l’initialisation 41 = Erreurs dans le programme SEQ 42 = Erreurs dans le programme API Erreurs de la commande, appeler Service technique, tél. (49) 7821 946 257 Pas de système d’exploitation OED3 présent dans la commande Appeler Service technique, tél. (49) 7821 946 257 Pas de liaison par l’interface RS 485 HS Vérifier le câblage Spécifier le nombre correct de cartes d’entrée/sortie Système défectueux Appeler Service technique, tél. (49) 7821 946 257 Pas d’EEPROM présente Appeler Service technique, tél. (49) 7821 946 257 Erreur d’écriture EEPROM Appeler Service technique, tél. (49) 7821 946 257 Tension batterie trop faible, Batterie fatiguée Remplacer la batterie, se reporter à la documentation de l’appareil ATTENTION Après la mise hors tension de la commande, des données ou le programme utilisateur peuvent être perdus! Traitement des erreurs par programme Corriger l’erreur par programme utilisateur OED3. utilisateur OED3 Modifier le paramètre de commande “Traitement des erreurs par l’utilisateur” avec ProOED3. Affichage des erreurs par menu d’erreurs ProOED3 Afficher et corriger l’erreur à l’aide du menu d’erreurs ProOED3. IMPORTANT S’il n’est pas prévu de traitement des erreurs par le programme utilisateur, les erreurs peuvent être acquittées au moyen des touches de la face avant. 7-6 ProOED3 No. d’ident.: 00441113021 Messages d’erreur 7.2.2 Menu d’erreurs sur le terminal d’exploitation En fonction du paramètre “Traitement des erreurs par l’utilisateur”, les erreurs peuvent être affichées dans un menu d’erreurs sur un terminal d’exploitation VT52, p.ex. FT2000, ou un PC. Le terminal d’exploitation ou le PC doivent être raccordés à l’interface série c1. L’afficheur 7 segments de la commande indique le numéro “99” pendant l’affichage du menu d’erreurs. Dans le menu d’erreurs affiché sur le terminal d’exploitation, les erreurs sont indiquées sous forme binaire. Seulement deux lignes du menu d’erreurs sont affichées à la fois. La touche <↵> permet d’afficher les deux lignes suivantes. Fig. 7-2 Menu d’erreurs avec terminal ProOED3 Fig. 7-3 Menu d’erreurs avec FT2000 IMPORTANT En mode debug, l’émulation terminal FT2000 est automatiquement affichée sur l’écran du PC en cas d’erreur. L’affichage des erreurs s’effectue uniquement par l’intermédiaire de l’interface c1. ProOED3 No. d’ident.: 00441113021 7-7 Messages d’erreur Indication d’erreur Signification Erreur de commande xxx Numéro de l’erreur de commande 000 = Erreur de programmation dans la ligne XXX, voir page 7-7 219 = Initialisation de l’interface RS 485 HS défectueuse 222 = Erreur dans les données de paramètres 233 = Erreur de “setipos” (trop d’axes spécifiés) 234 = Pas d’EEPROM présente 236, = Mauvais type de données à la lecture de données 237 par l’instruction “ld” 238, = Mauvais type de données au stockage de 239 données par l’instruction “st” 249 = Label de saut non présent 250 = Label de saut existe plusieurs fois 251 = Saut en dehors du programme utilisateur (p.ex. “jmp +3000”) 252 = Type de données de l’opérande erroné 253 = Instruction inconnue 254 = Profondeur d’appel de sous-programmes dépassée 255 = Un ou plusieurs signaux de l’axe x1 actifs (voir masque de bits des erreurs de signaux d’axes page 7-7) 256 = Un ou plusieurs signaux de l’axe x2 actifs (voir masque de bits des erreurs de signaux d’axes page 7-7) 257 = Un ou plusieurs signaux de l’axe x3 actifs (voir masque de bits des erreurs de signaux d’axes page 7-7) 258 = Un ou plusieurs signaux de l’axe x4 actifs (voir masque de bits des erreurs de signaux d’axes page 7-7) 259 = Erreur de l’interface série 260 = Valeur de “snd_char” erronée 263 = Erreur de “rec_var_n” ou “rec_dez” 264 = Erreur de “setipos”, axe spécifié doublement API SEQ I P : xxx : xxx Partie de programme et numéro de ligne (xxx) dans lesquels l’erreur s’est produite => afficher le numéro de ligne en mode debug 0000000000000000, 0000000000000000 ↑ ↑ ↑ ↑ bit 15 bit 0 bit 15 bit 0 p1 7-8 Signaux d’entrée 000000000000000000000 ↑ ↑ bit 20 bit 0 Bit 0 = Entrée 0 (i0) : 15 = Entrée 15 (i15) 16 = limp 17 = limn 18 = ref 19 = stop 20 = trig Codeur p1, p2 Bit 8 = 9 = Erreur de poursuite Erreur de codeur p2 ProOED3 No. d’ident.: 00441113021 Messages d’erreur Indication d’erreur Signification C Interfaces série c1, c2 Bit 2 = Accès à une interface non initialisée 4 = Interface matérielle déjà affectée 5 = Erreur à l’allocation ou la désallocation de mémoire 6 = Tampon de réception trop petite 7 = Chaîne d’émission trop petite 8 = Ordre illégal dans la chaîne d’émission 11 = Débordement du tampon de réception 12 = Erreur de cadence 13 = Erreur de parité 14 = Erreur d’encadrement Erreurs de programmation dans la ligne XXX (axes x1 à x4) Bit 0 = Un ou plusieurs signaux actifs (voir signaux d’axe) 2 = Instruction non autorisée en mode poursuite de position 3 = Positionnement d’attente déjà actif (p.ex. “posf”, "movef") 4 = Instruction illégale pour un axe interrompu/bloqué 5 = Courbe mère défectueuse 6 = Information insuffisante sur la grandeur de référence 7 = Instruction non autorisée pendant un déplacement d’axe 8 = Instruction non autorisée pendant un déplacement de référence 10 = Valeur de paramètre erronée 11 = Valeur ne peut pas être calculée 12 = Valeur invalide de paramètre passé 13 = Instruction non exécutable dans ces conditions 14 = Consultation d’une valeur indéfinie 0000000000000000, 0000000000000000 ↑ ↑ ↑ ↑ bit 15 bit 0 bit 15 bit 0 C1 C2 X1 0000000000000000, 0000000000000000 X2 0000000000000000, 0000000000000000 X3 0000000000000000, 0000000000000000 X4 0000000000000000, 0000000000000000 ↑ ↑ ↑ ↑ bit 15 bit 0 bit 15 bit 0 Erreurs de programmation Erreurs de signaux d’axes Signaux d’axes x1 à x4 (erreurs de signaux d’axes) Bit 0 = Contact de fin de course matériel positif (20, 22) 1 = Contact de fin de course matériel négatif (21, 23) 2 = Contact de référence défectueux (26) 3 = Stop matériel (30) 4 = Réservé 5 = Réservé 6 = Réservé 7 = Réservé 8 = Erreur de poursuite (12) 9 = Erreur de codeur (08) 10 = Commande de puissance pas prête (04) 11 = Surchauffe de la commande de puissance (05) 12 = Surchauffe du moteur, uniquement pour moteurs avec codeur (09) Les nombres entre parenthèses représentent le numéro d’erreur qui apparaît sur l’afficheur 7 segments de la commande. IMPORTANT En cas d’erreur de signaux d’axe, le positionnement est interrompu. Les erreurs de signaux d’axes peuvent être traités par le programme utilisateur, voir chapitre 7.2.3. ProOED3 No. d’ident.: 00441113021 7-9 Messages d’erreur 7.2.3 Traitement des erreurs par programme utilisateur Le paramètre de commande “Traitement des erreurs par l’utilisateur” permet à l’utilisateur de programmer lui-même la réaction à une erreur de signaux d’axe (voir chapitre 7.2.2, “Menu d’erreurs”, tableau). En cas d’erreur de signaux d’axe, l’axe correspondant et le programme séquentiel sont arrêtés et le sous-programme “L0” automatiquement appelé. Pendant le traitement du sous-programme, l’afficheur 7 segments de la commande indique le numéro “98”. Après cela, le programme séquentiel reprend à partir du point d’interruption. IMPORTANT Le programme API n’est pas arrêté par une erreur de signaux d’axe. Si le label de sous-programme L0 n’est pas présent, le numéro “99” apparaît sur l’afficheur 7 segments. L’erreur peut alors être analysée au moyen du menu d’erreurs. La variable v0 contient le numéro de l’axe sur lequel l’erreur est survenue. La variable v100 contient le numéro d’erreur qui renseigne sur la cause de l’erreur (voir plus bas). Sous-programme “L0” L’erreur doit être traitée dans un sous-programme situé au label de saut L0. Procédure: 1. Régler le paramètre de commande “Traitement des erreurs par l’utilisateur” à 2. 2. Programmer la réaction à l’erreur dans le sous-programme “L0” du programme séquentiel. 3. Effacer l’erreur de signaux d’axe et l’affichage d’erreur par “clrerror”. Le sous-programme situé au label L0 est exécuté automatiquement. A la fin du sous-programme (instruction “ret”), l’exécution du programme reprend au point d’interruption. IMPORTANT Lors d’instructions de positionnement avec attente, le point d’interruption du programme est connu (une ligne de programme après l’instruction à l’occasion de laquelle l’erreur s’est produite). Pour toutes les autres instructions de positionnement, le programme continue à se dérouler parallèlement au positionnement de l’axe, on ne peut par conséquent pas connaître le point d’interruption du programme. 7-10 ProOED3 No. d’ident.: 00441113021 Messages d’erreur Exemple de programme 1: Erreur ;Programme séquentiel ... ... movef x1 100000 ... ... ... ;Sous-programme "L0" label L0 ld v0 eq 1 jmpc L_ERREUR_AXE1 ... ret Exemple de programme 2: Erreur ;Programme séquentiel ... ... move x1 100000 ... ... ... ;Sous-programme "L0" label L0 ld v0 eq 1 jmpc L_ERREUR_AXE1 ... ret Les variables v0 et v100 peuvent être consultées pour déterminer la cause de l’erreur. Variable v0 La variable v0 contient en cas d’erreur dans le programme séquentiel le numéro de l’axe qui a provoqué l’erreur. En cas d’erreur, il est possible de déplacer l’axe concerné au moyen des indicateurs de déplacement manuel m0 à m4. Exemple de programmation: ;Déterminer l’axe en erreur. ld v0 eq 1 jmpc L_ERREUR_AXE1 ld v0 eq 2 jmpc L_ERREUR_AXE2 ... ret ProOED3 No. d’ident.: 00441113021 ;Erreur sur l’axe x1 ;Erreur sur l’axe x2 7-11 Messages d’erreur Variable v100 Lorsqu’une erreur d’axe se produit, la variable v100 contient un numéro d’erreur qui permet de déterminer la cause de l’erreur. Les numéros d’erreur correspondent aux numéros indiqués sur l’afficheur 7 segments de la commande (voir plus haut). Exemple de programmation: ;Déterminer la cause de l’erreur label L_ERREUR_AXE1 ld v100 eq 22 ;Erreur contact de fin jmpc L_FIN_DE_COURSE ;de course positif ld v100 eq 23 ;Erreur contact de fin jmpc L_FIN_DE_COURSE ;de course négatif ... ;Traitement d’une erreur de contact de fin de course label L_FIN_DE_COURSE clrerror x1 jmpc snd_str ... -1 c1 ret 7-12 ProOED3 No. d’ident.: 00441113021 ;Effacer l’affichage ;d’erreur T_ERREUR Annexe 8 Annexe 8.1 Description des instructions Dans ce chapitre, les instructions sont décrites dans l’ordre alphabétique de la manière suivante: Brève description de l’instruction avec indication de la possibilité d’utilisation dans le programme séquentiel et/ou le programme API Désignation de l’instruction add Syntaxe de l’instruction avec les types d’opérande possibles Explication de l’instruction Addition possible dans le programme séquentiel et le programme API add <fknvw> L’instruction “add” permet d’effectuer une addition arithmétique entre un opérande et le ROP. ld 100 add 300 st v5 Bref exemple de programme avec l’instruction ProOED3 ;Charger la valeur 100 ;dans le ROP. ;Additionner la valeur 300 ;au contenu du ROP ;(valeur 100). ;Stocker le résultat dans ;la variable v5. Commentaire de l’exemple de programme Toutes les lignes de programme ne sont pas forcément commentées. Le commentaire n’est pas obligatoire. No. d’ident.: 00441113021 8-1 Annexe acc Accélération maximale possible dans le programme séquentiel acc <x> <fknvw> L’instruction “acc” permet d’entrer l’accélération maximale utilisée pour le calcul de la courbe d’accélération et de freinage sélectionnée (paramètre “Rampe”). Lors des déplacements suivants, l’axe correspondant x1 à x4 sera accéléré et freiné selon cette rampe. Si l’instruction “acc” n’est pas programmée, les rampes sont calculées à l’aide du paramètre de commande “Accélération standard”. IMPORTANT L’instruction “acc” n’est autorisée que pendant que l’axe est à l’arrêt. acc add x1 125 ;La rampe de l’axe x1 est ;accélérée et freinée à ;125 Hz/ms au maximum. Addition possible dans le programme séquentiel et le programme API add <fknvw> L’instruction “add” permet d’effectuer une addition arithmétique entre un opérande et le ROP. 8-2 ld 100 add 300 st v5 ProOED3 ;Charger la valeur 100 dans ;le ROP. ;Additionner la valeur 300 ;au contenu du ROP ;(valeur 100). ;Stocker le résultat ;dans la variable v5. No. d’ident.: 00441113021 Annexe amp Mettre sous/hors tension la commande de puissance possible dans le programme séquentiel amp <x> <k> L’instruction “amp” permet de mettre sous tension et hors tension la commande de puissance du moteur. Après son appel, le ROP contient l’état actuel de la commande de puissance. VRAI (<> 0) = commande de puissance prête FAUX (=0) = commande de puissance hors tension Exemple de programmation: amp x1 1 ;Mettre la commande de ;puissance sous tension jmpn -1 ;et attendre ;qu’elle soit sous tension ... amp x1 jmpc -1 ProOED3 0 ;Mettre la commande de ;puissance hors tension ;et attendre ;qu’elle soit hors tension No. d’ident.: 00441113021 8-3 Annexe and Opération ET possible dans le programme séquentiel et le programme API and andn <iqm> <iqm> L’instruction “and” permet d’effectuer une opération ET entre un opérande booléen et le ROP. L’appendice “n” permet d’effectuer une négation booléenne de l’opérande avant l’opération. Exemple de programmation 1: ld i1 ;Charger l’entrée i1 dans le ROP. and i2 ;Opération ET entre l’entrée ;i1 et i2. ;ROP = i1 and i2 st m25 ;Stocker le contenu du ROP ;dans l’indicateur m25. Exemple de programmation 2: ld i1 ;Charger l’entrée i1 dans le ROP. andn i3 ;Opération NON ET ;entre l’entrée i3 et i1. ;ROP = i1 andn i3 st m25 ;Stocker le contenu du ROP ;dans l’indicateur m25. 8-4 ProOED3 No. d’ident.: 00441113021 Annexe brake (uniquement pour la série 300) Définir une sortie de commande d’un frein possible dans le programme séquentiel brake <x> L’instruction “brake” permet de définir une sortie pour la commande d’un frein. La sortie est mise à un ou à zéro en fonction des signaux READY (disponibilité commande de puissance) et ENABLE (validation commande de puissance). ENABLE READY Sortie pour frein 0 0 0 0 1 0 1 0 0 1 1 1 Les sorties q4 à q7 sont affectées aux axes comme suit pour le fonctionnement du frein: Axe Sortie pour frein x1 q4 x2 q5 x3 q6 x4 q7 brake x1 brake x2 brake x3 brake x4 ProOED3 ;La sortie q4 ;comme sortie ;de l’axe x1. ;La sortie q5 ;comme sortie ;de l’axe x2. ;La sortie q6 ;comme sortie ;de l’axe x3. ;La sortie q7 ;comme sortie ;de l’axe x4. est utilisée pour le frein du moteur est utilisée pour le frein du moteur est utilisée pour le frein du moteur est utilisée pour le frein du moteur No. d’ident.: 00441113021 8-5 Annexe cal Appeler un sous-programme possible dans le programme séquentiel cal calc caln <L> <L> <L> L’instruction “cal” permet d’appeler un sous-programme à partir d’un label de saut défini. Il est possible d’imbriquer au maximum sept sousprogrammes. Les instructions “calc “ et “caln” permettent de programmer des appels de sous-programme conditionnels. Exemple de programmation 1: cal L10 ;Sauter au sous-programme ;débutant au label de saut L10. : label L10 ;Début du sous-programme : ret ;Retour au programme appelant Exemple de programmation 2: ld i10 ;Appeler le calc L20 ;si i10 = 1 ld i10 ;Appeler le caln L20 ;si i10 = 0 clrerror sous-programme (VRAI) sous-programme (FAUX) Remettre à zéro une erreur de signaux d’axe possible dans le programme séquentiel clrerror <x> L’instruction “clrerror” permet de remettre à zéro les erreurs de signaux d’axes LIMP, LIMN, STOP, erreur de poursuite et la panne de commande de puissance d’un axe. L’affichage clignotant sur l’afficheur de la face avant est effacé. Après l’appel de l’instruction, le ROP indique si l’axe présente toujours une erreur de signaux (ROP <>0) ou si plus aucune erreur de signaux n’est en suspens (ROP = 0). label L0 ;Début du sous-programme clrerror x1 jmpc -1 ;Remettre à zéro l’erreur ;de signaux sur l’axe 1 ;Attendre jusqu’à ce qu’il ;n’y ait plus d’erreur ret 8-6 ProOED3 No. d’ident.: 00441113021 Annexe cursor Positionner le curseur d’écran (terminal VT52) possible dans le programme séquentiel cursor <c> <fknvw> L’instruction “cursor” positionne le curseur du terminal VT52 raccordé. Le terminal peut être soit un FT2000 (2 lignes, 40 caractères) soit un terminal VT52 normal (24 lignes, 80 caractères). Le paramètre <c> spécifie l’interface à laquelle le terminal est raccordé. La position du curseur est définie par la valeur du paramètre <k, n, v ou w>. Les chiffres des centaines et des milliers indiquent le numéro de ligne. Les chiffres des dizaines et des unités définissent le numéro de colonne. 2 4 8 0 Ligne Colonne div cursor c1 120 cursor c1 101 cursor c1 2480 ;Positionne le curseur ;du terminal raccordé ;à l’interface c1 sur ;la ligne 1 dans la colonne 20. ;Position du curseur: ligne 1, ;colonne 1 ;Position du curseur: ligne 24, ;colonne 80 Division possible dans le programme séquentiel et le programme API div <fknvw> L’instruction “div” permet d’effectuer une division entre un opérande et le ROP. ld div 100 20 st v4 ProOED3 ;Charger la valeur 100 dans le ROP. ;Diviser le contenu du ROP ;(valeur 100) par la valeur 20. ;Stocker le résultat dans ;la variable v4. No. d’ident.: 00441113021 8-7 Annexe end Fin de programme possible dans le programme séquentiel et le programme API end L’instruction “end” termine le programme séquentiel ou le programme API. Le pointeur de programme repasse au début de programme. IMPORTANT L’instruction “end” est automatiquement ajoutée à la fin du programme lors du téléchargement (download). end eq ;Fin de programme et saut au ;début de programme Comparaison (égal à) possible dans le programme séquentiel et le programme API eq <fknvwiqm> L’instruction “eq” permet d’effectuer une comparaison (=) entre un opérande et le ROP. Après la comparaison, le ROP contient soit 0 (FAUX) soit 1 (VRAI). gearn ROP = 0 (FAUX) si la comparaison n’est pas satisfaite ou ROP = 1 (VRAI) si la comparaison est satisfaite. ld v10 eq 100 ;Charger la variable v10 dans ;le ROP. ;Effectuer la comparaison. ;ROP = 100 ? ;si la comparaison est ;satisfaite; ROP = 1, sinon ;ROP = 0. Facteur de réduction dénominateur possible dans le programme séquentiel gearn <x> <fknvw> L’instruction “gearn” permet de définir le dénominateur du facteur de réduction pour les axes x1 à x4 en mode poursuite de position. Cela permet de réaliser un réducteur électronique. Il s’applique: Impulsions = unités codeur x gearz + goff gearn Les unités codeur dépendent du réglage du paramètre “Evaluation de codeur DG1 ou DG2”. IMPORTANT Le facteur de réduction est pris en compte avec l’instruction “gearz”. 8-8 ProOED3 No. d’ident.: 00441113021 Annexe gearz gearn gearz x1 x1 4 3 ;Multiplier la valeur ;de position fournie ;à l’entrée codeur ;par le facteur ;de réduction 3/4. mode x1 1 label jmp L1 -1 ;Régler le mode ;poursuite de position ;par l’entrée codeur. ;Des impulsions peuvent ;maintenant être alimentées ;par l’entrée codeur. Facteur de réduction numérateur possible dans le programme séquentiel gearz <x> <fknvw> L’instruction “gearz” permet de définir le numérateur du facteur de réduction pour les axes x1 à x4 en mode poursuite de position. Cela permet de réaliser un réducteur électronique. Il s’applique: Impulsions = unités codeur x gearz + goff gearn Les unités codeur dépendent du réglage du paramètre “Evaluation de codeur DG1 ou DG2”. IMPORTANT Le facteur de réduction est pris en compte avec l’instruction “gearz”. getanalog (série 300 uniquement) gearn gearz x1 x1 4 3 ;Multiplier la valeur ;de position fournie ;à l’entrée codeur ;par le facteur ;de réduction 3/4. mode x1 1 label jmp L1 -1 ;Régler le mode ;poursuite de position ;par l’entrée codeur. ;Des impulsions peuvent ;maintenant être alimentées ;par l’entrée codeur. Lire une tension analogique possible dans le programme séquentiel getanalog <a> <knvw> L’instruction “getanalog” permet de lire une tension (mV) d’un module analogique (a2) dans le ROP. Le deuxième opérande sert à spécifier le numéro de canal de l’entrée analogique. getanalog ProOED3 a2 1 ;Lire la tension du module ;analogique (numéro de ;canal 1) dans le ROP. No. d’ident.: 00441113021 8-9 Annexe getport Lire des entrées ou des indicateurs et convertir en nombre possible dans le programme séquentiel getport <im> <fknvw> L’instruction “getport” permet d’interpréter une suite de signaux d’entrée ou d’indicateurs comme une valeur codée binaire et de la convertir en un nombre entier. Le résultat figure dans le ROP. L’opérande <i> ou <m> permet de définir à quelle entrée ou quel indicateur la suite de bits commence. Le deuxième opérande indique le nombre de signaux d’entrée ou d’indicateurs qui constitueront la valeur codée binaire. 8-10 getport i3 4 getport m32 8 ProOED3 ;La suite binaire des ;signaux d’entrée i3, i4, ;i5 et i6 est convertie en ;une valeur décimale ;et stockée dans le ROP. ;La suite binaire des ;indicateurs m32 à m39 ;est convertie en ;une valeur décimale ;et stockée dans le ROP. No. d’ident.: 00441113021 Annexe goff Offset de position pour le mode poursuite de position possible dans le programme séquentiel goff <x> <fknvw> L’instruction “goff” permet de superposer une valeur de position pour les axes x1 à x4 (offset de position) en mode poursuite de position (réducteur électronique). L’offset de position est interprété comme une position absolue et mis à zéro lors du basculement en mode poursuite de position. gt gearn gearz mode x1 x1 x1 4 3 1 goff x1 1000 goff x1 2000 label jmp L1 -1 ;Régler le facteur ;de réduction 3/4. ;L’axe x1 est réglé en mode ;poursuite de position ;par le codeur. ;Un offset de position ;de 1000 est additionné à ;la valeur de position ;de l’axe x1 et ;positionné. ;L’axe est déplacé ;de 1000 pas ;supplémentaires. ;Des impulsions peuvent ;maintenant être alimentées ;par l’entrée codeur Comparaison (plus grand que) possible dans le programme séquentiel et le programme API gt <fknvw> L’instruction “gt” (plus grand que) permet d’effectuer une comparaison (>) entre un opérande et le ROP. Après la comparaison, le ROP contient soit 0 (FAUX) soit 1 (VRAI). ROP = 0 (FAUX) si la comparaison n’est pas satisfaite ou ROP = 1 (VRAI) si la comparaison est satisfaite. ld v10 gt 1500 ProOED3 ;Charger la variable v10 ;dans le ROP. ;ROP > 1500 ? ;Si la comparaison est ;satisfaite, ROP = 1, ;sinon ROP = 0. No. d’ident.: 00441113021 8-11 Annexe handshake Synchronisation avec une commande de niveau supérieur possible dans le programme séquentiel handshake <i> <q> L’instruction “handshake” permet de programmer une synchronisation avec une commande de niveau supérieur. Le programme utilisateur s’arrête et attend que l’entrée de synchronisation soit = 1. Lorsque c’est le cas, la commande poursuit l’exécution du programme utilisateur, l’entrée de synchronisation est remise à zéro. Si l’entrée de synchronisation = 0, la sortie de synchronisation est mise à 1. handshake 8-12 ProOED3 i10 q8 ;Le programme est ;arrêté jusqu’à ce que ;i10 = 1. ;Lorsque le programme ;est arrêté, la sortie ;q8 = 1, sinon 0. No. d’ident.: 00441113021 Annexe jmp Saut de programme possible dans le programme séquentiel et le programme API jmp jmpc jmpn <lk> <lk> <lk> L’instruction “jmp” permet d’effectuer des sauts conditionnels et inconditionnels. Des sauts conditionnels sont possibles avec l’appendice “c” et “n”. Le paramètre “k” permet de définir un saut relatif de k lignes. Les instructions de saut avec l’appendice “c” ne sont exécutées que si la valeur contenue dans le ROP est différente de 0. Les instructions de saut avec l’appendice “n” ne sont exécutées que si la valeur contenue dans le ROP est égale à 0. Exemple de programmation 1: label ld L1 v10 add st 10 v100 ... jmp L1 ;Définir le label de saut L1. ;Charger la variable v10 dans ;le ROP. ;Additionner la valeur 10 au ROP. ;Stocker le résultat dans la ;variable v100. ;Sauter au label de saut L1. Exemple de programmation 2: ld jmpc i12 L10 ;Charger l’entrée i12 dans le ROP. ;Sauter au label L10 ;si i12 = 1. L10 ;Définir le label de saut L10. ... label Exemple de programmation 3: ld jmpn ProOED3 i10 -1 ;Charger l’entrée i10 dans le ROP. ;Si i10 = 0, sauter d’une ;ligne en arrière. No. d’ident.: 00441113021 8-13 Annexe label Label de saut de programme possible dans le programme séquentiel et le programme API label <L> L’instruction “label” permet de définir un label pour des sauts et des appels de sous-programmes. ld label ld L1 v10 add st 10 v100 jmp L1 ;Définir le label de saut L1. ;Charger la variable v10 dans ;le ROP. ;Additionner la valeur 10 au ROP. ;Stocker le résultat dans la ;variable v100. ;Sauter au label L1. Charger l’opérande dans le ROP possible dans le programme séquentiel et le programme API ld ldn <fknvwiqmxtp> <iqm> L’instruction “ld” permet de charger un opérande dans le ROP. L’appendice “n” permet d’effectuer une négation booléenne de l’opérande. IMPORTANT L’instruction ld x.. permet de lire la position actuelle de l’axe et l’instruction ld p.. la position actuelle du codeur. Exemple de programmation 1: ld i1 ;Charger l’entrée i1 dans le ROP. st m25 ;Stocker le contenu du ROP ;(entrée i1) dans l’indicateur m25. Exemple de programmation 2: ldn i1 ;Charger l’entrée i1 inversée ;dans le ROP. Exemple de programmation 3: ld x1 ;Lire la position actuelle ;de l’axe st v10 ;et la stocker dans la ;variable V10. Exemple de programmation 4: ld p2 ;Lire la position actuelle ;du codeur st v10 ;et la stocker dans la ;variable V10. 8-14 ProOED3 No. d’ident.: 00441113021 Annexe ld_LBit (série 300 uniquement) Lire un bit de l’interface de données de la console d’exploitation Lauer possible dans le programme séquentiel et le programme API ld_LBit <knvw> <knvw> L’instruction “ld_LBit” permet de lire un bit de l’interface de données de la console d’exploitation Lauer et de le stocker dans le ROP. Le premier paramètre <knvw> précise le numéro du mot dans lequel le bit doit être lu. L’interface de données comprend 256 mots, la plage de valeurs du premier paramètre est donc comprise entre 0 et 255. Le deuxième paramètre <knvw> précise le numéro du bit à l’intérieur du mot spécifié (16 bits). La plage de valeurs du deuxième paramètre est comprise entre 0 et 15. Exemples de programmation: ld_LBit ld_LBit ld_LBit ld_LBit ld_LBit ld_LDint (série 300 uniquement) 100, 100, 100, 255, 255, 0 1 15 0 1 ;Lire ;Lire ;Lire ;Lire ;Lire le le le le le bit bit bit bit bit 0 du mot 100 1 du mot 100 15 du mot 100 0 du mot 255 1 du mot 255 Lire un double mot de l’interface de données de la console d’exploitation Lauer possible dans le programme séquentiel et le programme API ld_LDint <knvw> L’instruction “ld_LDint” permet de lire un double mot de l’interface de données de la console d’exploitation Lauer et de le stocker dans le ROP. Le paramètre <knvw> précise le numéro du double mot qui doit être lu de l’interface de données de la console d’exploitation Lauer. La plage de valeurs du paramètre est comprise entre 0 et 254. Le dernier double mot de l’interface de données est formé par les mots 254 et 255. Exemples de programmation: ld_LDint 0 ld_LDint 1 ld_LDint 254 ProOED3 ;Lire ;(mot ;Lire ;(mot ;Lire ;(mot No. d’ident.: 00441113021 le double mot 0 0 et mot 1) le double mot 1 1 et mot 2) le double mot 254 254 et mot 255) 8-15 Annexe ld_LInt (série 300 uniquement) Lire un mot de l’interface de données de la console d’exploitation Lauer possible dans le programme séquentiel et le programme API ld_LInt <knvw> L’instruction “ld_LInt” permet de lire un mot de l’interface de données de la console d’exploitation Lauer et de le stocker dans le ROP. Le paramètre <knvw> précise le numéro du mot qui doit être lu de l’interface de données de la console d’exploitation Lauer. L’interface de données comprend 256 mots, la plage de valeurs du paramètre est donc comprise entre 0 et 255. Exemples de programmation: ld_LInt 100 ;Lire le mot 100 ld_LInt 101 ;Lire le mot 101 ld_LInt 255 ;Lire le mot 255 ld_LKey (série 300 uniquement) Lire l’état d’une touche (bit de clavier) de la console d’exploitation Lauer possible dans le programme séquentiel et le programme API ld_LKey <knvw> L’instruction “ld_LKey” permet de lire directement l’état d’une touche de la console d’exploitation Lauer (bit de clavier) dans le ROP. Quand la touche correspondante est appuyée, le bit de clavier vaut 1, sinon il vaut 0. Le paramètre <knvw> spécifie le numéro du bit de clavier. Le paramètre ne peut prendre que des valeurs comprises entre 0 et 31. La correspondance entre le numéro de bit et la touche de la console d’exploitation est définie par programmation (se reporter à la documentation de la société Lauer). Exemple de programmation 1: Contrôler la touche de numéro 10 ld_LKey 10 eq jmpc ... 1 label ;Charger le bit de clavier 10 ;dans le ROP ;Si la touche est appuyée ... ;sauter à "label" Exemple de programmation 2: Contrôler la touche de numéro 12 (en utilisant la variable v10 pour stocker le numéro de touche) 8-16 ld st ld_LKey 12 v10 v10 eq jmpc ... 1 label ProOED3 ;Charger la valeur 12 dans la ;variable v10 ;Charger le bit de clavier 12 ;dans le ROP ;Si la touche est appuyée ... ;sauter à "label" No. d’ident.: 00441113021 Annexe linmove (série 300 uniquement) Interpolation linéaire vers une position relative sans attendre possible dans le programme séquentiel linmove L’instruction “linmove” lance, en mode point à point, une interpolation linéaire préparée (voir instruction “setipos”) vers une position relative. Le programme poursuit son exécution parallèlement au mouvement de l’axe. La consigne de position ne peut pas être modifiée pendant un positionnement. setipos setipos setipos x1 x2 x3 1000 2000 3000 linmove m1001 m1002 m1003 -3 ld or or jmpc linmovef (série 300 uniquement) ;Consignes de position en ;unités utilisateur pour ;les axes x1 à x3 qui ;participent à ;l’interpolation. ;Lancer l’interpolation ;linéaire vers une position ;relative. ;Attendre que les axes ;participant à l’interpola;tion soient à l’arrêt Interpolation linéaire vers une position relative et attendre possible dans le programme séquentiel linmovef L’instruction “linmovef” lance, en mode point à point, une interpolation linéaire (voir instruction “setipos”) vers une position relative et le programme séquentiel atteint que la position soit atteinte. setipos setipos x1 x2 linmovef ProOED3 1000 2000 ;Consignes de position en ;unités utilisateur pour ;les axes x1 à x2 qui ;participent à ;l’interpolation. ;Lancer l’interpolation ;linéaire vers une position ;relative et attendre que la ;position soit atteinte. No. d’ident.: 00441113021 8-17 Annexe linpos (série 300 uniquement) Interpolation linéaire vers une position absolue sans attendre possible dans le programme séquentiel linpos L’instruction “linpos” lance, en mode point à point, une interpolation linéaire (voir instruction “setipos”) vers une position absolue. Le programme poursuit son exécution parallèlement au mouvement de l’axe. La consigne de position ne peut pas être modifiée pendant un positionnement. IMPORTANT Un déplacement de référence ou une fixation de point de référence devrait être effectué(e) avant des positionnements absolus (voir chapitre Mode point à point 6.3.2.2). setipos setipos setipos x1 x2 x3 5000 4000 3000 linpos ... ld or or jmpc linposf (série 300 uniquement) m1001 m1002 m1003 -3 ;Consignes de position en ;unités utilisateur pour ;les axes x1 à x3 qui ;participent à ;l’interpolation. ;Lancer l’interpolation ;linéaire vers une position ;absolue. ;Attendre que les axes ;participant à l’inter;polation soient à l’arrêt Interpolation linéaire vers une position absolue et attendre possible dans le programme séquentiel linposf L’instruction “linposf” lance, en mode point à point, une interpolation linéaire (voir instruction “setipos”) vers une position absolue et le programme séquentiel atteint que la position soit atteinte. IMPORTANT Un déplacement de référence ou une fixation de point de référence devrait être effectué(e) avant des positionnements absolus (voir chapitre Mode point à point 6.3.2.2). setipos setipos linposf 8-18 ProOED3 x1 x2 5000 4000 ;Consignes de position en ;unités utilisateur pour ;les axes x1 à x2 qui ;participent à ;l’interpolation. ;Lancer l’interpolation ;linéaire vers une position ;absolue et attendre que la ;position soit atteinte. No. d’ident.: 00441113021 Annexe lt Comparaison (plus petit que) possible dans le programme séquentiel et le programme API lt <fknvw> L’instruction “lt” (plus petit que) permet d’effectuer une comparaison entre un opérande et le ROP. Après la comparaison, le ROP contient soit 0 (FAUX) soit 1 (VRAI). ROP = 0 (FAUX) si la comparaison n’est pas satisfaite ou ROP = 1 (VRAI) si la comparaison est satisfaite. mode ld v11 lt 1800 ;Charger la variable v11 dans ;le ROP. ;Si ROP < 1800, ;ROP = 1, sinon ROP = 0. Définir le mode de fonctionnement d’axe possible dans le programme séquentiel mode <x> <k> L’instruction “mode” permet de définir le mode de fonctionnement d’un axe. Elle n’est autorisée que si l’axe est à l’arrêt. 0 1 Mode point à point Mode poursuite de position par l’entrée codeur (réducteur électronique) Les impulsions appliquées sont converties à l’entrée codeur en un mouvement de moteur. Mode poursuite de position par variable La valeur de la variable est convertie en un mouvement de moteur. 2 IMPORTANT Il faut définir un facteur de réduction pour un réducteur électronique avant d’activer le mode poursuite de position. Pour le mode poursuite de position par variables, des variables de poursuite de position sont prédéfinies pour les axes x1 à x4. Variable Signification v101 Variable de poursuite de position axe x1 v102 Variable de poursuite de position axe x2 v103 Variable de poursuite de position axe x3 v104 Variable de poursuite de position axe x4 ProOED3 No. d’ident.: 00441113021 8-19 Annexe IMPORTANT La commande est toujours en mode point à point à la mise sous tension. Les exemples suivants présentent la programmation des différents modes de fonctionnement d’axe. Exemple de programmation 1: ld 0 st x1 mode x1 0 ;Charger la valeur 0 ;dans le ROP. ;Stocker le contenu du ROP ;comme valeur de position ;pour l’axe x1. ;L’axe x1 est réglé ;en mode point à point. Exemple de programmation 2: gearn gearz mode x1 x1 x1 3 4 1 ;Régler le facteur ;de réduction 3/4. ;L’axe x1 est réglé ;en mode poursuite de ;position par codeur. Exemple de programmation 3: gearn gearz mode 8-20 ProOED3 x1 x1 x1 3 4 2 ;Régler le facteur ;de réduction 3/4. ;L’axe x1 est réglé ;en mode poursuite de ;position par variable. No. d’ident.: 00441113021 Annexe move Positionnement relatif sans attendre possible dans le programme séquentiel move <x> <fknvw> L’instruction “move” permet, en mode point à point, de spécifier une position cible relative et de lancer le positionnement. Le programme poursuit son exécution parallèlement au mouvement de l’axe. La consigne de position peut être modifiée pendant un positionnement. IMPORTANT L’instruction “move” permet de spécifier une nouvelle position cible pendant qu’un positionnement relatif sans attendre est en cours. Pour calculer la nouvelle position cible, la valeur de position transférée par l’instruction “move” est additionnée à la position cible précédente. Pendant le positionnement des axes x1 à x4, les états de déplacement (se positionne, à l’arrêt) du moteur correspondant sont stockés dans des indicateurs. Indicateur Signification 0 1 m1001 Axe x1 à l’arrêt Axe x1 se positionne m1002 Axe x2 à l’arrêt Axe x2 se positionne m1003 Axe x3 à l’arrêt Axe x3 se positionne m1004 Axe x4 à l’arrêt Axe x4 se positionne move x1 ld m1001 jmpc -1 ProOED3 500 ;500 unités utilisateur ;sont spécifiées comme ;consigne de position ;relative pour l’axe x1 ;et une nouvelle ;position cible absolue ;est calculée. ;Attendre que l’axe x1 ;soit à l’arrêt No. d’ident.: 00441113021 8-21 Annexe movef Positionnement relatif et attendre possible dans le programme séquentiel movef <x> <fknvw> L’instruction “movef” permet, en mode point à point, de spécifier une position cible relative, de lancer le positionnement et d’arrêter le programme séquentiel jusqu’à ce que la position cible soit atteinte. Les états des indicateurs m1001 à m1004 ont la même signification que pour l’instruction “move”. movef mul x1 1000 ;1000 unités utilisateur ;sont spécifiées comme ;consigne de position ;relative pour l’axe x1 et ;le programme attend jusqu’à ;ce que la nouvelle position ;cible absolue soit atteinte. Multiplication possible dans le programme séquentiel et le programme API mul <fknvw> L’instruction “mul” permet d’effectuer une multiplication entre un opérande et le ROP. 8-22 ld 100 mul 20 st v3 ProOED3 ;Charger la valeur 100 dans ;le ROP. ;Multiplier le contenu ;du ROP (valeur 100) par la ;valeur 20. ;Stocker le résultat dans ;la variable v3. No. d’ident.: 00441113021 Annexe nop Instruction vide possible dans le programme séquentiel et le programme API nop L’instruction “nop” est une instruction vide (durée d’exécution environ 500 µs - 1000 µs). or Opération OU possible dans le programme séquentiel et le programme API or orn <iqm> <iqm> L’instruction “or” permet d’effectuer une opération OU entre un opérande booléen et le ROP. L’appendice “n” permet d’inverser l’opérande avant l’opération. Exemple de programmation 1: ld i1 ;Charger l’entrée i1 dans le ROP. or i2 ;Opération OU entre ;l’entrée i1 et i2. ;ROP = i1 or i2 st m25 ;Stocker le contenu du ROP ;dans l’indicateur m25. Exemple de programmation 2: ld i1 ;Charger l’entrée i1 dans le ROP. and i2 ;Opération ET entre ;i1 et i2. ;ROP = i1 and i2. orn i3 ;Opération NON OU ;entre le ROP et l’entrée i3. ;ROP = ROP orn i3 st m25 ;Stocker le contenu du ROP ;dans l’indicateur m25. ProOED3 No. d’ident.: 00441113021 8-23 Annexe pos Positionnement absolu sans attendre possible dans le programme séquentiel pos <x> <fknvw> L’instruction “pos” permet, en mode point à point, de spécifier une position cible absolue et de lancer le positionnement. Le programme poursuit son exécution parallèlement au mouvement de l’axe. Les états des indicateurs m1001 à m1004 ont la même signification que pour l’instruction “move”. IMPORTANT L’instruction “pos” permet de spécifier une nouvelle position cible absolue pendant qu’un positionnement absolu sans attendre est en cours. IMPORTANT Un déplacement de référence ou une fixation de point de référence devrait être effectué(e) avant des positionnements absolus (voir chapitre Mode point à point 6.3.2.2). posf pos x1 ld jmpc m1001 -1 1000 ;1000 unités utilisateur ;sont spécifiées comme ;consigne de position ;absolue pour l’axe x1. ;Attendre que l’axe x1 soit ;à l’arrêt Positionnement absolu et attendre possible dans le programme séquentiel posf <x> <fknvw> L’instruction “posf” permet, en mode point à point, de spécifier une position cible absolue et d’arrêter le programme séquentiel jusqu’à ce que la position cible soit atteinte. Les états des indicateurs m1001 à m1004 ont la même signification que pour l’instruction “move”. IMPORTANT Un déplacement de référence ou une fixation de point de référence devrait être effectué(e) avant des positionnements absolus (voir chapitre Mode point à point 6.3.2.2). posf 8-24 ProOED3 x1 2000 ;2000 unités utilisateur ;sont spécifiées comme ;consigne de position ;absolue pour l’axe x1 et le ;programme attend jusqu’à ;ce que la nouvelle position ;cible soit atteinte. No. d’ident.: 00441113021 Annexe r Mettre une sortie ou un indicateur à 0 possible dans le programme séquentiel et le programme API r <qm> L’instruction “r” permet de remettre à 0 une sortie ou un indicateur en fonction du résultat d’opération. L’instruction n’est exécutée que si ROP = 1. rec_char ld i1 and i2 r q5 ;Charger l’entrée i1 dans ;le ROP. ;Opération ET entre ;l’entrée i1 et i2. ;ROP = i1 and i2. ;La sortie q5 est mise à 0 ;si ROP = 1. Recevoir un caractère par l’interface série et attendre possible dans le programme séquentiel rec_char <c> <fnvw> L’instruction “rec_char” lit un caractère de l’interface <c> et stocke sa valeur décimale ASCII dans la variable <n>, <v> ou <w>. rec_char rec_char_n c1 v20 ;Lit un caractère ;de l’interface c1 et ;stocke la valeur décimale ;dans la variable v20. Recevoir un caractère par l’interface série sans attendre possible dans le programme séquentiel rec_char_n <c> <fnvw> L’instruction “rec_char_n” lit un caractère de l’interface <c> et stocke sa valeur décimale ASCII dans la variable <n>, <v> ou <w>. IMPORTANT Si aucun caractère n’est présent, l’instruction retourne -1 dans le ROP. rec_char_n c1 eq jmpc ProOED3 -1 L10 v20 ;Lit un caractère ;de l’interface c1 et ;stocke la valeur décimale ;dans la variable v20. ;Si pas de caractère ;présent, sauter au ;label L10. No. d’ident.: 00441113021 8-25 Annexe rec_dez Recevoir un nombre décimal possible dans le programme séquentiel rec_dez <c> <fnvw> L’instruction rec_dez permet de recevoir un nombre décimal via l’interface série. Le nombre reçu est stocké sur 32 bits dans une variable (f, v, w, n). Le nombre de décimales possibles est défini par le paramètre de commande “Décimales”. Les seules entrées autorisées sont les caractères ASCII <0-9> <CR> et un <-> comme premier caractère. Le caractère <DEL> (touche “←” du FT2000) ou <STRG> <Y> efface tous les caractères déjà entrés sur l’affichage. Paramètre de commande: Décimales 2 label rec_dez L10 c1 eq jmpc -1 L10 v10 ;Recevoir un nombre à ;2 décimales et le stocker ;dans la variable v10. ;Si pas de caractère ;présent, sauter ;au label L10. Exemple d’entrée: valeur dans v10 200260 <CR> 200260 <CR> -2002.6 <CR> -2002.60 <CR> <CR> <Strg_Y> 8-26 ProOED3 20026000 2002600 200260 200260 valeur reste inchangée valeur reste inchangée No. d’ident.: 00441113021 Annexe rec_var Afficher, éditer et recevoir un nombre par l’interface série possible dans le programme séquentiel rec_var <c> <fnvw> L’instruction “rec_var” affiche le nombre décimal qui est stocké dans <n>, <v> ou <w> sur un terminal VT52 (FT2000) via l’interface série <c>. Ce nombre peut être édité sur le terminal. L’entrée du nombre se termine par le caractère de contrôle <CR> et le nouveau nombre est restocké dans la variable correspondante. ld st rec_var rec_var_n 1024 v10 c1 v10 ;Affiche le nombre décimal 1024 ;sur un terminal raccordé ;à l’interface c1. ;Le nombre peut être ;édité. <CR> termine ;l’entrée et le ;nombre est restocké ;dans la variable v10. Recevoir un nombre par l’interface série et le stocker dans une variable possible dans le programme séquentiel rec_var_n <c> <fnvw> L’instruction “rec_var_n” lit de l’interface <c> une chaîne de caractères et la convertit en un nombre. La valeur est stockée dans la variable <f>, <n>, <v> ou <w>. Cette instruction permet l’entrée rapide de nombres sans sortie préalable du nombre via l’interface. Une entrée de nombre doit se terminer par le caractère de contrôle <CR>. IMPORTANT A l’appel de l’instruction “rec_var_n”, un signe d’interrogation est envoyé par l’interface série en guise d’invitation à entrer un nombre. Il est possible d’entrer des nombres positifs et négatifs. rec_var_nc1 ProOED3 v10 ;Lit de l’interface ;c1 un nombre ;décimal dans la ;variable v10. No. d’ident.: 00441113021 8-27 Annexe ref Déplacement de référence sans attendre possible dans le programme séquentiel ref <x> L’instruction “ref” lance un déplacement de référence vers un contact de fin de course ou un contact de référence. Le programme poursuit ensuite son exécution parallèlement au déplacement de référence. La sélection du contact de fin de course ou de référence s’effectue en modifiant le paramètre “Type du déplacement de référence” (voir chapitre 6.1.2, Réglage des paramètres de commande). Un déplacement de référence n’est possible qu’en mode point à point. Après que le déplacement de référence a été lancé par l’instruction “ref”, le moteur se déplace à la vitesse réglée vers le contact de fin de course ou de référence. Il revient ensuite en sens opposé vers le point de référence. La vitesse de ce déplacement est définie par le paramètre “Vitesse depuis le contact de fin de course”. reff ref ... x1 ld jmpc m1001 -1 ;Un déplacement de référence ;est effectué en fonction du ;paramètre "Type du déplacement ;de référence". ;Attendre que l’axe x1 soit à ;l’arrêt Déplacement de référence et attendre possible dans le programme séquentiel reff <x> L’instruction “reff” est identique à l’instruction “ref” à la différence près que le programme séquentiel est arrêté jusqu’à la fin du déplacement de référence. Si une erreur survient lors du déplacement de référence, le programme séquentiel est bloqué par le déplacement de référence. reff restart x1 ;Effectue un déplacement ;de référence et attend qu’un ;point de référence soit atteint. Relancer le programme séquentiel possible dans le programme séquentiel restart L’instruction “restart” permet de réinitialiser la commande. Le programme séquentiel et le programme API sont relancés à partir de la ligne 1. Les contenus des variables sont conservés. restart 8-28 ProOED3 ;Réinitialiser la commande No. d’ident.: 00441113021 Annexe ret Retour de sous-programme possible dans le programme séquentiel ret L’instruction “ret” permet de quitter un sous-programme. Exemple de programmation: voir instruction “cal”. s Mettre une sortie ou un indicateur à 1 possible dans le programme séquentiel et le programme API s <qm> L’instruction “s” permet de mettre à 1 une sortie ou un indicateur en fonction du résultat d’opération. L’instruction n’est exécutée que si ROP = 1. screen ld i1 and i2 s q5 ;Charger l’entrée i1 dans ;le ROP. ;Opération ET entre ;l’entrée i1 et i2. ;ROP = i1 and i2. ;La sortie q5 est mise à 1 ;si ROP = 1. Gestion d’écran (terminal VT52) possible dans le programme séquentiel screen <c> <fknvw> L’instruction “screen” est une instruction universelle pour la gestion d’écran sur un terminal VT52 ou FT2000 (voir aussi chapitre 5.4.3, “Fonctions de test”). L’opérande <fknvw> définit l’action. Les caractères de contrôle générés par cette instruction ne sont pas compris par un terminal ASCII. <fknvw> 0 1 2 3 4 5 6 7 8 screen screen screen ProOED3 Signification Effacer l’écran 1 ligne vers le haut 1 ligne vers le bas 1 caractère vers la droite 1 caractère vers la gauche Position du curseur: ligne 1, colonne 1 (HOME) Effacer la ligne à gauche du curseur Effacer la ligne à droite du curseur Effacer toute la ligne c1 c1 c1 0 8 5 ;Effacer l’écran ;Effacer la ligne ;Ligne 1, colonne 1 ;(position Home) No. d’ident.: 00441113021 8-29 Annexe setanalog (série 300 uniquement) Délivrer une tension analogique possible dans le programme séquentiel setanalog <a> <knvw> L’instruction “setanalog” délivre une tension (mV) à la sortie du module analogique (a2). La tension doit être spécifiée en millivolts (mV) dans le ROP. Le deuxième opérande <knvw> spécifie le numéro de canal de la sortie analogique. ld setanalog setcurrent 5000 a2 ;Délivrer une tension de 5V ;à la sortie 1 du module ;analogique. 1 Régler le courant moteur possible dans le programme séquentiel setcurrent <x> <fknvw> L’instruction “setcurrent” permet de régler le courant moteur pour différents états de déplacement de l’entraînement (pour les réglages de base, se reporter à la documentation de l’appareil). La valeur de courant est indiquée en pour cent (0-100%) et se rapporte au courant maximum réglé sur la face avant. La valeur de courant est transmise à l’instruction par le ROP. Il est possible de spécifier le courant pour l’arrêt, pour la phase d’accélération/de décélération et pour le déplacement à vitesse constante. Les valeurs de courant réglées deviennent actives aux états de déplacement correspondants. Le deuxième paramètre <fknvw> permet de définir l’état de déplacement auquel s’applique le réglage de courant. 0 = Arrêt 1 = Accélération/décélération 2 = Vitesse constante setipos (série 300 uniquement) ld 50 setcurrent x1 ;A l’arrêt, le courant ;est abaissé à 50% de ;sa valeur maximale. 0 Préparer une interpolation linéaire possible dans le programme séquentiel setipos <x> <knvw> L’instruction “setipos” permet, en mode point à point, de préparer une interpolation linéaire à deux ou trois axes. Pour chaque axe participant à l’interpolation, il doit être spécifié une position cible en unités utilisateur. Le nombre d’instructions “setipos” successives détermine s’il s’agit d’une interpolation à 2 axes ou à 3 axes. L’interpolation proprement dite est lancée par une instruction (p.ex. “linmove” ou “linpos”). 8-30 ProOED3 No. d’ident.: 00441113021 Annexe La consigne de position ne peut pas être modifiée pendant un positionnement. Exemple de programmation 1: setipos setipos setipos x1 x2 x3 1000 2000 3000 linmovef ;Consignes de position en ;unités utilisateur pour ;les axes x1 à x3 qui ;participent à ;l’interpolation. ;Lancer l’interpolation ;linéaire vers une ;position cible relative. Exemple de programmation 2: setipos setipos setipos x1 x2 x3 1000 2000 3000 linposf setsiglist (série 300 uniquement) ;Consignes de position en ;unités utilisateur pour ;les axes x1 à x3 qui ;participent à ;l’interpolation. ;Lancer l’interpolation ;linéaire vers une ;position cible absolue. Activer une liste de positions possible dans le programme séquentiel setsiglist <x> <knvw> L’instruction “setsiglist” active une liste de signaux de position. La sortie q0 est commutée, c.-à-d. mise alternativement à 0 et à 1 en fonction de la liste de signaux de position. On utilise comme liste de signaux de position les variables de position de l’axe correspondant. Les liste de positions commencent par w100 (w200, w300, w400), selon l’axe sélectionné (x1 = w100 ..., x2 = w200 ..., x3 = w300 ..., x4 = w400 ...). Le deuxième opérande de l’instruction spécifie le nombre de positions qui doivent être traitées. Si le deuxième opérande contient une valeur négative, la liste est traitée dans l’ordre inverse. Dès que la première position de la liste est atteinte, la sortie q0 est mise à 1 et la liste prise en compte. A chaque fois que l’axe atteint la position suivante dans la liste, le niveau de signal à la sortie q0 change. Si la sortie est active, elle est mise à l’état inactif et vice versa. setsiglist x1 14 movef 1000 ProOED3 x1 ;La liste de positions ;pour l’axe x1 est ;activée. ;Lancer le positionnement No. d’ident.: 00441113021 8-31 Annexe settrigger (série 300 uniquement) Activer la fonction de déclenchement possible dans le programme séquentiel settrigger <x> <k> L’instruction “settrigger” active l’entrée de déclenchement de l’axe <x>. La constante <k> permet de choisir si l’entrée de déclenchement doit réagir à un flanc montant (k=1) ou à un flanc descendant (k=0). La survenue d’un événement déclencheur est enregistrée dans les indicateurs m1011, m1012, m1013 et m1014. La position de l’axe est stockée dans les variables v111 à v114 aussi longtemps que le signal de déclenchement est actif. Lorsque le signal de déclenchement devient inactif, la position de l’axe est figée dans la variable correspondante. Les indicateurs doivent être remis à zéro par l’utilisateur. Axe Indicateur de déclenchement Position de déclenchement x1 m1011 v111 x2 m1012 v112 x3 m1013 v113 x4 m1014 v114 settrigger settrigger x1 x1 1 ;Activer l’entrée de ;déclenchement pour l’axe x1 ;(flanc montant) 1 trig 1 v111 Position de l'axe x1 m1011 ld st 8-32 ProOED3 0 m1011 No. d’ident.: 00441113021 Annexe snd_char Envoyer un caractère par l’interface série possible dans le programme séquentiel snd_char <c> <fknvw> L’instruction “snd_char” envoie un caractère unique via l’interface série <c>. La valeur décimale contenue dans la constante <k> ou dans la variable <n>, <v> ou <w> est envoyée sous forme de caractère ASCII. Exemple de programmation 1: snd_char c1 65 ;Envoie le caractère ’A’ ;(valeur décimale ASCII ;= 65) ;via l’interface série c1. Exemple de programmation 2: snd_dez ld st 66 v10 snd_char c1 v10 ;Envoie le caractère ’B’ ;(valeur décimale ASCII ;= 66) ;via l’interface série c1. Envoyer un nombre décimal par l’interface série possible dans le programme séquentiel snd_dez <c> <fnvw> L’instruction “snd_dez” permet d’envoyer par l’interface série un nombre entier sur 32 bits comportant des décimales fictives. Le nombre de décimales est défini dans le paramètre de commande “Décimales”. Le nombre à envoyer doit être stocké dans une variable (f, v, w, n). Paramètre de commande: "Décimales" 2 ld st snd_dez 12 v10 c1 v10 ;Envoyer le nombre ;à 2 décimales ;contenu dans v10 (0.12) ld st snd_dez 1000 v10 c1 v10 ;10.00 ProOED3 No. d’ident.: 00441113021 8-33 Annexe snd_str Envoyer une chaîne de caractères possible dans le programme séquentiel snd_str <c> <fknvw> L’instruction “snd_str” envoie une chaîne de caractères par l’interface série. La chaîne de caractères doit être entrée à l’aide de l’éditeur “Textes d’émission”. Le numéro de la chaîne de caractères à envoyer est déterminé par la valeur de la constante <k> ou de la variable <n>, <v> ou <w>. Texte d’émission: 14: Déplacement de référence en cours. 15: Déplacement de référence terminé. Exemple de programmation 1: snd_str c1 14 Exemple de programmation 2: ld 15 st v10 snd_str c1 v10 8-34 ProOED3 ;Envoyer le texte ;d’émission 14 via ;l’interface série c1. ;Envoyer le texte ;d’émission 15 via ;l’interface série c1. No. d’ident.: 00441113021 Annexe snd_var Envoyer un nombre par l’interface série possible dans le programme séquentiel snd_var <c> <fnvw> L’instruction “snd_var” envoie la valeur décimale de la variable <n>, <v> ou <w> sous forme de chaîne de caractères par l’interface série <c>. st ld st x1 v20 snd_var c1 ;Lire la position réelle ;de l’axe x1 et la stocker ;dans la variable v20. v20 ;La position réelle ;est envoyée comme ;chaîne de caractères ;par l’interface série c1. Stocker le ROP dans l’opérande possible dans le programme séquentiel et le programme API st stn <fnvwqmxt> <qm> L’instruction “st” permet de stocker le ROP dans un opérande. L’appendice “n” permet d’inverser l’opérande. IMPORTANT L’opérande <t> (timer) n’est autorisé que dans le programme API. Exemple de programmation 1: ld i1 st m25 ;Charger l’entrée i1 dans ;le ROP. ;Stocker le contenu du ROP ;(entrée i1) dans ;l’indicateur m25. Exemple de programmation 2: ld i1 stn m25 ProOED3 ;Charger l’entrée i1 dans ;le ROP. ;Stocker le contenu du ROP ;(entrée i1 inversée) dans ;l’indicateur m25. No. d’ident.: 00441113021 8-35 Annexe st_LBit (série 300 uniquement) Ecrire un bit dans l’interface de données de la console d’exploitation Lauer possible dans le programme séquentiel et le programme API st_LBit <knvw> <knvw> L’instruction “st_LBit” permet d’écrire un bit dans l’interface de données de la console d’exploitation Lauer. Le premier paramètre <knvw> précise le numéro du mot dans lequel le bit doit être écrit. L’interface de données comprend 256 mots, la plage de valeurs du premier paramètre est donc comprise entre 0 et 255. Le deuxième paramètre <knvw> précise le numéro du bit à l’intérieur du mot spécifié (16 bits). La plage de valeurs du deuxième paramètre est comprise entre 0 et 15. IMPORTANT La plage inférieure de l’interface de données est préaffectée, se reporter à la documentation de la console d’exploitation Lauer. Exemples de programmation: st_LDint (série 300 uniquement) st_LBit 100, 0 st_LBit 100, 15 st_LBit 255, 0 st_LBit 255, 1 ;Ecrire ;le mot ;Ecrire ;le mot ;Ecrire ;le mot ;Ecrire ;le mot le bit 100 le bit 100 le bit 255 le bit 255 0 dans 15 dans 0 dans 1 dans Ecrire un double mot dans l’interface de données de la console d’exploitation Lauer possible dans le programme séquentiel et le programme API st_LDint <knvw> L’instruction “st_LDint” permet d’écrire le contenu du ROP comme double mot dans l’interface de données de la console d’exploitation Lauer. Le paramètre <knvw> précise le numéro du double mot dans l’interface de données de la console d’exploitation Lauer. La plage de valeurs du paramètre est comprise entre 0 et 254. Le dernier double mot de l’interface de données est formé par les mots 254 et 255. IMPORTANT La plage inférieure de l’interface de données est préaffectée, se reporter à la documentation de la console d’exploitation Lauer. Exemples de programmation: 8-36 st_LDint 100 st_LDint 254 ProOED3 ;Ecrire le double mot 100 ;(mot 100 et mot 101) ;Ecrire le double mot 254 ;(mot 254 et mot 255) No. d’ident.: 00441113021 Annexe st_LInt (série 300 uniquement) Ecrire un mot dans l’interface de données de la console d’exploitation Lauer possible dans le programme séquentiel et le programme API st_LInt <knvw> L’instruction “st_LInt” permet d’écrire le contenu du ROP comme mot dans l’interface de données de la console d’exploitation Lauer. Le paramètre <knvw> précise le numéro du mot dans l’interface de données de la console d’exploitation Lauer. L’interface de données comprend 256 mots, la plage de valeurs du paramètre est donc comprise entre 0 et 255. IMPORTANT La plage inférieure de l’interface de données est préaffectée, se reporter à la documentation de la console d’exploitation Lauer. IMPORTANT Le ROP calcule toujours avec des valeurs DINT, ce qui signifie que l’instruction “st_LInt” peut entraîner des pertes d’informations. Exemples de programmation: st_LInt st_LInt st_LInt stop 100 120 255 ;Ecrire le mot 100 ;Ecrire le mot 120 ;Ecrire le mot 255 Arrêter un axe possible dans le programme séquentiel stop <x> L’instruction “stop” permet d’arrêter un déplacement d’axe ou une interpolation linéaire. Après l’entrée de l’instruction “stop”, le moteur est commuté à l’état inactif et peut être réactivé par l’instruction “pos”. stopa (série 300 uniquement) stop ld x1 m1001 jmpc -1 ;L’axe x1 est arrêté. ;Attendre que l’axe x1 soit ;à l’arrêt Arrêter tous les axes possible dans le programme séquentiel stopa L’instruction “stopa” permet d’arrêter tous les déplacements d’axe ou une interpolation linéaire. Après l’entrée de l’instruction “stopa”, les moteurs sont commutés à l’état inactif et peuvent être réactivés par l’instruction “pos”. stopa ld or or or jmpc ProOED3 m1001 m1002 m1003 m1004 -4 ;Arrêter tous les déplacements ;d’axe ou une interpolation ;linéaire. ;Attendre que tous les axes ;soient à l’arrêt. No. d’ident.: 00441113021 8-37 Annexe stimer Charger et lancer un timer possible dans le programme API stimer <t> Les timers sont des variables spéciales dont la valeur se modifie avec le temps. Il existe les timers t0 à t9. L’instruction “stimer” permet de charger une valeur de temps dans un timer et de l’activer. La résolution de temps est de 100 ms (temps = valeur de temps x 100 ms). La valeur 0 permet d’arrêter un timer en marche. Il est possible de forcer à tout moment une nouvelle valeur de temps. sub ld st 10 t1 stimer t1 ;Charger ;Stocker ;dans le ;Activer le temps, ici 1 s. la valeur de temps timer 1. le timer 1. ld eq st t1 0 q1 ;Lire le temps du timer 1. ;Si timer 1 = 0, ;Positionner la sortie q1. Soustraction possible dans le programme séquentiel et le programme API sub <fknvw> L’instruction “sub” permet d’effectuer une soustraction entre un opérande et le ROP. vel ld 100 sub 30 st v6 ;Charger la valeur 100 dans ;le ROP. ;Soustraire la valeur 30 ;du contenu du ROP ;(valeur 100). ;Stocker le résultat ;dans la variable v6. Régler la vitesse de consigne possible dans le programme séquentiel vel <x> <fknvw> L’instruction “vel” permet de régler la vitesse de consigne d’un axe. Si, en mode point à point, aucune vitesse de consigne n’est définie, l’axe se positionne à la “vitesse standard” entrée dans l’éditeur de paramètres. La vitesse de consigne peut être modifiée avant ou pendant un positionnement. Elle doit toujours être supérieure à 0. vel 8-38 ProOED3 x1 10000 ;Régler une vitesse de ;consigne de 10000 Hz ;pour l’axe x1. No. d’ident.: 00441113021 Annexe wait Interrompre l’exécution du programme pendant un certain temps possible dans le programme séquentiel wait <fknvw> L’instruction “wait” permet de spécifier un temps d’attente dans le programme séquentiel. La résolution de temps est de 1 ms. Les déplacements d’axe commencés sont menés à terme. wait wsave 10 ;Arrêter le programme séquentiel ;pendant 10 ms. Sauvegarder les variables de position possible dans le programme séquentiel wsave L’instruction “wsave” permet de sauvegarder toutes les variables de position w100 à w499 dans l’EEPROM. IMPORTANT: Sur la commande WDP3-01X, les données sauvegardées par “wsave” sont rechargées dans les variables de position (w100 à 499) à la mise sous tension (POWER ON). wsave ProOED3 ;Sauvegarder les variables ;de position en EEPROM No. d’ident.: 00441113021 8-39 Annexe 8.2 Exemples de projets Le présent chapitre montre à l’aide du projet exemple “MANUAL.PO3” comment charger les programmes exemples fournis dans la commande et les y exécuter. “MANUAL.PO3” permet de déplacer manuellement le moteur pas à pas. Il ne s’agit pas ici de donner un mode d’emploi universel des programmes exemples. Ce chapitre présente simplement la procédure d’utilisation des programmes exemples. Les programmes exemples se trouvent dans le sous-répertoire de ProOED3, p.ex.: Pour les commandes WDP3-014/018 avec OED3: C:\USR\PROOED3.01X \PROJECTS \EXAMPLES Pour les commandes de la série 300 avec OED3: C:\USR\PROOED3.300 \PROJECTS \EXAMPLES Conditions – – – – Le PC doit être raccordé à la commande (voir chapitre 3). La commande et le moteur pas à pas doivent être câblés conformément aux spécifications (voir documentation de l’appareil). Le PC et la commande doivent être sous tension. ProOED3 doit être lancé. IMPORTANT Pour la description des exemples de projets, voir chapitre 8.2.3. 8-40 ProOED3 No. d’ident.: 00441113021 Annexe 8.2.1 Charger l’exemple de projet pour mode manuel Etape 1 Ouvrir le projet 1. Sélectionner l’option de menu “Project/Open”. 2. Se placer dans le répertoire “...\EXAMPLES”. 3. Déplacer la barre de sélection sur “MANUAL.PO3” et appuyer sur la touche <↵>. Ouvrir le projet Sélectionner le projet L’écran suivant s’affiche. Projet ouvert ProOED3 No. d’ident.: 00441113021 8-41 Annexe Etape 2 Sélectionner le type de commande Si nécessaire, sélectionner le type de commande. Sinon poursuivre à l’étape 3. 1. Sélectionner l’option de menu “Project/Controller Type”. 2. A l’aide des touches <↑> et <↓>, déplacer la barre de sélection sur le type de commande raccordé (p.ex. WDP5-318) puis appuyer sur la touche <↵>. Sélectionner le type de commande Etape 3 Compiler le projet Une fois que le projet est ouvert, l’éditeur de programme séquentiel est actif. 1. Sélectionner l’option de menu “Edit/Compile” ou entrer <Alt>-<F1> pour compiler le programme séquentiel. Confirmer le message annonçant que le programme a été compilé sans erreur par la touche <↵>. 2. Sélectionner l’option de menu “Data/PLC Program” ou entrer <Alt>-<2> pour passer dans l’éditeur de programme API. 3. Sélectionner l’option de menu “Edit/Compile” ou entrer <Alt>-<F1> pour compiler le programme API. Confirmer le message annonçant que le programme a été compilé sans erreur par la touche <↵>. Compiler le programme 8-42 ProOED3 No. d’ident.: 00441113021 Annexe Etape 4 Charger le programme dans la commande 1. Entrer <Alt>-<O> pour appeler les fonctions on-line. 2. Si nécessaire, paramétrer l’interface PC par “Transfer/Interface PC”. On-line Activer le mode édition de la commande IMPORTANT La commande doit être en mode édition pour que le PC puisse communiquer avec elle. 1. Mettre la commande dans l’état STOP (l’afficheur d’état de la commande doit indiquer “01”), se reporter à la documentation de l’appareil. 2. Sélectionner le mode édition. Série 300: Pousser et maintenir la touche 41 en position “+”. Pousser la touche 42 en position “+” et la maintenir en même temps que la touche 41 pendant trois secondes, jusqu’à ce l’afficheur d’état de la commande indique “Ed”. _ WDP3-014/018: Maintenir les touches “+” et “↵” appuyées ensemble jusqu’à ce que l’afficheur d’état de la commande indique “Ed”. + Charger le projet dans la commande (download) 1. Sélectionner l’option de menu “Transfer/Download” ou entrer <Alt>-<F6> pour appeler le menu de sélection de téléchargement. Appeler Download ProOED3 No. d’ident.: 00441113021 8-43 Annexe 2. La barre de sélection est placée sur “Complete”. => Appuyer sur la touche <↵>. “Complete” signifie que le projet complet sera chargé dans la commande. Sélectionner l’option Les variables, les paramètres de commande, les textes et le programme de commande sont transférés dans la commande. Téléchargement Etape 5 Lancer le programme de commande “Manuel” 1. Lancer la commande par “Commande/Run” ou au moyen du sélecteur pos. 41 ou de la touche “+” sur la face avant. Lancer le programme 8-44 ProOED3 No. d’ident.: 00441113021 Annexe 2. A chaque lancement d’un programme exemple, des informations d’utilisation sont affichées sur l’écran ProOED3. Informations d’utilisation Comme indiqué sur l’écran, le déplacement du moteur pas à pas et la sélection de l’axe s’effectuent comme suit dans “MANUAL.PO3”: Entrée Fonction I0 Déplacer le moteur vers la gauche I1 Déplacer le moteur vers la droite I2 Choisir vitesse lente/rapide Sélectionner l’axe actuel au moyen de I3 et I4: Axe x1 Etat du signal d’entrée I3 I4 0 0 x2 x3 0 1 1 0 x4 1 1 ProOED3 No. d’ident.: 00441113021 8-45 Annexe Où trouver les informations sur les exemples de projets avant l’exécution du programme? Chaque exemple de projet contient des informations sur son utilisation, les entrées utilisées, etc. dans les textes d’émission. Ces textes d’émission sont affichés sur l’écran ProOED3 après le lancement du programme. Pour consulter ces informations avant d’exécuter le programme, procéder comme suit: 1. Sélectionner l’option de menu “Data/Send Texts”. 2. Déplacer la barre de sélection sur la chaîne 70 ou plus. C’est là que sont stockées les informations. IMPORTANT Les caractères “$R$N” sont des caractères de contrôle indiquant une rupture de ligne et un saut de ligne (carriage return et line feed). Informations dans les textes d’émission 8-46 ProOED3 No. d’ident.: 00441113021 Annexe 8.2.2 Copier un exemple de projet dans un autre répertoire La copie de projets dans d’autres répertoires s’effectue au niveau du système d’exploitation DOS. Exemple: Le projet MANUAL doit être copié du répertoire EXAMPLES dans le répertoire PROJECTS pour y être réutilisé sous le nom TEST1. 1. Quitter ProOED3 par <Alt>+<F4> pour passer au niveau DOS. 2. Entrer CD C:\USR\PROOED3.01X\PROJECTS ou CD C:\USR\PROOED3.300\PROJECTS et appuyer sur la touche <↵>. Si le répertoire de destination n’existe pas , le créer en entrant MD C:\USR\PROOED3.01X\PROJECTS ou MD C:\USR\PROOED3.300\PROJECTS. 3. Entrer COPY C:\USR\PROOED3.01X\EXAMPLES\MANUAL.* TEST.* ou COPY C:\USR\PROOED3.300\EXAMPLES\MANUAL.* TEST.* et appuyer sur la touche <↵>. Le projet “TEST1” peut ensuite être ouvert et traité comme tout autre projet. ProOED3 No. d’ident.: 00441113021 8-47 Annexe 8.2.3 Description des exemples de projets Nom Description CALL La profondeur maximale d’appel de sous-programmes est testée. Les entrées I10, I11, LIMP permettent de sélectionner l’instruction “cal”: I10=1 -> exécuter CAL I11=1 - -> exécuter CALC LIMP=1 -> exécuter CALN CH1OF100 L’instruction “GETPORT” permet de lire les entrées I0 à I8. La valeur lue est utilisée pour déterminer indirectement une position par les variables W100 à W499 et s’y rendre. EAMANUAL Les entrées I0 à I2 permettent de déplacer le moteur raccordé par l’intermédiaire des indicateurs de déplacement manuel M0 à M2. Le programme séquentiel établit un dialogue avec le FT 2000. La position actuelle du moteur est affichée. Le programme API lit les entrées I0 à I2 et les écrit dans les indicateurs de déplacement manuel (voir chapitres 6.3.2.7 “Déplacement manuel par les entrées de signal” et 6.1.3.3 “Opérandes”). FTMANUAL Les touches de fonction permettent de déplacer le moteur raccordé par l’intermédiaire des indicateurs de déplacement manuel M0 à M2. Le programme séquentiel établit un dialogue avec le FT 2000. La position actuelle du moteur est affichée. Le programme API lit les touches de fonction et les écrit dans les indicateurs de déplacement manuel (voir chapitre 6.1.3.3 “Opérandes”). FT2000 Les éléments de gestion de l’affichage sont écrits par l’intermédiaire de sorties de texte sur le FT 2000. Les fonctions suivantes sont possibles: – Effacer l’écran – Une ligne vers le haut – Une ligne vers le bas – Un caractère vers la droite – Un caractère vers la gauche – Positionnement absolu du curseur – Effacer le caractère situé à droite du curseur – Effacer le caractère situé à gauche du curseur – Effacer la ligne GEAR Le moteur est déplacé en mode poursuite de position par le codeur. Le facteur de réduction est en premier lieu réglé par les instructions “GEARN/GEARZ” puis le mode poursuite de position est sélectionné. Il est maintenant possible de modifier le facteur de réduction par les entrées et d’effectuer un déplacement absolu en mode poursuite de position par l’instruction “GOFF”. I0=1 ... “gearz” = “gearz” - 1 I1=1 ... “gearz” = “gearz” + 1 I10=1 ... “goff” I11=1 ... “goff” 8-48 = “goff” - 1000 = “goff” + 1000 ProOED3 No. d’ident.: 00441113021 Annexe Nom Description GEAR_VAR Le moteur est déplacé en mode poursuite de position par le codeur. Le facteur de réduction est en premier lieu réglé par les instructions “GEARN/GEARZ” puis le mode poursuite de position est sélectionné. La grandeur de référence du moteur est définie par un codeur raccordé dont la valeur est lue, multipliée par le facteur de réduction et utilisée comme nouvelle position de consigne pour le moteur. Le moteur est déplacé en cas de modification sur le codeur de commande. Il est maintenant possible de modifier le facteur de réduction par les entrées et d’effectuer un déplacement absolu en mode poursuite de position par l’instruction “GOFF”. I0=1 ... “gearz” = “gearz” - 1 I1=1 ... “gearz” = “gearz” + 1 I10=1 ... V101 = V101 + 1 I11=1 ... V101 = V101 - 1 MAXLINES Ce projet possède le nombre maximum de lignes de programme pour le programme séquentiel et le programme API. Une fois compilé, il permet de tester combien de temps dure le téléchargement dans la commande d’un programme de taille maximum. MANUAL Les entrées I0 à I2 peuvent être utilisées pour déplacer le moteur au moyen des indicateurs de déplacement manuel M0 à M2. Le programme API lit les entrées I0 à I2 et les écrit dans les indicateurs de déplacement manuel (voir chapitres 6.3.2.7 “Déplacement manuel par les entrées de signal” et 6.1.3.3 “Opérandes”). RESTART L’instruction “RESTART” dans le programme séquentiel permet d’arrêter, de réinitialiser et de redémarrer la commande. L’instruction "RESTART" a le même effet que l’arrêt et le redémarrage par la face avant. TEACHIN Les entrées I0 à I2 peuvent être utilisées pour déplacer le moteur au moyen des indicateurs de déplacement manuel M0 à M2. Le programme API lit les entrées I0 à I2 et les écrit dans les indicateurs de déplacement manuel (voir chapitres 6.3.2.7 “Déplacement manuel par les entrées de signal” et 6.1.3.3 “Opérandes”). TIMER Plusieurs variables de temps sont programmées par l’instruction “STIMER” dans le programme API. La variable timer T0 sert de valeur de base, T1=2*T0, T2=4*T0, T3=8*T0, etc. Les valeurs actuelles de ces variables sont affichées dans le programme séquentiel. VT52EMUL Les éléments de gestion de l’affichage sont écrits par l’intermédiaire de sorties de texte sur l’écran en mode VT52. Les instructions “CURSOR” et “SCREEN” sont utilisées à cet effet. Les fonctions suivantes sont possibles: – Effacer l’écran – Une ligne vers le haut – Une ligne vers le bas – Un caractère vers la droite – Un caractère vers la gauche – Positionnement absolu du curseur – Effacer le caractère situé à droite du curseur – Effacer le caractère situé à gauche du curseur – Effacer la ligne X-LINPOS L’instruction “LINPOSF” permet de positionner le moteur. Un déplacement de référence est effectué par l’instruction “REFF” avant chaque positionnement. L’instruction affichée sur l’écran est lancée au moyen de l’entrée I0. X-MOVEF L’instruction “MOVEF” permet de positionner le moteur. Un déplacement de référence est effectué par l’instruction “REFF” avant chaque positionnement. L’instruction affichée sur l’écran est lancée au moyen de l’entrée I0. X-POSF L’instruction “POSF” permet de positionner le moteur. Un déplacement de référence est effectué par l’instruction “REFF” avant chaque positionnement. L’instruction affichée sur l’écran est lancée au moyen de l’entrée I0. ProOED3 No. d’ident.: 00441113021 8-49 Annexe 8.3 Termes techniques Accumulateur Registre de la commande utilisé pour le stockage de résultats intermédiaires. Le contenu de l’accumulateur est aussi appelé résultat d’opération (ROP). Codeur Capteur de position d’un moteur. Déplacement de référence Les instructions “ref” et “reff” permettent d’effectuer des déplacements de référence. Un déplacement de référence n’est possible qu’en mode point à point. Un déplacement de référence consiste à atteindre un point qui sera le point de référence (point zéro) du système de mesure. Entrées/sorties La commande possède un nombre fixe d’entrées/sorties. Les processus sont commandés par l’intermédiaire des entrées/sorties. Les entrées/sorties peuvent être traitée parallèlement à l’exécution de déplacement. Evaluation de codeur Ce paramètre permet de définir la résolution du codeur (500 ou 1000 traits) et le facteur d’évaluation interne (simple, double ou quadruple). La formule suivante s’applique: facteur d’évaluation Tours de moteur = impulsions de codeur x résolution codeur Facteur de normalisation Le facteur de normalisation sert à convertir les unités utilisateurs (p.ex. cm) en unités d’entraînement (pas ou incréments). Image de processus L’image de processus effectue le stockage intermédiaire des entrées/sorties. Indicateurs Les indicateurs sont des emplacements mémoire qui peuvent être utilisés. La commande possède une plage mémoire spécifique pour les indicateurs. Interpolation Déplacement coordonné et simultané de plusieurs axes (au moins deux). 8-50 ProOED3 No. d’ident.: 00441113021 Annexe Mise à 1 et mise à 0 Les instructions “s” et “r” permettent de mettre à 1 ou à 0 une variable de type booléen (p.ex. sortie ou indicateur) en fonction du résultat d’opération. Mode point à point En mode point à point, une instruction de positionnement entraîne le déplacement d’un point A à un point B. Le positionnement peut être absolu (par rapport au point de référence de l’axe) ou relatif (par rapport à la position actuelle de l’axe). Mode poursuite de position En mode poursuite de position, les positions sont spécifiées par une entrée codeur ou une variable. Un facteur de réduction peut être appliqué à la position, ce qui permet de réaliser un réducteur électronique. Opérandes De nombreuses instructions nécessitent un opérande avec lequel l’opération sera effectuée. Opérations arithmétiques Les instructions “add”, “sub”, “mul”, “div” permettent d’effectuer des opérations arithmétiques entre un opérande et le ROP. Opérations de comparaison Les instructions “eq”, “gt” et “lt” permettent d’effectuer une comparaison entre un opérande et le ROP. Après la comparaison, le ROP est toujours de type booléen et contient les valeurs: 0 ou FAUX si la comparaison n’a pas été satisfaite ou 1 ou VRAI si la comparaison a été satisfaite. Opérations de transfert Les instructions “ld” et “st” permettent de charger des valeurs dans le ROP et de stocker des valeurs du ROP dans des variables. Lors du chargement “ld”, le ROP prend le type de donnée de la valeur chargée. Lors du stockage “st”, le ROP et l’opérande doivent contenir des types de variable compatibles. Opérations logiques Les instructions “and” et “or” permettent d’effectuer des opérations logiques entre un ou plusieurs opérandes booléens et le ROP. ProOED3 No. d’ident.: 00441113021 8-51 Annexe Position de consigne En mode point à point, les instructions “pos(f)” ou “move(f)” permettent de spécifier des positions de consigne et de déclencher un positionnement. Programmation de codeur Chaque entrée codeur peut être utilisée pour l’injection d’une grandeur de référence (en mode poursuite de position) ou pour le contrôle de rotation. Réducteur électronique En mode poursuite de position, la grandeur de référence (p.ex. codeur) peut être multipliée ou démultipliée par un facteur de réduction. On parle dans ce cas de réducteur électronique. La formule suivante s’applique: Unités d’entraînement = grandeur de référence x facteur de réduction Résultat d’opération ROP Le résultat d’opération ROP est une mémoire tampon (accumulateur) de la commande qui est utilisée pour les opérations de calcul, les opérations logiques et le transfert de données. A la différence des automates programmables conventionnels, une commande BERGER LAHR de la série 300 ne possède qu’un seul accumulateur pour le ROP. La taille mémoire de l’accumulateur est adaptée automatiquement au type de donnée de l’opérande. Unités d’entraînement Les unités d’entraînement sont des grandeurs utilisées de manière interne par la commande pour calculer les positions, vitesses et accélérations. Unités utilisateur Les unités utilisateur sont des grandeurs de calcul librement déterminables par l’utilisateur. La formule suivante s’applique: Unités d’entraînement = unités utilisateur x facteur de normalisation (unités d’entraînement en pas ou incréments, unités utilisateur p.ex. en cm) Les positions, vitesses et accélérations sont toujours données en unités utilisateur. Variables Les variables sont des emplacements mémoire qui peuvent être utilisés dans un programme pour l’échange et le stockage de données. 8-52 ProOED3 No. d’ident.: 00441113021 Annexe 8.4 Abréviations AC Tension alternative add Instruction d’addition and Opération ET API Automate programmable industriel ASCII American Standard Code for Information Interchange b Grandeur booléenne c1 Interface série 1 c2 Interface série 2 cal Appel d’un sous-programme DC Tension continue DG Codeur div Instruction de division ProOED3 No. d’ident.: 00441113021 8-53 Annexe 8-54 E Codeur E/S Entrées/sorties eq Instruction de comparaison égal à f Variable FRAM gt Instruction de comparaison plus grand que Hz Hertz i Entrée jmp Saut à un label k Valeur L Label ld Charger LIMN Contact de fin de course négatif LIMP Contact de fin de course positif ProOED3 No. d’ident.: 00441113021 Annexe lt Instruction de comparaison plus petit que m Indicateur M Moteur ms Milliseconde mul Instruction de multiplication N Nombre de traits du codeur No. doc. Numéro de document o octet or Opération OU p Codeur PA Image de processus PC Personal Computer (ordinateur personnel) PID Régulateur proportionnel, intégral, différentiel q Sortie ProOED3 No. d’ident.: 00441113021 8-55 Annexe 8-56 r Remise à zéro ref Déplacement de référence ret Sortie d’un sous-programme ROP Résultat d’opération s Mise à un st Stocker Stop Signal d’arrêt sub Instruction de soustraction t Timer TRIG Signal de déclenchement v Variable w Variable de position x Numéro d’axe ProOED3 No. d’ident.: 00441113021 Index des mots-clés 9 Index des mots-clés A Accélération 6-6, 6-41 Accélération maximale 8-2 Accès indirect 6-17 Accessoires 2-2 Addition 8-2 Affichage de la position 1-12 Afficheur d’état 6-3 Appel de sous-programme 8-6 Appeler les fonctions on-line 4-4 Appels de sous-programmes 6-11, 6-31 Arrêt d’axes 6-37 Arrêter un axe 8-37 Axe 6-14, 6-22 C Câble d’interface 2-2 Calculs 6-29 Carte d’entrée/sortie MP 926 6-62 Chaîne de caractères 8-33 Chargement 6-10, 6-26, 8-14 Coller 5-18 Combinaison de touches 5-3 Commentaires 6-22 Comparaison 8-8, 8-11, 8-19 Compiler 5-20 Compiler le programme séquentiel 4-4 Conditions logicielles 2-2 Conditions matérielles 2-2 Console d’exploitation Lauer 1-3, 6-5, 6-10, 6-33, 6-68 - 6-70 Câblage 6-69 Instructions 6-70 Constantes Contacts de fin de course ProOED3 No. d’ident.: 00441113021 6-12, 6-15 6-4, 6-38 9-1 Index des mots-clés Contrôle de rotation 6-4, 6-55 Contrôle du câblage 3-3 Contrôle du temps de cycle 6-7 Convertisseur d’interface 2-2 Copier 5-18 Couper 5-17 Courbe d’accélération 6-42 Création d’un projet 4-1 - 4-8 Créer le programme de commande 4-3 Curseur d’écran 8-6 D Debug programme API 5-29 Debug programme séquentiel 5-29 Debugging 6-71 Déclenchement 6-48 Déplacement de référence 6-6, 6-43, 8-28 Déplacement manuel 5-28 Distance de sécurité 6-5 Distance impulsionnelle 6-6 Division 8-7 Download 4-6, 5-22 E Editeur API 5-9 Editeur SEQ 5-9 Editeurs 5-8 - 5-16 EEPROM 5-22 Emulation de terminal 6-72 Emulation VT52 5-23 Enregistrement de positions 5-26 Enregistrer sous Entrées 6-12, 6-21, 8-10 Entrées/sorties externes 6-62 Erreur de poursuite 6-57 Etat de déplacement 6-37 Evaluation de codeur 6-4, 6-53 Exemples 9-2 5-6 ProOED3 8-40 No. d’ident.: 00441113021 Index des mots-clés F Facteur de normalisation 6-5 Facteur de réduction 8-8 Fenêtres de sélection 5-3 Fin de programme 8-8 Fixation d’un point de référence 6-45 Fonction de déclenchement 8-32 Fonctions de base 6-25 - 6-31 Fonctions de commande 6-32 - 6-70 Fourniture Frein 2-1 6-58, 8-5 FT2000 1-13 G Gestion d’écran 8-29 I Image de processus 6-7 Imprimer 5-7 Indexation indirecte Indicateurs Information système 6-13 6-13, 6-20, 6-61, 8-10 5-32 Installation 2-3 Installation du logiciel 2-3 Instruction acc 8-2 add 8-2 and 8-4 brake 8-5 cal 8-6 cursor 8-7 div 8-7 end 8-8 eq 8-8 gearn 8-8 gearz 8-9 getanalog 8-9 getport 8-10 goff 8-11 ProOED3 No. d’ident.: 00441113021 9-3 Index des mots-clés Instruction 9-4 gt 8-11 handshake 8-12 jmp 8-13 label 8-14 ld 8-14 ld_LBit 8-15 ld_LDint 8-15 ld_LInt 8-16 ld_LKey 8-16 linmove 8-17 linmovef 8-17 linpos 8-18 linposf 8-18 lt 8-19 mode 8-19 move 8-21 movef 8-22 mul 8-22 nop 8-23 or 8-23 pos 8-24 posf 8-24 r 8-25 rec_char 8-25 rec_dez 8-26 rec_var 8-27 rec_var_n 8-27 ref 8-28 reff 8-28 restart 8-28 ret 8-29 s 8-29 screen 8-29 setanalog 8-30 setipos 8-30 setsiglist 8-31 settrigger 8-32 ProOED3 No. d’ident.: 00441113021 Index des mots-clés Instruction snd_char 8-33 snd_str 8-34 snd_var 8-35 st 8-35 st_LBit 8-36 st_LDint 8-36 st_LInt 8-37 stimer 8-38 stop 8-37 stopa 8-37 sub 8-38 vel 8-38 wait 8-39 Instruction vide 8-23 Instructions 5-32 Instructions arithmétique 6-10 Instructions de comparaison 6-10, 6-28 Instructions de saut 6-30 Interface analogique 6-12 Interface PC 5-21 Interface réducteur Interface série 6-6, 6-53 6-11 - 6-12, 6-63, 8-25, 8-27, 8-33, 8-35 Interpolation Interpolation linéaire Interrompre l’exécution du programme 6-59 6-11, 6-59, 8-17 - 8-18 8-39 L Label de saut Labels 8-14 6-10, 6-12, 6-22 Lancement de ProOED3 2-6 Lancement du programme 2-6 Lancer le programme de commande 4-7 Lancer ProOED3 4-1 Liste de positions 6-46, 8-31 ProOED3 No. d’ident.: 00441113021 9-5 Index des mots-clés M Mettre un indicateur à 0 8-25 Mettre un indicateur à 1 8-29 Mettre une sortie à 0 8-25 Mettre une sortie à 1 8-29 Mise à 0 6-10 Mise à 1 6-10, 6-27 Mise en service 3-1 - 3-8 Mode apprentissage 1-12 Mode de fonctionnement d’axe 6-11 Mode édition 4-6 Mode point à point 6-35 Mode poursuite de position 6-50 Modules E/S 6-4 Multiplication 8-22 N Noms symboliques Nouveau projet Numéro de version ProOED3 5-11, 6-23 1-10, 4-2 5-32 O Observation 1-13 Offset de position 8-11 Opérandes 6-12 Opérateurs 6-10 Opération ET Opération logique 6-10 Opération OU 8-23 Opérations logiques 6-27 Options de terminal 5-21 Ouvrir un projet 9-6 8-4 ProOED3 No. d’ident.: 00441113021 5-4 Index des mots-clés P Paramètres de commande Parties de programme 5-15, 6-4 6-1 Point de référence 6-43 Position actuelle 6-45 Positionnement 6-11 Positionnement absolu 8-24 Positionnement relatif 8-21 - 8-22 Programmation d’interface 6-65 Programmation de codeur 6-53, 6-56 Programme API Programme séquentiel 6-7 6-7 - 6-8 R Rampe 6-5 Rechercher Réducteur électronique Réglage codeur 5-18 6-11, 6-50 6-4, 6-53 Régler le courant moteur 8-30 Remplacer 5-19 Résultat d’opération 6-9 Retour de sous-programme 8-29 Run 5-22 S Saut de programme 8-13 Sauts de programme 6-10 Sauvegarder le programme de commande 4-8 Schéma de câblage 3-1 Sélectionner l’interface 4-5 Séquences d’utilisation 1-9 Simulation FT2000 5-24 Sortie analogique 6-12 Sorties 6-13, 6-21 Soustraction Stockage 6-10, 6-26 Stop 5-22 Structure des menus ProOED3 8-38 No. d’ident.: 00441113021 1-9 9-7 Index des mots-clés T Teach-In 5-26 Tension analogique Terminal 8-9, 8-30 1-13 Test de programme Test E/S 6-2, 6-71 - 6-72 3-3, 5-25, 6-71 Textes d’émission Timer 5-14, 6-24 6-10, 6-13, 8-38 Touche d’accès direct 5-3 Traitement des erreurs 6-5 Type de commande 5-7 U Unités utilisateur 6-39 V Variable FRAM Variables 6-14 - 6-15 Variables de position Vitesse 9-8 6-18 5-16, 6-19 6-5 - 6-6, 6-40 Vitesse de consigne 8-38 VT52 1-13 ProOED3 No. d’ident.: 00441113021 Corrections et compléments 10 Corrections et compléments Pas de corrections ni de compléments à ce jour. ProOED3 No. d’ident.: 00441113021 10-1 Corrections et compléments 10-2 ProOED3 No. d’ident.: 00441113021