FR2770915A1 - Programming programmable robot in fuzzy logic - Google Patents

Programming programmable robot in fuzzy logic Download PDF

Info

Publication number
FR2770915A1
FR2770915A1 FR9714342A FR9714342A FR2770915A1 FR 2770915 A1 FR2770915 A1 FR 2770915A1 FR 9714342 A FR9714342 A FR 9714342A FR 9714342 A FR9714342 A FR 9714342A FR 2770915 A1 FR2770915 A1 FR 2770915A1
Authority
FR
France
Prior art keywords
fuzzy
membership
degree
software
functional block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9714342A
Other languages
French (fr)
Other versions
FR2770915B1 (en
Inventor
Francois Chevrie
Francois Guely
Nicolas Schoesetters
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schneider Electric SE
Original Assignee
Schneider Electric SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Schneider Electric SE filed Critical Schneider Electric SE
Priority to FR9714342A priority Critical patent/FR2770915B1/en
Publication of FR2770915A1 publication Critical patent/FR2770915A1/en
Application granted granted Critical
Publication of FR2770915B1 publication Critical patent/FR2770915B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/0275Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using fuzzy logic only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13096Fuzzy control function
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13107Logic symbols, plan LOP, functional block symbols FBS, functional programming FUP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface

Abstract

The robot programming uses an initial stage for the evaluation of the degree of class membership (EVF, CF) and a second stage which employs a ladder structure to write the fuzzy logic equations in terms of fuzzy logic functions (ANDF, ORF, NOF). A final decision stage (MTF) uses the fuzzy values from the ladder and base rules to produce a numerical output for robot control. Each stage has a configuring screen.

Description

La présente invention se rapporte à un système de programmation d'un automate programmable en logique floue.The present invention relates to a programming system for a programmable logic controller in fuzzy logic.

Un automate programmable traite, des entrées qui sont des paramètres mesurables (température, pression, courant, etc.) et des sorties qui sont des actions sur le procédé (ouverture de vannes, chauffage, vitesse de moteur, etc.). La mémoire de l'automate programmable contient un programme utilisateur qui est souvent écrit, en fonction de l'application d'automatisme à résoudre, dans un langage graphique dit ladder (ou encore langage à contacts) et est apte à traiter les images des entrées et sorties également stockées en mémoire.A programmable controller processes inputs which are measurable parameters (temperature, pressure, current, etc.) and outputs which are actions on the process (opening of valves, heating, motor speed, etc.). The memory of the programmable logic controller contains a user program which is often written, depending on the automation application to be solved, in a graphic language called ladder (or even contact language) and is able to process the images of the inputs. and outputs also stored in memory.

On a introduit dans les automates programmables la logique floue, dont on rappelle ci-après quelques notions.Fuzzy logic has been introduced into programmable logic controllers, some concepts of which are recalled below.

La logique floue se base sur l'utilisation des ensembles flous qui autorisent l'utilisation par des algorithmes déterministes de données linguistiques approximatives, telles que grand, petit, moyen... Dans la théorie des ensembles flous, on définit le degré d'appartenance , valeur comprise entre 0 et 1, comme étant la quantification de l'appartenance d'un élément à un ensemble. Par exemple, en se référant à la figure la, étudions l'ensemble d'une population suivant le critère taille . En logique binaire, I'appartenance à l'ensemble de grande taille nécessiterait la définition d'un seuil de taille (par exemple 1,70 m) à partir duquel on considère que les individus sont de grande taille. En logique floue, I'appartenance à cet ensemble est graduelle et continue; les individus ayant une taille de 1,70 m appartiennent à l'ensemble grande taille avec un degré de 0.5, si l'on se réfère à cette figure la. Un élément appartenant à un ensemble flou s'appelle variable floue .Fuzzy logic is based on the use of fuzzy sets which allow the use by deterministic algorithms of approximate linguistic data, such as large, small, medium ... In the theory of fuzzy sets, we define the degree of belonging , value between 0 and 1, as being the quantification of the membership of an element in a set. For example, with reference to FIG. 1 a, let us study the whole of a population according to the size criterion. In binary logic, belonging to the large set would require the definition of a size threshold (for example 1.70 m) from which individuals are considered to be large. In fuzzy logic, membership in this set is gradual and continuous; individuals with a height of 1.70 m belong to the large size group with a degree of 0.5, if we refer to this figure la. An element belonging to a fuzzy set is called a fuzzy variable.

Les variables linguistiques sont les entrées et les sorties traitées par la logique floue, par exemple, taille, température, vanne, etc. Chaque variable linguistique est associée à des termes linguistiques la qualifiant, par exemple, élevée , basse , etc.The linguistic variables are the inputs and outputs processed by fuzzy logic, for example, size, temperature, valve, etc. Each linguistic variable is associated with linguistic terms qualifying it, for example, high, low, etc.

Une fonction d'appartenance représente le codage d'un terme linguistique sur l'espace d'utilisation de la variable linguistique à laquelle il est associé. Elle donne donc pour chaque valeur de la variable linguistique, le degré d'appartenance à l'ensemble défini par le terme linguistique. On peut voir sur la figure lb, un exemple de fonction d'appartenance. La figure lc donne à titre d'exemple, les fonctions d'appartenance (Basse, Moyenne et Elevée) d'une même variable linguistique (la Température). A membership function represents the coding of a linguistic term on the space of use of the linguistic variable with which it is associated. It therefore gives for each value of the linguistic variable, the degree of belonging to the set defined by the linguistic term. We can see in Figure lb, an example of membership function. Figure lc gives as an example, the membership functions (Low, Medium and High) of the same linguistic variable (Temperature).

Un contrôleur flou, illustré par la figure Id, repose sur un ensemble de règles linguistiques que l'on appelle base de connaissance et qui peut être écrit en s'appuyant sur l'expertise d'un opérateur. Par exemple, une règle peut s'exprimer de la manière suivante: SI Température Elevée ALORS Ventilation forte . A partir de ces règles, le contrôleur flou calcule les actions à appliquer au procédé; c'est l'étape de calcul des inférences floues dont le principe est illustré par les figures le, if, lg et 1h, pour les règles suivantes
Règle 1: SI Température Elevée ALORS Ventilation Forte
Règle 2: SI Humidité Faible ALORS Ventilation Douce
En se référant à la figure le et à la règle 1, le degré par rapport au terme Elevée étant de 0.9, on en déduit une troncature à cette valeur de l'ensemble flou correspondant à l'action préconisée par la règle, c'est à dire Ventilation Forte. En se référant à la figure If et à la règle 2, le degré par rapport au terme Faible étant de 0.6, on en déduit une troncature à cette valeur de l'ensemble flou correspondant à l'action préconisée par la règle, c'est à dire
Ventilation Douce. Les conditions de la règle (1 ou 2) n'étant que partiellement satisfaites,
I'action correspondante ne sera que partiellement effectuée. L'action à appliquer au procédé doit faire intervenir toutes les règles; nous devons donc superposer tous les ensembles flous retenus pour chaque règle et faire une défuzzification. Cette dernière étape s'effectue en calculant l'abscisse du centre de gravité de l'ensemble flou obtenu. Dans notre exemple de la figure 1 g, la ventilation à appliquer est de 60.
A fuzzy controller, illustrated in Figure Id, is based on a set of linguistic rules which is called knowledge base and which can be written using the expertise of an operator. For example, a rule can be expressed as follows: IF High temperature THEN Strong ventilation. From these rules, the fuzzy controller calculates the actions to be applied to the process; this is the step for calculating fuzzy inferences, the principle of which is illustrated by figures le, if, lg and 1h, for the following rules
Rule 1: IF High Temperature THEN Strong Ventilation
Rule 2: IF Low Humidity THEN Soft Ventilation
Referring to figure le and rule 1, the degree compared to the term High being 0.9, we deduce a truncation to this value of the fuzzy set corresponding to the action recommended by the rule, it is to say Strong Ventilation. Referring to Figure If and rule 2, the degree compared to the term Low being 0.6, we deduce a truncation at this value of the fuzzy set corresponding to the action recommended by the rule, it is to say
Soft ventilation. The conditions of the rule (1 or 2) being only partially satisfied,
The corresponding action will only be partially carried out. The action to be applied to the process must involve all the rules; we must therefore superimpose all the fuzzy sets retained for each rule and do a defuzzification. This last step is carried out by calculating the abscissa of the center of gravity of the fuzzy set obtained. In our example in Figure 1g, the breakdown to be applied is 60.

Une autre méthode de défuuification, illustrée à la figure 1h, consiste à utiliser pour les sorties des fonctions d'appartenance sous forme de singletons. Au moment du calcul des inférences, suivant le degré d'activation des différentes règles, les amplitudes des fonctions d'appartenance des sorties sont tronquées comme dans le cas général. La défuaification consiste alors pour chaque sortie à prendre le centre de gravité de l'ensemble des segments obtenus. Dans notre exemple de la figure 1 h, la ventilation à appliquer est maintenant de 80.Another defuuification method, illustrated in Figure 1h, consists in using membership functions in the form of singletons for the outputs. When calculating inferences, depending on the degree of activation of the different rules, the amplitudes of the membership functions of the outputs are truncated as in the general case. Defuaification then consists of taking the center of gravity of all the segments obtained for each output. In our example in Figure 1 h, the breakdown to be applied is now 80.

Le brevet US 5 285 376 décrit un langage à contacts (ou ladder en anglais) à logique floue pour automates programmables. Des fonctions d'appartenance qui définissent des notions pouvant être plus ou moins vraies sont associées aux entrées et aux sorties. Les entrées et sorties sont liées par des règles. Le traitement de ces fonctions d'appartenance et règles est réalisé par un contrôleur flou. Ce brevet divulgue un éditeur servant à représenter et à saisir sous forme de ladder les règles floues d'un contrôleur flou, incluant les étapes de fuuification des entrées de l'automate et de défuzzification des sorties. L'implantation de la logique floue dans l'automate se restreint à l'architecture du contrôleur flou, alors que le domaine d'utilisation de cette théorie est beaucoup plus vaste. En outre, cet éditeur de règles, ne correspond absolument pas au ladder classique ou schéma à contacts, langage d'automatisme tout-ou-rien décrivant les expressions combinatoires, à base de fonctions logiques comme ET, OU, NON dans une application sur automate programmable.Patent US 5,285,376 describes a ladder language (or ladder in English) with fuzzy logic for programmable logic controllers. Membership functions that define concepts that can be more or less true are associated with inputs and outputs. Entrances and exits are linked by rules. The processing of these membership functions and rules is carried out by a fuzzy controller. This patent discloses an editor used to represent and enter in the form of a ladder the fuzzy rules of a fuzzy controller, including the steps of fuuification of the inputs of the automaton and of defuzzification of the outputs. The implementation of fuzzy logic in the PLC is limited to the architecture of the fuzzy controller, while the field of use of this theory is much wider. In addition, this rule editor does not correspond at all to the classic ladder or ladder diagram, an all-or-nothing automation language describing combinatorial expressions, based on logical functions like AND, OR, NOT in an application on an automaton programmable.

La présente invention a pour but de fournir un langage de programmation à contact dit ladder flou permettant de représenter des équations logiques floues, c'est à dire des expressions combinatoires dans le domaine des ensembles flous, un classifieur flou, ainsi qu'un groupe de blocs fonctionnels de logique floue permettant d'aller bien au-delà du simple contrôleur flou. Ces blocs fonctionnels procurent une grande modularité et sont susceptibles d'être adaptés à une grande variété d'applications exécutées par des automates programmables. Ils permettent de créer des applications basées sur l'expertise humaine (telles que la régulation de la qualité d'un produit) dans des procédés exigeant des interventions humaines dans des secteurs aussi variés que l'agro-alimentaire, la cosmétique et la pharmacie.The aim of the present invention is to provide a fuzzy ladder contact programming language making it possible to represent fuzzy logical equations, that is to say combinatorial expressions in the field of fuzzy sets, a fuzzy classifier, as well as a group of fuzzy logic functional blocks to go far beyond the simple fuzzy controller. These function blocks provide great modularity and are capable of being adapted to a wide variety of applications executed by programmable logic controllers. They make it possible to create applications based on human expertise (such as regulating the quality of a product) in processes requiring human intervention in sectors as varied as the food industry, cosmetics and pharmacy.

Le système de programmation selon l'invention est caractérisé par le fait que ce programme d'application comporte des blocs fonctionnels logiciels réalisant des fonctions logique floues de type ET (ANDF), de type OU (ORF), et de type NON (NOF) servant à écrire des équations logiques floues sous forme de ladder flou, un bloc fonctionnel logiciel réalisant une fuaification, un bloc fonctionnel logiciel réalisant une classification floue et un bloc fonctionnel logiciel réalisant des inférences et la défuzzification, ces blocs fonctionnels étant associés à des écrans de mise en ceuvre permettant de les configurer.The programming system according to the invention is characterized in that this application program comprises software functional blocks carrying out fuzzy logic functions of AND type (ANDF), of OR type (ORF), and of NON type (NOF) used to write fuzzy logic equations in the form of fuzzy ladder, a software functional block carrying out a fuaification, a software functional block carrying out a fuzzy classification and a software functional block carrying out inferences and defuzzification, these functional blocks being associated with screens of implementation to configure them.

Un mode de réalisation préférentiel de l'invention va maintenant être décrit en référence aux dessins annexés sur lesquels
- la figure 1 illustre des diagrammes relatifs à des notions de logique floue;
- la figure 2 présente un bloc fonctionnel de classification
- la figure 3 présente un bloc fonctionnel de fuaification;
- la figure 4 présente un exemple de diagramme en ladder flou ainsi que les blocs
fonctionnels permettant de réaliser les combinaisons logiques floues décrites par le
ladder flou, c'est-à-dire des opérations logiques sur des degrés d'appartenance
- la figure 5 présente un bloc fonctionnel permettant de traiter des règles floues et de
faire une défuzification;
- la figure 6 est un exemple d'application utilisant les blocs fonctionnels schématisés
aux figures 2, 3, 4 et 5.
A preferred embodiment of the invention will now be described with reference to the accompanying drawings in which
- Figure 1 illustrates diagrams relating to concepts of fuzzy logic;
- Figure 2 shows a classification functional block
- Figure 3 shows a functional block of fuaification;
- Figure 4 shows an example of a blurred ladder diagram as well as the blocks
functional to achieve the fuzzy logical combinations described by the
fuzzy ladder, i.e. logical operations on degrees of belonging
- Figure 5 presents a functional block allowing to deal with fuzzy rules and
defuzification;
- Figure 6 is an example of application using the schematic functional blocks
in Figures 2, 3, 4 and 5.

La programmation en logique floue de l'automate programmable fait appel à des blocs fonctionnels logiciels, implantés dans l'automate, pouvant décrire une application d'automatisme et à un logiciel de mise en oeuvre sur console ou ordinateur servant à l'écriture des différentes parties de la base de connaissance dans ces blocs fonctionnels, à l'aide d'écrans de mise en ceuvre pour chaque bloc fonctionnel. Deux blocs fonctionnels référencés CF et EVF servent à la fuzzification des entrées, un groupe de blocs référencés
ANDF, ORF, NOF sert à construire le ladder flou et enfin un bloc référencé MTF sert à la défuaification des sorties.
The fuzzy logic programming of the programmable logic controller uses software function blocks, installed in the PLC, which can describe an automation application and an implementation software on console or computer used to write the different parts of the knowledge base in these functional blocks, using implementation screens for each functional block. Two functional blocks referenced CF and EVF are used for fuzzification of inputs, a group of blocks referenced
ANDF, ORF, NOF is used to build the fuzzy ladder and finally a block referenced MTF is used to defuse the outputs.

Un classifieur générique reçoit un point d'un espace à plusieurs dimensions et l'affecte à l'une des classes d'un groupe de classes pré-définies, selon certains critères. Les classes pré-définies, sont des regroupements de points de référence que l'on connaît a priori. Le bloc fonctionnel classifieur flou référencé CF et illustré à la figure 2a, est un classifieur qui reçoit en entrée des mesures représentant un point et qui affecte ce point à des classes de référence de façon graduelle. II calcule le degré d'appartenance d'un point à différentes classes d'un espace à plusieurs dimensions. Par exemple il peut recevoir sur ses entrées numériques des mesures A, B et C et donner, après calcul, sur ses sorties le degré d'appartenance de ce point à des classes 1, 2, 3, 4 et 5. Il travaille avec une base de points de référence, définissant les classes de référence 1, 2, 3, 4 et 5 entrés par l'utilisateur. Par exemple, les mesures A, B, C peuvent être des mesures de couleur et les sorties des degrés d'appartenance à des classes telles que Trop foncé , Foncé , Trop clair , Clair , etc.. Le bloc fonctionnel utilise un algorithme de classification floue dit des k plus proches voisins flous , illustré à la figure 2b. Sur cette figure, le point P à classer se situe dans une zone où il y a des points de référence de la classe 1 et des points de la classe 2.A generic classifier receives a point from a space with several dimensions and assigns it to one of the classes in a group of predefined classes, according to certain criteria. The pre-defined classes are groupings of reference points that we know a priori. The fuzzy classifier functional block referenced CF and illustrated in FIG. 2a, is a classifier which receives as input measurements representing a point and which assigns this point to reference classes gradually. It calculates the degree of belonging of a point to different classes of a space with several dimensions. For example it can receive on its digital inputs measures A, B and C and give, after calculation, on its outputs the degree of membership of this point in classes 1, 2, 3, 4 and 5. It works with a base of reference points, defining the reference classes 1, 2, 3, 4 and 5 entered by the user. For example, measures A, B, C can be measures of color and the outputs of the degrees of belonging to classes such as Too dark, Dark, Too light, Clear, etc. The functional block uses a classification algorithm fuzzy said k nearest neighbors fuzzy, illustrated in Figure 2b. In this figure, point P to be classified is located in an area where there are class 1 reference points and class 2 points.

Les trois plus proches voisins sont les points 1, 2 et 3 séparés du point à classer par les distances respectives dl, d2 et d3. Les degrés d'appartenance aux différentes classes se calculent de la façon suivante.
i i
Le degré d'appartenance à la classe 1 est 1 di d3
i i
dl + d2 + d3
1
Le degré d'appartenance à la classe 2 est 1 1 d2
i i
dl d2 d3 II est bien entendu que l'on peut, sans sortir du cadre de l'invention, imaginer d'autres algorithmes de classification effectuant la même chose que les k plus proches voisins flous .
The three closest neighbors are points 1, 2 and 3 separated from the point to be classified by the respective distances dl, d2 and d3. The degrees of belonging to the different classes are calculated as follows.
ii
The degree of belonging to class 1 is 1 di d3
ii
dl + d2 + d3
1
The degree of belonging to class 2 is 1 1 d2
ii
dl d2 d3 It is understood that it is possible, without departing from the scope of the invention, to imagine other classification algorithms doing the same thing as the k nearest fuzzy neighbors.

Le bloc fonctionnel d'évaluation référencé EVF et illustré à la figure 3, reçoit sur son entrée une valeur numérique (mesure) et fournit sur chacune de ses sorties, après calcul, le degré d'appartenance à un ensemble correspondant à un terme linguistique. A titre d'exemple , il donne le degré d'appartenance d'une mesure d'humidité à des termes linguistiques tels que faible , bonne , forte . Ce bloc assure la fonction de fuaification classiquement utilisée en logique floue. La figure 3 nous donne également un aperçu de l'écran de configuration de ce bloc, qui permet principalement de définir tous les points caractéristiques des fonctions d'appartenance. Dans l'exemple illustré à la figure 3, cet éditeur permet d'enregistrer les points A, B, C, D de la fonction d'appartenance Bonne .The evaluation functional block referenced EVF and illustrated in FIG. 3, receives on its input a numerical value (measurement) and provides on each of its outputs, after calculation, the degree of belonging to a set corresponding to a linguistic term. For example, it gives the degree of belonging of a humidity measurement to linguistic terms such as weak, good, strong. This block performs the fuification function conventionally used in fuzzy logic. Figure 3 also gives us an overview of the configuration screen of this block, which mainly allows to define all the characteristic points of the membership functions. In the example illustrated in Figure 3, this editor allows you to save the points A, B, C, D of the membership function Good.

Une extension du ladder à la logique floue permet d'introduire la notion de ladder flou permettant de décrire des combinaisons logiques floues. Une expertise peut souvent se décomposer sous la forme d'expressions linguistiques. Par exemple le confort bon, c'est la température basse et l'humidité forte ou la température élevée et l'humidité faible . La figure 4a donne un exemple de ladder flou qui décrit graphiquement la combinaison logique floue suivante: confort bon = (température basse et humidité forte) ou (température élevée et humidité faible). Les valeurs prises par les contacts et les bobines ne sont pas 0 ou 1 comme pour le ladder classique tout-ou-rien mais des degrés d'appartenance pouvant prendre toute valeur comprise entre 0 et 1. Le ladder est construit à partir de blocs fonctionnels logiques, qui sont indépendants les uns des autres et réalisent les opérations logiques floues élémentaires.An extension of the ladder to fuzzy logic makes it possible to introduce the notion of fuzzy ladder making it possible to describe fuzzy logical combinations. Expertise can often be broken down into linguistic expressions. For example, good comfort is low temperature and high humidity or high temperature and low humidity. Figure 4a gives an example of a fuzzy ladder which graphically describes the following fuzzy logic combination: good comfort = (low temperature and high humidity) or (high temperature and low humidity). The values taken by the contacts and the coils are not 0 or 1 as for the classic all-or-nothing ladder but degrees of membership which can take any value between 0 and 1. The ladder is constructed from functional blocks which are independent of each other and perform elementary fuzzy logical operations.

Le bloc fonctionnel logique de type ET, référencé ANDF et illustré à la figure 4b, reçoit sur ses entrées a, b, c et d, des degrés d'appartenance et fournit sur sa sortie, s, un degré d'appartenance représentant un ET logique flou entre les entrées, c'est-à-dire le minimum des degrés d'appartenance en entrées. Par exemple si on a sur les entrées les degrés d'appartenance a=0.1, b=0.2, c=0.5, d=0.4, on aura sur la sortie, s, un degré d'appartenance de 0.1.The AND type logical functional block, referenced ANDF and illustrated in FIG. 4b, receives on its inputs a, b, c and d, membership degrees and provides on its output, s, a membership degree representing an AND fuzzy logic between the inputs, that is to say the minimum of the degrees of membership in the inputs. For example if we have the membership degrees a = 0.1, b = 0.2, c = 0.5, d = 0.4 on the inputs, we will have a membership degree of 0.1 on the output, s.

Le bloc fonctionnel logique de type OU, référencé ORF et illustré à la figure 4c, reçoit sur ses entrées a, b, c et d, des degrés d'appartenance et fournit sur sa sortie, s, un degré d'appartenance représentant un OU flou entre les entrées, c'est-à-dire le maximum des degrés d'appartenance en entrées. Par exemple si on a sur les entrées les degrés d'appartenance a=0.1, b=0.2, c=0.5, d=0.4, on aura sur la sortie, s, un degré d'appartenance de 0.5.The OR type logical functional block, referenced ORF and illustrated in FIG. 4c, receives on its inputs a, b, c and d, membership degrees and provides on its output, s, a membership degree representing an OR blurring between entries, i.e. the maximum of membership degrees in entries. For example if we have on the inputs the membership degrees a = 0.1, b = 0.2, c = 0.5, d = 0.4, we will have on the output, s, a membership degree of 0.5.

Le bloc fonctionnel logique de type NON, référencé NOF et illustré à la figure 4d, reçoit sur son entrée, e, un degré d'appartenance et fournit sur sa sortie, s, un degré d'appartenance inverse de l'entrée, c'est-à-dire la différence entre 1 et le degré d'appartenance reçu en entrée. Par exemple si on a, en entrée un degré d'appartenance e=0. 1, on aura sur la sortie, s, un degré d'appartenance de 0.9.The logic functional block of type NON, referenced NOF and illustrated in FIG. 4d, receives on its input, e, a degree of belonging and provides on its output, s, a degree of inverse membership of the input, c ' that is, the difference between 1 and the degree of membership received as input. For example if we have, as input, a degree of membership e = 0. 1, we will have on the output, s, a membership degree of 0.9.

La figure 4e présente un exemple de mise en oeuvre des blocs fonctionnels ANDF, ORF et
NOF et la figure 4f donne sa correspondance sous forme de ladder flou. II a été utilisé dans les exemples précédents les opérateurs classiquement utilisés en logique floue, mais il est envisageable de choisir d'autres opérateurs que le minimum, le maximum, la différence entre 1 et le degré d'appartenance, pour les opérations floues ET, OU et NON sans sortir du cadre de l'invention.
FIG. 4e presents an example of implementation of the functional blocks ANDF, ORF and
NOF and Figure 4f gives its correspondence in the form of a fuzzy ladder. The operators conventionally used in fuzzy logic have been used in the previous examples, but it is possible to choose other operators than the minimum, the maximum, the difference between 1 and the degree of belonging, for fuzzy operations AND, OR and NO without departing from the scope of the invention.

Le bloc fonctionnel, référencé MTF et illustré à la figure 5, se charge du calcul des inférences et de la défuzzification. II reçoit sur ses entrées des degrés d'appartenance qui sont utilisés pour le mécanisme d'inférences floues à l'aide d'une base de règles floues. La deuxième étape réalisée par ce bloc est la défuzzification des variables floues selon des fonctions d'appartenance de type singleton pour fournir des sorties numériques, 1, 2, 3, 4, 5 et 6, directement utilisables par un actionneur. Un écran de mise en oeuvre de ce bloc permet de saisir les règles de la base et de saisir les paramètres des fonctions d'appartenance de défuzzification. The functional block, referenced MTF and illustrated in Figure 5, is responsible for the calculation of inferences and defuzzification. It receives on its inputs membership degrees which are used for the fuzzy inference mechanism using a base of fuzzy rules. The second step performed by this block is the defuzzification of fuzzy variables according to membership functions of the singleton type to provide digital outputs, 1, 2, 3, 4, 5 and 6, directly usable by an actuator. An implementation screen for this block allows you to enter the rules of the database and to enter the parameters of the defuzzification membership functions.

Exemple de base de règles
Si (Humidité faible) alors Augmentation Température Nulle
Si (Humidité forte) alors Augmentation Température Positive
Si (Humidité bonne) alors Augmentation Température Négative
Dans l'écriture du programme applicatif, tous les blocs décrits ci-dessus, constituent des éléments du programme que l'on gère comme des boîtes noires, c'est à dire dont le fonctionnement n'est pas écrit dans ce programme. Tous ces blocs s'interfacent dans le programme applicatif via les mots de l'automate. Par exemple, le mot référencé W1000 pointe sur l'entrée d'un bloc NOF et le mot référence W1001 pointe sur sa sortie. II est ainsi aisé de manipuler ces blocs et de les interconnecter.
Example of rule base
If (Low humidity) then Increase Temperature None
If (High humidity) then Increase Positive Temperature
If (Good humidity) then Increase Negative Temperature
In the writing of the application program, all the blocks described above constitute elements of the program which are managed as black boxes, that is to say the operation of which is not written in this program. All these blocks are interfaced in the application program via the words of the PLC. For example, the word referenced W1000 points to the input of an NOF block and the reference word W1001 points to its output. It is thus easy to manipulate these blocks and to interconnect them.

Tous les blocs logiciels que nous avons décrits peuvent être utilisés dans une application de régulation de la qualité d'un produit pour laquelle des interventions humaines sont nécessaires. Trois fonctions peuvent être réalisées à partir de ces blocs.All the software blocks that we have described can be used in a product quality control application for which human intervention is necessary. Three functions can be performed from these blocks.

La premiére fonction dite d'évaluation subjective, qui associe des blocs de type CF et EVF, peut être exécutée par un automate programmable. L'évaluation subjective sert à chaque fois qu'il y a une phase d'évaluation d'un produit manufacturé, souvent en fonction de plusieurs critères provenant d'un panel d'experts, d'opérateurs ou de consommateurs, ce qui la rend dans une certaine mesure arbitraire. L'évaluation subjective est notamment utilisée quand on veut juger de la qualité d'un produit. Par exemple, pour la cuisson de biscuits, les opérateurs de four, évaluent la qualité de cuisson des biscuits en les comparant à la volée à des biscuits de référence, qualifiés de bien cuits , un peu trop cuits , trop cuits , etc..The first so-called subjective evaluation function, which combines blocks of the CF and EVF type, can be executed by a programmable controller. Subjective evaluation is used each time there is a phase of evaluation of a manufactured product, often according to several criteria coming from a panel of experts, operators or consumers, which makes it to some extent arbitrary. Subjective evaluation is used in particular when we want to judge the quality of a product. For example, for baking cookies, oven operators assess the quality of baking cookies by comparing them on the fly to reference cookies, qualified as well baked, a little overcooked, overcooked, etc.

La seconde fonction est une fonction de diagnostic des causes d'une dérive de qualité du produit qui est souvent disponible sous une forme combinatoire. Pour l'application de cuisson des biscuits, I'opérateur intervient quand il est devant une certaine combinaison de facteurs simultanés. Par exemple, il interviendra sur les consignes de son four si le biscuit est trop épais et trop humide. En associant des blocs de type ANDF, ORF et NOF, on peut constituer un ladder qui permet de construire graduellement ces indicateurs de diagnostic, qui témoignent de l'état du procédé.The second function is a diagnostic function of the causes of product quality drift which is often available in a combinatorial form. For the cookie baking application, the operator intervenes when he is faced with a certain combination of simultaneous factors. For example, he will intervene on the instructions of his oven if the cookie is too thick and too wet. By associating blocks of the ANDF, ORF and NOF type, we can constitute a ladder which allows us to gradually build these diagnostic indicators, which testify to the state of the process.

La troisième fonction est une prise de décision qui est formalisée à partir de l'expertise humaine sous forme d'actions à appliquer au procédé. La formalisation de cette expertise peut se faire sous la forme d'une base de règles floues. Cette expertise, en fonction des indicateurs de diagnostic peut être codée dans un bloc MTF.The third function is decision-making which is formalized on the basis of human expertise in the form of actions to be applied to the process. The formalization of this expertise can be done in the form of a base of fuzzy rules. This expertise, depending on the diagnostic indicators, can be coded in an MTF block.

La figure 6 présente un exemple d'application complète en logique floue suivant ce découpage en trois fonctions: l'évaluation (fuzzification simple et classification floue), le diagnostic (combinaisons logiques floues sous forme de ladder flou) et la prise de décision (inférences sur base de règles floues et défuaification). L'application pourrait n'utiliser qu'une partie des blocs fonctionnels définis ci-dessus.Figure 6 presents an example of a complete application in fuzzy logic following this division into three functions: evaluation (simple fuzzification and fuzzy classification), diagnosis (fuzzy logic combinations in the form of fuzzy ladder) and decision-making (inferences based on fuzzy rules and defuaification). The application could use only part of the functional blocks defined above.

II est bien entendu que l'on peut, sans sortir du cadre de l'invention, imaginer des variantes et des perfectionnements de détail et de même envisager l'emploi de moyens équivalents.  It is understood that it is possible, without departing from the scope of the invention, to imagine variants and improvements in detail and even to envisage the use of equivalent means.

Claims (8)

mise en oeuvre permettant de les configurer. implementation to configure them. des inférences et la défuaification, ces blocs fonctionnels étant associés à des écrans de inferences and defuaification, these functional blocks being associated with screens of fonctionnel logiciel réalisant une classification floue et un bloc fonctionnel logiciel réalisant functional software carrying out a fuzzy classification and a functional block software carrying out forme de ladder flou, un bloc fonctionnel logiciel réalisant une fuaification, un bloc fuzzy ladder form, a software functional block carrying out a fuaification, a block OU (ORF), et de type NON (NOF) servant à écrire des équations logiques floues sous OR (ORF), and of type NO (NOF) used to write fuzzy logic equations under fonctionnels logiciels réalisant des fonctions logique floues de type ET (ANDF), de type software functionalities performing fuzzy logic functions of the AND type (ANDF), of the de la qualité, caractérisé par le fait que ce programme d'application comporte des blocs quality, characterized in that this application program contains blocks programme d'application en logique floue, notamment pour des applications de régulation application program in fuzzy logic, especially for control applications REVENDICATIONS 1. Système de programmation d'un automate programmable dans lequel est implanté un CLAIMS 1. Programming system of a programmable controller in which is installed a 2. Système selon la revendication 1, caractérisé par le fait que le bloc fonctionnel logique de2. System according to claim 1, characterized in that the logic functional block of type ET (ANDF), reçoit sur ses entrées (a, b, c, d) des degrés d'appartenance et fournit type AND (ANDF), receives on its inputs (a, b, c, d) degrees of belonging and provides sur sa sortie (s) un degré d'appartenance représentant un ET logique flou entre les on its output (s) a degree of belonging representing a fuzzy logical AND between the entrées, c'est-à-dire le minimum des degrés d'appartenance en entrées. inputs, i.e. the minimum of membership degrees in inputs. 3. Système selon l'une quelconque des revendications précédentes, caractérisé par le fait3. System according to any one of the preceding claims, characterized in that que le bloc fonctionnel logique de type OU (ORF), reçoit sur ses entrées (a, b, c, d) des that the OR type logical functional block (ORF) receives on its inputs (a, b, c, d) degrés d'appartenance et fournit sur sa sortie (s) un degré d'appartenance représentant degrees of membership and provides on its exit (s) a degree of membership representing un OU flou entre les entrées, c'est-à-dire le maximum des degrés d'appartenance en a fuzzy OR between the entries, i.e. the maximum of the degrees of membership in entrées. starters. 4. Système selon l'une quelconque des revendications précédentes, caractérisé par le fait4. System according to any one of the preceding claims, characterized in that que le bloc fonctionnel logique de type NON, (NOF), reçoit sur son entrée un degré that the logic function block of type NO, (NOF), receives on its input a degree d'appartenance et fournit sur sa sortie (s) un degré d'appartenance inverse de l'entrée, of membership and provides on its output (s) a degree of inverse membership of the input, c'est-à-dire la différence entre 1 et le degré d'appartenance reçu en entrée. that is, the difference between 1 and the degree of membership received as input. 5. Système selon l'une quelconque des revendications précédentes, caractérisé par le fait5. System according to any one of the preceding claims, characterized in that qu'il comporte un bloc fonctionnel logiciel (CF) de classification floue recevant en entrées that it includes a fuzzy classification software functional block (CF) receiving inputs des mesures (A, B, C) d'un point de manière à affecter ce point à des classes de measurements (A, B, C) of a point so as to assign this point to classes of référence de façon graduelle, calcule le degré d'appartenance à ces différentes classes, gradual reference, calculates the degree of belonging to these different classes, travaille avec une base de points de référence, définissant les classes de référence et works with a base of reference points, defining the reference classes and utilise un algorithme de classification floue.  uses a fuzzy classification algorithm. 6. Système selon l'une quelconque des revendications précédentes, caractérisé par le fait6. System according to any one of the preceding claims, characterized in that qu'il comporte un bloc fonctionnel logiciel configurable (EVF) recevant sur son entrée that it includes a configurable software functional block (EVF) receiving on its input numérique une mesure et fournissant sur chacune de ses sorties, après calcul, le degré digital measurement and providing on each of its outputs, after calculation, the degree d'appartenance à un ensemble correspondant à un terme linguistique. belonging to a set corresponding to a linguistic term. 7. Système selon l'une quelconque des revendications précédentes, caractérisé par le fait7. System according to any one of the preceding claims, characterized in that qu'il comporte un bloc fonctionnel logiciel configurable (MTF) servant au calcul that it includes a configurable software functional block (MTF) used for calculation d'inférences et de défuuification, reçoit sur ses entrées des degrés d'appartenance qui of inference and defuuification, receives on its inputs degrees of belonging which sont utilisés pour le mécanisme d'inférences floues à l'aide d'une base de règles floues et are used for the fuzzy inference mechanism using a fuzzy rule base and réalise la défuzzification des variables floues selon des fonctions d'appartenance de type defuzzification of fuzzy variables according to membership functions of type singleton pour fournir des sorties numériques directement utilisables par un actionneur. singleton to provide digital outputs directly usable by an actuator. 8. Système de programmation selon l'une quelconque des revendications précédentes,8. Programming system according to any one of the preceding claims, caractérisé par le fait qu'il comporte des moyens logiciels de logique floue pour évaluer characterized by the fact that it includes fuzzy logic software means for evaluating un produit manufacturé (CF et EVF), des moyens logiciels de logique floue pour a manufactured product (CF and EVF), fuzzy logic software means for diagnostiquer les dérives de qualité du produit (ANDF, ORF, NOF) et des moyens diagnose product quality deviations (ANDF, ORF, NOF) and means logiciels de logique floue (MTF) pour prendre des décisions sous forme d'actions à fuzzy logic software (MTF) to make decisions in the form of actions to appliquer au procédé de fabrication du produit.  apply to the manufacturing process of the product.
FR9714342A 1997-11-13 1997-11-13 PROGRAMMING SYSTEM FOR A PROGRAMMABLE CONTROLLER IN FUZZY LOGIC Expired - Fee Related FR2770915B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9714342A FR2770915B1 (en) 1997-11-13 1997-11-13 PROGRAMMING SYSTEM FOR A PROGRAMMABLE CONTROLLER IN FUZZY LOGIC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9714342A FR2770915B1 (en) 1997-11-13 1997-11-13 PROGRAMMING SYSTEM FOR A PROGRAMMABLE CONTROLLER IN FUZZY LOGIC

Publications (2)

Publication Number Publication Date
FR2770915A1 true FR2770915A1 (en) 1999-05-14
FR2770915B1 FR2770915B1 (en) 2001-11-02

Family

ID=9513411

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9714342A Expired - Fee Related FR2770915B1 (en) 1997-11-13 1997-11-13 PROGRAMMING SYSTEM FOR A PROGRAMMABLE CONTROLLER IN FUZZY LOGIC

Country Status (1)

Country Link
FR (1) FR2770915B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0424890A2 (en) * 1989-10-24 1991-05-02 Mitsubishi Denki Kabushiki Kaisha Programmable controller with fuzzy control function, fuzzy control process and fuzzy control monitoring process
US5285376A (en) * 1991-10-24 1994-02-08 Allen-Bradley Company, Inc. Fuzzy logic ladder diagram program for a machine or process controller
EP0608762A1 (en) * 1993-01-23 1994-08-03 Moeller GmbH Method for integrating fuzzy logic in the field of functions of standard automation systems
FR2725539A1 (en) * 1994-10-06 1996-04-12 Suisse Electronique Microtech ANALOGUE TYPE FLUID LOGIC CONTROLLER

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0424890A2 (en) * 1989-10-24 1991-05-02 Mitsubishi Denki Kabushiki Kaisha Programmable controller with fuzzy control function, fuzzy control process and fuzzy control monitoring process
US5285376A (en) * 1991-10-24 1994-02-08 Allen-Bradley Company, Inc. Fuzzy logic ladder diagram program for a machine or process controller
EP0608762A1 (en) * 1993-01-23 1994-08-03 Moeller GmbH Method for integrating fuzzy logic in the field of functions of standard automation systems
FR2725539A1 (en) * 1994-10-06 1996-04-12 Suisse Electronique Microtech ANALOGUE TYPE FLUID LOGIC CONTROLLER

Also Published As

Publication number Publication date
FR2770915B1 (en) 2001-11-02

Similar Documents

Publication Publication Date Title
Sedlmair et al. Data‐driven evaluation of visual quality measures
Visen et al. Ae—Automation and emerging technologies: Specialist neural networks for cereal grain classification
CN109712165B (en) Similar foreground image set segmentation method based on convolutional neural network
Alawieh et al. Wafer map defect patterns classification using deep selective learning
JP2019087181A (en) Device and method for image inspection
US11776094B1 (en) Artificial intelligence based image quality assessment system
JP7102941B2 (en) Information processing methods, information processing devices, and programs
US11694327B2 (en) Cross layer common-unique analysis for nuisance filtering
Asha et al. Diabetic retinal exudates detection using machine learning techniques
FR3006785A1 (en) METHODS OF CREATING A DATABASE AND DEVELOPING A CARD OF OPERATING STATES OF AIRCRAFT ENGINES, AND A METHOD OF MONITORING THE OPERATION OF AN ASSOCIATED AIRCRAFT ENGINE
Westphal et al. Machine learning for the intelligent analysis of 3D printing conditions using environmental sensor data to support quality assurance
CN113420152A (en) Service processing method, device and system based on fuzzy logic
US20190188586A1 (en) Methods of processing and generating image data in a connectionist network
JP7338779B2 (en) Image recognition device, image recognition method, and program
FR2770915A1 (en) Programming programmable robot in fuzzy logic
US20230154158A1 (en) Method and system for enhancing online reflected light ferrograph image
WO2019166196A1 (en) Method and device for testing a marine transmission
Martínez et al. Choquet integral and interval type-2 fuzzy Choquet integral for edge detection
FR2786002A1 (en) CONTROLLED CAPACITY MODELING TOOL
Morariu et al. Predicting user preferences of dimensionality reduction embedding quality
Singh et al. Optimizing image enhancement for screening luggage at airports
KR20230006822A (en) Classification of abnormal wafer images
US11151695B1 (en) Video denoising using neural networks with spatial and temporal features
JP2000339005A (en) Method and device for controlling optimization of controlled target
Bhavana et al. A new pixel level image fusion method based on genetic algorithm

Legal Events

Date Code Title Description
CD Change of name or company name
ST Notification of lapse

Effective date: 20160729