WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Développement d'un logiciel d'expertise technique d'installation frigorifiques de chambre froides

( Télécharger le fichier original )
par Raoul Ouambo Tobou
ENSAI de Ngaoundere - Cameroun - Ingenieur 2003
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE II. ANALYSE DE CONCEPTION DU

LOGICIEL

II.1 Analyse globale

II.1.1 Principe de l'expertise

En se basant sur les étapes générales d'expertise d'unités industrielles présentées au paragraphe I.3.1, nous avons retenu une démarche d'expertise centrée sur les points suivants :

· Redimensionnement de la chambre à expertiser à base des données d'exploitation
réelles, afin de quantifier les performances exigées aux installations frigorifiques ;

· Diagnostic du dispositif, afin d'avoir des renseignements sur l'état interne de chaque composant ;

· Prise des décisions à base des résultats des phases précédentes.

De façon plus détaillée, les étapes sont les suivantes :

· Etape 1 - Prise des données de construction et d'exploitation de la chambre par l'utilisateur.

· Etape 2 - Calcul du bilan thermique par le logiciel. Cette étape permet de fixer les objectifs à atteindre par la remise à niveau de la chambre.

· Etape 3 - Prise connaissance des installations frigorifiques. Ici, l'utilisateur relève sur les installations tous les paramètres indispensables à l'expertise (type du circuit fluidique, caractéristiques des éléments du circuit, longueurs et diamètres des tuyauteries, ...).

· Etape 4 - Acquisition de mesures (pressions, températures, ...) par l'utilisateur dans la chambre et sur les installations frigorifiques.

· Etape 5 - Diagnostic des installations sur la base des mesures. Ici, le logiciel mettra en oeuvre une technique de diagnostic interne, pour estimer des paramètres internes des installations, non accessibles par la mesure ;

· Etape 6 - Redimensionnement des installations sur la base du bilan thermique. Ceci
permettra d'obtenir l'état nominal exigé pour un bon fonctionnement de la chambre ;

· Etape 7 - Comparaison des états actuel et nominal, et énoncé des actions de mise à niveau. Cette étape est réalisée par le logiciel, qui utilisera pour cela un système à base de règles.

II.1.2 Spécifications fonctionnelles

Compte tenu de la démarche précédente, nous pouvons déjà ressortir, ordonner et caractériser les fonctions à réaliser par le logiciel.

La fonction principale du logiciel est de réaliser l'expertise technique des installations frigorifiques d'une chambre froide. Pour rester le plus général possible, cette expertise pourra aussi être effectuée par des prestataires de services. Dans ce cas, la tenue à jour des informations sur des clients est indispensable.

Pour mener à bien sa fonction principale, le logiciel doit assumer les fonctions internes suivantes :

· Offrir à l'utilisateur des écrans de saisit des données ;

· Faire un bilan thermique ;

· Faire un diagnostic technique des installations frigorifiques ;

· Enoncer des actions de remise à niveau ;

· Editer des rapports après chaque étape de l'expertise ;

· Permettre à l'utilisateur de sauvegarder son projet pour une future consultation ;

· Permettre à l'utilisateur d'effectuer des opérations de mise à jour dans la base de données du logiciel.

Il est aussi important d'analyser les fonctions d'estime, concernant l'acceptation du logiciel par l'utilisateur. Celles sur lesquelles nous focaliserons notre attention sont les suivantes :

· Etre facile à apprendre : cela suppose des interfaces simples, agréables et pas trop différentes de celles utilisées actuellement dans d'autres produits logiciels (la réutilisation de connaissances antérieures facilite la vitesse d'apprentissage de l'utilisateur) ;

· Etre évolutif : il faut éviter de faire un logiciel pour des configurations d'installations figées. L'application doit donc pouvoir inclure de nouvelles configurations d'installations sans recompilation complète du code ;

· Etre ouvert : ici, l'ouverture concernera la possibilité de continuer sur une machine un projet d'expertise commencé sur une autre machine. Aussi, les rapports édités doivent pouvoir être exportés vers des éditeurs de texte courants comme MS Word ;

