工作任务1:两串行PLC链接通信

官方工学老师·25 页·深入(追求细节与边界)·0 次浏览·2 天前
PLC通信串行链接数据交换工业控制

两串行PLC链接通信

搞懂两台PLC串行链接的接线方式、协议机制与数据收发全流程

按 空格/→ 演示下一步

1 / 25 页

全部页面点击任意一页,跳回舞台从这页播放

PLC通信串行链接数据交换工业控制

两串行PLC链接通信

搞懂两台PLC串行链接的接线方式、协议机制与数据收发全流程

1第 1 页 · 两串行PLC链接通信

PLC为什么要通信

一条汽车焊装线有上百个气缸、几十个传感器——一台PLC的I/O再多也接不完,扫描周期也会被拖到不可控。系统一复杂,多PLC协同就成了必然。

单台PLC物理天花板
I/O点数、程序容量、扫描周期都有限,接得越多响应越慢
系统天然要拆分
按工艺段、区域或功能分给多台PLC,各管一摊互不干扰
PLC间必须交换数据
互锁信号、运行状态、控制指令在多台PLC间流动才能协同
不通信等于信息孤岛
各台PLC互不知对方状态,联动控制、集中监控无从实现
工厂流水线工人分工对应 →多台PLC协同工作

一个工人干不完所有工位;分工后必须靠喊话手势交换进度,PLC靠通信线交换数据

2第 2 页 · PLC为什么要通信

串行通信与RS-232/RS-485

上页说PLC之间要交换数据,那数据怎么'跑'过去?想象你在咖啡店排队——店员一次只接一单,后面的订单依次补位。串行通信就是这条队的逻辑。

串行传输
同一瞬间1根线只有1个bit在跑,像咖啡队一次只过一人
RS-232
1对1、全双工、单端±12V、最远约15米
RS-485
1对多(≤32站)、差分信号抗干扰、最远1200米
选型逻辑
车间长、设备多、变频器干扰大→首选RS-485
排队买咖啡对应 →串行bit传输

店员做一杯=线上发1bit;顾客补位=bit流跟上;只开一条队=省线缆、抗干扰

3第 3 页 · 串行通信与RS-232/RS-485

1:1链接与1:N链接模式

两台PLC用串行线连起来就能交换数据。但真实车间里常有三台、五台甚至更多——线怎么拉?谁能主动说话?这些答案藏在1:1和1:N两种链接模式的区别里。

1:1链接
两台PLC一对一,一台为主站一台为从站,主站发起通信
1:N链接
一台主站轮询多台从站,从站仅在被寻址时才应答
物理拓扑
1:1多用RS-232三线制,1:N必须用RS-485双线总线
站号与区划
每台从站有唯一站号,决定其在主站地址空间里的区段
经理点名开会对应 →1:N链接主从轮询

经理(主站)按序点名,被叫到的人(从站)才能开口回应

4第 4 页 · 1:1链接与1:N链接模式

通信双方的站号分配

教室里老师点名提问,被叫到号的学生才回答——PLC 通信里的主从关系,就是这个逻辑。

主站 Master
站号固定为 0,是通信的发起方,掌握时序控制权
从站 Slave
站号 1~7,平时沉默,被主站叫到才回话
站号 = 身份地址
主站按站号点名,每个从站只认自己的编号
1:1 链接只用 0 和 1
两台 PLC 时,主站拨 1 号,1 号从站应答
老师课堂点名对应 →主站轮询从站

老师=主站、叫几号=发哪个站号、被叫的学生回应=从站应答

5第 5 页 · 通信双方的站号分配

数据发送:NETCR命令

寄快递要填发件人、收件人、寄什么、寄多少——少一项对方都收不到。NETCR 指令把这套信息翻译成了 PLC 能看懂的参数,按顺序填对才能把数据送过去。

操作码/功能号
告诉 PLC「这是一次网络通信」,区别于普通的 MOV、ADD
目标站号
指定发给网络里的哪一台机(如 1 号站、2 号站……)
本地数据地址
本站从哪个 D 寄存器开始取要发的数据
对方数据地址
数据写入对方 PLC 的哪个 D 寄存器
传输字数 n
一次性送几个字(word)过去,必须前后一致
寄快递填面单对应 →NETCR 指令参数

发件人=本地站;收件人=目标站号;寄的物品=本地数据;送达地址=对方数据地址;件数=传输字数

6第 6 页 · 数据发送:NETCR命令

数据接收与响应机制

上页 NETCR 把数据"扔"进了发送缓冲区。但对方 PLC 怎么知道数据到了?会不会像 TCP 那样回一个 ACK 包?答案是:这里没有专门的 ACK 帧——"数据出现在链接寄存器里"本身就是送达凭证。

接收完成标志
FX 串行通信中,数据帧收齐后硬件自动置位 M8123,用户程序轮询此位即知"已收妥"
链接区自动镜像
接收数据落入对方链接寄存器(D 区),写入即送达;无独立"已读回执"
响应帧站号回显
1:N 模式下从站响应帧回填主站请求的站号 N,实现请求与响应的精确配对
快递柜投件对应 →PLC链接区接收

