西门子S7-1200 控制器与ABB IRB120 工业机器人的TCP 通信研究
2022-09-24程伟
程 伟
(苏州健雄职业技术学院,江苏 太仓 215411)
引言
智能制造单元系统集成应用平台以汽车行业的轮毂为产品对象,由总控、仓储、工具、打磨、加工、检测、执行、分拣等8 个单元组成,安装在伺服驱动的导轨上的ABBIRB120 工业机器人抓取汽车轮毂模型,根据工作站流程系统要求,执行不同的相对应的动作[1]。设备使用了3 只西门子S7-1 200 CPU1212C DC/DC/DC控制器,三只PLC 之间可以使用西门子S7 单边通信进行数据交换[2]。工业机器人控制柜使用ABB 标准I/O 板,例如:DSQC651,对气动控制阀进行控制。如果需要PLC 与工业机器人之间传输更多的数据,就需要选择通信的方式,本次测试使用TCP 以太网通信。
1 PLC 控制器的配置
1)硬件连接。PLC 的IP 地址设定为:192.168.0.2,使用网线连接到工业机器人控制柜的X2 服务端口(连接PC),工业机器人的IP 地址设置为:192.168.0.100。
2)开放式用户通信指令。使用发送并建立连接指令TSEND_C、接收数据指令TRCV,如图1 所示。发送并建立连接指令TSEND_C,每秒钟触发一次,将DB200 的256 byses 数据发送给工业机器人[3]。接收数据指令TRCV,接收来自工业机器人的数据,并保存到DB201 的256 byses 数据,将ADHOC 设定为1以接收不定长数据[4]。
3)在TSEND_C 指令的组态中,设置连接参数,如图2 所示。本地设定为PLC,连接类型设定为TCP,本地端口的默认值为2 000,本文设置为2020。伙伴设定为“未指定”,输入工业机器人的IP 地址192.168.0.100,并设定为伙伴(工业机器人)主动建立连接。
4)PLC 发送给Robot 的数据。数据块编号为DB200,数据块属性中取消“优化的块访问”,定义了长度256 个无符号短整数类型的数组。DB200 的配置,如图3 所示。
5)PLC 接收Robot 的数据。数据块编号为DB201,属性中取消“优化的块访问”,定义了长度256 个无符号短整数类型的数组。DB201 的配置,如图4 所示。
6)使用数据块比变量表更方便监控。使用数据块,可以更方便对变量进行监控,方便数据修改,方便了程序的调试。如果在变量表中新建内部存储器变量M,在线调试时变量表只能监视,还需要在监控表中添加变量后,才可以对变量进行监控和修改变量的数值。
2 工业机器人的配置
1)硬件配置。工业机器人控制柜安装的ABB 标准I/O 板,例如:DSQC651,DSQC651 板可以连接8 个数字输入信号、8 个数字输出和2 个模拟输出信号。本文使用的工业机器人控制柜没有PROFINET 接口,无法进行PROFINET 通信。所以使用网线连接到X2接口,PLC 与工业机器人使用TCP 通信。
2)通信程序,如图5 所示。已新建Socket 套字节soc1,首先使用SocketClose 指令,关闭套接字。再使用SocketCreate 指令,创建新套接字。SocketConnect 指令,连接远程计算机,连接到相应IP 地址和端口的PLC 控制器[5]。
3)定时中断。ITimer 指令,定时中断指令,设定为每秒钟执行一次中断int1。CONNECT 指令,将中断与软中断程序相连,将中断int1 与中断程序sr 相连接。
4)中断错误的处理。IError 中断错误指令,使用TYPE_ALL 指定任意类型,执行中断int2。CONNECT指令,将中断与软中断程序相连,将中断int2 与中断程序err 相连接。中断程序err 将重新连接中断,以恢复定时中断程序。
5)中断程序sr,发送和接收数据,如图6 所示。发送数据SocketSend 指令,向远程计算机发送数据,工业机器人发送给PLC 数据,256 字节的数组ap。接收数据SocketReceive 指令,接收来自远程计算机的数据,工业机器人接收PLC 数据,256 字节的数组pa。
6)中断错误处理程序err,如图7 所示。工业机器人在手动模式调试时,当使能开关松开时,将发生定时中断错误,需要重新触发定时中断以恢复通信。当发生中断错误时,执行中断程序err,首先使用IDelete指令,取消中断,取消中断int1。然后重新建立连接,重新触发定时中断,通信恢复正常。
3 结语
PLC 可以与工业机器人控制柜X2 接口(PC)、X6接口(WAN)进行TCP 通信,连接X2 接口(PC)更方便一下,如果连接到X6 接口(WAN)还需要重启工业机器人系统来完成IP 地址设定。PLC 使用TCP 开放式用户通信,工业机器人主动建立连接,工业机器人使用定时中断来发送和接收数据。如果工业机器人控制柜安装有PROFINET 接口,可以在西门子TIA Portal 博途软件中安装相应的GSD 文件,实现PLC 与工业机器人的PROFINET 通信。