• Aucun résultat trouvé

Fonctions Spéciales

N/A
N/A
Protected

Academic year: 2022

Partager "Fonctions Spéciales"

Copied!
14
0
0

Texte intégral

(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

(2)

Extension de la logique de base

„

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

‰ Bi stables

„ SR forcé dominant / RS réinitialisé dominant / SEMA sémaphore

‰ Temporisateurs

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

‰ Compteurs

„ Compteur 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 N om E xplica t ion

Bist a bles

Dét ect eu r de fr on t

Com pt eu r s

Tem por isa t eu r s SR RS SE MA

R-TRIG F -TRIG CTU CTD CTU D

TP TON TOF RTC

F or cé dom in a n t Réin it ia lisé dom in a n t Sém a ph or e

F r on t m on t a nt F r on t descen da n t Com pt eu r Décom pt eu r Com pt eu r /Décom pt eu r

Im pu lsion

Tem por isa t ion à l'en clen ch em en t Tem por isa t ion a u déclen ch em en t H or loge t em ps r éel (donn e la da t e et l'h eu r e du jou r )

(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éclenchement

„

Sur les automates modernes la temporisation est effectuée par une horloge interne à 100 ms, parfois à 10 ms

TEMPO T

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.PT LD 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 TON OUTPUT Tempo 1

IN Q PT ET t#2s

Programmation d'un bloc fonctionnel de temporisation dans les différents langages normalisés

(4)

Comptage

„

Les fonctions de comptage et de décomptage sont des fonctions couramment utilisées

„

Il 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)

COMPTEU R P

E S

E

S

t

t t N

P 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 P S

E N S

(5)

Fonctions d’organisation du cycle

„

BRANCHEMENTS ET REPETITIONS

‰

Fonctions qui permettent d’intervenir sur le déroulement du cycle de l’automate

‰

Fonctions de branchement

„ Permettent de sauter conditionnement ou inconditionnellement une série d’instructions

„ Saut avant / saut arrière / saut absolu / saut relatif (nombre d’instructions)

‰

Boucles de répétition

„ Permettent 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

(6)

Fonctions d’organisation du cycle

„

SOUS ROUTINES

‰ A 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émoire

‰ Structurer les programmes

„ Décomposer les problèmes complexes en sous ensembles plus simples, correspondant par ex. à des entités technologiques

„ Structure modulaire et hiérarchique

„ Faciliter la maintenance et la lisibilité

Fonctions d’organisation du cycle

„

INTERRUPTIONS

‰ L’automate ne scrute le monde extérieur que de manière cyclique

‰ Pour 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.

(7)

Opérations sur mots

„

On quitte le domaine de la logique pure pour aborder le traitement utilisé dans les ordinateurs

„

Opé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 mots

Littéral structuré R3 := R1 + R2

Bloc fonctionnel

R1 R2

R3 +

Langage à contacts

R1 R2

R3 +

Exemple de programmation des fonctions extra logiques

(8)

Opérations sur mots

Exemple de programmation de la fonction sinus

LD

B A

EN

SIN

FBD

B SIN A

IL LD B

SIN ST A

ST A : = SIN (B)

Opérations sur mots

Type Nom Sym bole

éven t u el

E xplica t ion

Logiqu e su r bit

Ar it h m ét iqu e

Nu m ér iqu e

Com pa r a ison

Con ver sion de t ype Déca la ge

Sélect ion

Ch a în e de ca r a ct èr es AND OR XOR NOT ADD MU L SU B DIV MOD E XP T MOVE

ABS SQRT LN LOG E XP SIN COS ASIN ACOS ATAN GT GE E Q LE LT NE

*_TO_**

SH L SH R ROR ROL

SE L MAX MIN LIMIT MU X

LE N LE F T RIGH T MID CON CAT IN SE RT DE LE TE RE P LACE F IND

&

>=1

=2k +1

+

* - /

**

:=

>

>=

=

<=

<

<>

loga r it h m e n a t u r el loga r it h m e en ba se 10

con ver sion du t ype * ver s le t ype **

déca la ge à ga u ch e déca la ge à dr oit e r ot a t ion à dr oit e r ot a t ion à ga u ch e

