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.

Liste des variables de contrôles U disponibles à 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
Liste des variables mesurées Z disponibles à Avencq
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.

  1. 'time out (en s) sur l'envoi des consignes du fichier de consignes. Après, prise en compte du fichier de consignes de repli
  2. TimeoutCsg=900
  3.  
  4. 'Période (en s) de génération du fichier d'acquisition
  5. PeriodeData=300
  6.  
  7. 'Commutateur permettant de savoir si on réalise les sauvegardes des fichiers data (1 pour Oui, 0 pour Non)
  8. ActivationTraceData=1
  9.  
  10. 'Commutateur permettant de savoir si on réalise les sauvegardes des fichiers csg (1 pour Oui, 0 pour Non)
  11. ActivationTraceCsg=1

Télécharger

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 :
  1. [Header]
  2. Horodate=25/10/2004 14:43: 7
  3. Index= 1
  4. [Data]
  5. CSG.AVENCQ.POSVANNEDEC ;25/10/2004 14:43: 7; +0.520E+01
  6. CSG.AVENCQ.POSVANNEREG ;25/10/2004 14:43: 7; +0.298E+02
  7. [End]

Télécharger

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 :
  1. [Header]
  2. Horodate=01/01/2000 00:00:00
  3. Index=1
  4. [Data]
  5. CSG.AVENCQ.POSVANNEDEC ;25/10/2004 14:43: 7; +0.520E+01
  6. CSG.AVENCQ.POSVANNEREG ;25/10/2004 14:43: 7; +0.298E+02
  7. [End]

