如何实现PLC组态温度传感器模拟量信号

描述

导读

在工业现场,温度是最常见的测量参数之一。如何将温度传感器的信号正确接入PLC,并在程序中组态和读取温度值,是每个PLC工程师必须掌握的基本功。

本文将以西门子S7-1200 PLC + TIA博图(TIA Portal)为平台,带你走通从传感器选型、硬件接线、模块组态到程序编写的完整流程。同时也会介绍三菱、罗克韦尔等品牌的基本处理思路,让你一通百通。

一、先搞懂:温度传感器有哪些信号类型?

温度传感器不能直接输出温度数值给PLC,它输出的是电信号。常见的温度传感器输出信号有三种类型:

类型一:热电阻(RTD)直接输出电阻值

最常见的是PT100(铂电阻,0℃时阻值100Ω)。温度变化 → 阻值变化。例如:

● 0℃ → 100.00 Ω

● 100℃ → 138.51 Ω

● 需要专用RTD模块直接读取电阻值并换算为温度

类型二:热电偶(TC)输出毫伏电压

两种不同金属接触产生热电势(mV级电压)。常见型号:K型、J型、T型等。需要专用的TC模块来读取。

类型三:温度变送器输出标准模拟量信号(最常用!)

这是工程实践中最主流的方式:传感器(PT100或热电偶)+ 温度变送器 → 输出标准4-20mA或0-10V信号 → 接入PLC通用模拟量输入模块。

● 4-20mA电流信号:抗干扰能力强,可检测断线(电流为0即断线),是工业首选

● 0-10V电压信号:接线简单,但抗干扰能力弱,适合近距离使用

● 0-20mA电流信号:无断线检测功能,实际用得较少

RealPars建议(2026.2):温度变送器+通用AI模块的方式灵活性最高,AI模块可复用于其他控制回路,抗干扰能力强,适合长距离传输。是大多数工程项目的首选方案。

三种接入方式对比

接入方式 需要模块 优点 缺点
PT100直连RTD模块 专用RTD模块 无需变送器,系统简单 仅适合近距离,模块专用
热电偶直连TC模块 专用TC模块 直接读取,成本低 需冷端补偿,精度受限
变送器→ 通用AI模块 通用AI模块
(4-20mA/0-10V)
灵活通用,抗干扰强,
适合长距离
需额外配置变送器

二、硬件接线—— 线制识别与实操

温度变送器(4-20mA)的接线有"两线制""三线制""四线制"之分,这是现场最容易出错的地方。本节以西门子S7-1200配模拟量输入模块(如SM 1231 AI 4×13bit,订货号6ES7 231-4HD32-0XB0)为例。

两线制(2-Wire)—— 最常见

变送器只有两根线,既是电源线又是信号线。PLC模拟量模块的通道端子提供24V DC电源,变送器串接在回路中。

▸ 接线:变送器+端 → 模块通道的24V供电端(如L+),变送器-端 → 模块通道的AI+端,模块的AI-端 → 模块的M端

▸ 核心要点:模块通道必须设置为"电流(2线制变送器)"模式

四线制(4-Wire)—— 有独立供电

变送器有独立的电源线(接外部24V DC)和独立的信号输出线。

▸ 接线:变送器电源端接外部24V DC,变送器信号+ → 模块AI+,变送器信号- → 模块AI-

▸ 核心要点:模块通道必须设置为"电流(4线制变送器)"模式

常见错误:将4-20mA变送器的通道错误组态为电压测量(0-10V)——这会导致读数完全错误!软件中的通道组态(信号类型、量程)必须与实物传感器一致。这是现场调试中最高发的错误之一。

三、TIA博图硬件组态 —— 在软件中配置模块

硬件接好后,第一步是在TIA Portal的"设备和网络"视图中完成硬件组态。以下是详细步骤:

步骤1:添加模拟量输入模块

在项目树中双击"设备配置",将模拟量输入模块(如AI 4×13bit)从硬件目录拖入CPU右侧的扩展槽位。系统会自动分配I/O地址(例如起始地址IW100)。

步骤2:配置通道属性

双击模块→ 在属性窗口中找到"模拟量输入" → "通道0"(或其他通道号),设置以下参数:

● 测量类型:电流(或"电流(2线制变送器)"/"电流(4线制变送器)",根据实际接线选择)

● 电流范围:4..20 mA

● 平滑处理:建议设置为"弱"或"中等"(用于滤波)

● 诊断中断:根据需要勾选(建议开启,便于故障排查)

对于4-20mA信号,西门子S7-1200内部A/D转换后的数字量范围为:

● 0 mA → 数字量 0

● 4 mA → 数字量 5530

● 20 mA → 数字量 27648

● 超出量程(>20mA或<0mA)会有溢出指示

步骤3:编译下载

点击"编译" → "下载到设备",将硬件配置下载到PLC中。下载完成后,模块的指示灯应正常亮起,没有红色故障灯。

四、程序编写—— 将数字量转换为温度值

这是本文最核心的部分。假设我们使用一个温度变送器:

● 传感器量程:0 ~ 100 ℃

● 输出信号:4 ~ 20 mA

● 接入模块通道地址:IW100

西门子S7-1200(TIA博图)处理模拟量的标准方法是使用两个关键指令:NORM_X(标准化)和 SCALE_X(缩放)。这也是西门子官方推荐的标准做法(来源:西门子工业支持文档ID 109814829)。

数据处理流程:

模拟量输入(IW100, 0~27648) → NORM_X → 浮点数(0.0~1.0) → SCALE_X → 温度值(0.0~100.0 ℃)

指令详解