sélect ion bin a ir e sélect ion de m a xim u m sélect ion de m in im u m lim it eu r m u lt iplexeu r

lon gu eu r d'u n e ch a în e ca r a ct èr es le plu s à ga u ch e ca r a ct èr es le plu s à dr oit e ca r a ct èr es in t er m édia ir es

(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

POINTER PTR1

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ées

„

Gestion d’une porte de communication série

„

Prend un certain temps ⇒ comporte un signal de retour indiquant que le message a été traité.

Done Flag WRITE

TXT ADDR.

TXT LENGTH

(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 industrielle

„

Signal 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 Régulateur m

PID PROCESSUS

Commande Mesure Consigne

e = s – m

⎟⎟⎠

⎜⎜ ⎞

⎛ + +

=K e T1

edt T dedt

c d

i

(11)

Régulateur PID

„

Algorithme PID

„

Approximation discrète pour les contrôleurs digitaux

„

Mise en œuvre = choix de K, T

i

, T

d

⎟⎟⎠

⎜⎜ ⎞

⎛ + +

=K e T1

edt T dedt

c d

i

( )

+ +

=

=n d n n1 0

j j i n

n e e

T e T T e T K c

Régulateur PID

„

Programmation en langage automate possible, mais fastidieuse

‰ Fonctions annexes (passage manuel / auto, contrôle terme intégral, régulateurs en cascade, contrôle de l’erreur…) difficiles à programmer

„

Mise en œuvre informatique

‰ Programmation du régulateur en langage informatique

‰ Charge exagérée du processeur

‰ Solution multiprocesseur

„

Carte PID

‰ Programmation à l’aide de la console

‰ Choix d’options prévues par le constructeur

(12)

Régulateur PID

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

Régulateur PID

(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 à standardiser

‰ Position mesurée par un codeur incrémental (train d’impulsions rapides):

une carte de comptage

‰ Contrô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

(14)

Commande d’axe

„

Programmation

‰ Instructions de déplacement

„ Jusqu’à une position d’arrêt ou sans arrêt

„ Positions fixées, avec apprentissage, communiquées en temps réels

‰ Organisation des mouvements

„ Appel à des sous routines

„ Sauts conditionnels ou inconditionnels

„ Attente d’évènement

‰ Gestion des paramètres

„ Calcul, affectation de valeurs de position

Programmation d'une commande d'axe a. Déplacements

b. Organisation des mouvements

Commande d’axe

„

Terminaux d’exploitation adjoints aux commandes d’axe

„

Objet

‰ Sélection des modes de marche

‰ Mode de mise au point

„ Modification des paramètres

„ Apprentissage des positions, prise de l’origine

„ Test des programmes

‰ Fonctionnement automatique

„ Visualisation des paramètres et du programme

Observation des déplacements : position et vitesse

Commande d'axe. Exemple de terminal d'exploitation

Références

Documents relatifs

Dans un programme, on place les instructions les unes à la suite des autres, dans l'ordre où on veut que la machine

Pour définir quels objets sont gérés par Javascript, nous allons supposer que vous avez chargé la page suivante dans votre navigateur.. Dans cette fenêtre, une page Html a

mouvement est dans un corps, nous devrions dire que nous sommes en pensée et non que. les pensées sont en nous.»

❒ Déterminer l’expression algébrique d’une fonction affine à partir de deux points.. ☞ Voir la fiche méthode et la fiche d’exercices sur les

II- Représentation graphique d’une fonction. III- Déterminer l’image ou un antécédent d’un nombre par une fonction.. Séquence 8 : Notions de Fonctions Faire les questions

Toute la communication à l’intérieur des réseaux des opérateurs se fait aussi par paquets mais selon d’autres normes que celles qui régissent la liaison entre GSM et antennes.

La définition que nous avons donnée des classes chronologiques suppose, au sens strict, que les parties du corpus qui recourent plus fréquemment que la moyenne au

Connaissant la plus longue sous-séquence commune au mot vide et n’importe quel mot, on peut en déduire une formule de récurrence sur la longueur de la plus longue sous-séquence