//******************************************************** //* Génération d'alarmes sur redresseurs de polarisation * //******************************************************** T:=TimerCreate(2000); fin:=false; repeat if t.timerFinish then begin { Position A21 Nickel Chimique } if bit(50,21,0) then { le redresseur est-il en marche ? } begin if not bit(50,21,8) then { le redresseur est-il en mode polarisation ? } begin if bit(51,0,8) then { le mode à changé } begin if plcr(51,1)<>plcR(51,2) then plcr(51,1,plcr(51,2)); { récupère la bonne consigne } bit(51,0,8,false); end; if plcr(51,1)<>plcr(51,2) then plcr(51,2,plcr(51,1)); { la consigne a changée alors enregistre la } end else begin if not bit(51,0,8) then { le mode à changé } begin if plcr(51,1)<>plcR(51,3) then plcr(51,1,plcr(51,3)); { récupère la bonne consigne } bit(51,0,8,true); end; if plcr(51,1)<>plcr(51,3) then plcr(51,3,plcr(51,1)); { la consigne a changée alors enregistre la } end; bit(51,0,0,plcr(50,25)>plcr(51,1)); { alarme si courant > alarme max } end else bit(51,0,0,false); { reset alarme } { Position A22 Nickel Chimique } if bit(50,28,0) then { le redresseur est-il en marche ? } begin if not bit(50,28,8) then { le redresseur est-il en mode polarisation ? } begin if bit(51,4,8) then { le mode à changé } begin if plcr(51,5)<>plcR(51,6) then plcr(51,5,plcr(51,6)); { récupère la bonne consigne } bit(51,4,8,false); end; if plcr(51,5)<>plcr(51,6) then plcr(51,6,plcr(51,5)); { la consigne a changée alors enregistre la } end else begin if not bit(51,4,8) then { le mode à changé } begin if plcr(51,5)<>plcR(51,7) then plcr(51,5,plcr(51,7)); { récupère la bonne consigne } bit(51,4,8,true); end; if plcr(51,5)<>plcr(51,7) then plcr(51,7,plcr(51,5)); { la consigne a changée alors enregistre la } end; bit(51,4,0,plcr(50,32)>plcr(51,5)); { alarme si courant > alarme max } end else bit(51,4,0,false); { reset alarme } { Position A23 Nickel Chimique } if bit(50,35,0) then { le redresseur est-il en marche ? } begin if not bit(50,35,8) then { le redresseur est-il en mode polarisation ? } begin if bit(51,8,8) then { le mode à changé } begin if plcr(51,9)<>plcR(51,10) then plcr(51,9,plcr(51,10)); { récupère la bonne consigne } bit(51,8,8,false); end; if plcr(51,9)<>plcr(51,10) then plcr(51,10,plcr(51,9)); { la consigne a changée alors enregistre la } end else begin if not bit(51,8,8) then { le mode à changé } begin if plcr(51,9)<>plcR(51,11) then plcr(51,9,plcr(51,11)); { récupère la bonne consigne } bit(51,8,8,true); end; if plcr(51,9)<>plcr(51,11) then plcr(51,11,plcr(51,9)); { la consigne a changée alors enregistre la } end; bit(51,8,0,plcr(50,39)>plcr(51,9)); { alarme si courant > alarme max } end else bit(51,8,0,false); { reset alarme } { Position B21 Nickel Chimique } if bit(50,70,0) then { le redresseur est-il en marche ? } begin if not bit(50,70,8) then { le redresseur est-il en mode polarisation ? } begin if bit(51,20,8) then { le mode à changé } begin if plcr(51,21)<>plcR(51,22) then plcr(51,21,plcr(51,22)); { récupère la bonne consigne } bit(51,20,8,false); end; if plcr(51,21)<>plcr(51,22) then plcr(51,22,plcr(51,21)); { la consigne a changée alors enregistre la } end else begin if not bit(51,20,8) then { le mode à changé } begin if plcr(51,21)<>plcR(51,23) then plcr(51,21,plcr(51,23)); { récupère la bonne consigne } bit(51,20,8,true); end; if plcr(51,21)<>plcr(51,23) then plcr(51,23,plcr(51,21)); { la consigne a changée alors enregistre la } end; bit(51,20,0,plcr(50,74)>plcr(51,21)); { alarme si courant > alarme max } end else bit(51,20,0,false); { reset alarme } t.timerRestart; end; until fin;