Conception de la commande...

16
Approche d'ingénierie par composant Pascal Berruet [email protected] Université de Bretagne Sud UMR 3192 2 Sommaire Contexte et problématique liée à l'ingénierie de la commande Besoins Modélisation d’un système transitique Génération du code de Contrôle/Commande Vérification comportementale d’un système Application à un système de type convoyeur Travaux issus de [Lallican, 2007] 3 Conception de la commande Cahier des charges EXPERT Image du fonctionnement du système Piloter Répondre Programmes de commande Cahier des charges 4 • Complexité croissante des systèmes automatisés Partie opérative Partie commande • Impératifs de sûreté de fonctionnement (Disponibilité) PSA : 1 heure d’arrêt Une perte de l’ordre de 300k€ • Diminution du temps de développement 40% hors budgets [Standish Group International, 2003] 80% hors délais Problématique

Transcript of Conception de la commande...

Page 1: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

Approche d'ingénierie par composant

Pascal [email protected]

Université de Bretagne SudUMR 3192

2

Sommaire

• Contexte et problématique liée à l'ingénierie de la commande

• Besoins• Modélisation d’un système transitique• Génération du code de Contrôle/Commande• Vérification comportementale d’un système• Application à un système de type convoyeur

Travaux issus de [Lallican, 2007]

3

Conception de la commande

Cahier

des charges

EXPERT

Image du fonctionnement

du système

Piloter

Répondre

Programmes de commande

Cahier

des charges

4

• Complexité croissante des systèmes automatisés

Partie opérative

Partie commande

• Impératifs de sûreté de fonctionnement (Disponibilité)

PSA : 1 heure d’arrêt � Une perte de l’ordre de 300k€

• Diminution du temps de développement

40% hors budgets[Standish Group International, 2003]

80% hors délais

Problématique

Page 2: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

5

Sommaire

• Contexte et problématique liée à l'ingénierie de la commande

• Besoins• Modélisation d’un système transitique• Génération du code de Contrôle/Commande• Vérification comportementale d’un système• Application à un système de type convoyeur

6

• Diminution du temps de développement� Se concentrer sur les phases amont

• Obtenir une commande plus sûre

• Apporter : � Aide à la génération automatique de la commande� Méthode de vérification

• Adéquation au monde industriel

Besoins

7

Ligne directrice

ModélisationModélisation

AnalyseAnalyse

FormalismesOutils

ImplantationImplantation

Applicabilité des approchesDifférents domaines

IDMIDM

8

2 approches

ΣΣ

Approche descendante�Caractère reconfigurable� Contraintes

Approche ascendante� Contraintes entre actionneurs� Niveau 0� Configuration

Page 3: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

9

Sommaire

• Contexte et problématique liée à l'ingénierie de la commande

• Besoins• Modélisation d’un système transitique• Génération du code de Contrôle/Commande• Vérification comportementale d’un système• Application à un système de type convoyeur

10

Modélisation du système : Utilisation d’une approche composant

Simulation conjointe de la partie opérative et de la partie commande

Librairie de composants

validation non

oui

Chargement sur les APIs présents dans le système de commande

Modélisation

Génération

Vérification

Génération du modèle de la partie opérative

Génération de la partie commande

Proposition

11

Approche composant

• Génie logiciel� UML 2� Réutilisation

• Composants propriétaires� Port Based Object (robotique)� Koala (Philips)� Simulink� Control build� …

• Extension IEC 61131� Langages PLC

• Norme IEC 61499� Partie control / Partie algo� Événements / Données internes

12

Modélisation par composants

• Modélisation ascendante� Association de composants de plus en plus complexes

• Composant :� formalisme de type boite noire (E/S)� paramétrable � capitalisation de connaissances sur les aspects

• comportement physique (mécanique, pneumatique, …)• Commande, contraintes, …

• Possibilité d'archivage• Un composant réalise un ensemble d’opérations

� Fonction mise en œuvre par une ressource

[Berruet, 1998]

Page 4: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

13

Les vues du composant (a)

• Vue Partie Opérative� modélisation fine du comportement physique

• évolution discrètes• lois physiques linéaires ou non

