• Aucun résultat trouvé

Thèmes abordés •

N/A
N/A
Protected

Academic year: 2022

Partager "Thèmes abordés •"

Copied!
10
0
0

Texte intégral

(1)

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…

(2)

Architectures matérielles

Types d’éléments à commander - Capteurs

Systèmes de commande de machine 2

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

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

(3)

Types d’éléments à commander – Actuateurs intelligents

Systèmes de commande de machine 4

Servo moteur rotatif Servo moteur linéaire Unités de commande (motion controller)

Robot poly-articulé Robots cartésiens

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

(4)

Architectures matérielles

Système de commande centralisé

Systèmes de commande de machine 6

Automate programmable autonome

Architectures matérielles

Système de commande distribué

Automate programmable ou module d’entrées sorties Commande d’axe numérique

Panel PC Commande centrale

(5)

Langages automate programmable (PLC)

Systèmes de commande de machine 8

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

• 5 Langages de programmation

• Normalisés IEC 1131

ST: Structured Text

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.

(6)

Systèmes de commande de machine 10 Pick

E

RobotPick.xExecute := TRUE ;

RobotPick() ;

RobotPick.xDone

Start laser cycle E

N = 0

DoLaserShot E

LaserShot.xExecute := TRUE ; N := N + 1

LaserShot() ;

Place E

RobotPlace.xExecute := TRUE ;

RobotPlace() ;

RobotPlace.xDone LaserShot.xDone

Next

N < 5

N = 5 DoLaserShot PlaceOnLaser E

RobotPlaceOnLaser.xExecute :=

TRUE ;

RobotPlaceOnLaser () ;

RobotPlaceOnLaser.xDone

IEC 1131 SFC (Grafcet) IEC1131 ST (Text language)

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 Exemple de séquence

pick();

move_on_laser_area();

for (i = 1; i <= 5; i++) laser_shot();

place();

Séquentiel Cyclique IEC1131 PLC

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.

(7)

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

(8)

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

Langage de programmation Orienté objet, IDE

(C++)

Bibliothèques d’intégration Application

Framework

Accès au matériel

Fonctions de base pour l’automatisation

(9)

Architecture ouverte issue du génie logiciel

Systèmes de commande de machine 16

• 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.

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

(10)

Systèmes de commande de machine 18

Vos questions

Références

Documents relatifs

-le second sera l’interface homme machine développer sous builder ou labview, permettra de générer une trame RS232 et devra pouvoir gère la carte (Bp, LED,

Cette société établit des factures numérotées (en incrémentant partant de 1 et en réinitialisant à 1 le 1er janvier de chaque année) et datées, comprenant le

Ces erreurs, se traduisant par des écarts à la courbe de transfert théorique , sont dues essentielle- ment aux résistances (précision et stabilité en température),

Utiliser des outils de recherche, de remplacement et de statistiques dans un document textuel Saisir du texte incluant ponctuation et caractères spéciaux. Connaître les

 Thème 2 : Limites, continuité : vers une nouvelle définition ; retour sur la négation d’une proposition ; autour du théorème des valeurs intermédiaires et vers le théorème

 Le CPU est capable d’exécuter des millions d’instructions dans le temps requis pour un simple accès disque.  Le temps de transfert de plusieurs blocs est plus important dans

 Il envoie un signal sur la ligne d'occupation pour préciser que le bus est

o Étude et identification de la Partie Commande o Programmation d’un automate. o Organigramme général