bonjour,
il y a quelques temps, j’avais déjà donné quelques pistes de recherche sur le sujet. J’avais par la même occasion commencé à écrire un programme pour l’IPX800 V4, que je n’ai jamais testé.
Le voici, brut, avec les indications sur les entrées/sorties, je n’ai pas le temps de le relire
Ce script faisait partie d’un programme plus lourd, il faudra l’ajuster un peu.
Toute la première partie est le descriptif de l’environnement nécessaire au fonctionnement des scénarios.
ATTENTION : CAPTEUR DE DEBIT FORTEMENT CONSEILLE POUR TRAITEMENT
///////////////////////////////////
LA CONNECTIQUE :
//////////////////////////////////
Soit "OUT_Filtration" la sortie connectée à la pompe de filtration.
soit D1 ou "DEBITd" l'entrée digitale connectée au capteur de débit digital
D1 sera ON si débit>0
soit AN1 ou "DEBITa" l'entrée analogique connectée au capteur de débit analogique
définir AN1 avec Seuil haut :2
Seuil bas : 1
AN1 sera ON si débit>seuil haut
soit AN2_PH l'entrée analogique connectée à la sonde PH
définir AN2_PH avec Seuil haut=7.4 / seuil bas=7.2 (à redéfinir en fonction du type de traitement)
La lecture du PH étant continue, la dernière valeur relevée juste avant la plage horaire de traitement sera celle qui conditionnera le traitement
Soit OUT_PH la sortie connectée à la pompe péristaltique PH
Définir OUT_PH avec Ta=60 //attente débit optimal filtration
Tb= Temps pour que péristaltique corrige 0.1 PH (selon bassin)
soit AN3_EAU l'entrée analogique connectée à la sonde température Eau.
les seuils propres à l'entrée sont réservés pour le déclenchement Hors-Gel
T1 s'y rapporte pour déterminer si la filtration doit être forcée pendant 1 cycle lors du traitrement seuil 14°C)
T2 s'y rapporte pour déterminer Si Hivernage (arrêt traitement / maintient régul PH)
//////////////////////////////////
LES VARIABLES
//////////////////////////////////
Définir EV01 : Hivernage actif
Si EV01 alors hivernage actif
Si NON EV01 alors hivernage passif
Activée / désactivée par dashboard ou push
définir au moins une plage horaire "PlageTraitement1" pour traitement pendant saison (eau >14°C). En saison il vaut mieux traiter en dehors des heures de baignades (ex : tôt le matin)
définir au moins une plage horaire "PlageTraitement2" pour traitement hors saison. (eau <14°C). Pas de baignade donc régler à convenance (pendant Hors-Gel le matin ou HC)
Ces plages peuvent être quotidiennes ou hebdomadaires
exemple :
PlageTraitement= [6h00 - 6h20] : heure démarrage des traitements. Les traitements peuvent continuer au delà si nécessaire.
Conseil : faire coïncider avec heure creuse ou Hors-Gel
A savoir : la pompe de filtration sera démarrée automatiquement au début de la plage Traitement et restera active tout le temps nécessaire ( voire 1 cycle si T°C<14)
"DelaiMinute"
Définit VO1 avec
Ta = 60 //si pas de débimètre, ou Ta=0 si débimètre (attente débit optimal filtration)
Tb=0
"Delai2minutes"
Définir VO8
Ta=120
Tb=0 //cette tempo est déclenchée à la demande de démarrage de la pompe. Si pas de débit au bout de 2 minutes ==> alerte anomalie Filtration
"Tempo5Minutes"
Définir VO2
Ta=0
Tb=300
"TraitementPH"
Définir VO3
Ta = 0
Tb = 0
"MemoFiltration"
Définir VO4
"MemoFiltrationOK"
Définir VO5
"Tempo1Cycle"
Définir VO6
Ta=0
Tb=14400 (à redéfinir en fonction du débit de la pompe et du volume bassin)
"TraitementInterdit"
Définir VO7
Ta=0
Tb=14400 // (empêche nouveau traitement pendant au moins 1 cycle . Doit être supérieur à Durée Plage Traitement)
Définir T1 un thermostat pointant sur analogique température Eau (AN3_EAU)
avec Seuil bas : 14°C (Temp sous laquelle la durée de filtration est insuffisante pour traitement ::==> forçage pompe durant 1 cycle)
seuil haut : 15°C (Filtration suffisante ==>arrêt pompe 5 minutes après traitement)
Si NON T1 ON, alors forcer la filtration
Définir T2 un thermostat pointant sur analogique température eau (AN3_EAU)
avec seuil bas : 10°C (seuils à redéfinir par générateur)
seuil haut : 11°C
Si NON T2, alors arrêt traitement (Si NON EV01)
Le traitement du PH est prioritaire et bloque les autres pendant au moins 1 cycle de filtration.
Si le traitement PH est effectué, tous les autres traitements sont bloqués pendant la durée d'un cycle de filtration.
Lorsque la plage suivante survient (à condition qu'elle arrive après la durée du blocage), le PH est à nouveau contrôlé et corrigé au besoin.
Si le PH est correct, les autres traitements sont effectués.
// Prévoir Fréquence : 1/hebdo : créer 1 plage pour le jour choisi
2/hebdo : créer 1 plage pour chaque choisi
3/hebdo : créer 1 plage pour chaque jour choisi
Semaine : créer une plage "Jours de la semaine"
WE : créer une plage WE. Le traitement sera fait le samedi ET le dimanche
7/hebdo : créer une plage "Tous les jours"
/////////////////////////////////////////
LES SCENES POUR IPX
/////////////////////////////////////////
Les instructions précédées de * sont à ajuster selon conditions matérielles
///////////////////////////////////////////////////////////////////////////////////////////////////////
// TRAITEMENT PH PAR POMPE PERISTALTIQUE ////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
//Remise à Zéro des variables (sorties virtuelles)
évènement : Si (NON TraitementInterdit) ET (NON TraitementPH)
Action [OFF]
résultat :MemoFiltrationOK ; DelaiMinute; Delai2minutes,Tempo5minutes
// Quels sont les traitements à faire ?
//en saison ?
évènement : T1 ET PlageTraitement1 ET (NON AN2_PH) ET (NON TraitementInterdit)
Action [ON]
résultat : TraitementPH
//hors saison ?
évènement : (NON T1) ET PlageTraitement2 ET( NON AN2_PH) ET (NON TraitementInterdit)
Action [ON]
résultat : TraitementPH
//Hivernage actif ? / température suffisante ?
évènement : NON EV01 ET NON T2 ;
action : OFF
résultat : TraitementREDOX // Le traitement du REDOX est arrêté, traitement du PH maintenu
//mémorisation fonctionnement actuel de la pompe (marche ou arrêt ?) pour rétablissement en fin de traitement
évènement : TraitementPH ET (NON MemoFiltrationOK) ET OUT_Filtration;
Action [ON]
résultat : MemoFiltration
évènement : TraitementPH ET (NON MemoFiltrationOK) ET (NON OUT_Filtration)
action : Action [OFF]
résultat : MemoFiltration
évènement : TraitementPH ET (NON MemoFiltrationOK) ET (NON T1)
Action [ON]
résultat : MemoFiltration (décompte 1 cycle si T°C inférieure à 14°C)
évènement : TraitementPH ET (NON MemoFiltrationOK)
Action [ON]
résultat : MemoFiltrationOK
//Démarrage filtration forcée si traitement à réaliser
* (si capteur de débit, pas besoin de tempo pour le traitement. Delai2minutes permet de déceler problème démarrage pompe..)
* évènement : TraitementPH ET (NON OUT_Filtration)
Action [ON]
résultat : OUT_Filtration ; Delai2minutes
* //démarrage pompe filtration et Tempo DelaiMinute pour débit optimal si pas de débimètre. Delai2minutes permet de déceler problème démarrage pompe.
* évènement : TraitementPH ET (NON OUT_Filtration)
Action [ON]
résultat :OUT_Filtration; DelaiMinute ; Delai2minutes
//Vérification démarrage de la pompe si présence de capteurs de débit.
* évènement : TraitementPH ET (NON DEBITd) ET Delai2minutes ;
Action [ON]
résultat : [PUSH] "Erreur démarrage pompe ou Problème de débit"
* évènement : TraitementPH ET (NON DEBITa) ET Delai2minutes ;
Action [ON]
résultat : [PUSH] "Erreur démarrage pompe ou Problème de débit"
//démarre traitement PH si débit OK
* évènement : TraitementPH ET (NON TraitementInterdit) ET DEBITd ET (NON OUT_PH)
Action [ON]
résultat :OUT_PH;TraitementInterdit (présence d'un capteur de débit digital)
* évènement : TraitementPH ET (NON TraitementInterdit) ET DEBITa ET (NON OUT_PH)
Action [ON]
résultat : OUT_PH; TraitementInterdit (présence d'un capteur de débit analogique)
* évènement : TraitementPH ET (NON TraitementInterdit) ET Out_Filtration ET DelaiMinute ET (NON OUT_PH)
Action [ON]
résultat : OUT_PH; TraitementInterdit (pas de capteur de débit)
//Le traitement PH est terminé ( OUT_PH fermé par Tb) , Démarrage Tempo 5 minutes et Tempo1Cycle. Rq : TraitementInterdit atteste que traitement avait démarré.
* évènement TraitementPH ET TraitementInterdit ET (NON OUT_PH) ET DEBITd;
Action [ON]
résultat : Tempo5minutes ; Tempo1Cycle (présence d'un capteur de débit digital)
* évènement TraitementPH ET TraitementInterdit ET (NON OUT_PH) ET DEBITa
Action [ON]
résultat : Tempo5minutes ; Tempo1Cycle (présence d'un capteur de débit analogique)
* évènement : TraitementPH ET TraitementInterdit ET (NON OUT_PH) ET Out_Filtration
Action [ON]
résultat :Tempo5minutes ; Tempo1Cycle (pas de capteur de débit)
// arrêt de la filtration 5 minutes après si T°C > 14 (la filtration automatique de la journée sera suffisante pour diluer le traitement.)
évènement : TraitementPH ET TraitementInterdit ET (NON OUT_PH) ET T1 ET (NON Tempo5minutes) ET (NON MemoFiltration)
Action [OFF]
résultat : OUT_Filtration
// arrêt de la filtration après 1 cycle si T°C < 14 (la filtration automatique de la journée sera insuffisante pour diluer le traitement.)
évènement : TraitementPH ET TraitementInterdit ET (NON OUT_PH) ET (NON T1) ET (NON Tempo1Cycle) ET (NON MemoFiltration)
Action [OFF]
résultat : OUT_Filtration
//RAZ TraitementPH
évènement : TraitementPH ET TraitementInterdit ET (NON OUT_PH)
Action [OFF]
résultat : TraitementPH