� traduire un ensemble de phénomènes• accélération, inertie, frottement• pneumatique

• Vue Partie Commande� commande essentiellement discrète

• effective• de plus haut niveau

� norme IEC 61131-3

14

Les vues du composant (b)

• Vue Contraintes� Sécurité� Fonctionnement

• Vue topologique� Lieux caractéristiques� Accessibilités

• Autres vues� Surveillance� Supervision

15

Le composant et ses modèles

Constraintsview

Opérations

Component

Operating view

Topological view

Control view

Constraintsview

Opérations

Component

Operating view

Topological view

Control view

Constraintsmodel

Opérations

Component

Operatingmodel

Topologicalmodel

Controlmodel

Constraintsview

Opérations

Component

Operating view

Topological view

Control view

Constraintsview

Opérations

Component

Operating view

Topological view

Control view

Constraintsview

Opérations

Component

Operating view

Topological view

Control view

Constraintsview

Opérations

Component

Operating view

Topological view

Control view

Constraintsmodel

Opérations

Component

Operatingmodel

Topologicalmodel

Controlmodel

Opérations

Composant

Vue PO

Vue Topologique

Vue Commande

ModélisationModélisation

AnalyseAnalyse ImplantationImplantation

Vue Contraintes

1 <?xml version="1.0" encoding="UTF-8"?>2 <DESIGNER>3 <SITE>4 <NB_ENTITE>140</NB_ENTITE>5 <ENTITE>6 <TYPE_ENTITE>Capteur</ TYPE _ENTITE>7 <Nom>Capteur</Nom>8 <Nom_Instance>C4</Nom_Instance>9 <epaisseur_champ_capteur>0.03</epaisseur_champ_capteur>10 <hauteur_champ_capteur>0.03</hauteur_champ_capteur>11 <largeur_champ_capteur>0.03</largeur_champ_capteur>12 <positionX_capteur>-0.316</positionX_capteur>13 <positionY_capteur>0.0</positionY_capteur>14 <positionZ_capteur>0.10</positionZ_capteur>15 <angleX_capteur>0.0</angleX_capteur>16 <angleY_capteur>0.0</angleY_capteur>17 <angleZ_capteur>0.0</angleZ_capteur>18 <port_serie_capteur>Aucun</port_serie_capteur>20 <type_de_fonctionnement>0 => 1</type_de_fonctionnement>22 <COIN_SUP_G>23 <PosX>322.0</PosX>24 <PosY>647.0</PosY>25 </COIN_SUP_G>26 </ENTITE>27 …28 <NBCONNECTION>143</NBCONNECTION>29 <CONNECTION>30 …

1 ↑Transfert_Conv1 = DétectColVirage || TransConv22 ↑Transfert_CBE1 = Identifier_P2 Λ |Transfert1_CBE2 Λ |Transfert2_CBE2 Λ |Detecter_Colis_C4 Λ

Stockage_B13 ↑Transfert1_CBE2 = (Detecter_Colis_C5 Λ |Detecter_Colis_C6 Λ |Stockage_B3) || (Detecter_Colis_C5

Λ Detecter_Colis_C6 Λ |Detecter_Colis_C7 Λ |Transfert_CBE3 Λ |Stockage_B3 Λ |Stockage_B4)4 ↑Transfert2_CBE2 = |Detecter_Colis_C5 Λ Detecter_Colis_C6 Λ |Detecter_Colis_C7 Λ

|Transfert_CBE1 Λ |Transfert_CBE3 Λ |Stockage_B3 Λ |Stockage_B45 ↑Transfert_CBE3 = Detecter_Colis_C7 Λ |Detecter_Colis_C8 Λ Stockage_B2(1s)6 ↑Stockage_B1 = Detecter_Colis_C4(200ms)7 ↓Stockage_B1 = |Detecter_Colis_C4(300ms) Λ |Transfert_CBE18 ↑Stockage_B2 = |Detecter_Colis_C4(300ms)9 ↓Stockage_B2 = Identifier_P1 Λ |Transfert_CBE310 ↑Stockage_B3 = Detecter_Colis_C6 Λ |Transfert1_CBE2 Λ |Transfert2_CBE211 ↓Stockage_B3 = Detecter_Colis_C6(5s)12 ↑Stockage_B4 = Detecter_Colis_C6 Λ |Transfert1_CBE2 Λ |Transfert2_CBE213 ↓Stockage_B4 = Detecter_Colis_C6(5s)

