方形灭菌器自动打磨抛光机器人控制系统设计
2022-09-20李芳昕钱晨文珊珊李超杨帅张勇张春杰
李芳昕,钱晨,文珊珊,李超,杨帅,张勇,张春杰
(1.上海航天设备制造总厂有限公司,上海 200245;2.上海航天工艺与装备工程技术研究中心,上海 200245;3.上海宇航系统工程研究所,上海 201109)
0 前言
打磨抛光是制造业中一项不可或缺的基础工序。传统的打磨抛光一般采用手工的方式,劳动强度大、工作环境恶劣。正因为如此,近年来,我国打磨抛光行业的从业人员急剧减少,“招工难”的现象越来越普遍。从生产的角度来看,人工操作还存在生产效率低、产品一致性差等问题。在3C行业、五金家具、医疗器材、汽车零部件、小家电、重工行业、玻璃行业等,几乎制造业的方方面面,打磨抛光机器人都正迎来庞大的市场需求。
本文作者针对不锈钢方形灭菌器的打磨抛光,以提高自动化打磨抛光程度、逐步取代人工操作、降低劳动强度、改善作业环境为目的,开发了一套自动打磨抛光机器人集成控制系统。
该控制系统采用西门子PLC作为主控单元,安川机器人与打磨抛光末端执行器作为执行单元。其中,安川机器人与PLC建立Profinet总线通信机制,同时基于Qt编程环境搭建上位机人机交互界面,与主控系统PLC采用以太网通信。
1 打磨抛光装备结构及控制流程设计
1.1 装备结构概要
打磨抛光装备主要由机器人系统、装夹工装、导轨传送系统、自动刀具库、除尘装置、电气控制系统组成。机器人集成系统包括机器人本体、机器人第七轴移动平台、打磨抛光末端执行器、自适应力控柔顺装置、快换装置。导轨传送系统包括工件直线输送平台、工件回转台。工件直线输送平台用于工件的运输;工件回转台适用于对称结构工件的打磨。自动刀具库用于放置末端执行器。电气控制系统主要对系统的电、气进行混合控制,实现各分系统的协调动作。
1.2 控制流程设计
自动打磨抛光控制流程如图1所示。
图1 控制流程
打磨抛光作为两道工序,结合不同末端执行器分别完成相应转速的工艺流程。其中,打磨抛光中末端执行器的转速已提前在工艺数据库中选择。在打磨抛光过程中实时监测打磨末端执行器转速变化,若因故障突然停止,则机器人运动暂停,系统报警。此时,系统需人工干预检查并恢复。
2 集成控制系统设计
打磨抛光机器人集成控制方案如图2所示。
图2 集成控制方案
系统的所有分系统统一由中控系统PLC实现协调控制,人机交互界面与PLC之间建立以太网通信,实现人机交互操作、安全监控与故障诊断处理等功能;机器人与PLC之间建立Profinet通信,实现PLC与机器人之间的交互控制;同时PLC与运动系统建立Drive-CLIQ通信,实现打磨电机、传送电机及机器人移动平台的速度、高精度位置控制的需求。
3 控制系统软件关键技术
控制系统软件设计包括三部分:PLC控制软件设计、机器人软件设计、上位机人机交互界面设计。PLC控制软件设计主要完成与上位机人机交互界面、机器人、打磨电机的数据采集、数据交互、逻辑控制等功能;机器人软件设计主要完成与PLC的数据交互;上位机人机交互界面主要完成设备功能操作、监控设备状态、对异常状态的记录与报警等功能。
3.1 PLC控制软件设计
PLC与机器人建立Profinet总线通信,在PLC的网络组态界面,将机器人Profinet通信基板的GSD文件导入进行Ethernet配置,配置成功后,PLC与机器人间以字节形式通信,地址一一对应。
PLC与上位机人机交互界面采用TCP/IP通信,利用PLC提供的以太网通信库LCom,建立PLC与外部以太网设备的数据点与数据点的连续传输。
PLC与打磨电机通过Profinet总线通信,组态方式同机器人,通过设置PKW、PZD实现通信。
3.2 机器人软件设计
安川机器人与外部设备之间的通信是通过并行IO实现的。并行IO是和机器人动作独立或与机器人的动作并行,处理机器人控制器的输入输出。输入输出信号的分类如表1所示。
表1 安川机器人输入输出分类
以外部控制机器人主程序调出与机器人伺服开启状态反馈为例,并行IO编程如下:
STR #20070 //外部输入
OUT #40070 //主程序调用专用输入
STR #50073 //机器人伺服ON专用输出
OUT #30070 //外部输出
3.3 上位机人机交互界面
控制系统采用Qt作为上位机人机交互界面软件开发框架,利用其丰富的信号与槽以及各封装机制进行界面开发。
文中上位机人机交互界面与PLC采用TCP/IP通信方式。上位机作为客户端,PLC作为服务器,网络交互流程如图3所示。
图3 网络交互流程
控制系统上电启动,PLC启动进入网络监听模式,上位机启动,打开网络通信界面,初始化套接字,发送建立连接信号至PLC;PLC接收到客户端接入,发送连接成功信号至上位机。至此,PLC与上位机间建立了可靠的TCP/IP通信连接,从而建立了数据的交互传递机制。
根据自动加工流程与操作对象分类,文中的人机交互界面采用模块化的方式进行设计,特点在于各部分功能模块的显示条理清晰,便于用户操作管理。
打磨抛光控制系统人机交互界面主要由4个功能模块组成,分别为手动模式、自动模式、参数模式、诊断模式。手动模式包含系统中所有单独元器件的操作,便于用户调试。自动模式界面调用机器人自动程序与设计好的自动打磨抛光程序,并能随时暂停、继续与强行中止机器人程序。参数模式中对粗加工、精加工、抛光工序中用到的工件材料、表面粗糙度,砂带品牌、砂带颗粒度、砂带线速度、法向压力、进给速度进行统计与管理,提供记录和查询的功能,方便工艺人员对工艺参数的数据管理。诊断模式中包括报警数据库、打磨时间数据库与报警解除操作。报警记录方便操作人员查看系统状态,打磨时间数据库主要记录砂带寿命,方便工艺人员对选用物料进行统计管理。
4 数据库管理设计
该套控制系统中界面“参数模式”和“诊断模式”中涉及数据库管理设计,共设计了4个数据库,分别为工艺数据库、报警数据库、打磨时间记录数据库、砂带寿命数据库。
系统采用SQLite轻型数据库技术对数据进行管理。SQLite数据库是一个轻量级的关系数据库,占用极小的空间,可存储多达2 TB的数据量。Qt中的QtSql库模块提供了对数据库的支持,其中QSqlDatabase类用来创建连接,QSqlQuery类用来使用SQL语句实现与数据库的交互,QSqlTableModel 提供了基于SQL查询的只读模型,只需更改数据模型即可移植数据存储格式。
以工艺数据库为例,工艺数据库的建立框图如图4所示。
图4 工艺数据库的建立框图
(1)创建名为grinding的打磨工艺数据库。
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("grinding.db");
(2)创建工艺表,插入ID、粗精抛光加工砂带品牌、粗精抛光加工砂带颗粒度、粗精抛光加工砂带线速度、粗精抛光加工法向压力、粗精抛光加工砂带进给速度、粗精抛光加工金属材料、粗精抛光加工粗糙度共22个字段。数据库执行以下程序:
QSqlQuery query;
query.exec(QString("create table grinding(id int primary key,harshbrand varchar,harshparticle varch-ar,……)"));
(3)插入工艺数据。在参数模式的“更新”菜单栏中依次填入各工艺参数并点击“添加”按钮时,如图5所示,数据库执行以下程序:
图5 “参数模式”数据库操作界面
QSqlTableModel *model;
model = new QSqlTableModel(this);
QSqlQuery query;
query.prepare("insert into grinding(id,harshbrand,harshparticle,……)values(:id,:harshbrand,:harshparticle,……)");
//获取控件的输入值
int idValue = ui->idLineEdit->text().toInt();
QString harshbrandValue = ui->harshBrandComboBox->currentText();
QString harshparticleValue = ui->harshParticleSizeComboBox->currentText();
//绑定值
query.bindValue(":id",idValue);
query.bindValue(":harshbrand",harshbrandValue);
query.bindValue(":harshparticle",arshparticleValue);
query.exec();
model->select();
(4)在参数模式的“查询”菜单栏中点击“查询”按钮,将会按照输入的金属材料和粗糙度进行查询。数据库执行以下程序:
//选择符合条件的工艺数据,粗加工、精加工、抛光任意工序符合条件均筛选
model->setFilter(QString("1=1 and harshroughness <=′%1′ and harshmaterial=′%2′ or ……").arg(ui->roughnessLineEdit->text()).arg(ui->checkMaterialComboBox->currentText())……);
model->select();
(5)对已存在数据记录条目中的数值修改后,点击“修改”按钮对数据进行保存。数据库执行以下程序:
model->database().transaction();
if(model->submitAll()){model->database().commit();}else{model->database().rollback(); QMessageBox::warning(this,tr("tableModel"),
tr("数据库错:%1").arg(model->lastError().text()));}
(6)选中一行数据记录点击“删除选中行”按钮,将删除该条记录。数据库执行以下程序:
QItemSelectionModel *selections = ui->tableView_parametersdatabase->selectionModel();
QModelIndexList selecteds =selections->selectedIndexes();
foreach(QModelIndex index,selecteds){
int curRow = index.row();
model->removeRow(curRow);}
5 结束语
该套控制系统可实现手动调试和自动加工,可实现各组成单元的单独调试运动,可以实时监测加工状态和各组成单元的位置和运动状态,可记录系统报警以及各型号砂带打磨的累积时间。整套设备配有打磨房,隔绝噪声与污染。该套设备不仅可以提高打磨效率和时间,提高打磨质量,且可以降低噪声与粉尘对人体的伤害。
该控制系统自投产以来,一直处于高效稳定的24 h持续运行状态,操作工人反响良好,大大提高了生产率,充分验证了该套自动打磨抛光机器人集成控制系统是性能可靠的控制系统。系统不仅自动化程度较高,而且操作简单,通用性强,具有较高的推广价值和发展前景。