Exemple de routine de calcul CGEC (Vannes Avis et Avio)

Voilà le module de régulation CGEC utilisé pour les vannes AVIS et AVIO. Vous pouvez vous inspirer de ce module de régulation pour en écrire d’autres. Les équations programmées proviennent d’un document de M. Goussard.

  1. SUBROUTINE CGEC(U,Y,PARA)
  2. PARAMETER(NBCM=$NBCM)
  3. DIMENSION Y(*),U(*),PARA(*)
  4. C-----index of the current controller (INURE),
  5. C-----current number of calls of the controller n (INUAP(n))
  6. COMMON/P1/ILNPS,INURE,INUAP(NBCM),IREGS
  7. COMMON/P2/INU,INY,INZ,DTU,DTY,DTZ
  8. C-----Equations de Goussard
  9. C-----Affectations
  10. C-----PARA(1) en degres, ALFMAX en radiants
  11. ALFMAX=PARA(1)*0.01745
  12. C-----Dec est negatif dans la formule de Goussard
  13. Dec=-PARA(2)
  14. R=PARA(3)
  15. HA=PARA(4)
  16. C-----CHUTE > 0 si ca descend vers l'aval
  17. CHUTE=PARA(5)
  18. C-----On met un filtre d'ordre 1 : S/E = (1-a)Z-1 / 1-aZ-1 (FILTRE = a)
  19. FILTRE=PARA(6)
  20. C-----Calcul pour cette methode
  21. C-----Y(1) est en tirant d'eau (mode TYS obligatoire sur le fichier .REG)
  22. Z=Y(1)-CHUTE-HA
  23. C-----Initialisation de Zold au premier appel
  24. IF(INUAP(INURE).EQ.1) PARA(10)=Z
  25. Z=FILTRE*PARA(10)+(1.0-FILTRE)*Z
  26. C-----On stocke Zold filtré dans PARA(10) pour le filtre
  27. PARA(10)=Z
  28. IF (Z.GE.0.) THEN
  29. ALFA=0.
  30. ELSEIF (Z.LE.Dec) THEN
  31. ALFA=ALFMAX
  32. ELSE
  33. ALFA=0.
  34. IF(Dec.NE.0.) ALFA=SIN(ALFMAX)*Z/Dec
  35. ALFA=MIN(ALFA,1.)
  36. ALFA=MAX(ALFA,-1.)
  37. ALFA=ASIN(ALFA)
  38. ENDIF
  39. C-----Calcul de U
  40. ALFB=0.
  41. IF(R.NE.0.) ALFB=HA/R
  42. ALFB=MIN(ALFB,1.)
  43. ALFB=MAX(ALFB,-1.)
  44. ALFB=ACOS(ALFB)
  45. C-----Calcul de la commande
  46. U(1)=HA-R*COS(ALFA+ALFB)
  47. C-----Si plusieurs U (SIMO) on duplique la meme ouverture
  48. C-----(interessant dans le cas de plusieurs vannes identiques en parallele
  49. C en mode V par exemple)
  50. IF(INU.GT.1) THEN
  51. DO 10 I=2,INU
  52. U(I)=U(1)
  53. 10 CONTINUE
  54. ENDIF
  55. END

Télécharger