指令 作用 参数说明
NORM_X
(标准化)
将输入的数字量映射到
0.0~1.0之间的浮点数
MIN = 0(数字量下限)
VALUE = IW100(输入地址)
MAX = 27648(数字量上限)
OUT → 传给SCALE_X的VALUE
SCALE_X
(缩放)
将0.0~1.0的浮点数映射
到实际工程量范围
MIN = 0.0(温度下限,℃)
VALUE = NORM_X的OUT
MAX = 100.0(温度上限,℃)
OUT → 最终温度值(Real型)

在TIA博图中编写程序的具体操作:

① 打开OB1(主程序块),从右侧指令列表中拖入 NORM_X 指令(位于"基本指令→转换操作"下)

② 在NORM_X的MIN引脚输入0,VALUE引脚输入"IW100"(或使用%IW100格式),MAX引脚输入27648

③ 拖入 SCALE_X 指令,将NORM_X的OUT连接到SCALE_X的VALUE引脚

④ 在SCALE_X的MIN引脚输入0.0,MAX引脚输入100.0

⑤ SCALE_X的OUT输出即为最终温度值(Real型),可存入DB块中的变量(如"温度值")

数据变化举例验证:

信号电流 PLC数字量 NORM_X输出 SCALE_X输出(℃)
4 mA 5530 0.2 20.0
12 mA 13824 0.5 50.0
20 mA 27648 1.0 100.0
0 mA(断线) 0 0.0 0.0(需做断线判断)

通用换算公式(不依赖指令块,适用于所有品牌PLC):

温度值 = (AI - K2) / (K1 - K2) × (量程上限 - 量程下限) + 量程下限

其中:

● AI = 当前模拟量输入的原始数字量

● K1 = 数字量上限(西门子S7-1200: 27648)

● K2 = 数字量下限(西门子S7-1200: 0,但4mA对应5530)

● 量程上/下限 = 温度传感器的量程(如 0~100℃)

简化后(0~100℃,4-20mA,S7-1200):

温度值 = (AI / 27648) × 100.0

五、断线检测与报警处理—— 程序的"安全防线"

4-20mA信号的一个重要优势是可以检测断线:当回路断开时,电流降为0mA,PLC读取的数字量也变为0。在程序中需要做以下判断:

● 当数字量 < 5530(即电流 < 4mA),可能是传感器断线或故障

● 当数字量 > 27648(即电流 > 20mA),可能是传感器短路或超量程

● 在程序中添加比较指令,检测到异常值时触发报警,并保持上一次有效值

西门子S7-1200的模拟量模块可以开启"诊断中断"功能。当发生断线、超量程等故障时,模块会自动触发诊断中断,无需在程序中持续轮询判断,更加高效可靠。

六、其他品牌PLC的处理方法 —— 一通百通

虽然本文以西门子S7-1200为例,但模拟量处理的核心原理在所有品牌PLC中都是一样的。以下是其他主流品牌的处理方式对比:

品牌 数字量范围(4-20mA) 推荐处理方式 软件平台
西门子 S7-1200/1500 0 ~ 27648 NORM_X + SCALE_X TIA Portal
三菱 FX5U / R系列 0 ~ 4000 (FX)
0 ~ 32000 (R)
SCL指令(缩放指令)
或数学运算公式
GX Works3
罗克韦尔
ControlLogix / CompactLogix
模块自动缩放
(Engineering Units)
模块属性中直接设置
工程量范围,无需编程
Studio 5000
(RSLogix 5000)

注意:罗克韦尔(Allen-Bradley)的ControlLogix/CompactLogix平台最为方便——在模块属性中直接设置4-20mA对应0-100℃的工程量范围,模块自动完成缩放,PLC程序中读取的就已经是温度值,无需额外编程。

七、常见问题与排查清单

Q1: 读到的温度值一直为0?

检查模块通道是否已正确组态(信号类型、量程)、检查接线是否正确、检查变送器是否有24V供电、检查IW地址是否与程序中的一致。

Q2: 读到的值乱跳不稳定?

在模块属性中增大"平滑处理"(滤波)等级;检查接线是否有松动或干扰;检查变送器接地是否良好;在程序中增加滑动平均滤波。

Q3: 温度值明显偏高或偏低?

检查模块通道组态是"电流"还是"电压",确认量程设置与变送器一致;检查变送器本身量程设置是否正确;用万用表实测回路电流验证。

Q4: NORM_X报错?

检查MIN和MAX参数的数据类型是否匹配(通常应为Int或DInt);确保VALUE输入值在MIN和MAX之间。

Q5: 4-20mA和0-20mA有什么区别?

4-20mA可以检测断线(电流为0=断线),0-20mA无法区分0mA是"0信号"还是"断线"。工业现场优先使用4-20mA。

八、总结

将温度传感器接入PLC并进行组态,整体流程可以概括为以下四步:

1. 选型确认:确定传感器类型(PT100/热电偶/带变送器)和输出信号(4-20mA/0-10V/电阻/mV)

2. 硬件接线:根据线制(2线/3线/4线)正确接线,特别注意区分电源线和信号线

3. 软件组态:在TIA博图中配置模块通道属性,设置测量类型和量程(必须与实物一致)

4. 程序编写:使用NORM_X+SCALE_X将数字量转换为温度值,加入断线检测和报警逻辑

只要理解了信号类型→数字量→工程量的转换逻辑,无论使用哪个品牌的PLC,核心思路都是一样的。掌握了本文的内容,你就具备了处理工业现场绝大多数温度测量场景的能力。

最后提醒一句:在下载程序前,反复核对模块通道组态(信号类型、量程)是否与实物传感器一致。这是现场调试中最常见也最容易避免的错误。配置必须匹配!

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分