· Etre fiable : il s'agira ici d'avoir une méthodologie rigoureuse de programmation, afin de réduire plus tard les pannes imprévues. En plus nous mettrons largement en oeuvre des procédures de gestion d'erreurs, afin d'éviter des erreurs fatales (avec arrêt d'exécution) pendant l'utilisation.

II.1.3 Architecture modulaire

Pour mener à bien toutes ces fonctions, le logiciel devra comporter les modules suivants :

· Interface : c'est la partie visible du logiciel ;

· Module d'édition de rapports ;

· Module de calcul de bilan thermique ;

· Module de diagnostic interne ;

· Module de redimensionnement ;


· Module d'implémentation du système à base de règles servant à la prise de décision finale ;

· Module de données : ce module renferme les bases de données utiles au calcul du bilan thermique et au diagnostic interne. Il contient aussi le système de sauvegarde des projets d'expertise ;

· Module d'aide : il s'agit de l'aide en ligne du logiciel ;

· Module d'installation : il s'agit des programmes d'installation et de désinstallation du logiciel ;

II.2 Analyse détaillée du logiciel II.2.1 Interface

L'interface est la partie la plus importante du logiciel. De sa qualité, dépendent entre

autres :

· La facilité d'apprentissage de l'application ;

· L'efficacité d'utilisation du logiciel ;

· L'acceptation, donc la satisfaction de l'utilisateur.

A cet effet, puisque notre développement se fait sous Windows, nous conserverons les conventions d'interfaces Windows. Dans ce cas, l'interface peut être à document unique (SDI : Single Document Interface) ou à document multiples (MDI : Multiple Document Interface). Les MDI étant plus commodes et plus répandues, ce sont elles que nous utiliserons. Nous aurons donc :

· Une barre de titre contenant l'icône de l'application, son titre et le nom du document en cours d'utilisation;

· Une barre de menu respectant les règles Windows (le premier menu est `Fichier', le dernier `Aide', ...) ;

· Une barre d'outils ;

· Une barre d'état ;

· Et bien d'autres éléments propres aux interfaces Windows.

Toujours dans cette optique d'acceptation du logiciel, nous l'avons appelé « Fronix ». Ce nom nous paraît ressortir le fait qu'il `agit ici d'un logiciel de froid, intégrant des fonctionnalités d'intelligence artificielle.

II.2.2 Module d'édition des rapports

Les documents à éditer par le logiciel sont de divers types :

· Les rapports concluants chaque étape de l'expertise : il s'agit du rapport de calcul du bilan thermique, le rapport de diagnostic interne, le rapport de redimensionnement et le rapport final d'expertise ;


· Les états des informations présentent dans les bases de données : lors des opérations de mise à jour sur les bases de données, l'utilisateur pourra s'il le veut éditer des états ;

· Les documents donnants des informations diverses : il s'agit des protocoles de prise de mesure et toute autre information que l'on voudra fournir à l'utilisateur sous forme de document.

Compte tenu de toutes ces exigences en matière d'édition de documents, nous avons jugé nécessaire d'inclure dans le logiciel un éditeur de texte. Les fonctionnalités de cet éditeur seront les suivantes :

· Génération des documents issus du logiciel ;

· Mise en forme et impression des documents générés ;

· Enregistrement des documents dans un format compatible avec MS Word, afin d'assurer l'ouverture vers ce logiciel très répandu ;

· Ouverture pour consultation ou modification de documents au format de l'éditeur.

II.2.3 Module de calcul du bilan thermique

Le but de ce module est de fixer les objectifs à atteindre par l'expertise. Il s'agira de refaire un bilan thermique de la chambre, en fonction des données d'exploitation actuelles. Rappelons à cet effet que les conditions d'exploitation pour lesquelles la chambre avait été conçue à l'origine peuvent avoir évoluées considérablement avec le temps. Plus concrètement, ce bilan devra nous fournir pour chaque compartiment de la chambre :

· La température de conservation à obtenir ;

· L'humidité relative à entretenir ;

· La production frigorifique à fournir par les évaporateurs pour un temps de fonctionnement journalier des installations donné.

Pour y parvenir, ce module doit permettre à l'utilisateur d'entrer de façon conviviale les données nécessaires. Ce sont :

a) Les paramètres géométriques

· Hauteur de la chambre ;

· Dimensions et emplacement des façades verticales ;

· Dimensions du plafond et du plancher ;

· Dimensions et emplacement des ouvertures ;

· Caractéristiques de compartimentage de la chambre.

b) Les paramètres de constitution des parois et du plancher

· Epaisseur de chaque couche ;

· Matériaux de chaque couche ;


· Nature des ambiances en contact avec chacune des faces de la paroi. Dans le cas du plancher, on précisera la présence ou non d'un vide sanitaire en dessous.

c) Les données climatiques du lieu

· Température sèche ;

· Humidité relative ;

· Température du sol : cette donnée est indispensable dans le cas où la chambre repose sur un terre-plein (pas de vide sanitaire) ;

· La pression atmosphérique ;

· La latitude du lieu ;

· L'altitude du lieu.

d) Les paramètres d'exploitation de la chambre

· La température et l'humidité relative exigées dans chaque compartiment ;

· Le flux de produit journalier sur chacune des portes ;

· Le débit journalier de renouvellement d'air, dans le cas où l'air de certains compartiments est renouvelé ;

· La quantité de denrées entrées par jour dans chaque compartiment ;

· La quantité moyenne de denrées végétales (produisant de la chaleur par respiration) stockée en permanence dans chaque compartiment ;

· La puissance et le temps de marche journalier des machines opérant dans chaque compartiment ;

· Le nombre de personnes travaillants dans chaque compartiment, et leur temps journalier de travail ;

· Données de répartition des évaporateurs dans les compartiments ;

· Les caractéristiques des évaporateurs : puissance des moto ventilateurs, temps de fonctionnement journalier, puissance du dispositif de dégivrage, temps journalier de dégivrage ;

· Le temps journalier de fonctionnement des installations frigorifiques souhaité.

Ces données acquises, le calcul du bilan ce fait par des formules très simples. Néanmoins, certaines corrélations issues de l'expérience sont indispensables pour avoir par exemples : les coefficients d'échange de chaleur par convection entre les parois et l'extérieur ou l'intérieur, les charges dues aux ouvertures des portes, ... .

Les calculs effectués dans le logiciel sont basés sur les formules et corrélations indiquées dans (BREIDERT, 1998).

A ce stade, il ressort déjà que la masse de données à acquérir est importante, et qu'il convient donc de prendre un soin particulier à la conception des interfaces de ce module. C'est ainsi que nous avons conçu ici une interface unique assez conviviale, permettant d'entrer tous ces paramètres. Cette interface est présentée dans la figure III.1.

