GJC LES REGISTRES A...

Post on 23-Jan-2020

5 views 0 download

Transcript of GJC LES REGISTRES A...

GJ C

LES REGISTRESA DECALAGE

Introduction

GJ C

Introduction

DéfinitionUn registre est un ensemble permettant de stocker des informations en attendant leur traitement. Suivant sa conception, les informations stockées peuvent être ou pas soumises à différents types de manipulations.

Les registres de mémorisation ou registres tamponsUn registre de mémorisation est un ensemble permettant de stocker momentanément une information au format bit ou mot.

Introduction

DéfinitionUn registre est un ensemble permettant de stocker des informations en attendant leur traitement. Suivant sa conception, les informations stockées peuvent être ou pas soumises à différents types de manipulations.

Les registres à décalageIl permet le stockage et la modification de l’information. A l’aide d’une entrée de commande l’information contenue dans le registre est décalée. Ce décalage s’effectue vers la droite ou vers la gauche. Dans un registre, les informations peuvent être introduites ou disponibles en sortie de deux manières différentes:

• en série• en parallèle

IntroductionReprésentation Norme EN 61131-3

SHR

IN

N

Décalage logique à droite SHR

Avant l’exécution de la fonction

Introduction

Après l’exécution de la fonction

SHR

IN

N3

Décalage logique à droite SHR

Avant l’exécution de la fonction

Introduction

%MW10 %MW10

Après l’exécution de la fonction

SHR

IN

N3

Décalage logique à droite SHR

Avant l’exécution de la fonction

%MW10

Introduction

%MW10 %MW10

Après l’exécution de la fonction

%MW10

0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1

SHR

IN

N3

Décalage logique à droite SHR

Avant l’exécution de la fonction

%MW10

Introduction

%MW10 %MW10

Après l’exécution de la fonction

%MW10

0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1

SHR

IN

N3

Décalage logique à droite SHR

Avant l’exécution de la fonction

%MW10

Introduction

%MW10 %MW10

Après l’exécution de la fonction

%MW10 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0

ROL

IN

N

Décalage circulaire à gauche ROL

Avant l’exécution de la fonction

Introduction

Après l’exécution de la fonction

ROL

IN

N5

Avant l’exécution de la fonction

Introduction

%MW10 %MW10

Après l’exécution de la fonction

Décalage circulaire à gauche ROL

ROL

IN

N5

Avant l’exécution de la fonction

%MW10

Introduction

%MW10 %MW10

Après l’exécution de la fonction

%MW10

Décalage circulaire à gauche ROL

ROL

IN

N5

Avant l’exécution de la fonction

%MW10

Introduction

%MW10 %MW10

Après l’exécution de la fonction

%MW10

Décalage circulaire à gauche ROL

0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1

0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1

ROL

IN

N5

Avant l’exécution de la fonction

%MW10

Introduction

%MW10 %MW10

Après l’exécution de la fonction

%MW10 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1

Décalage circulaire à gauche ROL

Utilisation des registres à décalage

GJ C

Utilisation des registres à décalage

Positionnement d'un mobile

Un registre à décalage de n bits dans lequel circule un seul 1 parmi des 0 permet de représenter la position du mobile parmi n positions possibles.

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Utilisation des registres à décalage

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0Position du mobile

Diviseur de fréquence

En base 2 :- un décalage à droite est équivalent à une division.- un décalage à gauche est équivalent à une multiplication.

Utilisation des registres à décalage

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

Valeur = 2

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

Valeur = 4

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

Valeur = 8

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

Valeur = 16

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0

Valeur = 36

Utilisation des registres à décalage

0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0

Valeur = 72

Suivi des pièces dans une machine type transfert:

- Un 1er registre peut autoriser ou pas le travail d'un poste si une pièce est présente ou absente.

- Un 2em registre peut bloquer le travail d'un poste si une pièce est présente mais en mauvais état et autoriser dans ce cas précis le rejet de la pièce au poste d'évacuation pièces mauvaises.

Utilisation des registres à décalage

Utilisation des registres à décalage

1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1Présence pièce

Défaut sur pièce 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

Travail sur pièce

Travail sur pièce = Présence pièce . / Défaut sur pièce

Utilisation des registres à décalage

1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1Présence pièce

Défaut sur pièce 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

travail sur pièce 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 0

Travail sur pièce = Présence pièce . / Défaut sur pièce

Registres à décalage etlogique programmée

GJ C

Registres en logique programméeTraduction d’un registre par grafcet

sens de déplacementCR

PO

P1 P2 P3 P4

OP1 OP2 OP3 OP4

Registres en logique programméeTraduction d’un registre par grafcet

1

OP12

CR . P0

OP12

CR . P0

1

OP1

OP2

2

3

CR . P0

CR

1

