一、先讲原理
流量计给 PLC 的信号分两种:
4-20mA 模拟量 → 对应 瞬时流量(m³/h、L/min、kg/h)
脉冲信号 → 一个脉冲 = 1 个固定流量
累计流量 = 瞬时流量 × 时间 累加
二、最常用:模拟量瞬时流量 → 累计流量(90% 现场用)
我直接给你标准公式 + 程序逻辑,不用管品牌,照着套。
1. 公式(核心)
瞬时流量:Flow (m³/h)累计流量:Total = Total + Flow × 扫描时间 / 3600
简化成 PLC 最稳定写法:每 1 秒累加一次:累计 = 累计 + 瞬时流量 ÷ 3600
三、三菱 FX3U/5U 标准程序(直接抄)
软元件分配
D0:瞬时流量(单位:m³/h)
D10:累计流量(单位:m³)
M0:1 秒时钟脉冲
M10:累计清零信号
程序
plaintext
// 1秒定时 LD M8013 OUT M0 // 每秒累加一次 LD M0 ADD D10 D0 D10 // 累计 = 累计 + 瞬时 // 换算成 m³(因为 D0 是 m³/h,÷3600) LD M0 DIV D10 K3600 D10
更精准的浮点数版本
plaintext
LD M0 EADD D10 D0 D10 // 浮点数累加 EDIV D10 K3600 D10
清零程序
plaintext
LD M10 MOV K0 D10
四、西门子 S7-200SMART 程序
VD0:瞬时流量
VD10:累计流量
SM0.5:1 秒时钟
plaintext
LD SM0.5 +R VD0 VD10 // 累加 /R 3600.0 VD10 // 换算 // 清零 LD I0.0 MOVR 0.0 VD10
五、欧姆龙 CP1E/EH/NX 程序
plaintext
LD 25501.0 // 1秒 +F D0 D10 D10 // 累加 /F D10 3600 D10
六、脉冲型流量计程序(脉冲 → 累计)
1 个脉冲 = X 流量例:1 个脉冲 = 0.01 m³
程序:
plaintext
LD 上升沿(脉冲) ADD D10 K1 D10 MUL D10 0.01 D10 // 换算成实际流量
七、必须注意的 5 个关键点
1. 必须 1 秒累加一次
不要用扫描周期累加,会不准。
2. 必须用 浮点数(实数)
整数会丢精度,累计会越来越不准。
3. 累计寄存器必须 掉电保持
断电再来电,累计值不能丢。
4. 必须加 清零按钮
方便校表、换表、维护。
5. 瞬时流量为 0 时也要累加
有些流量很小,不为 0 就会漏计。

