1. 三菱PLC与3U 485ADP通信基础解析
工业自动化领域中,PLC与外部设备的通信是实现系统集成的关键技术。三菱FX3U系列PLC通过485ADP模块进行通信,是一种经济高效的解决方案。485ADP模块作为FX3U PLC的扩展模块,支持RS-485通信标准,具有传输距离远(最长1200米)、抗干扰能力强等特点,非常适合工业现场环境。
在实际项目中,485ADP模块常用于以下场景:
- 与HMI触摸屏进行数据交互
- 连接RFID读写器获取产品标识信息
- 对接扫码枪读取条形码/二维码数据
- 与其他PLC或智能设备组成分布式控制系统
通信协议方面,485ADP模块支持以下三种工作模式:
- 无协议通信:直接发送接收原始数据,灵活性最高
- Modbus RTU从站:兼容标准Modbus协议
- 专用协议:三菱自定义的通信格式
提示:选择通信协议时需考虑设备兼容性。大多数工业设备都支持Modbus RTU,这是最通用的选择。
2. 硬件连接与参数设置
2.1 硬件接线规范
正确的硬件连接是通信成功的前提。485ADP模块采用RS-485两线制接线方式:
- SDA+(信号正极)连接外部设备的A+/T+
- SDB-(信号负极)连接外部设备的B-/T-
- 必须连接终端电阻(通常为120Ω)
典型接线示意图:
code复制PLC 485ADP模块 外部设备
SDA+ ----------- A+
SDB- ----------- B-
终端电阻
注意:RS-485网络必须采用手拉手式拓扑,避免星型连接。所有设备应并联在总线上,最远两端设备需接入终端电阻。
2.2 通信参数配置
通过PLC程序设置通信参数时,需要使用MOV指令写入特殊寄存器:
assembly复制MOV K2 D8120 ; 设置通信格式:9600bps,7位数据,偶校验,1停止位
MOV K1 D8121 ; 设置站号为1
常用通信参数对应表:
| 参数值 | 波特率 | 数据位 | 校验位 | 停止位 |
|---|---|---|---|---|
| K0 | 300 | 7 | 偶校验 | 1 |
| K1 | 600 | 7 | 偶校验 | 1 |
| K2 | 9600 | 7 | 偶校验 | 1 |
| K3 | 19200 | 7 | 偶校验 | 1 |
| K4 | 38400 | 7 | 偶校验 | 1 |
3. 通信程序核心逻辑实现
3.1 初始化程序段
每个通信程序都应包含初始化部分,确保PLC上电后通信模块能正确工作:
assembly复制LD M8000 ; PLC运行脉冲
SET M0 ; 置位通信使能标志
MOV K2 D8120 ; 设置通信参数
MOV K1 D8121 ; 设置站号
这段代码的作用:
- M8000是PLC的特殊辅助继电器,上电后ON一个扫描周期
- 通过M0作为通信使能标志,控制整个通信程序的执行
- D8120和D8121是通信参数寄存器,必须在通信前设置
3.2 数据收发处理
与外部设备通信的核心是数据收发。以下是一个读取RFID数据的示例:
assembly复制LD M0 ; 通信使能
AND M100 ; 读取触发信号
RS D100 K8 D200 K10 ; 从D100发送8字节,接收存到D200最多10字节
RS指令参数说明:
- 发送起始地址:D100
- 发送字节数:K8
- 接收缓冲区:D200
- 最大接收字节数:K10
实操技巧:接收缓冲区应预留足够空间,建议比最大预期数据多2-3字节。
4. 典型设备通信实现
4.1 与触摸屏通信
HMI通信通常采用自动协议,只需设置站号即可。关键点是地址映射:
-
在触摸屏软件中配置:
- 通信协议:FX系列
- 站号:与PLC设置一致
- 波特率等参数与PLC一致
-
PLC程序无需特殊处理,直接读写对应寄存器:
- D寄存器用于显示数据
- M寄存器用于控制信号
4.2 RFID读写器对接
RFID通信一般采用Modbus RTU协议。典型操作流程:
- 发送读取指令:
assembly复制MOV H0103 D100 ; 功能码03(读保持寄存器)
MOV H0000 D101 ; 起始地址
MOV H0001 D102 ; 读取数量
MOV H0002 D103 ; CRC校验低字节
MOV H00C0 D104 ; CRC校验高字节
- 接收数据处理:
assembly复制LD M8029 ; 接收完成标志
MOV D200 D500 ; 将接收到的RFID数据转存
4.3 扫码枪数据采集
扫码枪通常作为从设备,主动上传数据。PLC程序需要:
- 设置接收缓冲区:
assembly复制MOV K100 D8122 ; 设置接收缓冲区起始地址
MOV K20 D8123 ; 设置接收缓冲区大小
- 数据处理程序:
assembly复制LD M8123 ; 接收完成标志
CMP D100 K10 ; 检查数据长度
AND M50 ; 数据有效标志
MOV D100 D600 ; 存储扫码数据
5. 调试技巧与常见问题
5.1 通信故障排查步骤
当通信异常时,建议按以下顺序排查:
-
检查硬件连接
- 确认A+/B-线序正确
- 测量终端电阻值(应为120Ω左右)
- 检查电源供应
-
验证参数设置
- 波特率、数据位等必须一致
- 站号不能冲突
-
监控通信数据
- 使用串口监控工具抓取原始数据
- 对比设备通信协议手册
5.2 典型错误代码处理
| 错误代码 | 含义 | 解决方案 |
|---|---|---|
| M8063 | 通信错误 | 检查接线和参数 |
| M8064 | 校验错误 | 确认校验方式设置 |
| M8065 | 超时错误 | 检查设备响应时间 |
5.3 性能优化建议
- 合理设置通信间隔:
assembly复制LD M0
OUT T0 K10 ; 设置10ms定时器
LD T0
RS D100 K8 D200 K10
- 使用数据块传输:
assembly复制BMOV D100 D200 K10 ; 批量传输10个字
- 错误处理机制:
assembly复制LD M8063 ; 通信错误标志
SET M100 ; 触发报警
MOV K1 D1000 ; 记录错误代码
在实际项目中,我发现通信稳定性很大程度上取决于接地处理。建议将485通信线的屏蔽层单端接地(通常在PLC侧),能显著降低干扰。另外,对于长距离通信,可以考虑使用带有隔离功能的485转换器,虽然成本略高,但能有效解决地环路问题。