Schneider Electric Bibliothèque Fuzzy-Control V1.2 Mode d'emploi

Ajouter à Mes manuels
118 Des pages
Schneider Electric Bibliothèque Fuzzy-Control V1.2 Mode d'emploi | Fixfr
33004220 02/2009
Bibliothèque Fuzzy-Control
v1.2
une SoCollaborative library
33004220.02
02/2009
www.schneider-electric.com
Schneider Electric ne saurait être tenu responsable des erreurs pouvant figurer
dans le présent document. Si vous avez des suggestions, des améliorations ou des
corrections à apporter à cette publication, veuillez nous en informer.
Aucune partie de ce document ne peut être reproduite sous quelque forme que ce
soit, ni par aucun moyen que ce soit, électronique ou mécanique, y compris la
photocopie, sans la permission écrite expresse de Schneider Electric.
Toutes les réglementations de sécurité locales pertinentes doivent être observées
lors de l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et
afin de garantir la conformité aux données système documentées, seul le fabricant
est habilité à effectuer des réparations sur les composants.
Lorsque des équipements sont utilisés pour des applications présentant des
exigences de sécurité techniques, suivez les instructions appropriées.
La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos
produits peut entraîner des blessures, des dommages ou un fonctionnement
incorrect.
Le non-respect de cette consigne peut entraîner des lésions corporelles ou des
dommages matériels.
© 2009 Schneider Electric. Tous droits réservés.
2
33004220 02/2009
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie I Informations générales . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Types de module et leur utilisation. . . . . . . . . . . . . . . . .
5
11
13
15
Types de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure d'un FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EN et ENO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
18
22
Chapitre 2 Disponibilité des blocs sur les différentes plates-formes
25
Disponibilité des blocs sur les différentes plates-formes. . . . . . . . . . . . . .
Chapitre 3 Fuzzy-Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
27
3.1 Présentation de la théorie du Fuzzy-Control . . . . . . . . . . . . . . . . . . . . . . .
Principes fondamentaux du Fuzzy-Control . . . . . . . . . . . . . . . . . . . . . . . .
Fuzzy-Control et technique de régulation . . . . . . . . . . . . . . . . . . . . . . . . .
Concepts de la théorie Fuzzy (théorie du flou) . . . . . . . . . . . . . . . . . . . . .
3.2 Fuzzy-Control et Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions de la bibliothèque Fuzzy-Control . . . . . . . . . . . . . . . . . . . . . . .
Fuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inférence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Défuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple dans Unity Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
29
30
31
36
37
38
40
41
42
Partie II Descriptions des EFB . . . . . . . . . . . . . . . . . . . . . . . .
47
Chapitre 4 DEFUZ : Défuzzification avec des singletons . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 DEFUZ_STI, DEFUZ_STR : défuzzification avec des
singletons (structure). . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6 FUZ_ATERM : Fuzzification de tous les termes . . . . . .
Description courte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33004220 02/2009
49
50
53
55
56
59
61
62
65
3
4
Chapitre 7 FUZ_ATERM_STI, FUZ_ATERM_STR : fuzzification de
tous les termes (structure) . . . . . . . . . . . . . . . . . . . . . . . .
67
Description courte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
71
Chapitre 8 FUZ_MAX : Fuzzy Maximum . . . . . . . . . . . . . . . . . . . . . . .
73
Description courte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
Chapitre 9 FUZ_MIN : Fuzzy Minimum . . . . . . . . . . . . . . . . . . . . . . . .
75
Description courte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
Chapitre 10 FUZ_PROD : produit Fuzzy . . . . . . . . . . . . . . . . . . . . . . .
79
Description courte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
82
Chapitre 11 FUZ_STERM : Fuzzification d'un terme . . . . . . . . . . . . . .
83
Description courte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
87
Chapitre 12 FUZ_SUM : somme Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . .
91
Description courte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
117
33004220 02/2009
Consignes de sécurité
§
Informations importantes
AVIS
Lisez attentivement ces instructions et examinez le matériel pour vous familiariser
avec l'appareil avant de tenter de l'installer, de le faire fonctionner ou d’assurer sa
maintenance. Les messages spéciaux suivants que vous trouverez dans cette
documentation ou sur l'appareil ont pour but de vous mettre en garde contre des
risques potentiels ou d’attirer votre attention sur des informations qui clarifient ou
simplifient une procédure.
33004220 02/2009
5
REMARQUE IMPORTANTE
L’installation, l’utilisation, la réparation et la maintenance des équipements
électriques doivent être assurées par du personnel qualifié uniquement. Schneider
Electric décline toute responsabilité quant aux conséquences de l’utilisation de cet
appareil.
AVANT DE COMMENCER
N'utilisez pas ce produit sur les machines non pourvues de protection efficace du
point de fonctionnement. L'absence de ce type de protection sur une machine
présente un risque de blessures graves pour l'opérateur.
AVERTISSEMENT
DES MACHINES SANS PROTECTION PEUVENT PROVOQUER DES BLESSURES GRAVES
z
z
N'utilisez pas ce logiciel et les automatismes associés sur des équipements
d'emballage non équipés de protection du point de fonctionnement.
N'accédez pas aux machines pendant leur fonctionnement.
Le non-respect de ces instructions peut provoquer la mort, des blessures
graves ou des dommages matériels.
Cet automatisme et le logiciel associé permettent de commander des processus
industriels divers. Le type ou le modèle d'automatisme approprié pour chaque
application dépendra de facteurs tels que la fonction de commande requise, le
degré de protection exigé, les méthodes de production, des conditions inhabituelles,
de la législation, etc. Dans certaines applications, plusieurs processeurs seront
nécessaires, notamment lorsque la redondance de sauvegarde est requise.
6
33004220 02/2009
Seul l'utilisateur connaît toutes les conditions et tous les facteurs présents lors de
l'installation, du fonctionnement et de la maintenance de la machine. Par
conséquent, seul l'utilisateur est en mesure de déterminer l'automatisme ainsi que
les dispositifs de sécurité et de verrouillage afférents appropriés. Lors du choix de
l'automatisme et du système de commande, ainsi que du logiciel associé pour une
application particulière, l'utilisateur doit respecter les normes et réglementations
locales et nationales en vigueur. Le document Accident Prevention Manual
(reconnu aux Etats-Unis) fournit également de nombreuses informations utiles.
Dans certaines applications, telles que les machines d'emballage, une protection
supplémentaire, comme celle du point de fonctionnement, doit être fournie pour
l'opérateur. Elle est nécessaire si les mains ou d'autres parties du corps de
l'opérateur peuvent entrer dans la zone de point de pincement, risquant ainsi de
provoquer des blessures graves. Les produits logiciels ne protègent pas les
opérateurs contre les blessures. C'est pourquoi le logiciel ne doit pas remplacer la
protection de point de fonctionnement ou s'y substituer.
Avant de mettre l'équipement en service, assurez-vous que les dispositifs de
sécurité et de verrouillage appropriés liés à la protection de point de fonctionnement
ont été installés et sont opérationnels. Tous les dispositifs de sécurité et de
verrouillage liés à la protection du point de fonctionnement doivent être coordonnés
avec la programmation des équipements et logiciels d'automatisation associés.
NOTE : La coordination des dispositifs de sécurité et de verrouillage du point de
fonctionnement n'entre pas dans le cadre de cette bibliothèque de blocs fonction.
33004220 02/2009
7
DEMARRAGE ET TEST
Avant toute utilisation de l'équipement de commande électrique et des
automatismes en vue d'un fonctionnement normal après installation, un technicien
qualifié doit procéder à un test de démarrage afin de vérifier que l'équipement
fonctionne correctement. Il est essentiel de planifier une telle vérification et
d'accorder suffisamment de temps pour la réalisation de ce test dans sa totalité.
ATTENTION
RISQUES INHERENTS AU FONCTIONNEMENT DE L'EQUIPEMENT
z
z
z
Assurez-vous que toutes les procédures d'installation et de configuration ont
été respectées.
Avant de réaliser les tests de fonctionnement, retirez tous les blocs ou autres
cales temporaires utilisés pour le transport de tous les dispositifs composant le
système.
Enlevez les outils, les instruments de mesure et les débris éventuels de
l'équipement.
Le non-respect de ces instructions peut provoquer des blessures ou des
dommages matériels.
Effectuez tous les tests de démarrage recommandés dans la documentation de
l'équipement. Conservez toute la documentation de l'équipement pour référence
ultérieure.
Les tests logiciels doivent être réalisés à la fois en environnement simulé et
réel.
Vérifiez que le système entier est exempt de tout court-circuit et mise à la terre,
excepté les mises à la terre installées conformément aux réglementations locales
(conformément au National Electrical Code des Etats-Unis, par exemple). Si un test
diélectrique est requis, suivez les recommandations figurant dans la documentation
de l'équipement afin d'éviter d'endommager accidentellement l'équipement.
Avant de mettre l'équipement sous tension :
Enlevez les outils, les instruments de mesure et les débris éventuels de
l'équipement.
z Fermez la porte de l'enceinte de l'équipement.
z Supprimez la mise à la terre des câbles d'alimentation entrants.
z Effectuez tous les tests de démarrage conseillés par le fabricant.
z
8
33004220 02/2009
FONCTIONNEMENT ET REGLAGES
Les précautions suivantes sont extraites du document NEMA Standards Publication
ICS 7.1-1995 (la version anglais prévaut) :
z Malgré le soin apporté à la conception et à la fabrication de l'équipement ou au
choix et à l'évaluation des composants, des risques subsistent en cas d'utilisation
inappropriée de l'équipement.
z Il arrive parfois que l'équipement soit déréglé accidentellement, entraînant ainsi
un fonctionnement non satisfaisant ou non sécurisé. Respectez toujours les
instructions du fabricant pour effectuer les réglages fonctionnels. Les personnes
ayant accès à ces réglages doivent connaître les instructions du fabricant de
l'équipement et les machines utilisées avec l'équipement électrique.
z Seuls ces réglages fonctionnels, requis par l'opérateur, doivent lui être
accessibles. L'accès aux autres commandes doit être limité afin d'empêcher les
changements non autorisés des caractéristiques de fonctionnement.
33004220 02/2009
9
10
33004220 02/2009
A propos de ce manuel
Présentation
Objectif du document
Ce document décrit les fonctions et blocs fonction de la bibliothèque Fuzzy-Control.
Champ d'application
Il s'applique à la bibliothèque Fuzzy-Control version 1.2.
Commentaires utilisateur
Envoyez vos commentaires à l'adresse e-mail [email protected]
33004220 02/2009
11
12
33004220 02/2009
Informations générales
33004220 02/2009
Informations générales
I
Description
Cette partie contient des informations générales sur la bibliothèque Fuzzy.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
33004220 02/2009
Titre du chapitre
Page
1
Types de module et leur utilisation
15
2
disponibilité des blocs sur les différentes plates-formes
25
3
Fuzzy-Control
27
13
Informations générales
14
33004220 02/2009
Types de module et leur utilisation
33004220 02/2009
Types de module et leur utilisation
1
Vue d'ensemble
Ce chapitre décrit les différents types de module et leur utilisation.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
33004220 02/2009
Page
Types de bloc
16
Structure d'un FFB
18
EN et ENO
22
15
Types de module et leur utilisation
Types de bloc
Types de bloc
Différents types de bloc sont utilisés dans Unity Pro. FFB est le terme générique
pour tous les types de bloc.
Les différents types de bloc sont les suivants :
Fonction élémentaire (EF)
z Bloc fonction élémentaire (EFB)
z Bloc fonction dérivé (DFB)
z Procédure
z
NOTE : les blocs fonction de mouvement ne sont pas disponibles sur la plate-forme
Quantum.
Fonction élémentaire
Les fonctions élémentaires (EF) ne disposent pas d'état interne et possèdent une
seule sortie. Si les valeurs des entrées sont similaires, la valeur de la sortie est
identique pour toutes les exécutions de la fonction. Par exemple, l'addition de deux
valeurs donne le même résultat à chaque exécution de la fonction.
Une fonction élémentaire est représentée dans les langages graphiques (FBD et
LD) sous la forme d'un rectangle avec des entrées et une sortie. Les entrées sont
toujours représentées à gauche du rectangle et les sorties à droite. Le nom de la
fonction (c'est-à-dire le type de fonction) est indiqué au centre du rectangle.
Pour certaines fonctions élémentaires, il est possible d'augmenter le nombre
d'entrées.
NOTE : la désactivation d'une fonction élémentaire (EN=0) entraîne la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal,
n'utilisez pas de lien. Une variable doit être connectée à la sortie de la fonction
élémentaire et être utilisée pour connecter l'entrée de l'élément.
Bloc fonction élémentaire
Les blocs fonction élémentaires (EFB) possèdent un état interne. Si les valeurs des
entrées sont identiques, les valeurs des sorties peuvent différer à chaque exécution
du bloc fonction. Pour un compteur, par exemple, la valeur de la sortie est
incrémentée.
Un bloc fonction élémentaire est représenté dans les langages graphiques (FBD et
LD) sous la forme d'un rectangle avec des entrées et des sorties. Les entrées sont
toujours représentées à gauche du rectangle et les sorties à droite. Le nom du bloc
fonction (c'est-à-dire le type de bloc fonction) est indiqué au centre du rectangle. Le
nom d'instance est affiché au-dessus du rectangle.
16
33004220 02/2009
Types de module et leur utilisation
Bloc fonction dérivé
Les blocs fonction dérivés (DFB) ont les mêmes caractéristiques que les blocs
fonction élémentaires. Ils sont cependant créés par l'utilisateur dans les langages
de programmation FBD, LD, IL et/ou ST.
Procédure
Les procédures correspondent à des fonctions proposant plusieurs sorties. Elles ne
disposent pas d'état interne.
L'unique différence par rapport aux fonctions élémentaires est que les procédures
peuvent avoir plusieurs sorties et qu'elles prennent en charge les variables ayant le
type de données VAR_IN_OUT.
Les procédures ne renvoient aucune valeur.
Les procédures sont un complément de la norme CEI 61131-3 et doivent être
activées de manière explicite.
Visuellement, il n'existe aucune différence entre les procédures et les fonctions
élémentaires.
33004220 02/2009
17
Types de module et leur utilisation
Structure d'un FFB
Structure
Un FFB se compose d'une opération (nom du FFB), des opérandes nécessaires à
l'opération (paramètres réels et formels) et d'un nom d'instance pour les blocs
fonction élémentaires ou dérivés.
Appel d'un bloc fonction dans le langage de programmation FBD :
ATTENTION
Comportement inattendu de l'équipement
N'appelez pas plusieurs fois la même instance de bloc dans un même cycle
d'automate
Le non-respect de ces instructions peut provoquer des blessures ou des
dommages matériels.
18
33004220 02/2009
Types de module et leur utilisation
Appel formel d'un bloc fonction dans le langage de programmation ST :
Fonctionnement
L'opération détermine la fonction qui doit être exécutée par le FFB, par exemple
registre à décalage ou opérations de conversion.
Opérande
L'opérande détermine les éléments sur lesquels porte l'opération qui est exécutée.
Dans les FFB, il est constitué de paramètres formels et de paramètres réels.
Paramètres formels et réels
Des entrées et des sorties permettent de transférer les valeurs vers ou depuis un
FFB. Ces entrées et ces sorties sont appelées paramètres formels.
Les paramètres formels sont liés à des objets qui comprennent les états courants
du processus. Ces objets sont appelés paramètres réels.
Durant l'exécution du programme, les valeurs sont transmises, par le biais des
paramètres réels, du processus au FFB, et renvoyées à nouveau en sortie après le
traitement.
Le type de données des paramètres réels doit correspondre au type de données des
entrées/sorties (paramètres formels). La seule exception concerne les
entrées/sorties génériques dont le type de données est déterminé par le paramètre
réel. Si tous les paramètres réels sont constitués de valeurs littérales, un type de
données adapté est sélectionné pour le bloc fonction.
33004220 02/2009
19
Types de module et leur utilisation
Appel de FFB dans le langage IL/ST
Les FFB peuvent être appelés de deux manières dans les langages textuels IL et
ST : formelle ou informelle. Pour plus d'informations, consultez le Manuel de
référence.
Exemple d'un appel de fonction formel :
out:=LIMIT (MN:=0, IN:=var1, MX:=5);
Exemple d'un appel de fonction informel :
out:=LIMIT (0, var1, 5);
NOTE : Notez que l'utilisation des paramètres EN et ENO n'est possible que lors d'un
appel formel.
Variable VAR_IN_OUT
Les FFB sont souvent utilisés pour lire une variable en entrée (variables d'entrée),
la traiter et générer les valeurs modifiées de cette même variable (variables de
sortie).
Ce cas exceptionnel d'une variable d'entrée/de sortie est également appelé variable
VAR_IN_OUT.
La relation entre la variable d'entrée et la variable de sortie est représentée dans les
langages graphiques (FBD et LD) par une ligne.
Bloc fonction avec la variable VAR_IN_OUT dans le langage FBD :
Bloc fonction avec la variable VAR_IN_OUT dans le langage ST :
MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT,
OUT1=>Output1, OUT2=>Output2);
Tenez compte des points suivants lorsque vous utilisez des FFB avec les variables
VAR_IN_OUT :
z une variable doit être affectée à toutes les entrées VAR_IN_OUT.
z Aucune valeur littérale ou constante ne doit être affectée aux entrées/sorties
VAR_IN_OUT.
20
33004220 02/2009
Types de module et leur utilisation
Les limitations supplémentaires de ces langages graphiques (FBD et LD) sont les
suivantes :
z Les liaisons graphiques permettent uniquement de relier des sorties
VAR_IN_OUT à des entrées VAR_IN_OUT.
z Seule une liaison graphique peut être associée à une entrée/sortie VAR_IN_OUT.
z Des variables/composantes de variables différentes peuvent être reliées à
l'entrée VAR_IN_OUT et à la sortie VAR_IN_OUT. Dans un tel cas, la valeur de la
variable/composante de variable en entrée est copiée dans la
variable/composante de variable en sortie.
z Il est interdit d'utiliser des négations au niveau des entrées/sorties VAR_IN_OUT.
z Une combinaison de variable/adresse et de liaisons graphiques n'est pas
possible pour les sorties VAR_IN_OUT.
33004220 02/2009
21
Types de module et leur utilisation
EN et ENO
Description
Une entrée EN et une sortie ENO peuvent être configurées pour tous les FFB.
Si la valeur de l'entrée EN est "0" lorsque le FFB est appelé, les algorithmes définis
par le FFB ne sont pas exécutés et la sortie ENO est réglée sur "0".
Si la valeur de l'entrée EN est "1" lorsque le FFB est appelé, les algorithmes définis
par le FFB sont exécutés. Une fois les algorithmes exécutés, la valeur de la sortie
ENO est réglée sur "1". En cas d'erreur lors de l'exécution de ces algorithmes, la
sortie ENO est réglée sur "0".
Si la sortie ENO est réglée sur "0" (car EN = 0 ou en cas d'erreur lors de l'exécution) :
Blocs fonction
z Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent
(uniquement) une liaison en tant que paramètre de sortie :
z
z
Si l'entrée EN de BlocFonction_1 est réglée sur "0", la connexion de sortie
OUT de BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle
correctement exécuté.
Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent
une variable et une liaison en tant que paramètres de sortie :
Si l'entrée EN de BlocFonction_1 est réglée sur "0", la connexion de sortie
OUT de BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle
correctement exécuté. La variable OUT1 présente sur la même broche
conserve son état précédent ou peut être modifiée de manière externe sans
incidence sur la connexion. La variable et la liaison sont enregistrées
indépendamment l'une de l'autre.
22
33004220 02/2009
Types de module et leur utilisation
z
Fonctions/procédures
Comme spécifié dans la norme CEI 61131-3, les sorties de fonctions désactivées
(entrée EN égale à "0") ne sont pas définies. (Cette caractéristique s'applique
également aux procédures.)
Voici, néanmoins, une explication sur l'état de la sortie dans un tel cas :
z Traitement des paramètres EN/ENO avec des fonctions/procédures qui
possèdent (uniquement) une liaison en tant que paramètre de sortie :
z
Si l'entrée EN de Fonction/Procédure_1 est réglée sur "0", la connexion
de sortie OUT de Fonction/Procédure_1 conserve l'état qu'elle avait lors
du dernier cycle correctement exécuté.
Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent
une variable et une liaison en tant que paramètres de sortie :
Si l'entrée EN de Fonction/Procédure_1 est réglée sur "0", la connexion
de sortie OUT de Fonction/Procédure_1 conserve l'état qu'elle avait lors
du dernier cycle correctement exécuté. La variable OUT1 présente sur la
même broche conserve son état précédent ou peut être modifiée de manière
externe sans incidence sur la connexion. La variable et la liaison sont
enregistrées indépendamment l'une de l'autre.
Le comportement de la sortie des FFB ne dépend pas de la façon dont les FFB sont
appelés (sans EN/ENO ou avec EN=1).
Appel de FFB conditionnel/inconditionnel
Un FFB peut être appelé de manière "conditionnelle" ou "inconditionnelle". La
condition est établie en pré-connectant l'entrée EN.
z Entrée EN connectée
appels conditionnels (le FFB est exécuté uniquement si EN = 1)
z Entrée EN affichée, masquée et marquée comme TRUE, ou affichée et non
occupée
appels inconditionnels (le FFB est toujours exécuté)
NOTE : Pour les blocs fonction désactivés (EN = 0) équipés d'une fonction
d'horloge interne (par exemple, le bloc fonction DELAY), le temps semble s'écouler,
étant donné qu'il est calculé à l'aide d'une horloge système et qu'il est, par
conséquent, indépendant du cycle du programme et de la libération du bloc.
33004220 02/2009
23
Types de module et leur utilisation
Remarque concernant les langages IL et ST
Les paramètres EN et la sortie ENO peuvent uniquement être utilisés dans les
langages textuels et dans le cadre d'un appel de FFB formel, par exemple :
MON_BLOC (EN:=enable, IN1:=var1, IN2:=var2,
ENO=>error, OUT1=>result1, OUT2=>result2);
L'affectation de variables à ENO doit être effectuée à l'aide de l'opérateur =>.
L'entrée EN et la sortie ENO ne peuvent pas être utilisées pour un appel informel.
24
33004220 02/2009
disponibilité des blocs
33004220 02/2009
Disponibilité des blocs sur les
différentes plates-formes
2
Disponibilité des blocs sur les différentes plates-formes
Introduction
Tous les blocs ne sont pas disponibles sur toutes les plates-formes matérielles. Le
tableau suivant indique les blocs disponibles en fonction des plates-formes
matérielles.
NOTE : Les fonctions, procédures et blocs fonction de cette bibliothèque ne sont
pas définis par la norme IEC 61131-3.
33004220 02/2009
25
disponibilité des blocs
Fuzzy
Disponibilité des blocs :
Nom du bloc
Type de bloc
M340
Premium
Quantum
DEFUZ (voir page 49)
EF
+
+
+
DEFUZ_STI, DEFUZ_STR
(voir page 55)
EF
+
+
+
FUZ_ATERM
(voir page 61)
Procédure
+
+
+
FUZ_ATERM_STI,
FUZ_ATERM_STR
(voir page 67)
EF
+
+
+
FUZ_MAX (voir page 73)
EF
+
+
+
FUZ_MIN (voir page 75)
EF
+
+
+
FUZ_PROD (voir page 79)
EF
+
+
+
FUZ_STERM
(voir page 83)
EF
+
+
+
FUZ_SUM (voir page 91)
EF
+
+
+
Légende :
26
+
oui
-
non
33004220 02/2009
33004220 02/2009
Fuzzy-Control
3
Introduction
Ce chapitre explique tout d'abord, en détails, le Fuzzy-Control et comment il peut
être mis en œuvre pour des opérations de réglage et de pilotage. Pour la mise en
œuvre du Fuzzy-Control avec Unity Pro, les fonctions élémentaires (EF) et les blocs
fonctions (EFB) sont fournis. Leur fonctionnement est également expliqué plus en
détail dans ce chapitre.
Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Souschapitre
33004220 02/2009
Sujet
Page
3.1
Présentation de la théorie du Fuzzy-Control
28
3.2
Fuzzy-Control et Unity Pro
36
27
3.1
Présentation de la théorie du Fuzzy-Control
Introduction
Cette section contient une description des principes fondamentaux du FuzzyControl.
NOTE : Ce chapitre ne tente pas de décrire le Fuzzy-Control de manière exacte
mathématiquement, mais d'en fournir une explication. Pour de plus amples
informations sur la théorie, consultez la documentation correspondante.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
28
Page
Principes fondamentaux du Fuzzy-Control
29
Fuzzy-Control et technique de régulation
30
Concepts de la théorie Fuzzy (théorie du flou)
31
33004220 02/2009
Principes fondamentaux du Fuzzy-Control
Introduction
L'expression Fuzzy-Logic (logique floue) désigne une théorie de « quantités
floues ».
Dans le domaine scientifique ou dans les programmes informatiques, seules deux
valeurs (vrai/faux, marche/arrêt, 1/0) sont en général utilisées. Il n'existe pas de
valeurs intermédiaires.
Le concept principal de la Fuzzy-Logic consiste, en revanche, à prendre en compte
des quantités floues, dont les éléments n'appartiennent que partiellement à un
ensemble. Au lieu de n'autoriser que des états « associés » et « non associés »,
des états intermédiaires sont également permis. A l'aide de la Fuzzy-Logic, des
incertitudes de tous types peuvent ainsi être décrites et traitées mathématiquement.
Cette théorie trouve son utilisation la plus efficace en technique de régulation avec
le Fuzzy-Control.
Exemple : Température
Si l'on considère une valeur physique (comme la température), cette valeur est en
général représentée par un nombre et par une unité physique (21 degrés C, par
exemple).
La température peut toutefois être tout aussi bien décrite de manière verbale par
des attributs. Elle peut être décrite comme étant « froide », « agréable » et
« chaude », en parlant, par exemple, de la température ambiante. Ces attributs ne
sont plus exactement délimités les uns par rapport aux autres, il s'agit de
descriptions floues de la température.
Une température ambiante de 15 degrés C est généralement qualifiée de « froide »,
tandis qu'une température de 21 degrés C est considérée comme « chaude ». Dans
le raisonnement humain, il n'existe pas de démarcation stricte entre « froid » et
« agréable », comme on la connaît dans la logique classique, qui fonctionne, il est
vrai, uniquement avec les notions logiques « vrai » (TRUE, 1) ou « faux » (FALSE,
0). Il s'agit plus d'une transition progressive de « froid » à « agréable ».
33004220 02/2009
29
Fuzzy-Control et technique de régulation
Introduction
En technique de régulation, une ou plusieurs variables de pilotage sont produites en
fonction d'une ou de plusieurs variables d'entrée. Les variables d'entrée sont reliées
entre elles de manière logique et numérique. Les résultats de la liaison ou du calcul
sont des variables de sortie. Le Fuzzy-Control procède de même.
La variable d'entrée est convertie en variable linguistique à l'aide de termes
linguistiques, puis évaluée à l'aide de règles. Le résultat, également une variable
linguistique « floue » (Fuzzy), doit être à nouveau converti en variable de pilotage,
aucune vanne ne pouvant être contrôlée avec une variable « floue ».
Fuzzy-Control et technique de régulation
Déroulement dans la technique de régulation
Niveau
30
Description
1
Les variables d'entrée sont fuzzifiées.
2
Les variables linguistiques ainsi obtenues sont reliées entre elles selon des
règles déterminées par les opérateurs correspondants.
Résultat du traitement de toutes les règles (inférence) : une variable de sortie
« floue », c'est-à-dire une variable décrite avec ses degrés d'appartenance par
des attributs.
3
Défuzzification des variables de sortie en un nombre univoque, auquel, une
action peut alors être associée dans le processus de contrôle.
33004220 02/2009
Concepts de la théorie Fuzzy (théorie du flou)
Termes et variables linguistiques
Exemple
Si la température est définie comme variable linguistique, elle peut alors être décrite
par les termes « froid », « agréable » et « chaud ».
Définition
z Une variable linguistique est une variable (la température, par exemple) décrite
par des termes linguistiques.
z Des termes linguistiques décrivent des attributs d'une variable linguistique.
Degré d'appartenance
Exemple
Les termes linguistiques « froid », « agréable » et « chaud » ne peuvent pas être
clairement délimités les uns par rapport aux autres. Afin de mieux déterminer ces
démarcations floues, chaque terme linguistique est évalué avec un degré
d'appartenance.
Ce degré d'appartenance signifie alors dans quelle mesure la température est
vraiment froide.
z Un degré d'appartenance de 0 pour le terme linguistique « froid » signifie que la
température n'est pas du tout froide.
z Un degré d'appartenance de 1 pour le terme linguistique « froid » signifie que la
température est extrêmement froide. Ces différentes notions sont à nouveau
expliquées en images.
Exemple d'un degré d'appartenance
33004220 02/2009
31
Définition
Le degré d'appartenance définit dans quelle mesure une valeur physique est
attribuée à un terme linguistique.
z 0 signifie que la valeur ne correspond pas du tout au terme linguistique.
z 1 signifie que la valeur correspond complètement au terme linguistique.
Fonction d'appartenance
Exemple
La transition légère entre « pas vraiment froid » et « vraiment froid » est décrite par
une fonction. De telles fonctions sont appelées « fonctions d'appartenance », car
elles décrivent le degré d'appartenance de chaque valeur physique à son terme
linguistique.
Pour la variable température, la fonction d'appartenance ne décrit pas seulement si
une température est « froide » ou non, elle attribue en outre à chaque valeur
physique une valeur de fiabilité avec l'expression « la température est froide » : il
s'agit du degré d'appartenance.
En général, il suffit de déterminer les appartenances par des variations de la
fonction relativement simples, comme les triangles, les trapèzes ou les rampes.
Un degré d'appartenance peut ainsi être déterminé pour chaque valeur physique de
la variable température.
Dans cet exemple, le degré d'appartenance est déterminé pour deux valeurs de
température différentes. Si une fonction d'appartenance est définie pour un terme
linguistique, on peut alors déterminer l'appartenance de la variable température au
terme linguistique correspondant à l'aide du degré d'appartenance.
Définition
La fonction d'appartenance attribue, pour chaque valeur physique, un degré
d'appartenance à un terme linguistique.
32
33004220 02/2009
Fuzzification
Exemple
Fuzzification de la variable d'entrée température
Comparaison de la variable d'entrée dans une représentation stricte et dans une
représentation Fuzzy (floue).
z Représentation stricte : la température est de 21 degrés C.
z Représentation Fuzzy :
la température est :
z froide jusqu'au degré d'appartenance 0
z agréable jusqu'au degré d'appartenance 0,7
z chaude jusqu'au degré d'appartenance 0,3
Définition
On appelle fuzzification la détermination du degré d'appartenance de tous les
termes linguistiques d'une variable par rapport à une variable d'entrée.
Règles
Exemple
Prenons l'exemple de nos activités quotidiennes : nous constatons qu'elles sont
basées sur diverses conditions. Nous accomplissons une chose lorsqu'une
condition est satisfaite. Pour décrire nos actions, nous utilisons des règles.
Prenons par exemple cette règle :
z Si la température d'une pièce est ressentie comme étant froide, nous allons
augmenter un peu le chauffage.
Ou bien :
z Si la température de la pièce est ressentie comme étant chaude, nous allons
diminuer un peu le chauffage.
Prenons un autre exemple de règle :
z Lorsqu'en été, la température extérieure n'est pas froide, nous allons arrêter
complètement le chauffage.
33004220 02/2009
33
Derrière ces règles se cache le savoir d'un expert, qui, par une étude plus ou moins
approfondie, a acquis la faculté d'influer sur un processus dans un sens souhaité.
Le savoir de l'expert ne se limite ici pas uniquement à la manière de procéder
(augmentons un peu le chauffage), mais est en même temps relié à la connaissance
de ce qu'« un peu » signifie, par exemple, comment tourner le thermostat.
Définition
Une règle représente une déclaration (floue) sur la variable de sortie pour une
variable d'entrée déterminée (floue).
Opérateurs
Exemple
La plupart du temps, des conditions sont associées les unes aux autres dans les
règles par les expressions orales « ET » et « OU ». Dans l'exemple, la condition
« En étȆª (la variable de base est ici la saison et le terme linguistique est l'été) est
associée à la condition « lorsque la température extérieure n'est pas froide » de telle
manière que les deux déclarations doivent s'appliquer pour en tirer la conclusion.
Ces associations ET et OU sont traitées dans la technique Fuzzy par des opérateurs
mathématiques. Dans la théorie Fuzzy, il existe une série d'opérateurs qui réalisent
d'un côté l'association ET et d'un autre l'association OU. Le plus simple opérateur
pour l'association ET est le « minimum » et le plus simple opérateur pour
l'association OU est le « maximum ».
Définition
L'association des conditions s'effectue par des opérateurs.
Pondération des règles
Lors de la fixation de règles, l'attribution de différentes pondérations peut s'avérer
nécessaire. Ainsi, par exemple, une règle est toujours confirmée (à 100 %), une
autre pas toujours (à 80 %). Pour pouvoir l'exprimer, un degré de vraisemblance
peut être attribué à chaque règle. En règle générale, ceci est obtenu mathématiquement en multipliant le résultat de l'association d'une règle par le degré de
vraisemblance.
Inférence
L'inférence est le résultat du traitement de toutes les règles.
34
33004220 02/2009
Défuzzification
Exemple
La façon la plus simple de transformer une variable floue (Fuzzy) en variable précise
consiste à ce que chaque attribut de la variable floue fournisse une proposition pour
une variable précise. Chaque terme linguistique est ainsi représenté par une valeur
numérique fixe pour la variable. On parle ici de singletons. Les propositions faites
pour chacun des termes linguistiques sont alors pondérées par les degrés
d'appartenance correspondants. De cette manière, la variable Fuzzy devient une
variable précise de façon arithmétique.
Singletons
NOTE : Il existe également dans la théorie Fuzzy une série d'autres méthodes de
défuzzification, dont certaines se caractérisent par une grande abondance de
calculs. Ces méthodes ne seront pas traitées ici.
Définition
On appelle défuzzification la transformation de variables floues (Fuzzy) en variables
précises.
33004220 02/2009
35
3.2
Fuzzy-Control et Unity Pro
Introduction
Ce chapitre décrit la configuration de la Fuzzy Logic (logique floue) ainsi que les
fonctions fournies par Unity Pro à cet effet.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
36
Page
Fonctions de la bibliothèque Fuzzy-Control
37
Fuzzification
38
Inférence
40
Défuzzification
41
Exemple dans Unity Pro
42
33004220 02/2009
Fonctions de la bibliothèque Fuzzy-Control
Fonctions de la bibliothèque Fuzzy
Fonctions arithmétiques INT et REAL (des entiers et des réels)
Opération
Fonction
Famille
Description
Fuzzification
FUZ_STERM
(voir page 83)
Fuzzify
Fuzzification d'un
terme.
Fuzzification
FUZ_ATERM
(voir page 61)
Fuzzify
Fuzzification de
9 termes maximum
en une fois.
Fuzzification
FUZ_ATERM_STI,
FUZ_ATERM_STR
(voir page 67)
Fuzzyfy_Struct
Fuzzification de
9 termes maximum
en une fois. Stockage
du résultat dans la
structure de données.
Inférence
FUZ_MAX
(voir page 73)
Operators_OR
Opérateur OU :
Maximum
Inférence
FUZ_MIN
(voir page 75)
Operators_AND
Opérateur ET :
minimum.
Inférence
FUZ_SUM
(voir page 91)
Operators_OR
Opérateur OU :
somme.
Inférence
FUZ_PROD
(voir page 79)
Operators_AND
Opérateur ET :
produit
Défuzzification
DEFUZ
(voir page 49)
Defuzzify
Défuzzification avec
des singletons.
Défuzzification
DEFUZ_STI,
DEFUZ_STR
(voir page 55)
Defuzzify_Struct
Défuzzification avec
des singletons.
Suppression des
entrées de la
structure de données.
Les différences entre l'arithmétique des entiers et l'arithmétique des réels sont les
suivantes :
z La solution est à l'intérieur du calcul.
La solution du degré d'appartenance est de 0,01 %.
La plage de valeurs du degré d'appartenance allant de 0 à 1 est mise à l'échelle
de 0 à 10 000.
z La possibilité de travailler dans l'arithmétique des réels avec des valeurs
physiques.
z Le temps d'exécution est plus grand que dans l'arithmétique des réels.
33004220 02/2009
37
Fuzzification
Introduction
Toutes les variables à être reliées à l'aide de règles linguistiques doivent être
fuzzifiées. Pour cela, il faut au préalable évaluer le nombre d'attributs des variables
à affecter. Cela dépend de la nécessité d'utiliser, ou non, ces attributs dans les
règles. En règle générale, 3 à 5 de ces attributs suffisent. Dans Unity Pro, vous avez
la possibilité de choisir soit une fuzzification pour chaque terme d'une variable, soit
une fuzzification pour 9 termes (maximum) de cette variable.
Fuzzification avec FUZ_STERM
La fuzzification d'un terme isolé s'effectue avec la fonction d'appartenance, qui peut
accepter jusqu'à 4 points d'appui.
Les fonctions d'appartenance peuvent se présenter des manières suivantes :
Vous trouverez de plus amples informations à ce sujet dans la description du bloc
FUZ_STERM (voir page 83).
38
33004220 02/2009
Fuzzification avec FUZ_ATERM ou FUZ_ATERM_ST
En général, les fonctions les plus souvent utilisées sont la rampe et le triangle. La
fuzzification d'un terme isolé offre une grande flexibilité pour des utilisateurs
expérimentés du Fuzzy, mais la manière la plus simple de fuzzifier une variable
consiste à utiliser les blocs FUZ_ATERM (voir page 61) ou FUZ_ATERM_ST
(voir page 67). En effet, ces blocs ne fuzzifient pas non seulement un terme, mais
tous les termes d'une variable Fuzzy. Ils simplifient également l'entrée de la fonction
d'appartenance pour différents termes.
L'idée qui soutend cette simplification est que les différentes fonctions
d'appartenance de tous les termes d'une variable Fuzzy sont dépendantes les unes
des autres. Dans la plupart des cas, la somme du degré d'appartenance de deux
fonctions qui se suivent est 1. Si, pour une question de simplicité, on n'utilise que
des fonctions triangle au lieu de la fonction trapèze, on obtient alors l'exemple
suivant de la définition d'une fonction d'appartenance pour 6 termes :
Dans ce cas, seuls 6 points de base sont à définir, au lieu de 2 x 2 + 4 x 3 = 14 points
de base dans le cas d'une fuzzification avec le bloc FUZ_STERM (voir page 83). Le
bloc FUZ_ATERM (voir page 61) / FUZ_ATERM_ST (voir page 67) autorise
9 attributs au maximum.
La fuzzification doit être exécutée pour chaque variable d'entrée. Le résultat produit
par chaque fuzzification est un degré d'appartenance pour chaque terme associé
aux attributs. Lors de l'utilisation du bloc FUZ_ATERM (voir page 61), le résultat est
l'élaboration de chaque variable pour l'utilisation de liaisons graphiques dans
l'inférence. Lors de l'utilisation du bloc FUZ_ATERM_ST (voir page 67), les degrés
d'appartenance sont ajoutés dans une structure de données.
33004220 02/2009
39
Inférence
Création des règles
Les règles sont obtenues par la liaison du degré d'appartenance des variables
Fuzzy. Les entrées des blocs, qui représentent les opérateurs Fuzzy, sont
associées aux degrés d'appartenance (produit par les blocs Fuzzy). Les paires
FUZ_MIN (voir page 75)/FUZ_MAX (voir page 73) et FUZ_PROD
(voir page 79)/FUZ_SUM (voir page 91) se révèlent être de bonnes combinaisons
pour les associations ET/OU. Pour une première tentative, utilisez la paire FUZ_MIN
(voir page 75)/FUZ_MAX (voir page 73).
Pondération des règles
Les règles doivent être pondérées par une multiplication. Pour l'arithmétique des
réels, on se sert du bloc FUZ_PROD (voir page 79) à l'aide de variables du type de
données REAL. Pour l'arithmétique des entiers, on se sert du bloc FUZ_PROD
(voir page 79) à l'aide de variables du type de données INT, qui tient compte de la
forme normalisée des degrés d'appartenance de 0 à 10 0000.
40
33004220 02/2009
Défuzzification
Principe
Les résultats de l'utilisation de toutes les règles sont de nouveau des degrés
d'appartenance aux attributs de la variable de sortie. Pour obtenir un résultat
exploitable (des attributs avec des degrés d'appartenance ne peuvent pas être
utilisés directement pour contrôler des valeurs, par exemple), les degrés
d'appartenance de tous les termes des variables doivent être combinés de manière
sensée. Ceci peut être obtenu par le bloc de défuzzification DEFUZ (voir page 49).
Fonctionnement dans Unity Pro
DEFUZ (voir page 49) produit, au moyen de singletons à partir des degrés
d'appartenance, une valeur univoque pour les variables de sortie, qui est attribuée
aux termes des variables de sortie.
33004220 02/2009
41
Exemple dans Unity Pro
Valeurs par défaut
Cet exemple est basé sur la logique des nombres entiers. 2 variables : ipres et
itemp doivent être évaluées d'après quatre règles prédéfinies.
Fuzzification de la variable ipress (ipress a 3 termes linguistiques)
en dessous_norm
z norm
z en dessus_norm
z
Fuzzification de la variable ipress
Fuzzification de la variable itemp (itemp a 4 termes linguistiques)
z basse
z moyenne
z élevée
z très_élevée
42
33004220 02/2009
Fuzzification de la variable itemp
Les quatre règles suivantes sont valides :
z IF ipress = norm AND itemp = élevée THEN vanne= presque_fermée
z IF ipress = en dessus_norm AND itemp = très_élevée THEN vanne =
fermée
z IF ipress = norm AND itemp = moyenne THEN vanne= presque_ouverte
z IF ipress = en dessous_norm AND itemp = basse THEN vanne =
ouverte
La défuzzification doit s'effectuer avec des singletons.
Défuzzification de la variable ivalve (ivalve a 4 termes linguistiques)
z fermée
z presque_fermée
z presque_ouverte
z ouverte
Défuzzification de la variable ivalve
33004220 02/2009
43
Mise en application dans Unity Pro
Fuzzification :
44
33004220 02/2009
Défuzzification :
33004220 02/2009
45
46
33004220 02/2009
Descriptions des EFB
33004220 02/2009
Descriptions des EFB
II
Introduction
Les descriptions des EFB sont classées par ordre alphabétique.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
33004220 02/2009
Titre du chapitre
Page
4
DEFUZ : Défuzzification avec des singletons
49
5
DEFUZ_STI, DEFUZ_STR : défuzzification avec des
singletons (structure)
55
6
FUZ_ATERM : Fuzzification de tous les termes
61
7
FUZ_ATERM_STI, FUZ_ATERM_STR : fuzzification de tous
les termes (structure)
67
8
FUZ_MAX : Fuzzy Maximum
73
9
FUZ_MIN : Fuzzy Minimum
75
10
FUZ_PROD : produit Fuzzy
79
11
FUZ_STERM : Fuzzification d'un terme
83
12
FUZ_SUM : somme Fuzzy
91
47
Descriptions des EFB
48
33004220 02/2009
DEFUZ : Défuzzification avec des singletons
33004220 02/2009
DEFUZ : Défuzzification avec des
singletons
4
Introduction
Ce chapitre décrit la fonction DEFUZ.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
33004220 02/2009
Page
Description
50
Description détaillée
53
49
DEFUZ : Défuzzification avec des singletons
Description
Description de la fonction
Cette fonction permet de défuzzifier des termes linguistiques qui sont représentés
par des singletons, suivant la méthode de la moyenne maximum. La position des
singletons est définie par des points d'appui (S1 à S9). Chaque terme est pondéré
par son degré d'appartenance (MD1 à MD9). La plage de valeurs du degré
d'appartenance pour le type de données INT va de 0 à 10 000 et pour le type de
données REAL, de 0 à 1 .
Le nombre d'entrées (MDiSi) peut être augmenté (18 au maximum) en modifiant
verticalement la taille de la trame du bloc. Ceci correspond à 9 singletons. Il n'est
pas possible de configurer d'autres entrées.
Les types de données de toutes les valeurs d'entrée (MDiSi) et ceux de la valeur
de sortie doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Explication : n = nombre de singletons
Condition : 2 ≤ n ≤ 9
Représentation en FBD
Représentation :
50
33004220 02/2009
DEFUZ : Défuzzification avec des singletons
Représentation en LD
Représentation :
Représentation en IL
LD Last_Y
DEFUZ Single1Mem1, Single1Sup1, ..., SingleNSupx
ST Current_Y
Représentation en ST
Current_Y := DEFUZ (Last_Y, Single1Mem1, Single1Sup1, ...,
SingleNSupx) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
ZERO_Y
BOOL
0: Sortie de la dernière valeur Y
MDiSi1
INT, REAL
Singleton : 1 ; degré d'appartenance MD1
MDiSi2
INT, REAL
Singleton : 1 ; point d'appui S1
MDiSi3
INT, REAL
Singleton : 2 ; degré d'appartenance MD2
MDiSi4
INT, REAL
Singleton : 2 ; point d'appui S2
:
:
:
MDiSi17
INT, REAL
Singleton : 9 ; degré d'appartenance MD9
MDiSi18
INT, REAL
Singleton : 9 ; point d'appui S9
Description des paramètres de sortie :
33004220 02/2009
Paramètre
Type de données
Signification
Y
INT, REAL
Sortie
51
DEFUZ : Défuzzification avec des singletons
Erreurs d'exécution
Un message d'erreur s'affiche si :
plus de 9 points d'appui (ce qui correspond à 18 entrées MDiSi au maximum) ont
été configurés (E_EFB_TOO_MANY_INPUTS),
z le bloc fonction a été paramétré avec un nombre d'entrées impair
(E_EFB_WRONG_NUMBER_OF_INPUTS) ou
z si un des degrés d'appartenance MD1 à MD9 est en dehors de la plage de
valeurs (E_EFB_INPUT_VALUE_OUT_OF_RANGE). Seules les plages de valeurs
suivantes sont acceptées :
z INT : 0 ... 10 000
z REAL : 0 ... 1
z
52
33004220 02/2009
DEFUZ : Défuzzification avec des singletons
Description détaillée
Description détaillée
Pour la défuzzification de variables linguistiques, on dispose de la fonction DEFUZ
comme fonction d'appartenance pour la méthode de la moyenne maximum avec
des singletons.
La position des singletons est définie par des points d'appui.
Lors de la configuration des fonctions, veillez à ce que les entrées soient toujours
utilisées par paires, puisque chaque valeur linguistique est pondérée par son degré
d'appartenance.
La sortie Y est définie sur 0.
Si tous les degrés d'appartenance ont la valeur 0, le comportement de sortie du bloc
fonction peut être déterminé par l'entrée ZERO_Y :
33004220 02/2009
Valeur ZERO_Y
Résultat
ZERO_Y = 0
La sortie Y reste inchangée.
ZERO_Y = 1
La sortie Y est définie sur 0.
53
DEFUZ : Défuzzification avec des singletons
54
33004220 02/2009
DEFUZ_STI, DEFUZ_STR : Défuzzification avec des singletons (structure)
33004220 02/2009
DEFUZ_STI, DEFUZ_STR :
défuzzification avec des
singletons (structure)
5
Introduction
Ce chapitre décrit les fonctions suivantes :
z DEFUZ_STI
z DEFUZ_STR
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
33004220 02/2009
Page
Description
56
Description détaillée
59
55
DEFUZ_STI, DEFUZ_STR : Défuzzification avec des singletons (structure)
Description
Description de la fonction
Cette fonction permet de défuzzifier des termes linguistiques qui sont représentés
par des singletons, suivant la méthode de la moyenne maximum. La position des
singletons est définie par des points d'appui (S1 à S9). Chaque terme est pondéré
par son degré d'appartenance (term1 à term9) à la structure de données
FUZ_MD_INT (pour DEFUZ_STI) ou FUZ_MD_REAL (pour DEFUZ_STR). La plage
de valeurs du degré d'appartenance pour le type de données INT va de 0 à 10 000
et pour le type de données REAL, de 0 à 1.
Le nombre d'entrées (S1 à Sn) peut être augmenté (9 au maximum) en modifiant
verticalement la taille de la trame du bloc. Il n'est pas possible de configurer d'autres
entrées.
Les types de données de toutes les valeurs d'entrée (Sn) doivent être identiques.
Une fonction spéciale est disponible à chaque fois pour le traitement des différents
types de données.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
DEFUZ_STI
z DEFUZ_STR
z
Représentation en FBD
Représentation
56
33004220 02/2009
DEFUZ_STI, DEFUZ_STR : Défuzzification avec des singletons
Représentation en LD
Représentation :
Représentation en IL
LD Last_Y
DEFUZ_STI Member, SP1, SP2, ..., SP9
ST FUZ_MD
Représentation en ST
FUZ_MD := DEFUZ_STI (Last_Y, Member, SP1, SP2, ..., SP9) ;
Formule
Formule de la fonction
Définition : n = nombre de singletons
Condition : 2 ≤ n ≤ 9
33004220 02/2009
57
DEFUZ_STI, DEFUZ_STR : Défuzzification avec des singletons (structure)
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
ZERO_Y
BOOL
0: Sortie de la dernière valeur Y
1: La sortie Y est paramétrée sur « 0 ».
MD
FUZ_MD_INT,
FUZ_MD_REAL
Degré d'appartenance (term1 à term9)
S1
INT, REAL
Singleton : 1
S2
INT, REAL
Singleton : 2
:
:
:
S9
INT, REAL
Singleton : 9
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Y
INT, REAL
Sortie
Description des structures de données FUZ_MD_INT et FUZ_MD_REAL
Elément
Type de données
Signification
n
INT
Nombre de termes
term1
INT, REAL
Degré d'appartenance (MD1)
:
:
:
term9
INT, REAL
Degré d'appartenance (MD9)
Erreurs d'exécution
Un message d'erreur (E_EFB_TOO_MANY_INPUTS) s'affiche, lorsque plus de
9 points d'appui ont été configurés.
Un avertissement (E_EFB_WRONG_NUMBER_OF_INPUTS) s'affiche lorsque le
nombre d'entrées (= nombre des points d'appui S1 à Sn) ne correspond pas au
nombre de termes utilisés (MD) dans la structure de données FUZ_MD_INT.n (pour
DEFUZ_STI) ou FUZ_MD_REAL.n (pour DEFUZ_STR). Dans ce cas, le nombre de
points d'appui inclus dans le calcul de la valeur de sortie doit correspondre au
nombre de termes utilisés (MD) dans la structure de données FUZ_MD_INT.n (pour
DEFUZ_STI) ou FUZ_MD_REAL.n (pour DEFUZ_STR).
58
33004220 02/2009
DEFUZ_STI, DEFUZ_STR : Défuzzification avec des singletons
Description détaillée
Description détaillée
Pour la défuzzification de variables linguistiques, on dispose de la fonction DEFUZ
comme fonction d'appartenance pour la méthode de la moyenne maximum avec
des singletons.
La position des singletons est définie avec des points d'appui (S1 à S9).
Chaque terme linguistique est pondéré par son degré d'appartenance.
Si tous les degrés d'appartenance ont la valeur 0, le comportement de sortie du bloc
fonction peut être déterminé par l'entrée ZERO_Y :
33004220 02/2009
Valeur ZERO_Y
Résultat
ZERO_Y = 0
La sortie Y reste inchangée.
ZERO_Y = 1
La sortie Y est définie sur 0.
59
DEFUZ_STI, DEFUZ_STR : Défuzzification avec des singletons (structure)
60
33004220 02/2009
FUZ_ATERM : Fuzzification de tous les termes
33004220 02/2009
FUZ_ATERM : Fuzzification de
tous les termes
6
Présentation
Ce chapitre décrit la procédure FUZ_ATERM.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
33004220 02/2009
Page
Description courte
62
Description détaillée
65
61
FUZ_ATERM : Fuzzification de tous les termes
Description courte
Description de la fonction
Cette procédure permet de fuzzifier jusqu'à 9 termes des variables linguistiques
(entrée X) et d'indiquer chaque degré d'appartenance (sorties MD1 à MD9). La plage
de valeurs au niveau de la sortie pour le type de données INT est de 0 à 10 000 et
pour le type de données REAL, de 0 à 1. Les fonctions d'appartenance sont définies
par des points d'appui (entrées extensibles S1 à S9).
Cette procédure fonctionne avec une simplification propre à la définition de la
fonction d'appartenance :
z des rampes pour la première et la dernière fonction d'appartenance ;
z uniquement des triangles pour les fonctions d'appartenance entre la première et
la dernière ;
z la somme de deux degrés d'appartenance de deux termes linguistiques
successifs est toujours 1 (10 000) ;
z la somme des degrés d'appartenance de tous les termes linguistiques pour
chaque valeur d'entrée X est toujours 1 (10 000) ;
Le nombre de points d'appui (S1 à Sx) peut être augmenté (9 au maximum) en
modifiant verticalement la taille de la trame du bloc. Il n'est pas possible de
configurer d'autres points d'appui.
Le nombre de degrés d'appartenance calculés correspond au nombre de fonctions
d'appartenance. Si la configuration comprend moins de neuf fonctions
d'appartenance, les sorties restantes ont la valeur 0. (par exemple, pour 4 fonctions
d'appartenance, on compte 4 degrés d'appartenance pour MD1 à MD4 et MD5 à MD9
sont à 0).
Les types de données de toutes les valeurs d'entrée et celui de la valeur de sortie
doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
62
33004220 02/2009
FUZ_ATERM : Fuzzification de tous les termes
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
LD InputFUZ_ATERM SP1, SP2, ..., SP9, Member1, Member2, ...,
Member9
33004220 02/2009
63
FUZ_ATERM : Fuzzification de tous les termes
Représentation en ST
FUZ_ATERM (Input, SP1, SP2, ..., SP9, Member1, Member2, ...,
Member9);
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
X
INT, REAL
Variable linguistique
S1
INT, REAL
Point d'appui S1
S2
INT, REAL
Point d'appui S2
:
:
:
S9
INT, REAL
Point d'appui S9
Description des paramètres de sortie :
Paramètres
Type de données
Signification
MD1
INT, REAL
Degré d'appartenance MD1 en sortie
MD2
INT, REAL
Degré d'appartenance MD2 en sortie
:
:
:
MD9
INT, REAL
Degré d'appartenance MD9 en sortie
Erreurs d'exécution
Un message d'erreur s'affiche lorsque :
les points d'appui ne sont pas triés dans l'ordre
(E_EFB_INPUT_VALUE_OUT_OF_RANGE). Les points d'appui doivent être triés
dans l'ordre croissant (S1 < S2 < S3 < à < S9) ou
z la configuration comporte plus de 9 points d'appui (E_EFB_TOO_MANY_INPUTS).
z
64
33004220 02/2009
FUZ_ATERM : Fuzzification de tous les termes
Description détaillée
Description des paramètres
Avec la procédure FUZ_ATERM, tous les termes d'une variable linguistique peuvent
être fuzzifiés en même temps. Les fonctions d'appartenance sont déterminées par
des points d'appui (S1, S2, S3, etc.). Le concept de cette fuzzification permet de
définir les extrémités de plusieurs fonctions d'appartenance avec un point d'appui à
la fois. Ces fonctions d'appartenance se présentent sous forme de rampes et de
triangles, la somme des différents degrés d'appartenance étant toujours 100 %. Ces
corrélations sont présentées dans les diagrammes temporels suivants.
Diagrammes temporels
2 fonctions d'appartenance, 2 points d'appui, 2 degrés d'appartenance
3 fonctions d'appartenance, 3 points d'appui, 3 degrés d'appartenance
33004220 02/2009
65
FUZ_ATERM : Fuzzification de tous les termes
4 fonctions d'appartenance, 4 points d'appui, 4 degrés d'appartenance
66
33004220 02/2009
FUZ_ATERM_STI, FUZ_ATERM_STR : Fuzzification de tous les termes (structure)
33004220 02/2009
FUZ_ATERM_STI,
FUZ_ATERM_STR : fuzzification
de tous les termes (structure)
7
Introduction
Ce chapitre décrit les fonctions suivantes :
z FUZ_ATERM_STI
z FUZ_ATERM_STR
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
33004220 02/2009
Page
Description courte
68
Description détaillée
71
67
FUZ_ATERM_STI, FUZ_ATERM_STR : Fuzzification de tous les termes (structure)
Description courte
Description de la fonction
Cette fonction permet de fuzzifier jusqu'à 9 termes des variables linguistiques
(entrée X) et de générer au niveau de la sortie chacun des degrés d'appartenance
de la structure de données FUZ_MD_INT (pourFUZ_ATERM_STI) ou FUZ_MD_REAL
(pour FUZ_ATERM_STR) dans les éléments term1 à term9. La plage de valeurs au
niveau de la sortie pour le type de données INT est de 0 à 10 000 et pour le type de
données REAL, de 0 à 1. Les fonctions d'appartenance sont définies par des points
d'appui (entrées extensibles S1 à S9).
La fonction utilise une simplification propre à la définition de la fonction
d'appartenance :
z des rampes pour la première et la dernière fonction d'appartenance ;
z uniquement des triangles pour les fonctions d'appartenance entre la première et
la dernière ;
z la somme de deux degrés d'appartenance de deux termes linguistiques
successifs est toujours 1 (10 000) ;
z la somme des degrés d'appartenance de tous les termes linguistiques pour
chaque valeur d'entrée X est toujours 1 (10 000)
Le nombre de points d'appui (S1 à Sx) peut être augmenté (9 au maximum) en
modifiant verticalement la taille de la trame du bloc. Il n'est pas possible de
configurer d'autres points d'appui.
Le nombre de degrés d'appartenance calculés correspond au nombre de fonctions
d'appartenance, il est stocké dans la structure de données (élément n).. Si vous
configurez moins de neuf fonctions d'appartenance, les éléments restants de la
structure de données (termx) ne sont pas modifiés. (par exemple, si 4 points
d'appui sont associés à 4 fonctions d'appartenance dont les 4 degrés
d'appartenance sont appliqués aux éléments term1 à term4, alors term5 à term9
ne sont pas modifiés.) Ceci présente l'avantage que les structures de données
constituées en mémoire d'état n'occupent que la place dont elles ont vraiment
besoin.
Les types de données de toutes les valeurs d'entrée doivent être identiques. Une
fonction spéciale est disponible à chaque fois pour le traitement des différents types
de données.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
z FUZ_ATERM_STI
z FUZ_ATERM_STR
68
33004220 02/2009
FUZ_ATERM_STI, FUZ_ATERM_STR : Fuzzification de tous les
Représentation en FBD
Représentation
Représentation en LD
Représentation :
Représentation en IL
LD Liguistic_Var
FUZ_ATERM_STI SP1, SP2, ..., SP9
ST Member
Représentation en ST
Member := FUZ_ATERM_STI (Liguistic_Var, SP1, SP2, ..., SP9) ;
33004220 02/2009
69
FUZ_ATERM_STI, FUZ_ATERM_STR : Fuzzification de tous les termes (structure)
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
X
INT, REAL
Variable linguistique
S1
INT, REAL
Point d'appui S1
S2
INT, REAL
Point d'appui S2
:
:
:
S9
INT, REAL
Point d'appui S9
Description des paramètres de sortie :
Paramètre
Type de données
Signification
MD
FUZ_MD_INT,
FUZ_MD_REAL
Sortie de degré d'appartenance (term1 à term9)
Description des structures de données FUZ_MD_INT et FUZ_MD_REAL :
Elément
Type de données
Signification
n
INT
Nombre de termes
term1
INT, REAL
Degré d'appartenance (MD1)
:
:
:
term9
INT, REAL
Degré d'appartenance (MD9)
Erreurs d'exécution
Un message d'erreur s'affiche si :
les points d'appui ne sont pas triés dans l'ordre
(E_EFB_INPUT_VALUE_OUT_OF_RANGE). Les points d'appui doivent être triés
dans l'ordre croissant (S1 < S2 < S3 < à < S9) ou
z la configuration comporte plus de 9 points d'appui (E_EFB_TOO_MANY_INPUTS).
z
70
33004220 02/2009
FUZ_ATERM_STI, FUZ_ATERM_STR : Fuzzification de tous les
Description détaillée
Description des paramètres et diagrammes temporels
Vous trouverez la description des paramètres et les diagrammes temporels de ce
bloc dans Description détaillée, page 65.
33004220 02/2009
71
FUZ_ATERM_STI, FUZ_ATERM_STR : Fuzzification de tous les termes (structure)
72
33004220 02/2009
FUZ_MAX : Fuzzy maximum
33004220 02/2009
FUZ_MAX : Fuzzy Maximum
8
Description courte
Description de la fonction
Cette fonction permet de reconnaître la plus grande valeur d'entrée et de la générer
au niveau de la sortie.
Les types de données INT et REAL peuvent être traités. La plage de valeurs des
entrées et de la sortie pour le type de données INT va de <= 10 000 et pour le type
de données REAL, de <= 1,0.
Les types de données de toutes les valeurs d'entrée et celui de la valeur de sortie
doivent être identiques.
Le nombre d'entrées peut être augmenté (32 au maximum).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = MAX(0, IN1, IN2, ..., INn)
Représentation en FBD
Représentation
33004220 02/2009
73
FUZ_MAX : Fuzzy maximum
Représentation en LD
Représentation
Représentation en IL
LD Input1
FUZ_MAX Input2, ..., Inputn
ST Output
Représentation en ST
Output := FUZ_MAX (Input1, Input2, ..., Inputn) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IN1
INT, REAL
1ère valeur d'entrée
IN2
INT, REAL
2e valeur d'entrée
:
:
:
INn
INT, REAL
n. valeur d'entrée
Sortie
INT, REAL
Valeur maximale
Erreurs d'exécution
Un message d'erreur s'affiche lorsque l'une des valeurs d'entrée est en dehors de
la plage de valeurs (E_EFB_INPUT_VALUE_OUT_OF_RANGE).
Seules les plages de valeurs suivantes sont acceptées :
z INT : <= 10 000
z REAL : <= 1,0
74
33004220 02/2009
FUZ_MIN : Fuzzy minimum
33004220 02/2009
FUZ_MIN : Fuzzy Minimum
9
Description courte
Description de la fonction
Cette fonction permet de reconnaître la plus petite valeur d'entrée et de la générer
au niveau de la sortie.
Les types de données INT et REAL peuvent être traités. La plage de valeurs des
entrées et de la sortie pour le type de données INT va de >= 0 et pour le type de
données REAL, de >= 0.
Les types de données de toutes les valeurs d'entrée et celui de la valeur de sortie
doivent être identiques.
Le nombre d'entrées peut être augmenté (32 au maximum).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
REAL: OUT = MIN(1, IN1, IN2, ... INn)
INT: OUT = MIN(10000, IN1, IN2, ... INn
Représentation en FBD
Représentation
33004220 02/2009
75
FUZ_MIN : Fuzzy minimum
Représentation en LD
Représentation
Représentation en IL
LD Input1
FUZ_MIN Input2, ..., Inputn
ST Output
Représentation en ST
Output := FUZ_MIN (Input1, Input2, ..., Inputn) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IN1
INT, REAL
1ère valeur d'entrée
IN2
INT, REAL
2e valeur d'entrée
:
:
:
INn
INT, REAL
n. valeur d'entrée
Description des paramètres de sortie :
76
Paramètre
Type de données
Signification
Sortie
INT, REAL
Valeur maximale
33004220 02/2009
FUZ_MIN : Fuzzy minimum
Erreurs d'exécution
Un message d'erreur s'affiche lorsque l'une des valeurs d'entrée est en dehors de
la plage de valeurs (E_EFB_INPUT_VALUE_OUT_OF_RANGE).
Seules les plages de valeurs suivantes sont acceptées :
z INT : >= 0
z REAL : >= 0
33004220 02/2009
77
FUZ_MIN : Fuzzy minimum
78
33004220 02/2009
FUZ_PROD : Produit du Fuzzy
33004220 02/2009
FUZ_PROD : produit Fuzzy
10
Introduction
Ce chapitre décrit la fonction FUZ_PROD.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
33004220 02/2009
Page
Description courte
80
Description détaillée
82
79
FUZ_PROD : Produit du Fuzzy
Description courte
Description de la fonction
Cette fonction permet de former le produit (sortie MD) des degrés d'appartenances
(entrées extensibles MD1 à MDx). En outre, elle permet d'effectuer (pour le calcul des
entiers) une multiplication en tenant compte de la plage de valeurs du degré
d'appartenance (de 0 à 10 000). La plage de valeurs aux entrées et à la sortie pour
le type de données INT va de 0 à à 10 000 et pour le type de données REAL, de 0
à 1.
Les types de données de toutes les valeurs d'entrée et celui de la valeur de sortie
doivent être identiques.
Le nombre d'entrées peut être augmenté (32 au maximum).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation
Représentation en LD
Représentation
80
33004220 02/2009
FUZ_PROD : Produit du Fuzzy
Représentation en IL
LD Member1
FUZ_PROD_INT Member2, ..., Memberx
ST Output
Représentation en ST
Output := FUZ_PROD (Member1, Member2, ..., Memberx) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
MD1
INT, REAL
1er degré d'appartenance
MD2
INT, REAL
2e degré d'appartenance
:
:
:
MDx
INT, REAL
x. degré d'appartenance
Description des paramètres de sortie :
Paramètre
Type de données
Signification
MD
INT, REAL
Sortie produit (Fuzzy)
Erreurs d'exécution
Un message d'erreur s'affiche lorsque l'une des valeurs d'entrée est en dehors de
la plage de valeurs (E_EFB_INPUT_VALUE_OUT_OF_RANGE).
Seules les plages de valeurs suivantes sont acceptées :
z INT : 0 ... 10 000
z REAL : 0 ... 1
33004220 02/2009
81
FUZ_PROD : Produit du Fuzzy
Description détaillée
Description de la fonction
Dans l'arithmétique des réels, la formation du produit est obtenue par une simple
multiplication.
Règle
Exemple
(0 ... 1) * (0 ... 1) = (0 ... 1)
0.3 * 0.6 = 0.18
Dans l'arithmétique des entiers, une correction doit être effectuée via une remise à
l'échelle de la plage des valeurs :
82
Règle
Exemple
(0 ... 10 000) * (0 ... 10 000) = (0 ... 10 000)
3 000 * 6 000 = 1 800 (!)
33004220 02/2009
FUZ_STERM : Fuzzification d'un terme
33004220 02/2009
FUZ_STERM : Fuzzification d'un
terme
11
Introduction
Ce chapitre décrit la fonction FUZ_STERM.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
33004220 02/2009
Page
Description courte
84
Description détaillée
87
83
FUZ_STERM : Fuzzification d'un terme
Description courte
Description de la fonction
Cette fonction permet de fuzzifier un seul terme des variables linguistiques (entrée
X) et de générer son degré d'appartenance au niveau de la sortie MD. La plage de
valeurs de la sortie pour le type de données INT va de 0 à 10 000 et pour le type de
données REAL, de 0 à 1. La fonction d'appartenance est établie à l'aide de 4 points
d'appui maximum (S1 à S4). De 2 à 4 entrées (points d'appui) sont possibles. Pour
2 points d'appui, la fonction réalise une fonction rampe. Pour 3 points d'appui, elle
réalise une fonction triangle et pour 4 points d'appui, une fonction trapèze. En
paramétrant les points d'appui de manière différente, plusieurs courbes de fonction
peuvent être réalisées.
Les types de données de toutes les valeurs d'entrée et celui de la valeur de sortie
doivent être identiques.
Le nombre d'entrées peut être augmenté (4 au maximum) en modifiant
verticalement la taille de la trame du bloc.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation
84
33004220 02/2009
FUZ_STERM : Fuzzification d'un terme
Représentation en LD
Représentation
Représentation en IL
LD Linguistic_Var
FUZ_STERM SP1, SP2, SP3, SP4
ST Member
Représentation en ST
Member := FUZ_STERM_INT (Linguistic_Var, SP1, SP2, SP3, SP4) ;
33004220 02/2009
85
FUZ_STERM : Fuzzification d'un terme
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
X
INT, REAL
Variable linguistique
S1
INT, REAL
Point d'appui S1
S2
INT, REAL
Point d'appui S2
:
:
:
S4
INT, REAL
Point d'appui S4
Description des paramètres de sortie :
Paramètre
Type de données
Signification
MD
INT, REAL
Degré d'appartenance en sortie
Erreurs d'exécution
Un message d'erreur s'affiche lorsque le nombre de points d'appui est égal > à 4 (
E_EFB_TOO_MANY_INPUTS).
86
33004220 02/2009
FUZ_STERM : Fuzzification d'un terme
Description détaillée
Description des paramètres
Avec le bloc fonction FUZ_STERM, un terme d'une variable linguistique est fuzzifié.
La fonction d'appartenance peut être définie jusqu'à 4 points d'appui (S1 à S4). Les
points d'appui doivent être indiqués dans l'ordre croissant. Vous trouverez les
fonctions standard dans le tableau suivant. Pour les cas spéciaux, reportez-vous
aux diagrammes temporels. D'autres formes sont possibles en inversant l'ordre des
points d'appui. Le tableau suivant présente les courbes de fonction possibles.
Fonctions standard
Fonction d'appartenance
Nombre d'entrées
Condition
Rampe descendante
2
S2<S1
Rampe ascendante
2
S1<S2
Triangle
3
S1<S2<S3
Trapèze
4
S1<S2<S3<S4
Diagramme temporel
Fonction avec 2 entrées (S1 et S2)
Rampe descendante : S2 < S1
Rampe ascendante : S1 < S2
33004220 02/2009
87
FUZ_STERM : Fuzzification d'un terme
Fonction avec 3 entrées (S1 à S3)
Triangle : S1 < S2 < S3
Rampe descendante : S2 < S3 et S1 > S2
Rampe ascendante : S1 < S2 et S3 < S2
88
33004220 02/2009
FUZ_STERM : Fuzzification d'un terme
Fonction avec 4 entrées (S1 à S4)
Trapèze : S1 < S2 < S3 < S4
Triangle : S1 < S2 < S4 et S3 ≤ S2
Rampe descendante : S2 ≤ S3 < S4 et S1 > S2
33004220 02/2009
89
FUZ_STERM : Fuzzification d'un terme
Rampe ascendante : S1 < S2 ≤ S3 et S4 < S3
Rectangle : S1 = S2 < S3 = S4
Singleton : S1 = S2 = S3 = S4
90
33004220 02/2009
FUZ_SUM : Somme du Fuzzy
33004220 02/2009
FUZ_SUM : somme Fuzzy
12
Description courte
Description de la fonction
Cette fonction permet de représenter la somme limitée (sortie MD) du degré
d'appartenance (entrées MD1 à MDx). La plage de valeurs des entrées et de la sortie
pour le type de données INT va de 0 à 10 000 et pour le type de données REAL, de
0 à 1.
Les types de données de toutes les valeurs d'entrée et celui de la valeur de sortie
doivent être identiques.
Le nombre d'entrées peut être augmenté (32 au maximum).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule :
33004220 02/2009
91
FUZ_SUM : Somme du Fuzzy
Représentation en FBD
Représentation
Représentation en LD
Représentation
Représentation en IL
LD Member1
FUZ_SUM Member2, ..., Memberx
ST Output
Représentation en ST
Output := FUZ_SUM (Member1, Member2, ..., Memberx) ;
92
33004220 02/2009
FUZ_SUM : Somme du Fuzzy
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
MD1
INT, REAL
1er degré d'appartenance
MD2
INT, REAL
2e degré d'appartenance
:
:
:
MDx
INT, REAL
xe degré d'appartenance
Description des paramètres de sortie :
Paramètre
Type de données
Signification
MD
INT, REAL
Somme limitée en sortie
Erreurs d'exécution
Un message d'erreur s'affiche lorsque l'une des valeurs d'entrée est en dehors de
la plage de valeurs (E_EFB_INPUT_VALUE_OUT_OF_RANGE).
Seules les plages de valeurs suivantes sont acceptées :
z INT : 0 ... 10 000
z REAL : 0 ... 1
33004220 02/2009
93
FUZ_SUM : Somme du Fuzzy
94
33004220 02/2009
Glossaire
33004220 02/2009
Glossaire
0-9
%I
Selon la norme CEI, %I indique un objet langage de type entrée TOR.
%IW
Selon la norme CEI, %IW indique un objet langage de type entrée analogique.
%KW
Selon la norme CEI, %KW indique un objet langage de type mot constante.
%M
Selon la norme CEI, %M indique un objet langage de type bit mémoire.
%MW
Selon la norme CEI, %MW indique un objet langage de type mot mémoire.
%Q
Selon la norme CEI, %Q indique un objet langage de type sortie TOR.
%QW
Selon la norme CEI, %QW indique un objet langage de type sortie analogique.
33004220 02/2009
95
Glossaire
A
ADDM_TYPE
Ce type prédéfini est utilisé comme sortie pour la fonction ADDM. C'est un tableau
ARRAY[0..8] OF Int. Vous pouvez le trouver dans la bibliothèque, dans la même
famille que les EF qui l'utilisent.
ADDR_TYPE
Ce type prédéfini est utilisé comme sortie pour la fonction ADDR. C'est un tableau
ARRAY[0.0,5] OF Int. Vous pouvez le trouver dans la bibliothèque, dans la même
famille que les EF qui l'utilisent.
ANL_IN
ANL_IN correspond au type de données « entrée analogique ». Ce type est
employé lors du traitement de valeurs analogiques. Les adresses %IW du module
d'entrée analogique configuré, qui sont indiquées dans la liste des composants
d'E/S, sont automatiquement affectées à des types de données et doivent par
conséquent être occupées uniquement par des variables non affectées.
ANL_OUT
ANL_OUT correspond au type de données « sortie analogique ». Ce type est
employé lors du traitement de valeurs analogiques. Les adresses %MW du module
d'entrée analogique configuré, qui sont indiquées dans la liste des composants
d'E/S, sont automatiquement affectées à des types de données et doivent par
conséquent être occupées uniquement par des variables non affectées.
ANY
Une hiérarchie existe entre les différents types de données. Dans les DFB, il est
parfois possible de déclarer les variables pouvant contenir plusieurs types de
valeurs. On utilise alors les types ANY_xxx.
96
33004220 02/2009
Glossaire
La figure suivante décrit cette structure hiérarchisée :
33004220 02/2009
97
Glossaire
ARRAY
Un ARRAY est un tableau d'éléments de même type.
La syntaxe est la suivante : ARRAY [<limites>] OF <Type>
Exemple :
ARRAY [1..2] OF BOOL est un tableau à une dimension composé de deux
éléments de type BOOL.
ARRAY [1..10, 1..20] OF INT est un tableau à deux dimensions composé
de 10x20 éléments de type INT.
B
BCD
BCD est l'acronyme du format Binary Coded Decimal (décimal codé en binaire).
Le format BCD permet de représenter des nombres décimaux compris entre 0 et 9
à l'aide d'un groupe de quatre bits (demi-octet).
Dans ce format, les quatre bits employés pour coder les nombres décimaux ont une
plage de combinaisons inutilisée.
Exemple de codage BCD :
Le nombre 2 450
z est ainsi codé : 0010 0100 0101 0000
z
BOOL
BOOL est l'abréviation du type booléen. Il s'agit du type de données de base en
informatique. Une variable de type BOOL possède l'une ou l'autre des valeurs
suivantes : 0 (FALSE) ou 1 (TRUE).
Un bit extrait d'un mot est de type BOOL, par exemple : %MW10.4.
BYTE
Lorsque 8 bits sont regroupés, on parle alors de BYTE (octet). La saisie d'un BYTE
s'effectue soit en mode binaire, soit en base 8.
Le type BYTE est codé dans un format 8 bits qui, au format hexadécimal, s'étend de
16#00 à 16#FF.
98
33004220 02/2009
Glossaire
C
CEI 61131-3
Norme internationale : automates programmables
Partie 3 : langages de programmation
Conventions de désignation (identificateur)
Un identificateur est une suite de lettres, de chiffres et de signes de soulignement
commençant par une lettre ou un signe de soulignement (par exemple, le nom d'un
type de bloc fonction, d'une instance, d'une variable ou d'une section). Les lettres
accentuées (comme ö, ü, é et õ) peuvent être utilisées, sauf dans les noms de projet
et DFB. Les signes de soulignement sont significatifs dans les identificateurs. Par
exemple, A_BCD et AB_CD sont interprétés comme des identificateurs différents.
L'utilisation de plusieurs soulignés consécutifs ou au début d'un identificateur est
incorrecte.
Les identificateurs ne peuvent pas contenir d'espace. Ils ne distinguent pas les
majuscules des minuscules. Par exemple, ABCD et abcd sont interprétés comme un
seul et même identificateur.
Selon la norme CEI 61131-3, les chiffres en début ne sont pas autorisés dans les
identificateurs. Cependant, vous pouvez les utiliser si vous cochez, dans la boîte de
dialogue Outils → Options du projet, dans l'onglet Extensions de langage, la
case Chiffres en début autorisés.
Les identificateurs ne peuvent pas être des mots clés.
33004220 02/2009
99
Glossaire
D
DATE
Le type DATE, codé en BCD dans un format de 32 bits, contient les informations
suivantes :
z
z
z
l'année codée dans un champ de 16 bits ;
le mois codé dans un champ de 8 bits ;
le jour codé dans un champ de 8 bits.
Le type DATE doit être saisi comme suit : D# <Année> - <Mois> - <Jour>
Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :
Elément
Limites
Commentaire
Année
[1990,2099]
Année
Mois
[01,12]
Le 0 de gauche est toujours affiché ; il peut être omis lors
de la saisie.
Jour
[01,31]
Pour les mois 01/03/05/07/08/10/12
[01,30]
Pour les mois 04/06/09/11
[01,29]
Pour le mois 02 (années bissextiles)
[01,28]
Pour le mois 02 (années non bissextiles)
DATE_AND_TIME
Voir DT.
DBCD
Représentation d'un entier double au format double BCD.
Le format BCD (Binary Coded Decimal) est utilisé pour représenter des nombres
décimaux compris entre 0 et 9 à l'aide d'un groupe de quatre bits.
Dans ce format, les quatre bits employés pour coder les nombres décimaux ont une
plage de combinaisons inutilisée.
Exemple de codage DBCD :
z Le nombre 78 993 016
z est ainsi codé : 0111 1000 1001 1001 0011 0000 0001 0110
DDT
DDT est l'acronyme de Derived Data Type (type de données dérivées).
Un type de données dérivées est un ensemble d'éléments de même type (ARRAY)
ou de types différents (structure).
100
33004220 02/2009
Glossaire
DFB
DFB est l'acronyme de Derived Function Block (bloc fonction dérivé).
Les types DFB sont des blocs fonction programmables par l'utilisateur en langage
ST, IL, LD ou FBD.
L'utilisation de ces types DFB dans une application permet :
z
z
z
z
de simplifier la conception et la saisie du programme ;
d'accroître la lisibilité du programme ;
de faciliter sa mise au point ;
de diminuer le volume de code généré.
DINT
DINT est l'acronyme du format Double INTeger (entier double) (codé sur 32 bits).
Les limites inférieure et supérieure sont les suivantes : -(2 puissance 31) à (2
puissance 31) -1.
Exemple :
-2147483648, 2147483647, 16#FFFFFFFF.
DT
DT est l'acronyme de « Date and Time » (date et heure).
Le type DT, codé en BCD dans un format de 64 bits, contient les informations
suivantes :
z
z
z
z
z
z
l'année codée dans un champ de 16 bits ;
le mois codé dans un champ de 8 bits ;
le jour codé dans un champ de 8 bits ;
l'heure codée dans un champ de 8 bits ;
les minutes codées dans un champ de 8 bits ;
les secondes codées dans un champ de 8 bits.
NOTE : Les 8 bits de poids faible ne sont pas utilisés.
Le type DT doit être saisi comme suit :
DT# <Année> - <Mois> - <Jour> - <Heure> : <Minutes> : <Secondes>
33004220 02/2009
101
Glossaire
Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :
Elément
Limites
Commentaire
Année
[1990,2099]
Année
Mois
[01,12]
Le 0 de gauche est toujours affiché ; il peut être omis
lors de la saisie.
Jour
[01,31]
Pour les mois 01/03/05/07/08/10/12
[01,30]
Pour les mois 04/06/09/11
[01,29]
Pour le mois 02 (années bissextiles)
[01,28]
Pour le mois 02 (années non bissextiles)
Heure
[00,23]
Le 0 de gauche est toujours affiché ; il peut être omis
lors de la saisie.
Minute
[00,59]
Le 0 de gauche est toujours affiché ; il peut être omis
lors de la saisie.
Seconde
[00,59]
Le 0 de gauche est toujours affiché ; il peut être omis
lors de la saisie.
DWORD
DWORD est l'acronyme de « Double Word » (mot double).
Le type DWORD est codé dans un format de 32 bits.
Le tableau ci-dessous donne les limites inférieure/supérieure des bases qui peuvent
être utilisées :
Base
Limite inférieure
Limite supérieure
Hexadécimale
16#0
16#FFFFFFFF
Octale
8#0
8#37777777777
Binaire
2#0
2#11111111111111111111111111111111
Exemples de représentation :
102
Données
Représentation dans l'une des bases
00000000000010101101110011011110
16#ADCDE
00000000000000010000000000000000
8#200000
00000000000010101011110011011110
2#10101011110011011110
33004220 02/2009
Glossaire
E
EBOOL
EBOOL est l'acronyme du type Extended BOOLean (booléen étendu). Une variable
de type EBOOL possède une valeur (0 pour FALSE ou 1 pour TRUE), mais également
des fronts montants ou descendants et des fonctions de forçage.
Elle occupe un octet de mémoire.
L'octet contient les informations suivantes :
z
z
z
un bit pour la valeur ;
un bit pour l'historique (chaque fois que l'objet change d'état, la valeur est copiée
dans ce bit ) ;
un bit pour le forçage (égal à 0 si l'objet n'est pas forcé, égal à 1 s'il est forcé).
La valeur par défaut de chaque bit est 0 (FALSE).
EF
EF est l'acronyme de « Elementary Function » (fonction élémentaire).
Il s'agit d'un bloc, utilisé dans un programme, qui réalise une fonction logique
prédéterminée.
Une fonction ne dispose pas d'informations sur l'état interne. Plusieurs appels de la
même fonction à l'aide des mêmes paramètres d'entrée fournissent toujours les
mêmes valeurs de sortie. Vous trouverez des informations sur la forme graphique
de l'appel de fonction dans le « [bloc fonctionnel (instance)] ». Contrairement aux
appels de bloc fonction, les appels de fonction comportent uniquement une sortie
qui n'est pas nommée et dont le nom est identique à celui de la fonction. Dans FBD,
chaque appel est indiqué par un [numéro] unique via le bloc graphique. Ce numéro
est généré automatiquement et ne peut pas être modifié.
Vous positionnez et paramétrez ces fonctions dans votre programme afin d'exécuter
votre application.
Vous pouvez également développer d'autres fonctions à l'aide du kit de
développement SDKC.
EFB
EFB est l'acronyme de « Elementary Function Block » (bloc fonction élémentaire).
Il s'agit d'un bloc, utilisé dans un programme, qui réalise une fonction logique
prédéterminée.
Les EFB possèdent des états et des paramètres internes. Même si les entrées sont
identiques, les valeurs des sorties peuvent différer. Par exemple, un compteur
possède une sortie qui indique que la valeur de présélection est atteinte. Cette sortie
est réglée sur 1 lorsque la valeur en cours est égale à la valeur de présélection.
33004220 02/2009
103
Glossaire
EN
EN correspond à ENable (activer) ; il s'agit d'une entrée de bloc facultative. Lorsque
l'entrée EN est activée, une sortie ENO est automatiquement établie.
Si EN = 0, le bloc n'est pas activé, son programme interne n'est pas exécuté et ENO
est réglé sur 0.
Si EN = 1, le programme interne du bloc est exécuté et ENO est réglé sur 1. Si une
erreur survient, ENO reprend la valeur 0.
Si l'entrée EN n'est pas connectée, elle est automatiquement réglée sur 1.
ENO
ENO correspond à Error NOtification (notification d'erreur) ; il s'agit de la sortie
associée à l'entrée facultative EN.
Si ENO est réglé sur 0 (car EN = 0 ou en cas d'erreur d'exécution) :
l'état des sorties de blocs fonction reste identique à celui dans lequel elles étaient
lors du dernier cycle de scrutation exécuté correctement ;
z la ou les sorties de la fonction, ainsi que les procédures, sont réglées sur 0.
z
F
FBD
FBD est l'acronyme de « Function Block Diagram » (langage en blocs fonction).
FBD est un langage de programmation graphique qui fonctionne comme un
logigramme. Par l'ajout de blocs logiques simples (ET, OU, etc.), chaque fonction ou
bloc fonction du programme est représenté(e) sous cette forme graphique. Pour
chaque bloc, les entrées se situent à gauche et les sorties à droite. Les sorties des
blocs peuvent être liées aux entrées d'autres blocs afin de former des expressions
complexes.
FFB
Terme générique pour EF (fonction élémentaire), EFB (bloc fonction élémentaire) et
DFB (bloc fonction dérivé).
Fonction
Voir EF.
Fonction élémentaire
Voir EF.
104
33004220 02/2009
Glossaire
FTP
File Transfer Protocol (protocole de transfert de fichiers).
G
Global Data
Global Data fournit un échange automatique de variables de données pour la
coordination d'applications d'automates.
GRAY
Le code Gray, ou « binaire réfléchi », permet de coder une valeur numérique
développée en chaîne de configurations binaires pouvant être différenciées par le
changement d'état d'un seul bit.
Ce code peut être utilisé, par exemple, pour éviter l'événement aléatoire suivant : en
binaire pur, le changement de la valeur 0111 en 1000 peut produire des nombres
aléatoires compris entre 0 et 1 000, étant donné que les bits ne changent pas tous
de valeur simultanément.
Equivalence entre décimal, BCD et Gray :
H
HTTP
Protocole de transfert hypertexte
33004220 02/2009
105
Glossaire
I
IL
IL est l'acronyme de « Instruction List » (liste d'instructions).
Ce langage est une suite d'instructions simples.
Il est très proche du langage d'assemblage utilisé pour programmer les
processeurs.
Chaque instruction est composée d'un code instruction et d'un opérande.
INF
Utilisé pour signifier qu'un nombre dépasse les limites autorisées.
Pour un nombre de type entier, les plages de valeurs (indiquées en gris) sont les
suivantes :
Lorsqu'un résultat est :
z
z
inférieur à -3,402824e+38, le symbole -INF (pour - infini) est affiché ;
supérieur à +3,402824e+38, le symbole INF (pour + infini) est affiché ;
INT
INT est l'acronyme du format « single INTeger » (entier simple) (codé sur 16 bits).
Les limites inférieure et supérieure sont les suivantes : -(2 puissance 15) à (2
puissance 15) -1.
Exemple :
-32768, 32767, 2#1111110001001001, 16#9FA4.
IODDT
IODDT est l'acronyme de « Input/Output Derived Data Type » (type de données
dérivées d'E/S).
Cet acronyme désigne un type de données structuré représentant un module ou une
voie d'un module automate. Chaque module expert possède ses propres IODDT.
106
33004220 02/2009
Glossaire
J
Jeton
Etape active d'un SFC.
Jeton unique
Mode de fonctionnement d'un diagramme SFC pour lequel une seule étape peut
être active à la fois.
L
Langage en blocs fonction
Voir FBD.
LD
LD est l'acronyme de « Ladder Diagram » (langage à contacts).
LD est un langage de programmation représentant les instructions à exécuter sous
forme de schémas graphiques très proches d'un schéma électrique (contacts,
bobines, etc.).
M
Mot clé
Un mot clé est une combinaison unique de caractères employée en tant qu'élément
syntaxique d'un langage de programmation. (Voir la définition fournie dans
l'annexe B de la norme CEI 61131-3. Tous les mots clés utilisés dans Unity Pro et
mentionnés dans la norme CEI 61131-3 sont répertoriés dans l'annexe C de cette
norme. Ils ne peuvent pas servir d'identificateurs [noms de variables, sections, types
DFB, etc.] dans votre programme.)
Multijeton
Mode de fonctionnement d'un SFC. En mode multijeton, le SFC peut posséder
plusieurs étapes actives simultanément.
33004220 02/2009
107
Glossaire
N
NAN
Utilisé pour signifier que le résultat d'une opération n'est pas un nombre (NAN = Not
A Number).
Exemple : calcul de la racine carrée d'un nombre négatif.
NOTE : La norme CEI 559 définit deux classes de NAN : le NAN silencieux
(QNAN) et le NAN de signalisation (SNAN). Un QNAN est un NAN (Not a Number)
avec un bit de fraction de poids fort tandis qu'un SNAN est un NAN sans bit de fraction
de poids fort (numéro de bit 22). Les QNAN peuvent être propagés par la plupart des
opérations arithmétiques sans générer d'exception. Quant aux SNAN, ils signalent
en général une opération non valide lorsqu'ils sont utilisés en tant qu'opérandes
dans des opérations arithmétiques (voir %SW17 et %S18).
P
Procédure
Les procédures sont des vues techniquement fonctionnelles. L'unique différence
par rapport aux fonctions élémentaires est que les procédures peuvent inclure
plusieurs sorties et qu'elles prennent en charge le type de données VAR_IN_OUT.
En apparence, les procédures ne sont pas différentes des fonctions élémentaires.
Les procédures sont un supplément à la norme CEI 61131-3.
108
33004220 02/2009
Glossaire
R
REAL
Le type REAL (réel) est un type codé sur 32 bits.
Les plages de valeurs possibles sont illustrées dans la figure suivante :
Lorsqu'un résultat est :
z
z
z
z
compris entre -1,175494e-38 et 1,175494e-38, il est considéré comme étant un
DEN ;
inférieur à -3,402824e+38, le symbole -INF (pour - infini) est affiché ;
supérieur à +3,402824e+38, le symbole INF (pour + infini) est affiché ;
indéfini (racine carrée d'un nombre négatif), le symbole NAN est affiché.
NOTE : La norme CEI 559 définit deux classes de NAN : le NAN silencieux
(QNAN) et le NAN de signalisation (SNAN). Un QNAN est un NAN (Not a Number)
avec un bit de fraction de poids fort tandis qu'un SNAN est un NAN sans bit de fraction
de poids fort (numéro de bit 22). Les QNAN peuvent être propagés par la plupart des
opérations arithmétiques sans générer d'exception. Quant aux SNAN, ils signalent
en général une opération non valide lorsqu'ils sont utilisés en tant qu'opérandes
dans des opérations arithmétiques (voir %SW17 et %S18).
NOTE : Lorsqu'un DEN (nombre non normalisé) est utilisé en tant qu'opérande, le
résultat n'est pas significatif.
Réseau
Il existe deux significations du terme « réseau ».
z En LD :
Un réseau est un ensemble d'éléments graphiques interconnectés. La portée
d'un réseau est locale, par rapport à l'unité (la section) organisationnelle du
programme dans laquelle le réseau est situé.
z Avec des modules de communication experts :
Un réseau est un groupe de stations qui communiquent entre elles. Le terme
« réseau » est également utilisé pour définir un groupe d'éléments graphiques
interconnectés. Ce groupe constitue ensuite une partie d'un programme qui peut
être composée d'un groupe de réseaux.
33004220 02/2009
109
Glossaire
S
Scrutation d'E/S
Interrogation continuelle des modules d'E/S afin de rassembler les bits de données
et les informations d'état, d'erreur et de diagnostic. Ce processus permet de
surveiller les entrées et les sorties de contrôle.
SFC
SFC est l'acronyme de Sequential Function Chart (diagramme fonctionnel en
séquence).
Le SFC permet de représenter graphiquement et de façon structurée le fonctionnement d'un automatisme séquentiel. Cette description graphique du
comportement séquentiel de l'automatisme et des différentes situations qui en
découlent s'effectue à l'aide de symboles graphiques simples.
SIL
Niveau d'intégrité de la sécurité
Les fonctions de sécurité sont exécutées dans le but de sécuriser un système, puis
de le maintenir dans cet état. La norme IEC 61508 stipule 4 niveaux de
performances de sécurité pour une fonction de sécurité. Ces niveaux sont appelés
niveaux d'intégrité de la sécurité (SIL) et portent les numéros 1 (niveau le plus faible)
à 4 (niveau le plus élevé). L'utilisation de l'automate de sécurité Quantum dans les
applications SIL2, dans lesquelles l'état de sécurité est l'état de non-alimentation,
est certifiée, comme dans un système d'arrêt d'urgence.
Vous pouvez recourir aux produits de sécurité de Schneider pour mettre au point
une solution de redondance d'UC si vous souhaitez disposer d'un système de
sécurité hautement disponible.
SNMP
Protocole SNMP (Simple Network Management Protocol)
ST
ST est l'acronyme de « Structured Text » (langage littéral structuré).
Le langage littéral structuré est un langage élaboré proche des langages de
programmation informatiques. Il permet de structurer des suites d'instructions.
110
33004220 02/2009
Glossaire
STRING
Une variable de type STRING est une chaîne de caractères ASCII. La longueur
maximale d'une chaîne de caractères est de 65 534 caractères.
T
TIME
Le type TIME exprime une durée en millisecondes. Codé sur 32 bits, ce type permet
d'obtenir des durées de 0 à 2 32-1 millisecondes.
Les unités du type TIME sont les suivantes : jours (d), heures (h), minutes (m),
secondes (s) et millisecondes (ms). Une valeur littérale de type TIME est
représentée par une combinaison des types précédents associés au préfixe T#, t#,
TIME# ou time#.
Exemples : T#25h15m, t#14,7S, TIME#5d10h23m45s3ms
TIME_OF_DAY
Voir TOD.
TOD
TOD est l'acronyme de Time Of Day (heure de la journée).
Le type TOD, codé en BCD dans un format de 32 bits, contient les informations
suivantes :
z
z
z
l'heure codée dans un champ de 8 bits ;
les minutes codées dans un champ de 8 bits ;
les secondes codées dans un champ de 8 bits.
NOTE : Les 8 bits de poids faible ne sont pas utilisés.
Le type Time Of Day doit être saisi comme suit : TOD# <Heure> : <Minutes> :
<Secondes>
33004220 02/2009
111
Glossaire
Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :
Elément
Limites
Commentaire
Heure
[00,23]
Le 0 de gauche est toujours affiché ; il peut être omis lors de la
saisie.
Minute
[00,59]
Le 0 de gauche est toujours affiché ; il peut être omis lors de la
saisie.
Seconde
[00,59]
Le 0 de gauche est toujours affiché ; il peut être omis lors de la
saisie.
Exemple : TOD#23:59:45.
TOPO_ADDR_TYPE
Ce type prédéfini est utilisé comme sortie pour la fonction READ_TOPO_ADDR.
C'est un tableau ARRAY[0.0,4] OF Int. Vous pouvez le trouver dans la bibliothèque,
dans la même famille que les EF qui l'utilisent.
U
UDINT
UDINT est l'acronyme du format « Unsigned Double INTeger » (entier double non
signé) (codé sur 32 bits). Les limites inférieure et supérieure sont les suivantes : 0
à (2 puissance 32) - 1.
Exemple :
0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777,
16#FFFFFFFF.
UDP
User Datagram Protocol (protocole datagramme utilisateur). UDP est un protocole
Internet de communication sans connexion défini par l'IETF RFC 768. Il permet la
transmission directe de datagrammes sur des réseaux IP. Les messages UDP/IP
n'attendent pas de réponse et, de ce fait, ils sont particulièrement adaptés aux
applications dans lesquelles aucune retransmission des paquets envoyés n'est
nécessaire (comme dans la vidéo en continu ou les réseaux exigeant des
performances en temps réel).
112
33004220 02/2009
Glossaire
UINT
UINT est l'acronyme du format « Unsigned INTeger » (entier non signé) (codé sur
16 bits). Les limites inférieure et supérieure sont les suivantes : 0 à (2 puissance 16)
- 1.
Exemple :
0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.
V
Valeur littérale d'entier
Une valeur littérale d'entier est utilisée pour saisir des valeurs de type entier dans le
système décimal. Les valeurs peuvent être précédées d'un signe (+/-). Les signes
de soulignement (_) séparant les nombres ne sont pas significatifs.
Exemple :
-12, 0, 123_456, +986
Valeur littérale de temps
Les unités du type TIME sont les suivantes : jours (d), heures (h), minutes (m),
secondes (s) et millisecondes (ms). Une valeur littérale de type TIME est
représentée par une combinaison des types précédents associés au préfixe T#, t#,
TIME# ou time#.
Exemples : T#25h15m, t#14,7S, TIME#5d10h23m45s3ms
Valeur littérale en base 10
Une valeur littérale en base 10 est utilisée pour représenter une valeur entière
décimale. Cette valeur peut être précédée des signes « + » et « - ». Si le caractère
« _ » est utilisé dans la valeur littérale, il n'est pas significatif.
Exemple :
-12, 0, 123_456, +986
33004220 02/2009
113
Glossaire
Valeur littérale en base 16
Une valeur littérale en base 16 est utilisée pour représenter un entier hexadécimal.
La base est déterminée par le nombre « 16 » et le signe « # ». Les signes « + » et
« - » sont interdits. Pour faciliter la lecture, vous pouvez utiliser le signe « _ » entre
les bits.
Exemple :
16#F_F ou 16#FF (qui correspond au nombre décimal 255)
16#F_F ou 16#FF (qui correspond au nombre décimal 224)
Valeur littérale en base 2
Une valeur littérale en base 2 est utilisée pour représenter un entier binaire. La base
est déterminée par le nombre « 2 » et le signe « # ». Les signes « + » et « - » sont
interdits. Pour faciliter la lecture, vous pouvez utiliser le signe « _ » entre les bits.
Exemple :
2#1111_1111 ou 2#11111111 (qui correspond au nombre décimal 255)
2#1110_0000 ou 2#11100000 (qui correspond au nombre décimal 224)
Valeur littérale en base 8
Une valeur littérale en base 8 est utilisée pour représenter un entier octal. La base
est déterminée par le nombre « 8 » et le signe « # ». Les signes « + » et « - » sont
interdits. Pour faciliter la lecture, vous pouvez utiliser le signe « _ » entre les bits.
Exemple :
8#3_77 ou 8#377 (qui correspond au nombre décimal 255)
8#34_0 ou 8#340 (qui correspond au nombre décimal 224)
Valeur littérale réelle
Une valeur littérale réelle est un nombre exprimé avec une ou plusieurs décimales.
Exemple :
-12,0, 0,0, +0,456, 3,14159_26
Valeur littérale réelle avec exposant
Nombre pouvant être exprimé à l'aide d'une notation scientifique standard. La
représentation est alors la suivante : mantisse + exposant.
Exemple :
-1,34E-12 ou -1,34e-12
1,0E+6 ou 1,0e+6
1,234E6 ou 1,234e6
114
33004220 02/2009
Glossaire
Variable
Entité mémoire du type BOOL, WORD, DWORD, etc., dont le contenu peut être modifié
par le programme en cours d'exécution.
Variable non affectée
Variable dont la position dans la mémoire de l'automate ne peut pas être connue.
Une variable à laquelle aucune adresse n'a été associée est dite non affectée.
Variables affectées
Variable dont la position dans la mémoire de l'automate peut être connue. Par
exemple, la variable Pression_eau est associée au repère %MW102.
Pression_eau est dite affectée.
W
WORD
Le type WORD est codé dans un format de 16 bits et est utilisé pour effectuer des
traitements sur des chaînes de bits.
Le tableau ci-dessous donne les limites inférieure/supérieure des bases qui peuvent
être utilisées :
Base
Limite inférieure
Limite supérieure
Hexadécimale
16#0
16#FFFF
Octale
8#0
8#177777
Binaire
2#0
2#1111111111111111
Exemples de représentation
33004220 02/2009
Données
Représentation dans l'une des bases
0000000011010011
16#D3
1010101010101010
8#125252
0000000011010011
2#11010011
115
Glossaire
116
33004220 02/2009
Index
33004220 02/2009
B
AC
Index
D
I
DEFUZ, 49
DEFUZ_STI, 55
DEFUZ_STR, 55
instructions
disponibilité, 25
instructions : fuzzy
DEFUZ, 49
DEFUZ_STI, 55
DEFUZ_STR, 55
FUZ_ATERM, 61
FUZ_ATERM_STI, 67
FUZ_ATERM_STR, 67
FUZ_MAX, 73
FUZ_MIN, 75
FUZ_PROD, 79
FUZ_STERM, 83
FUZ_SUM, 91
informations générales, 27
instructions, disponibilité, 25
F
FUZ_ATERM, 61
FUZ_ATERM_STI, 67
FUZ_ATERM_STR, 67
FUZ_MAX, 73
FUZ_MIN, 75
FUZ_PROD, 79
FUZ_STERM, 83
FUZ_SUM, 91
33004220 02/2009
117
Index
118
33004220 02/2009

Manuels associés