简介:这份文档面向工业自动化现场调试、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 之间的这点数据量,任何更“先进”的方案都是过度设计。
我那次的教训是:为了省一根地线,在一个电柜里耗了整整两天,最后靠一根临时飞线定位到问题。从那以后我每次做这种四线接法,都会先用通断档把五根线逐一量一遍,再空载上电量一次差分电平,最后才插上设备。三步加起来不到五分钟,比任何事后排查都便宜。
希望帮到你。
本文还有配套的精品资源,点击获取