16

AgrégationComposant Ejecteur

Vue Contraintes

Vue Graphique

Vue Partie Commande

Vue Partie Opérative

Composant EjecteurVue Contraintes

Vue Graphique

Vue Partie Commande

Vue Partie Opérative

Composant Ejecteur+EjecteurVue Contraintes

Vue Graphique

Vue Partie Commande

Vue Partie Opérative

Agrégation

Stockage aisé du nouveau composant

Même structure

Page 5: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

17

Types de composants

• Base (vérin, butée, capteur)• Base enrichie (vérin + capteurs dc/fc)• Support (tapis)• Contextuel effectif (support + CB)• Système

• Dédié aux systèmes transitiques

18

Modélisation des produits

Dimensions

Poids

Identifiant

P1P2

V1 C1bB1

Modélisation structuro-fonctionnelle

approche composant

Modélisation du système de commande

automates

communication inter-automates

entrées/sorties

Modélisation complète du système

19

Guide de modélisation des systèmes transitiques

• Phase 1 : identification des produits• Phase 2 : identification des composants (types)• Phase 3 : définition des vues topologiques (règles)• Phase 4 : identification des opérations (règles)• Phase 5 : définition des vues contraintes• Phase 6 : définition de l’architecture du système de commande

20

Exemple

Page 6: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

21

• 2 Convoyeurs

• 4 butées

• 3 Vérins

• 7 capteurs (Positions Vérins)

• 5 capteurs (Détection Colis)

• 1 lecteur code-barres

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

Présentation de l’exemple Poste

22

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

• Produit P1

• 2 Convoyeurs

• 4 butées

• 3 Vérins

• 7 capteurs (Positions Vérins)

• 5 capteurs (Détection Colis)

• 1 lecteur code-barres

Présentation de l’exemple Poste

23

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

• Produit P1

• Produit P2

• 2 Convoyeurs

• 4 butées

• 3 Vérins

• 7 capteurs (Positions Vérins)

• 5 capteurs (Détection Colis)

• 1 lecteur code-barres

Présentation de l’exemple Poste

24

ComponentComponentConvoyeur

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

Op. basiques

Vue PO

Vue commande

ComponentVérin

Op. basiques

Vue PO

Vue commande

ComponentButée

Op. basiques

Vue PO

Vue commande

ComponentCapteur

Op. basiques

Vue PO

Vue commande

ComponentLCB

Op. basiques

Vue PO

Vue commande

x1x2 x3 x4 x12

Composants Simples

Page 7: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

25

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

V1 C1a C1b B1 B1 C4 C8 Lcb Cv1 V2 C2a C2b C2c C5 V1 V1C6 C7 B3 B4 V3 C3a C3b Cv2

Composants Simples

Composants Simples

26

V1 C1a

C1b

B2 B1

C4 C8

LCB

Position

rentrée

Position

sortieComposant Base Enrichi

Opérations contextuelles

Vue topologique

ComponentVérin V1

Vue PO

Vue commande

Capteur C1a

Vue PO

Vue commande

Capteur C1b

Vue PO

Vue commande

Op. basiques Op. basiques Op. basiques

Vue commande

Composants de Base Enrichis

27

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

CBE1 CBE2 CBE3

V1 C1a C1b B1 B1 C4 C8 Lcb Cv1 V2 C2a C2b C2c C5 V1 V1C6 C7 B3 B4 V3 C3a C3b Cv2

Composants Simples

Composants de Base Enrichis

28

Composant Contextuel Effectif

Opérations contextuelles effectives

V1 C1a

C1b

B2 B1

C4 C8

LCB

Composant Base Enrichi

Opérations contextuelles

Vue topologique

Vue commande

Convoyeur Cv1Butée B1

Vue PO

Capteur C4

Vue PO

Vue commande Vue commande

Vue PO

Vue commande

Op. basiques Op. basiques Op. basiques

