APP下载

智能制造中S7-1200 PLC与工业机器人的Modbus TCP通信应用*

2022-05-16

新技术新工艺 2022年4期
关键词:发送给卡盘服务端

李 嫄

(广东松山职业技术学院 机械工程学院,广东 韶关 512126)

伴随着第四次工业革命的到来,制造业正向智能化、信息化转型升级[1],为实现设备自动化、生产精益化、管理信息化的先进制造场景,以自动化、数字化、网络化、智能化的管理与控制为主要内容的智能制造应运而生。“智能制造”成为了制造业发展的主要方向[2-3],PLC和工业机器人在智能制造中起到了重要的底层支撑作用。PLC作为智能制造单元生产与管控的中央控制器,发送命令给工业机器人,工业机器人接收来自PLC的命令,执行相应的动作,并将执行状态返回给PLC,PLC根据功能要求处理数据,以实现系统流程的稳定运行。两者之间的高效、稳定数据传输是智能控制的基本要求。

本文研究Modbus TCP协议通信的设置及控制方法。实现两者之间的高效、稳定数据传输,从而达到PLC对工业机器人的控制。

1 智能制造系统分析

本文以全国智能制造应用技术技能大赛平台为研究对象,该赛项聚焦智能制造技术应用实际,使用智能制造单元平台,运用智能制造基础关键技术(数控加工技术、工业机器人技术、工业工程技术、物联网技术、云计算、智能制造系统技术以及数字化设计制造技术等),进行产品的智能加工和生产管控,实现“设备自动化+生产精益化+管理信息化”的先进制造场景;以展现智能制造自动化、数字化、网络化、智能化的管理与控制为主要内容,进行赛项设计,旨在促进智能制造领域高素质复合型技能人才的培养,助推工业企业的数字化转型升级。

在该竞赛平台中,PLC作为总控制器发送命令给工业机器人,因此又称为总控PLC。本文旨在研究该竞赛平台中总控PLC与工业机器人的通信及控制问题。

2 总控PLC与工业机器人交换的数据信息

1)工业机器人发送给总控PLC的信息。

该系统中工业机器人负责完成机床上下料及料仓取放料的工作,机床有车床和铣床之分,因此需要与总控PLC交互的信号送给总控PLC;因RFID读写器安装在工业机器人末端,需要读取RFID位置,因此还需发送RFID位置给总控PLC;同时还需要发送节拍,如机床卡盘状态、机床放料完成、料仓放料完成、机床启动、机床报警、RFID读写完成等信息给总控PLC。工业机器人发送给总控PLC的信息见表1。

表1 工业机器人发送给总控PLC的数据信息

2)总控PLC发送给工业机器人的信息。

总控PLC需要控制工业机器人取放料,因此要发送取料位、放料位、设备号及料仓中放料完成信号给工业机器人;RFID开始读写及读写完成后需要告知工业机器人,因此需要发送RFID开始读写和RFID读写完成信号给工业机器人;机床安全门打开后工业机器人才能工作,同时工业机器人需要知道机床卡盘状态,因此总控PLC需要发送车床安全门状态、加工中心安全门状态、车床卡盘信号、加工中心卡盘信号给工业机器人;如果由触摸屏控制工业机器人,同时要告知工业机器人此时由触摸屏控制,因此需要发送触摸屏命令信号给工业机器人;除此以外,还有外部模式控制信号需要发送给工业机器人,如加载、开始运行、暂停、恢复、自动模式下暂停、暂停、恢复等。总控PLC发送给工业机器人的信息见表2。

表2 总控PLC发送给工业机器人的数据信息

3 通信方式选择

通信方式选择以太网上的Modbus TCP通信[4]。Modbus TCP协议是一个典型的工业控制网络通信协议,是工业生产制造过程中控制器和其他基础设备之间信息交互的载体[5-7],用于在通过网络连接的客户机与服务器之间的通信[8-9]。本项目中总控PLC与工业机器人进行通信时,选择总控PLC作为客户端,工业机器人作为服务器。

4 总控PLC程序设计

本项目中选用的总控PLC为西门子S7-1200系列CPU1215C,总控PLC作为客户端,因此编程时需要选择MB_CLIENT指令。MB_CLIENT指令是Modbus TCP客户端通过S7-1200CPU的Profinet连接完成通信,不需要其他的硬件模块,可以实现客户端与服务器之间的连接,完成数据信息的发送与接收。

