CP1H 可以做 Modbus 从站,但无原生硬件从站协议,需通过无协议编程封装或扩展模块实现,主流为 Modbus RTU 从站,Modbus TCP 从站需加专用模块欧姆龙自动...。以下是具体实现方案与步骤:
一、核心实现路径
| 方案 | 适用场景 | 硬件要求 | 关键优势 | 局限性 |
|---|---|---|---|---|
| 无协议编程封装 | 低成本、仅需 RTU 从站 | 原生串口(RS232/485)+ CIF11 模块 | 无需额外硬件,灵活适配功能码 | 需编程,调试周期长 |
| 扩展模块(CP1W-MODTCP61) | 需 TCP 从站、快速部署 | 加装 MODTCP61 模块 | 原生支持 TCP 主 / 从,配置简单 | 增加硬件成本 |
二、Modbus RTU 从站(无协议编程)详细步骤
1. 硬件准备
通信接口:CP1H 串口 1/2(RS232),或加装 CIF11(RS485)模块,确保终端电阻与极性正确(DA=RS485+,DB=RS485-)。
接线:PLC 串口 ↔ 主站(如触摸屏 / 网关),RS485 需总线型拓扑,两端接 120Ω 终端电阻。
2. 串口参数配置(CX-One)
打开 System Configurator → 串口设置,配置:
波特率:9600/19200/38400(与主站一致)
数据位:8,停止位:1,奇偶校验:None/Even/Odd
协议:选择 “无协议”,流控:None。
保存配置并下载到 PLC。
3. 梯形图编程(核心)
通过 TXD/RXD 指令或自定义功能块封装 Modbus 协议栈,实现从站响应:
初始化:串口参数初始化、从站地址(1-247)、功能码映射(01/02/03/04/05/06/10)。
接收处理:RXD 接收主站请求帧,解析地址、功能码、寄存器范围。
数据映射:
01/02:映射 CIO 位(输入 / 输出)
03/06/10:映射 DM 区(数据寄存器)
04:映射 CIO 字
05:映射 CIO 单线圈控制。
响应发送:按 Modbus 格式封装响应帧,通过 TXD 发送,包含 CRC 校验。
4. 功能码支持建议
必选:03(读保持寄存器)、06(写单个寄存器)、10(写多个寄存器)
可选:01(读线圈)、02(读离散输入)、04(读输入寄存器)、05(写单个线圈)。
三、Modbus TCP 从站(扩展模块)实现
加装 CP1W-MODTCP61 模块,通过扩展槽连接 PLC。
模块配置:
设定 IP 地址、子网掩码、网关
选择 “Slave” 模式,配置从站地址与寄存器映射
上位机通过 Modbus TCP 访问模块 IP,读写 PLC 数据(支持 03/06/10 等功能码)。
四、关键调试与优化要点
通信参数一致性:波特率、奇偶校验、从站地址必须与主站完全匹配。
CRC 校验:编程时需正确计算 CRC16,避免通信错误。
寄存器映射表:明确 Modbus 地址与 PLC CIO/DM 区的对应关系,如 40001 → DM0、00001 → CIO0.00。
抗干扰:RS485 布线远离动力线,采用屏蔽电缆,终端电阻按需接入。
诊断:通过 PLC 特殊继电器(如 A280.00 串口 1 接收完成)监控通信状态,排查故障。
五、快速部署建议
优先选用无协议编程(成本低),可复用成熟功能块(如 CX-One 库中的 MODBUS_RTU_SLAVE FBX)。
若需 Modbus TCP 或快速上线,加装 CP1W-MODTCP61 模块,配置即可使用,无需复杂编程。

