在一条汽车座椅装配线上,客户希望用现有的西门子S7-1200 PLC直接控制安川YRC1000机器人执行抓取与放置动作。但问题在于:PLC只有Profinet接口,而机器人虽支持ModbusTCP通信,却不具备Profinet功能。为避免更换控制器或增加上位机,我们决定采用ModbusTCP转Profinet智能协议网关作为通信桥梁。
与高速运动总线不同,ModbusTCP是一种基于寄存器轮询的协议,配置重点不在实时同步,而在地址对齐、功能码匹配与超时机制设置。下面记录本次集成的关键步骤。
一、机器人侧:启用并配置ModbusTCP服务
安川YRC1000默认不开启ModbusTCP功能,需进入维护模式操作。首先将机器人切换至维护模式,再进入安全设定界面。
在LAN接口设定中,将LAN2口的IP地址设为192-168-1-48,子网掩码设为255-255-255-0。特别注意:必须使用LAN2口,LAN3通常用于内部通信,接错会导致无法连接。
接着,在选项功能菜单中找到“MODBUS/TCP(CPU基板)”。如果该选项未显示,说明控制柜软件版本低于YAS4-71-00,或功能未授权,需升级或联系技术支持开通。
进入ModbusTCP参数设置后,分配一个尚未使用的IO工位号,例如5。然后设置IO区域大小,输入和输出各预留16字节,足够覆盖启停、复位、急停释放、运行状态等基本信号。
对于寄存器通信,我们启用了M寄存器功能,起始地址设为M100,数量设为20个,用于传递程序号、当前步骤、报警代码等非开关量信息。同时,将超时检查设为“有效”,超时时间设为5000毫秒,确保PLC断连后机器人能及时进入安全状态。
所有参数确认无误后,多次按回车保存,并重启机器人,切回在线模式。
二、ModbusTCP转Profinet智能协议网关配置
打开网关配置软件Gateway Configuration Studio,新建项目时选择PN2MTC模板。
首先配置Profinet侧参数:设备名称设为WL-PN-MTCP,IP地址设为192-168-1-50,确保与后续PLC组态一致。
接着配置ModbusTCP客户端部分:目标设备IP填入机器人的192-168-1-48,端口使用默认的502,轮询周期设为10毫秒,以保证响应速度。
然后添加Modbus节点,分别配置三类数据通道:
一是写入通道,使用功能码05或15,从线圈地址0开始,连续写入16字节的DO信号,用于向机器人发送控制命令;
二是读取通道,使用功能码01或02,从离散输入地址0开始,读取16字节的DI状态,如“就绪”“运行中”“故障”等;
三是寄存器读取通道,使用功能码03,从保持寄存器M100开始,读取20个寄存器的数据,用于获取程序编号或诊断信息。
确认所有地址、长度和功能码无误后,生成配置并通过工具扫描网关默认IP,完成下载。上电后,若PWR、OK、RUN三灯常亮,说明通信链路已建立。
三、PLC侧组态(TIA Portal)
在博图软件中新建S7-1200项目,首先通过“选项 → 管理通用站描述文件”安装网关的GSD文件。
在网络视图中添加PN2MTC设备,填入设备名称WL-PN-MTCP和IP地址192-168-1-50。
根据网关映射的数据总量,设置输出长度为16字节(对应DO控制),输入长度为36字节(16字节DI状态 + 20字节寄存器数据)。这一步极易出错——若长度不足,高位数据会被截断;若过长,可能引发通信错误。
编译无误后,将组态下载至PLC。在程序中,可通过过程映像区直接读写这些数据,例如将启动信号写入输出字节0的第0位,或从输入字节16开始读取M100对应的寄存器值。
四、联调与验证
上电顺序很关键:先给机器人和网关通电,等待约30秒让ModbusTCP服务完全启动;再启动PLC。
在TIA Portal的监控表中,向输出区写入启动命令,机器人立即响应;同时,输入区实时刷新运行状态、当前程序号等信息。反复测试急停、复位、程序切换等操作,通信始终稳定,无延迟或丢包。
五、经验总结
安川机器人通过ModbusTCP与PLC通信虽非高速方案,但在非同步控制场景中完全够用。本次成功的关键在于三点:
一是确保机器人ModbusTCP功能已正确启用并分配了独立IO工位;
二是网关的轮询周期必须小于机器人的通信超时值,否则会频繁触发异常;
三是PLC的I/O长度必须精确匹配网关实际传输的数据总量。
系统投运半年以来,日均交互超万次,零通信故障。事实证明,在成本敏感、实时性要求不极端的场合,“Profinet + ModbusTCP转Profinet智能协议网关 + 安川机器人”的组合,是一种可靠且经济的集成路径。
稳联郑工说:自动化不是一味追求快,而是让每一条指令都准确抵达,每一次反馈都值得信赖。有时候,最简单的协议,反而最经得起产线的考验。
271