OP1

OP2

OP3

2

3

4

CR . P0

CR

CR

1

OP1

OP2

OP3

OP4

2

3

4

5

CR . P0

CR

CR

CR

1

OP1

OP2

OP3

OP4

2

3

4

5

CR . P0

CR

CR

CR

CR

1

Registres en logique programméeTraduction d’un registre par grafcet

OP1

OP2

OP3

OP4

2

3

4

5

CR . P0

CR

CR

CR

CR

Transition source

Transition puits

Registres en logique programméeTraduction d’un registre par grafcet

Si :- on réaliser le registre en logique câblée à l’aide d’un séquenceur,- on utilise une méthode de programmation asynchrone en logique

programmée,

On ne peut pas avoir deux étapes consécutivement actives!

Registres en logique programméeTraduction d’un registre par grafcet

OP1

OP2

2

3

4

5

CR . P0

CR

CR

Transition source

CR

CR

etc ………

il faut doubler les étapes !

Registres en logique programméeTraduction d’un registre par grafcet

Avec un automate si la méthode le permet- on traduira le grafcet type « a »,

OP1

OP2

OP3

OP4

2

3

4

5

CR . P0

CR

CR

CR

CR

Registres en logique programméeTraduction d’un registre par grafcet

Avec un automate si la méthode le permet- on traduira le grafcet type « a », - on traduira le grafcet type « b », OP1

OP2

2

3

4

5

CR . P0

CR

CR

CR

CR

etc ………

Registres en logique programméeTraduction d’un registre par grafcet

Avec un automate si la méthode le permet- on traduira le grafcet type « a », - on traduira le grafcet type « b »,- on utilisera les opérateurs registres à décalage intégrés,

Registres en logique programméeTraduction d’un registre par grafcet

Avec un automate si la méthode le permet- on traduira le grafcet type « a », - on traduira le grafcet type « b »,- on utilisera les opérateurs registres à décalage intégrés,- on utilisera les opérateurs calcul qui traduisent le registre.

Le registre sera représenté par:- un mot (16 bits), - un mot double (32 bits),- un mot long (64 bits)- ou plus (travail sur plusieurs mots).

Registres en logique programméeUtilisation des instructions registres intégrées

Opérations à réaliser pour utiliser un registre à décalage programmé:

- Initialiser le registreRAZ si machine type transfert

Machine type transfert

13 12 11 10 9 8 7 6 5 4 3 2 1 015 14

Initialisation « RAZ »

Registres en logique programméeUtilisation des instructions registres intégrées

Registres en logique programméeUtilisation des instructions registres intégrées

Opérations à réaliser pour utiliser un registre à décalage programmé:

- Initialiser le registreRAZ si machine type transfertPrépositionnement si contrôle de position

13 12 11 10 9 8 7 6 5 4 3 2 1 015 14

Initialisation « Prépositionnement »

Registres en logique programméeUtilisation des instructions registres intégrées

Contrôle de position

Registres en logique programméeUtilisation des instructions registres intégrées

Opérations à réaliser pour utiliser un registre à décalage programmé:

- Initialiser le registreRAZ si machine type transfertPré positionnement si contrôle de position

- Introduction de l’informationmachine type transfert uniquement

Machine type transfert

13 12 11 10 9 8 7 6 5 4 3 2 1 015 14Introduction information

Initialisation « RAZ »

Registres en logique programméeUtilisation des instructions registres intégrées

Registres en logique programméeUtilisation des instructions registres intégrées

Opérations à réaliser pour utiliser un registre à décalage programmé:

- Initialiser le registreRAZ si machine type transfertPré positionnement si contrôle de position

- Introduction de l’informationmachine type transfert uniquement

- décaler l’informationà droite ou à gauche si machine type transfert

Machine type transfert

13 12 11 10 9 8 7 6 5 4 3 2 1 015 14Introduction information

Initialisation « RAZ »

décalage information

Registres en logique programméeUtilisation des instructions registres intégrées

Registres en logique programméeUtilisation des instructions registres intégrées

Opérations à réaliser pour utiliser un registre à décalage programmé:

- Initialiser le registreRAZ si machine type transfertPré positionnement si contrôle de position

- Introduction de l’informationmachine type transfert uniquement

- décaler l’informationà droite ou à gauche si machine type transfertà droite et à gauche si contrôle de position

13 12 11 10 9 8 7 6 5 4 3 2 1 015 14

Initialisation « Prépositionnement »

décalage Information

à gauche

décalage Information

à droite

Registres en logique programméeUtilisation des instructions registres intégrées

Contrôle de position

Registres en logique programméeUtilisation des instructions registres intégrées

Opérations à réaliser pour utiliser un registre à décalage programmé:

- Initialiser le registreRAZ si machine type transfertPré positionnement si contrôle de position

