Systèmesnumériquesdecontrôlecommandepourlamécatronique INSAStrasbourgspécialitéMécatronique InformatiqueIndustrielle LaurentBarbé,LaboratoireICube InformatiqueIndustrielle 1 Avant-propos • LaurentBarbé,ingénieurderechercheauLaboratoireICube.Ingénieuren conceptionducontrôle-commandepourlessystèmesrobotiques • 4séancesCours/TD(1h30):7/10,14/10,21/10et4/11 • 5séancesSuiviProjet(3h): • 2groupes: • Groupe1:étudiantsmaster14/1128/1105/1212/12(MetAM) • Groupe2:étudiantsnonmaster16/1130/1107/12(MetAM)14/12 • Prérequis: • • • • • Notionsdebaseenrobotique:MGD,MGI,MCD UtilisateurLabViewetoutilsNationalInstrument ProgrammationenC Notionsdelogiquecombinatoire Baseenautomatiqueetsynthèsedecorrecteur InformatiqueIndustrielle 2 Objectifs • Comprendrelesconceptsdebasedel’informatiqueindustrielle • Architecturematérielle • Busdecommunication • Interactionaveclespériphériques • Utilisationdanslecadred’unsystèmemécatroniquesimple • Contrôle/commandesurunsystèmepolyarticulé • Implémentationdeloidecommande • Commandedessystèmesrobotiques InformatiqueIndustrielle 3 Plan 1. 2. 3. 4. 5. Evolutiondesbesoinsdansl’industrie Présentationdessystèmesnumériquesdecontrôle-commande Lessystèmesinformatiquestemps-réel Chaînedecontrôled’unsystèmerobotique Miseenœuvresurunexempleetprésentationduprojet InformatiqueIndustrielle 4 L’informatiquedansl’évolutionindustrielle DEGREDECOMPLEXITEETD’INTEGRATION 1ière Mécanisation Machineàvapeur, Energiehydrauliqueet fossile 1800 2nd 3ième Electrification Productionenmasse, EnergieElectrique Ligned’assemblage 4ième Automatisation Robotique, Electronique,Automate 1900 CyberSystèmes InternetIndustriel, Réseaux,Production personnalisée 2000 2016 AutomatiqueInformatique Internet InformatiqueIndustrielle 5 Audébutdusiècle.... InformatiqueIndustrielle 6 …aujourd’hui InformatiqueIndustrielle 7 Exempled’applications:automobile… Sourcehttp://www.lembarque.com InformatiqueIndustrielle 8 Exempled’applications:robotiqueIndustrielle 2006:LWRKUKA 1974:T3TheTomorrow Tool 1973:KUKA6-DDL 1959:Unimate 1981:Premierrobotcommandéen 1949:TMEGoertz 1954:TMEGoertz 1992:PremierrobotDelta 1984:PremierrobotSCARA 1978:ProgrammableUniversal directdrive MachineforAssembly (PUMA) Automatique 1949 1954 1959 Multiplication desapplications Informatique 1973 1974 1978 1981 InformatiqueIndustrielle 1984 1992 Robotique personnelleet ludique 2006 2014 1à1,3millionsderobotstravaillent danslesusinesdanslemonde 9 …autresapplications InformatiqueIndustrielle 10 Systèmesnumériquesdecontrôle-commande InformatiqueIndustrielle 11 Qu’est-cequec’est? Définition:Rôled'unsystèmedecommande Un système numérique de contrôle-commande (SNCC, ou DCS pour Distributed Control System) est une structure programmable utilisée pour le pilotage d'un procédé industriel. Un SNCC est doté d'une interface homme-machine pour la supervision et d'un réseau de communication numérique pour l'interface avec les différents éléments de son environnement tels que, par exemple, les capteurs ou les autres cartes de commande associées à des sous-systèmes. Capteurs Systèmesnumériques Actionneurs Compteurs InformatiqueIndustrielle 12 Systèmedecontrôle-commande Entrées Systèmeinformatique Mesures interruptions Capteurs Systèmede contrôle-commande Procédéexterneà Procédéexterne piloter Actionneurs Commandes interruptions contrôle-commande Sorties Un système de reçoit des informations sur l’état du procédé externe, traite ces données et, en fonction du résultat, évalue une décision qui agit sur cet environnement extérieur afin d’assurer un état stable SystèmesTempsréeldecontrôle-commande,F.CottetetE.Grolleau,DUNODEdition InformatiqueIndustrielle 13 Lematérield’unSNCC InformatiqueIndustrielle 14 Processeur Processeur(UnitéCentraledeTraitement– CPUCentralProcessing Unit) Horloge RAM MémoirePrincipale Processeur Ecran Unitéded’Entrées/Sorties Clavier/Souris Décodeur Registre Instruction Compteur Unitédecommande Séquenceur ordinal Informations Codéesen binaires U.A.L Unitédetraitement Registres (U.A.L) Généraux InformatiqueIndustrielle Codes instructions Programme Busde données Données binaires Busd’adresse Données 15 Processeur Exécutiondesinstructionsparunprocesseur • Développerà unprogrammequ’ilacompilé • Leprogrammeestsousformed’instructionsmachineetaumomentdel’exécution lesinstructionsetlesdonnéessontchargésenmémoirecentrale. • Lecompteurordinalestchargéavecl’adresseenMémoirecentraledumot contenantlapremièreinstructionduprogramme. • L’exécutionduprogrammesefaitinstructionparinstruction,souslepilotagede l’unitédecommandeduprocesseur. • Letraitementd’uneinstructionparleprocesseursedécoupeentroisétapes: • FETCH:l’instructionestlueenmémoirecentraleetcopiéedansleregistre d’instructionduprocesseur; • DECODAGE:l’instructionestreconnueparl’unitédedécodage • EXECUTION:l’opérationcorrespondantàl’instructionestréalisée InformatiqueIndustrielle 16 Processeur Fonctionnement(exemplesurprocesseurtypePENTIUM) Programmeenlangagehautniveau (indépendantdelamachine) Si i > j alors i:= i-1 Sinon i := i+5 Fin si CodeMachine A1E4A64000 A1 E4 A6 40 00 Compilation 8B 0D E0 A6 Instruction 40 00 CODOPspécifiqueàla 83 C4 10 machine 3B C1 Compteurordinalexécutelaportion deprogrammeàl’adresse 0x0040101E Programmeenlangageassembleur (dépandant delamachine) 7E 03 48 EB 03 InformatiqueIndustrielle mov mov add cmp jle dec jmp add mov eax,dword ptr ecx,dword ptr esp,10h eax,ecx 401033h eax 401036h eax,5 dword ptr 17 Processeur Fonctionnement(exemplesurprocesseurtypePENTIUM) Programmeenlangagehautniveau (indépendantdelamachine) Si i > j alors i:= i-1 Sinon i := i+5 Fin si Compilation Compteurordinalexécutelaportion deprogrammeàl’adresse 0x00401023 0x0040102C 0x00401029 0x0040102E CodeMachine A1 8B 83 3B 7E 48 EB E4 A6 40 00 0D E0 A6 40 00 C4 10 C1 03 03 InformatiqueIndustrielle Programmeenlangageassembleur (dépandant delamachine) mov mov add cmp jle dec jmp add mov eax,dword ptr ecx,dword ptr esp,10h eax,ecx 401033h eax 401036h eax,5 dword ptr 18 Processeur Fonctionnement(Notionscomplémentaires) • DeuxgrandesfamillesCISC(Complex InstructionSetComputer)ouRISC(Reduced InstructionSetComputer) • AlgèbredeBoole(1815-1864): • Algèbrepermettantderéaliserdesopérationsbooléennessurdesbinaires(Vrai ouFaux) • AND,OR,XORNOT,NAND,NOR,EGALIDENTITEetc. • Représentationdel’information • Binaireà Octaleà hexadécimale • Nombreentierspositifs(surbase8bits(char)16bits(int)32bits(long)) • Opérationsarithmétiquesetlogiques • CodeASCII(AmericanStandardCodeforInformationInterchange) • Nombreàvirgulesflottantes(co-processeur dédié) InformatiqueIndustrielle 19 Microcontrôleur CircuitimpriméquiIntègreunmaximum defonctionnalitéspourfaciliterlamise enœuvre. MicrocontrôleurAVR32bits InformatiqueIndustrielle 20 Microcontrôleur Avantages Cartededéveloppement etd’interfaçageavec l’environnementextérieur Coutréduit Encombrementmoindre Fiabilité Miseenœuvreplussimple Consommationplusfaible Attention NepasconfondrePCet microcontrôleur InformatiqueIndustrielle 21 Nano-ordinateur ENEVOLUTIONCONSTANTE Raspberry Pi - ProcesseurARMArchitectures matériellesRISC32bits - Systèmed’exploitationLINUX - NombreusesEntrées-Sorties Arduino - MicrocontrôleurAtmel AVR - Programmationmultiplateforme - NombreusesEntrées-Sorties InformatiqueIndustrielle 22 Lesentrées/sorties CommunicationProcesseurEntrées/Sorties • Deuxpossibilitéspourleprocesseur: 1. Attenteactiveoupolling • Leprocesseurvérifieenpermanencecequiarrivesuruneentrée,sans savoirsilesdonnéessontintéressantes. • Lorsqueleprocesseurreçoitlesdonnées,ileffectueletraitementet retourneenattenteactive. • Leprocesseuresttoujours« busy » 2. Interruptions • Quandlesystèmeexterneestprêtetqu’ilabesoinduprocesseur,il l’informeparunsignald’interruption • Selonlaprioritédelatâche,leprocesseurarrêtel’exécutioncourante InformatiqueIndustrielle 23 Lesentrées/sorties CommunicationProcesseuraveclesentrées/Sorties Interruption Tant que (1) Etat du périphérique Si état == vrai Exécution routine Fin Si Exécution_normale Fin tant que Exécution_normale Attenteactive(Polling) InformatiqueIndustrielle Signal Interruption Instructionk Exécutionroutine interruption Instructionk+1 INTERRUPTIONSLOGICIELLES PEUVENTETREBLOQUANTES 24 Busd’entrées/Sorties Slotsmémoires Générateur d’horloge PortSérie PortParallèle LecteurCarte Clavier Souris Southbridge (contrôleur d’entrées/sorties) SuperI/O IDE SATA USB Ethernet Mémoire CMOS Bus interne Bus PCI Processeur Bus AGPPCIe Northbridge (contrôleur mémoire) Câbleset ports externes Bus PCI Bus mémoire Chipset Contrôleur graphique intégré ROMflash (BIOS) SlotsPCI SourceWikipédia SlotsAGPouPICe InformatiqueIndustrielle 25 Lesbusd’entrées/Sorties Classification ISA/EISA Industry StandardArchitecture 8Mo/s PCI Peripheral ComponentInterconnect (1990) 264Mo/s AGP Advanced Graphic Port 2,1Go/s ATA/IDE AdvancedTechnology Attachment/IntegratedDriveElectronics 133Mo/s SCSI SmallComputerSystemInterface 320Mo/s PCIe Peripheral ComponentInterconnect Express 8Go/s SATA Advanced Graphic Port 600Mo/s SCSIsérie SmallComputerSystemInterface USB UniversalSerialBus 1,2Go/s(3.1) IEEE1394 Firewire 400Mo/s Ethernet BUSINTERNE PARALLELE BUSINTERNE SERIE BUSEXTERNE >10Go/s InformatiqueIndustrielle 26 Lestypesdesignaux ENTREESANALOGIQUES Représententlavariationd’unegrandeur physiqueentensionélectrique Pré-conditionnement A Capteur detempérature A Capteur deposition (potentiomètre) A Capteur depression 4-20mA -10/+10V BusDonnées 0/5V C.A.N. Codage Quantification Echantillonn age temporel InformatiqueIndustrielle 27 Lestypesdesignaux SORTIESANALOGIQUES Représententlavariationd’une grandeurphysiqueentension électrique A Servovanne 4-20mA -10/+10V BusDonnées A Moteur C.N.A InformatiqueIndustrielle 28 Lestypesdesignaux ENTREESNUMERIQUES Signalquivariedefaçondiscrète dansletemps.C’estunesuccession d’étathautoud’étatbas BusDonnées Codeurincrémental 24V InformatiqueIndustrielle ToutOuRien(TOR) 29 Lestypesdesignaux SORTIESNUMERIQUES Signalquivariedefaçondiscrète dansletemps.C’estunesuccession d’étathautoud’étatbas 5V BusDonnées 0V InformatiqueIndustrielle 30 Lestypesdesignaux Capteur deposition (potentiomètre) A Capteur detempérature Atelier2 A ContrôleurDigital MoteurC.C +Puissance Atelier1 Position ContrôleurDigital MoteurC.C +Puissance Position Supervision Bus Données BUSDETERRAIN ContrôleurDigital MoteurC.C +Puissance Position Atelier3 InformatiqueIndustrielle 31