ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

MT6070I与FX PLC四线RS422通讯接线与排错指南

MT6070I与FX PLC四线RS422通讯接线与排错指南

简介:这份文档面向工业自动化现场调试、PLC与触摸屏通讯接线人员,围绕MT6070I触摸屏与三菱PLC之间的通讯线连接提供图纸化参考,重点解决RS485/RS422接线核对、线序确认及现场排错问题。压缩包内共1个doc文件,约24KB,以图文文档形式集中呈现接线关系,便于打印后对照设备端口逐项检查。文档给出COM1的9针D形端口与RS422的8针Din圆形端口引脚对应,如RX-接TX-、RX+接TX+、GND与GND共地等,并说明触摸屏COM1口与三菱PLC的RS485/RS422端口连接关系,延伸到Modbus RTU与ASCII协议下的通讯应用。对现场常见的串口线序、地线处理与协议选择具有对照价值,可帮助读者快速判断接线错误、减少调试反复,并可作为设备集成、故障排查和教学实训的接线对照材料。已有4902人学习,适合需要快速查阅MT6070I与三菱PLC通讯接线的工程人员、设备维护人员及自动化实训人员。

1. 五根线里没有一根是“同名对同名”

MT6070I 触摸屏与 FX 系列 PLC 的通讯线接线图,乍看只是一张五行的对照表:四根差分线,加一根地。多数人第一眼把它理解成一张连线清单,照着焊完,上电,然后盯着“通讯超时”发呆。反直觉的地方在于:这张表里没有任何一对线是“同名对同名”的——触摸屏的 RX 一定接到 PLC 的 TX,而减号却接到减号。交叉的是方向,不能交叉的是极性,两条约束同时成立,表才成立。

搞懂这两条约束,你就能在没带万用表的现场,只凭现象判断是接反了还是接漏了;搞不懂,上层波特率、站号、驱动怎么调都是黑匣子。物理层这件事,没有后悔药。

2. 差分信号:为什么 RX- 接 TX-,而不是 TX+

2.1 一根线对地,和两根线互相比,是两种世界观

单端信号(RS232 那一类)把“高”“低”定义在一条线相对地的电压上,判据是绝对电平,比如 -3V 以下算 1、+3V 以上算 0。好处是简单,坏处是地电位的任何漂移都直接叠加在判决门限上:两台设备的地之间只要差出几伏,接收端就可能把 0 读成 1。

差分信号换了一套判据:不用绝对电压,而是看两条线之间的差。驱动器把一对互补的信号推出去,一根线拉高、另一根线同时拉低;接收端做减法,V_A - V_B大于 +200mV 判一种状态,小于 -200mV 判另一种,落在中间是无效区。关键在于,如果两条线上同时叠加了 +5V 的干扰,减法之后这个 +5V 就消失了——它变成了共模,被丢掉了。这就是差分抗干扰的全部秘密,也是工业柜里到处是变频器、接触器、伺服驱动器,却仍然敢用一对双绞线跑几十米的原因。

代价是线多了一倍,且接收端必须知道哪根是“同相”、哪根是“反相”。这就引出了极性约束。

2.2 交叉的是方向,不交叉的是极性

每台设备的引脚名字,都是以它自己为参照系命名的。MT6070I 的 RX 是“我准备接收”的输入脚,PLC 的 TX 是“我准备发送”的输出脚。两个都想收,链路自然哑掉——所以方向必须交叉:一端的输出接另一端的输入。

但交叉的只是方向,不是正负号。接收器内部有两个输入端:一个是同相输入,一个是反相输入。发送器的 TX+ 对应同相输出,TX- 对应反相输出。要让减法算对,同相输入必须看同相输出,反相输入必须看反相输出。于是 HMI 的 RX- 接 PLC 的 TX-,HMI 的 RX+ 接 PLC 的 TX+,符号保持一致。如果把正负对调,每一比特都会被取反:空闲电平变成“有信号”,起始位判决错乱,帧错误计数暴涨,串口助手上一片乱码或者干脆一个字节都没有。这不是线断了的那种“完全没反应”,而是“看起来很忙但什么都不对”,比断线更难查。

按这个思路,那张表可以逐行读成三个约束:

HMI 端(9 针 D-sub,4 线模式)方向PLC 端(8 针 DIN 编程口)方向满足的约束
1 RX-输入4 TX-输出方向交叉、极性一致
2 RX+输入7 TX+输出方向交叉、极性一致
3 TX-输出1 RX-输入方向交叉、极性一致
4 TX+输出2 RX+输入方向交叉、极性一致
5 GND地3 GND(SG)地共地

