[replyview]用FB做的带数据块的流量累积功能块。采样累积在毫秒单位内ms_v,满一秒转入是s_v,同时将ms、ms_v清零,满一分钟累积量转入m_v,t同时将s、s_v清零,满一一小时累积量转入h_v,同时将min、m_v清零,可以累积入天…….。每一时刻的累积量是ms_v+s_v+m_v+h_v。Rest为零累积量清零。 在OB35中调用即可,如OB35中断周期为100ms,流量输入单位方/H,Unilt_c就是36000,Hz就为10,unilt_v对应流量记满量程值。 In pv word 瞬时流量 In Unit_c Real 瞬时流量单位转换为采样时间流量单位 In Rest int 为零时,累加器清零 In Hz int 每秒采样次数 In unilt_v Real 流量计最大流量单位 Out ov Real 流量累积输出 In_out ms int 毫秒记数 In_out s int 秒记数 In_out min int 分钟记数 In_out h int 小时记数 In_out ms_v dint 毫秒流量累积 In_out s_v dint 秒流量累积 In_out m_v dint 分钟流量累积 In_out h_v dint 小时流量累积 In_out in_v dint 将输入瞬时流量变为长整型 流量累积功能块 毫秒流量累积 L #PV T #iv_c L #iv_c L #ms_v +D T #ms_v L #ms L 1 +I T #ms L #Hz <I JC ol 秒流量累积 L #ms_v L #s_v +D T #s_v L #s L 1 +I T #s L 0 T #ms T #ms_v L #s L 60 <I JC ol 分钟流量累积 L #m_v L #s_v +D T #m_v L #min L 1 +I T #min L 0 T #s T #s_v L #min L 60 <I JC ol 小时流量 L #h_v L #m_v +D T #h_v L #h L 1 +I T #h L 0 T #min T #m_v 清零 ol: L #Rest L 0 <>I JC end L 0 L 0 T #ms T #s T #min T #h T #ms_v T #s_v T #m_v T #h_v 累积量 end: L #ms_v L #s_v +D L #m_v +D L #h_v +D DTR L #Unit_c /R L #unilt_v *R L 2.764800e+004 /R T #ov[/replyview] |