先把「脉冲流量」这个词掰开
我第一次听人提「脉冲流量」,是在一个做电商的朋友嘴里,他说的是大促那几分钟涌进来的访问量。后来我自己跑现场,才发现仪表圈说的完全是另一回事:流量计每流过一定体积的流体就吐出一个(或几个)电脉冲,你把这些脉冲捡起来数,才知道到底过去了多少水、多少气。这俩概念唯一的共同点就是「一阵一阵的」。下面讲的全是后者,也就是流量计的脉冲输出信号。如果你手上正好有个三根线的黑色水流传感器,或者一台涡轮、椭圆齿轮、科氏力流量计,这篇文章应该能给你省几个晚上。
脉冲当量 K 值,厂家给的那个数只能当起点
脉冲当量通常写成 K,单位是「脉冲/升」或「脉冲/立方米」。常见的小口径叶轮式水流量计,比如 YF-S201 那一类,出厂标称 450 脉冲/升,流量范围 1~30 L/min;SEN-HZ21WI 这种更细的,标到过 5880 脉冲/升;而一台 DN50 的涡轮流量计,K 值可能只有几十脉冲/升。差这么多是因为口径越小,叶轮转一圈对应的体积越小。但别把厂家数字当圣旨——同一型号不同批次差 5%~15% 太常见了,叶轮模具的磨损、轴承的阻尼、甚至你装的时候进出口直管段够不够,都会让 K 值漂。所以只要涉及计量,出厂 K 值只能拿来估个大概,真要认真用,必须自己打水校一遍,下面会讲怎么校。
一个反直觉的判断:精度瓶颈不在传感器,在时间窗口
这是我这些年最想跟人掰扯的一点。很多人选脉冲流量计只看 K 值,觉得 K 越大越准,其实瞬时流量的分辨率被一个很朴素的式子锁死了:相对误差 ≈ 1 / (f × T),f 是脉冲频率,T 是你做平均的时间窗口。举个例子,K=450 脉冲/升,流量 2 L/min,那么 f = 2×450/60 = 15 Hz。你如果用 1 秒窗口计数,只数到 15 个脉冲,量化误差 ±1 个就占 6.7%;把窗口拉到 10 秒,数到 150 个脉冲,误差降到 0.67%。同样一支表,你什么都没换,精度差了十倍。所以小流量低频场景下,与其花钱换高 K 值传感器,不如先把采样窗口拉长,再加个滑动平均。这条 1/(f×T) 的判断我一般直接写在调试记录本第一页。
瞬时流量和累计流量,两个公式别搞混
瞬时流量 Q = f / K,换算到分钟就乘 60;累计流量 V = N / K,N 是总脉冲数。写成能直接抄的形式:
Q(L/min) = f(Hz) × 60 / K(脉冲/升) V(L) = N(总脉冲数) / K(脉冲/升)
举个例子,K=450,PLC 高速计数器读到 150 Hz,Q = 150 × 60 / 450 = 20 L/min,刚好卡在常见流量计的中段量程。如果仪表给的 K 是脉冲/立方米,或者你要出 m³/h,记住 1 m³/h = 16.667 L/min,换算时别漏掉那个 60。我在一个水处理项目上见过有人直接把 Hz 当 L/min 显示,面板上数字看着挺合理,实际流量差了 7.5 倍,三个月没被发现。
PLC 端最常见的坑:拿普通输入点去数脉冲
西门子 S7-1200 的数字量输入默认滤波时间是 6.4 ms,可选项是 0.2/0.4/0.8/1.6/3.2/6.4/12.8/20 ms 这几档。6.4 ms 意味着 1/(2×0.0064) ≈ 78 Hz 就差不多到顶了,再算上占空比和扫描周期的影响,能稳定数到的远低于这个数。你那个 YF-S201 满量程 30 L/min 对应 225 Hz,接普通输入点必然丢脉冲,而且是流量越大丢得越狠——这就解释了为什么很多现场「小水流准、大水流偏小」。必须走 HSC(高速计数器)。S7-1200 板载 HSC 单相能到 100 kHz 量级,具体看 CPU 型号,对付几百 Hz 的流量计绰绰有余。配置时注意计数模式选 A/B 相还是单相、复位方式选外部还是软件,别用扫描周期去读计数值做差分,那样抖动会大到没法看。
电气侧的几个坑,都是接线盒里能看出来的
霍尔式水流传感器大多是开漏(NPN)输出,不带上拉电阻就没有高电平,PLC 端看到的是悬空,必须加 4.7k~10k 上拉到 24V 或 5V,具体看传感器供电。5V 供电的传感器直接把信号线怼进 24V 输入点,运气好是没反应,运气不好就烧。线缆超过 50 米、或者跟变频器输出线捆在同一个线槽里,脉冲边沿会抖,表现为计数偶尔多几个。屏蔽层单端接地,一般在 PLC 侧接;两端都接会在屏蔽层里形成环流,反而更糟。还有一个容易被忽略的:涡轮和叶轮式流量计有安装方向要求,多数要求水平安装或垂直向上流,装反了 K 值会变,而且低流量区会明显偏高。
校准:打 100 升水,比看十遍手册管用
校准这件事没有捷径。找个标准容器,或者干脆串一只新的机械水表在后面做对照,让系统跑在你实际的工作流量附近,放 100 L 水,读 PLC 的累计脉冲数,K = 脉冲数 / 100。重复三次取平均,三次之间的离散度就是你这套系统的真实重复性。注意别在最大流量下校,叶轮式流量计的高段反而平一点,低段非线性最明显,如果你现场常年跑在 3~5 L/min,就老老实实在这个区间校。水温、粘度、水里带的气泡都会影响结果,我见过一台表因为泵前密封圈漏气,读数比实际低了 12%,查了两天才发现是气。
脉冲、4-20mA、Modbus 三种输出怎么选
| 维度 | 脉冲输出 | 4-20mA | RS485/Modbus |
|---|---|---|---|
| 分辨率 | 恒定,1 个脉冲 = 1/K | 12 位约 0.024% 满量程 | 取决于仪表内部 |
| 累计流量 | 天然适合,计数即可 | 要 PLC 自己积分,会漂 | 直接读寄存器 |
| 远距离传输 | 一般,100 m 内可靠 | 好,几百米没问题 | 好,但要注意终端电阻 |
| 供电 | 有源/无源看型号 | 两线制可回路供电 | 需要单独供电 |
| 抗干扰 | 差,窄脉冲容易被打飞 | 好 | 中等 |
| 接线复杂度 | 低,三根线 | 低 | 高,要配地址和波特率 |
选型上我的经验是:只要做贸易结算或者要长期累计,优先脉冲或 Modbus,别用 4-20mA 做累计;只要瞬时值给调节回路用,4-20mA 反而省事;如果现场电磁环境脏、变频器多,Modbus 走屏蔽双绞比脉冲稳。
最后说个不太讨喜的结论
多数现场其实不需要换更高 K 值的传感器,需要的是更长的平均窗口、一次认真的实流校准,以及把线接对。我见过最离谱的一次,是有人把脉冲输出接到普通输入点,程序里还用 100 ms 的定时中断去读计数器的差值,结果不管流量多大都显示 0,因为计数器压根没使能。这种事看手册看不出来,只能靠在现场蹲一下午。脉冲流量这东西,原理简单到一句话能说完,难的全在那些不起眼的参数上。