Composants Contextuels Effectifs

Page 8: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

29

Composant Contextuel Effectif

Opérations contextuelles effectives

Vue topologique

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

Z1 Z2 Z3

Z4 Z5 Z6

Z7 Z8

V1 C1a

C1b

B2 B1

C4 C8

LCB

Composant Base Enrichi

Opérations contextuelles

Vue topologique

Vue commande

Convoyeur Cv1Butée B1

Vue PO

Capteur C4

Vue PO

Vue commande Vue commande

Vue PO

Vue commande

Op. basiques Op. basiques Op. basiques

Composants Contextuels Effectifs

30

Composant Contextuel Effectif

Opérations contextuelles effectives

Vue topologique

Vue contraintes

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

Contraintes de sécurité

V1 C1a

C1b

B2 B1

C4 C8

LCB

Composant Base Enrichi

Opérations contextuelles

Vue topologique

Vue commande

Convoyeur Cv1Butée B1

Vue PO

Capteur C4

Vue PO

Vue commande Vue commande

Vue PO

Vue commande

Op. basiques Op. basiques Op. basiques

Composants Contextuels Effectifs

31

Composant Contextuel Effectif

Opérations contextuelles effectives

Vue topologique

Vue contraintes

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

Contraintes de fonctionnement

V1 C1a

C1b

B2 B1

C4 C8

LCB

Composant Base Enrichi

Opérations contextuelles

Vue topologique

Vue commande

Convoyeur Cv1Butée B1

Vue PO

Capteur C4

Vue PO

Vue commande Vue commande

Vue PO

Vue commande

Op. basiques Op. basiques Op. basiques

Composants Contextuels Effectifs

32

Composant Contextuel Effectif

Opérations contextuelles effectives

Vue topologique

Vue contraintes

Vue commande

V1 C1a

C1b

B2 B1

C4 C8

LCB

Composant Base Enrichi

Opérations contextuelles

Vue topologique

Vue commande

Convoyeur Cv1Butée B1

Vue PO

Capteur C4

Vue PO

Vue commande Vue commande

Vue PO

Vue commande

Op. basiques Op. basiques Op. basiques

Composants Contextuels Effectifs

Page 9: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

33

Composants de Base Enrichis

CCE1 CCE2

CBE1 CBE2 CBE3

V1 C1a C1b B1 B1 C4 C8 Lcb Cv1 V2 C2a C2b C2c C5 V1 V1C6 C7 B3 B4 V3 C3a C3b Cv2

Composants Simples

Composants Contextuels Effectifs

34

POSTE

Composants de Base Enrichis

CCE1 CCE2

CBE1 CBE2 CBE3

V1 C1a C1b B1 B1 C4 C8 Lcb Cv1 V2 C2a C2b C2c C5 V1 V1C6 C7 B3 B4 V3 C3a C3b Cv2

Composants Simples

Composants contextuels effectifs

Composant Système

35

Sommaire

• Contexte et problématique liée à l'ingénierie de la commande

• Besoins• Modélisation d’un système transitique• Génération du code de Contrôle/Commande• Vérification comportementale d’un système• Application à un système de type convoyeur

36

Obtention de la commande – Principes

• Instanciation des modèles contenus en bibliothèque lors du choix du composant� paramétrage

• Juxtaposition et liaison des modèles� passage d'information

• Ajout d’une commande hiérarchique� pré-écrite ou non

• Spécialisation� enlever les portions de commande non utilisées

Page 10: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

37

• Chaque composant inclut une vue commande

Vue contraintes

Opérations

Composant

Vue partie opérative

Vue topologique

Vue commande

Principes

38

• Chaque composant inclut une vue commande

• Une vue commande exprime la commande discrète d’un composant

• Un modèle de commande est décrit par des Grafcets

• La commande du système est de nature hiérarchique

Ca+ Ca- Va C1a

CBE1

Conv

CCE1

Poste

Commande de base

Commande hiérarchique 1

Commande hiérarchique 2

Commande hiérarchique 3

Principes

39

• Modèle de commande basique

Ca+ Ca- Va C1a

Vérin

Conv

Ejecteur

Système

1

Sortir ;

1