MB_CLIENT指令中EN使能端无条件接通;REQ为与Modbus TCP服务端请求通信;DISCONNECT可以控制与Modbus TCP服务端建立或终止连接,0为建立通信连接,1为断开通信连接;CONNECT_ID是用来确定连接的唯一ID;IP_OCTET_1到IP_OCTET_4是用来指定所通信的服务端在以太网中的地址;MB_MODE是通信模式的选择,0表示PLC读服务端信息,1表示PLC写入信息到服务端;MB_DATA_ADDR是指所访问地址的起始地址;DATA_LEN指所访问地址从MB_DATA_ADDR所指定的地址开始的数据长度;MB_DATA_PTR是指向Modbus数据寄存器的指针。总控PLC读取工业机器人的数据通信块如图1所示,总控PLC写入工业机器人的数据通信块如图2所示,两者数据背景块名称应相同。为实现数据交互,应建立一个数据块用于存储从工业机器人接收的数据和发送到工业机器人的数据。此例中数据块命名为DB3,因该块需要绝对寻址,数据块要为非优化的数据块,所以该数据块属性中不勾选“优化的块访问”(见图3),支持绝对寻址。图4所示为总控PLC与工业机器人之间数据传递的信息。

图1 总控PLC读取工业机器人信息程序块

图2 总控PLC写入工业机器人信息程序块

图3 总控PLC与工业机器人之间数据传递的数据块属性

图4 总控PLC与工业机器人之间数据传递的信息

表1中的数据为DB3数据块中“读”的数据,可根据实际需求定义读[1]到读[14]的用途;表2中的数据为DB3数据块中“写”的数据,可根据实际需求定义写[1]到写[16]的内容。图1中的MB_DATA_PTR数据代表从DB3数据块中DBX0.0开始的连续16个字,偏移量从0.0到30.0,共16个字。图2中的MB_DATA_PTR数据代表从DB3数据块中DBX32.0开始的连续16个字,偏移量从32.0到62.0,共16个字。

5 工业机器人程序设计

工业机器人(以华中数控工业机器人为例)将Modbus显示中的输入寄存器IN_REG的值发送给总控PLC,因此在工业机器人的通信程序中将“写”的信息存储在输入寄存器IN_REG中,例如7个轴的坐标值、原点的位置及工业机器人运行中需要反馈给总控PLC的值,即表1中的内容写入到输入寄存器IN_REG中。总控PLC通过Modbus TCP通信从输入寄存器IN_REG中读取信息。

总控PLC通过Modbus TCP通信,将总控PLC发送给工业机器人的信息存放在Modbus显示中的保持寄存器HOLD_REG中,即表2中的内容通过Modbus TCP通信存放在保持寄存器HOLD_REG中。工业机器人从保持寄存器HOLD_REG中读取信息并存放在IR寄存器中。机器人通信部分程序如下:

'工业机器人写部分

IN_REG[1]=A1.PFB '7个轴的坐标值

IN_REG[2]=A2.PFB

IN_REG[3]=A3.PFB

IN_REG[4]=A4.PFB

IN_REG[5]=A5.PFB

IN_REG[6]=A6.PFB

IN_REG[7]=A7.PFB

IN_REG[9]=OIN_REF[1] 安全位参考点

IN_REG[11]=IR[90] '工业机器人运行中

IN_REG[12]=IR[11]

IN_REG[13]=IR[12]

IN_REG[14]=IR[13]

IN_REG[15]=IR[14]

IN_REG[16]=IR[24] '反馈

'工业机器人读部分

IR[15]=HOLD_REG[1]

IR[16]=HOLD_REG[2]

IR[17]=HOLD_REG[3]

IR[18]=HOLD_REG[4]

IR[19]=HOLD_REG[5]

IR[20]=HOLD_REG[6]

IR[21]=HOLD_REG[7]

IR[23]=HOLD_REG[9]

IR[25]=HOLD_REG[10]

IR[26]=HOLD_REG[11]

IR[27]=HOLD_REG[12]

IR[28]=HOLD_REG[13]

IR[29]=HOLD_REG[14]

IR[31]=HOLD_REG[15]

6 结语

在全国智能制造应用技术技能大赛平台中,PLC作为智能制造单元生产与管控的中央控制器,发送命令给工业机器人,工业机器人接收来自总控PLC的命令,执行相应的动作,并将执行状态返回给总控PLC,总控PLC根据功能要求处理数据,以实现系统流程的稳定运行。本文研究的Modbus TCP协议通信设置及控制方法实现了两者之间高效、稳定的数据传输,从而达到总控PLC对工业机器人的控制。

猜你喜欢

发送给卡盘服务端
上学路上好风景
车床三爪卡盘找正组合工具
用三爪自定心卡盘夹持车削偏心工件
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
数控车床三点六爪式卡盘的研制与应用
公告
疯狂猜图之侧颜你猜猜猜
我的录梦机