3. 通信基础配置
在Schneider PLC与工业机器人协同工作的场景中,通信配置是决定系统能否正常联动的第一道门槛。本节聚焦两种最常用的工业以太网协议——Modbus TCP/IP与EtherNet/IP,从协议定位、参数设置到网络组态,给出可落地的配置思路与示例。
一、两种协议的定位差异
Modbus TCP/IP是施耐德电气传统优势协议,基于TCP/IP栈,采用“请求—响应”模式,报文结构简单、调试直观,适合PLC与机器人之间交换少量控制字、状态字和寄存器数据。EtherNet/IP则基于CIP(Common Industrial Protocol),采用生产者—消费者模型,支持隐式(I/O)与显式(消息)两类通信,实时性和数据吞吐能力更强,适合需要周期性高速交换I/O或多轴协同的场合。
选择哪种协议,取决于机器人控制柜支持的通信选件、所需数据量、刷新周期以及是否需要与第三方设备共用同一网络。若机器人仅需接收启停、程序号、报警复位等少量信号,Modbus TCP/IP即可满足;若需要实时交换关节位置、力矩或安全信号,EtherNet/IP更合适。
二、Modbus TCP/IP 参数设置与组态
在Schneider PLC侧,以M241/M262为例,首先在EcoStruxure Control Expert或Machine Expert中为PLC以太网口分配静态IP,例如192.168.1.10,子网掩码255.255.255.0。机器人控制柜的通信板卡同样设置同网段静态IP,例如192.168.1.20,避免使用DHCP造成地址漂移。
PLC作为Modbus TCP客户端(主站),通过功能块或指令向机器人从站发起请求。常用功能码包括:03读保持寄存器、06写单个寄存器、16写多个寄存器。机器人侧需在通信配置中启用Modbus TCP从站,并定义寄存器映射表。例如将机器人启动命令映射到地址0,程序号映射到地址1,状态字映射到地址100,报警代码映射到地址101。
在PLC程序中,使用READ_VAR和WRITE_VAR指令时,需要指定从站IP、单元ID、起始地址、数据长度和超时时间。典型调用如下:
WRITE_VAR(
ADR := '192.168.1.20',
UNIT := 1,
OBJ := '%MW',
FIRST := 100,
LEN := 2,
DATA := %MW100:2,
TIMEOUT := T#1S
);
该指令将PLC的%MW100和%MW101两个寄存器写入机器人地址0和1。读取状态时使用READ_VAR,将机器人地址100和101读入%MW200和%MW201。配置完成后,通过PLC的在线诊断查看通信状态字,若返回码为0表示成功,非0则根据错误码排查IP、端口、单元ID或寄存器地址是否匹配。
三、EtherNet/IP 参数设置与组态
EtherNet/IP的组态流程与Modbus不同,核心在于EDS文件与连接参数。首先从机器人厂商获取对应型号的EDS文件,在PLC工程中导入。随后在设备树中添加机器人作为EtherNet/IP适配器,设置其IP地址,例如192.168.1.30。
关键参数是RPI(Requested Packet Interval),即扫描器与适配器之间交换I/O数据的周期。对于一般协同控制,RPI可设为10 ms;若机器人运动控制要求更高,可缩短至5 ms,但需评估网络负载。同时设置输入和输出实例的数据长度,例如各32字节,对应机器人侧的输入输出映射区。
在PLC侧,EtherNet/IP扫描器会自动生成输入输出变量,例如Robot_Input[0..31]和Robot_Output[0..31]。PLC程序直接读写这些变量即可与机器人交换数据。组态完成后,观察扫描器状态字:若显示“Connected”且无超时错误,说明通信正常;若出现“Timeout”或“Connection Failed”,需检查RPI是否过小、网络是否丢包、EDS文件版本是否匹配。
四、网络组态与常见问题
两种协议可以共存于同一物理网络,但建议通过VLAN或独立交换机端口隔离,避免广播风暴影响实时性。交换机应选用支持IGMP Snooping和QoS的工业级型号。IP地址规划上,PLC、机器人、HMI、编程电脑应统一网段,并保留地址表以便维护。
常见问题包括:IP冲突导致通信中断、子网掩码不一致导致跨网段失败、Modbus寄存器地址偏移(部分机器人从1开始计数,而PLC从0开始)、EtherNet/IP的RPI设置过小导致适配器响应超时。排查时先用ping确认链路,再用协议诊断工具查看报文,最后核对参数表。
完成上述配置后,建议先进行单点信号测试:PLC写一个启动位,观察机器人是否响应;机器人置一个状态位,观察PLC是否读取到。确认无误后再扩展到完整协同逻辑。通信配置的稳定性直接决定后续联动程序的可靠性,因此参数记录与版本管理同样不可忽视。