我想楼主的问题已经解决了吧?!哈哈!最近十来天较忙,抽时间做了一个较完整的程序,有可能基本满足楼主的要求。
依据楼主及个人理解的条件(含假设条件):
1)输入信号为脉冲(采用高速脉冲输入端口);
2)每秒钟最多约1200个脉冲;
3)1升=748个脉冲;
4)要求瞬时流量采样周期5秒(根据5秒钟的采用值,计算瞬时流量),瞬时流量单位:升/分钟;
5)显示瞬时流量。精度:0.01升/分钟(保留两位小数);
6)计算、保存、显示积累流量;
7)积累流量的保存及显示范围0~999999立方米999.9升(即0.0000立方米~999999.9999立方米);
8)积累流量值的记录与显示采用实时刷新,快速反应(与程序扫描周期同步)。!!
程序中使用的部分标定、计算“公式”或方法:
1)5秒钟采样的脉冲数=两次采样值的差;
2)瞬时流量=5秒钟采用的脉冲数÷1升的脉冲数÷采样时间(5秒)×60秒×100(用于保留两位小数)=5秒钟采用的脉冲数÷748×1200
3)积累流量采用3部分记录保存:
a、B2记录保存小于10升的值。B17标定此值,精度:一位小数;
b、B15记录保存10~990升的积累流量(10升=计数值1)。记录值达到1000升时输出进位脉冲,同时B15复位;
c、B16记录保存立方米级的积累流量。达到1000000立方米时复位;
4)文本显示的积累流量分为2部分:
a、B18将B17、B15记录的两个积累流量值合并为一个值,用于文本显示。显示范围0.0升~999.9升。合并计算公式参见程序中B18的“块属性”设置;
b、B16记录保存立方米级的积累流量值,用于文本显示达到立方米的值。
5)高速采用计数器B2的计数值达到10升时复位并重新计数。减少复位次数,以降低B2复位时, 可能会漏掉少部分脉冲而产生的误差(假设有此种情况);
6)积累流量的记录、保存、显示可扩展。参考记录、保存立方米级积累流量的几个功能块,实现扩展。
详见程序及程序中的注释内容。
点击此处查看附件请注意:高速计数在每个周期内都对计数器的限值轮询一次。因此,计数器B2复位时同样会产生误差。请参考编程软件中的帮助或手册。