表里每一行的“减号接减号”都不是巧合,而是同一套极性定义在两端的一致性;每一行的“X 接 Y”也不是巧合,而是方向约束唯一允许的配对方式。把这张表当成五个孤立的连接去背,很容易在焊的时候颠三倒四;把这三条约束当成生成规则,表就是唯一的解。

2.3 双绞、共模范围与终端电阻

还有三个电气层面的细节,决定了“接对了”和“能用”之间的差距。

第一是双绞的绞法。一对差分信号必须绞在同一对线里——RX+ 和 RX- 绞一对,TX+ 和 TX- 绞一对。常见的错误是拿一根四芯线,把 RX+ 和 TX+ 绞在一起当成“一对”。这样做的结果是:两根线之间的干扰不再对称,差分接收端减不掉它,共模抑制能力基本白送。四芯屏蔽双绞线的正确用法是拆成两个独立的对,对与对之间尽量垂直或分开走线,避免平行耦合。

第二是共模范围。差分接收器能容忍的共模电压是有限的,工业收发器通常标称 -7V 到 +12V 这个量级。在这个窗口内,差分信号照样能正确判决;一旦两端的地电位差超出这个范围,接收器就彻底失灵。两台设备如果各自用独立电源供电,又没有共地,地电位差慢慢漂移,很可能白天正常、晚上出故障,或者一开大功率设备就掉线——现场最容易把这类问题归到灵异事件上。所以地线不是“锦上添花”,它是把共模电压钉在窗口里的那条绳。

第三是终端电阻。120Ω 的作用是吸收传输线末端反射回来的能量,线越长、速率越高越需要。但这个电阻只在物理两端各放一个,而且要在驱动能力允许的前提下放。短距离、低波特率的台架环境,不加往往也能通;加了反而可能因为驱动器负载过重导致幅度不足。工程上的做法是:先不加,通不了再按手册的推荐加,且只加在两端,中间节点一律不加。

注意:把 120Ω 并到 TX 对和 RX 对上,是“两端各一个”的意思,不是每对线各来一个、也不是每个接插件都来一个。多装的中端电阻会把信号幅度拉垮。

3. 四线 RS485 与 RS422:同一块收发器,两种用法

3.1 两线半双工为什么在这套接法里不够用

两线制 RS485 只有一对差分线,发送和接收共用同一对铜线,所以必须有个“现在轮到谁说”的机制:要么用 RTS 之类的方向控制脚切换驱动器使能,要么靠收发器自动判别方向。切换是有延迟的,也是有时序风险的——切换太早会把最后一两个字节削掉,切换太晚会让两个站同时驱动总线,出现短暂的总线冲突。挂的站越多、线越长,这种风险越明显。

四线全双工换了一种思路:发送用一对、接收用一对,收发通道物理上分离。发送器可以一直开着,接收器可以一直听着,不存在“轮到谁”的问题,也不存在总线冲突。代价是只能点对点,一台对一台,不能挂第三台。RS422 就是这么定义的:一个驱动器、最多十个接收器、四根线、全双工。

把这两种说清楚,就能理解为什么这套接法选 4 线:MT6070I 与 PLC 之间本来就是点对点,没有多站共享的需求,却实实在在地需要“随时能收、随时能发”。人机界面在轮询 PLC 的寄存器,读与写交替进行,半双工每次转向都要付出等待时间和出错概率,全双工把这个问题从根上移除了。

3.2 COM1 的 4W 模式:把 485 收发器当 422 用

工业触摸屏上的 COM1 通常是一颗可配置的收发器加上外围保护,通过配置决定工作在 2 线还是 4 线模式。选 4 线模式时,它表现得就像一台 RS422 设备:TX 对持续驱动,RX 对持续监听,四个信号脚各司其职。物理上它仍然是 485 收发器,电气参数也仍然是 485 那一套;逻辑上它是 422 的用法。

这个“物理 485、逻辑 422”的重叠,是很多接错的源头。最典型的一种:现场把一台两线制设备接到 4W 口的 RX 对上,结果人机界面能读到数据却写不进去。原因很直白——它的发送器根本没接到那条线上,发出的数据落在 TX 对的两根空脚上,谁也不听。现象看起来像“权限不够”或者“协议不支持写”,实际上是少接了另一对线。