2

DemanderSortie = true;

DemanderSortie = false; 2

1

Sortie (Bool) : Sortir Variable globale (Bool) : DemanderSortie

SORTIR

1

Rentrer ;

1

2

DemanderRentrée = true;

DemanderRentrée = false; 2

1

Sortie (Bool) : Rentrer Variable globale (Bool) : DemanderRentrée

RENTRER

Deux types de modèle de commande

40

• Modèle de commande de coordination

Ca+ Ca- Va C1a Ba

CBE1

Conv

CCE1

Poste

Op. basique Op. basique Op. basique Op. basique

Opération contextuelle Op. contextuelle

Opération contextuelle effective Op. contextuelle effective

Contraintes de sécurité et de fonctionnement

Op. basique

Deux types de modèle de commande

Page 11: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

41

Élaboration de la commande

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Constraints model

Opérations

Component

Operating model

Topological model

Vue Contraintes

Opérations

Composant

Vue PO

Vue topologique

view

Control view

Constraintsmodel

Opérations

Component

Operatingmodel

Topologicalmodel

Controlmodel

Génération des vues commandes

Vue Contraintes

Opérations

Composant

Vue PO

Vue topologique

Vue commande

Génération et partitionnement du code de commande

IDM

42

Notions de base [Bézivin, 2005]

Modèle

Meta-modèle

Système

Conforme à

Représenté par

Les états du vérin

Un vérin

Automates à états

Rentré Sorti Inter-

médiaire

rentrer rentré

sorti sortir

rentrer

rentrer sortir

sortir

Introduction à l’IDM

43

Introduction à l’IDM

Méta-Modèle FSM Méta-Modèle RdP

Une FSM Un RdP

Définition des transformations

Application des transformations

Méta-modèles

Modèles

Système

44

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints model

Opérations

Component

Operating model

Topological model

Control model

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Constraints model

Opérations

Component

Operating model

Topological model

Vue Contraintes

Opérations

Composant

Vue PO

Vue topologique

Génération des vues commandes

Génération et partitionnement du code de commande

Vue Contraintes

Opérations

Composant

Vue PO

Vue topologique

Vue commande

Algorithme 3 Phases

Génération des vues commandes

Génération des vues commandes descomposants de base enrichis

Génération des vues commandes descomposants contextuels effectifs

Génération de la vue commande du composant système

Page 12: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

45

Choix de Templates de commandeChoix de Templates de commande

Renseignement des TemplatesRenseignement des Templates

Librairie detemplates de commande

Modèles des contraintes

Modélisation du système

Modèles des commandes de base

Modèlestopologiques

Principe de génération des vues commandes

Génération des vues commandes

3 Transformations de modèles

46

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints view

Opérations

Component

Operating view

Topological view

Control view

Constraints model

Opérations

Component

Operating model

Topological model

Control model

Constraints view

Opérations

Component

Operating view

Topological view

Constraints view

Opérations

Component

Operating view

Topological view

Constraints model

Opérations

Component

Operating model

Topological model

Vue Contraintes

Opérations

Composant

Vue PO

Vue topologique

Génération des vues commandes

Génération et partitionnement du code de commande

Vue Contraintes

Opérations

Composant

Vue PO

Vue topologique

Vue commande

Algorithme 2 Phases

Partitionnement

Extraction, Liaison et Spécialisation

Génération du code

47

Génération du code

• Partitionnement

• Extraction liaison spécialisation� Extraire les G7 à exécuter� Préciser les caractéristiques des grandeurs de commande

� Tenir compte des spécificités des automates3 Transformations

de modèles

48

Modèle UML saisi

Transformation UML2Component : Création du modèle composant

Modèle composant sans vues commandes

Transformation ComponentRefinment : Ajout au modèle des vues commandes des composants simples

Modèle composant avec vues commandes CB

Transformation ComponentRefinmentEBC : Ajout au modèle des vues commandes des CBE

Modèle composant avec vues commandes CB, CBE

Transformation ComponentRefinmentECC : Ajout au modèle des vues commandes des CCE

Modèle composant avec vues commandes CB, CBE, CCE

Transformation ComponentRefinmentSC : Ajout au modèle des vues commandes du CS

