|
最近做了一个实验室小调试设备,通过重量的方式来标定计量泵的实际流量,借着本次征文把设计方案分享一下,抛转引玉,希望对新手有启迪作用。
目前市面的称重模块基本都是Modbus RTU通讯协议,但是该协议属于异步通讯,数据获得的时间间隔并不固定,受扫描周期和其他中断程序等的影响,所以无法使用定时中断作为流量计算的方式。
同时称重模块包含去皮和重量系统标定等功能,所以要用轮询实时重量和去皮和标定指令写入优先的方式。针对以上具体的问题采用重量获取时刻的时间生成时间戳的方式,然每次获取的重量都有时间戳,可以通过以上两个参数计算出重量差和时间差,得出流量。得出的流量值可能存在尖峰波动,在处理好模块重量滤波的同时,plc端采用递推平均值滤波。
具体操作方式 1.时间戳制作: 重量获取 MBUS_MSG 指令 Done的上升沿 时使用 BGN_ITIME, 获取当前时刻的数值。
2.流量计算 : 用本次采样的重量和时间,与前一次采样的重量和时间做差,并相除获得流量。
3.滤波,递推平均值得方式滤波,可保留最近12次的流量取平均值。
4.采样方式两种,a、固定时间。b、固定重量差值。
|
|