II.2.4 Module de diagnostic interne

Ce module devra fournir l'état de chacun des composants d'une installation à partir des observations (mesures prélevées) faites sur cette installation. Nous avons déjà vu que formellement, cela revenait à inverser une relation de cause à effet donnée sous la forme :

? ?

E = F C

( )

?

E est le vecteur des effets (ici, les mesures prélevées), et

?

C celui des causes

 

(ici, les paramètres internes non accessibles par la mesure). Les mesures prélevées seront
par exemples des pressions, des températures, ..., et les paramètres internes des
coefficients d'échange thermique, des vitesses de circulation de fluides, ... . Ayant donc

?

mesuré sur l'installation un vecteur d'effets Em , le problème revient à retrouver le(s)

meilleur(s) vecteur(s) de paramètres internes

?

Copt à l'origine des effets, en d'autres termes

? ?

qui minimise(nt) la fonction objectif

Em - F(C)

, où · est une norme définie dans l'espace

des effets. La fonction F n'étant connue que sous forme algorithmique, il s'est avéré que seules les méthodes non déterministes de minimisation étaient utilisables. A cet effet, les algorithmes génétiques sont les plus adaptés. Ils offrent en effet le meilleur compromis entre exploration (capacité à balayer de l'espace de recherche) et exploitation (capacité à exploiter les résultats déjà obtenus), caractéristiques primordiales pour des calculs comme le notre.

A la fin de l'évolution de l'algorithme génétique, un paramètre d'homogénéisation des fitness est mesuré sur la population. Ce paramètre est compris entre 0 (dispersion totale) et 100 (parfaite homogénéisation). Il représente en fait le pourcentage d'individus dont les fitness diffèrent du fitness minimal de moins de 10%. Dans le cas où le fitness minimal est nul, alors le critère devient une différence de moins de 0,0001 avec le fitness minimal.

II.2.4.1 L'architecture du module

Nous avons déjà souligné que le logiciel devra s'adapter à plusieurs types d'installations frigorifiques. C'est pourquoi nous avons définit la notion de Configuration de Circuit Fluidique (CCF). Cette définition englobe :

· Une description physique de la configuration : circuit fluidique, éléments pris en compte, technologies utilisées, ... ;

· Une description mathématique : fonction de cause à effet (mesures à prélever, variables internes estimées, modèles de calcul utilisés, ...) et fonction de redimensionnement (définie par des paramètres de redimensionnement propres à la CCF) ;

· Un système d'unité propre à la CCF : la possibilité de pouvoir utiliser le système
d'unité de son choix ne sera incluse que dans les prochaines versions du logiciel ;

· Une base de données regroupant toutes les informations utiles à l'utilisation de la configuration ;

· Un module objet renfermant les fonctions de cause à effet et de redimensionnement.

L'architecture de ce module se décompose donc en modules objets implémentant l'algorithme génétique et les CCF (Configuration de Circuit Fluidique). Aussi, les modules objet des CCF ont besoin dans leurs calculs des fonctions sur les fluides frigorigènes. Nous avons utilisé pour cela la version 2.0 de la bibliothèque fournie par SOLVAY FLUOR UND DERIVATE, un constructeur de fluides frigorigènes allemand. Les fonctions implémentées dans cette bibliothèque sont présentées dans l'annexe 4. En résumé, cette architecture se présente de la façon suivante :

BD de la BD de la BD de la

CCF N°1 CCF N°2 CCF N°n

CCF N°1

CCF N°2

CCF N°n

BD
principale

Application
principale

Fronix

Algorithme
génétique

Fonctions sur fluides

Figure II.1 : Architecture du module de diagnostic interne

Lors du diagnostic, l'application principale prélèvera les paramètres nécessaires dans la base de données principale et celle de la CCF concernée, choisie par l'utilisateur. Ces paramètres, associés aux mesures prélevées seront ensuite transmis au module de l'algorithme génétique. Ce dernier saura donc sur quel module objet de CCF se connecter, et les arguments à transmettre pour évaluer la fonction de fitness ou celle de redimensionnement.

Les modules objets dont il est question ici seront implémentés sous forme de bibliothèques de liens dynamiques (Dynamic Link Library : DLL) pour plus de flexibilité dans leur utilisation.

II.2.4.2 La fonction de cause à effet

a) Notion de variable d'état

Le diagnostic a pour but de déterminer les grandeurs internes d'une installation, non accessibles par la mesure. Pour une CCF donnée, certaines de ces grandeurs peuvent être corrélées. On désignera alors par variables d'état les éléments de tout sous-ensemble de grandeurs internes indépendantes, et vecteur d'état un vecteur ayant pour composantes ces variables. La connaissance du vecteur d'état étant suffisante pour estimer l'état complet du groupe frigorifique, c'est ce vecteur qui est estimé par l'algorithme génétique (les individus sont des potentiels vecteurs d'état).

b) Les variables internes

Une fois les variables d'état obtenues, le reste des grandeurs internes peut être obtenu. C'est ce reste que nous appellerons variables internes.

c) Les mesures

C'est l'ensemble des mesures pouvant être prélevées, pour une CCF donnée. Le principe de diagnostic, tel que nous l'avons définit ici a pour but de retrouver les meilleurs paramètres internes d'une CCF conduisant aux mesures qui ont été prélevées. De là, il ressort que lors d'une expertise, l'on n'est pas obligé de prélever toutes les mesures prévues pour la CCF, mais plus on aura de mesures et plus précis sera le diagnostic. Ceci offre une plus grande souplesse d'utilisation du logiciel, car une installation n'a pas toujours tous les points de mesures souhaitables. C'est pourquoi dans l'application, les mesures pour une CCF donnée sont regroupées en deux classes :

