Vous êtes sur la page 1sur 14

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

1
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 Nom E xplicat ion

Bist a bles SR F or cé dom in ant


RS Réinit ia lisé dom in a nt
SEMA Sém a ph or e

Dét ect eu r de fr on t R-TRIG F r on t m on t a nt


F -TRIG F r on t descen da n t

Com pt eur s CTU Com pt eur


CTD Décom pt eu r
CTUD Com pt eur /Décom pt eu r

Tem por isa t eu r s TP Im pu lsion


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

2
Temporisation

„ La fonction temporisation E TEMPO S

permet de décaler un signal T

logique par rapport à un autre


d’un délai fixé.
E E
„ Décalage à l’enclenchement
ou au déclenchement t t
<
„ Sur les automates modernes la S
T
S
temporisation est effectuée par
une horloge interne à 100 ms, t t
T T T
parfois à 10 ms
a. Retard à l'enclenchement b. Retard au déclenchement

Temporisation
LD EN Tempo 1 OK

TON

INPUT IN Q OUTPUT

t#2s PT ET

Tempo 1
FBD TON
Programmation d'un bloc INPUT IN Q OUTPUT

fonctionnel de t#2s PT ET

temporisation
dans les différents
IL Lancement LD t#2s
langages normalisés 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

3
Comptage
„ Les fonctions de comptage et E
de décomptage sont des
fonctions couramment utilisées
t
E COMPTEU S
„ Il existe divers compteurs R N Présélection
logiciels, mais ils ne peuvent P P

compter que des impulsions


t
espacées d’une durée
significativement supérieure au S
temps de cycle de l’automate
(10 à 100 ms) t
„ Pour les comptages rapides,
on recourt à des cartes
spéciales (horloges à Compteur avec présélection:
plusieurs kHz) devient vrai lorsque le nombre
d’entrées est dépassé.

Différentiateurs
E

„ Délivrent des impulsions d’une


durée égale à un cycle E S
t
P
d’automate lors du S
changement d’état d’une largeur = 1 cycle

variable logique t

t
E N S

4
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


⎯ ⎯ ⎯ ⎯
⎯ ⎯ ⎯ ⎯
⎯ ⎯ ⎯ ⎯
JMP X Y ⎯ JMR n DO 5
⎯ ⎯ ⎯ ⎯
n instr. 5X
⎯ ⎯ ⎯ END
⎯ ⎯ ⎯ ⎯
X ⎯ JMP Y ⎯ ⎯
⎯ ⎯ ⎯ ⎯

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

SR11

⎯ ⎯ ⎯
SR1
⎯ ⎯ ⎯ SR1
JSR SR1 ⎯ JSR SR1
⎯ ⎯ ⎯
⎯ ⎯ ⎯ SR12
⎯ RET ⎯
⎯ ⎯ ⎯
JSR SR1 ⎯ SR2 JSR SR1 SR2
⎯ ⎯ ⎯
⎯ RET ⎯

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

Instructions pour le contrôle du cycle

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

6
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 R3
R1
+
R2

Langage à contacts

+
R1 R3
R2

Exemple de programmation des fonctions extra logiques

7
Opérations sur mots
LD EN

SIN
B A

FBD

B SIN A

IL LD B
SIN
ST A

ST A : = SIN (B)

Exemple de programmation de la fonction sinus

Opérations Type

Logique su r bit AND


OR
Nom Sym bole
évent u el

&
>=1
Explicat ion

sur mots
XOR =2k+1
NOT

Arit h m ét iqu e ADD +


MUL *
SUB -
DIV /
MOD
EXP T **
MOVE :=

Nu m ér iqu e ABS
SQRT
LN logar it hm e n a t ur el
LOG logar it hm e en base 10
EXP
SIN
COS
ASIN
ACOS
ATAN

Com pa r aison GT >


GE >=
EQ =
LE <=
LT <
NE <>

Conversion de t ype *_TO_** conver sion du t ype * ver s le type **

Déca lage SH L déca la ge à ga uch e


SH R déca la ge à dr oit e
ROR r ot a t ion à dr oit e
ROL r ot a t ion à ga uche

Sélection SE L sélect ion bina ir e


MAX sélect ion de m a xim u m
MIN sélect ion de minimu m
LIMIT lim it eu r
MUX m ult iplexeur

Cha îne de ca ra ct ères LEN lon gu eur d'u ne cha în e


LEF T ca ra ct ères le plu s à gau ch e
RIGH T ca ra ct ères le plu s à droit e
MID ca ra ct ères in t erm édia ir es
CONCAT
INSE RT
DELE TE
RE P LACE
F IND

8
Gestion des tables de valeur

„ Des registres de données IN


consécutives peuvent être IN REG
R200
START
R000
organisés en table. CLEAR
POINTER
„ On accède aux valeurs par PTR1

des pointeurs qui réalisent OUT


END OUT REG
un adressage indexé par R050 R210

rapport au début de la table

Edition de texte

„ Sortir sur une sortie écran ou


imprimante des textes, c.à-d. WRITE
Done Flag

une suite de caractères TXT ADDR.


alphanumériques stockés TXT LENGTH

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

9
Pile FIFO
IN
IN Data n
IN REG START
R200 R000 Data n
CLEAR .
.
FIFO OUT
Data 1
OUT Data
END OUT REG
R050 R210

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

Régulateur PID
Consigne Commande Mesure
e Régulateur c m
s + PROCESSUS
PID
-

e=s–m

„ 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:
⎛ 1 de ⎞
c = K ⎜⎜ e +
⎝ T∫
i
edt + Td ⎟
dt ⎟⎠
‰ 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

10
Régulateur PID

„ Algorithme PID
⎛ 1 de ⎞
c = K ⎜⎜ e +
⎝ Ti

edt + Td ⎟
dt ⎟⎠

„ Approximation discrète pour les contrôleurs digitaux


⎡ n ⎤
c n = K ⎢e n +
T
∑e j +
Td
(en − en−1 )⎥
⎣⎢ Ti j=0 T ⎦⎥

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

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

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

12
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

13
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
Programmation d'une commande d'axe
„ Calcul, affectation de valeurs a. Déplacements
de position 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
Commande d'axe. Exemple de „ Visualisation des paramètres
terminal d'exploitation et du programme
Observation des déplacements :
position et vitesse

14

Vous aimerez peut-être aussi