Télécharger

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 :
  1. [Header]
  2. Horodate=26/10/2004 17:03:02
  3. Index=01
  4. [Data]
  5. DATA.AURELLE.DEFPIEZZO ;20/03/2004 10:31:16;0.0000000000E000
  6. DATA.AURELLE.DEFSURVERSE ;20/03/2004 10:31:16;0.0000000000E000
  7. DATA.AURELLE.NIVPIEZZO ;26/03/2004 15:51:07;7.0000000000E001
  8. DATA.AVENCQ.DEBITAMONT ;26/03/2004 15:51:27;5.3100000000E002
  9. DATA.AVENCQ.DEBITAVAL ;26/03/2004 15:51:27;5.3100000000E002
  10. DATA.AVENCQ.DEBITAVALVH ;26/03/2004 15:51:27;7.0100000000E002
  11. DATA.AVENCQ.DEBITDEVERSOIR ;26/03/2004 15:51:27;4.7700000000E002
  12. DATA.AVENCQ.DEBITVANNEDEC ;26/03/2004 10:55:54;0.0000000000E000
  13. DATA.AVENCQ.DEBITVANNEREG ;26/03/2004 15:51:27;5.4000000000E001
  14. DATA.AVENCQ.DEFCALCULDEBITVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000
  15. DATA.AVENCQ.DEFDEBITAMONT ;20/03/2004 10:31:26;0.0000000000E000
  16. DATA.AVENCQ.DEFDEBITAVAL ;20/03/2004 10:31:26;0.0000000000E000
  17. DATA.AVENCQ.DEFDEBITAVALVH ;20/03/2004 10:31:26;0.0000000000E000
  18. DATA.AVENCQ.DEFDEBITDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000
  19. DATA.AVENCQ.DEFDEBITVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000
  20. DATA.AVENCQ.DEFDEBITVANNEREG ;20/03/2004 10:31:26;0.0000000000E000
  21. DATA.AVENCQ.DEFNIVAMONT ;20/03/2004 10:31:26;0.0000000000E000
  22. DATA.AVENCQ.DEFNIVAVAL ;20/03/2004 10:31:26;0.0000000000E000
  23. DATA.AVENCQ.DEFNIVBASAMONT ;20/03/2004 10:31:26;0.0000000000E000
  24. DATA.AVENCQ.DEFNIVBASAVAL ;20/03/2004 10:31:26;0.0000000000E000
  25. DATA.AVENCQ.DEFNIVHAUTAMONT ;20/03/2004 10:31:26;0.0000000000E000
  26. DATA.AVENCQ.DEFNIVHAUTAVAL ;20/03/2004 10:31:26;0.0000000000E000
  27. DATA.AVENCQ.DEFPOSVANNEREG ;20/03/2004 10:31:26;0.0000000000E000
  28. DATA.AVENCQ.DEFSURVERSE ;20/03/2004 10:31:26;0.0000000000E000
  29. DATA.AVENCQ.DEFVITESSEEAUAVAL ;20/03/2004 10:31:26;0.0000000000E000
  30. DATA.AVENCQ.NIVAMONT ;26/03/2004 15:50:57;8.5200000000E001
  31. DATA.AVENCQ.NIVAVAL ;26/03/2004 15:51:27;5.5200000000E001
  32. DATA.AVENCQ.POSVANNEDEC ;26/03/2004 10:37:08;0.0000000000E000
  33. DATA.AVENCQ.POSVANNEREG ;26/03/2004 10:06:57;0.0000000000E000
  34. DATA.AVENCQ.VITESSEEAUAVAL ;26/03/2004 15:51:27;8.7000000000E-001
  35. DATA.BELBEZET.DEBAMONT ;26/03/2004 07:00:39;0.0000000000E000
  36. DATA.BELBEZET.DEBAVAL ;26/03/2004 07:07:45;1.0370000000E003
  37. DATA.BELBEZET.DEBVANNEDECHARGE ;26/03/2004 07:00:45;4.2000000000E001
  38. DATA.BELBEZET.DEBVANNEDROITE ;26/03/2004 07:00:39;0.0000000000E000
  39. DATA.BELBEZET.DEBVANNEGAUCHE ;26/03/2004 07:00:39;0.0000000000E000
  40. DATA.BELBEZET.DEBVANNEMILIEU ;26/03/2004 07:07:45;1.0370000000E003
  41. DATA.BELBEZET.DEFDEBAMONT ;26/03/2004 07:00:39;1.0000000000E000
  42. DATA.BELBEZET.DEFDEBDECHARGE ;26/03/2004 07:00:39;0.0000000000E000
  43. DATA.BELBEZET.DEFDEBDROITE ;26/03/2004 07:00:39;0.0000000000E000
  44. DATA.BELBEZET.DEFDEBGAUCHE ;26/03/2004 07:00:39;1.0000000000E000
  45. DATA.BELBEZET.DEFDEBMILIEU ;26/03/2004 07:00:39;0.0000000000E000
  46. DATA.BELBEZET.DEFNIVAMONT ;26/03/2004 07:00:39;0.0000000000E000
  47. DATA.BELBEZET.DEFNIVAVAL ;26/03/2004 07:00:39;0.0000000000E000
  48. DATA.BELBEZET.DEFNIVBASAMONT ;26/03/2004 07:00:39;0.0000000000E000
  49. DATA.BELBEZET.DEFNIVBASAVAL ;26/03/2004 07:00:39;0.0000000000E000
  50. DATA.BELBEZET.DEFNIVBASRETENUE ;26/03/2004 07:00:39;0.0000000000E000
  51. DATA.BELBEZET.DEFNIVHAUTAMONT ;26/03/2004 07:00:39;0.0000000000E000
  52. DATA.BELBEZET.DEFNIVHAUTAVAL ;26/03/2004 07:00:39;0.0000000000E000
  53. DATA.BELBEZET.DEFNIVHAUTRETENUE ;26/03/2004 07:00:39;0.0000000000E000
  54. DATA.BELBEZET.DEFNIVHERAULT ;26/03/2004 07:00:39;0.0000000000E000
  55. DATA.BELBEZET.DEFPOSVANNEDECHARGE ;26/03/2004 07:00:39;0.0000000000E000
  56. DATA.BELBEZET.DEFPOSVANNEDROITE ;26/03/2004 07:00:39;0.0000000000E000
  57. DATA.BELBEZET.DEFPOSVANNEGAUCHE ;26/03/2004 07:00:39;1.0000000000E000
  58. DATA.BELBEZET.DEFPOSVANNEMILIEU ;26/03/2004 07:00:39;0.0000000000E000
  59. DATA.BELBEZET.NIVAMONT ;26/03/2004 07:00:45;1.1060000000E002
  60. DATA.BELBEZET.NIVAVAL ;26/03/2004 07:07:45;8.7800000000E001
  61. DATA.BELBEZET.NIVHERAULT ;26/03/2004 07:00:45;1.2550000000E002
  62. DATA.BELBEZET.NIVHERAULTNGF ;26/03/2004 07:00:39;7.2050000000E001
  63. DATA.BELBEZET.POSVANNEDECHARGE ;26/03/2004 07:00:39;0.0000000000E000
  64. DATA.BELBEZET.POSVANNEDROITE ;26/03/2004 07:00:39;0.0000000000E000
  65. DATA.BELBEZET.POSVANNEGAUCHE ;26/03/2004 07:07:45;3.4400000000E001
  66. DATA.BELBEZET.POSVANNEMILIEU ;26/03/2004 07:00:39;2.4200000000E001
  67. DATA.CEYRAS.DEBITCANALAMONT ;25/03/2004 09:52:27;4.0777196875E005
  68. DATA.CEYRAS.DEBITDEVERSOIR ;25/03/2004 09:52:27;0.0000000000E000
  69. DATA.CEYRAS.DEBITREJET ;25/03/2004 09:52:27;0.0000000000E000
  70. DATA.CEYRAS.DEBITVANNERESERVOIR ;25/03/2004 09:52:27;0.0000000000E000
  71. DATA.CEYRAS.NIVBASCANALAMONT ;25/03/2004 09:51:53;0.0000000000E000
  72. DATA.CEYRAS.NIVCANALAMONT ;25/03/2004 09:52:27;5.4615091173E001
  73. DATA.CEYRAS.NIVHAUTCANALAMONT ;25/03/2004 09:51:53;0.0000000000E000
  74. DATA.CEYRAS.PCTFERMETUREVANNEDEV ;25/03/2004 09:51:53;7.1900511177E001
  75. DATA.GIGNAC.DEFPIEZZO ;20/03/2004 10:31:11;0.0000000000E000
  76. DATA.GIGNAC.DEFSURVERSE ;20/03/2004 10:31:11;0.0000000000E000
  77. DATA.GIGNAC.NIVEAUPIEZZO ;26/03/2004 15:50:28;7.2200000000E001
  78. DATA.LAGAREL.DEBITAMONTTH ;26/03/2004 15:51:28;3.7000000000E001
  79. DATA.LAGAREL.DEBITAVALTH ;20/03/2004 10:31:26;0.0000000000E000
  80. DATA.LAGAREL.DEBITAVALVH ;20/03/2004 10:31:26;0.0000000000E000
  81. DATA.LAGAREL.DEBITDEVERSOIR ;26/03/2004 15:51:28;3.7000000000E001
  82. DATA.LAGAREL.DEBITVANNEDEC ;25/03/2004 15:15:37;0.0000000000E000
  83. DATA.LAGAREL.DEBITVANNEREG ;20/03/2004 10:31:26;-3.2768000000E004
  84. DATA.LAGAREL.DEFDEBITAMONTTH ;20/03/2004 10:31:26;0.0000000000E000
  85. DATA.LAGAREL.DEFDEBITAVALTH ;20/03/2004 10:31:26;0.0000000000E000
  86. DATA.LAGAREL.DEFDEBITAVALVH ;20/03/2004 10:31:26;0.0000000000E000
  87. DATA.LAGAREL.DEFDEBITDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000
  88. DATA.LAGAREL.DEFDEBITVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000
  89. DATA.LAGAREL.DEFDEBITVANNEREG ;20/03/2004 10:31:26;0.0000000000E000
  90. DATA.LAGAREL.DEFNIVCANALAMONT ;20/03/2004 10:31:26;0.0000000000E000
  91. DATA.LAGAREL.DEFNIVCANALAVAL ;20/03/2004 10:31:26;0.0000000000E000
  92. DATA.LAGAREL.DEFNIVEAUBASAMONT ;20/03/2004 10:31:26;0.0000000000E000
  93. DATA.LAGAREL.DEFNIVEAUBASDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000
  94. DATA.LAGAREL.DEFNIVEAUHAUTAMONT ;20/03/2004 10:31:26;0.0000000000E000
  95. DATA.LAGAREL.DEFNIVEAUHAUTDEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000
  96. DATA.LAGAREL.DEFPOSITIONVANNEDEC ;20/03/2004 10:31:26;0.0000000000E000
  97. DATA.LAGAREL.DEFPOSITIONVANNEREG ;20/03/2004 10:31:26;0.0000000000E000
  98. DATA.LAGAREL.DEFSURVERSE ;25/03/2004 18:29:52;0.0000000000E000
  99. DATA.LAGAREL.DEFVITESSEEAUAVAL ;20/03/2004 10:31:26;0.0000000000E000
  100. DATA.LAGAREL.DEVERSOIR ;20/03/2004 10:31:26;0.0000000000E000
  101. DATA.LAGAREL.NIVCANALAMONT ;26/03/2004 15:50:58;8.6000000000E001
  102. DATA.LAGAREL.POSITIONVANNEDEC ;24/03/2004 09:56:29;0.0000000000E000
  103. DATA.LAGAREL.POSITIONVANNEREG ;20/03/2004 10:31:26;0.0000000000E000
  104. DATA.LAGAREL.VITESSEEAUAVAL ;20/03/2004 10:31:26;0.0000000000E000
  105. DATA.MOBILE.DEFPIEZZO ;20/03/2004 10:35:53;0.0000000000E000
  106. DATA.MOBILE.NIVPIEZZO ;26/03/2004 17:02:53;9.2000000000E001
  107. DATA.PARTITEUR.DEBDEVERSOIRAMONT ;26/03/2004 11:13:17;0.0000000000E000
  108. DATA.PARTITEUR.DEBITAMONTTH ;26/03/2004 17:03:00;1.6090000000E003
  109. DATA.PARTITEUR.DEBITDECHARGEDROITE ;25/03/2004 18:00:19;0.0000000000E000
  110. DATA.PARTITEUR.DEBITDECHARGEGAUCHE ;20/03/2004 10:31:25;0.0000000000E000
  111. DATA.PARTITEUR.DEBITDROITE ;26/03/2004 17:03:00;9.7300000000E002
  112. DATA.PARTITEUR.DEBITGAUCHE ;26/03/2004 17:03:00;6.3600000000E002
  113. DATA.PARTITEUR.DEBITREGULDROITE ;26/03/2004 17:03:00;8.2100000000E002
  114. DATA.PARTITEUR.DEBITREGULGAUCHE ;26/03/2004 17:03:00;7.4600000000E002
  115. DATA.PARTITEUR.DEFDEBITAMONT ;25/03/2004 11:50:19;0.0000000000E000
  116. DATA.PARTITEUR.DEFDEBITDECHARGEDROITE ;25/03/2004 11:50:19;0.0000000000E000
  117. DATA.PARTITEUR.DEFDEBITDECHARGEGAUCHE ;25/03/2004 11:50:19;0.0000000000E000
  118. DATA.PARTITEUR.DEFDEBITDROITE ;25/03/2004 11:50:19;0.0000000000E000
  119. DATA.PARTITEUR.DEFDEBITGAUCHE ;25/03/2004 11:50:19;0.0000000000E000
  120. DATA.PARTITEUR.DEFDEBITREGULDROITE ;25/03/2004 11:50:19;0.0000000000E000
  121. DATA.PARTITEUR.DEFDEBITREGULGAUCHE ;25/03/2004 11:50:19;0.0000000000E000
  122. DATA.PARTITEUR.DEFNIVBCANALCOMMUN ;20/03/2004 10:31:25;0.0000000000E000
  123. DATA.PARTITEUR.DEFNIVBCANALDROITE ;20/03/2004 10:31:25;0.0000000000E000
  124. DATA.PARTITEUR.DEFNIVBCANALGAUCHE ;20/03/2004 10:31:25;0.0000000000E000
  125. DATA.PARTITEUR.DEFNIVCANALCOMMUN ;25/03/2004 11:50:19;0.0000000000E000
  126. DATA.PARTITEUR.DEFNIVCANALDROITE ;25/03/2004 11:50:19;0.0000000000E000
  127. DATA.PARTITEUR.DEFNIVCANALGAUCHE ;25/03/2004 11:50:19;0.0000000000E000
  128. DATA.PARTITEUR.DEFNIVHCANALCOMMUN ;20/03/2004 10:31:25;0.0000000000E000
  129. DATA.PARTITEUR.DEFNIVHCANALDROITE ;20/03/2004 10:31:25;0.0000000000E000
  130. DATA.PARTITEUR.DEFNIVHCANALGAUCHE ;20/03/2004 10:31:25;0.0000000000E000
  131. DATA.PARTITEUR.DEFPOSITIONVANNEDECDROITE ;25/03/2004 11:50:19;0.0000000000E000
  132. DATA.PARTITEUR.DEFPOSITIONVANNEDECGAUCHE ;25/03/2004 11:50:19;0.0000000000E000
  133. DATA.PARTITEUR.DEFPOSITIONVANNEREGDROITE ;25/03/2004 11:50:19;0.0000000000E000
  134. DATA.PARTITEUR.DEFPOSITIONVANNEREGGAUCHE ;25/03/2004 11:50:19;0.0000000000E000
  135. DATA.PARTITEUR.DEFVITESSEEAUDROITE ;20/03/2004 10:31:25;0.0000000000E000
  136. DATA.PARTITEUR.DEFVITESSEEAUGAUCHE ;20/03/2004 10:31:25;0.0000000000E000
  137. DATA.PARTITEUR.NIVCANALCOMMUN ;26/03/2004 17:03:00;6.8900000000E001
  138. DATA.PARTITEUR.NIVCANALDROITE ;26/03/2004 17:02:23;1.0510000000E002
  139. DATA.PARTITEUR.NIVCANALGAUCHE ;26/03/2004 17:03:00;8.2100000000E001
  140. DATA.PARTITEUR.POSITIONVANNEDECDROITE ;25/03/2004 18:00:19;0.0000000000E000
  141. DATA.PARTITEUR.POSITIONVANNEDECGAUCHE ;25/03/2004 11:37:30;0.0000000000E000
  142. DATA.PARTITEUR.POSITIONVANNEREGDROITE ;26/03/2004 16:35:18;3.5700000000E001
  143. DATA.PARTITEUR.POSITIONVANNEREGGAUCHE ;26/03/2004 16:27:31;1.4300000000E001
  144. DATA.PARTITEUR.VITESSEEAUDROITE ;26/03/2004 17:03:00;6.9800000000E-001
  145. DATA.PARTITEUR.VITESSEEAUGAUCHE ;26/03/2004 17:03:00;5.3100000000E-001
  146. DATA.PONTLUSSAC.DEBITAMONT ;25/03/2004 07:03:41;5.6315850000E005
  147. DATA.PONTLUSSAC.DEBITAVAL ;25/03/2004 07:03:41;2.0273704960E009
  148. DATA.PONTLUSSAC.DEBITDEVERSOIR ;25/03/2004 07:03:41;8.0417953491E001
  149. DATA.PONTLUSSAC.DEBITREJET ;25/03/2004 07:03:41;8.0417953491E001
  150. DATA.PONTLUSSAC.DEBITVANNECONDUITE ;25/03/2004 07:03:41;0.0000000000E000
  151. DATA.PONTLUSSAC.DEBITVANNEPONT ;25/03/2004 07:03:41;0.0000000000E000
  152. DATA.PONTLUSSAC.NIVBASCANALAMONT ;25/03/2004 07:03:41;0.0000000000E000
  153. DATA.PONTLUSSAC.NIVCANALAMONT ;25/03/2004 07:03:41;6.1597619593E001
  154. DATA.PONTLUSSAC.NIVHAUTCANALAMONT ;25/03/2004 07:03:41;1.0000000000E000
  155. DATA.PONTLUSSAC.PCTFERMETUREVANNECONDUITE ;25/03/2004 07:03:41;0.0000000000E000
  156. DATA.PONTLUSSAC.PCTFERMETUREVANNEPONT ;25/03/2004 07:03:41;2.1484702831E000
  157. DATA.ROUVIERE.DEBITAMONT ;20/03/2004 10:31:27;1.3600000000E002
  158. DATA.ROUVIERE.DEBITAMONTVH ;26/03/2004 15:51:29;2.5400000000E002
  159. DATA.ROUVIERE.DEBITAVAL ;26/03/2004 15:51:29;1.1400000000E002
  160. DATA.ROUVIERE.DEBITDEVERSOIR ;26/03/2004 15:51:29;1.1400000000E002
  161. DATA.ROUVIERE.DEBITVANNEREG ;23/03/2004 07:29:40;0.0000000000E000
  162. DATA.ROUVIERE.DEFBASNIVCANAL ;20/03/2004 10:31:27;0.0000000000E000
  163. DATA.ROUVIERE.DEFDEBITAMONTVH ;20/03/2004 10:31:27;0.0000000000E000
  164. DATA.ROUVIERE.DEFDEBITAVAL ;20/03/2004 10:31:27;0.0000000000E000
  165. DATA.ROUVIERE.DEFDEBITDEVERSOIR ;20/03/2004 10:31:27;0.0000000000E000
  166. DATA.ROUVIERE.DEFDEBITVANNEREG ;20/03/2004 10:31:27;0.0000000000E000
  167. DATA.ROUVIERE.DEFHAUTNIVCANAL ;20/03/2004 10:31:27;0.0000000000E000
  168. DATA.ROUVIERE.DEFNIVCANAL ;20/03/2004 10:31:27;0.0000000000E000
  169. DATA.ROUVIERE.DEFPOSVANNEREG ;20/03/2004 10:31:27;0.0000000000E000
  170. DATA.ROUVIERE.DEFSUSRVERSE ;20/03/2004 10:31:27;0.0000000000E000
  171. DATA.ROUVIERE.DEFVITESSEEAUAMONT ;20/03/2004 10:31:27;0.0000000000E000
  172. DATA.ROUVIERE.NIVCANAL ;26/03/2004 15:51:29;7.3800000000E001
  173. DATA.ROUVIERE.POSVANNEREG ;23/03/2004 07:29:40;0.0000000000E000
  174. DATA.ROUVIERE.VITESSEEAUAMONT ;26/03/2004 15:51:29;1.4600000000E-001
  175. DATA.STJEAN.DEFSUSRVERSE ;20/03/2004 10:31:10;0.0000000000E000
  176. DATA.STJEAN.NIVEAUPIEZZO ;26/03/2004 15:51:38;5.6700000000E001
  177. DATA.STJEAN.POSVANNE ;26/03/2004 15:51:38;1.5600000000E001
  178. [End]