件进柜+发短信一气呵成,无需用户再回"短信收到"

7第 7 页 · 数据接收与响应机制

两台PLC通信完整时序

沿箭头方向读一遍:主站主动发→从站被动接再回→主站确认收,五步走完一次完整通信。

图解渲染中…
M主站:通信发起方,由本站程序决定何时收发S从站:被动响应主站请求自动接收由链接寄存器硬件自动完成,从站CPU不参与
8第 8 页 · 两台PLC通信完整时序

实验准备:硬件连接

理论讲完了,现在动手——两台PLC之间的物理链路怎么接,是所有实验的第一步。

1
定位接口
在两台PLC上找到RS-232口(9针D-sub母座,标COM)
2
选用交叉线
1:1直连必须用Null Modem交叉线,不能用直通线
3
核对引脚定义
2脚(TXD)对3脚(RXD)、3脚对TXD、5脚(SG)对SG
4
上电验证
通电后看通信指示灯,闪烁=通,常亮/灭=未通
9第 9 页 · 实验准备:硬件连接

实验步骤:站号与参数设置

硬件接好之后,下一步给两台PLC各自贴上'门牌号',并约定共同的'说话方式'。

1
进入设置模式
通过编程软件或手持编程器进入PLC的系统参数设置界面
2
分配站号
主站设为0号,从站设为1号,两号必须不同
3
约定通信参数
波特率、数据位、校验方式两台必须完全一致
4
保存重启生效
写入参数并重启PLC,让新设置真正生效
5
验证设置一致
在监控软件里核对两台PLC的站号与参数
10第 10 页 · 实验步骤:站号与参数设置

实验步骤:编写发送接收程序

发送方与接收方各自编写对应的通信程序。

1
确认站号匹配
发送方和接收方的站号必须互相对应
2
写入NETCR指令
在发送方PLC的梯形图中插入NETCR指令块
3
编写接收程序
在接收方编写读取对应缓冲区的程序
4
下载并测试
把程序分别下载到两台PLC并切换到运行
5
监控数据流
在线监控看数据是否准确到达接收方
11第 11 页 · 实验步骤:编写发送接收程序

通信程序实例对照

text

同一链路下,主站和从站程序结构差异明显:从站几乎不需要通信指令。

代码高亮加载中…

对照核心:主站主动发起 NETR/NETW,从站只配站号和格式、不写任何通信指令——这就是“主-从”通信的不对称性。

12第 12 页 · 通信程序实例对照

实验验证与常见错误排查

通信握手成功只是第一步;数据要逐级验证,异常按从易到难排查

1
启动盯通信状态
运行程序后盯面板L.RUN/L.ERR指示灯与特殊继电器,先确认链路是否建立
2
读取比对数据
在从站读出接收寄存器/继电器数值,逐字与发送端比对是否一致
3
查站号冲突
确认两侧站号唯一、符合本站要求,与1:N模式下其他从站不重复
4
查参数一致性
核对波特率、数据位、奇偶校验、停止位与协议模式是否完全一致
5
查物理接线
检查RS-485的A/B极性、屏蔽地接法、总线两端终端电阻是否正确
13第 13 页 · 实验验证与常见错误排查

三台PLC网络拓扑结构

总线型拓扑:主站与两从站并接在同一条RS-485差分线上,靠站号区分身份,总线两端需接终端电阻。

图解渲染中…
a1主站:发起轮询,握有令牌控制权a4RS-485差分总线,半双工,最多32站a2/a3从站:被动监听,仅响应匹配站号帧两端需各接一只约110Ω终端电阻
14第 14 页 · 三台PLC网络拓扑结构

轮询机制:主站如何「雨露均沾」

上一张我们看到两台PLC按『发—等—收』的节奏对话,那再多一台呢?主站只有一个口,三台设备同时抢着说话就会乱套——必须有人出来排班。

轮询顺序
主站按从站号从小到大依次发令:1号→2号→3号→回到1号循环
时间片分配
每次只服务一个从站,占用一个时间片,发完即切换
等待应答
主站发完必须等从站回包,超时则跳过该站继续下一轮
轮询周期
一轮=所有从站各通信一次;周期=从站数×单次耗时
总线独占
同一时刻总线只有主从一对在传,其他从站只能听不能发
老师上课按学号点名对应 →主站轮询各从站

老师按学号顺序叫人,每人答完即叫下一号,不等全班齐答

Tcycle=N×tslotT_{cycle} = N \times t_{slot}
15第 15 页 · 轮询机制:主站如何「雨露均沾」

从站地址分配规则

上一页主站轮流喊三台从站,但从站凭什么知道叫的是自己?靠的就是站号。