· Les mesures obligatoires : ce sont celles devant absolument être prélevées. Elles sont indispensables aux calculs, et garantissent à elles seules un résultat acceptable ;

· Les mesures libres : celles-ci peuvent être prélevées ou pas. Mais plus on en prendra, et plus précis sera le diagnostic.

Quelque soit le nombre de mesures effectuées, le diagnostic fournira quant à lui toutes les mesures possibles, car elles sont indispensables à la prise de décision finale. Pour chacune des mesures prélevées, l'utilisateur pourra éditer un protocole expérimental lui indiquant les appareils à utiliser, un mode opératoire et les précautions à prendre pour avoir des valeurs précises.

d) Les paramètres de l'installation

Ce sont les données « statiques » d'un groupe frigorifique, dont a besoin le module objet de la CCF pour ses calculs. Ce sont par exemples : les diamètres des tuyauteries, les puissances des moteurs, le fluide frigorigène utilisé, ... .

e) Expressions des fonctions de cause à effet et de fitness

?

Les mesures prises sur site sont représentées par le vecteur

MS . Les causes sont

?

les variables d'état représentées par le vecteur d'étatX . Pour un vecteur d'état donné, la
fonction de cause à effet permet d'obtenir un vecteur de mesures calculées

? ? ?

MC correspondant, soit ( )

MC = F X

?

. Le fitness du vecteur X sera alors une mesure de la

différence entre les vecteurs

?

? ?

M S - M C

?

MS et

.

MC , nous avons pris pour cela la norme

Vi .

?

V

?

Cette norme étant définit pour un vecteur V de composantes Vi par :

i

4 3

6

2

5

7

8

1

9

10

11

f) L'espace de recherche

L'espace de recherche est un hyper rectangle de l'espace des variables d'étatÐ ,

?

définit par = ? Ð

X / Xi min Xi Xi max , i . Avant chaque diagnostic, des valeurs par

= = ?

défaut des bornes Ximin et Ximax sont proposées à l'utilisateur, qui peut les modifier s'il le désire.

II.2.4.3 La configuration de circuit fluidique implémentée

a) Présentation de la configuration

Dans cette première version du logiciel, nous n'avons implémenté qu'une seule CCF, ne concernant que les chambres froides négatives. Il s'agit d'un circuit fonctionnant selon un cycle mono étagé à compression mécanique de vapeurs. Cette CCF ne modélise pas la partie électrique. Le schéma de ce cycle dans un diagramme LogP - H est présenté à la figure suivante :

P

1-2 : Compresseur

2-3 : Ligne de refoulement 3-6 : Condenseur

6-7 : Ligne liquide

7-9 : Entrée évaporateur

9-11 : Evaporateur

11-1 : Ligne d'aspiration

H

Figure II.2 : Cycle frigorifique de la CCF implémentée

b) Les mesures obligatoires de la configuration Les mesures obligatoires ici sont :

· Température entrée air évaporateur (°C)

· Température sortie air évaporateur (°C)

· Température entrée air condenseur (°C)

· Température sortie air condenseur (°C)

· Pression aspiration compresseur (bar)

· Pression refoulement compresseur (bar)

· Température aspiration compresseur (°C)

· Débit volumique air évaporateur (m3/s)

n Débit volumique air condenseur (m3/s)

n Humidité relative compartiment (%)

c) Les mesures libres

Les mesures libres sont :

n Pression sortie évaporateur (bar)

n Pression entrée condenseur (bar)

n Pression sortie condenseur (bar)

n Température entrée évaporateur (°C)

n Température sortie évaporateur (°C)

n Température entrée condenseur (°C)

n Température sortie condenseur (°C)

n Température refoulement compresseur (°C)

d) Les variables d'état

Les variables d'état ici sont :

n Rendement isentropique compresseur

n Efficacité évaporateur

n Surchauffe enthalpique évaporateur

n Surchauffe aspiration (°C)

n Efficacité condenseur

n Sous-refroidissement enthalpique condenseur

n Débit massique frigorigène (kg/s)

n Température évaporation (°C)

n Température condensation (°C)

n Pertes de charges ligne d'aspiration (bar)

n Pertes de charges ligne liquide (bar)

n Pertes de charges refoulement - entrée condenseur (bar)

n Désurchauffe refoulement - entrée condenseur (°C)

n Sous-refroidissement ligne liquide (°C)

e) Les variables internes

Les variables internes ici sont :

n Vitesse entrée tuyauterie aspiration (m/s)

n Vitesse sortie tuyauterie aspiration (m/s)

n Vitesse entrée tuyauterie vapeurs surchauffées (m/s)

n Vitesse sortie tuyauterie vapeurs surchauffées (m/s)

n Vitesse entrée tuyauterie liquide (m/s)

n Vitesse sortie tuyauterie liquide (m/s)

n Production frigorifique (W)

n Chute de pression entrée évaporateur (bar)

n Surchauffe évaporateur (°C)


· Sous refroidissement condenseur (°C)

· Volume spécifique entrée compresseur (m3/kg)

· Volume spécifique refoulement compresseur (m3/kg)