- Introduction de l’informationmachine type transfert uniquement

- décaler l’informationà droite ou à gauche si machine type transfertà droite et à gauche si contrôle de position

- utiliser les informationslecture d’un bit quelconque du registre

Machine type transfert

13 12 11 10 9 8 7 6 5 4 3 2 1 015 14

utilisation

Introduction information

Initialisation « RAZ »

décalage information

Registres en logique programméeUtilisation des instructions registres intégrées

13 12 11 10 9 8 7 6 5 4 3 2 1 015 14

utilisation

Initialisation « Prépositionnement »

décalage Information

à gauche

décalage Information

à droite

Registres en logique programméeUtilisation des instructions registres intégrées

Contrôle de position

ExempleUtilisation d’un registre

cas d’une machine type transfert

GJ C

Registres en logique programméeregistre et machine type transfert

AVcp_pièce

cp_pas

Poste1

Opération N°1

Poste2

Opération N°2

Poste3

Opération N°3

Poste4

Opération N°4

Registres en logique programméeregistre et machine type transfert

Initialisation « RAZ »

Utilisation

Décalage à droite

Chargement

Poste 1Poste 2Poste 3Poste 4

Registre à utiliser

Utilisation OK

étape du GrafcetConduite Machine

Registres en logique programméeregistre et machine type transfert

GCT

Registres en logique programméeregistre et machine type transfert

Analyse

Initialisation

Registres en logique programméeregistre et machine type transfert

Analyse

Décalage - Chargement

Registres en logique programméeregistre et machine type transfert

Analyse

Décalage - Chargement

Analyse

Registres en logique programméeregistre et machine type transfert

Programme(*déclaration*)

215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20registre

poste1_reg

poste2_reg

poste3_reg

poste4_reg

Registres en logique programméeregistre et machine type transfert

Initialisation

Programme(*corps de la fonction*)

Registres en logique programméeregistre et machine type transfert

Programme(*corps de la fonction*)

Registres en logique programméeregistre et machine type transfert

Décalage - Chargement

Programme(*corps de la fonction*)

Registres en logique programméeregistre et machine type transfert

Décalage - Chargement

Programme(*corps de la fonction*)

Registres en logique programméeregistre et machine type transfert

Décalage - Chargement

Programme(*corps de la fonction*)

Registres en logique programméeregistre et machine type transfert

Décalage - Chargement

Programme(*corps de la fonction*)

Programme

(*corps de la fonction*)

Utilisation OK

Registres en logique programméeregistre et machine type transfert

GCT

Utilisation des informations du registre dans les grafcets des taches

101

106

107

100

Opération N°1

/ X 33

X 33 . / poste1_reg X 33 . poste1_reg

201

204

205

200

Opération N°2

/ X 33

X 33 . / poste2_reg X 33 . poste2_reg

Utilisation du registre

Tache N°1 Tache N°2

301

303

304

300

Opération N°3

/ X 33

X 33 . / poste3_reg X 33 . poste3_reg

401

408

409

400

Opération N°4

/ X 33

X 33 . / poste4_reg X 33 . poste4_reg

Utilisation du registre

Tache N°3 Tache N°4

Registres en logique programméeregistre et machine type transfert

ExempleUtilisation d’un registre

cas d’un contrôle de position

GJ C

Registres en logique programméeregistre et contrôle de position

cp_origine

cp_position

01234

AVAR

Registres en logique programméeregistre et contrôle de position

01234

AV cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

AV cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

AV cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

AV cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

AR cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

AR cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

AR cp_origine

cp_position

01234

AR cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

01234

cp_origine

cp_position

Registres en logique programméeregistre et contrôle de position

décalage à

droite

Position4

Position3

Position2

Position1

Registre à utiliser

Registres en logique programméeregistre et contrôle de position

Position0

décalage à

gauche

utilisation

Initialisation « Prépositionnement »

Analyse

Registres en logique programméeregistre et contrôle de position

Analyse

Registres en logique programméeregistre et contrôle de position

Analyse

Problème !

Analyse

Le dernier décalage à droite est remplacé par l’initialisation

Registres en logique programméeregistre et contrôle de position

Programme(*déclaration*)

215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20registre

Position 3_reg

Position 2_reg

Position 1_reg

Position 0_regPosition 4_reg

Registres en logique programméeregistre et contrôle de position

Programme(*corps de la fonction*)

Programme(*corps de la fonction*)

Registres en logique programméeregistre et contrôle de position

Registres en logique programméeregistre et contrôle de position

(*corps de la fonction*)

Registres en logique programméeregistre et contrôle de position

registre et contrôle de position

Sorties

position 4_reg KM_A V

KM_A Rposition 0_reg

Conditions pour marche AV

Conditions pour marche AR

Fin