三站号互不相同
三台PLC各设唯一编号,重复即通信错乱
主站固定00号
发起轮询的PLC永远是站号0,不可更改
从站号1~7
本协议从站可用1至7共七个号
号可不连续
站号允许跳跃,三台可设为01、03、05
冲突则数据错乱
两站同号则同时响应,主站收到混合数据
楼房住户门牌号对应 →从站站号分配

主站是快递员按门牌投送,门牌重复就送错

16第 16 页 · 从站地址分配规则

三台PLC通信完整时序

沿时间从上往下读:主站依次点名从站,从站应答后主站才叫下一个,这就是轮询的节奏。

图解渲染中…
M主站,站号00,通信发起方S1从站1,站号01S2从站2,站号02
17第 17 页 · 三台PLC通信完整时序

实验准备:硬件连接

RS-485总线把一主两从串成一条链,硬件接线按这五步来。

1
准备双绞线
用屏蔽双绞线,红接RDA+,黑接RDB-
2
主站发送端
主站RDA/RDB端子接第一段总线
3
串联从站
从站SDA/SDB一进一出,逐个串接
4
终端电阻
最远两端各接120Ω电阻,防信号反射
5
屏蔽接地
屏蔽层在主站单点接地,防共模干扰
18第 18 页 · 实验准备:硬件连接

实验步骤:站号与参数设置

三台PLC上电后,先各发一张不重复的「身份证」,再把通信协议的每一项都对齐。

1
主站设站号1
主站上电后首先将本站站号设为1,作为轮询起点
2
从站分别设号
两台从站分别设为站号2和3,站号不可重复也不能为0
3
波特率三台统一
三台PLC的波特率必须设为同一档位,如全部选19200
4
帧格式三项一致
数据位、校验位、停止位三项三台也必须完全相同
5
断电重启确认
全部断电后重新上电,观察通信指示灯确认无报错
19第 19 页 · 实验步骤:站号与参数设置

主站轮询程序实例

text

三菱FX3U主站用N:N网络轮询两个从站的核心指令段。

代码高亮加载中…

D8170/D8171是主站发送区,D8172映射从站1、D8174映射从站2——主站只写自己的区,从站数据靠站号偏移自动同步到对应槽位。

20第 20 页 · 主站轮询程序实例

实验验证与从站冲突处理

用两步验证数据通路,再用一次掉线演练考验主站容错。

1
向两从站发测试数据
主站分别向两个从站写入不同测试值
2
从站核对接收结果
在两个从站检查接收寄存器是否一致
3
模拟从站掉线
人为断开一个从站线路或断电
4
观察主站超时
查看主站错误标志和重试行为
5
恢复并验证自愈
恢复从站后确认通信自动恢复
21第 21 页 · 实验验证与从站冲突处理

两台 vs 三台PLC通信对比

节点一多通信逻辑就完全变了——三维度拆开看两台 vs 三台的真实差异。

两台PLC 1:1链接
  • 拓扑:点对点直连,总线仅2个站点
  • 程序:单对发送/接收,无轮询逻辑
  • 实时性:即发即收,延迟极小且稳定
三台PLC 1:N链接
  • 拓扑:主从总线,1主2从并联挂接
  • 程序:主站需轮询,依次访问各从站
  • 实时性:受轮询周期约束,最坏延迟×N
节点少选1:1——简单稳定;需多点监控选1:N,但要为轮询延迟和地址冲突付出工程代价。
22第 22 页 · 两台 vs 三台PLC通信对比

核心概念自测

1道选择题验证受众是否真正理解主从站关系与通信时序

核心概念自测
1道选择题验证受众是否真正理解主从站关系与通信时序
23第 23 页 · 核心概念自测

知识点回顾

  • 通信的本质是跨距离共享数据,突破I/O与空间限制
  • RS-485多机挂线:靠站号轮询避免总线冲突
  • NETCR等指令是「标准信封」,统一收发双方格式
  • 两台到多台:协议不变,轮询列表加项即可扩展
  • 调试铁律:先查硬件接线与站号,再核参数匹配
延伸主题:Modbus与CC-Link等开放协议以太网通信替代串行总线的趋势通信异常处理的工程最佳实践
24第 24 页 · 知识点回顾

课后思考

先合上书自己想,再点开参考答案对一对思路。

1为什么1:1链接不需要站号,而1:N链接必须先给每台PLC分配站号?

参考答案主从固定时无需寻址;多机并存则必须用站号区分发送对象,本质和IP寻址同理。

2要把这套三台PLC网络扩展到五台,硬件连接和程序逻辑各自要改什么?

参考答案硬件继续手拉手接RS-485终端电阻;程序把轮询数组扩成五项并重调超时参数。一句话:协议不动,参数重调。

3三菱串行链接协议和Modbus RTU都能组1:N网络,它们在设计取舍上有什么本质不同?

参考答案三菱串行链接是半双工轮询、协议封闭但简单;Modbus RTU主从问答、寄存器模型开放。简单场景选前者,跨品牌互操作选后者。

25第 25 页 · 课后思考