· Volume spécifique sortie condenseur (m3/kg)

f) Les paramètres « statiques »

Les paramètres requis ici sont :

· Numéro Evaporateur

· Diamètre tuyauterie aspiration (m)

· Diamètre tuyauterie de refoulement (m)

· Diamètre tuyauterie de liquide (m)

· Type refroidissement compresseur (aucun, veine d'air du condenseur ou ventilateur de tête de culasse)

· Puissance maximale de compression (W)

Certains paramètres requièrent une valeur numérique, mais d'autres comme le type de refroidissement du compresseur requièrent une valeur à choisir dans une liste. Ce fait est pris en compte dans la base de données de la CCF, et géré ensuite par l'application.

II.2.5 Module de redimensionnement

Pour une CCF donnée, le redimensionnement consiste à retrouver les valeurs nominales de toutes les grandeurs qui ont été estimées par le module de diagnostic. Ce module se base sur :

· Les résultats du bilan thermique : température et humidité relative désirées dans la chambre, conditions climatiques extérieures et puissance frigorifique exigée aux installations ;

· Les grandeurs estimées par le diagnostic interne : en effet, ces grandeurs peuvent cacher des corrélations qu'il serait intéressant de disposer pour le redimensionnement. Par exemple, pour une CCF qui ne recalcule pas les tuyauteries, on peut retrouver le coefficient de perte de charges linéaires d'une tuyauterie à partir des résultats du diagnostic ;

· Des paramètres types de conception : la surchauffe dans l'évaporateur peut par exemple être fixée à 5°C. Pendant l'expertise, des valeurs par défaut sont proposées à l'utilisateur qui peut décider de les modifier.

II.2.6 Le système à base de règles floues

Après le diagnostic et le redimensionnement, ce module est chargé de la prise de décision finale. Il est construit autour d'un système à base de règles floues, modélisant ainsi au mieux le raisonnement humain.

II.2.6.1 Le principe utilisé

Les variables linguistiques ici sont propres à chaque CCF, et représentent toutes les grandeurs traitées par la CCF (mesures, variables d'état et variables internes). Une règle est de la forme :

SI « Prémisse N°1 » ET « Prémisse N°2 » ET ... ET « P rémisse N°n » ALORS « Conclusion »

ACTIONS « Liste d'actions »

OBSERVATIONS « Liste d'observations sur site »

a) Les prémisses

Une prémisse est une proposition floue dont la forme générale est :

« Variable » + « Modificateur » + « Adjectif »

· « Variable » est un nom de variable traité par la CCF (mesure, variable d'état ou variable interne) ;

· « Modificateur » est un modificateur linguistique. Nous avons utilisé « Aucun » (dans le cas où il n'y a aucune modification), « Très » (tel que définit par (4)) et « Plus ou moins » (tel que définit par (5)) ;

· « Adjectif » représente un terme linguistique, et peut valoir « Normal », « Faible » ou « Elevé ».

b) La conclusion C'est l'énoncé de la conclusion faisant suite aux prémisses.

c) Les actions Ce sont les actions de mise à niveau à prendre quand les prémisses sont vérifiées.

d) Les observations

Il s'agit des effets observables sur l'installation quand les prémisses sont vérifiées. Elles permettent ainsi de confirmer par soi même un résultat d'expertise.

II.2.6.2 L'évaluation des règles

L'inférence ici consiste en une simple évaluation des règles. Un chaînage n'est en effet pas nécessaire à cause du grand nombre de variables de décision généré par l'algorithme génétique. L'évaluation d'une règle n'est rien d'autre que le calcul de la valeur de vérité de la conjonction des prémisses de ladite règle.

a) Fonctions d'appartenance des termes linguistiques

A cette étape de l'expertise, on dispose pour chaque variable de deux valeurs : une obtenue après diagnostic (VD) et l'autre après redimensionnement (VR). Soit T% une tolérance fixée entre 0 et 100%. Posons :


· B1 = T% x VR, avec B1 = 0,01 si VR=0 ;

· B2 = 1,5 x T% x VR, avec B2 = 0,015 si VR=0 ;

· B3 = 2 x T% x VR, avec B3 = 0,02 si VR=0.

Il nous a alors parut judicieux de définir les fonctions d'appartenance des termes linguistiques comme suit :

P(VD)

1

Terme « Normal »

0

VR - B2 VR - B1 VR VR + B1 VR + B2

VD

Figure II.3 : Fonction d'appartenance du terme « Normal »

P(VD)

VR - B3 VR - B1 VR VD

1

Terme « Faible »

0

Figure II.4 : Fonction d'appartenance du terme «Faible »

P(VD)

1

Terme « Elevé »

0

VR

VR + B1 VR + B3 VD

Figure II.5 : Fonction d'appartenance du terme «Elevé »

La tolérance T% est fixée par l'utilisateur pour chacune des règles, mais la valeur par défaut est 10%. Ce paramètre permet de moduler la forme des fonctions d'appartenance.

b) Evaluation

A l'aide des fonctions d'appartenance précédentes et des transformations de modification données par (4) et (5), on peut évaluer chacune des prémisses pour des valeurs de VR et VD données. La valeur de vérité de la conjonction des prémisses d'une règle sera obtenue à partir d'une conjonction très utilisée en inférence floue. Elle est définie comme suit :

Soient deux variables linguistiques X et Y, TX et TY deux termes (éventuellement modifiés) s'y référant, de fonctions d'appartenance respectives ìX (x) et ìY (y) .

