3、硬件选型与接线:常用远程IO模块介绍、电源与通讯线缆接线、终端电阻设置

好,咱们进入第三讲。这一讲很关键,说白了就是「动手之前先动脑」。你想想看,远程IO模块选错了,或者线接错了,后面写再多代码都是白搭。我见过太多项目,最后查问题查了两天,结果发现是终端电阻没焊上。

这一章,我带你把硬件选型和接线这块彻底搞明白。咱们分三步走:先认识市面上常见的远程IO模块,再搞定电源和通讯线的接法,最后把终端电阻这个「小东西大麻烦」说清楚。

3.1 常用远程IO模块介绍

远程IO模块,说白了就是把现场的传感器、执行器信号,通过总线传到PLC或者上位机。市面上主流的有这么几类,我按品牌和协议给你捋一捋。

3.1.1 按通讯协议分类

协议类型 代表品牌/型号 特点 适用场景
PROFINET 西门子ET200SP、菲尼克斯Axioline 实时性好,配置方便 西门子PLC系统
EtherCAT 倍福EK系列、欧姆龙NX系列 速度极快,抖动小 运动控制、高速采集
Modbus TCP 施耐德TM3、国产海为 成本低,兼容性好 中小型系统、老旧设备改造
CANopen 魏德米勒、博世 抗干扰强,距离远 工程机械、车辆

我个人习惯,如果项目预算充足,首选PROFINET或EtherCAT。为什么?因为调试方便,诊断功能强。有一次我在一个包装线上,现场干扰特别大,Modbus TCP动不动就断连。后来换成EtherCAT,问题直接解决。嗯,这里要注意,协议选型不能只看价格,还得看现场环境。

3.1.2 按IO类型分类

  • 数字量输入(DI):接按钮、接近开关、光电传感器。常见的有8路、16路、32路。
  • 数字量输出(DO):接继电器、电磁阀、指示灯。注意区分源型(PNP)和漏型(NPN)。
  • 模拟量输入(AI):接4-20mA、0-10V信号。比如压力变送器、温度传感器。
  • 模拟量输出(AO):接变频器、比例阀。一般也是4-20mA居多。
  • 温度模块(TC/RTD):专门接热电偶或热电阻。我建议选带冷端补偿的型号,省事。
我的小经验:选型时,IO点数要留20%的余量。别问我为什么,问就是「现场改需求」这种事我经历过太多次了。

3.2 电源与通讯线缆接线

接线这块,很多人觉得简单,其实坑最多。我见过有人把24V和0V接反,模块直接冒烟。也见过通讯线跟动力线走同一个线槽,结果数据全乱套。

3.2.1 电源接线

远程IO模块一般用24V DC供电。注意,不是所有24V都一样。我建议用开关电源,而且要选带过流保护的。

电源接线要点:
1. 正极(+24V)接模块的L+或V+
2. 负极(0V)接模块的M或V-
3. 接地(PE)必须接,别偷懒
4. 电源线建议用1.5mm²以上的双绞线

为什么会强调接地?有一次我在一个化工厂调试,模块老是莫名其妙重启。查了半天,发现是电源负极没接地,静电积累到一定程度就放电。后来把PE接上,问题再没出现过。

3.2.2 通讯线缆接线

不同协议的接线方式不一样,但有几个通用原则:

  • 线缆选择:用屏蔽双绞线。别省这点钱,不然后悔。
  • 屏蔽层处理:单端接地。我习惯在PLC侧接地,模块侧悬空。
  • 走线要求:远离动力线,至少保持20cm距离。如果必须交叉,走90度直角。
  • 接线端子:压接要牢固,别用螺丝刀硬拧。我推荐用冷压端子。

拿Modbus RTU举个例子,接线是这样的:

Modbus RTU接线(RS485):
A(+)接 A(+) —— 数据正
B(-)接 B(-) —— 数据负
GND接 GND —— 信号地(可选,但建议接)
注意:RS485的A/B线不能接反。接反了通讯会时好时坏,查起来特别费劲。我曾经在一个项目上,因为A/B接反,折腾了整整一个下午。

3.3 终端电阻设置

终端电阻,这个知识点很小,但影响很大。说白了,它就是用来消除信号反射的。

3.3.1 为什么需要终端电阻?

你想想看,通讯信号在电缆里传输,到了末端如果阻抗不匹配,信号就会反射回来。反射波跟原来的信号叠加,数据就乱了。终端电阻的作用,就是把信号「吃掉」,不让它反射。

3.3.2 怎么设置?

不同协议的终端电阻值不一样:

协议 电阻值 位置
RS485 120Ω 总线两端各一个
CAN 120Ω 总线两端各一个
PROFIBUS 220Ω(实际是组合电阻) 总线两端

设置方法有两种:

  1. 硬件拨码开关:很多模块上有个小开关,拨到ON就是启用终端电阻。
  2. 外接电阻:如果模块没有内置电阻,就自己焊一个。注意要焊在接线端子上,别焊在中间。
关键原则:终端电阻只在总线的最两端各放一个。中间节点不要放。放多了信号会衰减,放少了反射还在。

3.3.3 避坑指南

我曾经在一个项目上,总线接了10个IO模块,通讯老是丢包。我检查了所有接线,都没问题。最后用万用表一量,发现终端电阻只有60Ω。原来有人把两个120Ω电阻并联了。嗯,这里要注意,终端电阻是并联在总线上的,不是串联。

还有一个常见问题:如果模块数量少(比如只有2-3个),终端电阻要不要加?我的建议是:加。哪怕只有两个设备,也把两端的电阻加上。不加的话,短距离可能没问题,但一旦距离拉长或者干扰来了,问题就暴露了。

快速检查方法:用万用表量总线两端的A-B之间的电阻。如果是60Ω左右(两个120Ω并联),说明终端电阻设置正确。如果是120Ω,说明只加了一个。如果是无穷大,说明一个都没加。

好了,这一章的内容就这些。硬件选型和接线,说白了就是「选对、接对、调对」。选对模块,接对电源和通讯线,调对终端电阻。这三步做好了,后面写程序就顺风顺水。下一章咱们开始讲通讯参数配置,到时候你会感谢今天认真接线的自己。