Télécharger

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 :
  1. 'N° PORT SOCKET
  2. Sck_Port=***
  3.  
  4. 'Adresse IP Connexion serveur CIA
  5. Sck_AdrIP=***
  6.  
  7. DBPARAMTYPE=MYSQL
  8. DBPARAMPATH=reference_gignac
  9. DBPARAMSERVER=***
  10. DBPARAMUSER=***
  11. 'DBPARAMPWD=***
  12.  
  13. 'time out (en ms) prise en compte du fichier de consignes de repli
  14. TimeoutCsg=900000
  15.  
  16. 'Période (en ms) de génération du fichier d'acquisition
  17. PeriodeData=60000
  18.  
  19. 'Chemin du fichier d'acquisition (Chemin FTP)
  20. PathData=/REGULATEUR/Data
  21.  
  22. 'Chemin de sauvegarde des fichiers d'acquisition (Chemin FTP)
  23. TraceData=/REGULATEUR/SaveData
  24.  
  25. 'Chemin du fichier de consigne (Chemin FTP)
  26. PathCsg=/REGULATEUR/Csg
  27.  
  28. 'Chemin de sauvegarde des fichiers de consigne (Chemin FTP)
  29. TraceCsg=/REGULATEUR/SaveCsg
  30.  
  31. 'Chemin du fichier de command (start et stop) (Chemin FTP)
  32. PathCdeFrontal=/REGULATEUR/Commande/CdeF.txt
  33.  
  34. 'Chemin du fichier de consignes de repli (chemin local)
  35. PathCsgRepli=C:\Outils_DSA\digesteur\CsgRepli
  36.  
  37. 'Paramètres du serveur FTP
  38. Ftp_AdrIP=***
  39. Ftp_Login=***
  40. Ftp_Pwd=***

Télécharger

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) :

Interface du module Scada de Sic