西门子S7-200 plc高速计数功能除用于常见的运动控制系统转速测量之外,在流量计量方面也有着广泛的用途。
由于PLC内部没有相应的算法来计算频率,因此,测定脉冲输出信号的流量计的瞬时流量就需要在STEP 7 Micro/WIN中通过以下三部分编程来实现:(1) 定义高速计数器计数流量计输出脉冲;(2) 采用定时中断采集周期时间内高速脉冲输入;(3) 计算高速输入脉冲频率并通过流量换算公式:瞬时流量(ml/s)=脉冲频率(pulse/s)÷脉冲当量(pulse/ml)计算瞬时流量。
1 定义高速计数器
脉冲输出信号的流量计适用于单相计数,因此在主程序中定义高速计数器模式0,将HSC0 的控制字节SMB37赋值16#C8,启用高速计数器﹑ 更新初始值﹑设定计数方向为增计数,并使用SM0.1初始化高速计数器,如图1所示。
图1定义高速计数器
2 高速输入脉冲频率计算
为保证瞬时流量的准确性及实时性,须按照一定的时间间隔采集高速输入脉冲。示例中采用定时中断0每隔250ms更新高速输入脉冲值HC0,并在中断程序中应用该数值运算得到高速输入脉冲频率,如图2,图3所示。
图2定时中断
图3 高速输入脉冲频率计算
为采集250ms时间间隔的脉冲值,在频率计算的同时,需要更新高速计数器。由于只是更新初始值,因此初始化高速计数器时设定的控制字SMB37 不用再做更改,调用HSC指令即可。
3 瞬时流量计算
参考流量换算公式,在中断程序中通过编程运算即可计算出瞬时流量,如图4所示。
图4 瞬时流量计算