Alors la proposition floue « X est TX ET Y est TY », a pour fonction

d'appartenance ì( x , y ) = Min[ì X ( x), ìY (y)] .

Ainsi, si la prémisse N°i a pour valeur d'apparten ance ìi , alors la valeur de vérité associée à la règle est ( i )

ì = Min ì .

i

c) La prise de décision

Une fois la valeur de véritéì de la conjonction des prémisses connue pour chaque

règle, il faut prendre des décisions. Pour cela, nous avons définit deux seuils :

· Le seuil S1 de décision « Vrai » : si ì = S1 , alors on décide que les prémisses sont

vraies, et que la conclusion de la règle est vérifiée ;

· Le seuil S2 de décision « Faux » : si ì = S2 , alors on décide que les prémisses ne

sont pas toutes vraies, et que la conclusion correspondante est fausse.

Dans le cas où S 2 = ì = S1, alors le système ne peut rien conclure. On obtient ce

que nous avons appelé « conclusion indécidable ». Dans ce cas, il est préférable que l'utilisateur fasse un tour sur l'installation pour voir si l'observation correspondante, proposée dans l'énoncée de la règle s'est manifestée ou pas. Ce dernier pourra ensuite modifier les seuils ou la tolérance de la règle en question pour affiner les décisions futures.

II.2.6.3 L'éditeur de règles

Pour plus de flexibilité dans les décisions, nous avons prévu un éditeur de règles dans l'application. Pour une CCF donnée, cet éditeur pourra permettre à l'utilisateur de réaliser les tâches d'ajout, de modification, de suppression et d'édition d'états de règles. La figure III.4 du chapitre suivant montre l'interface de cet éditeur. L'annexe 5 présente un extrait de l'état des règles de base fournies avec la CCF actuellement disponible.

II.2.7 Module de données

Ce module comporte deux parties : les bases de données du logiciel et le système de gestion des fichiers générés.

II.2.7.1 Les bases de données

Dans Fronix, nous avons implémenté deux types de base de données :

· Les bases de données attachées chacune à une Configuration de Circuit Fluidique (CCF). C'est là que l'application puise les informations nécessaires à la manipulation de la CCF ;


· Une base de données principale. Elle renferme les informations nécessaires à l'expertise, et ne concernant pas directement une CCF.

a) Les bases de données des CCF

Selon l'architecture de l'application (Figure II.1) chaque CCF est indépendante des autres, et a sa propre base de données. Pour une CCF donnée, cette base de données est chargée de gérer les informations suivantes :

· Les mesures traitées par la CCF : ces mesures sont regroupées en mesures obligatoires et en mesures libres ;

· Les paramètres de groupes frigorifiques requis par le module de calcul de la CCF ;

· Les paramètres utilisés par le module de calcul de la CCF pour les redimensionnements. Une valeur par défaut est spécifiée pour chacun de ces paramètres ;

· Les variables d'état utilisées par la CCF : les bornes minimale et maximale sont spécifiées pour chacune des variables, et servent comme bornes par défaut à l'espace de recherche de l'algorithme génétique ;

· Les variables internes utilisées par la CCF ;

· Les règles floues d'expertise de groupes frigorifiques ayant la CCF en question.

Ici, le modèle conceptuel a été fait dans le formalisme entités-relations selon Merise (technique française par excellence de conception de systèmes d'information), et le modèle logique dans le formalisme relationnel. La figure suivante montre les informations relatives aux prémisses et aux règles floues dans le formalisme entités-relations. Par soucis d'allègement, nous ne présentons pas le modèle conceptuel en entier.

PREMISSES

Numéro

Numéro variable

Numéro modificateur Numéro adjectif

Libellé

REGLES

Numéro

Libellé conclusion

Libellé action

Libellé observation

Seuil de décision `'Vrai» Seuil de décision `'Faux» Tolérance

1,1

Appartient à 1,n

Figure II.6 : Prémisses et règles floues dans le formalisme entités-relations

Les attributs soulignés représentent les identifiants uniques (clé d'identification). Les variables d'inférence sont dans l'ordre : variables d'état, variables internes et mesures. Elles sont numérotées dans cet ordre à partir de 0. L'attribut « Numéro variable » de l'entité PREMISSES est issu de cette numérotation.

Les numéros de modificateurs sont :


· 0 - Aucun

· 1 - Plus ou moins

· 2 - Très

Les numéros d'adjectifs sont :

· 0 - Normal

· 1 - Elevé

· 2 - Faible

Il est évident que l'attribut « Libellé » de l'entité PREMISSES peut être obtenu à partir des autres attributs, mais nous avons décidé de le garder. Dans le cas contraire, la complexité du module de prise de décision aurait été plus grande, et nous avons jugé qu'il valait mieux ajouter cet attribut, quitte à augmenter très légèrement l'espace mémoire nécessaire au stockage des données.

La transcription dans le formalisme relationnel du modèle précédent se résume en les deux tables relationnelles suivantes, où les champs soulignés représentent les clés primaires :

PREMISSES

Numéro

Numéro règle

Numéro variable

Numéro modificateur Numéro adjectif

Libellé

 

REGLES

Numéro

Libellé conclusion

Libellé action

Libellé observation

Seuil de décision `'Vrai» Seuil de décision `'Faux» Tolérance

 

Figure II.7 : Prémisses et règles floues dans le formalisme relationnel

b) La base de données principale

Elle renferme les informations relatives aux rubriques suivantes :

· Les clients : l'utilisateur du logiciel est peut être un prestataire de services en matière d'expertise de chambre froides ;

· Les chambres froides : il s'agit des chambres froides des clients ;

· Les matériaux : le logiciel a besoin d'une banque de matériaux (avec leurs propriétés physiques) pour le bilan thermique ;

· Les produits : l'application a besoin d'une banque de produits pour le bilan thermique ;

· Les profils climatiques : les profils climatiques utilisés dans les projets d'expertise sont explicités dans cette base de données ;

· Les villes : chaque profil climatique appartient à une et une seule ville ;

· Les pays : toute ville appartient à un pays unique ;


· Les CCF : chaque CCF disponible est spécifiée dans la base de données principale. Cette spécification inclut les paramètres par défaut de l'algorithme génétique à utiliser avec la CCF.

Cette base de donnée a aussi été conçue selon la démarche Merise. Le formalisme entités-relations résultant a ensuite été traduit dans le formalisme relationnel pour l'implémentation.

II.2.7.2 Le système de gestion des fichiers générés

a) Le modèle conceptuel

