La méthode SCADA
Le « Digesteur » est le nom donné par DSA à l’interface de communication entre les frontaux (1 et 2 en redondance) et les outils Cemagref (Irstea) décrits ci-dessous permettant de réaliser des expériences de régulation automatique temps réel sur le canal de Gignac.
Le module SCADA noté « Scada_Sic » ci-dessous est le nom donné par le Cemagref au module de régulation qui gère la communication entre les fichiers du Digesteur détaillés ci-dessous (csg.txt, data.txt ainsi que les fichiers de paramétrage) et le programme Sirene de calcul en régime transitoire de SIC incluant les modules de régulation standards.
Architecture informatique globale
Variables gérées par le digesteur et le module de régulation Scada de SIC
Les variables écrites sur le fichier data.txt et lues sur le fichier csg.txt (par le digesteur DSA) sont définies dans la base de donnée SQL grâce au champ « ItemRegulateur ». Si ce champ n’est pas renseigné, alors cette variable n’est pas gérée par le digesteur, ni par conséquent par les outils Cemagref de régulation. Il est très facile d’ajouter une nouvelle variable dans cette gestion. Il suffit en effet de renseigner ce champs « ItemRegutaleur ». Les noms suivent une certaine logique (ex. : Data.Avencq.DebitAmont pour les données mesurées, Csg.Avencq.PosVanneReg pour les variables de contrôle) qu’il est bon de suivre, même si cela n’est pas obligatoire. Les variables ainsi disponibles sont donnés ci-dessous en exemple pour le site d’Avencq.
Tag | Libelle | ItemRegulateur | Unite | TableHisto |
---|---|---|---|---|
3076 | Consigne débit aval CEMAGREF vanne régulation Avencq | Csg.Avencq.DebitAvalVanneReg | l/s | H_Avencq_Consignes |
3081 | Consigne niveau amont CEMAGREF vanne décharge Avencq | Csg.Avencq.NivAmontVanneDec | cm | H_Avencq_Consignes |
3079 | Consigne position CEMAGREF vanne décharge Avencq | Csg.Avencq.PosVanneDec | cm | H_Avencq_Consignes |
3074 | Consigne position CEMAGREF vanne régulation Avencq | Csg.Avencq.PosVanneReg | cm | H_Avencq_Consignes |
3127 | Seuil bas niveau canal amont Avencq | Csg.Avencq.SeuilBasAmont | cm | H_Avencq_Consignes |
3126 | Seuil haut niveau canal amont Avencq | Csg.Avencq.SeuilHautAmont | cm | H_Avencq_Consignes |
3128 | Seuil haut niveau canal aval Avencq | Csg.Avencq.SeuilHautAval | cm | H_Avencq_Consignes |
Tag | Libelle | ItemRegulateur | Unite | TableHisto |
3015 | Débit amont Avencq | Data.Avencq.DebitAmont | l/s | H_Avencq_DebAmont |
3020 | Débit aval Avencq | Data.Avencq.DebitAval | l/s | H_Avencq_DebAval |
3019 | Débit aval (vitesse, hauteur) Avencq | Data.Avencq.DebitAvalVH | l/s | H_Avencq_DebAval1 |
3018 | Débit déversoir Avencq | Data.Avencq.DebitDeversoir | l/s | H_Avencq_DefbDeversoir |
3017 | Débit vanne décharge Avencq | Data.Avencq.DebitVanneDec | l/s | H_Avencq_DebVDecharge |
3016 | Débit vanne régulation Avencq | Data.Avencq.DebitVanneReg | l/s | H_Avencq_DebVRegule |
3053 | Défaut calcul débit v décharge Avencq | Data.Avencq.DefCalculDebitVanneDec | H_Avencq_Defauts | |
3051 | Défaut calcul débit amont Avencq | Data.Avencq.DefDebitAmont | H_Avencq_Defauts | |
3056 | Défaut calcul débit aval (vanne-déversoir) Avencq | Data.Avencq.DefDebitAval | H_Avencq_Defauts | |
3055 | Défaut calcul débit aval (vitesse-hauteur)Avencq | Data.Avencq.DefDebitAvalVH | H_Avencq_Defauts | |
3054 | Défaut calcul débit déversoir Avencq | Data.Avencq.DefDebitDeversoir | H_Avencq_Defauts | |
3033 | Défaut capteur position v décharge Avencq | Data.Avencq.DefDebitVanneDec | H_Avencq_Defauts | |
3052 | Défaut calcul débit v régulation Avencq | Data.Avencq.DefDebitVanneReg | H_Avencq_Defauts | |
3030 | Défaut capteur niveau canal amont Avencq | Data.Avencq.DefNivAmont | H_Avencq_Defauts | |
3031 | Défaut capteur niveau canal aval Avencq | Data.Avencq.DefNivAval | H_Avencq_Defauts | |
3131 | Défaut niveau trop bas canal amont Avencq | Data.Avencq.DefNivBasAmont | H_Avencq_Defauts | |
3133 | Défaut niveau trop bas canal amont Avencq | Data.Avencq.DefNivBasAval | H_Avencq_Defauts | |
3130 | Défaut niveau trop haut canal amont Avencq | Data.Avencq.DefNivHautAmont | H_Avencq_Defauts | |
3132 | Défaut niveau trop haut canal aval Avencq | Data.Avencq.DefNivHautAval | H_Avencq_Defauts | |
3032 | Défaut capteur position v régulation Avencq | Data.Avencq.DefPosVanneReg | H_Avencq_Defauts | |
3089 | Défaut surverse Avencq | Data.Avencq.DefSurverse | H_Avencq_Defauts | |
3034 | Défaut capteur vitesse aval Avencq | Data.Avencq.DefVitesseEauAval | H_Avencq_Defauts | |
3008 | Niveau canal amont Avencq | Data.Avencq.NivAmont | cm | H_Avencq_NivAmont |
3009 | Niveau canal aval Avencq | Data.Avencq.NivAval | cm | H_Avencq_NivAval |
3011 | Position vanne décharge Avencq | Data.Avencq.PosVanneDec | cm | H_Avencq_PositionV2 |
3010 | Position vanne régulation Avencq | Data.Avencq.PosVanneReg | cm | H_Avencq_PositionV1 |
3012 | Vitesse de l’eau aval Avencq | Data.Avencq.VitesseEauAval | m/s | H_Avencq_VitesseAval |
Fichiers gérés par le digesteur et Scada_SIC
Architecture des sous répertoires :
Le Digesteur gère ses différents fichiers d’entrée et de sortie dans un ensemble de sous-répertoires ayant la structure suivante :
- REGULATEUR
- Commande
- Csg
- CsgRepli
- Data
- ParamDigesteur
- SaveCsg
- SaveData
Sous-répertoire Commande
Ce sous répertoire contient 2 fichiers :
CdeF.txt :
Ce fichier contient une seule ligne avec :
STOP ou START
pour indiquer si le Digesteur est en action ou non. C’est le module Scada_Sic qui écrit cette variable « START » (au démarrage du calcul) ou « STOP » (à la fin de la simulation) dans ce fichier. Il est à tout moment possible d’écrire dans ce fichier ce que l’on veut avec tout éditeur de texte, comme Notepad par exemple. Cela permet d’interrompre le test en cas d’urgence. Cela pourra être également forcé au niveau de l’interface du module Scada_Sic.
Config.txt :
Ce fichier contient des informations sur des périodes de temps et sur l’option de sauvegarde des fichiers data.txt et csg.txt. La variable PeriodeData est très importante puisque c’est elle qui va cadencer la génération des mesures et des créations des fichiers data.txt. Le module Scada_Sic lit cette variable et vérifie qu’elle est identique à celle du module de régulation. Un message d’avertissement est mis à l’écran en cas de différence.
'time out (en s) sur l'envoi des consignes du fichier de consignes. Après, prise en compte du fichier de consignes de repli TimeoutCsg=900 'Période (en s) de génération du fichier d'acquisition PeriodeData=300 'Commutateur permettant de savoir si on réalise les sauvegardes des fichiers data (1 pour Oui, 0 pour Non) ActivationTraceData=1 'Commutateur permettant de savoir si on réalise les sauvegardes des fichiers csg (1 pour Oui, 0 pour Non) ActivationTraceCsg=1
Sous-répertoire Csg
C’est dans le sous répertoire Csg que seront lus périodiquement les fichiers csg.txt contenant les consignes à appliquer en temps réel aux ouvrages de régulation (consignes envoyées aux automates programmables sur sites). Dès qu’un fichier csg.txt est lu par le digesteur il est détruit. Les unités sont celles spécifiées dans la base de donnée. Ce sont souvent des cm pour des ouvertures et des l/s pour des débit. Attention à bien vérifier ces unités. Ces fichiers csg.txt seront créés périodiquement par le module Scada_Sic. L’index est incrémenté à chaque nouveau fichier. Attention cette variable est importante car vérifiée par le digesteur et doit correspondre à l’index du fichier data.txt lu. L’horodate est l’heure de création du fichier csg.txt. Cet horodate n’est pas gérée par le Digesteur, elle est juste écrite pour information.
Csg.txt :
[Header] Horodate=25/10/2004 14:43: 7 Index= 1 [Data] CSG.AVENCQ.POSVANNEDEC ;25/10/2004 14:43: 7; +0.520E+01 CSG.AVENCQ.POSVANNEREG ;25/10/2004 14:43: 7; +0.298E+02 [End]
Sous-répertoire CsgRepli
Le fichier CsgRepli.txt est un fichier utilisé a priori en cas de problème, lorsqu’un fichier csg.txt n’a pas été fourni pendant un laps de temps indiqué dans la variable TimeoutCsg dans le fichier param.txt décrit ci-dessous. Il a le même format que les fichiers csg.txt. Ni l’index ni l’horodate ne sont utilisés dans ce cas.
CsgRepli.txt :
[Header] Horodate=01/01/2000 00:00:00 Index=1 [Data] CSG.AVENCQ.POSVANNEDEC ;25/10/2004 14:43: 7; +0.520E+01 CSG.AVENCQ.POSVANNEREG ;25/10/2004 14:43: 7; +0.298E+02 [End]
Sous-répertoire Data
Ce sous répertoire data contiendra les fichiers data.txt générés périodiquement par le digesteur à une période indiquée dans le fichier config.txt décrit ci-dessus (variable PeriodeData). Ces fichiers data.txt seront lus par le module Scada_Sic et détruit dès la fin de la lecture, pour laisser la place à un nouveau fichier. Ce fichier contient l’ensemble des variables ayant un ItemRegulateur dans la base de donnée SQL. C’est le fichier lieu.txt qui indiquera les variables qui nous intéressent pour le module Scada_Sic et qui fera le lien entre les variables de terrain et les variables internes du module Scada_Sic (variables U, Y et Z du module de régulation).
Data.txt :
[Header] Horodate=26/10/2004 17:03:02 Index=01 [Data] DATA.AURELLE.DEFPIEZZO ;20/03/2004 10:31:16;0.0000000000E000 DATA.AURELLE.DEFSURVERSE ;20/03/2004 10:31:16;0.0000000000E000 DATA.AURELLE.NIVPIEZZO ;26/03/2004 15:51:07;7.0000000000E001 DATA.AVENCQ.DEBITAMONT ;26/03/2004 15:51:27;5.3100000000E002 DATA.AVENCQ.DEBITAVAL ;26/03/2004 15:51:27;5.3100000000E002 DATA.AVENCQ.DEBITAVALVH ;26/03/2004 15:51:27;7.0100000000E002 DATA.AVENCQ.DEBITDEVERSOIR ;26/03/2004 15:51:27;4.7700000000E002 DATA.AVENCQ.DEBITVANNEDEC ;26/03/2004 10:55:54;0.0000000000E000 DATA.AVENCQ.DEBITVANNEREG ;26/03/2004 15:51:27;5.4000000000E001 DATA.AVENCQ.DEFCALCULDEBITVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFDEBITAMONT ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFDEBITAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFDEBITAVALVH ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFDEBITDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFDEBITVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFDEBITVANNEREG ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFNIVAMONT ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFNIVAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFNIVBASAMONT ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFNIVBASAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFNIVHAUTAMONT ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFNIVHAUTAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFPOSVANNEREG ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFSURVERSE ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.DEFVITESSEEAUAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.AVENCQ.NIVAMONT ;26/03/2004 15:50:57;8.5200000000E001 DATA.AVENCQ.NIVAVAL ;26/03/2004 15:51:27;5.5200000000E001 DATA.AVENCQ.POSVANNEDEC ;26/03/2004 10:37:08;0.0000000000E000 DATA.AVENCQ.POSVANNEREG ;26/03/2004 10:06:57;0.0000000000E000 DATA.AVENCQ.VITESSEEAUAVAL ;26/03/2004 15:51:27;8.7000000000E-001 DATA.BELBEZET.DEBAMONT ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEBAVAL ;26/03/2004 07:07:45;1.0370000000E003 DATA.BELBEZET.DEBVANNEDECHARGE ;26/03/2004 07:00:45;4.2000000000E001 DATA.BELBEZET.DEBVANNEDROITE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEBVANNEGAUCHE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEBVANNEMILIEU ;26/03/2004 07:07:45;1.0370000000E003 DATA.BELBEZET.DEFDEBAMONT ;26/03/2004 07:00:39;1.0000000000E000 DATA.BELBEZET.DEFDEBDECHARGE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFDEBDROITE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFDEBGAUCHE ;26/03/2004 07:00:39;1.0000000000E000 DATA.BELBEZET.DEFDEBMILIEU ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVAMONT ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVAVAL ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVBASAMONT ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVBASAVAL ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVBASRETENUE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVHAUTAMONT ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVHAUTAVAL ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVHAUTRETENUE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFNIVHERAULT ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFPOSVANNEDECHARGE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFPOSVANNEDROITE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.DEFPOSVANNEGAUCHE ;26/03/2004 07:00:39;1.0000000000E000 DATA.BELBEZET.DEFPOSVANNEMILIEU ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.NIVAMONT ;26/03/2004 07:00:45;1.1060000000E002 DATA.BELBEZET.NIVAVAL ;26/03/2004 07:07:45;8.7800000000E001 DATA.BELBEZET.NIVHERAULT ;26/03/2004 07:00:45;1.2550000000E002 DATA.BELBEZET.NIVHERAULTNGF ;26/03/2004 07:00:39;7.2050000000E001 DATA.BELBEZET.POSVANNEDECHARGE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.POSVANNEDROITE ;26/03/2004 07:00:39;0.0000000000E000 DATA.BELBEZET.POSVANNEGAUCHE ;26/03/2004 07:07:45;3.4400000000E001 DATA.BELBEZET.POSVANNEMILIEU ;26/03/2004 07:00:39;2.4200000000E001 DATA.CEYRAS.DEBITCANALAMONT ;25/03/2004 09:52:27;4.0777196875E005 DATA.CEYRAS.DEBITDEVERSOIR ;25/03/2004 09:52:27;0.0000000000E000 DATA.CEYRAS.DEBITREJET ;25/03/2004 09:52:27;0.0000000000E000 DATA.CEYRAS.DEBITVANNERESERVOIR ;25/03/2004 09:52:27;0.0000000000E000 DATA.CEYRAS.NIVBASCANALAMONT ;25/03/2004 09:51:53;0.0000000000E000 DATA.CEYRAS.NIVCANALAMONT ;25/03/2004 09:52:27;5.4615091173E001 DATA.CEYRAS.NIVHAUTCANALAMONT ;25/03/2004 09:51:53;0.0000000000E000 DATA.CEYRAS.PCTFERMETUREVANNEDEV ;25/03/2004 09:51:53;7.1900511177E001 DATA.GIGNAC.DEFPIEZZO ;20/03/2004 10:31:11;0.0000000000E000 DATA.GIGNAC.DEFSURVERSE ;20/03/2004 10:31:11;0.0000000000E000 DATA.GIGNAC.NIVEAUPIEZZO ;26/03/2004 15:50:28;7.2200000000E001 DATA.LAGAREL.DEBITAMONTTH ;26/03/2004 15:51:28;3.7000000000E001 DATA.LAGAREL.DEBITAVALTH ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEBITAVALVH ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEBITDEVERSOIR ;26/03/2004 15:51:28;3.7000000000E001 DATA.LAGAREL.DEBITVANNEDEC ;25/03/2004 15:15:37;0.0000000000E000 DATA.LAGAREL.DEBITVANNEREG ;20/03/2004 10:31:26;-3.2768000000E004 DATA.LAGAREL.DEFDEBITAMONTTH ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFDEBITAVALTH ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFDEBITAVALVH ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFDEBITDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFDEBITVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFDEBITVANNEREG ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFNIVCANALAMONT ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFNIVCANALAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFNIVEAUBASAMONT ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFNIVEAUBASDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFNIVEAUHAUTAMONT ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFNIVEAUHAUTDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFPOSITIONVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFPOSITIONVANNEREG ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEFSURVERSE ;25/03/2004 18:29:52;0.0000000000E000 DATA.LAGAREL.DEFVITESSEEAUAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.DEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.NIVCANALAMONT ;26/03/2004 15:50:58;8.6000000000E001 DATA.LAGAREL.POSITIONVANNEDEC ;24/03/2004 09:56:29;0.0000000000E000 DATA.LAGAREL.POSITIONVANNEREG ;20/03/2004 10:31:26;0.0000000000E000 DATA.LAGAREL.VITESSEEAUAVAL ;20/03/2004 10:31:26;0.0000000000E000 DATA.MOBILE.DEFPIEZZO ;20/03/2004 10:35:53;0.0000000000E000 DATA.MOBILE.NIVPIEZZO ;26/03/2004 17:02:53;9.2000000000E001 DATA.PARTITEUR.DEBDEVERSOIRAMONT ;26/03/2004 11:13:17;0.0000000000E000 DATA.PARTITEUR.DEBITAMONTTH ;26/03/2004 17:03:00;1.6090000000E003 DATA.PARTITEUR.DEBITDECHARGEDROITE ;25/03/2004 18:00:19;0.0000000000E000 DATA.PARTITEUR.DEBITDECHARGEGAUCHE ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEBITDROITE ;26/03/2004 17:03:00;9.7300000000E002 DATA.PARTITEUR.DEBITGAUCHE ;26/03/2004 17:03:00;6.3600000000E002 DATA.PARTITEUR.DEBITREGULDROITE ;26/03/2004 17:03:00;8.2100000000E002 DATA.PARTITEUR.DEBITREGULGAUCHE ;26/03/2004 17:03:00;7.4600000000E002 DATA.PARTITEUR.DEFDEBITAMONT ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFDEBITDECHARGEDROITE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFDEBITDECHARGEGAUCHE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFDEBITDROITE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFDEBITGAUCHE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFDEBITREGULDROITE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFDEBITREGULGAUCHE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFNIVBCANALCOMMUN ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEFNIVBCANALDROITE ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEFNIVBCANALGAUCHE ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEFNIVCANALCOMMUN ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFNIVCANALDROITE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFNIVCANALGAUCHE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFNIVHCANALCOMMUN ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEFNIVHCANALDROITE ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEFNIVHCANALGAUCHE ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEFPOSITIONVANNEDECDROITE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFPOSITIONVANNEDECGAUCHE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFPOSITIONVANNEREGDROITE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFPOSITIONVANNEREGGAUCHE ;25/03/2004 11:50:19;0.0000000000E000 DATA.PARTITEUR.DEFVITESSEEAUDROITE ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.DEFVITESSEEAUGAUCHE ;20/03/2004 10:31:25;0.0000000000E000 DATA.PARTITEUR.NIVCANALCOMMUN ;26/03/2004 17:03:00;6.8900000000E001 DATA.PARTITEUR.NIVCANALDROITE ;26/03/2004 17:02:23;1.0510000000E002 DATA.PARTITEUR.NIVCANALGAUCHE ;26/03/2004 17:03:00;8.2100000000E001 DATA.PARTITEUR.POSITIONVANNEDECDROITE ;25/03/2004 18:00:19;0.0000000000E000 DATA.PARTITEUR.POSITIONVANNEDECGAUCHE ;25/03/2004 11:37:30;0.0000000000E000 DATA.PARTITEUR.POSITIONVANNEREGDROITE ;26/03/2004 16:35:18;3.5700000000E001 DATA.PARTITEUR.POSITIONVANNEREGGAUCHE ;26/03/2004 16:27:31;1.4300000000E001 DATA.PARTITEUR.VITESSEEAUDROITE ;26/03/2004 17:03:00;6.9800000000E-001 DATA.PARTITEUR.VITESSEEAUGAUCHE ;26/03/2004 17:03:00;5.3100000000E-001 DATA.PONTLUSSAC.DEBITAMONT ;25/03/2004 07:03:41;5.6315850000E005 DATA.PONTLUSSAC.DEBITAVAL ;25/03/2004 07:03:41;2.0273704960E009 DATA.PONTLUSSAC.DEBITDEVERSOIR ;25/03/2004 07:03:41;8.0417953491E001 DATA.PONTLUSSAC.DEBITREJET ;25/03/2004 07:03:41;8.0417953491E001 DATA.PONTLUSSAC.DEBITVANNECONDUITE ;25/03/2004 07:03:41;0.0000000000E000 DATA.PONTLUSSAC.DEBITVANNEPONT ;25/03/2004 07:03:41;0.0000000000E000 DATA.PONTLUSSAC.NIVBASCANALAMONT ;25/03/2004 07:03:41;0.0000000000E000 DATA.PONTLUSSAC.NIVCANALAMONT ;25/03/2004 07:03:41;6.1597619593E001 DATA.PONTLUSSAC.NIVHAUTCANALAMONT ;25/03/2004 07:03:41;1.0000000000E000 DATA.PONTLUSSAC.PCTFERMETUREVANNECONDUITE ;25/03/2004 07:03:41;0.0000000000E000 DATA.PONTLUSSAC.PCTFERMETUREVANNEPONT ;25/03/2004 07:03:41;2.1484702831E000 DATA.ROUVIERE.DEBITAMONT ;20/03/2004 10:31:27;1.3600000000E002 DATA.ROUVIERE.DEBITAMONTVH ;26/03/2004 15:51:29;2.5400000000E002 DATA.ROUVIERE.DEBITAVAL ;26/03/2004 15:51:29;1.1400000000E002 DATA.ROUVIERE.DEBITDEVERSOIR ;26/03/2004 15:51:29;1.1400000000E002 DATA.ROUVIERE.DEBITVANNEREG ;23/03/2004 07:29:40;0.0000000000E000 DATA.ROUVIERE.DEFBASNIVCANAL ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFDEBITAMONTVH ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFDEBITAVAL ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFDEBITDEVERSOIR ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFDEBITVANNEREG ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFHAUTNIVCANAL ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFNIVCANAL ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFPOSVANNEREG ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFSUSRVERSE ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.DEFVITESSEEAUAMONT ;20/03/2004 10:31:27;0.0000000000E000 DATA.ROUVIERE.NIVCANAL ;26/03/2004 15:51:29;7.3800000000E001 DATA.ROUVIERE.POSVANNEREG ;23/03/2004 07:29:40;0.0000000000E000 DATA.ROUVIERE.VITESSEEAUAMONT ;26/03/2004 15:51:29;1.4600000000E-001 DATA.STJEAN.DEFSUSRVERSE ;20/03/2004 10:31:10;0.0000000000E000 DATA.STJEAN.NIVEAUPIEZZO ;26/03/2004 15:51:38;5.6700000000E001 DATA.STJEAN.POSVANNE ;26/03/2004 15:51:38;1.5600000000E001 [End]
Sous-répertoire ParamDigesteur
Le sous-répertoire ParamDigesteur contient le fichier Param.txt contenant un ensemble de paramètres utiles pour le digesteur. Le module Scada_Sic ne lit pas ce fichier. Les variables TimeoutCsg et PeriodeData définies ci-dessous (attention : en ms et non en s) seront écrasées par celles définies dans le fichier config.txt décrit ci-dessus.
Param.txt :
'N° PORT SOCKET Sck_Port=*** 'Adresse IP Connexion serveur CIA Sck_AdrIP=*** DBPARAMTYPE=MYSQL DBPARAMPATH=reference_gignac DBPARAMSERVER=*** DBPARAMUSER=*** 'DBPARAMPWD=*** 'time out (en ms) prise en compte du fichier de consignes de repli TimeoutCsg=900000 'Période (en ms) de génération du fichier d'acquisition PeriodeData=60000 'Chemin du fichier d'acquisition (Chemin FTP) PathData=/REGULATEUR/Data 'Chemin de sauvegarde des fichiers d'acquisition (Chemin FTP) TraceData=/REGULATEUR/SaveData 'Chemin du fichier de consigne (Chemin FTP) PathCsg=/REGULATEUR/Csg 'Chemin de sauvegarde des fichiers de consigne (Chemin FTP) TraceCsg=/REGULATEUR/SaveCsg 'Chemin du fichier de command (start et stop) (Chemin FTP) PathCdeFrontal=/REGULATEUR/Commande/CdeF.txt 'Chemin du fichier de consignes de repli (chemin local) PathCsgRepli=C:\Outils_DSA\digesteur\CsgRepli 'Paramètres du serveur FTP Ftp_AdrIP=*** Ftp_Login=*** Ftp_Pwd=***
SaveCsg
Ce sous-répertoire contient les sauvegardes de tous les fichiers csg.txt créés avec un nom de fichier incluant l’horodate de création du fichier. Ces fichiers de sauvegarde sont créés si l’option ActivationTraceCsg a été activée (=1) dans le fichier config.txt :
SaveData
Ce sous-répertoire contient les sauvegardes de tous les fichiers data.txt créés avec un nom de fichier incluant l’horodate de création du fichier. Ces fichiers de sauvegarde sont créés si l’option ActivationTraceData a été activée (=1) dans le fichier config.txt :
Exemple de mise au point de contrôleurs
Mise au point sous SIC
Mettre au point le module de régulation sous SIC avec les procédures habituelles (modules ATV, DSS, PID, MATLAB, USER1 à 9, etc.).
Pour l’instant le module Scada_Sic ne peut piloter qu’un seul module de régulation de SIC. Pour une régulation complexe (nécessitant plusieurs modules de régulation de SIC, comme 2 modules PID simultanés par exemple) il peut donc être nécessaire d’utiliser le module MATLAB ou un module USER. Cette limitation sera levée dans une prochaine version.
Création du fichier Lieu.txt
Le fichier lieu.txt fait le lien entre les données terrain telles que manipulées dans les fichiers csg.txt et data.txt et les données de Sic (variables U, Y et Z du module Scada_Sic). Ce fichier permet également de définir un facteur d’échelle et un décalage (ValeurSic = a*ValeurTerrain + b). Ce fichier est très important car il permet de traduire les données compréhensibles par le Digesteur et par le module Scada_Sic, dans les 2 sens. L’ordre des variables est également important puisque la correspondance des U, des Y et des Z sera faite dans cet ordre :
[Header]
[Z]
Data.Avencq.NivAmont ;0.01 -.852
Data.Lagarel.NivCanalAmont ;0.01 -.86
[Y]
Data.Lagarel.NivCanalAmont ;0.01 -.86
[U]
Csg.Avencq.PosVanneDec ;0.01 -.052
Csg.Avencq.PosVanneReg ;0.01 -.298
[End]
Dans l’exemple donné ci-dessus :
- la variable Z(1) correspondra à 0.01 * Data.Avencq.NivAmont - 0.852,
- Z(2) correspondra à 0.01 * Data.Lagarel.NivCanalAmont - 0.86,
- Y(1) correspondra à 0.01 * Data.Lagarel. NivCanalAmont - 0.86,
- Csg.Avencq.PosVanneDec correspondra à (U(1)+0.052)/0.01,
- Csg.Avencq.PosVanneReg correspondra à (U(2)+0.298)/0.01.
Les Horodates des variables Y et Z sont stockées au format A19 dans le COMMON/HOROYZ/HORODY(100),HORODZ(100)
Si l’on souhaite que l’offset "b" soit initialisé automatiquement à la valeur initiale, il suffit de mettre un code non numérique. Par exemple :
Data.Lagarel.NivCanalAmont ;0.01 -xx6
Csg.Avencq.PosVanneDec ;0.01 -.*
Dés que la lecture de cet offset retourne une erreur de lecture, l’offset est initialisé à la valeur initiale lue dans le fichier data.txt. A l’écran de l’interface scada apparaîtra la valeur -9999.0 pour signifier que cette option a été utilisée. Un fichier lieu2.txt est créé avec les valeurs des offsets mises à jour automatiquement. Cette option est intéressante lorsque l’on veut récupérer et manipuler des variables en mode relatif, comme cela est souvent le cas dans les contrôleurs linéaires, sans avoir à rentrer à la main ces valeurs, ce qui est lourd et source d’erreurs.
Attention, il arrive que les libellés (ItemRegulateur) de certaines variables de type Csg.*** ne soient pas les mêmes que ceux des variables correspondantes en Data.***. Par exemple Csg.Partiteur.DebVanneRegDroite et Data.Partiteur.DebitRegulDroite. Il aurait été plus judicieux de respecter cette cohérence. Il est possible d’améliorer cela en modifiant la base SQL de référence qui contient ces libellés ItemRegulateur. En tout état de cause, il est essentiel que le fichier lieu.txt contienne dans ses rubriques [U] le bon libellé de la variable Csg. correspondante, car c’est cette variable que va attendre et décoder le Digesteur (Csg.Partiteur.DebVanneRegDroite dans notre exemple ci-dessus). Il y aura un avertissement disant que cette variable de type U n’a pas été trouvée dans le fichier DATA.TXT, et que du coup le nombre de U du fichier .REG n’est pas le même que celui des U ayant été trouvés correctement dans le fichier DATA.TXT. C’est juste un avertissement ne posant pas de problème particulier. Le seul inconvénient éventuel est que la variable correspondante U qui est normalement initialisée à sa valeurs provenant du terrain ne sera pas initialisée correctement et sera donc à 0. Une évolution future du module SCADA sera de permettre de rentrer 2 libellés, celui en Csg. et celui en Data., dans le cas où ces 2 libellés sont différents :
[U]
Csg.Partiteur.DebVanneRegDroite ;0.001 -.652
Data.Partiteur.DebitRegulDroite ;0.001 -.652
[End]
Le libellé en Csg. sera utilisé pour la génération des fichiers CSG.TXT et le libellé en Data. sera utilisé pour l’initialisation de la valeur de U correspondante.
Activation du module Scada_Sic
Une fois le module de régulation mis au point dans SIC, il suffit d’activer le module SCADA, avec en paramètres (lignes PS) les mêmes paramètres que ceux du module d’origine, précédés d’une ligne de paramètres au format (A6,1X,I1,1X,I1,1X,I4) indiquant le nom du module (ex. : MATLAB dans l’exemple ci-dessous), le flag de synchronisation (0 ci-dessous), le flag d’écriture des U sur les fichiers csg.txt (1 ci-dessous) et un nombre d’itérations de préchauffage de synchronisation pendant lesquelles le module Scada n’efface pas les data.txt pour accélérer les itérations de calcul pour se synchroniser le plus vite possible sur les données terrain, si nécessaire :
Edition du fichier de régulation .reg pour le module SCADA
Si le flag de synchronisation vaut 1, alors les commandes U seront non seulement fournies au digesteur via les fichiers csg.txt, mais elles seront également appliquées au calcul dans SIC. Cela peut permettre de vérifier l’évolution dans le simulateur et dans le canal réel. Par contre, cela peut être dangereux si des manœuvres brutales créent des problèmes de calcul dans SIC (torrentiel, passage à sec, etc). En effet, tout plantage de SIC dans ce genre de simulation interrompra la génération des fichiers csg.txt. Les consignes indiquées dans le fichier de repli seront alors appliquées à l’issue de la période d’attente TimeoutCsg indiquée dans le fichier config.txt.
Une fois la simulation lancée une interface permet de suivre l’évolution des échanges de fichiers et de variables entre Sic (via Scada_Sic de Sirene) et le Canal (via le Digesteur) :