另一种是把 4W 模式的四根线当两对“冗余”来接,只挑其中一对接到对方的同名对上,结果方向没交叉,两端都在发、都在等,超时报警准时出现。判断方法很简单:静态量一下四个信号脚对地的电平,如果两端同一对线上量到的都是“驱动器输出”的特征(低阻、有明确摆动),那基本可以确定方向没交叉。

9 针 D-sub 这个接口形态本身也值得一提。它老、它笨、它占地方,但它便宜、坚固、插拔有螺纹锁、同一副针脚能同时容纳 2 线和 4 线两种接法。工业现场的连接器选型从来不是“最优技术”胜出,而是“哪个人都能在现场半小时内换掉”胜出。这一点在后面还会反复出现。

3.3 8 针 DIN 那个口,到底在说什么语言

PLC 侧用的是 8 针 MINI-DIN 圆形口,这是它的编程口,电气上是 RS422 全双工,协议上是厂商自己的编程协议——不是 Modbus,也不是自由协议。接线图之所以是这副样子,根源在这里:它接的不是一个“通用串口”,而是一个特定协议的物理入口。

从 PLC 一侧看,还有一个容易踩坑的问题:这个编程口的帧格式是协议本身固定下来的(常见的是 9600 波特、7 位数据、偶校验、1 位停止),改不了,也不受 D8120 之类的通讯格式寄存器影响。而 PLC 上另加的通讯板或通讯适配器,格式写在 D8120 里,是另一条独立的通道。一台 PLC 上两个口跑两种格式,是完全正常的,不是配置冲突。

于是“协议决定接线”这件事就成立了:

走的协议走哪个物理口接线形态
编程口专用协议8 针 DIN 编程口四线 + 共地,即本篇这张表
Modbus RTU扩展通讯板/适配器的端子两线 A/B 或四线 SDA/SDB/RDA/RDB
无协议(自由口)扩展通讯板的串口按板子定义,通常是两线

这张表的意义是:换协议等于换接线,不能只改参数。现场最常见的无效劳动,就是协议已经切到 Modbus RTU,线还插在编程口上,然后花两小时怀疑站号和校验。接线图和协议是绑定的,改一个必须回头看另一个。

提示:驱动类型要和物理口对应。人机界面里选择“编程口”驱动时,它期望的就是四线全双工和那套固定格式;选择 Modbus RTU 驱动时,它期望的是另一条通道。选错驱动的表现往往和接错线一模一样,都是超时。

4. 引脚表逐条拆:9 针 D-sub 与 8 针 DIN 怎么读

4.1 信号地:最容易被省掉、也最容易“玄学”的那根线

五根线里,地线是最不受待见的。它不传数据,不参与差分,看起来“接不接都能通”,于是被优先省略。台架上确实能通——两台设备插在同一个排插上,地本来就是通的。装进电柜、各用各的开关电源之后,问题就来了:轻则偶发丢包,重则一天掉线几次,重启就好,过一会儿又不行。

原因在 2.3 节已经埋下:差分接收器能容忍的共模电压窗口是有限的。两端不共地,地电位差就在窗口边缘漂。漂进窗口时一切正常,漂出去时全盘失效。这种“时好时坏”恰恰是最难排查的形态,因为它不给你稳定的复现条件。

所以这根线的作用不是“回路”,而是“把两端的参考点钉在一起”,让共模电压回到零附近。它不是可选项,是让差分机制成立的前提条件之一。

4.2 三条约束合起来,就是一张排错表

把方向、极性、共地这三条约束当成判据,任何一条不满足,现象都是可以预测的。这张表比任何经验都值钱:

接错的方式电气后果现场现象
正负极性对调每比特被取反,空闲态被误判全无响应或满屏乱码,帧错误计数飙升
TX/RX 不做交叉两端都在发送,无人接收稳定超时,一个字节都收不到
只接一对差分线单向通道打通,反向断开能读不能写,或能写不能读
不接信号地共模电压漂出窗口台架正常,装柜后随机掉线
把两线设备接到 4W 口发送器落在空脚上只收不发,看起来像协议不支持写
屏蔽层两端接地形成地环流,引入工频干扰通信速率一提高就出现规律性错误

看得出规律:方向错是“完全不通”,极性错是“通但全是垃圾”,共地错是“有时通有时不通”。三种现象对应三类病因,先看现象再动手,能省掉大半天。

4.3 把接线表写成可校验的数据结构

手工核对这张表,人眼很容易疲劳。既然三条约束是死的,就可以把它们写成代码,让脚本去检查一张候选接线表是否合法。这在整理多份不同设备的接线文档时特别有用——把每份表录成数据,跑一遍校验,错的地方会自己跳出来。