Dans le cas des bases de données précédentes, nous ne nous sommes pas intéressés à l'implémentation physique des données. La raison est que ces bases seront implémentées dans un Système de Gestion de Bases de Données (SGBD), qui par essence permet la manipulation de modèles logiques de données sans se soucier de la couche physique (gestions des index, des pointeurs, ...) qui est totalement transparente.

Ici par contre, nous sommes directement concernés par l'implémentation physique, car il s'agit d'enregistrer sur disque dur un projet d'expertise achevé ou en cours. Cela ne peut se faire efficacement qu'en considérant les possibilités offertes par le langage de programmation d'implémentation, qui est Visual Basic 6 dans notre cas. Les informations à enregistrer sont :

· Les options du projet : date de début, nom du projeteur, nom du client, nom de la chambre, profil climatique utilisé et commentaires sur le projet ;

· Les informations relatives au bilan thermique : il s'agit des données concernant les façades, les ouvertures, les compartiments et les évaporateurs ;

· Les informations relatives au diagnostic : il s'agit des données sur les groupes frigorifiques et les données obtenues par l'algorithme génétique (mesures, variables d'état et variables internes).

Le modèle conceptuel a encore été fait dans le formalisme entités-relations selon Merise. Pour l'implémentation, ce modèle a en ensuite été transcrit dans le formalisme enregistrements-ensembles (records-sets), en tenant compte des possibilités de Visual Basic. La principale caractéristique de Visual Basic exploitée ici est la gestion dynamique de la mémoire. Ainsi, le nombre d'entités (façades, ouvertures, groupes frigorifiques, ...) utilisable dans le logiciel n'est limité que par l'espace d'adressage maximal allouable par Windows lors de l'exécution de l'application. Les structures de données utilisées par exemple pour gérer les informations sur le diagnostic interne se présentent comme suit :

Public Type Grandeur 'Type de donnée des mesures et des variables Nom As String * 100

Valeur As Double

Numéro As Long

End Type

Public Type Paramètre 'Type de donnée paramètre sur un groupe Nom As String * 100

Type As Byte '0 si numérique, 1 sinon

ValeurNum As Double ValeurStr As Byte Numéro As Long

End Type

Public Type Groupe 'Type de donnée d'un groupe frigorifique CodeCCF As String * 100

Refrig As String * 100 Valider As Boolean

ListeMesures() As Grandeur ListeParam() As Paramètre ListeVarEtat() As Grandeur ListeVarInt() As Grandeur ListeMesCalc() As Grandeur

End Type

'Déclaration du tableau dynamique destiné à contenir les données sur les groupes frigorifiques 'et qui sera écrit dans les fichiers *.fnx

Public MesGroupes() As Groupe

Figure II.8 : Structure des données pour le diagnostic interne

Les enregistrements ici sont : « Grandeur », « Paramètre » et « Groupe ». Il y a un seul ensemble d'enregistrements : « MesGroupes() ». Toutes les variables ou membres de types dont la définition se termine par « () » sont des tableaux dynamiques. Comme l'enregistrement « Groupe » en compte beaucoup (ListeMesures(), ListeParam(), ...), il est donc impossible de prévoir la taille d'un enregistrement du tableau MesGroupes(). Il en est de même pour beaucoup d'autres enregistrements crées dans ce module.

b) L'implémentation physique

Dans Visual Basic, il y a trois principaux modes de création de fichiers :

· Séquentiel : il s'agit généralement de fichiers texte ;

· Aléatoire : il s'agit des fichiers constitués d'une succession d'enregistrements de même type et de même longueur ;

· Binaire : les données peuvent être de n'importe quel type. Elles sont lues octet par octet. Ce mode est le plus souple et le plus économique en terme d'espace, mais il implique la connaissance de la signification exacte de chaque groupe d'octets dans le fichier, afin de les interpréter convenablement.

A ce stade, il est évident que le mode binaire est le plus indiqué pour nos structures de données (enregistrements de tailles différentes et non prévisibles). Pour garder la signification de chacune des informations écrites, nous avons définis deux entiers non signés codés sur un octet (variant entre 0 et 255) :


· NType : c'est un numéro identifiant un enregistrement. Par l'exemple, pour l'enregistrement « Groupe » NType = 9 ;

