chapitre 5: fonctions spéciales...en ton tempo 1 in q pt et ok t#2s fbd input output ton tempo 1 in...

14
1 Chapitre 5: Fonctions Spéciales Pierre Duysinx Université de Liège Extension des fonctionnalités Aperçu des principales fonctions spéciales que l’on peut trouver sur les automates Logique séquentielle Base de temps Opérations sur mots Contrôle du cycle Manipulation des données Régulation PID Commande d’axe Ces fonctions sont réalisées soit par voie logicielle via le processeurs, soit par voie matérielle c’est-à-dire par un module greffé sur le bus

Upload: others

Post on 01-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

1

Chapitre 5: Fonctions Spéciales

Pierre DuysinxUniversité de Liège

Extension des fonctionnalités

Aperçu des principales fonctions spéciales que l’on peut trouver sur les automates

Logique séquentielleBase de temps

Opérations sur motsContrôle du cycleManipulation des donnéesRégulation PIDCommande d’axe

Ces fonctions sont réalisées soit par voie logicielle via le processeurs, soit par voie matérielle c’est-à-dire par un module greffé sur le bus

Page 2: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

2

Extension de la logique de base

Mettre à la disposition du programmeur des fonctions couramment utilisées dans les automatismes

Bi stablesSR forcé dominant / RS réinitialisé dominant / SEMA sémaphore

TemporisateursImpulsion TP / temporisation à l’enclenchement TON / temporisation au déclenchement TOF / RTC horloge temps réel (date et heure)

CompteursCompteur CTU / décompteurs CTD / compteur-décompteur CTUD

Différentiateurs Détecteurs de front montant R-TRIG ou descendant F-TRIG

Extension de la logique de base

Mettre à la disposition du programmeur des fonctions couramment utilisées dans les automatismes

Type Nom Explicat ion

Bistables Détecteur de front Compteurs Tempor isa teurs

SR RS SEMA R-TRIG F-TRIG CTU CTD CTUD TP TON TOF RTC

Forcé dominant Réinit ia lisé dominant Sémaphore Front montant Front descendant Compteur Décompteur Compteur /Décompteur Impulsion Tempor isa t ion à l'enclenchement Tempor isa t ion au déclenchement Horloge temps réel (donne la da te et l'heure du jour )

Page 3: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

3

Temporisation

La fonction temporisation permet de décaler un signal logique par rapport à un autre d’un délai fixé.Décalage à l’enclenchement ou au déclenchementSur les automates modernes la temporisation est effectuée par une horloge interne à 100 ms, parfois à 10 ms

TEMPOT

E S

E

S

T

t

t

E

S

T

<T

t

t T

a. Retard à l'enclenchement b. Retard au déclenchement

Temporisation

IL Lancement LD t#2s ST Tempo1.PTLD INPUT ST Tempo1.IN CAL Tempo1

Utilisation LD Tempo1.Q ST OUTPUT