# 用数据结构描述两端的引脚定义,再用三条硬约束校验接线表 HMI_COM1 = { # 9 针 D-sub,4 线模式 1: ("RX-", "in", "-"), 2: ("RX+", "in", "+"), 3: ("TX-", "out", "-"), 4: ("TX+", "out", "+"), 5: ("GND", "gnd", None), } PLC_MD8 = { # 8 针 MINI-DIN 编程口,RS422 1: ("RX-", "in", "-"), 2: ("RX+", "in", "+"), 3: ("GND", "gnd", None), 4: ("TX-", "out", "-"), 7: ("TX+", "out", "+"), } WIRING = [(1, 4), (2, 7), (3, 1), (4, 2), (5, 3)] # (HMI 脚, PLC 脚) def check(wiring): errs, gnd = [], 0 for a, b in wiring: na, da, pa = HMI_COM1[a] nb, db, pb = PLC_MD8[b] # 约束三:地只能接地,不能落到信号脚上 if "gnd" in (da, db): gnd += 1 if da != db: errs.append(f"地线接错:HMI{a}({na}) <-> PLC{b}({nb})") continue # 约束一:方向必须交叉(同为输入或同为输出都不行) if da == db: errs.append(f"方向未交叉:HMI{a}({na}) <-> PLC{b}({nb})") # 约束二:极性必须一致,减号只能接减号 if pa != pb: errs.append(f"极性接反:HMI{a}({na}) <-> PLC{b}({nb})") if gnd == 0: errs.append("缺少共地线") return errs print(check(WIRING) or "接线表通过三条约束")

这段代码里没有一行是“业务逻辑”,全是那三条约束的直接翻译。da == db这一句对应“方向交叉”,两个都是in或者两个都是out都算错,因为那意味着两只手都在伸出去或者都在等着接。pa != pb对应“极性一致”,只比较符号,不管方向。地线单独走一个分支,是因为它既没有方向也没有极性,但它必须两端都是地,且至少要有一条。

把这张表里任意一行改错,脚本的输出就直接告诉你错在哪一类。比如把(3, 1)改成(3, 2),它会报“极性接反:HMI3(TX-) <-> PLC2(RX+)”;把(1, 4)改成(1, 2),它会报“方向未交叉”。现场带不了电脑的时候用不上,但在写文档、审图纸、把老师傅的经验固化成规范的时候,这种校验比人眼可靠得多。

另外还有一个物理层面的坑,代码查不出来:8 针 MINI-DIN 的针脚编号,不同手册对“从正面看”还是“从焊面看”的描述不一致,数错一位就会焊到隔壁脚上。焊之前用通断档对着插头实测一遍,十秒钟的事,能省掉一次拆柜。

5. 排查:五类“接完不通”的现场病

5.1 现象:稳定超时,一个字节都收不到

原因几乎总是方向没交叉。两端都在发送,两端都在等待,链路在电气上是完整的,在逻辑上是死的。很多人这时候会去调波特率、换驱动、改站号,全是白费——因为问题在物理层,上层怎么调都不会有反应。

解决方式有两步。先按表确认 TX 对确实接到了对方的 RX 对,不要把“1 接 1、2 接 2”当成理所当然。再用回环验证端口本身:把 HMI 的 TX+ 与 RX+ 短接、TX- 与 RX- 短接,自发自收,能收到自己发的字节,说明端口和参数没问题,问题一定在线上。这一步能把“设备坏了”这个可能性提前排除掉,省下大量扯皮时间。

5.2 现象:能读不能写,或者只能单向通信

这种情况多半是只接了一对差分线。四线全双工里,收和发是两条独立的通道,断掉哪一条,哪个方向就哑。有些现场为了省线,把两对并成一对接过去,结果收发互相打架,表现更奇怪。

解决方式是把两对都接满,并确认接收对和发送对没有接反到同一侧。如果确实是两线制设备要接 4W 口,那就要在配置里把端口切到 2 线模式,按 2 线的引脚定义重新接,而不是硬把两线塞进四线的孔里。

5.3 现象:台架上一切正常,装进电柜就随机掉线

这是共地问题的典型表现,也是最容易归因到超自然现象的一类。台架上两台设备共用一个电源,地天然是通的;装柜后各用各的电源,地电位开始漂。漂移是慢变量,所以表现为“大部分时间正常,偶尔抽风”。

解决方式是补上信号地,并检查屏蔽层的接地方式。屏蔽层应该单端接地,通常接在控制柜一侧,另一端悬空或通过电容接地。两端都接会形成地环流,把工频干扰直接引进信号对,反而比不屏蔽更糟。

