Schneider Electric Logique Floue PL7 FUZ Mode d'emploi

Ajouter à Mes manuels
38 Des pages
Schneider Electric Logique Floue PL7 FUZ Mode d'emploi | Fixfr
Sommaire
Page
Manuel modes opératoires Logique floue
___________________________________________________________________________
1
FRANÇAIS
Chapitre
Sommaire
Page
FRANÇAIS
Chapitre
___________________________________________________________________________
2
Sommaire
Page
1 Introduction
1/1
1.1
Présentation du produit
1/1
1.2
Installation
1.2-1 La machine cible
1.2-2 Contenu du produit PL7 FUZ
1.2-3 La procédure d'installation
1/2
1/2
1/2
1/2
2 La fonction FUZ
2/1
2.1
Pré-requis
2/1
2.2
Paramètres de la fonction
2.2-1 Syntaxe d'appel de la fonction
2.2-2 Description et utilisation des paramètres
2/1
2/2
2/3
2.3
2.4
Modes de marche
Aide à la saisie de paramètres
3 L'outil logique floue
2/4
2/5
3/1
3.1
Activation de l'outil logique floue
3.1-1 Sélection d'une fonction
3.1-2 Tests à l'ouverture de l'outil
3/1
3/1
3/2
3.2
Configuration de la logique floue
3.2-1 Onglet "Paramétrage"
3.2-2 Onglet "Fonctions d'appartenance"
3.2-3 Onglet "Règles"
3/3
3/3
3/4
3/7
3.3
Onglet "Réglages"
3/9
3.3-1 Simulation
3/9
3.3-2 Mode connecté
3/10
___________________________________________________________________________
3
FRANÇAIS
Chapitre
Sommaire
FRANÇAIS
Chapitre
3.4
Validation - Annulation
Page
3/12
3.5
Archivage
3/12
3.6
Fonctionnement de l'outil dans l'environnement PL7
3/13
3.7
Impression
3/14
4 Performances
4/1
5 Annexes
5/1
5.1
5.2
Principe de fonctionnement de la fonction
5.1-1 Algorithme d'inférence floue
5.1-2 Utilisation des opérateurs de logique floue dans le
calcul des inférences
5/1
5/1
Exemple
5/4
5/2
___________________________________________________________________________
4
Chapitre
1
Introduction
1 Introduction
1.1
Présentation du produit
Le produit PL7 FUZ est une offre logicielle qui se décompose en trois éléments :
• Une aide à la saisie des paramètres de la fonction accessible à partir de l’écran
Bibliothèque de fonctions sous forme d'un écran spécifique intégré dans l'éditeur
de PL7 Micro et PL7 Junior.
• Un outil de conception et de mise au point de l'application logique floue s'intégrant
dans les ateliers de programmation PL7 Micro et PL7 Junior, accessible depuis le
menu Outils sous le nom Logique floue.
• Une fonction logique floue de nom "FUZ" appartenant à la famille "Logique floue"
qui s'intègre dans une application d'automate et qui permet d'exécuter les inférences
floues au cœur de l'automate.
___________________________________________________________________________
1/1
FRANÇAIS
La fonction "Logique floue" est destinée à permettre l’intégration de bases de règles
floues dans les automates programmables TSX 37 et TSX 57.
Simple à comprendre et facile à mettre en œuvre, elle doit permettre d’intégrer un
savoir-faire métier dans une application, par un utilisateur ayant acquis un minimum
de connaissances sur la logique floue.
De ce fait, les choix au niveau de la mise en œuvre de la logique floue ont été réduits
au maximum.
D'autre part, cette fonction peut être utilisée la plupart du temps en choisissant les
configurations par défaut et sans connaissance spécifique des divers opérateurs
utilisables en logique floue.
1.2
Installation
1.2-1 La machine cible
Le produit PL7 FUZ fonctionne sur :
• micro-ordinateur IBM PC ou compatible
La configuration minimale doit être la suivante :
• microprocesseur 486 DX 33
• 32 Mo de mémoire RAM
• 20 Mo de disponible sur disque
• moniteur VGA
FRANÇAIS
• un port série COM disponible (COM1 à COM4) pour connexion à l’automate
• système d’exploitation Win95, NT
• PL7 Micro, Junior ou Pro V3.0 minimum
La configuration de la machine type est la suivante :
• microprocesseur Pentium 133 Mhz
• 48 Mo de mémoire RAM
1.2-2 Contenu du produit PL7 FUZ
Le produit que vous venez de recevoir est constitué :
• d'une disquette d'installation,
• de la présente documentation.
1.2-3 La procédure d'installation
Le produit PL7 FUZ est à installer sur un poste de développement, contenant déjà PL7
Micro, Junior ou Pro dans leur version 3.0 minimum.
La disquette étant insérée dans le lecteur, les étapes à réaliser pour procéder à
l'installation sont les suivantes :
• Ouvrir l'explorateur Windows, sélectionner le lecteur (A) puis double cliquer sur
setup.exe ou dans Exécuter du Menu Démarrer, taper a:\setup puis cliquer sur OK.
___________________________________________________________________________
1/2
Introduction
• Enregistrer votre nom et votre organisation
• Choisir la langue d'installation
FRANÇAIS
• Pour utiliser le produit, il suffit de lancer PL7 et d'accéder ensuite aux différents
composants nécessaires à la logique floue.
___________________________________________________________________________
1/3
FRANÇAIS
___________________________________________________________________________
1/4
Chapitre
La fonction
FUZ 22
2 La fonction FUZ
Caractéristiques de la fonction :
• 5 entrées, 4 sorties,
• 25 règles maximum,
• 3 prédicats et 2 conclusions par règle au maximum,
• 20 fonctions d’appartenance maximum pour les entrées et 16 maximum pour les
sorties,
• sorties de type "singletons".
Opérateurs :
Pour chaque étape du raisonnement flou, la fonction utilise les opérateurs suivants :
• opérateur de composition : MAX/MIN,
• opérateur "ET" entre prédicats d’une règle : MIN,
• opérateur d’agrégation : MAX,
• opérateur de défuzzification : centre de gravité des singletons.
Pour toute précision sur le fonctionnement de la logique floue intégrée dans cette
fonction, se reporter au chapitre 5 "Annexes".
2.1
Pré-requis
La fonction FUZ opère sur des données de l'application, qui lui sont passées sous
forme de paramètres. Elle n'est pas instanciée.
La fonction n’est exécutable que par appel dans le traitement d’une tâche. Elle n’a par
définition aucun point d’entrée synchronisé sur tel ou tel mode de marche de
l’automate.
Les paramètres doivent tous être obligatoirement saisis, la notion de paramètre
facultatif n’existe pas.
2.2
Paramètres de la fonction
La saisie d’une fonction de logique floue s’effectue à partir des éditeurs LD, IL et ST
dans une phrase langage.
Attention, une fonction de logique floue ne peut pas être appelée dans un Data
Function Block (DFB).
Attention, une fonction de logique floue ne doit pas être conditionnée.
___________________________________________________________________________
2/1
FRANÇAIS
• opérateur d’implication : MIN,
En effet, dans le cas où une fonction serait conditionnée, elle ne pourrait pas détecter
une reprise à froid et serait donc incapable d’effectuer ses initialisations (et en
particulier la vérification de la validité de la base de connaissance).
En utilisant Ò Û , on appelle la bibliothèque de fonctions qui propose une aide à la
saisie des paramètres de la fonction. Il suffit alors de sélectionner :
• la famille de fonction : "Logique floue",
• le nom de la fonction : FUZ,
FRANÇAIS
puis de mettre à jour la zone de saisie avec les paramètres requis.
2.2-1 Syntaxe d'appel de la fonction
(Une aide à la saisie des paramètres est proposée au § 2.4).
FUZ (
mot,
mot,
mot,
mot,
mot,
mot cst[217],
IN
Entrée 1
IN
Entrée 2
IN
Entrée 3
IN
Entrée 4
IN
Entrée 5
IN
Base de connaissance :
217 éléments
mot,
mot,
mot,
mot,
bit,
mot [240],
OUT
Sortie 1
OUT
Sortie 2
OUT
Sortie 3
OUT
Sortie 4
OUT
bit d'erreur
IN/OUT
Espace de
travail :
240 éléments
mot)
IN/OUT
Mot de Status/Commande
Exemple d’appel :
FUZ ( %MW0, %MW1, %MW2, %MW3, %MW4, %KW1000:217,
%MW200, %MW201, %MW202, %MW203, %M100, %MW1000:240,
%MW50)
Rappel : Les paramètres passés à une fonction doivent tous être obligatoirement
saisis. La notion de paramètre facultatif n’existe pas.
___________________________________________________________________________
2/2
La fonction FUZ
2
Paramètre
Type
Description
Ent1
WORD
Entrée 1
Ent2
WORD
Entrée 2
Ent3
WORD
Entrée 3
Ent4
WORD
Entrée 4
Ent5
WORD
Entrée 5
Ctes
AR_W
Base de connaissance : 217 éléments
Sor1
WORD
Sortie 1
Sor2
WORD
Sortie 2
Sor3
WORD
Sortie 3
Sor4
WORD
Sortie 4
Berr
EBOOL
Bit d’erreur
Trav
AR_W
Espace de travail : 240 éléments
StCm
WORD
Mot de status/commande
Mot de Status/Commande :
Bit n°
Symbole
Valeur initiale Accessibilité Signification
0
INIT
0
E
1
MAN_AUTO
1
L/E
2
START
0
E
1 déclenche une inférence à chaque
cycle si on est en mode sur demande
3
CONT_ASK
Param.
L/E
Sélection mode continu/sur demande
0 : mode continu
1 : mode sur demande
4
IN_FORC
0
L
Positionné à 1, signale que les entrées
sont forcées
5
DEBUG
0
L
Positionné à 1, signale que la fonction
est en mode Mise au point, ie l’outil
commande directement la fonction et le
code PL7 ne peut envoyer que la
commande INIT (commande prioritaire
sur le mode mise au point).
6 à 15
1 déclenche l’initialisation, remis à zéro
automatiquement après initialisation
Sélection mode manuel/automatique
0 : mode manuel
1 : mode automatique
Réservé
L : Accessibilité en lecture,
E : Accessibilité en écriture (pris en compte par fonction) par programme
___________________________________________________________________________
2/3
FRANÇAIS
2.2-2 Description et utilisation des paramètres
Une écriture dans les bits réservés du mot de Status/Commande peut entraîner
un dysfonctionnement de la fonction.
Lors de l’initialisation de la fonction, le mot de status/commande est initialisé avec les
valeurs stockées dans la base de connaissance.
• La base de connaissance :
FRANÇAIS
La fonction FUZ doit manipuler une base de connaissance qui lui est propre. Or les
fonctions ne possèdent pas de données rémanentes (conservées quel que soit l’état
de l’automate). Pour sauvegarder la base de connaissance, on utilise des variables de
type "constante" dont les valeurs sont sauvegardées simultanément dans l’application
et dans l’automate (même à l’arrêt).
Il s’agit ici du tableau Ctes.
Cette zone de constantes, qui représente la base de connaissance, doit être
protégée de toute modification intempestive.
• L'espace de travail :
La fonction FUZ doit, pour des besoins de calcul interne, opérer sur un espace de travail
qui est représenté par le tableau Trav.
Cette zone, comme la base de connaissance, doit elle aussi être protégée des
modifications.
2.3
Modes de marche
Ce paragraphe décrit le fonctionnement de la fonction dans les différents cas de
démarrage de l’automate :
• démarrage à froid :
une initialisation de la fonction FUZ s'effectue. La base de connaissance est copiée
dans l'espace de travail. Les commandes de réglage (forçage des entrées, ...) sont
initialisées.
• démarrage à chaud :
la fonction de logique floue repart dans l’état courant.
• première exécution après ajout d’une fonction par Modification en connecté
: insertion en RUN ou STOP d’un appel supplémentaire à une fonction déjà présente
dans l’application : dans ce cas une initialisation identique au cas de la reprise à froid
est effectuée.
___________________________________________________________________________
2/4
La fonction FUZ
2.4
2
Aide à la saisie de paramètres
Afin d'aider à la saisie des paramètres, une boite de dialogue est accessible à partir
de la bibliothèque (bouton Détail).
Lorsque l’utilisateur a saisi des paramètres erronés avant d’appeler détail, une boite
de dialogue signale les erreurs et les corrections apportées. Si aucun paramètre n’a
été saisi, cette boite n’apparaît pas.
FRANÇAIS
Boite de dialogue "Erreur"
Boite de dialogue d'aide à la saisie "Détail"
Si une partie (ou la totalité) des mots ou constantes sont hors configuration, un
message prévient l’utilisateur à la fin de la saisie. De plus la taille des tableaux est fixée
(non modifiable).
___________________________________________________________________________
2/5
Paramètres à saisir :
1) les deux tableaux de paramètres internes (constantes et mots),
2) les 5 variables d’entrées de type mot,
3) le bit Erreur,
4) les 4 variables de sorties de type mot,
5) le mot de status/commande.
FRANÇAIS
Il est possible de saisir les différentes variables selon leur représentation de type
"repère" ou "symbole" et aussi de modifier leur type de représentation (dans le mode
"Symbole", si aucun symbole n’est associé à un repère donné, c’est ce dernier qui est
affiché).
Il est obligatoire de saisir les 13 paramètres de la fonction.
La validation globale est effectuée à la fin de la saisie (appui sur "OK").
___________________________________________________________________________
2/6
Chapitre
L'outil logique
floue 33
3 L'outil logique floue
L’outil Logique floue est utilisé pour configurer les fonctions de logique floue de
l’application. Il permet de créer, de mettre en forme la base de connaissance associée
à cette fonction et de simuler son comportement. Enfin il permet le réglage de la
fonction en connecté.
3.1
Activation de l'outil logique floue
3.1-1 Sélection d'une fonction
Dans un premier temps l’outil recherche l’ensemble des fonctions de logique floue
présentes dans l’application. Trois cas peuvent se présenter :
• aucune fonction n’est trouvée, un message prévient l’utilisateur et l’outil ne s’ouvre
pas,
• une seule fonction se trouve dans l’application (le plus souvent), l’outil s’ouvre
directement sur cette fonction,
• il existe plusieurs fonctions de logique floue dans l’application, alors la boite de
dialogue suivante s’affiche :
Il est possible de visualiser la fonction sélectionnée en cliquant sur "Visualiser".
L’éditeur contenant la phrase (ou le rung) dans laquelle est implémentée la fonction
s’ouvre ou prend le focus (si il est déjà ouvert) et affiche la phrase (ou le rung) concerné.
Pour configurer la fonction, sélectionner la fonction puis la charger en cliquant sur le
bouton "Configurer" ou en double cliquant sur la ligne sélectionnée de la liste.
___________________________________________________________________________
3/1
FRANÇAIS
Pour ouvrir l'outil, il faut sélectionner la commande "Logique floue" du menu "Outils"
(l'outil ne peut être instancié qu'une fois) :
FRANÇAIS
Si une fonction de logique floue est référencée plusieurs fois dans une même phrase
(ou rung), son numéro dans la phrase est indiqué en fin de ligne dans la liste. Pour
connaître la liste de ses paramètres, il suffit de sélectionner la fonction puis de cliquer
sur "Paramètres". Un message contenant la liste des paramètres de la fonction
sélectionnée s’affiche :
3.1-2 Tests à l'ouverture de l'outil
Une vérification de la validité des paramètres et de la base de connaissance, si celleci existe, est effectuée lors de cette phase. Si cette base de connaissance est invalide,
un message propose à l'utilisateur d'ouvrir l'outil sur une base vide.
Si un des paramètres n'est pas valide, l'outil ne s'ouvre pas.
___________________________________________________________________________
3/2
L'outil logique floue
3.2
3
Configuration de la logique floue
Lors de son ouverture PL7 FUZ s’affiche selon une taille prédéfinie (taille des vues) ou
plein écran si le ou les autres outils ouverts utilisent ce mode. Il respecte le
fonctionnement classique de PL7.
3.2-1 Onglet "Paramétrage"
FRANÇAIS
Cet onglet se présente principalement comme une page d’information décrivant les
paramètres de la fonction, tels qu'ils ont été saisis précédemment.
Choix du Mode - Calcul des inférences
Mode Sur demande :
La fonction sera exécutée sur demande de l’utilisateur (dans ce cas, une seule
inférence est lancée). C’est le mode par défaut.
Mode Continu :
Exécution de la fonction en continu.
Si ce mode est choisi alors il faut saisir la période d’activation qui représente la période
d’exécution de la fonction en dixièmes de seconde (cette valeur sera arrondie à un
multiple de la période de la tâche dans laquelle la fonction est programmée).
L’utilisation de cette période est intéressante pour les procédés sur lesquels il n’est pas
nécessaire d’exécuter la fonction à chaque cycle.
Une période égale à 0 exécute la fonction à chaque cycle automate.
Valeur par défaut : 10 (une seconde).
___________________________________________________________________________
3/3
3.2-2 Onglet "Fonctions d'appartenance"
FRANÇAIS
Cet onglet est utilisé pour définir les fonctions d'appartenance des entrées et des
sorties et leurs termes linguistiques associés. Le nombre de fonctions d’appartenance
est de 20 au maximum pour les variables d’entrées, de 16 au maximum pour les
variables de sorties.
La liste des variables linguistiques d’entrées et de sorties est affichée avec l’indication
du type (I pour entrée, O pour sortie). Pour saisir la liste des fonctions d’appartenance
associées à une variable, il suffit de sélectionner cette dernière dans la liste.
Saisie des termes linguistiques
Pour saisir un terme linguistique, l’utilisateur peut soit sélectionner un terme prédéfini
affiché dans la liste, soit saisir un nouveau terme (16 caractères maximum) puis il suffit
d'insérer (bouton "Ins.").
Le bouton "Sup." permet de supprimer le terme sélectionné de la liste.
Le bouton "Ren." permet de renommer un terme linguistique.
Il est possible d’accéder plus rapidement à un terme prédéfini en saisissant ses
premiers caractères, l’affichage de la liste étant alors trié selon ces caractères.
___________________________________________________________________________
3/4
L'outil logique floue
3
Liste des termes linguistiques
La liste des termes linguistiques se compose de termes prédéfinis (constructeur) et de
termes utilisateurs.
L'ensemble des termes (constructeurs et utilisateurs) est stocké dans l'application.
La quantité maximale de termes contenus dans la liste est de 255 (constructeurs et
utilisateurs).
Bas
Basse
Bon
Bonne
Clair
Claire
Correct
Correcte
Elevé
Elevée
Faible
Foncé
Foncée
Fort
Forte
Grand
Grande
G : Grand(e)
Haut
Haute
Idéal
Idéale
Inférieur
Inférieure
Lent
Lente
Mauvais
Mauvaise
Moyen
Moyenne
M : Moyen(ne)
Mini
Minimal
Minimale
Maxi
Maximal
Maximale
Médian
Médiane
Négatif
Négative
N : Négatif(ve)
Négatif petit
Négative petite
Np : Négatif(ve) petit(e)
Nm : Négatif(ve) moyen(ne)
Négatif grand
Négative grande
Ng : Négatif(ve) grand(e)
Non
Normal
Normale
Nul
Nulle
Oui
Petit
Petite
Positif
Positive
P : Positif(ve)
Positif petit
Positive petite
Pp : Positif(ve) petit(e)
Pm : Positif(ve) moyen(ne)
Positif grand
Positive grande
Pg : Positif(ve) grand(e)
Rapide
Supérieur
Supérieure
Très clair
Très claire
Très bas
Très basse
Très bon
Très bonne
Très foncé
Très foncée
Très élevé
Très élevée
Très faible
Très fort
Très forte
Très grand
Très grande
Très haut
Très haute
Très lent
Très lente
Très mauvais
Très mauvaise
Très négatif
Très négative
Très petit
Très petite
Très positif
Très positive
Très rapide
Zéro
Z : Zéro
___________________________________________________________________________
3/5
FRANÇAIS
Liste des termes linguistiques prédéfinis :
Création des fonctions d’appartenance
Après avoir saisi un terme linguistique, il est nécessaire de lui associer une fonction
d'appartenance. Pour cela, il suffit de choisir le type de la fonction en cliquant sur l'un
des boutons suivants :
• fonctions d'appartenance d'entrée
Demi-trapèze gauche
FRANÇAIS
xA
xB
Triangle symétrique ou asymétrique
xA
xB
xC
Trapèze symétrique ou asymétrique
xA
xB
xC
xD
Demi-trapèze droit
xA
xB
• fonctions d'appartenance de sortie
Singleton sélectionné automatiquement
xA
___________________________________________________________________________
3/6
L'outil logique floue
3
Le caractère > apparaît devant un terme linguistique lorsqu'une fonction d'appartenance lui est associée (automatiquement pour une sortie).
Il suffit ensuite de saisir les valeurs des points d'inflexion xA, xB, xC et/ou xD.
L’échelle de l’affichage est gérée automatiquement suivant les fonctions d’appartenance définies.
On visualise l’ensemble des fonctions d’appartenance associées à une variable
linguistique (trait fin pour chaque fonction, en gras pour celle correspondant au terme
linguistique sélectionné).
3.2-3 Onglet "Règles"
Les règles floues utilisées sont basées sur le type de règles de "Mamdani". Il n'y a
qu’une base de règles (les règles sont toutes activées en même temps). Chaque règle
a au maximum 3 prédicats et 2 conclusions. La base de connaissance est constituée
de 25 règles au maximum.
___________________________________________________________________________
3/7
FRANÇAIS
Valeur par défaut : Elle doit être saisie pour une sortie : il s’agit de la valeur par défaut
affectée à cette sortie si aucune règle active ne la calcule (ce champ n’existe pas pour
une entrée).
Saisie
La zone de saisie des règles se compose de listes déroulantes des variables et termes
linguistiques. Pour écrire une règle, il suffit de saisir les prédicats et les conclusions en
utilisant ces listes déroulantes.
Une liste de termes linguistiques présente uniquement les termes définis pour
la variable sélectionnée dans la liste des variables.
On peut faire intervenir une négation sur les prédicats. Il suffit de sélectionner dans la
liste déroulante, le terme linguistique précédé de "!". Il n’y a pas de négation pour les
conclusions.
FRANÇAIS
Un fois la règle décrite, il suffit de l'ajouter (bouton "Ajouter") dans la liste des règles.
Celle-ci sera insérée à la fin de la liste. Si le nombre maximal de règles est dépassé,
un message prévient l’utilisateur.
A chaque règle est associé un numéro. Les règles sont affichées dans l’ordre de leurs
numéros. Les boutons de navigation
permettent le changement de l’ordre des règles.
Une règle doit posséder au moins un prédicat et une conclusion. Si ce n’est pas le cas,
un message prévient l’utilisateur.
Un clic sur le bouton "Initilialiser" efface tous les champs du groupe "Saisie d’une règle"
permettant la saisie à partir d’une règle vierge.
Modification - Suppression
Pour modifier une règle, il suffit de la sélectionner dans la liste. Elle est alors affichée
dans la zone "Saisie d’une règle". Une fois les modifications effectuées, appuyer sur
"Modifier".
Pour supprimer une règle, il faut la sélectionner dans la liste et la supprimer (bouton
"Supprimer").
___________________________________________________________________________
3/8
L'outil logique floue
3.3
3
Onglet "Réglages"
Cet onglet est utilisé de deux façons :
• en mode local pour faire de la simulation,
• en mode connecté pour effectuer la mise au point.
FRANÇAIS
3.3-1 Simulation
En mode local, cet onglet est utilisé pour faire la simulation du fonctionnement de la
fonction. Cette simulation présente principalement les trois intérêts suivants :
• pour tous les points de fonctionnement, vérification de l’activation des règles,
• test du degré d’activation des règles pour amélioration/adaptation de la base de
connaissance,
• présence d’un automate non requise (validation de la base de connaissance en
bureau d’étude par exemple).
Pour activer la simulation il suffit de saisir les valeurs en entrées (zones de saisie des
entrées forcées) puis de lancer l’inférence avec <Start>. Les sorties simulées
s’affichent. Le degré de vérité des règles contenues dans la base de connaissance est
visible dans le tableau.
Toute règle activée a son degré de vérité affiché en rouge.
La liste déroulante des règles située au-dessous du tableau reprend les mêmes
informations complétées par la description des règles.
___________________________________________________________________________
3/9
L’ensemble des autres zones de saisie et contrôles non utilisées en mode local sont
grisées.
Dans ce mode, le mot "Commandes simulation" apparaît au niveau du bloc de
commandes.
3.3-2 Mode connecté
FRANÇAIS
Ce mode permet de faire de la mise au point :
Forçage des entrées
Le forçage des entrées permet d'effectuer une simulation du fonctionnement de la
fonction et ainsi de tester, puis valider la base de connaissance associée en connecté.
Cases 1,2,3,4,5 : Sélection des entrées forcées.
Forçage des entrées : Force les entrées sélectionnées dans les cases 1, 2, 3, 4, 5.
Dans ce cas, les vraies entrées ne sont pas prises en compte et seules les valeurs
saisies dans les entrées forcées sont utilisées.
Bit Erreur : Le bit erreur passe à 1 lorsque :
- la base de connaissance est inexploitable (mots de travail altérés),
- la taille des tableaux est incorrecte.
Dans les autres cas le bit erreur est à 0.
Quand le bit erreur est à 1, les paramètres de sortie ne sont plus raffraichis, ils restent
dans l'état. Le programme applicatif doit donc tester ce bit pour imposer
éventuellement une position de repli.
___________________________________________________________________________
3/10
L'outil logique floue
3
Forçage des commandes : La sélection de cette case autorise les commandes
directes, depuis cet écran (Inhibition du mot de status/commande).
FRANÇAIS
Dans ce mode, seule l’initialisation (bouton "Init") peut encore être commandée par le
mot de status/commande (ie le programme peut réinitialiser la fonction même si
l’utilisateur est en phase de mise au point). Le mot de status/commande informe le
programme des actions de l’utilisateur.
Pour que les commandes soient prises en compte, il est nécessaire que l’automate soit
en RUN.
Le fait de se déconnecter ou de quitter l’écran de mise au point (changement d’onglet
ou fermeture de l’outil) libère le forçage des commandes tout en conservant le mode
de fonctionnement courant.
Automatique : Les sorties calculées sont affectées aux sorties réelles de la fonction.
Manuel : Reprise en manuel. Les sorties manuelles sont affectées aux sorties réelles
de la fonction.
Fonctionnement sur demande - Fonctionnement continu - Période d’activation
(cf. § 3.2-1)
Start : Lancement d'une inférence. Le bouton est actif lorsque la fonction est en
fonctionnement sur demande.
Init : Réinitialisation de la fonction. La base de connaissance est recopiée dans
l'espace de travail. Les commandes de réglages (Forçage des entrées, ....) sont
réinitialisées.
Règles : Cette zone permet de visualiser le degré de vérité pour les entrées
instantanées de chacune des règles contenues dans la base de connaissance de la
fonction. Il est exprimé en %.
___________________________________________________________________________
3/11
3.4
Validation - Annulation
FRANÇAIS
Il est possible de Valider ou d’Annuler les modifications à n’importe quel moment de
l’utilisation de la fonction.
En effet l’ensemble de la base de connaissance est stocké en mémoire en permanence.
Une configuration avec fonction FUZ modifiée se visualise par une * dans la barre de
titre.
La validation entraîne l'archivage de la base de connaissance liée à la fonction, puis
la mise à jour du tableau de constantes et le transfert dans l'espace de travail (%MW)
avec initialisation de la fonction si l'automate est en mode connecté.
L'annulation restitue la dernière base de connaissance validée.
La gestion du mode Annulation - Validation est donc globale (il n’est pas possible
d’annuler ou de valider plusieurs modifications consécutives) et l’annulation reste
possible tant que l’outil n’a pas été fermé.
3.5
Archivage
A chaque validation, un archivage de la base de connaissance est réalisé automatiquement dans l'application, pour la fonction FUZ repérée par son adresse dans le
programme.
La restitution de la base de connaissance se fait par le menu "Services|Restituer".
La restitution peut être demandée pour recharger la base de connaissance de la
fonction précédemment archivée.
La restitution est possible même après la fermeture de l'outil ou la fermeture de
l'application.
Cette commande permet en outre :
• de récupérer la base de connaissance, suite à une modification des constantes
(erreur de manipulation dans l'éditeur de variables).
• le déplacement de la base de connaissance (après avoir déplacé la base de
connaissance depuis un éditeur langage, il suffit d'appliquer la commande restituer),
Exemple : Changement du paramètre "Base de connaissance" depuis un éditeur
langage :
• Ancienne base de connaissance : %KW0 : 217
• Nouvelle base de connaissance : %KW112 : 217
Depuis l'outil effectuer la commande "Restituer" du menu "Services".
• copie de la base de connaissance sur une autre fonction : avec l'éditeur langage, saisir
pour le tableau de constantes de la fonction cible, la même adresse que celle de la
fonction source et valider. Demander ensuite le déplacement du tableau de constantes comme indiqué ci-dessus.
___________________________________________________________________________
3/12
L'outil logique floue
3.6
3
Fonctionnement de l'outil dans l'environnement PL7
Evènement externe
Comportement
Fermeture PL7
Fermeture Application
Affichage d'un message demandant à l'utilisateur de
valider/annuler les modifications effectuées dans
l'outil (si aucune modification, pas de message).
Prise de focus de l’outil
Le tableau de la base de connaissance de l'application a pu être modifié extérieurement à l'outil. Deux
cas peuvent alors se présenter :
- la base de connaissance de l'application est invalide : un message propose de la remplacer par la
base courante de l'outil. Si la réponse est négative,
l'outil est automatiquement fermé.
- la base de connaissance de l'application est valide
mais différente de celle de l'outil : un message
propose de continuer le travail sur la base de l'application.
Si des paramètres de la phrase d'appel de la fonction
ont été modifiés, l'utilisateur en est averti par un
message.
Modification automatique de l’affichage du symbole
Modification du symbole d'une
variable linguistique dans l’éditeur
de variables
Local -> Connecté
Si l’onglet "Réglages" est actif : passage en mode
connecté.
Dégrisage des contrôles.
Connecté -> Local
Si l’onglet "Réglages" est actif : passage en mode
simulation.
Grisage des contrôles devenant inactifs.
Transfert d’une application Automate
vers une console vierge
- Perte des symboles associés aux variables
linguistiques.
- remplacement des termes linguistiques utilisateur
par des termes linguistiques génériques (Undef_0, ...)
Import d'application
Remplacement des termes linguistiques utilisateur
par des termes linguistiques génériques (Undef_0, ...)
___________________________________________________________________________
3/13
FRANÇAIS
PL7 est un atelier composé d’outils. Il est donc possible, lors de la configuration de la
fonction, d’activer un autre outil ou de passer à un éditeur dans lequel est référencé
la fonction configurée, puis de supprimer cette fonction ou d’en modifier les paramètres
et valider.
D’autre part, le menu principal commun à tous les outils reste accessible et il est donc
possible de modifier le mode de marche de l’automate ou de passer de local en
connecté par exemple .
Le tableau ci-dessous recense l’ensemble des situations possibles et le comportement
de l’outil dans chacune d’entre elles.
3.7
Impression
Deux types d'impression sont possibles :
• une impression locale depuis l'outil accessible par la commande Imprimer du menu
Fichier,
• une impression des caractéristiques de la fonction, en utilisant l'outil "Documentation" de PL7 qui gère l'impression du dossier de l'application.
La description de l'application utilise, pour ce dossier, la proposition de normalisation
IEC 1131-7 sous forme de code FCL (Fuzzy Control Language).
Deux cas peuvent se présenter :
FRANÇAIS
• la fonction est paramétrée mais non configurée (avec l’outil logique floue). Dans ce
cas, l’impression de la fonction se résume à la description de sa liste de paramètres,
• la fonction a été paramétrée avec l’outil logique floue. L’ensemble des paramètres
de la fonction ainsi que sa base de connaissance sont imprimés.
L’impression se présente sous la forme :
Paramètres
Entrée n°1
Entrée n°2
Entrée n°3
Entrée n°4
Entrée n°5
Base de connaissance
Sortie n°1
Sortie n°2
Sortie n°3
Sortie n°4
Bit erreur
Espace de travail
Mot de status/commande
: %MW1501
: %MW1502
: %MW1503
: %MW1504
: %MW1505
: %KW1500:217
: %MW1511
: %MW1512
: %MW1513
: %MW1514
: %M1500
: %MW1600:240
: %MW1520
Base de connaissance
VAR_INPUT
%MW1501 : INT;
%MW1502 : INT;
%MW1503 : INT;
%MW1504 : INT;
%MW1505 : INT;
END_VAR
VAR_OUTPUT
%MW1511 : INT;
%MW1512 : INT;
%MW1513 : INT;
%MW1514 : INT;
END_VAR
___________________________________________________________________________
3/14
3
FUZZIFY %MW1501;
TERM Elevé := (0,1) (1000,0);
END_FUZZIFY
FUZZIFY %MW1503;
TERM Elevé := (0,1) (1000,0);
END_FUZZIFY
FUZZIFY %MW1501;
TERM Elevé := (0,1) (100,0);
END_FUZZIFY
FUZZIFY %MW1505;
TERM Lente := (-10,1) (0,0);
TERM Mauvais := (-10,1) (0,1) (0,0);
TERM Négatif Grand := (0,0) (0,1) (10,0);
TERM N := (0,0) (10,1);
END_FUZZIFY
DEFUZZIFY %MW1511;
METHOD : COGS;
TERM Médiane := 0;
TERM Correcte := 600;
DEFAULT := 0;
END_DEFUZZIFY
DEFUZZIFY %MW1512;
METHOD : COGS;
TERM Lente := -50;
TERM Mauvais := -10;
TERM Supérieur := 0;
TERM Négatif Grand := 10;
DEFAULT := 0;
END_DEFUZZIFY
RULEBLOCK No 1
AND : MIN;
ACCU : MAX;
RULE 1 : IF %MW1501 IS Elevé THEN %MW1511 IS Médiane
RULE 2 : IF %MW1501 IS NOT Elevé AND %MW1505 IS NOT N THEN %MW1511
IS Correcte
RULE 3 : IF %MW1505 IS Lente THEN %MW1512 IS N
RULE 4 : IF %MW1505 IS Mauvais THEN %MW1512 IS Négatif Grand
RULE 5 : IF %MW1505 IS Négatif Grand THEN %MW1512 IS Mauvais
RULE 6 : IF %MW1505 IS N THEN %MW1512 IS Lente, %MW1511 IS Médiane
END_RULEBLOCK
___________________________________________________________________________
3/15
FRANÇAIS
L'outil logique floue
FRANÇAIS
___________________________________________________________________________
3/16
Chapitre 44
Performances
4 Performances
Occupation mémoire
Espace programme
1608 mots
Temps d’exécution (par cycle)
Les temps d’exécution sont très variables en fonction de la base de connaissance
utilisée. Les chiffres donnés dans les tableaux ci-dessous ont été mesurés dans les
conditions suivantes :
• 1 entrée, 2 sorties,
• 3 règles,
• 9 fonctions d’appartenance.
TSX PREMIUM
37.10
37.22
57.10
57.20
7 ms
5,5 ms
7 ms
4,8 ms
• 4 entrées, 3 sorties,
• 13 règles,
• 19 fonctions d’appartenance.
TSX MICRO
TSX PREMIUM
37.10
37.22
57.10
57.20
9,6 ms
7 ms
9,2 ms
6,6 ms
• 5 entrées, 4 sorties,
• 25 règles,
• 36 fonctions d’appartenance.
TSX MICRO
TSX PREMIUM
37.10
37.22
57.10
57.20
17,5 ms
13,5 ms
13,5 ms
9,6 ms
___________________________________________________________________________
4/1
FRANÇAIS
TSX MICRO
FRANÇAIS
___________________________________________________________________________
4/2
Chapitre
Annexes 55
5 Annexes
5.1
Principe de fonctionnement de la fonction
5.1-1 Algorithme d'inférence floue
La fonction FUZ assure le calcul des inférences floues en réalisant les étapes
suivantes:
• lecture des valeurs numériques des variables d’entrée,
• évaluation de chaque fonction d’appartenance (Fuzzification),
• évaluation de chaque règle,
• calcul des fonctions d’appartenance de sortie résultantes,
Règles floues
Les règles floues utilisées sont basées sur le type de règles "de Mamdani".
Il y a une seule base de règles, c’est-à-dire que les règles sont toutes activées en même
temps.
Les règles acceptent au maximum trois prédicats (conditions) et deux conclusions.
Fonctions d’appartenance
Les fonctions d’appartenance peuvent être définies relativement à des entrées et des
sorties de la fonction.
Elles sont toutes "normalisées", c’est-à-dire que les degrés d’appartenance minimal et
maximal atteints par la fontion d’appartenance sont 0 et 100(%). La normalisation n’est
pas faite entre 0 et 1 du fait que les calculs sont réalisés en nombres entiers.
On dispose des possibilités suivantes :
Pour les fonctions d’appartenance des entrées :
• triangulaire symétrique
• triangulaire asymétrique
• demi-trapèze droit
• demi-trapèze gauche
• trapèze symétrique
• trapèze asymétrique
Pour les fonctions d’appartenance des sorties :
• singleton (réduite à un point).
Les fonctions d’appartenance d’entrées sont représentées dans la fonction sous forme
des abscisses xA, xB, xC, xD de quatre points caractéristiques successifs. Les fonctions
d’appartenance des sorties sont représentées par la seule valeur du singleton
correspondant, xS.
___________________________________________________________________________
5/1
FRANÇAIS
• calcul des valeurs numériques des variables de sortie (Défuzzification).
B
100%
C
A
100%
D
xS
Entr ée
Sortie
FRANÇAIS
Méthode d’inférence
La fonction FUZ utilise des règles flous de Mamdani avec les opérateurs suivants :
(1) opérateur "ET" : MIN
(2) opérateur d’implication : MIN
(3 opérateur d’agrégation ou "OU": MAX
Défuzzification
La fonction FUZ utilise la méthode de défuzzification par calcul du centre de gravité des
singletons.
5.1-2 Utilisation des opérateurs de logique floue dans le calcul des inférences
Fuzzification
Correspondance directe entre valeur numérique d’entrée et degré d’appartenance :
M oy enne
D egr é
d’appar tenanc e
Valeur de l’entr ée
___________________________________________________________________________
5/2
Annexes
5
Règles
• Opérateur ET : MIN
La valeur retenue comme degré d’activation de la règle est le minimum des degrés
d’appartenance des prédicats.
Exemple : SI Entrée1 Moyenne ET Entrée2 Petite ALORS ...
M oyenne
Entrée1
Valeur de l’entr ée1
Entr ée2
Valeur
retenue
Valeur de l’entrée2
• Opérateur d’implication : MIN
La fonction d’appartenance de sortie est “écrêtée” à la valeur du degré d’activation de
la règle.
Exemple : ... ALORS Sortie Faible
100%
Faible
D egré d’activ ation
Sortie
• Opérateur d’agrégation : MAX
Si plusieurs règles utilisent une même conclusion, la fonction d’appartenance de sortie
est finalement “écrêtée” à la valeur du degré d’activation de règle le plus élevé.
D egré d’activation
règle 1
100%
règle 2
Sortie
___________________________________________________________________________
5/3
FRANÇAIS
Peti te
Défuzzification
La valeur numérique calculée de la sortie correspond au centre de gravité de
l’ensemble des singletons de la sortie.
100%
Faible
Moyenne
Gr ande
y
y
1
y
x1
3
2
x
x2
3
Sortie
FRANÇAIS
Valeur calculée
Valeur calculée =
5.2
Σ ( xi . y i )
Σy i
Exemple
Fonctions d’appartenance
%
%
Moyen
Petit
Moy en
%
Gr and
100
100
100
10
30
40
E n tr ée X
60
X
60
80
90
Y
Petit
100
E n t rée Y
Moy en
G rand
500
900
Z
S o r tie Z
Règles
Règle 1 :
Règle 2 :
Si (X est Petit) Alors (Z est Grand)
Si (X est Moyen) Et (Y est Grand) Alors (Z est Petit)
___________________________________________________________________________
5/4
Annexes
5
Calcul de l’inférence
Valeurs prises par les entrées : X=15, Y=85
%
%
Petit
100
G rand
100
75
R è g le 1
10
30
40
60
X
100
%
%
%
G rand
M oyen
100
100
R è g le 2
500
900
Z
500
900
Z
Petit
100
50
10
30
15
40
60
X
60
80
90
110
Y
100
85
%
D é f u z z if ic a t io n
Petit
G rand
75
25
100
900
Z
700
___________________________________________________________________________
5/5
FRANÇAIS
25
FRANÇAIS
___________________________________________________________________________
5/6

Manuels associés