Remarques sur les modules de régulation
Si aucun module de régulation n’est actif, les lois Q(t), W(t), Z(t), ou L(t) sont lues normalement dans le fichier (.xml).
Contrairement à la version Dos de SIC 2.1, les modules de régulation dans les versions Windows de SIC 5.* sont prioritaire sur les données lues sur le fichier .xml (version 5.*) ou ancienneemnt fichier .SIR (versions antérieures). Ainsi, si un module de régulation contrôle certaines variables à des noeuds (et leurs prises et ouvrages) ou sections singulières (et leurs ouvrages), les lois Q(t), W(t), Z(t), ou L(t) du fichier (.xml) ou (.SIR) seront totalement ou partiellement ignorées. Totalement si les variables des contrôleurs du module sont en mode Ecrasement, et partiellement si ces variables sont en mode Addition, Soustraction, Multiplication, etc
Avant de commencer un calcul hydraulique, le sous-programme LUSERn (n = 1 à 9) (ou les routines correspondantes des modules préprogrammés PID, DSS, BOMAT, etc.) est appelé pour lire les paramètres de régulation dans le fichier (.REG pour les versons 4 et antérieures, ou xml pour les versions 5.*). A chaque pas de temps de calcul, avant le calcul hydraulique par double balayage, les sous-programmes SUSERn et CUSERn (ou les routines correspondantes des modules préprogrammés PID, DSS, BOMAT, etc.) sont appelés pour calculer les manoeuvres des ouvrages en travers, les manoeuvres aux prises et les Z(t) aval le cas échéant.
Si plusieurs modules de régulation utilisent la même variable de contrôle U alors seul le dernier module définit la manipulera (c’est le dernier module qui a raison). On pourrait imaginer une manière différente de gérer ce type de configuration (par exemple additionner les différentes actions ou les réaliser de manière séquentielle). Mais en l’absence de manière claire de gérer ces options nous ne les traitons pas de manière autre que celle décrite ci-dessus. Cela ne doit pas poser de problèmes en général, cependant il faut bien avoir en tête que cette règle est vrai pour tous les modules. Cela peut par exemple être génant si l’on utilise un module PID pour manipuler une vanne, puis un module PRINT pour écrire les valeurs de U sur fichier et/ou un module LP pour calculer une norme sur cette variable U. Dans ce cas il vaut mieux décrire le module PID en dernier pour que les vannes soient réellement manoeuvrées (cette remarque est pertinente si les modules PRINT et/ou LP concernent des variables U, si seules des variables Y et Z sont concernées, ne problème ne se pose pas).