S7-200 SMART 接 4-20mA 温度变送器全过程:接线、STEP 7 组态、温度换算
最近在做一个温度采集现场用的是西门子 S7-200 SMART PLCCPU 是 ST30外接了一个模拟量板子用来采集温度变送器的 4-20mA 信号。一开始主要卡在三个地方变送器的线到底怎么接到 PLC 模拟量输入STEP 7-Micro/WIN SMART 里面找不到对应的SB AM03程序里怎么把模拟量原始值换算成实际温度下面把整个过程整理一下。一、现场硬件情况PLC 使用的是CPUS7-200 SMART ST30 DC/DC/DC 模拟量板SB AM03 温度变送器PT100 输入4-20mA 输出 量程-50℃ ~ 150℃温度探头本身不是直接接 PLC而是先接到温度变送器。变送器再输出标准的4-20mA电流信号给 PLC。【插图 1电气原理图】这里放第一张图也就是原理图能看到温度变送器、2【插图 1电气原理图】4V 电源、PLC 模拟量模块之间的连接关系。从现场图片可以看到SB AM03 板子端子大概是这样【插图 2SBAM03】其中A、RA模拟量输入通道 A B、RB模拟量输入通道 B V、I、M模拟量输出端子不是温度输入用的如果只接一路温度变送器建议先接通道 A。接线方式如下24V 接 温度变送器 24 温度变送器 24- 接 SB AM03 的 A SB AM03 的 RA 接 24V 电源 0V/M也就是 4-20mA 电流回路这样走24V → 变送器24 → 变送器24- → PLC A → PLC RA → 0V如果接第二路就用通道 B24V 接 第二个变送器 24 变送器 24- 接 SB AM03 的 B SB AM03 的 RB 接 24V 电源 0V/M【温度变送器】三、STEP 7 里面没有 SB AM03 怎么办在 STEP 7-Micro/WIN SMART 的系统块里面我一开始想找 SB AM03但是下拉列表里没有这个型号。能看到的有这里放“没有 SB AM03”的截图。后来发现现场这个 SB AM03 很可能不是西门子官方标准信号板而是第三方兼容板。所以软件里不一定能直接选到 SB AM03。处理方法一般有两种第一种如果厂家说明书要求用 SB CM01 占位就在系统块里选择 SB CM01。第二种不强依赖名称直接看它实际占用的模拟量地址。很多第三方 SB AM03 会使用类似通道 AIW128 通道 BIW130 模拟量输出QW128【组态完成图】四、程序里怎么读温度4-20mA 信号进 PLC 后PLC 读到的是一个模拟量原始值不是直接显示温度。比如温度变送器量程是4mA -50℃ 20mA 150℃我们就要把模拟量原始值线性换算成温度。在 S7-200 SMART 里面可以用 S_ITR 指令做整数到实数的比例换算。程序可以这样写【S_ITR 程序块截图】含义是IN模拟量输入原始值 ISH输入上限 ISL输入下限 OSH输出上限温度 OSL输出下限温度 OUT换算后的实际温度如果使用通道 A一般写IN IW128 OUT VD4如果使用通道 B一般写IN IW130 OUT VD8五、为什么我的温度显示不正常调试时看到 IW128 32766这个值明显不正常。正常情况下如果是按 0-20mA 原始量来算4-20mA 大概对应4mA ≈ 5530 20mA ≈ 27648所以温度信号正常时原始值一般应该在5530 ~ 27648如果看到32766 32767 -32768,这类值通常说明不是正常温度值可能有这些原因模拟量输入开路 接线没有形成完整电流回路 A / RA 接反或接错 模块地址不对 系统块组态不对 第三方模块和软件地址不一致 变送器没有供电 变送器输出没有电流最直接的检查方法1. 用万用表测变送器回路电流看有没有 4-20mA 2. 在线监控 IW128、IW130看哪个地址有变化 3. 用手捂住或加热探头看原始值是否变化 4. 如果 IW128 不变再试 AIW12、IW130 等地址 5. 确认系统块里 SB 插槽有没有正确配置六、一个容易混淆的地方ISL 到底写 5530 还是 0这里要看模块对 4-20mA 的处理方式。如果模块是按 0-20mA 采样那么0mA 0 4mA ≈ 5530 20mA 27648这时写ISL 5530 ISH 27648如果模块内部已经设置成 4-20mA 模式有些模块会把4mA 0 20mA 27648这时应该写ISL 0 ISH 27648所以最稳的方法是现场测试接上变送器后看低温附近原始值是多少 如果 4mA 附近是 5530就用 ISL5530 如果 4mA 附近是 0就用 ISL0七、最终接线和程序总结接线总结24V → 温度变送器 24 温度变送器 24- → SB AM03 A SB AM03 RA → 24V 0V/M程序总结S_ITR IN IW128 ISH 27648 ISL 5530 OSH 200.0 OSL 50.0 OUT VD4监控时重点看IW128模拟量原始值 VD4换算后的温度值如果 IW128 一直是 32766不要先怀疑程序优先查接线、电流回路、模块地址和组态。八、结论这次问题的核心不是温度换算公式而是先要确认 PLC 是否真的读到了正常的 4-20mA 原始值。正确顺序应该是先接好电流回路 再确认模块地址 再监控原始值 最后用 S_ITR 换算温度只要原始值正常变化后面的温度显示就很简单了。