APP下载

螺钉安装机器人控制系统设计与开发*

2022-08-17曲楠李岩杜兆才宋万强

自动化技术与应用 2022年7期
关键词:螺丝刀螺钉编程

曲楠,李岩,杜兆才,宋万强

(1.中国航空研究院,北京 100012;2.中国航空制造技术研究院,北京 100024)

1 引言

导弹作为武器体系中的主要进攻武器之一,在现代化战争中发挥着越来越重要的作用,世界上的主要国家都在不断进行着新型号研发或现役型号改进升级[1]。与此同时,随着战场信息数字化、指挥控制一体化、态势感知网络化、目标定位精确化、后勤保障集成化的发展趋势[2],低成本、高质量、快速、准时、高效智能制造已经成为新一代武器产品生产的重要发展方向。当前国内导弹产品的总装线,主要利用简易工装支撑,采用手工模式完成装配,这种手工总装的生产方式,不但与现代化军工产品的数字化总装生产制造要求极不相称,而且存在质量一致性难控制、安全管控难、装配精度差、工作效率低等问题和弊端[3-4],已经难以满足现代化战争对新一代导弹产品多品种、变批量、快速响应生产制造的需求。

工业机器人具有定位精度高、易编程仿真、操作灵活等特点,结合误差补偿技术、自动控制技术,已经成为优秀的柔性制造平台[5],PLC具有抗干扰能力强、性能稳定、编程灵活、调试简单等优点[6-7],基于PLC 的机器人螺钉安装控制系统结合两者的优点,采用PLC 作为主控,协调工业机器人、送钉器、拧紧螺丝刀控制器等终端设备,实现复杂工件的螺钉安装自动化流程,操作简便无需人工干预,系统参数可配置、全过程可监测,能够显著提高导弹产品的品质一致性和工作效率。

2 系统设计

本文以钛合金舱体样件为加工对象,设计一套机器人自动螺钉安装控制系统,主要包含以下硬件:控制PLC、工业机器人、自动螺丝刀及控制器、激光测距仪、送钉器、传感器/电磁阀等分布式I/O等。系统设计原理是,工业机器人负责末端执行器(含自动螺丝刀)的移动定位、姿态控制和工位切换,送钉器负责螺钉的选送,螺丝刀控制器控制螺钉的抓取、预定位和拧紧等,激光测距仪配合末端执行器实现姿态调整,PLC集成并控制所有设备,编程实现全自动的螺钉安装,集成系统的布局如图1所示。

图1 机器人螺钉安装系统平面图

机器人螺钉安装系统有两种模式:手动模式和自动模式,工作过程中可切换。手动模式可对送钉器、拧紧螺丝刀、机器人的位置和姿态、分布式I/O 等单独控制,用于设备安装和集成、单点测试和故障处理等情形。自动模式则通过编程实现机器人定位、选钉、送钉、取钉、姿态调整和拧钉等操作,用于常规的螺钉安装自动化过程。

根据系统设计和工艺需求,螺钉安装机器人集成系统软件分为三部分:PLC程序、HMI界面和机器人程序。

PLC程序,是系统的控制核心,主要实现PLC、机器人、螺丝刀控制器等设备之间的通讯,姿态调整通用算法,现场数据/状态的采集和处理,报警处理,工艺流程的时序控制等功能。HMI界面,是操作人员与系统交互的主要渠道,工艺参数、设备状态、故障、报警信息等可实时显示,操作人员可通过HMI进行模式切换、故障处理等,控制设备的运行。机器人程序,可编程实现机器人的运动轨迹控制,配置接口模块实现与PLC的数据交互。

3 硬件组态

本文设计的机器人螺钉安装系统,PLC 主站选用德国倍福C6920工业PC,HMI选用倍福CP2919多点触摸屏,工业机器人选用德国库卡KR120 系列机器人,送钉器选用德国德派公司的C0511-EP系列送料机,自动螺丝刀控制器采用德派公司的AST40 型控制器,I/O 分站采用倍福公司的EK1100总线耦合器。

EtherCAT 工业以太网技术是德国倍福公司提出的实时工业以太网总线技术,扩展了IEEE802.3 以太网标准,具备灵活的网络拓扑结构,理论传输速率可达100MBit/s,有效数据率可达90%[8-9]。控制系统将PLC、HMI、机器人、EK1100 分站、送钉器、自动螺丝刀控制器等设备基于EtherCAT 总线进行集成,实现相互间的实时数据通信,上位PLC可直接控制送钉器的启停、气动阀门的开闭,读取激光测距仪的数值并通过控制算法实现末端执行器的姿态调整,通过I/O硬编码实现与螺丝刀控制器的通讯,通过机器人的外部控制接口完成对机器人的控制,集成系统的硬件网络拓扑图见图2。

