3、串口硬件连接:DB9接口定义、接线方法、常见线缆类型、接地与屏蔽
好,咱们进入第三章。这一章聊的是串口通信的“物理层”——说白了,就是那根线怎么接、用什么线、怎么防干扰。
很多工程师在SCADA现场调试时,软件配置半天没问题,数据就是出不来。最后发现,原来是DB9的2脚和3脚焊反了。这种事我遇到过不止一次,所以这一章咱们把硬件连接彻底讲透。
3.1 DB9接口定义:别小看这9个针脚
DB9是串口最常用的物理接口。分为公头(针)和母头(孔)。在SCADA系统中,PLC端通常是公头,PC端或触摸屏端通常是母头。
咱们先看标准定义:
| 针脚号 | 信号名称 | 方向(DTE侧) | 说明 |
|---|---|---|---|
| 1 | DCD | 输入 | 载波检测,老式Modem用 |
| 2 | RXD | 输入 | 接收数据——这是最重要的 |
| 3 | TXD | 输出 | 发送数据——这也是最重要的 |
| 4 | DTR | 输出 | 数据终端就绪 |
| 5 | GND | — | 信号地——必须接 |
| 6 | DSR | 输入 | 数据设备就绪 |
| 7 | RTS | 输出 | 请求发送 |
| 8 | CTS | 输入 | 允许发送 |
| 9 | RI | 输入 | 振铃指示,基本不用 |
实际SCADA调试中,绝大多数情况只用3根线:2(RXD)、3(TXD)、5(GND)。
核心原则:两个设备通信时,一方的TXD要接另一方的RXD。也就是“发送对接收,接收对发送”。
3.2 接线方法:直连还是交叉?
这个问题,我每次培训都会问学员。答案其实很简单:
- 直连线(Straight-through):2对2,3对3。用于DTE(计算机)连接DCE(Modem)。
- 交叉线(Null Modem):2对3,3对2。用于两台DTE设备直连,比如PC连PLC。
SCADA系统里,PC和PLC直连是最常见的场景。所以,99%的情况下你需要的是交叉线。
我记得有一次去现场,客户说“线都接好了,就是不通”。我过去一看,他们用的是成品直连线。换了一根交叉线,数据立马就出来了。嗯,这种坑踩过一次就记住了。
如果你自己焊线,标准交叉接法如下:
DB9公头(PLC侧) DB9母头(PC侧)
2 (RXD) ———————— 3 (TXD)
3 (TXD) ———————— 2 (RXD)
5 (GND) ———————— 5 (GND)
如果涉及硬件流控,还需要接7(RTS)对8(CTS),8对7。但说实话,SCADA系统里我很少用流控。大多数PLC和RTU都支持无流控模式。
我的习惯:做项目时,我会在DB9外壳上贴个标签,写明“交叉”或“直连”。不然半年后你自己都忘了这根线是怎么焊的。
3.3 常见线缆类型:不是所有线都叫串口线
市面上常见的串口线缆有几种:
- RS-232标准线缆:最传统,传输距离15米以内。线芯通常为多股铜线,带屏蔽层。
- USB转串口线:现在笔记本都没串口了,这玩意儿成了标配。但要注意,便宜的USB转串口线抗干扰能力很差。
- 工业级串口线:线径更粗,屏蔽层更密,接头带螺丝锁紧。适合现场恶劣环境。
- 预制成品线:方便,但长度固定。我建议现场备几根不同长度的。
选线时有个关键参数——线规(AWG)。一般串口线用24AWG或26AWG。线径越粗,信号衰减越小。
警告:千万不要用网线(双绞线)代替串口线!虽然都是8芯,但阻抗特性完全不同。我曾经见过有人用网线焊DB9,结果通信距离超过5米就丢包。
3.4 接地与屏蔽:抗干扰的最后一道防线
这是最容易出问题的地方,也是很多人忽略的地方。
串口通信的干扰主要来自:
- 电机启停产生的电磁干扰
- 变频器的高频噪声
- 长距离传输时的共模电压
怎么解决?三个字:接地、屏蔽、隔离。
3.4.1 屏蔽层怎么接?
标准做法是:屏蔽层在一端接地。通常是PLC侧或PC侧,选一端接机壳地。
为什么不能两端都接?因为两端地电位可能有差异,会产生地环路电流,反而引入干扰。
我有个惨痛教训。某水厂项目,PLC和上位机距离80米,通信时好时坏。查了两天,最后发现屏蔽层两端都接了地。改成单端接地后,问题彻底解决。
3.4.2 信号地(GND)必须接
很多人觉得只接2和3就能通信。确实,短距离(3米以内)可能能工作。但一旦距离拉长,没有GND做参考电位,数据就会出错。
记住:GND不是可有可无的,它是信号回路的一部分。
3.4.3 隔离器:终极方案
如果现场干扰实在太大,或者两个设备地电位差超过几十伏,那就得上隔离器了。
串口隔离器内部有光耦或磁耦,把电气上完全隔开。这样即使一边雷击了,另一边也安全。
我的建议:在SCADA项目中,如果串口线长度超过30米,或者经过变频器柜附近,直接加隔离器。别犹豫,这钱省不得。
3.5 现场排错小技巧
最后分享几个我常用的排查方法:
- 万用表测电压:空闲时,TXD对GND应该在-5V到-12V之间。如果测到0V,说明没信号输出。
- 环回测试:把DB9的2和3短接,然后自发自收。能收到自己发的数据,说明串口硬件没问题。
- 看指示灯:很多工业串口卡或转换器上有TXD/RXD指示灯。灯不闪,说明线没通或设备没发数据。
- 换线法:手边常备一根确认好用的交叉线。排查时先换线,排除线缆问题。
嗯,这一章的内容就这些。硬件连接看着简单,但往往是整个通信系统里最薄弱的环节。你想想看,软件写得再好,线没接对,一切都是白搭。
下一章咱们聊串口参数的配置——波特率、数据位、校验位这些。到时候见。