5.4 现象:换了一台同型号 PLC 就不通,参数一个没改

同型号不代表同配置。编程口的帧格式虽然由协议固定,但扩展通讯板的格式写在 D8120 里,前一位工程师可能改过;此外人机界面里的驱动类型如果被换成了 Modbus RTU,而线还插在编程口上,也必然不通。

解决方式是先确认“物理口—协议—驱动”这三者是否一一对应,再去核对格式参数。顺序不能反:先确认走的是哪条通道,再谈这条通道的参数。反过来做,就会陷入“参数全对但就是不通”的死循环。

5.5 现象:接完线,PLC 的编程软件再也连不上了

编程口是单主站的。人机界面挂在上面持续轮询,编程软件再插进去,两个主站抢同一个从站口,谁都连不稳。更糟的情况是焊接时把 8 针插头里的电源脚短到了信号脚上,那就不只是连不上,可能已经伤了端口。

解决方式是拔掉人机界面的通讯线再连编程软件,这是最省事的现场做法。焊接前用通断档逐个确认针脚,焊完再量一遍有没有相邻短路。8 针 DIN 的针距很小,烙铁头稍微歪一点就连上了,这种翻车见得太多了。

5.6 从物理层往上爬的排查顺序

排查这件事,顺序比工具重要。从下往上,一层一层排除,每一层都有明确的判据:

第一步,断电测通断。确认每一根线两端导通、相邻脚不短路、屏蔽层没有和信号线短接。这一步能抓出绝大多数焊接问题。

第二步,上电量静态电平。空闲时每条差分对之间应该有明确的电压差(几百毫伏到几伏),而不是零伏。两端都量,如果某一端量出来是零,说明那一端的驱动器没工作,或者线断了。

第三步,做回环。把本端的发送对短接到接收对,自发自收。通,说明端口和参数没问题;不通,问题在本端配置或者端口硬件。

第四步,抓字节。用串口工具并联监听,或者临时把人机界面换成一个能打印原始字节的脚本,看总线上到底有没有数据在动。有数据但解析失败,是格式或协议问题;完全没数据,回到第二步。

第五步,才是参数和协议。波特率、数据位、校验、站号、驱动类型,这些放在最后调,因为它们最容易改,也最容易被误改。先把“线上有没有正确的电平”这件事确认了,再谈“电平代表什么含义”。

6. 设计取舍:为什么宁可多两根线,也不肯省掉共地

这套接线方案里有几处明显的“不经济”:四根信号线而不是两根,一个笨重的 9 针 D-sub 而不是更小的端子,一根看似多余的信号地。放在消费电子的语境里,这些都会被优化掉。工业现场留着它们,是因为优化的目标不同——不是成本和体积,是“十年后还能在现场被一个没看过图纸的人修好”。

四线对两线的取舍,本质是拿线材成本换确定性。半双工省下两根线,代价是方向切换的时序风险、总线冲突的可能、以及失效偏置电路的设计复杂度。点对点的场景里,这些复杂度换不来任何收益,所以四线是对的。但如果哪天要挂第三台设备,四线立刻变成错的——RS422 只能点对点,这时候必须换回两线总线,而线还得重接。这就是为什么接线图和协议、拓扑是绑定的三件事,改一件必须回头看另外两件。

共地这根线更典型。省掉它,台架上一切正常,装机后才出问题,问题还被归到“干扰”这个万能筐里。它的价值不在“让信号更好”,而在“让故障模式变得可预测”:接了地,出问题就是稳定地不通;不接地,出问题就是随机地不通。后者对现场维护的伤害远大于前者,因为不可复现的故障无法被验证修复。工程上愿意为一根线付钱,买的是“故障可复现”这个性质。

差分、双绞、共地、终端电阻,这套组合已经存在了几十年,被以太网、被各种现场总线反复挑战,却始终没有被完全取代。原因不复杂:它的成本曲线太平了。一对双绞线加两颗收发器就能跑几十米,不需要交换机、不需要协议栈、不需要 IP 规划,插上就能通。对于一台触摸屏和一台 PLC 之间的这点数据量,任何更“先进”的方案都是过度设计。

我那次的教训是:为了省一根地线,在一个电柜里耗了整整两天,最后靠一根临时飞线定位到问题。从那以后我每次做这种四线接法,都会先用通断档把五根线逐一量一遍,再空载上电量一次差分电平,最后才插上设备。三步加起来不到五分钟,比任何事后排查都便宜。

希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进