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