Réalisation d`un automate pour aquarium marin
Transcription
Réalisation d`un automate pour aquarium marin
Auteur: A. LEGEAY Date: 01 Novembre 2006 1 Réalisation d'un automate pour aquarium marin ANALYSE LOGICIELLE version logiciel MCP : version logiciel MCS : FINAL_MCP_V2_00G FINAL_MCS_V2_00G Solution électronique (cartes) : version 2 Auteur: A.N. LEGEAY [email protected] REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 2 MODIFICATIONS Date 6 Octobre 2006 01 Novembre : 1. 2. 3. 4. Objet simplification du code osmolateur Modification de la surveillance de fonctionnement (WatchDog) Modification de la gestion de l’heure Modification structure des Données 1. 2. Correction Bogue sur Ecran Dates Ajout d’un écran pour contrôle du fonctionnement des séquences (Mode_Fonc) REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 3 SOMMAIRE 1. INTRODUCTION......................................................................................................................................... 4 2. DROITS D’UTILISATION, RESPONSABILITES : ............................................................................... 4 3. PRINCIPES LOGICIELS :.......................................................................................................................... 5 4. LES DONNEES: ........................................................................................................................................... 5 5. GESTION DE L'HEURE ET DES TEMPORISATIONS........................................................................10 6. AFFECTATION DES ENTREES / SORTIES .........................................................................................11 7. LES COMMUNICATIONS SERIES ........................................................................................................12 7.1. 7.2. 7.3. 7.4. 7.5. 8. FONCTIONNEMENT ..................................................................................................................................12 SECURISATION DES COMMUNICATIONS : .................................................................................................12 CARACTERISTIQUES DE LA COMMUNICATION SERIE :..............................................................................13 LOGICIEL DE COMMUNICATION DU MC-S: ..............................................................................................14 LOGICIEL DE COMMUNICATION DU MC-P: ..............................................................................................14 LOGICIEL DU MC-S..................................................................................................................................15 8.1. 8.2. 8.3. 9. FONCTIONNEMENT :................................................................................................................................15 ORGANIGRAMME GENERAL DU MCS .......................................................................................................16 ORGANIGRAMME DE COMMUNICATION MC-S .........................................................................................18 LOGICIEL DU MC-P ................................................................................................................................19 9.1. 9.2. 9.3. 9.4. 9.5. 9.6. 9.7. 9.8. 9.9. 10. ORGANIGRAMME GENERAL .....................................................................................................................19 MODULE COMMUNICATION MC-P ...........................................................................................................20 MODULE TRAITEMENT ECLAIRAGE .........................................................................................................21 TRAITEMENT CHAUFFAGE/FROID ............................................................................................................24 TRAITEMENT DOSAGE 1 ET 2 ..................................................................................................................25 TRAITEMENT BRASSAGE .........................................................................................................................26 TRAITEMENT NOURRISSAGE : .................................................................................................................27 TRAITEMENT OSMOLATEUR ::.................................................................................................................28 LOGIQUE DE COMMANDE DES POMPES ....................................................................................................29 PROGRAMMES DE TESTS ..................................................................................................................30 10.1. 10.2. 10.3. 11. TESTS CARTE MC-P ..........................................................................................................................30 TEST MCS ...........................................................................................................................................30 TEST COMMUNICATION PC.................................................................................................................31 PROGRAMME PC ..................................................................................................................................32 11.1. 11.2. 11.3. 11.4. 11.5. 11.6. 11.7. 11.8. 11.9. 11.10. INSTALLATION SUR PC : .....................................................................................................................32 LA FENETRE ‘LANCE’ .......................................................................................................................33 LA FENETRE CONTROLE MCP.............................................................................................................33 LA FENETRE E/S TORS .......................................................................................................................34 LA FENETRE MESURE ..........................................................................................................................35 FENETRE COMPTEURS .........................................................................................................................36 LA FENETRE HORODATE ......................................................................................................................37 LA FENETRE CONTROLE DU MODE DE FONCTIONNEMENT : .................................................................37 LA FENETRE SYNOPTIQUE ‘ECLAIRAGE’..............................................................................................38 ORGANIGRAMME PROTOCOLE D’ECHANGE (MCS) ..............................................................................40 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 4 1. Introduction Je suis ingénieur en informatique industrielle, et j’ai réalisé récemment un automate pour contrôler mon aquarium récifal, Etant un lecteur et utilisateur des idées publiées dans les sites d’aquariophilie , je propose d’apporter ma pierre à cette mine d’information en publiant cette réalisation personnelle. Plusieurs applications de ce type sont déjà publiées et j’ai lu avec grand intérêt leur réalisation. Mon budget de réalisation a été plafonné à 3 500FF (540 Euros et il a été respecté. La solution proposée permet d’apporter une réponse intéressante par rapport aux autres solutions commerciales (Kit , automates programmables,…) Le montage proposé permet la gestion des lampes (prise en compte du cycle lunaire), de 3 groupes de pompes de brassage , d'un réacteur à calcaire, de la régulation de température en chaud et froid, la mesure du pH, l’injection de produit (Strontium, l’iode, …) sur des périodes jour, hebdo, mensuelles. La documentation de cette réalisation est proposée en 3 volets : - La réalisation Matérielle ( l’automatisme :principes, circuits, montage en coffret) La réalisation logicielle pour les micro-controleurs , et le PC : Ce document Intégration de l’automatisme en aquariophilie 2. Droits d’utilisation, responsabilités : Je laisse l’utilisation de cette documentation libre pour toute utilisation personnelle non commerciale. Toute la réalisation est originale et seule la carte pHmetre a été adaptée à partir de schémas de principe publiés sur le NET Les logiciels proposés pour les microcontroleurs sont ‘FREEWARE’ et donc liés aux conventions d’utilisation liées. Le logiciel PC a été réalisé avec un outil Microsoft ; sa modification suppose donc de posséder légalement le produit. Le code source peut toutefois être consulter via un éditeur de texte standard (Notepad,…) Cette réalisation nécessite des compétences en électricité, électronique et informatique et je décline toute responsabilité quand à la réalisation et/ou l’utilisation de ce montage de même qu’aux conséquences directes ou indirectes liées à son utilisation REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 5 3. Principes logiciels : La réalisation du programme d’automatisme est réalisée avec le compilateur BASCOM disponible en libre utilisation jusqu’à 2Koctets , ce qui correspond à notre type de matériel. Les programmes d’automatismes sont organisés en graphcets indépendants activés via une boucle principale qui a aussi en charge de réarmer périodiquement le WatchDog du micro controleur. Chaque graphcet d’automatisme possède un flag permettant de l’activer (/désactiver) sélectivement via un paramètre modifiable ‘on line’ par l’utilisateur. Les temporisations peuvent avoir comme échelle : les secondes, les minutes ou les tops 10mn. Les tops 10Mn sont utilisés essentiellement pour déclencher les actions sur événement horaire (éclairage, norurissage, …) Les communications au niveau du MCp sont gérées sous interruption pour la réception des données, pour le MCs elles n’utilisent pas les interruptions. Les buffers d’échange sont réduits (4octets) et sont sécurisés par une parité caractères et une parité longitudinale (LRC) 4. Les Données: Chaque MC (système MicroContrôleur) possède en mémoire vive (RAM) les informations utilisées pour les communications et l'usage interne. Ce miroir d'information permet une restauration des données courantes lors d'un reset d'un des deux MC. Dans le cas d'un reset simultané des 2 MC (très improbable) , les données reprennent leur valeurs par défaut. Les données sont de type Byte, les Temps de fonctionnement sont codés sur 2 octets (poids faible, poids fort). Le seul aléas potentiel est l'heure au niveau MC-s lors du franchissement d'un seuil 59->0 (mn et ss), cela est solutionné en synchronisant les échanges MCs /MCp aux tops 30 secondes de l’heure courante. ZONE ZONE PARAMETRES du MCp sauvegardées par MCs ZONE DONNEES TEMPS REEL du MCp NON MODIFIABLES par le MCs MC-P Acces en R/W MC-S Acces en R/W Acces en R : lors d'un reset du MC-p Acces en R : pour synchro de l'horloge par rapport à celle de MC-P Acces en W : lors des demandes MC-s formulées dans les messages reçus Acces en W lors de la saisie au clavier d’un parmètre. Acces en R/W. Ces données accessible en Ronly par permettent l’observabilité MC-s du fonctionnement logiciel MC-p un programme sur PC pourra y accéder en R/Wmoyennant toutes les précautions nécessaires. REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 6 Nous précisons ci-après le format des données principales. On se référera au programme pour plus de précision Les paramètres de 1-72 sont des informations en accès R/W et sauvegardées par le MCs Les paramètres de 73-93 sont des accès en lecture seule pour le MCs, mais peuvent être accédées en R/W via un système externe (PC,…) : pas de verrouillage au niveau MCp Ces informations sont définies suivant (version MCp V2-00G): '----- donnees temps reel Entree1 As Byte Entree2 As Byte Sorties1 As Byte Sorties2 As Byte Temp As Byte Ph As Byte '----- Compteurs Nourrissage1_hr As Byte Nourrissage2_hr As Byte Lightcuvdeb As Byte Lightcuvfin As Byte image des entrées TOR image des sorties TOR élaborées par lautomatisme du MCp Mesure corrigée par les offsets -- moyennée sur 256 echantillons Mesure corrigée par les offsets -- moyennée sur 256 echantillons heure du 1er nourrissage en top 10mn heure du 2eme nourrissage en top 10mn (la sortie commandée est identique pour les deux timing) heure de déclenchement séquence allumage bac heure de déclenchement séquence extinction bac Brass1_on As Byte Brass1_off As Byte Brass2_on As Byte Brass2_off As Byte Brass3_on As Byte Brass3_off As Byte duree marche brassage 1 duree arret brassage 1 duree marche brassage 2 duree arret brassage 2 duree marche brassage 3 duree arret brassage 3 Brass_sequence As Byte bit &H01,02,04 Dosage1_hr As Byte Dosage1_per As Byte si = 255 =>marche forcée si = 255 =>marche forcée si = 255 =>marche forcée Ppe 1,2,3 si bit =1 la séquence débute par arret Heure de déclenchement injection produit 1 en tops 10mn (périodicité jour) Périodicité de linjection produit 2 en tops 10mn ---Périodicité Bit 7=1 : jour, bits 0-4 compteur heure en top Heure Périodicité Bit 6 =1:Hebdo – Bit 0-3 Offset par rapport au jour courant du parametrage – puis compteur modulo 7 Périodicité Bit 5 =1:Mensuel – Bit 0-4 Offset par rapport au jour courant du parametrage – puis compteur modulo 30J Dosage2_hr As Byte Dosage2_per As Byte Heure de déclenchement injection produit 2 en tops 10mn Périodicité de linjection produit 2 en tops 10mn ---Périodicité Bit 7=1 : jour, bits 0-4 compteur heure en top Heure Périodicité Bit 6 =1:Hebdo – Bit 0-3 Offset par rapport au jour courant du parametrage – puis compteur modulo 7 Périodicité Bit 5 =1:Mensuel – Bit 0-4 Offset par rapport au jour courant du parametrage – puis compteur modulo 30J Ktemp As Byte Temp_offset As Byte Kph As Byte seuil régulation temperature pour le froid offset +- reglage temperature (en 1/10 °C) seuil pH (réserve non utilisée) REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 7 Ph_offset As Byte offset + reglage pH (en 1/10 unité) '----- donnees de forcage -- ces infos permettent une commande par système externe (PC…) Forcagezeros1 As Byte Un 1 force la sortie à 0 Forcagezeros2 As Byte Forcageuns1 As Byte Un 1 force la sortie à 1 (prioritaire sur forcage 0) Forcageuns2 As Byte '----- donnees synchro heure Hrtop10mn As Byte Hr As Byte Mn As Byte Ss As Byte Lune As Byte Cyclelune As Byte '----- donnees de cumul duree Tf_hqi1_l As Byte Tf_hqi1_h As Byte Tf_hqi2_l As Byte Tf_hqi2_h As Byte Tf_hqi3_l As Byte Tf_hqi3_h As Byte Tf_hqi4_l As Byte Tf_hqi4_h As Byte Heure courante en top 10mn heure courante (heure) heure courante (minutes) heure courante (secondes) Offset en 1/2 journées pour prochain jour pleine lune(0-59) No jour dans le cycle lunaire courant -- 0 à 29 temps fonctionnement pour changement lampe 1 sur S1 temps fonctionnement pour changement lampe 2 sur S1 temps fonctionnement pour changement lampe 3 sur S9 temps fonctionnement pour changement lampe 4 sur S9 Tf_fluo1_l As Byte Tf_fluo1_h As Byte Tf_fluo2_l As Byte Tf_fluo2_h As Byte temps fonctionnement pour changement Lampe 5 sur S2 Tf_ppe_brass1_l As Byte Tf_ppe_brass1_h As Byte Tf_ppe_brass2_l As Byte Tf_ppe_brass2_h As Byte Tf_ppe_brass3_l As Byte Tf_ppe_brass3_h As Byte temps fonctionnement pompe 1 dans le bac sur S3 Tf_ppe_filt1_l As Byte Tf_ppe_filt1_h As Byte temps fonctionnement pompe 5 Refoulement sur S4 Tf_ppe_ecum1_l As Byte Tf_ppe_ecum1_h As Byte Tf_froid_l As Byte Tf_froid_h As Byte temps fonctionnement pompe 7 ecumeur1 sur S4 Tf_ppe_visiocalc_l As Byte Tf_ppe_visiocalc_h As Byte Tf_visiocalc_l As Byte Tf_visiocalc_h As Byte temps fonctionnement pompe 9 mélangeur visiocalc '----- parametres de tempo Nourrissage_dur As Byte Dosage1_dur As Byte Dosage2_dur As Byte temps fonctionnement pour changement Lampe 6 sur S2 temps fonctionnement pompe 2 dans le bac sur S3 temps fonctionnement pompe 3 dans le bac sur S11 temps marche Froid sur S13 temps pour entretien / recharge du visiocalc durée actionnement mécanisme du nourrissage en top 1 seconde durée de fonctionnement du mécanisme injection en tops secondes durée de fonctionnement du mécanisme injection en tops secondes REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 8 '----- Flag activation des regulations Mode_fonc As Byte Mode_Fonc : validation des fonctions de régulation . . Mf_reserve Bit 0 Bit en réserve (non utilisé) Mf_brassage Bit 1 Mf_inv_reserve Bit 2 inverse léclairage réserve par rapport au Bac Mf_doseur1 Bit 3 Mf_doseur2 Bit 4 Mf_eclairage Bit 5 Mf_lune Bit 6 si =1 prise en compte phases lunaire pour léclairage Mf_nourrissage Bit 7 Sur une double initialisation (mc-s et mc-p), les fonctions minimales activées par défaut : Pompe de brassage 1, écumeur, pompes relèvement. '------ FIN Donnees de parametrage sauvegardees '============================================= '------ Donnees programme MCp , accessibles unitairement en R ' '----- Donnees gestion eclairage Ecl_phase As Byte No de phase en cours Ecl_trait As Byte '----- Donnees gestion Osmolateur Osm_trait As Byte No de phase en cours '----- Donnees gestion Température '----- Donnees gestion Brassage Bra1_trait As Byte phase courante brassage 1 Bra2_trait As Byte phase courante brassage 2 Bra3_trait As Byte phase courante brassage 3 '----- Donnees gestion Nourrissage Nou_trait As Byte No de phase en cours '----- Donnees gestion Dosage Do1_trait As Byte No de phase en cours dosage 1 Do2_trait As Byte No de phase en cours dosage 2 '-----'Timers '-----'----- Timers en top 10minutes Ecl_top10mn As Byte ----- Donnees gestion eclairage Bra1_top10mn As Byte ----- Tempo Brassage p1,2,3 Bra2_top10mn As Byte ----- Tempo Brassage p1,2,3 Bra3_top10mn As Byte ----- Tempo Brassage p1,2,3 '----- Timers en minutes Osm_topmn As Byte Ecl_topmn As Byte ----- Donnees gestion Osmolateur ----- Donnees gestion eclairage '----- Timers en secondes Nou_topss As Byte ----- Donnees gestion Nourrissage Do1_topss As Byte ----- Donnees gestion Dosage Do2_topss As Byte ----- Donnees gestion Dosage '============================================= '============================================= '------ FIN des Données accessibles via communication série '============================================= REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 9 TEMPS DE FONCTIONNEMENT : Ils sont codés sur 16 bits en tops 10mn : <voir listing programme / zone paramètres > La RAZ de ces compteurs se fait via le clavier (ou PC). La capacité de comptage est d’environ 10900 heures soit plus d’un an de fonctionnement en continu. DONNEES PROGRAMMES MC-P : Ces données sont relatives au fonctionnement du logiciel MC-p et sont accessibles afin de le rendre observable. Elles sont à manipuler avec prudence du fait du risque de dysfonctionnement en cas de modification. REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 10 5. Gestion de l'heure et des temporisations L’horloge propre au mc-s ne sert qu'en cas de perte des communications avec le MC-p afin de conserver l'heure courante et la redonner au MC_p lors de sa reprise. L'heure affichée sur l'écran LCD est celle resynchronisée à partir de celle du MC-p On utilise le timer 1 du 90S2313 qui est programmé pour générer une interruption toute les secondes. Le programme HORLOGE lié à l'interruption, incrémente les compteurs Heure, minutes, secondes. On ne s'occupe pas de la date si ce n'est le compteur donnant le nombre de jours restant avant la prochaine pleine lune. Ce compteur contient 2 tops par journée : la périodicité pleine lune étant de 29,5 jours et est décrémenté deux fois à chaque passage 0H00. Modification de l’heure : La saisie de parametres HH,Mn,SS sont transmis au MC_p et reviennent par le message reçu comme tous les autres paramètres sauvegardés. Le retour des données (Heure) via le programme de communication en réception du MC-p écrasent les données internes d'élaboration de l'heure par le MC-s (synchronisation de l’heure). Les modules programmes (MC-p etMc-s) utilisent l’heure sous un format en tops 10 minutes . Cette heure courante est codée dans un octet (Hrtop10mn) qui est raz à 0H00. Les événements de temporisation sont gérés par le programme horloge. Le compteur est initialisé par l’appelant à une valeur de 0 à 127 maximum. A l’échéance de la temporisation, le compteur prend la valeur 128 (&H80) Les timers sont prédéfinis suivant une échelle de temps (secondes, minutes, top 10minutes) et leur traitement est programmé dans le module horloge . Le module logiciel utilisateur (éclairage, dosage, …), initialise son timer à la valeur souhaitée (1-127). A la détection du bit 7=0 du timer, le module horloge commence les décomptages ; au passage à 0, le module horloge positionne le bit 7 du compteur à 1 . A l’initialisation, les compteurs sont initialisés à 128 ($80 en hexa) ils prennent aussi cette valeur à leur échéance REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 11 6. Affectation des entrées / Sorties SORTIES : Rg Bit 1 S1.1 Nom Prog S1hqi_bac MA/AT HQI 1+2 2 3 4 5 6 7 8 9 S1.2 S1.3 S1.4 S1.5 S1.6 S1.7 S1.8 S2.1 S1brassage_1 S1brassage_2 S1brassage_3 S1froid S1reacteur_ca S1ppe_osmo S1ppe_eau_cond S2hqi_res MA/AT Brassage_1 MA/AT Brassage_2 MA/AT Brassage_3 MA/AT Ventilos /Froid MA/AT Reacteur CA MA/AT Pompe eau douce (osmolateur) MA/AT Pompe eau de conduite MA/AT HQI Reserve 10 11 12 13 14 15 16 S2.2 S2.3 S2.4 S2.5 S2.6 S2.7 S2.8 S2fluo1 S2fluo2 S2nourrissage S2Chaud S2relevement S2doseur1 S2doseur2 MA/AT Fluo 1 MA/AT Fluo 2 Chauffage MA/AT Chauffage MA/AT pompes relevement Dosage 2 Dosage 1 1 seule cde HQI => Modif ECLAIRAGE 1 seule sortie Modif sequence pour pouvoir allumer de nuit … 1 seule sortie ENTREES 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 E1.1 E1.2 E1.3 E1.4 E1.5 E1.6 E1.7 E1.8 E2.1 E2.2 E2.3 E2.4 E2.5 E2.6 E2.7 E2.8 Alimentation ligne 1 Alimentation ligne 2 Niveau Bas décantation Niveau bas dosage 1 Niveau bas dosage 2 Niveau bas eau douce ‘brute‘ Présence tension Présence tension Régulation osmolateur compensation eau douce Etat HQI Réserve Etat Fluo1 Etat Fluo2 Etat HQI Bac (cablé) Recopie de S2.1 (cablé) Recopie de S2.2 (cablé) Recopie de S2.3 (cablé) Recopie de S1.1 S9 S10 S11 S1 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 12 7. Les Communications séries 7.1. fonctionnement Le MC-p est esclave dans les échanges Le MC-s / PC est maître dans les échanges Les échanges sont de type Questions/ Réponses et sont composés de 4 octets : Fonction / Numéro de paramètre/ Valeur du paramètre /LRC (Longitudinal Redundancy Checksum) Un message est codé suivant 4 octets : - Fonction : - demande mc-s de valeur pour le parametre de n° nopar - envoi mc-s du couple nopar/valpar - NACK du message recu - Flag reset MCp - Nopar : No du parametre attendu ou transmis (1 à 94) - Valpar: : valeur du paramètre attendu ou transmis - LRC : Disjonction (ou exclusif) des octets transmis sur valeur initiale nulle 1) Acquisition des informations par MC-s MC-s MC-p envoi message SI Reception sans erreur ni TimeOut SI Reception Message +Valeur <OK> Sortie FIN SI SI Reception NACK Renvoi message () FIN SI SINON (erreur Parite, LRC, TO) Renvoi message () FIN SI Si PAS erreur reponse avec Valeur du parametre courant SINON (erreur Parite, LRC) Reponse NACK FINSI 7.2. Sécurisation des communications : 1. On contrôle la parité caractère et la parité longitudinale LRC (disjonction des octets transmis sur une valeur initiale nulle) 2. En cas de détection d'erreur (réception NACK, Parité, LRC erroné ou Time out), le MC-s réitère sa demande sans contrôle du nombre de réitérations 3. Pour le MC-s : à la demande d'émission un timer est activé (time-out), le message doit être entièrement échangé (Emission + Réception) avant échéance du Time out armé. Si ce n'est pas le cas, le MC-s réitère son message. REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 13 4. Au niveau connectique, la ligne de réception sur chaque carte (MCp et MCs) est chargée par une résistance pour une meilleure immunité au bruit 7.3. Caractéristiques de la communication série : 8 Bits, 1 Start, 1 stop, 1 Parité paire, 9600 Bauds asynchrone Communication interne Mcp / Mcs : 0-5V 10mA Communication externe MCp / PC : V24 , connectique canon 9 Broches Format des messages: <octet Fonction><nopar><valpar><Octet LRC> Octet de fonction : = 0: Demande de valeur correspondant au paramètre de N° nopar (nopar renseigné) = 1: Envoi de valeur au MC-p (nopar et valpar renseignés) = 16 (&H10) NACK (renvoi du MCp sur erreur de réception) = 32 (&H20) Signalisation de reset du Mcp REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 14 7.4. Logiciel de communication du MC-S: - Demande des paramètres sur MC-p (cas de reset du MC-s) Demande des données temps réel du MC-p périodique 30 secondes (top horaire 30 secondes) Demande des données MCp à sauvegarder périodique 10minutes (top horaire 30 secondes) Envoi au MC-p d'un paramètre modifié au clavier sur validation entrée Ces demandes sont effectuées au niveau de la boucle principale suivant le contexte défini par les informations suivantes : 1. Reset MC-s , 2. détection reset MC-p, 3. saisie au clavier, Lors d'une saisie clavier, toutes les demandes périodiques vers le Mc-p sont inhibées La sortie d’une saisie clavier se fait par frappe de ## ou time out La détection reset MC-P est détecté lors d'un échange de communication au niveau de l'octet d'en-tête, un flag est positionné valeur 32 (&H20) dans l’octet fonction de la réponse. 7.5. Logiciel de communication du MC-p: Le MC-p est toujours en attente d'un message . Sur fin de réception d'un message, un flag est positionné pour traiter l’échange d'information par la boucle principale du programme (programme Communication) REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 8. 15 Logiciel du MC-s 8.1. Fonctionnement : Saisie de paramètres La prise en compte d’un événement clavier par logiciel est réalisé lors de la relache de la touche. - La frappe de # permet d’annuler le dernier caractère frappé, - La frappe de ## permet de sortir du mode de saisie paramètre, - La frappe de * permet de valider la donnée saisie (n° du paramètre ou valeur du paramètre suivant le contexte) La prise de main pour saisie de paramètres s’effectue par appui/relachement de touche # Une invite de saisie du numéro de paramètre est affiché sur l’écran LCD Saisie du Numéro sur 1 ou 2 chiffres Frappe de * pour valider la valeur ( Le MCs va lire sur le MCp la valeur de paramètre et l’affiche sur le LCD) Saisie de la nouvelle valeur ou de ## pour un autre paramètre Frappe de * pour valider la valeur Le MCs envoi sur le MCp la nouvelle valeur du paramètre La frappe de ## sort du mode de saisie de paramètre L’affichage des défauts se fait sur la première ligne d’affichage suivant l’ordre de priorité suivant : défaut de tension (une des lignes d’alimentation est disjonctée) défaut de communication niveau bas eau douce (osmolateur) Niveau bas sur un des produits Le défaut le plus prioritaire écrase l’autre. Affichage normal : La première ligne présente l’heure synchronisé sur le MCp, le nombre de jour avant la prochaine pleine lune La seconde ligne présente : la valeur courante de la température et le pH REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 16 8.2. Organigramme général du MCs Cas init MCs Oui Récuperation des paramètres sur MCp Lors des échanges communication MCs/MCp Prise de main KBD Oui Saisie du No de paramètre réception Init MCp Retour Oui Envoi des paramètres du Mcs sur MCp Lecture valeur courante sur MCp Abandon echange courant MCs Saisie nouvelle valeur (eventuellement) Envoi de la valeur au MCp Memorisation dans le MCs si c'est un paramètre a sauvegarder Fin saisie KBD Oui <A> REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 17 <A> Cas 30s Oui Lecture des donnees temps réel E1,E2,S1,S2,Temp, pH Cas Franchissement top 10Mn Oui Lecture des durées pour sauvegarde Synchro heure du MCs par rapport au MCp REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 18 8.3. Organigramme de communication MC-s Envoi du message Si Fin réception de la réponse Oui Oui Si Erreur Parité ou LRC Si time out Oui Oui Si Réception Bit Reset MCp Envoi des paramètres sauvegardés Retour avec compte rendu = 1 Retour avec Nopar et Valpar Retour avec compte rendu = 0 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Retour avec compte rendu =255 (&HFF) Auteur: A. LEGEAY Date: 01 Novembre 2006 19 9. Logiciel du MC-p 9.1. Organigramme général Initialisation des données et interruptions (horloge, communications) Traitement communication MC-p O Mode_Fonc = 0 Lecture des Entrees TOR Si pas de communication après 1 mn Lecture des Mesures O Initialisation par défaut des traitements Traitement éclairage Traitement Température Traitement Dosage 1 Traitement Dosage 2 Traitement nourrissage Traitement Osmolateur Traitement Brassage Ecriture des sorties TORs Calculs des temps fonctionnement REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 20 9.2. Module communication MC-p Fin réception O <Com0> O Si erreur LRC Rst1 = Reset MCp <Com00> SI demande de valeur O Rangement valeur reçue dans la zone paramètre Mise dans Valpar de la valeur demandée <Com1> Maj du message à emettre : Fonc, LRC Init de l’échange Emission du message avec en-tete <com_fin> REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Reset = Rst1 Fonc = NACK Auteur: A. LEGEAY Date: 01 Novembre 2006 21 9.3. Module traitement eclairage Definition des temps d'éclairage des 2 tubes flo (L1 et L2) en pourcentage du temps au noir entre extinction HQI et éclairage compté à partir extinction HQI Base pleine lune = 120mn pct du temps dédié pleine temps eclairage en top 10mn lune N° jour dans Norm(L1+L2) L1 L2 le cycle 1 Nouvelle LUNE 2 3 4 5 0,00 0 0 6 7 PQ visible 0,01 0,12 0,06 8 PQ visible 0,02 0,24 0,12 9 PQ visible 0,05 0,6 0,3 10 PQ visible 0,10 1,2 0,6 11 PQ visible 0,16 1,92 0,96 12 PQ visible 0,30 3,6 1,8 13 PQ visible 0,60 7,2 3,6 14 Pleine Lune 1,00 12 6 15 DQ visible 0,60 7,2 3,6 16 DQ visible 0,30 3,6 1,8 17 DQ visible 0,16 1,92 0,96 18 DQ visible 0,10 1,2 0,6 19 DQ visible 0,05 0,6 0,3 20 DQ visible 0,02 0,24 0,12 21 DQ visible 0,01 0,12 0,06 22 0,00 0 0 23 24 25 26 27 28 29 29,5 Si J est le prochain jour pleine lune, alors le cycle démarre à J-7 et s'achève à J+7 avec une répartition de l'éclairage suivant le graphe: En ordonnées, 1 représente le maximum à la pleine lune, 0 l'éclairage éteint pendant la nuit 1,2 1 0,8 0,6 0,4 0,2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 22 Physiquement, les temps d'éclairage seront programmés suivant : Eclairage Jour Definition période jour T0 (parametre) Durée parametre) Eclairage lune Nuit Durée programmée suivant tableau (1) 24H La Zone A correspond à une extinction progressive programmé sur 2*10 minutes : 1. 2. extinction Des HQI bac Attente de 10 minutes Ensuite, la zone éclairage lunaire est calculée suivant le No de jour par rapport au cycle lunaire.L'extinction progressive des 2 tubes fluo est faite suivant : 1. Attente échéance tempo TL suivant le cycle lunaire 2. Extinction L2 3. Attente échéance tempo TL 4. Extinction L1 (1) Le tableau programmé en EEPROM contient suivant le N° de jour (1 à 29), la durée du 2eme fluo (durée L2 du tableau précédent et exprimée en tops 10mn). La durée d’éclairage du second fluo est double du premier. REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 (ECLAIRAGE) Eclairage déclaré 23 Pha0 Pha00B N Heure courante >= Heure Eclairage O Tempo top10mn échue N Heure Extinction >= Heure courante O / PHASE +1/Traitement / Traitement Set Fluo1 Tempo 10mn Set Fluo2 Tempo 10mn Set HQI Bac Tempo 10mn O N Fluo Eteints O Phase 1 Phase 1 Séquence eclairage N Phase 2 O O Fluo Eteints Trop_chaud=1 Phase 2 Séquence extinction +1/Traitement O Extinction HQI 1 HQI 2 / Traitement ReSet HQIbac Tempo 10mn Suivant Mode_Fonc Set HQI reserve ou Reset HQI Réserve Tempo 10mn ReSet Fluo2 Tempo /Lune Suivant Mode_Fonc Set HQI reserve ou Reset HQI Réserve Tempo 10mn Phase=0 Reset Fluo1 Phase=0 Le flag ‘trop_chaud’ est positionné par le module température si la température est trop élevée et que l’on n’a pas de groupe froid de déclaré REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 24 9.4. Traitement chauffage/froid Nota: Le chauffage possède son propre thermostat, sa commande n'intervient qu'en sécurité Le flag ‘trop_chaud’ est utilisé par le module d’éclairage (extinction HQI) (CHAUFFAGE) Tem_pha0 Trop_Chaud=0 Si temp <= Ktemp O Tem_pha1 Si temp >= Ktemp +0.4°C O Tem_pha2 Set sortie Froid Reset sortie Froid Set sortie Chaud O Si temp < Ktemp +0.8°C Trop_chaud=1 Pour Demande extinction HQI Reset sortie Chaud REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 25 9.5. Traitement dosage 1 et 2 La périodicité de l’injection est la journée, la semaine ou le mois (30J) suivant le parametrage. L’heure de l’injection et la durée d’action sur le mécanisme sont paramétrable. (DOSAGE) Phase 1 Dosage déclaré Reset ppe doseuse Phase = 0 O Phase 0 Si Heure courante=consigne Temporisation echue / PHASE Si Injection Mensuelle O Si Comteur jour (30) échu O Cpt = 30 Si Injection Hebdomadaire O Si Compteur jour (7) échu Si Injection Jour O Cpt= 7 Set ppe doseuse Dos1_ss = Consigne Phase = 1 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE O Auteur: A. LEGEAY Date: 01 Novembre 2006 26 9.6. Traitement Brassage (BRASSAGE) Brassage déclaré <Oui> Call Brassage1 Call Brassage2 Call Brassage3 (BRASSAGE ppe i) <Oui> Bras1pha0 Demande arret brassage Debut par Marche Timer Marche (i) =255 <Oui> Bras1a Timer Marche (i) =0 Forcage par défaut Marche pompe i <Oui> Bras1stop Bras1pha2 <Oui> Arret pompe i Arret pompe Set tempo2 Phase = 1 Bras1b Temporisations Echues O Suivant Phase 0,1,2 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Bras1pha1 Set tempo1 Phase = 2 Marche pompe i Auteur: A. LEGEAY Date: 01 Novembre 2006 27 9.7. Traitement Nourrissage : (NOURRISSAGE) Tempo Topss, Topmn Echues Nou_pha0 Heure nourrissage = Heure courante <Oui> <Oui> Suivant Phase 0,1,2 Nou_Pha0a Nourrissage déclaré Set sortie pompes (relevement + ecumeur) <Oui> Arret pompes (relevement + ecumeur) Demande Arret brassage cuve Set tempo 60 secondes Phase=1 Nou_pha1 Nou_pha2 Set sortie Nourissage Set timer suivant le parametre Phase =2 Reset sortie Nourissage Set Timer 10mn Phase =0 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Validation brassage cuve Auteur: A. LEGEAY Date: 01 Novembre 2006 28 9.8. Traitement Osmolateur :: (OSMOLATEUR) Osmolateur déclaré <Oui> Phase 3 Surveillance injection Tempo Topmn, Topss Echue <Oui> niveau Haut & Phase=3 Suivant Phase 0,1,2,3 <Oui> Arret Pompe osmolateur Phase = 0 Phase 0 Si niveau Bas O <Osm_pha0a> Marche ppe mélange Ca Set tempo 1 mn Phase = 1 Phase 1 Arret mélange et attente Arret pompe mélange Ca Set tempo 13mn Phase = 2 Osm_vfin Phase 2 Osm_pha2 Fin Mélange Ca(OH)2 Marche pompe osmolateur (eau douce) Set tempo 1 mn Phase = 3 REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 29 9.9. Logique de commande des pompes Les pompes de brassage et filtration (écumeurs et relèvement) sont mises en route dans le module ‘Nourrissage’ . Ce module arrête les pompes lors de l’échéance de l’heure programmée du nourrissage puis les remet en route en fin de séquence. Les sécurités de base (protection débordement, …) sont directement réalisées par câblage (voir document .sur l’utilisation de l’automate) On se reportera au document document .sur l’utilisation de l’automate – chapitre ‘Sondes de niveau’ pour le principe adopté pour les sécurités de base. REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 30 10. Programmes de tests Ces programmes de tests permettant de vérifier le fonctionnement des cartes électroniques réalisées : les cartes MC-p et MC-s ainsi que la carte d'entrées TORs et de sorties TORs. Les programmes proposés sont à charger dans le microcontroleur soit à l'aide de la solution proposée (carte de programmation avec câble et logiciel BASCOM-AVR de demo installé sur PC), ou tout autre moyen adapté. Le microcontroleur est à insérer ensuite dans son support sur la carte MC-p ou MC-s. Le programme s'initialise à la mise sous tension ou lors de l'appui du bouton reset implanté sur la carte. La (ou les) cartes testées seront reliées à une alimentation +5V regulée. Pour cela on peut utiliser l'alimentation du boitier de programmation si l'on ne dispose pas encore de l'alimentation définitive . On fera particulièrement attention aux inversions de polarité accidentelles. Les programmes de tests sont compilés avec les options HWSTACK=15, SOFT STACK=4, FRAME SIZE=4 Nota: Les programmes de tests n’ont pas été reconditionnés avec la version finale du MCs et MCp (routines). Le développement de nouveaux programmes de tests devra donc éviter de les réutiliser et repartir des routines de base du code MCp et MCs ‘finaux’ 10.1. TESTS Carte MC-p - T01_MCp : Ce programme permet de vérifier le fonctionnement des sorties et des entrées TORs du MCp. Un comptage de 0 à 255 est effectué sur S1 puis S2 (à l’affichage, la visualisation de face : les poids faibles à Gauche). Ensuite le programme effectue la recopie des entrées TORs sur les sorties : E1 sur S1, E2 sur S2 afin de vérifier le cablage des entrées, chaque entrée est forcée à 1 et on doit avoir l’écho sur la sortie correspondante. Pour relancer le programme : reset du MCp.. - T02_MCp : Ce programme permet de vérifier le fonctionnement du WatchDog du MCp. Les sorties S1 et S2 doivent clignoter séquentiellement. - T03_MCp : Ce programme est à installer sur le microcontroleur de la carte MC-p. Il permet de tester les communications du MC-p avec le MC-s ou un PC et s'utilise conjointement avec le programme correspondant sur le MC-p ou le PC. Ce programme attend le message "BCDE" et émet en réponse le message "FGHI". Le bon fonctionnement est vérifié sur l’afficheur LCD. Les communications se font en 8bits parite Paire, 1 start, 1 stop - T04_MCp : Ce programme permet de régler l’échelle des entrée(s) Analogique(s) sur la carte MC-p (et carte fille si elle est installée et/ou de vérifier le bon fonctionnement des CAN. Le logiciel renvoi en écho sur les sorties TOR la valeur des mesures lues en binaire sur chaque CAN : soit le CAN Temperature sur carte MC-p sur les sorties S1 et le CAN pH de la carte fille sur les sorties S2. 10.2. Test MCs - T01_MCs : Ce programme permet de vérifier le fonctionnement du clavier et de l'afficheur LCD de la carte MC-s. Ce programme ne nécessite que la carte MC-s assemblée et raccordée à une alimentation +5V. A la mise sous tension, les caractères frappés au clavier sont renvoyés en écho sur l'afficheur LCD - T02_MCs : Ce programme permet de vérifier le fonctionnement de l’horloge. L’heure est affichée sur le LCD. Ce programme ne nécessite que la carte MC-s assemblée et raccordée à une alimentation +5V. - T03_MCs : Ce programme est à installer sur le microcontroleur de la carte MC-s. Il permet de tester les communications du MC-s avec le MC-p et s'utilise conjointement avec le programme REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 31 correspondant sur le MC-p. Ce programme émet le message "BCDE" et attend en réponse le message "FGHI". Sur l'afficheur LCD, un compteur affiche le nombre de message échangés. - T04_MCs : Ce programme permet de vérifier le fonctionnement du WatchDog du MCs. L’affichage séquentiel de A puis B est réalisé en cas de bon fonctionnement. - T05_MCs : Ce programme permet de vérifier l’accès aux messages de l’EEPROM et l’affichage LCD. On frappe une touche de 1 à 8, le message correspondant en EEPROM est affiché 10.3. - T03_PC : Test Communication PC Ce programme est réalisé en Qbasic et est exécuté sur un PC. Il nécessite un câble tel que proposé pour relier le système automatisme au port série du PC (ne pas oublier de positionner le double inverseur de communication sur PC). Ce programme permet de tester les communications du PC avec le MC-p et s'utilise conjointement avec le programme correspondant sur le MC-p Ce programme émet le message "BCDE" et attend en réponse le message "FGHI". Sur l'écran du PC, un compteur affiche le nombre de message échangés. L’interpréteur QBASIC est disponible en free et se trouve facilement sur INTERNET (moteur google ou similaire) REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 32 11. Programme PC Ce programme est réalisé en VB .NET de Microsoft. Il pourra être exécuter à partir de Windows XP SP2, (98, W2000, NT non testé). Il nécessite le FrameWork Dot NET 1.1: Ce programme fonctionne exclusivement avec la version logiciel MCP : et la version logiciel MCS : 11.1. FINAL_MCP_V2_00G FINAL_MCS_V2_00G Installation sur PC : Si l’on dispose d’un PC avec Windows XP le Framework Dot NET est normalement déjà installé. Cela est facilement vérifiable au lancement du programme s’il y a message d’erreur … Pour téléchrger et installer le Framework Dot NET , voici l’URL : http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157034d1e7cf3a3&displaylang=en On fera attention au fait que le framework peut être différent suivant l’OS (W98, NT, 2000 ou XP) Le Framework existe aussi pour LINUX, cependant le logiciel ne pourra être utilisé directement sous LINUX car j’utilise une DLL Windows pour les communications série. Il y aura donc une modification à faire dans ce cas d’utilisation. Le zip téléchargé depuis le site contient l’ensemble du code de développement pour ceux qui souhaiteraient modifier le code. Ce code (fichiers avec extension .VB) peut être consulté via un éditeur de texte si l’on ne dispose pas de Visual Studio. Pour installer le logiciel, il suffit de recopier le répertoire BIN sur son disque et de faire un raccourci bureau sur le .exe. , le fichier ‘FilePref_Mcp.txt’ contient les préférences de la communication (No port, vitesse,…) qui sont paramétrable depuis l’interface graphique (ne pas éditer ce fichier directement). REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 11.2. 33 La fenêtre ‘LANCE’ Cette fenetre permet d’activer les autres fonctions via un menu. 11.3. La fenêtre Contrôle MCP Permet : 1. 2. 3. 4. 5. 6. 7. De modifier les paramètres du port et de les sauvegarder par le bouton Sauve PARAMETRE De recharger les anciens paramètres courants par le bouton Restaure Parametres d’ouvrir la communication : par le bouton Open COM. Si tout est ok ,les paramètres son affichés en echo dans la zone en gris Une fois le port ouvert, on peut effectuer un test vi ales boutons en zone verte en haut à droite de la fenêtre. Les données émises sont celles mentionnées ‘OUPUT’, celles reçues sont ‘INPUT’. Les données INPUT sont modifiables le 4eme octet est recalculé (LRC). Attention : les données osnt effectivement envoyées au MCP et affecte donc son fonctionnement. En fonctionnement, la zone en orange clair contient les compteurs d’erreur (NACK, …). Le pavé Bleuté, contient 2 boutons permettant d’activer la fonction MCS du logiciel : les données du MCp sont acquises périodiquement et mémorisées comme sur le MCS (a l’arrêt quand le logiciel PC est actif et interrupteur MCS positionné PC) Historisation : Le bouton ‘Fichier Historique permet de définir le fichier d’historisation. La case à cocher Activation historique permet de valider/invalider la mémorisation des données : Heure,mn,ss, entrées TORs, sorties TOR, mesures température et pH. Ces données ne sont sauvegardées que si au moins l’une d’elles change. Le format du fichier produit est de type CSV : Ascii avec ; comme REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 8. 34 délimiteur de champs , et Cr LF comme délimiteur de ligne. Les données sont utilisables ensuite sur tableur (excel, …) pour tracé … Bouton SORTIE masque la fenêtre 11.4. La fenêtre E/S TORs Cette fenêtre permet 1. de visualiser les état des entrées TORs (pavés VERT/ JAUNE) 2. De visualiser les Sorties TORs en cours ainsi que les états de forçage associés 3. D’envoyer une commande sur une sorties (état ou forçage) par clic sur le pavé vert de la sortie 4. La case à cocher Acquisition périodique permet de rafraichir les états périodiquement toutes les 5 secondes. REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 11.5. 35 La fenetre Mesure Cette fenêtre permet 1. de visualiser les mesures et leur paramètres 2. de Modifier les données (fond blanc) 3. La case à cocher/décocher permet d’activer un rafraichissement périodique des données Nota : le forçage de l’acquisition toutes les secondes des mesures sur le MCp se fait via la fenêtre de contrôle de fonctionnement MCp ( cf §11.8) REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 11.6. 36 Fenêtre Compteurs Cette fenêtre permet 1. de visualiser l’état des compteurs 2. de lire les valeurs en cours dans le MCp par le bouton ‘LECTURE MCP’ 3. de modifier leur valeur par clic sur la valeur 4. d’écrire les valeurs courantes dans le MCP par le bouton ECRITURE MCP 5. de mémoriser la valeur des compteurs dans le fichier de configuration par le bouton ‘READ ARCHIVE’ 6. de restituer la valeur des compteurs depuis le fichier de configuration par le bouton WRITE ARCHIVE 7. Le bouton Exit, cache la fenêtre REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 11.7. 37 La fenêtre horodate Cette fenêtre permet : 1. 2. 3. de visualiser les données courante par le bouton refresh de modifier les donnée courantes par clic sur la valeur puis Saisie. Les champs Hr,Mn,ss sont controlés (0-23) et (0-59). Si on saisi autre qu’un numérique la valeur qui sera envoyées sera = 0 de cacher la fenêtre par le bouton EXIT 11.8. La fenêtre Contrôle du mode de fonctionnement : Cette fenêtre permet : 1. d’activer / désactiver le fonctionnement des automatismes, 2. de forcer l’acquisition des mesures MCp toutes les secondes (utilisation pour étalonnage des convertisseurs Numériques / Analogiques). Ne pas laisser enclencher la fonction dans le MCp pour éviter tout dysfonctionnement dû à une surcharge CPU (perte d’IT Horloge ou Communication) REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 11.9. 38 La fenêtre synoptique ‘Eclairage’ Nous ne présentons que ce synoptique, les autres fonctionnant suivant le même principe. La case à cocher / décocher permet d’activer le rafaraichissment périoque de l’écran par les données du MCP Dans le cas ou la fonction type MCS est active ‘cf écran de contrôle MCP), le rafraichissement se fera à la périodicité de cette fonction (60 secondes) La représentation sous forme de synoptique permet de visualiser les fonctions actives au niveau de l’automatisme programmé dans le MCp. Par convention : 1. une couleur verte représente un état ‘actif’ : l’état TOR correspondant (ou équation logique) = True 2. Une valeur sur fond blanc est une valeur cliquable (modifiable) REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 39 Comme exemple, le clic sur la valeur associée à heure d’éclairage, affiche la fenêtre de saisie correspondante. REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE Auteur: A. LEGEAY Date: 01 Novembre 2006 11.10. 40 Organigramme protocole d’échange (MCs) Envoi du message Si Fin réception de la réponse Oui Oui Si Erreur Parité ou LRC Si time out Oui Oui Si Réception Bit Reset MCp Envoi des paramètres sauvegardés Retour avec compte rendu =1 Retour avec Nopar et Valpar REALISATION D'UN AUTOMATE POUR AQUARIUM MARIN ANALYSE LOGICIELLE