Systèmes de commande de machines ACOO Analyse, Conception et développement Orientés Objet de logiciels de commande Thèmes abordés Architectures matérielles Types d éléments à commander Architectures centralisées Architectures décentralisées Architectures logicielles, avantages et limites Automate programmable (API, SPS, PLC) CNC Commandes de robot Architectures ouvertes Position de la POO Applications dans le domaine de la commande de machines Et ailleurs Systèmes de commande de machine 1 1
Architectures matérielles Types d éléments à commander - Capteurs Capteur de présence inductif détecteur de fin de course Information : 0/1 Thermocouple Capteur de température Information analogique Boutons de commande Interrupteurs à clés Télémètre laser Mesure de distance Capteur de force Capteur de niveau Systèmes de commande de machine 2 Architectures matérielles Types d éléments à commander Actuateurs simples Actuateurs simples Vérin pneumatique Actuateur rotatif pneumatique Pince pneumatique Préhenseur vacuum Commande tout ou rien : 0 ou 1 logique Electro vannes Colonnes de signalisation Systèmes de commande de machine 3 2
Architectures matérielles Types d éléments à commander Actuateurs intelligents Servo moteur rotatif Servo moteur linéaire Unités de commande (motion controller) Robot poly-articulé Robots cartésiens Systèmes de commande de machine 4 Architectures matérielles Types d éléments à commander Actuateurs intelligents Quelques principes de pilotage Envoi d ordres à l unité de commande Point to point MoveTo SetSpeed Brake PVT (table de points Position Vitesse Temps) Envoi de points à chaque contrôleur Démarrage synchronisé Lecture de variables d état EndMotion CurrentPosition Systèmes de commande de machine 5 3
Architectures matérielles Système de commande centralisé Automate programmable autonome Systèmes de commande de machine 6 Architectures matérielles Système de commande distribué Panel PC Commande centrale Commande d axe numérique Automate programmable ou module d entrées sorties Automate programmable ou module d entrées sorties Automate programmable ou module d entrées sorties Commande d axe numérique Systèmes de commande de machine 7 4
Architectures logicielles Langages automate programmable (PLC) 5 Langages de programmation Normalisés IEC 1131 SFC : Sequential Function Chart LD : Ladder Diagram FBD: Function Block Diagram (* Load IN1 into the calculation register *) LD IN1 (* Subtract IN2 from that register, storing the result into that register *) SUB IN2 (* Perform the Absolute Value function on that register *) ABS (* Store the value in the register into the variable called Error_Calc *) ST Error_Calc IL: Instruction List ST: Structured Text Systèmes de commande de machine 8 Architectures logicielles Langages automate programmable (PLC) Avantages Normalisés. Répandus, donc rassurants. Démarrage très rapide du développement. Certains langages sont simples : Diagramme contact Inconvénients Très forte liaison à l environnement de programmation propriétaire. Souvent même lié à un type de matériel! Inappropriés pour des applications complexes ou flexibles. Approche cyclique : programmation séquentielle très malcommode. Approche structurelle peu développée: Découpage en bibliothèques souvent délicat. Approche orientée objet peu ou mal supportée. Systèmes de commande de machine 9 5
Séquentiel Exemple de séquence IEC1131 ST (Text language) Cyclique IEC1131 PLC IEC 1131 SFC (Grafcet) pick(); move_on_laser_area(); for (i = 1; i <= 5; i++) laser_shot(); place(); If Status = 1 then Pick(xExecute := TRUE); Status = 2; Elsif Status = 2 then Pick(); if Pick.xDone then Status = 3; end_if Elsif Status = 3 then MoveOnLaserArea(xExecute := TRUE); Status := 4; Elsif Status = 4 then MoveOnLaserArea(); if MoveOnLaserArea.xDone then Status := 5; end_if Elsif Status = 5 then N := 0; Status := 6; Elsif Status = 6 then LaserShort(xExecute := TRUE); Status := 7; Elsif Status = 7 then LaserShort(); if LaserShot.xDone then N := N + 1; if N < 5 then Status := 6; else Status := 8 xdone := TRUE; end_if End_if Pick E PlaceOnLaser E Start laser cycle E DoLaserShot E Next DoLaserShot Place E RobotPick.xExecute := TRUE ; RobotPick() ; RobotPick.xDone RobotPlaceOnLaser.xExecute := TRUE ; RobotPlaceOnLaser () ; RobotPlaceOnLaser.xDone N = 0 LaserShot.xExecute := TRUE ; N := N + 1 LaserShot() ; LaserShot.xDone N < 5 N = 5 RobotPlace.xExecute := TRUE ; RobotPlace() ; RobotPlace.xDone Systèmes de commande de machine 10 Architectures logicielles Langages automate programmable (PLC) Conclusion Bien adaptés pour des petites applications. Gros risques pour le développement d applications Séquentielles Complexes Forte dépendance au fournisseur de l environnement Inapproprié pour des applications complexes. Systèmes de commande de machine 11 6
Architectures logicielles CNC (commande numérique pour l usinage) CNC Commandes utilisées pour les machines d usinage Langage basé sur les code «G» Systèmes de commande de machine 12 Architectures logicielles Langages CNC (commande numérique pour l usinage) Avantages Plus ou moins normalisés. Code généré automatiquement par les logiciels CFAO. Répandus, donc rassurants. Inconvénients Trop spécifiques à l usinage: tournage, fraisage Mal adaptés à l automatisation standard (souvent complétés par un PLC) Inappropriés pour les applications robotiques séquentielles. Aucune approche structurelle du logiciel Langage archaïque, avec de fortes limitations Systèmes de commande de machine 13 7
Architectures logicielles Autres solutions Plateformes propriétaires Ex : plateformes des constructeurs de robots Solutions très propriétaires Manque d ouverture vers d autres matériels Pensées trop spécifiquement pour un type d application Conclusion Comment développer le logiciel de commande de machines complexes et flexibles? Logiciel : assure l intégration d éléments matériels hétérogènes. Besoin d une solution Ouverte vers toutes les technologies matérielles. Pensée pour supporter la complexité et la flexibilité des applications modernes. Systèmes de commande de machine 14 Architectures logicielles Architecture ouverte issue du génie logiciel Application Framework Fonctions de base pour l automatisation Bibliothèques d intégration Accès au matériel Langage de programmation Orienté objet, IDE (C++) Système d exploitation Temps réel + drivers Extensions temps réel OS temps réel pur Systèmes de commande de machine 15 8
Architectures logicielles Architecture ouverte issue du génie logiciel Avantages Possibilités étendues de la programmation orientée objet. Ouvert vers tous types de matériel. Prise en compte efficace de la flexibilité et de la complexité. Normalisé! Mais pas dans l automatisation Adaptable aux besoins spécifiques du métier. Très bien adapté aux applications séquentielles et cycliques. Approches structurelles efficaces: bibliothèques, POO. Inconvénients Moins répandus, exige donc plus d effort de persuasion. Travail plus important avant de démarrer (vite amorti ensuite). Barrières culturelles. Systèmes de commande de machine 16 Position de la Programmation Orientée Objet Commande de machine Potentiel d innovation élevé Permet de répondre efficacement aux nouveaux défis Autres domaines d applications industriels Logiciel embarqué Motion control Programmation de micro contrôleurs (>= 16 bits) Exemple d application La mise en œuvre du netx de Hilscher Systèmes de commande de machine 17 9
Vos questions Systèmes de commande de machine 18 Systèmes de commande de machine 19 10