ST Lancement Tempo1 (IN : = INPUT , PT : = t#2s) Utilisation OUTPUT : = Tempo1.Q

LD

INPUT OUTPUT

EN

TON

Tempo 1

IN Q

PT ET

OK

t#2s

FBD INPUT OUTPUT

TON

Tempo 1

IN Q

PT ET t#2s

Programmation d'un bloc fonctionnel de temporisation

dans les différents langages normalisés

Page 4: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

4

Comptage

Les fonctions de comptage et de décomptage sont des fonctions couramment utiliséesIl existe divers compteurs logiciels, mais ils ne peuvent compter que des impulsions espacées d’une durée significativement supérieure au temps de cycle de l’automate (10 à 100 ms)Pour les comptages rapides, on recourt à des cartes spéciales (horloges àplusieurs kHz)

COMPTEURP

E S

E

S

t

t

t

NP

Présélection

Compteur avec présélection: devient vrai lorsque le nombre d’entrées est dépassé.

Différentiateurs

Délivrent des impulsions d’une durée égale à un cycle d’automate lors du changement d’état d’une variable logique

E

S

t

t

E

S

t

t

largeur = 1 cycle

E SP

E SN

Page 5: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

5

Fonctions d’organisation du cycle

BRANCHEMENTS ET REPETITIONSFonctions qui permettent d’intervenir sur le déroulement du cycle de l’automateFonctions de branchement

Permettent de sauter conditionnement ou inconditionnellement unesérie d’instructionsSaut avant / saut arrière / saut absolu / saut relatif (nombre d’instructions)

Boucles de répétitionPermettent de répéter un groupe d’instructions un nombre de fois donné

Fonctions d’organisation du cycle⎯ ⎯ ⎯

JMR n ⎯ ⎯ ⎯ ⎯ ⎯

⎯ ⎯ ⎯

DO 5 ⎯

END ⎯ ⎯ ⎯

⎯ ⎯

JSR SR1 ⎯ ⎯ ⎯ ⎯

JSR SR1 ⎯ ⎯

⎯ ⎯ ⎯

JMP X ⎯ ⎯ ⎯ ⎯ ⎯

X

⎯ ⎯ ⎯ ⎯ ⎯ ⎯ ⎯

JMP Y ⎯

Y

n instr. 5 X

⎯ ⎯ ⎯ ⎯ ⎯

RET ⎯ ⎯ ⎯

RET

SR1

SR2

⎯ ⎯

JSR SR1 ⎯ ⎯ ⎯ ⎯

JSR SR1 ⎯ ⎯

SR1

SR2

SR11

SR12

a. Saut direct b. Saut inverse c. Saut relatif d. Boucle DO

e. Sous-routines (économie mémoire) e. Sous-routines (structuration des programmes)

Instructions pour le contrôle du cycle

Page 6: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

6

Fonctions d’organisation du cycle

SOUS ROUTINESA pour effet de faire abandonner la séquence d’instructions en cours par le processeur au profit d’une séquence d’instructions (la sous routine) située ailleurs dans la mémoire.La deuxième séquence se termine par une instruction de retour RETURN qui ramène le processeur à l’endroit où il avait quitté la séquence initiale

Deux avantagesÉconomiser la place mémoire

Séquence reproduite plusieurs fois mais une seule fois présente en mémoireStructurer les programmes

Décomposer les problèmes complexes en sous ensembles plus simples, correspondant par ex. à des entités technologiquesStructure modulaire et hiérarchiqueFaciliter la maintenance et la lisibilité

Fonctions d’organisation du cycle

INTERRUPTIONSL’automate ne scrute le monde extérieur que de manière cycliquePour les évènements urgents, cela demanderait des temps de cycle très courts et donc des automates surpuissants.Les procédures d’interruptions sont des solutions beaucoup plus efficaces.Les sources d’interruptions sont connectées individuellement ou par une fonction OU à des lignes spéciales du bus, les lignes d’interruption.Le processeur scrute automatiquement les lignes d’interruption après chaque instruction (quelques microsecondes).Si on détecte une demande d’interruption, on interrompt l’exécution du programme, on réalise les traitement désiré puis on reprend l’exécution du programme interrompu.Au moment de l’interruption on a accès direct à tous les I/O.

Page 7: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

7

Opérations sur mots

On quitte le domaine de la logique pure pour aborder le traitement utilisé dans les ordinateursOpérations sur des mots codant des nombres, des caractères, etc.Opérations

Arithmétiques: +, -, *, /Logiques sur des mots: AND, OR, XOR, etc.De test: >, <, =, etc.De conversion de code BCD → BIN, BIN → BCD

Opérations sur motsLittéral structuré R3 := R1 + R2

Bloc fonctionnel R1

R2

R3+

Langage à contacts

R1R2

R3+

Exemple de programmation des fonctions extra logiques

Page 8: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

8

Opérations sur mots

Exemple de programmation de la fonction sinus

LD

B A

EN

SIN

FBD

B ASIN

IL LD B SIN ST A

ST A : = SIN (B)

Opérations sur mots

Type Nom Symbole éventuel

Explicat ion

Logique su r bit Arithmét ique Numér ique Comparaison Conversion de type Déca lage Sélect ion Cha îne de ca ractères

AND OR XOR NOT ADD MUL SUB DIV MOD EXPT MOVE ABS SQRT LN LOG EXP SIN COS ASIN ACOS ATAN GT GE EQ LE LT NE *_TO_** SHL SHR ROR ROL SEL MAX MIN LIMIT MUX LEN LEFT RIGHT MID CONCAT INSERT DELETE REPLACE FIND

&

>=1 =2k+1

+ * - /

** :=

> >= =

<= <

<>

logar ithme na turel logar ithme en base 10 conversion du type * vers le type ** déca lage à gauche déca lage à droit e rota t ion à droit e rota t ion à gauche sélect ion bina ire sélect ion de maximum sélect ion de minimum limiteur mult iplexeur longueur d'une cha îne ca ractères le plus à gauche ca ractères le plus à droit e ca ractères in termédia ires

Page 9: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

9

Gestion des tables de valeur

Des registres de données consécutives peuvent être organisés en table. On accède aux valeurs par des pointeurs qui réalisent un adressage indexé par rapport au début de la table

IN

CLEAR

OUT

IN REG R200

START R000

POINTERPTR1

END R050

OUT REG R210

Edition de texte

Sortir sur une sortie écran ou imprimante des textes, c.à-d. une suite de caractères alphanumériques stockés dans une tables de donnéesGestion d’une porte de communication sériePrend un certain temps ⇒comporte un signal de retour indiquant que le message a été traité.

Done Flag WRITE

TXT ADDR. TXT LENGTH

Page 10: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

10

Pile FIFO

Table gérée de manière particulière: les données introduites vont s’empiler dans le fond de la table. En sortie toujours le dernier élément introduit qui est prélevé en premier.Le FIFO permet de réaliser un tampon entre processus de production d’information et un processus de consommation non synchrone sans saturer.Exemple: gestion des alarmes.

IN

CLEAR

OUT

IN REG R200

START R000

FIFO

END R050

OUT REG R210

Data n IN

Data n

Data 1

.

. OUT

Data

Régulateur PID

Le régulateur PID ouvre la porte à un grand nombre de contrôles de processus continus et répond à la plupart des cas de régulation industrielleSignal de commande:

Terme (P) proportionnel à l’erreur Terme intégral (I) afin d’annuler l’erreur statique Terme dérivé (D) proportionnel aux variations de l’erreur qui réalise une anticipation

+

-

s e c m Régulateur

PID PROCESSUS

Commande Mesure Consigne

e = s – m

⎟⎟⎠

⎞⎜⎜⎝

⎛++= ∫ dt

deTedtT1eKc d

i

Page 11: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

11

Régulateur PID

Algorithme PID

Approximation discrète pour les contrôleurs digitaux

Mise en œuvre = choix de K, Ti, Td

⎟⎟⎠

⎞⎜⎜⎝

⎛++= ∫ dt

deTedtT1eKc d

i

( )⎥⎥⎦

⎢⎢⎣

⎡−++= −

=∑ 1nn

dn

0jj

inn ee

TTe

TTeKc

Régulateur PID

Programmation en langage automate possible, mais fastidieuseFonctions annexes (passage manuel / auto, contrôle terme intégral, régulateurs en cascade, contrôle de l’erreur…) difficiles à programmer

Mise en œuvre informatiqueProgrammation du régulateur en langage informatiqueCharge exagérée du processeurSolution multiprocesseur

Carte PIDProgrammation à l’aide de la consoleChoix d’options prévues par le constructeur

Page 12: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

12

Régulateur PID

Structure de principe du régulateur PID(Source SIEMENS)

Régulateur PID

Structure détaillée du régulateur PID(Source SIEMENS)

Page 13: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

13

Commande d’axe

Le position d’un mobile le long d’un axe: machine de découpe, d’emballage, lignes de transfert, de manutention…

Commande assez facile à standardiserPosition mesurée par un codeur incrémental (train d’impulsions rapides): une carte de comptageContrôle de l’enchaînement des mouvements usuels

Commande d’axe

Principe de fonctionnement d’une commande d’axe

Asservissement en position (gain en position Kp)Asservissement en vitesse assurée par un dispositif extérieur, le variateur (gain en vitesse Kv)Limitations d’accélérations

Jeu d’instructions simple et complet pour décrire les trajectoires, les enchaîner et assurer la coordination avec le processeur

Page 14: Chapitre 5: Fonctions Spéciales...EN TON Tempo 1 IN Q PT ET OK t#2s FBD INPUT OUTPUT TON Tempo 1 IN Q t#2s PT ET Programmation d'un bloc fonctionnel de temporisation dans les différents

14

Commande d’axe

ProgrammationInstructions de déplacement

Jusqu’à une position d’arrêt ou sans arrêtPositions fixées, avec apprentissage, communiquées en temps réels

Organisation des mouvementsAppel à des sous routinesSauts conditionnels ou inconditionnelsAttente d’évènement

Gestion des paramètresCalcul, affectation de valeurs de position

Programmation d'une commande d'axea. Déplacements

b. Organisation des mouvements

Commande d’axe

Terminaux d’exploitation adjoints aux commandes d’axeObjet

Sélection des modes de marcheMode de mise au point

Modification des paramètresApprentissage des positions, prise de l’origineTest des programmes

Fonctionnement automatiqueVisualisation des paramètres et du programme

Observation des déplacements : position et vitesse

Commande d'axe. Exemple de terminal d'exploitation