Modèle composant avec vues commandes CS, CBE, CCE, CS

Transformation Component2Straton : Obtention du modèle de commande Straton

Modèle de commande Straton

Transformation Straton2XML : Obtention du code de commande Straton

Code de commande Straton au format XML

Algorithme de génération des vues commandes

Extraction et juxtaposition des vues commandes

Modèle Composant partiel

Modèle Composant complet

Modèle de commande

Flot partiel issu de la figure III.14

Page 13: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

49

Ingénierie Dirigée par les Modèles

Plug-in EclipseLangage de transformation

ATL

De la théorie au logiciel

.xmi

cohérence, génération du code 50

Sommaire

• Contexte et problématique liée à l'ingénierie de la commande

• Besoins• Modélisation d’un système transitique• Génération du code de Contrôle/Commande• Vérification comportementale d’un système• Application à un système de type convoyeur

5133

Principe : Simulation Conjointe

• Vérification du code de commande par simulation conjointe PO / PC� Mise au point sans le matériel� Pas de casse matérielle

PC

PO

52

Fichiers d’entrées/sorties

Connexions TCP/IP

SimSED DESIGNER SimSED SIMULATION

STRATON Workbench

Machines Virtuelles STRATON

Fichier XML

PARTIE COMMANDE

PARTIE OPERATIVE

CONCEPTION SIMULATION

34

L’environnement SimSED

Page 14: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

53

Avantages de SimSED

• Réalité virtuelle et animation 3D� Visualiser clairement le comportement dusystème simulé

� Changer de points de vue comme désiré

54

Avantages de SimSED

• Utilisation d’un moteur physique : ODE� Librairie permettant de simuler des corps rigides de façon dynamique

� Détection de collision (friction)

55

Avantages de SimSED

• Respect du temps de cycle automate

SimSED STRATON

Inputs acquisition : Outputs update :

Reading the STRATONoutputs

Data processing :

Updating the operatingpart

Outputs update :

Writing the STRATONinputs Inputs acquisition :

Reading the STRATONinputs

Writing the STRATONouputs

Data processing :

Updating the control part1

2

3 4

5

6

Execution of a simulation stepof each components

Updating ODE parameters

Execution of a ODE simulation step

Updating 3D display

56

Exemple du poste

Page 15: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

57

Sommaire

• Contexte et problématique liée à l'ingénierie de la commande

• Besoins• Modélisation d’un système transitique• Génération du code de Contrôle/Commande• Vérification comportementale d’un système• Application à un système de type convoyeur

58

Poste 1

Poste 2

Poste 3

Poste 4

Poste 5

Virage 1

Virage 2

V1 C1a

C1b

V2

V3

C2a C2b C2c

C3b

C3a

B2 B1

B3 B4

C4

C5 C6 C7

C8

LCB

Poste Virage

L : 8 mètres

l : 6 mètres

Convoyeur (Lorient)

59

Librairie de composants

Modélisation :

X5 postes

X2 virages

Application de la démarche

60

Discussion

• PC1 : généré par notre démarche• PC2 : écrit par 2 non experts• PC3 : écrit par un ingénieur expert

PC1 PC2 PC3 Nombre de Grafcets 363 17 42 Nombre d’étapes 821 123 151 Nombre de transitions 802 128 181 Nombre d’actions 415 242 278 Nombre de transitions 982 207 228 Nombre de variables 530 167 229 Profondeur de la hiérarchie 4 1 2

Nécessité d’une optimisationAméliorer l’outil de saisie / manipulation

Page 16: Conception de la commande Problématiquelisabiblio.univ-angers.fr/jd-jn-macs09/SED/Cours_2_SED_JDMACS09.pdf · automates communication inter-automates entrées/sorties Modélisation

61

Conclusion

• Réutilisation� Capitalisation de code sûr� Objet multi point de vue

• Génération du programme de commande et du modèle de simulation

• IDM en contexte industriel• Changement habitudes de l’expert

� Se concentrer sur les phases amont

• Portabilité • Extension de la démarche

� Autres cibles� Contrôle / commande� Multi version

• Couplage démarche ascendante / descendante