在工业控制和过程自动化领域,压力变送器是最常见的传感器之一。它输出的 4-20mA 电流信号,需要被控制系统(如 PLC、DCS)转换成我们熟悉的工程单位(如 MPa、Bar、mH₂O)。这个过程就是线性映射。掌握其原理和方法,是电气、仪表工程师的必备技能。本文将手把手教你如何理解和实现这种转换。
一、 核心原理:为什么是 4-20mA?
首先,明白两个关键点:
- “活零”概念:
4mA代表测量范围的 0%,20mA代表测量范围的 100%。4mA的“活零”点可以用于判断线路是否断线(电流低于4mA则可能断线或故障)。 - 线性关系:在变送器量程内,物理量的变化与输出电流的变化成 正比。
假设一个压力变送器的量程是 0~1.0 MPa。那么:
- 当压力为
0 MPa时,输出电流 =4 mA。 - 当压力为
0.5 MPa(50%)时,输出电流 =12 mA。 - 当压力为
1.0 MPa时,输出电流 =20 mA。
二、 数学基础:一个万能的公式
所有线性映射都基于一次函数(直线方程):
$$ y = kx + b $$
其中:
- $y$:我们想要得到的 工程值(如压力值)。
- $x$:我们实际测量到的 信号值(如
mA电流值,或经过模数转换后的数字量)。 - $k$:比例系数(斜率)。
- $b$:偏移量(截距)。
我们的任务就是根据变送器的量程,求出 $k$ 和 $b$。
推导过程:
已知两个点:
- 点 1: ( $x_1$, $y_1$ ) = (
4,量程下限) - 点 2: ( $x_2$, $y_2$ ) = (
20,量程上限)
斜率 $k$ 的计算公式为:
$$ k = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\text{量程上限} - \text{量程下限}}{20 - 4} = \frac{\text{量程跨度}}{16} $$
偏移量 $b$ 的计算公式为(将点1代入 $y = kx + b$):
$$ b = y_1 - k \cdot x_1 = \text{量程下限} - k \times 4 $$
最终通用公式:
$$ \text{工程值} = \left( \frac{\text{量程上限} - \text{量程下限}}{16} \right) \times (\text{当前mA值} - 4) + \text{量程下限} $$
三、 实操步骤:从现场信号到屏幕显示
整个过程可以分为三个环节,我们用流程图来清晰展示:
下面我们分解每个步骤。
步骤 1:确认硬件参数
在编程之前,必须搞清楚三件事:
- 变送器量程:例如,
0 ~ 1.6 MPa。这个通常标在变送器铭牌上。 - PLC/DCS 模拟量模块量程:模块需要设置成接收
4-20mA信号。例如,某模块对应4-20mA的数字量范围是6400 ~ 32000。 - 接线是否正确:确保变送器、电源、输入模块之间是 两线制 或 四线制 正确连接。
步骤 2:理解模数转换(ADC)后的数字量
PLC 不能直接处理 mA 信号。模拟量输入模块会进行 ADC(模数转换),将 4-20mA 电流转换成一个整数,我们称之为 原始值(Raw_Value)。
不同品牌的 PLC,这个原始值的范围不同:
- 西门子 S7-1200/1500(标准范围):
4mA对应5530,20mA对应27648。 - 三菱 FX 系列:
4mA对应0,20mA对应4000(或2000,取决于分辨率设置)。 - 欧姆龙 CP1E:
4mA对应0,20mA对应6000。 - 罗克韦尔(AB):
4mA对应6241,20mA对应31206。
你必须查阅你的模块手册! 我们以西门子标准范围为例进行后续计算。
步骤 3:在控制系统中进行标度变换
这是核心操作。我们有三种常见场景。
场景 A:已知当前电流值,求压力值(最基础)
假设变送器量程为 0 ~ 10 bar,测得电流为 12 mA。
- 直接代入通用公式:
$$ \text{压力值} = \frac{10 - 0}{16} \times (12 - 4) + 0 = 0.625 \times 8 = 5.0 \text{ bar} $$
所以,12 mA对应5.0 bar。
场景 B:在 PLC 编程中实现(以西门子为例)
假设变送器量程:0.5 ~ 3.0 MPa。PLC 读取到的原始值 PIW752 = 20000。
-
先找出电流值(可选,帮助理解):
西门子中,电流和数字量的关系也是线性的。
$$ \text{当前电流} = \frac{20000 - 5530}{27648 - 5530} \times (20 - 4) + 4 \approx 14.48 \text{ mA} $$ -
更高效的方法:直接建立原始值与工程值的关系。
我们知道两个对应点:- 工程值下限
0.5 MPa时,原始值 =5530。 - 工程值上限
3.0 MPa时,原始值 =27648。
代入一次函数公式求新的 $k$ 和 $b$:
$$ k‘ = \frac{3.0 - 0.5}{27648 - 5530} \approx \frac{2.5}{22118} \approx 0.00011303 $$
$$ b’ = 0.5 - k‘ \times 5530 \approx 0.5 - 0.625 \approx -0.125 $$
(注:此处的 $b’$ 为负是正常的,因为原始值起点5530不为零)
- 工程值下限
-
在 PLC 中编程:
通常使用 “缩放” 功能块,如西门子的Scale指令。- 输入参数:
IN:20000(来自PIW752)HI_LIM:3.0(工程上限)LO_LIM:0.5(工程下限)BIPOLAR:FALSE(单极性4-20mA)
- 输出
OUT:功能块会自动计算出约为1.88 MPa。
如果你用的 PLC 没有现成指令,就需要自己写一段计算程序:
// 结构化文本 (ST) 示例 Raw_Value := PIW752; // 读取原始值,例如20000 Engineering_Value := (Raw_Value - 5530.0) * (3.0 - 0.5) / (27648.0 - 5530.0) + 0.5; // 计算结果 Engineering_Value ≈ 1.88 MPa - 输入参数:
场景 C:反向计算——已知所需工程值,求应有的电流或数字量
用于调试或输出设定。例如,想要变送器显示 2.0 MPa(量程 0.5~3.0 MPa),应该输出多少 mA?
- 先求百分比:
$$ \text{百分比} = \frac{2.0 - 0.5}{3.0 - 0.5} \times 100\% = 60\% $$ - 求对应电流:
$$ \text{电流} = 4 + 16 \times 60\% = 4 + 9.6 = 13.6 \text{ mA} $$ - 求西门子 PLC 对应的数字量(如果需要):
$$ \text{数字量} = 5530 + (27648 - 5530) \times 60\% \approx 5530 + 13270.8 \approx 18801 $$
四、 故障排查技巧
当压力显示不准或无显示时,按以下顺序排查:
-
检查电源与接线
- 测量回路电流:使用万用表 串联 到回路中,测量电流值。
- 如果电流为
0 mA:检查 24V 电源 是否正常,线路是否 断路。 - 如果电流约
3.8 mA或低于4 mA:可能是变送器 损坏 或供电不足。 - 如果电流为
>20 mA(如 21mA):可能是变送器 过载 损坏或设置错误。 - 如果电流在
4-20mA之间但波动:检查是否有 强电磁干扰,信号线是否与动力线分开。
- 如果电流为
- 测量回路电流:使用万用表 串联 到回路中,测量电流值。
-
检查硬件配置
- 确认 DCS/PLC 的 模拟量输入通道 设置是否正确(是否为
4-20mA)。 - 确认 量程卡(老式系统)或 软件组态 中的跳线设置是否正确。
- 确认 DCS/PLC 的 模拟量输入通道 设置是否正确(是否为
-
检查软件设置与计算
- 核对程序中的 量程上下限 参数是否与变送器铭牌一致。
- 核对 模数转换原始值范围 是否与硬件手册一致。
- 检查 计算公式 是否正确,特别是减
4mA和除以16的环节。
-
校准与验证
- 使用 过程校验仪(可精确输出
4-20mA信号)模拟变送器。- 输出
4 mA,查看系统是否显示 量程下限。 - 输出
12 mA,查看系统是否显示 50% 量程值。 - 输出
20 mA,查看系统是否显示 量程上限。
- 输出
- 如果校验仪输入显示正确,但系统显示错误,问题在 系统侧(组态或公式)。
- 如果校验仪输入显示都不正确,问题在 变送器侧,需对变送器进行 零点 和 量程 校准。
- 使用 过程校验仪(可精确输出
五、 高级应用与注意事项
-
迁移量程(Elevated Zero):
有些变送器量程不是从零开始,例如-0.1 ~ 0.1 MPa。公式依然适用,只需将量程下限设为-0.1,量程上限设为0.1即可。此时4mA对应-0.1 MPa,12mA对应0 MPa,20mA对应0.1 MPa。 -
开方运算(用于流量):
如果压力变送器用于测量差压并计算 流量,流量与差压的 平方根 成正比。因此,在将差压值转换为流量值时,需要先进行线性映射得到差压值,再对结果 开平方。
$$ \text{流量百分比} = \sqrt{\frac{\text{当前差压值} - \text{差压量程下限}}{\text{差压量程跨度}}} \times 100\% $$
在 DCS/PLC 中,通常有专用的 “流量积算” 功能块来处理此计算。 -
温度补偿:
在高精度场合,需考虑环境温度对变送器输出的影响。高端变送器自带温度传感器,可通过内置算法或上位机软件进行补偿。 -
信号滤波:
在程序中对转换后的工程值进行 滤波处理(如移动平均滤波、一阶滞后滤波),可以抑制现场干扰导致的数值跳动,使显示更稳定。

暂无评论,快来抢沙发吧!