################################################## # Calculate the rolling average of In-use PCDU BDR Converter Input Current # # This is for BDR1_Conv1 # # Note - 2 Global Variables are used # VAR_dummyA := NPWD4768; #Changes every packet, needed for OL to update VAR_dummyB := NPWT4768; #Changes every packet, needed for OL to update # # VAR_nmax := 200; # Rolling average window size # PCDU-A in use if NCSD0PC4.raw == 2 then VAR_curr := NPWD4752; else #Else PCDU-B in-use if NCSD0PD4.raw == 2 then VAR_curr := NPWT4752; else VAR_curr := 0; # No PCDU in use....? endif; endif; # GVAR_NPWx4752cnt := GVAR_NPWx4752cnt + 1; if GVAR_NPWx4752cnt > VAR_nmax then GVAR_NPWx4752cnt := VAR_nmax; endif; GVAR_NPWx4752avg := GVAR_NPWx4752avg * (GVAR_NPWx4752cnt - 1)/GVAR_NPWx4752cnt + VAR_curr/GVAR_NPWx4752cnt; # output average GVAR_NPWx4752avg;