下面以工业机器人为例,介绍如何进行硬件组态,首先按照图2的方式进行接线,然后打开TwinCAT 3工程文件,TwinCAT 3是倍福公司开发的编程调试一体化集成环境,支持系统配置、运动控制、I/O映射、逻辑/数据运算等功能,在I/O配置处选中“Devices”,点击右键菜单“Scan”,系统扫描到EL6695桥接模块,在“I/O Inputs”和“I/O Outputs”下设置变量的类型与个数,本文采用DWORD类型,输入和输出变量个数均为20,接着打开机器人端的Workvisual 配置软件,连接机器人并读取激活中的工程,在KUKA扩展总线(SYS-X44)中添加EtherCAT分站,根据实际硬件配置I/O模块,在EL6695桥接模块的配置标签页“Slave Settings”设置变量类型和个数,此处的配置要与TwinCAT 3中保持一致,最后在I/O Mapping标签页中设置KUKA系统内部变量($IN[]及$OUT[])与EL6695模块的对应关系,如图3所示,最终完成TwinCAT PLC变量与机器人的系统变量之间的映射,映射路径为PLC 变量EL6695 Slave 侧EL6695 Master 侧机器人内部变量,通讯测试通过后,即可转入软件开发阶段。

图2 机器人螺钉安装系统网络拓扑图

图3 机器人系统变量与EL6695桥接模块的映射

4 软件开发

根据系统总体设计,系统软件要支持手动和自动两种模式,手动模式用来执行单元调试和应急处理等,自动模式则是集成软件的核心部分,详细的螺钉安装流程如下:系统上电,初始化和自检,模式切换,启动外部自动,送钉器送钉,移动至钉盘处取钉,移动至拧钉位,法向调整,启动自动拧钉工序,螺丝刀达到预设拧紧圈数或拧紧力矩后停止拧钉,继续下一个螺钉安装流程,整个过程无需人工干预,操作人员仅在控制台进行监控和急停等强干预措施,详细的工作流程如图4所示。

图4 集成系统螺钉安装自动流程图

PLC、机器人以及其他设备的信号交互基于EtherCAT总线,系统使用的主要交互信号如表1所示。

表1 系统主要的交互信号

在具体的编程实现上,用库卡机器人WorkVisual 软件开发平台编写*.src 机器人程序,主要包含机器人的运动指令和自定义的接口函数,利用离线编程得到机器人的点位及轨迹信息,根据工艺确定机器人与PLC的接口函数,如送钉循环SendScrew()、拧紧循环DriveScrew()等,规划自定义机器人控制字和状态字(见表1)并测试通过。

PLC主程序在TwinCAT 3工业总线环境下进行编写,使用ST(Structured text)结构化文本编程语言。ST语言是为PLC编程设计的支持块状结构(block structured)的高级语言,语法类似C,是IEC 61131-3 标准中支持的几种语言之一,变量及函数调用符合其通用标准,同一个程序中可包含多种符合IEC 61131-3 标准的不同类型语言,ST 语言可以编写梯形图难以实现的复杂计算和控制逻辑,也可通过建立不同的功能块(FB 或FC)方便地实现程序复用。ST 语言也支持面向对象的编程方式,依据高内聚低耦合的设计原则,根据功能规划编写对应的PRG、FB 或FUN 块,由Main主块统一调用,TwinCAT 3 还支持多任务,可将不同的任务分配到不同的CPU 核心进行平行处理,使用系统内置的Case 和IF 指令实现线性自动化流程,运行步数和转换条件理论上不受任何限制,可以设置一个内部标志INT 型变量StageNo,初始为“0”,在里面可进行模块的初始化,使用IF指令判断转换条件Trans00/Trans01 等,若满足条件,将StageNo置为“1”,周期性执行Case指令判断StageNo的值,就可以执行第“1”步,依次类推,就可以实现基于转换条件的顺序工艺流程,详细的程序如下:

HMI界面在Microsoft.NET平台上利用C#语言编写,HMI 和PLC 之间的数据通讯使用TwinCAT ADS 协议[10],网内各软件模块的工作模式类似于硬件设备,ADS 为网内设备之间的通讯提供路由。HMI 主要功能包括手动控制、自动加工、参数设定、外部接口设置、分布式I/O 监控、故障报警、系统日志等模块,软件采用模块化设计的方式编写,具有易维护、可扩展等特点,本文使用的HMI界面如图5所示。

图5 集成控制系统的HMI界面

5 结束语

本文设计一套机器人螺钉安装控制系统,基于Ether-CAT 总线将PLC、HMI、工业机器人、螺丝刀控制器等终端设备集成在一起,完成系统硬件组态和软件开发工作,并在导弹舱体样件上进行试验。结果表明,控制系统完成送钉、取钉、定位、姿态调整、拧钉等工艺流程,实现了螺钉的自动化装配,平均拧紧循环时间约为23秒,效率提升近20%,螺钉装配扭矩一致性良好,工人的工作环境得到改善,安全光栅/急停功能测试有效,设备安全可靠、运行稳定。控制系统采用标准化、模块化设计,可扩展、可复用、通用性强,设计理念可移植到机器人其他应用领域,具有一定的参考价值。

猜你喜欢

螺丝刀螺钉编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
一种浮动不脱出螺钉组件的结构设计与分析*
自制磁性螺丝刀
实用的螺丝刀装置
带螺丝刀的剪刀
空心加压螺钉治疗末节指骨骨折
26例下胫腓螺钉断钉取出临床分析