· NSType : c'est un numéro valide dans un enregistrement, et identifiant un attribut donné. Par exemple, pour l'attribut ListeMesures() de « Groupe » NSType = 4.

A chaque donnée écrite dans le fichier, nous ajoutons donc un descripteur de deux octets (NType et NSType) devant permettre de retrouver la signification de l'information lors de la lecture du fichier. Le schéma suivant illustre ce principe :

NType

NSType

Donnée

 

Descripteur Information utile

Figure II.9 : Principe de codification des données à enregistrer

II.2.8 Autres modules

II.2.8.1 Le Module d'aide

L'aide en ligne est un composant essentiel des applications sous Windows. L'acceptation du logiciel par l'utilisateur en dépend beaucoup. Il doit permettre une maîtrise rapide du logiciel, même dès la première utilisation. Après analyse de nombreux fichiers d'aide sous Windows, nous avons choisit de structurer le notre comme suit :

· Présentation de Fronix

· Utilisation de Fronix

- Conventions de l'interface

- Editeur de texte intégré

- Commencer un projet

- Faire un bilan thermique

- Estimer l'état interne

- Lancer une expertise

- Menu des données

- Editeur de règles

· Informations supplémentaires

- L'architecture évolutive de Fronix - L'algorithme génétique

- Les principes de la logique floue - Présentation de l'auteur

II.2.8.2 Le Module d'installation

Il s'agit ici des programmes d'installation et de désinstallation. Pour un maximum de flexibilité, ces programmes peuvent être écrits par nous même, mais il existe un grand nombre d'utilitaires permettant de générer des programmes satisfaisants. Pour cette première version (qui est aussi une version d'essai), nous n'avons prévu aucun mécanisme de gestion de licences utilisateurs. En plus, aucune authentification du logiciel n'est encore faite auprès de la base des registres du système hôte. Le programme d'installation effectue donc les tâches minimales suivantes :

· Installer les composants du logiciel sur la machine hôte ;

· Installer les composants systèmes nécessaires au fonctionnement sur la machine hôte ;

· Créer des raccourcis d'exécution du logiciel à partir du bureau et du menu « Programmes » de la machine hôte.

En plus du programme d'installation, un autre de désinstallation accessible à partir du menu « Programmes » devra permettre le retrait du programme de la machine hôte.

Enfin, comme on travaille sous Windows, un fichier de commandes « Autorun.inf » placé dans la racine du CD ROM du logiciel, permettra de lancer automatiquement le programme d'installation dès la lecture dudit CD ROM. Les commandes réalisant cette action sont :

[AutoRun] open=Fronix.exe

 

Figure II.10 : Commandes du fichier Autorun.inf

« Fronix.exe » représente le programme d'installation, lui aussi placé dans la racine du CD ROM.

CHAPITRE III. MATERIEL INFORMATIQUE ET
IMPLEMENTATION

III.1 Plate-forme de développement

La plate-forme de développement regroupe toutes les ressources informatiques avec lesquelles l'application a été développée. On peut les regrouper en ressources matérielles et ressources logicielles.

III.1.1 Les ressources matérielles

L'ordinateur utilisé est un PC. Ses principales caractéristiques sont :

· Processeur : 735 Mhz, 32 bits, coprocesseur arithmétique intégré ;

· RAM : 128 Mo ;

· Taille du disque dur : 20 Go ;

· Moniteur : 17»

III.1.2 Les ressources logicielles

· Le système d'exploitation : celui utilisé est Windows XP Professionnel, travaillant avec le système de gestion de fichiers FAT32 ;

· Les outils de développement : notre application présente deux grandes exigences : une interface hyper conviviale et une grande puissance de calcul. Pour développer rapidement et efficacement nos interfaces, nous avons utilisé Visual Basic 6 Edition Entreprise qui est très adapté pour cela. Par contre, ce langage n'est pas approprié pour de lourds calculs. C'est pourquoi les modules de calcul ont été implémentés sous Visual C++ 6 Edition Entreprise ;

· Le Système de Gestion de Base de Données (SGBD) : nous avons utilisé MS ACCESS XP, qui est un SGDB relationnel ;

· Utilitaires divers : pour la création de fichiers d'aide, nous disposions de Help Workshop et HTML Help. Nous avons utilisé ce dernier, car il donne de meilleurs résultats en terme de convivialité. Pour le programme d'installation, nous avions le choix entre l'utilitaire d'empaquetage fournit en support de Visual Basic, Inno Setup Compiler et GkSetup version 1.93. Pour connaître rapidement les composants systèmes à distribuer avec notre application, nous avons utilisé l'utilitaire d'empaquetage. Mais c'est avec GkSetup qui est plus souple d'emploi que nous avons généré le programme d'installation proprement dit, sous forme de paquet auto extractible. L'autre avantage de GkSetup est qu'il permet de générer automatiquement un programme de désinstallation standard, devant retirer le logiciel d'une machine donnée. Pour éviter toute complication, ce programme de désinstallation de touche à aucun composant système de la machine hôte.

III.2 Implémentation sous MS Access XP III.2.1 Présentation de MS Access XP

MS Access est un Système de Gestion de Bases de Données (SGBD) relationnel. Les SGBD sont nés au début des années 60 lors du programme lunaire américain Apollo. Le principal avantage d'un SGBD est la transparence de sa couche physique de gestion des données. L'utilisateur ne se préoccupe donc que de la signification logique des données, ce qui lui facilite amplement la tâche.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry