黄楷歌,郭树青,文 猛,岳玲玲
(1.河南机电职业学院,河南郑州 451192;2.宇通客车股份有限公司,河南郑州 450000)
工业机器人作为主控制系统,需要与底层设备PLC 进行通信,目前智能生产线控制的思路:主站通过PLC 向工业机器人发送信号,工业机器人接收信号并执行任务,完成任务后向PLC发送反馈信息。PROFINET 通信依靠自身优势,有效保证了PLC与工业机器人之间的数据传输的高效性和稳定性。
PROFINET 是一种基于以太网标准的工业通信模式,具有可靠的实时性、强大的抗干扰性、高速低成本等优点,是极具竞争力的自动化现场总线。PROFINET 分为PROFINET IO 和PROFINET CBA 两种。其中,PROFINET IO 用于分布式IO 自动化控制系统,有效实现多个节点之间并行传输数据,大大提高了传输速率。
PROFINET IO 系统由IO 控制器、IO 设备及IO 监视器3个部分组成:①IO 控制器:PROFINET IO 系统的主站,执行自动化控制任务,同时与连接的现场IO 设备通过输入和输出信号实现数据交换;②IO 设备:PROFINET IO 系统的从站,指一个或多个分布式现场设备,例如:远程IO、机器人等;③IO 监视器:用于调试、监视及诊断的编程设备、HMI 设备及PC 机。
智能生产线基料上料站,通过西门子PLC S7-1200(CPU 1215C)主站发送信号,KUKA 机器人(KR3 R540)接收信号,将物料从基料盘搬运至AGV 小车送往下一站,等待接收PLC 信号。阐述S7-1200 与KUKA 机器人之间的PROFINET IO 通信配置。
PROFINET IO 总线通信时,组态第三方设备时需要安装对应设备的GSD 文件。生产商基于标准通信接口开发对应的GSD文件,包括生产厂商和设备的名称、硬件和软件的版本状况等,保证了不同设备之间可以灵活进行PROFINET 通信。
(1)在博途软件中新建一个项目并打开,点击上方的菜单栏中的“选项”>“管理通用站描述文件”安装KUKA 机器人GSD 文件(图1)。
图1 安装GSD 文件
(2)安装成功后,在右侧的“硬件目录”>“其他现场设备”>“PROFINET IO”>“I/O”>“KUKA Roboter GmbH”选择“KRC4-ProfiNet_3.3”双击添加到“网络视图”界面。
3)联合速度控制能够有效降低车辆制动的热量集聚和工作温度,防止制动器的热衰退和高温磨损,有效保护车辆制动器,延长刹车片更换里程,降低了人员的工作强度。
(3)先点击刚添加的“KRC4”的图标,然后点击下方菜单栏中的“属性”>“PROFINET 接口[X1]”>“以太网地址”将KUKA硬件组件分配到PROFINET 子网中。
(4)修改下面的“IP 协议”中的IP 地址,保证和PLC 地址在同一子网且不冲突。在“PROFINET”中选择“自动生成PROFINET设备名称”,自动生成的设备名称为“KPC4”,修改IP 地址(图2)。
图2 修改IP 地址
(5)双击“KRC4”的图标进入KUKA 硬件组件的“设备视图”,点击右侧的“设备数据”并展开。在这里可以设置PLC 与KUKA机器人之间PROFINET 通信IO 地址。
(6)删除64 个安全IO。按照以上步骤设置完成后重新编译下载到PLC。这时下载完成后PLC 因为机器人端的PROFINET通信配置还没有完成,提示下位组件错误而亮红灯报错。
KUKA 机器人的PROFINET 通信配置需要借助KUKA 的线下编程软件WorkVisual,它集合了配置、编程、调试和诊断等多种功能。
(1)将编程的电脑、PLC、机器人设置成同一网段。双击WorkVisual 图标,在弹出的“WorkVisual 项目浏览器”中点击“搜索”,搜索到项目后点击右下角“打开”。
(2)打开项目后,在左侧的“项目结构”中选择打开的项目右键“设为激活的控制系统”,在展开的目录中右键“总线结构”点添加,在弹出的窗口里选择“PROFINET”点击“OK”。
(3)双击左侧刚添加的“PROFINET”。因为在PLC 添加的KUKA 硬件组件中删除了安全IO,所以“Number of safe I/Os”中选择“0”,下面的“Number of IOs”与PLC 中保持一致为“256”。按照说明对PROFINET 进行设置,其他保持默认。最后点击“OK”。
(4)在界面的左侧栏中选择“数字输入端”或者“数字输出端”,右侧栏中点击上方的“现场总线”然后选择“PROFINET”进行信号的映射,注意输入(IN)对输入(Input)、输出(OUT)对输出(Output)。
(5)映射完信号后,首先点击右上方功能栏中的“生产代码”,接着点击“安装”下载到机器人。
完成S7-1200 与KUKA 机器人之间的PROFINET IO 通信配置,然后进行通信信号的确认工作,保证PLC 与机器人之间能正常实现数据交换。
(1)PLC 的输出(OUT)对应机器人侧的输入(IN),PLC 输入(IN)对应机器人侧的输出(OUT)。机器人的信号按照顺序依次排列,PLC 侧的信号给定的地址头自动生成地址尾一共256位(bit)。假设给定的PLC 这边的输入、输出地址头都是22(即从I22.0、Q22.0 开始),则机器人输入信号$IN[1]~$IN[7]分别对应PLC 输出信号Q22.0~Q22.6,则PLC 输入信号I22.0~I22.6 分别对应机器人输出信号$OUT[1]~ $OUT[7],以此类推。
(2)在机器人示教器上,可以在主菜单中选择“显示”>“输入/输出端”>选择“数字输入”或者“输出端”来监控、置位/复位输入输出。
首先KUKA 机器人需要安装PROFINET 软件包,然后完成PLC 与机器人的通信配置。设置完成后将配置文件下载到机器人柜进行更新,然后对PLC 和机器人进行通信测试。根据设置的映射地址,机器人强制输入信号IN[1]在博图中在线查看PLC输出信号Q22.0 是否接收到,反过来PLC 强制输入信号I22.0 看机器人端输出信号OUT[1]能否接收到,收发测试正常说明组态成功,通信调试完成。
案例:某智能生产线基料上料站,料盘在伸出位时按下设备上的“启动”按钮,PLC 给机器人$IN[7]“机器人取料”信号,机器人先去料盘利用气爪上的物料传感器$IN[11]检测取料位是否有料,检测到物料并取料放到一个固定位置,未检测到物料机器人移动至下一位置取料检测,直到检测到物料或者料盘无料缩回。
PLC 程序设计是在博图V15 环境下完成,PLC 给机器人取料信号($IN[7]),当机器人抓取物料快上到安全点后,发送取料完成信号($OUT[7]),将PLC 给的取料信号复位掉,S7-1200 LAD 程序如图3 所示。
图3 S7-1200 LAD 程序
在编写类似的程序时,根据程序的功能和机器人的动作可以将程序划分成一个个子程序,方便编写和调取。料盘上一共有12 个取料位置。将1 号位置取料的子程序命名为Pos_1()、2 号位置取料的子程序命名为Pos_2(),以此类推12 号位置取料的子程序命名为Pos_12()。
机器人等待PLC 发送的取料信号$IN[7],若传感器$IN[11]检测到有料,则通过发送有料信号,机器人进行取料,完成后向PLC反馈取料完成信号$OUT[7];若物料,则运动到下一个取料位置。根据程序设置取料顺序进行取料,取料位置1 为例,主要代码如下:
编写好程序逻辑架构,然后通过示教器对取料、等待、放料等工位逐一示教,示教完成后在低速空载下对自动程序进行验证,保证PLC 与机器人之间的信号正常通信和示教点的合理性,并随时修改不合适的示教点。反复测试无误后带载测试,料盘各取料位置都带料测试,验证无误后调试完成。
PROFINET 通信具有实时性、安全性、低故障的特性,广泛运用于环境恶劣的工业现场。基于智能生产线基料上料站,介绍了西门子PLC S7-1200 与KUKA 机器人之间的PROFINET 通信配置与调试方法。