institut supérieur des aumôniers du travailusers.skynet.be/ducati55/tfe/data scheet/tfe2.pdf ·...
TRANSCRIPT
Institut Supérieur des Aumôniers du Travail
Boulevard Lambermont, 17 – 1030 – Schaerbeek
Catégorie Technique de la HE EPHEC.
Département I.S.A.T.
Conception et réalisation d’un banc de test pour régulateurs Satchwell supervisé par PC
TFE
Benoit Loewenstein 0
Benoît Loewenstein Automatique Année académique 2005-2006
1. Avant-propos Avant d’expliquer mon travail, je tiens à dire que j’ai créé un site Internet ; pour toutes
informations supplémentaires : les datasheets de mes composants ainsi que les différents
programmes utilisés, dont celui que j’ai créé. Mon site est illustré par quelques photos.
Lien : http://www.tfeloewenstein.c.la/ ou http://users.skynet.be/ducati55/tfe/
Mon projet repose sur une idée venant de la société et j’ai essayé de le mener à bien et de le
réaliser. Je n’avais aucun support de départ, j’ai tout dû créer et chercher par moi–même.
Benoit Loewenstein 1
2. Remerciements
Je tiens tout d’abord à remercier Monsieur Demunter Eddy pour son aide précieuse et les
explications qu'il m'a apportées tout au long de mon stage et aussi de m’avoir accueilli au
sein de son entreprise pour effectuer mon travail de fin d’études.
Je tiens également à remercier Monsieur W . Bordon. qui a été mon maître de stage interne
durant ces quatre mois, pour la confiance et la liberté qu’il m’a accordées. Il a été très
disponible tout au long de mon TFE, n’hésitant pas à m’épauler en cas de besoin.
Et enfin je finirai en remerciant ma sœur et mes parents, sans qui je n’aurais pu mener à bien
mes études et bien sûr tous mes copains de classe et tout particulièrement mon binôme Chihi
Ali pour la bonne entente et le soutien qu’ils m’ont tous apportés tout au long de ces trois
années.
Benoit Loewenstein 2
Table des matières
1. Avant-propos.......................................................................................................................... 1
2. Remerciements ....................................................................................................................... 2
3. Présentation de la société ....................................................................................................... 5
4. Cahier des charges.................................................................................................................. 6
5. Recherche du matériel............................................................................................................ 7
5.1. Carte PCI ......................................................................................................................... 7
5.2. Automate testeur ............................................................................................................. 8
5.3. Interface........................................................................................................................... 8
5.4. Système pour simuler les entrées résistives .................................................................... 8
6. Présentation des régulateurs................................................................................................. 10
6.1. MN 440 ......................................................................................................................... 10
7. EC-67 ................................................................................................................................... 13
7.1. Alimentation.................................................................................................................. 14
7.2.Entrée ............................................................................................................................. 14
7.2.1. Câblage d'entrées résistives.................................................................................... 14
7.2.2. Câblage d'entrées digitales .................................................................................... 14
7.2.3. Câblage des entrées à courant ................................................................................ 15
7.2.4. Câblage des entrées à tension analogique .............................................................. 15
7.3. Sortie ............................................................................................................................. 16
7.3.1. Câblage des sorties digitales ................................................................................. 16
7.3.2. Câblage des sorties analogiques............................................................................ 16
7.3.3. Programmation ....................................................................................................... 17
8. Interface LON USB.............................................................................................................. 17
9. Explication du réseau LONWORKS ................................................................................... 18
9.1. Explication en bref ........................................................................................................ 18
9.2. Présentation d’Echelon.................................................................................................. 19
9.3. Quelques définitions...................................................................................................... 19
9.4. Principaux avantages de la technologie ........................................................................ 20
9.5. Clients et intégrateurs importants des technologies d’Echelon..................................... 21
9.6. Rappel............................................................................................................................ 21
9.7. Bases de LONWORKS ................................................................................................. 23
Benoit Loewenstein 3
9.8. Le Protocole LonTalk.................................................................................................... 25
10. Visual Basic ....................................................................................................................... 26
11. Principe de fonctionnement du Banc de test ...................................................................... 27
12. Fonctionnement et communication pour les régulateurs Satchwell avec VisiSat............. 28
12.1. Programme VisiSat ..................................................................................................... 28
13. Création d’un programme de test pour le MN 440 ............................................................ 32
14. EC-67 testeur...................................................................................................................... 34
14.1. Le fonctionnement général du Hardware ................................................................... 34
14.2. Le fonctionnement général du Software ..................................................................... 39
14.2.1. Test pour les entrées............................................................................................. 39
14.2.2. Adaptations au EC-67 .......................................................................................... 40
14.2.3. Organigramme du programme de l’automate testeur........................................... 42
14.2.4. Programme ........................................................................................................... 47
14.2.5. Configuration variables réseau............................................................................. 54
14.2.6. Configuration des entrées et des sorties ............................................................... 55
14.2.7. Variables internes................................................................................................. 56
15. Visual Basic ....................................................................................................................... 58
15.1. Configuration DDE pour Visual Basic........................................................................ 59
15.2. Ouvrir un fichier .txt.................................................................................................... 59
15.3. L'OBJET PRINTER .................................................................................................... 61
15.4. Routine Pause.............................................................................................................. 63
16. Mode d’emploi pour le programme de supervision ........................................................... 68
17. Installation du programme pour le EC-67.......................................................................... 71
18. Conclusion.......................................................................................................................... 74
19. Proposition d’améliorations ............................................................................................... 75
20. Bibliographie des sources .................................................................................................. 76
Benoit Loewenstein 4
3. Présentation de la société
- RGB s.p.r.l. est le représentant belge de la société « Satchwell Control Systems »
faisant partie du groupe Invensys. Ce groupe a été racheté par TAC et fait maintenant
partie du groupe Schneider.
- Satchwell est un fabricant et un ditrisbuteur d’une gamme étendue de produits de
régulation (régulateurs, capteurs, vannes, servomoteurs,etc.).
- Tous ces produits permettent d’apporter la solution au contrôle du conditionnement
d’air, de chauffage, de ventilation, de terminaux ainsi que le contrôle des chaudières et
tout cela, pour les sociétés demandant ou utilisant ces différents produits.
Benoit Loewenstein 5
4. Cahier des charges Réalisation d’un banc de test pour les régulateurs Satchwell :
- Je dois trouver une carte ou un autre système d’acquisition, qui permettra de
communiquer avec le PC.
Carte de sorties :
Sorties relais
Sorties analogiques
Carte d’entrées
Entrées digitales
Entrées analogiques
Une solution pour simuler les entrées résistives de valeurs différentes du
régulateur.
- Envoyer les informations au PC et les traiter avec le logiciel Visual Basic.
- Imprimer un rapport de test.
PCVB6
AutomateTesteur
Interface
USB LONWORKS
RégulateurMN 440
Imprimante
Benoit Loewenstein 6
5. Recherche du matériel Différentes pistes que j’ai explorées :
5.1. Carte PCI
Il a fallu trouver des moyens pour pouvoir tester les sorties et les entrées du régulateur.Le
premier moyen qui m’est venu à l’idée est une carte PCI qui comprend des entrées, sorties,
analogiques et digitales.
Après plusieurs recherches je me suis vite aperçu qu’il me faudrait au moins trois cartes PCI,
et donc avec un budget assez élevé.
La plupart des cartes PCI travaillent en TTL, cela ne m’intéresse nullement parce que les
entrées et sorties sont en 24V (c’est carte ne correspondant pas au cahier des charges). Le
nombre d’emplacements PCI disponibles dans le PC peut varier de 2 à 4 selon les modèles de
carte mère.
Ce système de carte PCI est rattaché à un seul PC et n’est donc pas très mobile.
J’ai ainsi dû abandonner mon idée de départ et en trouver une autre.
Benoit Loewenstein 7
5.2. Automate testeur
Pourquoi ne pas tester le régulateur par un autre automate, qui pourrait communiquer les
informations au PC (par exemple en modbus). Mais après quelques recherches, sur Internet je
me suis rendu compte que le langage LONWORKS était plus adapté, voire plus moderne ; de
plus, les régulateurs Satchwell pouvaient communiquer en LONWORKS si on leur ajoutait
une carte MNL-C.
Après plusieurs recherches, je me suis mis d ‘accord avec mon maître de stage interne pour
acquérir un régulateur Distech Controls EC-67, qui communique en LONWORKS.
5.3. Interface
Il m’a fallu alors une interface PC LON : soit une carte PCI , soit une interface USB .Mais
mon maître de stage préférait avoir une mobilité plus simple, plus rapide et plus facilement
adaptable sur différents PC. C’est l’interface USB produit par Echelon qui a répondu à tous
ces critères.
5.4. Système pour simuler les entrées résistives
Pour tester les entrées résistives du régulateur de façon automatique, j’ai dû trouver un moyen
pour les simuler. Sachant que la valeur de la résistance doit varier avec un minimum de
résistances et de un minimum de sorties.
Ma première idée fut d’utiliser une LDR (c.-à.-d. une résistance qui varie en fonction
de la luminosité) qui est éclairée par une lampe 10 Vdc commandée sous une tension
variant de 0 à 10 V. Après mûre réflexion, les valeurs n’étaient toujours pas
constantes, ce qui pourrait gêner le test et fournir un résultat erroné.
Benoit Loewenstein 8
Ma deuxième idée fut la bonne : quatre résistances couplées avec deux relais
permettant de changer la valeur de la résistance. Ce procédé sert à simuler des
valeurs de résistances sur l’entrée résistive du régulateur Satchwell. Les deux relais
sont commandés par l’automate EC-67 (automate testeur).
voir le schéma ci-dessous :
Le fonctionnement du montage est expliqué avec un tableau ci-dessous :
Contacteur 1 Contacteur 2 0 0 R1 1 0 R1 et R2 en série 0 1 R1 et R3 en parallèle 1 1 R1 et R2 sont en série. R3 et R4 sont en série, le tout couplé
en parallèle
Benoit Loewenstein 9
6. Présentation des régulateurs
6.1. MN 440
I/A series Micronet MN 440 est utilisé pour nombre d’applications, pour des unités de
ventilations, air conditionné, des zones de chauffage. Ces contrôleurs ont un dispositif
d’entrées universelles, sorties triac 24 V ac et des sorties analogique 0 – 10 Vdc.
Par le réglage des jumpers, le controlleur peut avoir soit des entrées analogiques, soit des
entrées résistives, soit des entrées digitales.
Benoit Loewenstein 10
Le MN 440 peut être autonome ou géré par réseaux dans micronet lonWorks, FTT network,
MicroNet ARCNET ou NCP Native Communications Protocol. Dans tous les modèles de
contrôleurs VisiSAt est utilisé pour les programmer.
Benoit Loewenstein 11
Procédure d’adressage pour régulateur Satchwell
1° Mettre tout les switchs à « 0 ».
2° Mettre le switch 8 à « 1 » pendant 1 seconde puis à « 0 » pour initialiser le régulateur.
3° Mettre les switchs 1 à 6 à « 1 » pour adresser le régulateur, le tableau ci-dessous permet d’établir la valeur de l’adresse. Ex : Si les switchs 3 et 4, sont à « 1 », l’adresse est de 4+8 donc 12. SW1 ON ou à 1
1 1 2 2 3 4 4 8 5 16 6 32
valeurs Addition des chiffres
Ici l’adresse est 2.
4° Mettre le switch 7 à « 1 ».
5° Mettre le switch 8 à « 1 » pendant 1 seconde puis à « 0 » pour fixer l’adresse dans le régulateur.
Le régulateur est maintenant adressé, mais il faut noter que la communication se fait en 1200 bps.
Benoit Loewenstein 12
7. EC-67
Le produit d'EasyControlsTM (SCC) est conçu pour commander et surveiller les équipements
HVAC*, tels que des unités de batteries de ventilateurs et des unités de pompe à chaleur. Ce
contrôleur est basé sur la technologie de LONWORKS®.
Le EC-67 est un régulateur programmable libre entrées/sorties comportant 6 entrées
universelles configurables, 5 sorties triac et 2 sorties analogiques. Ce contrôleur est fourni
avec un compilateur de codes. Le EC-67 est facilement et rapidement programmé par une
connexion en LON®, en utilisant un langage simple proche du BASIC ; la programmation du
regulateur de Distech laisse la liberté, la flexibilité et l'efficacité requises pour commander
n'importe quel système. Dix-huit constantes, dix-huit variables internes et vingt variables
réseau sont librement disponibles et peuvent être consultées et modifiées pour répondre aux
exigences particulières de commande du réseau de l'application.
En outre, tous les points de repères internes (variables, constantes, etc.) peuvent être
surveillés et modifiés par un ensemble de variables réseau (LON).
*HVAC (Heating Ventilation and Air Conditionning) : chauffage,ventilation, conditionnement d’air.
Benoit Loewenstein 13
7.1. Alimentation L’alimentation du EC-67 se fait en 24Vac/Vdc.
7.2.Entrée Le contrôleur possède six entrées. Ces entrées sont toutes configurables par le logiciel.
Chaque entrée peut être configurée pour des signaux digitaux, résistifs, à courant ou à tension
Pour cette raison, le câblage doit être fait en conséquence. Il n’y a que trois bornes de masse
pour les six entrées , deux entrées par borne.
7.2.1. Câblage d'entrées résistives Entrée de thermistance* de 10kΩ :
Entrée du potentiomètre 10kΩ :
7.2.2. Câblage d'entrées digitales Contact digital (NO ou NF)
* thermistance : C'est un composant passif en matériau semi-conducteur. Si l'auto échauffement par effet Joule est négligeable, sa résistance varie avec la température.
Benoit Loewenstein 14
7.2.3. Câblage des entrées à courant Les entrées à courant sont de types 4 à 20 mA. Le contrôleur ne fournit pas une source de
courant, et donc on doit ajouter une source d'énergie externe. Toutes les entrées à courant
doivent avoir une résistance de 500Ω, de ¼ W mise en parallèle.
Entrée de courant avec une source extérieure :
7.2.4. Câblage des entrées à tension analogique Les entrées à tension fonctionnent de 0 à 10 volts continu, avec une marge erreur de ± 0,5 %.
Benoit Loewenstein 15
7.3. Sortie Le contrôleur a des raccordements physiques pour cinq sorties numériques et deux sorties analogiques.
7.3.1. Câblage des sorties digitales
Ce sont des sorties à triac qui peuvent commuter 1 A sous 24Vac, pouvant être configurées
pour la modulation de largeur de temps ou d'impulsion (PWM*). On doit noter qu'il n'y a
aucune délivrance de tension aux bornes du triac, une source d'énergie externe doit être
branchée :
Remarque : Pour mesurer l'état d'un résultat numérique, une charge externe doit être reliée au
triac.
7.3.2. Câblage des sorties analogiques Les deux sorties analogiques peuvent être configurées pour fournir un signal sous un tension
linéaire s'étendant de 0 à 10Vdc. L'estimation courante maximum de ces sorties est de 50 mA
10 Vdc, avec une charge maximum totale de 200Ω. Ses sorties sont protégées par un
dispositif de réinitialisation automatique.
*PWM : Pulse Width Modulation
Benoit Loewenstein 16
7.3.3. Programmation La programmation se fait en LonWorks, on utilise donc une interface Lon.
Sur le site de Distech Controls (www.distech-controls.com) on peut télécharger gratuitement
« FREE PROGRAMMIN PLUG-IN V 1.3 » qui permet la programmation des régulateurs.
Mais pour pouvoir l’utiliser, il nous faut nécessairement le programme « LONWATCHER 3».
Celui-ci est payant et peut-être utilisé en démonstration pendant 30 jours. C’est par ce biais
que je l‘ai testé.
Remarque : toutes les informations supplémentaires sur le EC-67 se trouvent dans le datasheet
(sur mon site ou sur celui du constructeur).
8. Interface LON USB
Le U10 USB interface est bon marcher et est très performant pour le réseau LonWorks. Il n’y
a pas besoin d’une alimentation externe car il en possède déjà une. Le U10 USB* est idéal
pour un contrôle industriel, des bâtiments automatiques, des processus de contrôle et pour des
transports d’informations. L’installation de l’interface est aisée pour les drivers, puisqu’il
fonctionne sous Windows XP ou 2000. Le manuel et les drivers se trouvent dans le cd-rom
fourni avec l’interface. Il est compatible USB 2.0 et peut fonctionner avec une allonge de 3
mètres. L’interface peut se raccorder sur un portable ou sur un PC de bureau. *USB : Universal Serial Bus
Benoit Loewenstein 17
9. Explication du réseau LONWORKS
9.1. Explication en bref
A l'origine, les systèmes de contrôle centralisé étaient constitués d'éléments reliés à un
ordinateur central par des fils. Les coûts d'installation et de câblage étaient énormes. On les a
réduits considérablement avec l'arrivée des protocoles dédiés aux médias sériels. On pouvait
alors regrouper sur un seul fil tous les éléments d'un réseau.
Echelon Corporation est la société qui a conçu un standard de communication ouvert, appelé
LonWorks (Lon pour Local Operating Networks ) utilisé pour les réseaux d'automatismes.
Echelon a aussi créé un protocole de réseau, baptisé LonTalk, qui permet de faire circuler de
petits paquets d'informations.
L'avantage majeur de cette norme et de ce protocole, est qu'ils permettent l'interopérabilité
entre produits venant de constructeurs différents, mais surtout de domaines techniques
différents (contrôle éclairage, chauffage, ventilation, sécurité, etc.).
Dans ce type d'installation, chaque capteur devient un nœud auquel on va assigner une tâche.
Derrière chacun de ces nœuds est installée une puce ( un microcontrôleur appelé Neuron
Chip) qui contient le protocole de réseau LonWorks. Cela permet à tous les produits
d’échanger des informations entre eux et avec le centre lui-même. Après avoir paramétré le
réseau, chaque élément possède une adresse logique et chaque information que véhicule ce
produit devient donc une variable réseau modifiable. On peut ainsi modifier la valeur d'un
interrupteur qui servait à fermer un store en le faisant correspondre à une lampe.
Une fois que tous les appareils sont reliés au serveur, ils peuvent sans exception être gérés à
distance. En effet, le serveur va recevoir depuis les capteurs des informations LonWorks et
permettra via une interface web de les traiter.
Benoit Loewenstein 18
9.2. Présentation d’Echelon
Un leader dans les réseaux d’automatismes avec plus de 4000 fabricants associés et
30 millions de nœuds installés dans le monde. Le but d’Echelon est d’apporter plus
d’efficacité, de sécurité et de productivité dans les milieux tertiaires, domestiques et
industriels. Echelon a inventé la technologie de réseau de communication
LonWorks®, soit toute une famille de logiciels, de composants et d’outils.
Une société qui propose aux clients finaux et aux intégrateurs de baisser leurs coûts
d’exploitation tout en augmentant la flexibilité et l’évolutivité de leurs installations
grâce à des solutions ouvertes, interopérables et multiconstructeurs.
Un acteur majeur dans le domaine de la gestion technique, partenaire des plus grands
fournisseurs d’équipements dans tous les secteurs de l’automatisation des bâtiments :
contrôle d’accès, CVC (Chauffage Ventilation Climatisation), éclairage, sécurité,
ascenseurs, HVAC, …
Une force émergente dans l’industrie du transport grâce à de nombreuses réalisations
réussies en aéronautique, dans le ferroviaire, les transports en commun et les
véhicules d’urgence.
Un partenaire des fournisseurs d’électricité leur permettant d’offrir gestion d’énergie,
télérelevé, automatisation des appareils ménagers et autres services à valeur ajoutée.
9.3. Quelques définitions
LON abréviation de Local Operating Network. LonTalk protocole de communication embarqué dans le NEURON (firmware). LonWorks technologie utilisant le NEURON et les composants Echelon. LNS (LonWorks Network Services) logiciel pour créer, développer des applications particulières, installer, maintenir et étendre des réseaux LonWorks. LonMaker Integration Tool un logiciel essentiel pour créer, installer et étendre des réseaux LonWorks. i.LON Un produit permettant de router des messages ou d’accéder à distance à des équipements LonWorks au moyen des protocoles TCP/IP.
Benoit Loewenstein 19
9.4. Principaux avantages de la technologie
L’interopérabilité des équipements permet de fournir des installations avec des services et une
maintenance mieux pensées tout en diminuant les coûts d’exploitation.
Un réseau peut être reconfiguré ou étendu sans ingénierie particulière et sans interrompre les
échanges de données.
Le transport des données est indépendant du média. On peut utiliser le raccordement à
l’alimentation, la fibre optique, la paire torsadée, la radio, un câble coaxial. etc.. De plus,
LonWorks « voyage » sur Internet.
LonWorks supporte des installations multiconstructeurs sans la nécessité d’utiliser des
passerelles spécifiques ou des convertisseurs de protocoles. Un seul outil d’administration
réseau est nécessaire.
LonWorks est considéré comme un précurseur des systèmes ouverts sur le marché mondial.
Echelon fournit tous les produits et outils nécessaires à l’installation de réseaux. Cette
approche permet de réduire grandement les coûts de d’installation et de maintenance.
Benoit Loewenstein 20
9.5. Clients et intégrateurs importants des technologies d’Echelon o EBV (distribution) o ALSTOM (ferroviaire) o Bombardier (ferroviaire) o Honeywell (automatismes) o Johnson controls (automatismes) o Merloni (électroménager) o SAMSUNG (électroménager) o SAMPO (équipements domestiques) o Invensys Building Systems (automatismes) o Legrand (éclairages) o ENEL (distribution d’énergie) o EBM (conditionnement de salles blanches) o TAC / Schneider(automatismes) ex-Satchwell o Edwards High Vacuum o Philips Lighting (éclairage) o Enermet (comptage d’énergie) o Siemens Building Technology (automatismes) o Trend o Schindler (ascenseurs)
9.6. Rappel Les réseaux sont en train de changer notre vie. Tout autour de nous, ils servent à collecter et
échanger des données, connectant les ordinateurs, révolutionnant l’économie.
Auparavant limités à un site, ces réseaux peuvent désormais opérer à une échelle globale et
même mondiale grâce à Internet.
Aujourd’hui, une autre forme de réseau va étendre l’impact d’Internet aux domaines de
l’automatisme.
Les réseaux d’automatismes multiplient les possibilités de communication. Combinés avec les
réseaux de données. Ils fournissent immédiatement des renseignements vitaux à l’entreprise
ainsi que les moyens de réagir instantanément.
Bien que les systèmes ouverts soient devenus la norme en informatique, les automatismes
sont traditionnellement conçus à l’aide d’architectures fermées.
Benoit Loewenstein 21
Echelon est la première et la seule société qui fournit une architecture ouverte et
multiconstructeurs pour les applications d’automatisme en réseau apportant des avantages
évidents de coûts réduits et de plus grande flexibilité.
Chaque équipement dans le réseau est suffisamment intelligent pour agir indépendamment
d’un système central. Mis en réseau, ils communiquent ensemble, permettant de réaliser une
architecture à intelligence distribuée.
Les applications vont de petits réseaux intégrés dans une seule machine à d’énormes réseaux
composés de milliers d’équipements qui gèrent l’ensemble des fonctions d’un bâtiment, d’un
train ou d’une chaîne de fabrication.
Par son étonnante souplesse, cette approche permet de dépasser les limites des systèmes
traditionnels de contrôle/commande et ouvre la voie à une multitude de nouvelles applications
et de nouveaux services.
La technologie LonWorks d’Echelon fournit une grande variété de composants matériels et
logiciels puissants pour créer des réseaux LonWorks à intelligence distribuée.
Benoit Loewenstein 22
9.7. Bases de LONWORKS L’immense majorité des produits LonWorks, appelés noeuds, est construite autour d’un
microcontrôleur spécial, appelé Neuron chip. Le modèle fonctionnel du Neuron chip ainsi que
le firmware fourni avec le Neuron, le protocole LonTalk©, ont été définis par Echelon en
1990.
Le Neuron chip répond aux exigences suivantes :
o Il fournit de puissants modes d’E/S et les fonctions de communication nécessaires à la
conception d’un système distribué.
o Il utilise un identificateur unique le Neuron ID, pour son adressage sur le réseau.
o Il peut être facilement programmé en Neuron C, un langage structuré basé sur le
standard ANSI C.
o Le firmware du protocole LonTalk fournit de nombreux services pour transporter
efficacement les données et les router entre équipements.
Une fois qu’un nœud est alimenté et connecté avec un outil de gestion réseau et que le
firmware LonTalk est en cours d’exécution, l’utilisateur peut changer les modes d’opération
du noeud par des messages de gestion réseau. Il peut par exemple :
o Charger un programme dans le nœud.
o Remplacer un programme dans le nœud.
o Changer les paramètres de configuration du nœud.
o Mettre un noeud On Line ou Off Line.
o Faire un Reset sur un nœud.
o Obtenir des données d’un nœud.
o Envoyer des données à un nœud.
o Déplacer ou remplacer un noeud dans le réseau .
Benoit Loewenstein 23
Echelon et des constructeurs tiers, fournissent ensemble de puissants logiciels d’installation,
de supervision et de maintenance du réseau pour réaliser les tâches que je viens d’énumérer.
Toutes les fonctions et services de base nécessaires à la gestion des noeuds sont intégrés au
firmware. Ce dernier comporte un système d’exploitation événementiel pour ordonnancer et
exécuter le programme applicatif, gérer les structures de données nécessaires à la
communication avec d’autres noeuds et contrôler les onze broches d’E/S.
Chaque noeud dans un réseau LonWorks est identifié par son Neuron ID unique. Cet
identificateur codé sur 48 bits est protégé en écriture et stocké dans l’EEPROM du Neuron
lors de la fabrication.
Les Neuron chips communiquent entre eux en s’envoyant des messages ou trames à travers le
réseau. Le format de chaque message est dicté par le protocole LonTalk® et contient l’adresse
de l’émetteur, du destinataire, des informations de service, les données utiles, le tout complété
par un CRC de vérification.
La transmission de données est initiée et supervisée par le firmware du Neuron. Chaque trame
peut contenir jusqu’à 229 octets de données.
Les données applicatives sont transmises sous le format d’une variable réseau ou, plus
rarement, d’un message explicite.
Les variables réseau constituent une méthode structurée pour envoyer et recevoir
automatiquement des données entre noeuds sous le contrôle du firmware.
Les messages explicites fournissent une méthode simple pour envoyer et recevoir des données
entre noeuds sous le contrôle de l’application.
Benoit Loewenstein 24
9.8. Le Protocole LonTalk Le Neuron chip intègre un protocole de communication complet géré par le CPU* d’accès au
média et le CPU réseau. Ce protocole de communication est conçu selon le modèle OSI de
l’ISO. Il permet aux programmes exécutés par le CPU d’application de communiquer avec
des applications exécutées par d’autres noeuds Neuron chip n’importe où dans le même
réseau. Les services du protocole sont mis en oeuvre par des objets applicatifs appelés
variables réseau et messages explicites.
La table suivante résume les services et fonctions fournis par les 7 couches (au sens OSI) du
protocole LonTalk.
Les noeuds communiquent ensemble en s’envoyant des messages. Le concept de message est
utilisé pour chaque transport de données initié par le programme d’application faisant
référence aux variables réseau.
Les noeuds communiquent ensemble en s’envoyant des messages. Le concept de message est
utilisé pour chaque transport de données initié par le programme d’application faisant
référence aux variables réseau.
*CPU : Central Processing Unit
Benoit Loewenstein 25
10. Visual Basic Ayant eu des bases en VB à l‘école j’ai pu me débrouiller, j’ai beaucoup appris par moi-
même en utilisant des exemples sur Internet. Le lecteur qui est intéressé peut consulter les
tutoriaux sur internet.
Visual Basic 1 est apparu en 1991. C'est à partir de la version 3, sortie en 1993 qu'il connaîtra
le succès.
Le Visual Basic est une évolution des Basics précédents de Microsoft (Basica, GW Basic,
QBasic) qui permet de créer des applications fenêtrées et de pratiquer donc la programmation
événementielle. Bénéficiant de la simplicité propre au Basic, il permet de créer des
programmes assez rapidement. Le programmeur en Visual Basic manipule des éléments
affichés à l'écran, auxquels il ne reste plus qu'à associer des codes. On peut développer avec
Visual Basic toutes sortes d'applications, qui peuvent notamment être intégrées dans les
principaux logiciels Microsoft (Access, Excel, Word etc.)
Jusqu'à la version 4 de Visual Basic, il s'agissait d'un langage interprété, qui a ensuite permis
une nouvelle génération de code binaire avec la nécessité de fournir toujours un fichier
annexe de run-time (une bibliothèque dynamique, ou DLL).
Visual Basic n'est devenu un langage orienté objet qu'avec la version 7, plus couramment
appelée Visual Basic .NET. Elle peut quasiment être considérée comme un produit différent,
tant les changements apportés ont été importants. La compatibilité des sources est cassée,
brisant la philosophie originelle du basic (langage pour débutant). Pour fonctionner, cette
dernière version nécessite l'installation du framework Microsoft .NET au lieu du runtime
utilisé jusqu'à la version 6.
Benoit Loewenstein 26
11. Principe de fonctionnement du Banc de test
Il consistera à tester les entrées du régulateur Satchwell du type MN 440 grâce à un autre
automate testeur. Celui-ci récupérera les informations des sorties du MN 440. Le MN 440
sera programmé pour que les valeurs de ses sorties soient proportionnelles à ses entrées afin
de pouvoir contrôler le bon fonctionnement des entrées et des sorties du MN440.
Le banc de test se compose comme suit :
Automate testeur EC-67
Régulateur à tester MN4440
Module de simulation de résistances
Relais d’aiguillage
Relais d’états
Bornier de raccordement
Les tests se font de manière séquentielle, dans l’ordre suivant :
Test des entrées résistives du MN 440
Test des entrées digitales du MN 440
Test des entrées analogiques du MN 440
Benoit Loewenstein 27
12. Fonctionnement et communication pour les régulateurs Satchwell avec VisiSat
Avant de pouvoir tester le régulateur, il faut bien entendu en comprendre le fonctionnement et
les réactions.
Tout d’abord, j’ai dû apprendre à programmer le MN440.
Pour cela il faut installer Visio 2000, puis VisiSat. C’est un programme fourni par le
distributeur Satchwell. Il permet à Visio de recevoir une bibliothèque des différents
composants des régulateurs pour sa programmation. VisiSat possède également un serveur de
communication qui comprend NCP, LON, ARCNET.
12.1. Programme VisiSat Vous ouvrez VisiSat et vous créez un nouveau projet, par exemple le « MN test »
L’écran affiche cette fenêtre :
Faire glisser le MN 440 sur la feuille
C’est l’adresse du régulateur, ne pas oublier de la configurer
Benoit Loewenstein 28
Quand ceci est fait, nous devons configurer l’adresse du régulateur qui peut aller de 1 à 127
grâce aux switchs (expliquer plus haut) qui se trouve sur la carte du régulateur (ici je l’ai mise
à l’adresse 2) :
N’oublions pas de mettre l’adresse du régulateur dans VisiSat. Pour cela faire un clic droit
de la souris sur le régulateur et sélectionner controller address
L’adresse du régulateur est à mettre ici.
Benoit Loewenstein 29
Dans la barre des tâches on trouve cette icône VisiSat server
Ouvrons-la pour pouvoir paramétrer la communication. On clique sur Network puis Settings et on arrive dans la fenêtre (figure 2) puis cliquer sur
Configure et on obtient à la figure 3 :
Figure 3
Figure 2
Maintenant le régulateur est en communication avec VisiSAt, on peut le programmer.
Benoit Loewenstein 30
Schéma de câblage pour la communication Le protocole RS485 utilise deux fils TDA et TDC qui seront reliés au LAN du régulateur :
Le TDA ici le fil bleu est relié au LAN - (12) Le TDB ici le fil Violet est relié au LAN + (13)
Benoit Loewenstein 31
13. Création d’un programme de test pour le MN 440 Pour pouvoir tester ce régulateur, il faut bien sûr créer un programme.
Le programme consiste à relier les entrées à une sortie.
Les trois entrées résistives sont respectivement raccordées à une sortie analogique. La
valeur de résistance sort sous forme d’une tension. Mais la valeur de la tension étant
trop petite, j’ai dû la rehausser de 19 unités, c.-à.-d. 1,9 V pour une lecture plus facile.
entrée sortie
839 Ω 3 V
5510 Ω 8 V
656 Ω 2,8 V
5,1 Ω 6,1 V
Les deux entrées digitales sont raccordées chacune à trois sorties digitales.
L’entrée analogique est raccordée à une sortie analogique, mais les trois sorties
analogiques sont utilisées par les entrées résistives. Il y a donc un sélectionneur
d’entrée, qui est commandé par l’entrée digitale 4 .
Le programme pour le MN440 fait avec VisiSat est à la page suivante.
Benoit Loewenstein 32
FILE: VisioDocumentDATE: 24/04/2006
No.
REV
ISIO
ND
ATE
mn4
40
Arc
hite
ct:
Eng
inee
r: C
ontra
ctor
:
JOB: ENGR: CHKBY:
182Remaining
invensys
Sheet 1 of 1
PMJGDA
A
B
C
P
Q
R
ROLIFC
RU1U1
RU2U2
RU3U3
DU4U4
DU5U5
VU6U6
11ØØ
PP
A1A1
A2A2
A3A3
D1D1
D2D2
D3D3
D4D4
D5D5
D6D6
Résistives I1,I2,I3Digitales I4,I5Analogique I6
Sorties AnalogiquesEntrées Résistives
AA
AA
AA
U4
U5
U4
U5
U4
U5
U4
U5
U4
Entrées Digitales
Entrées Analogiques
Sorties Digitales
MN 440
Benoit Loewenstein 33
14. EC-67 testeur
14.1. Le fonctionnement général du Hardware Sur l’automate testeur il n’y a que cinq sorties dont deux sont déjà utilisées pour le module à
résistance, pour six entrées sur le MN 440. J’ai donc dû trouver un moyen pour y remédier,
faire un aiguillage avec des relais, dont la société disposait en grand nombre.
Le module de résistances sert à envoyer quatre valeurs de résistance aux bornes des
entrées résistives du régulateur à tester. Le problème est que la sortie du module ne
peut pas être directement raccordée aux trois entrées car elle influence la valeur de la
résistance ; il a fallu donc l’aiguiller.
L’entrée digitale doit être reliée avec son commun pour être à l’état « 1 ». J’ai donc
dû passer aussi par un relais pour pouvoir fermer ou ouvrir le circuit.
Les six sorties digitales sont des sorties à triac. Pour mesurer l'état d'un résultat
numérique, une charge externe doit être reliée au triac, c'est pour cela que j'ai placé un
relais d’états en guise de charge, mais par souci d'économie, je n'ai utilisé que trois
relais.
A la page suivant, on trouve le schéma bloc du principe de fonctionnement.
Benoit Loewenstein 34
Benoit Loewenstein 35
EC - 67 MN 440
Module de résistances
Aiguillage à relais
Sortiesdigitales
Entrées résistances
Entrées digitales
COM
COM
Sorties analogiques
Relais d’états
Sorties Digitales
Sortiesdigitales
Entréeanalogique
Sortie analogique
Entréeanalogique
Entréesdigitales
Sortieanalogique
Entréeanalogique
Commande de l’aiguillage
12
3
4
1 : Relais d’aiguillage
2 : Relais pour le module à résistances
3 : Relais d’états
4 : Bornier de raccordement qui va vers les MN440 et vers le PC (pour connaître sa
composition allez voir en annexe 1).
Benoit Loewenstein 36
Le module de résistances est composé de deux relais.
Le relais KA1 est raccordé à la sortie QO1 de l’automate testeur.
Le Relais KA2 est raccordé à la sortie QO2 de l’automate testeur.
L’aiguillage est composé de trois relais
Le relais KA3 est raccordé à la sortie QO3 de l’automate testeur
Le relais KA4 est raccordé à la sortie QO4 de l’automate testeur
Le relais KA8 est raccordé à la sortie QO5 de l’automate testeur
Description des relais de l’aiguillage :
KA3
Résistance variable
I1 du testeur
IC(r)2 du MN440
A02 du MN440A01 du MN440
D1 du MN440D2 du MN440
KA5
KA7D5 du MN440D6 du MN440
Résistance variableIC(r)3 du MN440
D4 du MN440KA6D3 du MN440
Résistance variableIC(r)1 du MN440
IC(d)4 du MN440Com du MN440IC(d)5 du MN440
KA4
KA8
Benoit Loewenstein 37
Description des relais d’états :
KA5Contact KA3
I3Com des entrées du testeur
Com des sorties du MN440
KA6Contact KA4
I4Com des entrées du testeur
Com des sorties du MN440
KA7Contact KA3
I5Com des entrées du testeur
Com des sorties du MN440
Benoit Loewenstein 38
14.2. Le fonctionnement général du Software
14.2.1. Test pour les entrées Il faut tester les entrées une par une car l’utilisation est effectuée par un aiguillage à relais. Pour tester :
IC_(r)1 il faut activer le relais KA8, ensuite tester les 4 valeurs de résistance prédéfinies grâce au module de résistances commandé avec KA1 et KA2. L’information arrive sur l’entrée I1 du testeur. Vérifier si la réponse de l’entrée du testeur correspond bien à la valeur de la résistance.
IC_(r)2 il faut activer le relais KA3, ensuite tester les 4 valeurs de résistance
prédéfinies grâce au module de résistances commandé avec KA1 et KA2. L’information arrive sur l’entrée I1 du testeur. Vérifier si la réponse de l’entrée du testeur correspond bien à la valeur de la résistance.
IC_(r)3 il faut activer le relais KA4, ensuite tester les 4 valeurs de résistance
prédéfinies grâce au module de résistances commandé avec KA1 et KA2. L’information arrive sur l’entrée I2 du testeur. Vérifier si la réponse de l’entrée du testeur correspond bien à la valeur de la résistance.
IC_(d)4 il faut activer le relais KA8 et vérifier que les entrées I3, I4 et I5 sont bien à
l’état « 1 »
IC_(d)5 il faut activer le relais KA3 et KA4. Vérifier que les entrées I3, I4 et I5 sont bien à l’état « 1 »
IC_(a)6 est directement reliée à la sortie analogique du testeur c.-à.-d. à Q6
Benoit Loewenstein 39
14.2.2. Adaptations au EC-67 Maintenant il va falloir créer un programme qui testera les entrées du MN440.
Nous connaissons le fonctionnement de l’aiguillage et la description des relais.
Ne pas oublier qu’il faudra communiquer avec Visual Basic : j’ai décidé que quand VB
voudra tester une entrée, il enverra une valeur dans une variable réseau LonWorks et
l’automate testeur testera l’entrée en fonction de la valeur de la variable puis suivant la
réaction du régulateur MN440 renverra une valeur dans une variable à VB.
Variable réseau en entrée : « nviFP_02 »
Variable réseau en sortie : « nvoFP_04 » qui est associé à la variable interne « Increm »
Sorties : Q1 => relay1 Q2 => relay2 Q3 => relay3 Q4 => relay4 Q5 => relay8 Q6 => varia Entrées : I1 => resist1 I2 => resist2 I3 => relay5 I4 => relay6 I5 => relay7 1 Volt est égal à 10 unités de l’automate Signification des valeurs de la variable Increm : Increm = 1 Il y a une erreur sur l’entrée IC_(R) 1 due au test1 : 840 Ω ou 3 volt Increm = 2 Il y a une erreur sur l’entrée IC_(R) 1 due au test2 : 5510 Ω ou 8 volt Increm = 3 Il y a une erreur sur l’entrée IC_(R) 1 due au test3 : 656 Ω ou 2,8 volt
Benoit Loewenstein 40
Increm = 4 Il y a une erreur sur l’entrée IC_(R) 1 due au test4 : 3406 Ω ou 6,1volt Increm = 44 l’entrée IC_(R) 1 est OK Increm = 5 Il y a une erreur sur l’entrée IC_(R) 2 due au test1 : 840 Ω ou 3 volt Increm = 6 Il y a une erreur sur l’entrée IC_(R) 2 due au test2 : 5510 Ω ou 8 volt Increm = 7 Il y a une erreur sur l’entrée IC_(R) 2 due au test3 : 656 Ω ou 2,8 volt Increm = 8 Il y a une erreur sur l’entrée IC_(R) 1 due au test4 : 3406 Ω ou 6,1volt Increm = 88 l’entrée IC_(R) 2 est OK Increm = 9 Il y a une erreur sur l’entrée IC_(R) 3 due au test1 : 840 Ω ou 3 volt Increm = 10 Il y a une erreur sur l’entrée IC_(R) 3 due au test2 : 5510 Ω ou 8 volt Increm = 11 Il y a une erreur sur l’entrée IC_(R) 3 due au test3 : 656 Ω ou 2,8 volt Increm = 12 Il y a une erreur sur l’entrée IC_(R) 3 due au test4 : 3406 Ω ou 6,1volt Increm = 122 l’entrée IC_(R) 3 est OK Increm = 21 Erreur : la sortie digitale DO1 ne fonctionne pas Increm = 22 Erreur : la sortie digitale DO3 ne fonctionne pas Increm = 23 Erreur : la sortie digitale DO5 ne fonctionne pas
Benoit Loewenstein 41
Increm = 24 Erreur : la sortie digitale DO1 DO3 D05 ne fonctionne pas ou alors l entrée IC_(D) 4 ne fonctionne pas Increm = 200 l’entrée IC_(D) 4 et les sorties digitales DO1 DO3 D05 sont OK Increm = 26 Erreur : la sortie digitale DO2 ne fonctionne pas Increm = 27 Erreur : la sortie digitale DO4 ne fonctionne pas Increm = 28 Erreur : la sortie digitale DO6 ne fonctionne pas Increm = 29 Erreur : la sortie digitale DO2 DO4 D06 ne fonctionne pas ou alors l entrée IC_(D) 5 ne fonctionne pas Increm = 210 l’entrée IC_(D) 5 et les sorties digitales DO2 DO4 D06 sont OK Increm = 30 Il y a une erreur sur l’entrée IC_(A) 6 due au test1 : 5 volt Increm = 31 Il y a une erreur sur l’entrée IC_(A) 6 due au test2 : 6 volt Increm = 32 Il y a une erreur sur l’entrée IC_(A) 6 due au test3 : 7 volt Increm = 33 Il y a une erreur sur l’entrée IC_(A) 6 due au test4 : 3 volt Increm = 333 l’entrée IC_(D) 6 est OK
14.2.3. Organigramme du programme de l’automate testeur
Benoit Loewenstein 42
Benoit Loewenstein 43
Depart test IC_(r)1
nviFP_02= 1
Faux
Vrai
Relay8 = 1Increm = 1
resist1= 29 ou 30
Faux
Vrai
Relay8 = 1Relay1 = 1Increm = 2
resist1= 79 ou 80
Faux
Vrai
Relay8 = 1Relay2 = 1Increm = 3
resist1= 27 ou 28
Faux
Vrai
Relay8 = 1Relay1 = 1Relay2 = 1Increm = 4
resist1= 60 ou 61
Faux
Vrai
Increm = 44
Depart test IC_(r)2
nviFP_02= 2
Faux
Vrai
Relay3 = 1Increm = 5
resist1= 29 ou 30
Faux
Vrai
Relay3 = 1Relay1 = 1Increm = 6
resist1= 79 ou 80
Faux
Vrai
Relay3 = 1Relay2 = 1Increm = 7
resist1= 27 ou 28
Faux
Vrai
Relay3 = 1Relay1 = 1Relay2 = 1Increm = 8
resist1= 60 ou 61
Faux
Vrai
Increm = 88
Depart test IC_(r)3
nviFP_02= 3
Faux
Vrai
Relay4 = 1Increm = 9
resist1= 29 ou 30
Faux
Vrai
Relay4 = 1Relay1 = 1Increm = 10
resist1= 79 ou 80
Faux
Vrai
Relay4 = 1Relay2 = 1Increm = 11
resist1= 27 ou 28
Faux
Vrai
Relay4 = 1Relay1 = 1Relay2 = 1Increm = 12
resist1= 60 ou 61
Faux
Vrai
Increm = 122
Dep
art t
est I
C_(
d)4
nviF
P_0
2=
4
Faux
Vrai
Rel
ay8
= 1
Rel
ay5
= 1e
tR
elay
6 =
1et
Rel
ay7
= 1
Faux
Vra
i
Incr
em =
200
Rel
ay5
= 0
etR
elay
6 =
1et
Rel
ay7
= 1
Faux
Vrai
Incr
em =
21
Rel
ay5
= 1
etR
elay
6 =
0 et
Rel
ay7
= 1
Faux
Vrai
Incr
em =
22
Rel
ay5
= 1
etR
elay
6 =
1 et
Rel
ay7
= 0
Faux
Vrai
Incr
em =
23
Rel
ay5
= 0
etR
elay
6 =
0 et
Rel
ay7
= 0
Faux
Vrai
Incr
em =
24
Benoit Loewenstein 44
Dep
art t
est I
C_(
d)5
nviF
P_0
2=
4
Faux
Vrai
Rel
ay3
= 1
Rel
ay4
= 1
Rel
ay5
= 1e
tR
elay
6 =
1et
Rel
ay7
= 1
Faux
Vra
i
Incr
em =
210
Rel
ay5
= 0
etR
elay
6 =
1et
Rel
ay7
= 1
Faux
Vrai
Incr
em =
26
Rel
ay5
= 1
etR
elay
6 =
0 et
Rel
ay7
= 1
Faux
Vra
i
Incr
em =
27
Rel
ay5
= 1
etR
elay
6 =
1 et
Rel
ay7
= 0
Faux
Vrai
Incr
em =
28
Rel
ay5
= 0
etR
elay
6 =
0 et
Rel
ay7
= 0
Faux
Vrai
Incr
em =
29
Benoit Loewenstein 45
Depart test IC_(a)6
nviFP_02= 6
Faux
Vrai
Relay8 = 1Varia = 50
Increm = 30
resist248><50
Faux
Vrai
Relay8 = 1Varia = 60
Increm = 31
resist258><60
Faux
Vrai
Relay8 = 1Varia = 70
Increm = 32
resist268><70
Faux
Vrai
Relay8 = 1Varia = 30
Increm = 33
resist228><30
Faux
Vrai
Increm = 333
Benoit Loewenstein 46
14.2.4. Programme Code à taper dans le programme FreeProg
VAR_REST = resist1 VAR_SW2 = resist2 REM * * * * * * * * * * * * * * * * * * * * * * * * * * * RESET * * * * * * * * * * * * * * * * * * * * * * * * * * IF ( nviFP_02 = 99 ) start = 0 increm = 0 relay8 = 0 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 0 varia = 0 ENDIF
Benoit Loewenstein 47
REM * * * * * * * * * * ** * * * * * * * * * * TEST DE R1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * IF ( nviFP_02 = 1 ) start = 1 ENDIF IF ( start = 1 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 0 increm = 1 IF ( resist1 = 29 ) OR ( resist1 = 30 ) start = 2 ENDIF ENDIF IF ( start = 2 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 1 relay2 = 0 increm = 2 IF ( resist1 = 79 ) OR ( resist1 = 80 ) start = 3 ENDIF ENDIF IF ( start = 3 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 1 increm = 3 IF ( resist1 = 27 ) OR ( resist1 = 28 ) start = 4 ENDIF ENDIF IF ( start = 4 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 1 relay2 = 1 increm = 4 IF ( resist1 = 60 ) OR ( resist1 = 61 ) increm = 44 ENDIF ENDIF
Benoit Loewenstein 48
REM * * * * * * * * * * ** * * * * * * * * * * TEST DE R2 * * * * * * * * * * * * * * * * * * * * * * * * * * * * IF ( nviFP_02 = 2 ) start = 5 ENDIF IF ( start = 5 ) relay8 = 0 relay3 = 1 relay4 = 0 relay1 = 0 relay2 = 0 increm = 5 IF ( resist1 = 29 ) OR ( resist1 = 30 ) start = 6 ENDIF ENDIF IF ( start = 6 ) relay8 = 0 relay3 = 1 relay4 = 0 relay1 = 1 relay2 = 0 increm = 6 IF ( resist1 = 79 ) OR ( resist1 = 80 ) start = 7 ENDIF ENDIF IF ( start = 7 ) relay8 = 0 relay3 = 1 relay4 = 0 relay1 = 0 relay2 = 1 increm = 7 IF ( resist1 = 27 ) OR ( resist1 = 28 ) start = 8 ENDIF ENDIF IF ( start = 8 ) relay8 = 0 relay3 = 1 relay4 = 0 relay1 = 1 relay2 = 1 increm = 8 IF ( resist1 = 60 ) OR ( resist1 = 61 ) increm = 88 ENDIF ENDIF
Benoit Loewenstein 49
REM * * * * * * * * * * ** * * * * * * * * * * TEST DE R3 * * * * * * * * * * * * * * * * * * * * * * * * * * * * IF ( nviFP_02 = 3 ) start = 9 ENDIF IF ( start = 9 ) relay8 = 0 relay3 = 0 relay4 = 1 relay1 = 0 relay2 = 0 increm = 9 IF ( resist2 = 29 ) OR ( resist2 = 30 ) start = 10 ENDIF ENDIF IF ( start = 10 ) relay8 = 0 relay3 = 0 relay4 = 1 relay1 = 1 relay2 = 0 increm = 10 IF ( resist2 = 79 ) OR ( resist2 = 80 ) start = 11 ENDIF ENDIF IF ( start = 11 ) relay8 = 0 relay3 = 0 relay4 = 1 relay1 = 0 relay2 = 1 increm = 11 IF ( resist2 = 27 ) OR ( resist2 = 28 ) start = 12 ENDIF ENDIF IF ( start = 12 ) relay8 = 0 relay3 = 0 relay4 = 1 relay1 = 1 relay2 = 1 increm = 12 IF ( resist2 = 60 ) OR ( resist2 = 61 ) increm = 122 ENDIF ENDIF
Benoit Loewenstein 50
REM * * * * * * * * * * * * * * * * * * * * * * TEST D4 * * * * * * * * * * * * * * * * * * * * * * * * * * * IF ( nviFP_02 = 4 ) start = 20 ENDIF IF ( start = 20 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 0 IF ( relay5 = 1 ) AND ( relay6 = 1 ) AND ( relay7 = 1 ) increm = 200 ELSE IF ( relay5 = 0 ) AND ( relay6 = 1 ) AND ( relay7 = 1 ) increm = 21 ENDIF IF ( relay6 = 0 ) AND ( relay5 = 1 ) AND ( relay7 = 1 ) increm = 22 ENDIF IF ( relay7 = 0 ) AND ( relay5 = 1 ) AND ( relay6 = 1 ) increm = 23 ENDIF IF ( relay7 = 0 ) AND ( relay5 = 0 ) AND ( relay6 = 0 ) increm = 24 ENDIF ENDIF ENDIF
Benoit Loewenstein 51
REM * * * * * * * * * * * * * * * * * * * * * * TEST D5 * * * * * * * * * * * * * * * * * * * * * * * * * * * IF ( nviFP_02 = 5 ) start = 25 ENDIF IF ( start = 25 ) relay8 = 0 relay3 = 1 relay4 = 1 relay1 = 0 relay2 = 0 IF ( relay5 = 1 ) AND ( relay6 = 1 ) AND ( relay7 = 1 ) increm = 210 ELSE IF ( relay5 = 0 ) AND ( relay6 = 1 ) AND ( relay7 = 1 ) increm = 26 ENDIF IF ( relay6 = 0 ) AND ( relay5 = 1 ) AND ( relay7 = 1 ) increm = 27 ENDIF IF ( relay7 = 0 ) AND ( relay5 = 1 ) AND ( relay6 = 1 ) increm = 28 ENDIF IF ( relay7 = 0 ) AND ( relay5 = 0 ) AND ( relay6 = 0 ) increm = 29 ENDIF ENDIF ENDIF
Benoit Loewenstein 52
rem * * * * * * * * * * * * * * * * * * * * * test A6 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * IF ( nviFP_02 = 6 ) start = 30 ENDIF IF ( start = 30 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 0 varia = 50 increm = 30 IF ( resist2 > 48 ) AND ( resist2 < 50 ) start = 31 ENDIF ENDIF IF ( start = 31 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 0 varia = 60 increm = 31 IF ( resist2 > 58 ) AND ( resist2 < 60 ) start = 32 ENDIF ENDIF IF ( start = 32 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 0 varia = 70 increm = 32 IF ( resist2 > 67 ) AND ( resist2 < 70 ) start = 33 ENDIF ENDIF IF ( start = 33 ) relay8 = 1 relay3 = 0 relay4 = 0 relay1 = 0 relay2 = 0 varia = 30 increm = 33 IF ( resist2 > 28 ) AND ( resist2 < 30 ) increm = 333 ENDIF ENDIF END
Benoit Loewenstein 53
14.2.5. Configuration variables réseau
Benoit Loewenstein 54
14.2.6. Configuration des entrées et des sorties
Benoit Loewenstein 55
14.2.7. Variables internes
Benoit Loewenstein 56
Benoit Loewenstein 57
15. Visual Basic Le programme que j’ai créé sert à envoyer ou à recevoir des informations du réseau
LonWorks. Il a d’abord fallu trouver un moyen pour récupérer les données, le plus simple
pour moi était de télécharger le logiciel LNS DDE Server de chez Echelon. Celui-ci est
payant et peut être utilisé en démonstration pendant 30 jours.
Benoit Loewenstein 58
15.1. Configuration DDE pour Visual Basic Explication brève: DDE (Dynamic Data Exchange) est un protocole qui permet à deux applications (au minimum) chargées en mémoire de communiquer entre elles. Une application DDE est composée d'un serveur DDE et de un ou plusieurs clients. La DDE servira à récupérer les informations des variables réseau dans le programme LNS DDE Server
With Text1 .LinkItem = "ec-67.HwIn2.nvoFP_02 .LinkTimeout = 50 .LinkTopic = "LNSDDE" & "|" & "teste.subsystem 1.LMNV" .LinkMode = 1 End With
15.2. Ouvrir un fichier .txt Le rapport de test ainsi que les éventuelles erreurs qui pourraient survenir au cours du test
seront enregistrées dans un fichier avec la date et l’heure du test.
Explication :
Pour ouvrir un fichier, vous devez connaître son nom (y compris le chemin d’accès), dire ce
que vous voulez en faire (lire, écrire, ou ajouter) et lui attribuer un numéro arbitraire, dit
numéro de canal. Cela donnera ainsi :
Open " C:\TextFile.txt " For Input As #1
Bien sûr, si vous utilisez plusieurs fichiers simultanément, il est impératif de leur attribuer à
chacun un numéro de canal différent… For Input signifie qu’on ouvre le fichier en lecture.
Pour l’ouvrir en écriture, on utilisera For Output, et pour l’ouvrir en ajout, For Append dont
cette fonction sera utilisée dans le programme.
voici l'instruction de fermeture du fichier :
Close #1
Benoit Loewenstein 59
Mais pour des raisons de facilité, les rapports seront enregistrés les uns derrière les autres
dans le même fichier. J’ai rajouté une commande pour qu’à l’enregistrement nous puissions
choisir l’emplacement et le nom du fichier. Mais si le nom existe déjà, il ne le remplacera pas,
mais le rajoutera. Il sera mis par défaut à l’emplacement du EXE et il portera le nom de
test.txt.
CMD est un événement dans Visual Basic
' - - - - - - - - - - - - - - - - - - - - - - - - - - ' Définition des propriétés de la boîte de dialogue ' - - - - - - - - - - - - - - - - - - - - - - - - - - CMD.CancelError = True CMD.Filter = "Perso (*.txt)|(*.txt)|Tous les fichiers (*.*)|*.*" CMD.FilterIndex = 1 CMD.InitDir = App.Path & "\archive\" CMD.FileName = text6.Text + ".txt" ' ' Définition de la routine de traitement d'erreur ' et affichage de la boîte de dialogue ' On Error GoTo Annuler CMD.ShowSave ' ' Message affiché si un fichier a été sélectionné ' rep = MsgBox("La sauvegarde sera réalisée dans le fichier " + CMD.FileName + ".", vbOK, "Enregistrement") GoTo Suite: ' ' Message affiché en cas d'erreur ' Annuler: Suite:
Benoit Loewenstein 60
15.3. L'OBJET PRINTER En lui-même, cet objet est assez simple d'utilisation. Membre de la collection printers (ensemble des imprimantes disponibles) il dispose de propriétés et de méthodes peu nombreuses et ne gère aucun événement. Tout d'abord nous allons décrire les propriétés les plus importantes de l'objet printer.
Propriétés affectant l'impression en général :
Propriétés Définition
Printer.ColorMode = 1 Définit si l'imprimante imprime en couleur ou en noir (Ici:Noir)
Printer.Copies = 1 Définit le nombre de copies à imprimer (ici : 2) Printer.Height = 297 Printer.Width = 210
Définit la longueur et la largeur de la feuille (par défaut format A4)
Printer.Orientation = 1 Définit si l'impression se fera en portrait (1) ou paysage (2)
Printer.PrintQuality = 9 Définit la qualité de l'impression (ici : Maximal)
Propriétés affectant les objets directement :
Propriétés Définition Printer.CurrentX Printer.CurrentY Définissent le coin supérieur gauche du début d'impression
Printer.ScaleMode = 6 Unité de l'échelle qui va permettre de contrôler la position exacte de l'impression( ici : 6 mm)
Printer.ScaleHeight Printer.ScaleLeft Printer.ScaleTop Printer.ScaleWidth
Propriétés utilisées pour connaître la zone imprimable Renvoie ou définit les coordonnées d'un objet Unité de mesure = échelle définie dans la propriété ScaleMode
Printer.DrawStyle = 2 Définit le style de trait (continu, pointillé...)( ici : pointillé)
Printer.DrawWidth = 2 Définit la largeur du trait (ici : 2 pixels)
Printer.FillColor = &HFFFFFF Définit la couleur de remplissage d'une forme, d'une boîte ... (ici : BLANC)
Printer.EndDoc Met fin au travail d’impression et envoie le document vers le périphérique. (début de l'impression)
Printer.Font = "Arial" Printer.FontBold = True Printer.FontItalic = True Printer.FontSize = 14 Printer.FontUnderline = True Printer.ForeColor = &H808080
Définissent toutes les propriétés relatives à l'apparence du texte à imprimer( ici : le texte sera en comic sans ms, en gras, en italique, de taille 14 points, souligné et de couleur gris foncé)
Benoit Loewenstein 61
Méthode Print
Cette méthode permet d'avoir une impression très précise car c'est le programmeur qui va rentrer tous les paramètres nécessaires pour disposer sur la feuille chaque objet à imprimer.
Voyons tout d'abord comment imprimer une chaîne de caractères : Printer.print "Bonjour" Printer.EndDoc
Pour un texte qui est placé dans une textbox (TextBox1) par exemple, il faudra mettre :
Printer.Print TextBox.Text Printer.EndDoc
Pour faire une tabulation c.-à.-d. sauter une colonne, il suffit de mettre une virgule.
Printer.Print TextBox.Text, TextBox2.Text Printer.EndDoc
Paramétrage de l’impression avec une boîte de dialogue
Private Sub p_impression_Click() ' - - - - - - - - - - - - - - - - - - - - - - - - - - ' Définition des propriétés de la boîte de dialogue ' - - - - - - - - - - - - - - - - - - - - - - - - - - CMD.CancelError = True CMD.Flags = &H1& 'Active le bouton radio Sélection CMD.Copies = 1 'Définit 1 copie par défaut CMD.PrinterDefault = True 'Autorise la modification du paramétrage par défaut On Error GoTo Annuler CMD.ShowPrinter ' ' Message affiché si une couleur a été sélectionnée ' rep = MsgBox("Paramètres enregistrés", vbOK, "impression") GoTo Suite: ' ' Message affiché en cas d'erreur ' Annuler: rep1 = MsgBox("Vous avez appuyé sur le bouton Annuler.", vbOK, "impression") Suite: End Sub
Benoit Loewenstein 62
15.4. Routine Pause Il m’a fallu créer une routine pour pouvoir facilement faire une pause entre deux actions. +
Public Sub pause(durée As Long) Dim actu As Long actu = Timer Do Until Timer - actu >= durée DoEvents Loop End Sub Pour appeler la routine et configurer un temps, il suffit de mettre pause chiffres(secondes). Exemple : pause 4
Voilà les principales actions spéciales que j’ai utilisées pour créer le programme en Visual Basic, le programme complet se trouve en annexe 2.
Benoit Loewenstein 63
Benoit Loewenstein 64
Depart
Déclaration de variable
Configuration DDE
Reset de l’automate testeur
BoutonStart
Faux
Vrai
BoutonIc_(r)1
Faux
Vrai
Met 1 dans variable_reseau_1
variable_reseau_2 = 44
Faux
Vrai
BoutonIc_(r)2
Faux
Vrai
Met 2 dans variable_reseau_1
Faux
Vrai
BoutonIc_(r)3
Faux
Vrai
Met 3 dans variable_reseau_1
Faux
Vrai
BoutonIc_(d)4
Faux
Vrai
Met 4 dans variable_reseau_1
Faux
Vrai
BoutonIc_(r)1
Faux
Vrai
Met 5 dans variable_reseau_1
Faux
Vrai
BoutonIc_(r)1
Faux
Vrai
Met 6 dans variable_reseau_1
Faux
Vrai
variable_reseau_2 = 88
variable_reseau_2 = 122
variable_reseau_2 = 200
variable_reseau_2 = 210
variable_reseau_2 = 333
Fin
F1 F2 F3 F4 F5
Variable_reseau_1 est une variable d’entrée pour l’automate
Variable_reseau_2 est une variable de sortie pour l’automate
R1 R2 R3 R4 R5
F6
F1
Variable_Variable_2
= 1Faux
Vrai
Afficher message d’erreur dû au test1
R1
Faux
Vrai
Afficher message d’erreur dû au test2
R1
Faux
Vrai
Afficher message d’erreur dû au test3
R1
Faux
Vrai
Afficher message d’erreur dû au test4
R1
Variable_Variable_2
= 2
Variable_Variable_2
= 3
Variable_Variable_2
= 4
F2
Variable_Variable_2
= 5Faux
Vrai
Afficher message d’erreur dû au test1
R2
Faux
Vrai
Afficher message d’erreur dû au test2
R2
Faux
Vrai
Afficher message d’erreur dû au test3
R2
Faux
Vrai
Afficher message d’erreur dû au test4
R2
Variable_Variable_2
= 6
Variable_Variable_2
= 7
Variable_Variable_2
= 8
Benoit Loewenstein 65
Benoit Loewenstein 66
F3
Variable_Variable_2
= 9Faux
Vrai
Afficher message d’erreur dû au test1
R3
Faux
Vrai
Afficher message d’erreur dû au test2
R3
Faux
Vrai
Afficher message d’erreur dû au test3
R3
Faux
Vrai
Afficher message d’erreur dû au test4
R3
Variable_Variable_2
= 10
Variable_Variable_2
= 11
Variable_Variable_2
= 12
F4
Variable_Variable_2
= 21Faux
Vrai
Afficher message d’erreur sur la sortie DO1
R4
Faux
Vrai
Afficher message d’erreur sur la sortie DO3
R4
Faux
Vrai
Afficher message d’erreur sur la sortie DO5
R4
Faux
Vrai
Afficher message d’erreur sur les sorties DO1 DO3
DO5
R4
Variable_Variable_2
= 22
Variable_Variable_2
= 23
Variable_Variable_2
= 24
Benoit Loewenstein 67
F6
Variable_Variable_2
= 30Faux
Vrai
Afficher message d’erreur dû au test1
Faux
Vrai
Afficher message d’erreur dû au test2
Faux
Vrai
Afficher message d’erreur dû au test3
Faux
Vrai
Afficher message d’erreur dû au test4
Variable_Variable_2
= 31
Variable_Variable_2
= 32
Variable_Variable_2
= 33
FIn
FIn
FIn
FIn
F5
Variable_Variable_2
= 26Faux
Vrai
Afficher message d’erreur sur la sortie DO2
R5
Faux
Vrai
Afficher message d’erreur sur la sortie DO4
R5
Faux
Vrai
Afficher message d’erreur sur la sortie DO6
R5
Faux
Vrai
Afficher message d’erreur sur les sorties DO2 DO4
DO5
R5
Variable_Variable_2
= 27
Variable_Variable_2
= 28
Variable_Variable_2
= 29
16. Mode d’emploi pour le programme de supervision L’exécution du programme commence avec l’ouverture d’une fenêtre (voir ci-desous). Avant de pouvoir tester le régulateur il faut bien entendu se connecter au réseau LonWorks.
Benoit Loewenstein 68
Quand on est connecté le bouton Start est dégrisé et, dans le commentaire, il est mis « prêt ».
Le test ne s’effectueraque quand on aurapoussé sur le boutonStart. Par défaut, c’estl’entrée IC_(r)1 qui seratestée en premier mais sion veut on peut testerdirectement une autreentrée.
Exemple : quand le test del’entrée IC_(r)1 est ok, il se metautomatiquement sur la deuxièmeentrée à tester.
Benoit Loewenstein 69
Imprime le rapport
Pour choisir l’imprimante
Pour enregistrer le test dans un fichiertxt, il demandera le nom oul’emplacement. L’emplacement pardéfaut se trouve à l’emplacement duprogramme et le nom par défaut esttest.txt
Fonction d’aide pour les valeurs de la variable
Pour pouvoir visionner un exemple de page de test imprimée référez-vous à l’annexe 5
Benoit Loewenstein 70
17. Installation du programme pour le EC-67 Vu que ce testeur est nouveau dans la société, personne n’a été formé pour m’épauler et
m’aider à le mettre en service. J’ai donc cherché par moi-même. A vrai dire, l’installation du
programme est un peu complexe, c’est pourquoi je vais le détailler. Ce système est censé se
connecter à n’importe quel PC.
Programmation de l’automate
Sur le site de Distech Controls on peut télécharger gratuitement « free programmin plug-in
v1.3 » et le programme LonWatcher3. Tout d’abord installer LonWatcher3 puis free
programmin.
Remarque importante : pour pouvoir créer une base de données pour le EC-67, il
faut préalablement installer le driver de l’interface LonWorks, le connecter à l’automate
testeur et le mettre sous tension.
Création d’une base de donnée réseau Ouvrir le logiciel LonWatcher 3 ; la fenêtre suivante apparaît :
Benoit Loewenstein 71
Cliquer sur file puis sur Create Networks Database ou plus simplement ctrl + w
Mettre le nom de la base de données (exemple : test)
Une nouvelle base de donnée réseaux a été créée ; faire un double clique sur celle-ci.
Ceci est le nom de l’interface USB
Cliquer sur Ok et on est connecté à l’interface LonWorks.
Benoit Loewenstein 72
sélectionner Distech free programming tool pour l’ajouter puis sur ok
Maintenant spécifier le type d’automate.
Benoit Loewenstein 73
18. Conclusion j’ai trouvé chez RGB tout ce que j’espérais pour mon stage, un bon accueil et une bonne
ambiance qui m’ont permis de m’intégrer facilement au sein de l’entreprise.
Dés le premier contact, j’ai senti que je passerais trois mois agréables au sein de cette
entreprise dynamique et sympathique. Avant de commencer mon stage, je me posais des
questions quant à savoir comment j’allais pouvoir appliquer ce que j’avais appris lors de mes
études dans le monde de l’entreprise.
A l’issue de ce projet j’ai dû apprendre à me débrouiller seul et à gérer les différents
problèmes rencontrés et surtout savoir y remédier. Grâce à ce projet, j’ai pris conscience que
la connaissance des langues (notamment l’anglais et le néerlandais) est indispensable dans ce
type de métier.
Ce projet a enrichi ma connaissance du réseau LonWorks, les différents types de langages de
programmation non vus au cours. Il m’a aussi donné une bonne base en Visual Basic.
Je suis fier d’avoir pu faire aboutir ce projet dont l’idée était née de la société.
Le réseau LonWorks présente un formidable moyen technique de communication qui va
probablement révolutionner le système d’information des entreprises. Cette révolution
technique est porteuse d’un véritable changement pour le management des réseaux.
Je rappelle que l’objectif de notre travail était de réaliser un banc de test pour pouvoir tester
les régulateurs de chez Satchwell. Par manque temps je n ai réaliser que le test du MN 440.
Benoit Loewenstein 74
19. Proposition d’améliorations
Installer la carte MNL-C sur les régulateurs et se procurer plus d’informations sur celle-ci.
Etendre la gamme des régulateurs testables par le banc.
Programmer les régulateurs en LonWorks et non en NCP (avec la carte MNL-C).
Travailler sous Visual Basic.Net.
Benoit Loewenstein 75
20. Bibliographie des sources Carte PCI http://www.audon.co.uk/data_acq.htmlhttp://www.wigi.fr/Composants/Kits/interf.htmhttp://www.superlogics.com/pci-data-acquisition-boards/low-cost-board/219.htmhttp://www.smatlab.com/Smatlab.htmlhttp://www.acceed.de/groups/33500.html?PHPSESSID=5a52be2a686df42502e71ce495e90edb http://generalstandards.com/ Automates http://www.systemhouse.nl/http://www.telemecanique.com/fr/products/index_fon5_fam11_aut_modicontwido.htm EC-67 http://www.lonmark.org/products/prodinfo.cfm?ProductID=720 Site official de Distech Conrols http://www.distech-controls.com/DISTECH_2004/ENG/HOME_FLASH/home.htm#pour avoir accès au logiciel ou datasheet complémentaire, il faut un login mais je ne peux le dévoiler car il appartient à la société. MN 440 http://www.ibsp.pl/reg-programowalne.htmlhttp://www.satchwell.fr/ Tutorials Visual Basic http://membres.lycos.fr/Lightness1024/cours_VB.htmlhttp://60gp.ovh.net/~toutla/prog/vb.htmlhttp://www.pise.info/vb/intro.htmhttp://www.developpez.com/vbasic/tutoriel/sommaire.php Echelon Pour tous les drivers ainsi que le logiciel DDE http://www.echelon.com/ RGB s.p.r.l. http://www.rgb.be/indexfr.html
Benoit Loewenstein 76