李芳昕,錢(qián)晨,文珊珊,李超,楊帥,張勇,張春杰
(1.上海航天設(shè)備制造總廠有限公司,上海 200245;2.上海航天工藝與裝備工程技術(shù)研究中心,上海 200245;3.上海宇航系統(tǒng)工程研究所,上海 201109)
打磨拋光是制造業(yè)中一項(xiàng)不可或缺的基礎(chǔ)工序。傳統(tǒng)的打磨拋光一般采用手工的方式,勞動(dòng)強(qiáng)度大、工作環(huán)境惡劣。正因?yàn)槿绱?,近年?lái),我國(guó)打磨拋光行業(yè)的從業(yè)人員急劇減少,“招工難”的現(xiàn)象越來(lái)越普遍。從生產(chǎn)的角度來(lái)看,人工操作還存在生產(chǎn)效率低、產(chǎn)品一致性差等問(wèn)題。在3C行業(yè)、五金家具、醫(yī)療器材、汽車(chē)零部件、小家電、重工行業(yè)、玻璃行業(yè)等,幾乎制造業(yè)的方方面面,打磨拋光機(jī)器人都正迎來(lái)龐大的市場(chǎng)需求。
本文作者針對(duì)不銹鋼方形滅菌器的打磨拋光,以提高自動(dòng)化打磨拋光程度、逐步取代人工操作、降低勞動(dòng)強(qiáng)度、改善作業(yè)環(huán)境為目的,開(kāi)發(fā)了一套自動(dòng)打磨拋光機(jī)器人集成控制系統(tǒng)。
該控制系統(tǒng)采用西門(mén)子PLC作為主控單元,安川機(jī)器人與打磨拋光末端執(zhí)行器作為執(zhí)行單元。其中,安川機(jī)器人與PLC建立Profinet總線通信機(jī)制,同時(shí)基于Qt編程環(huán)境搭建上位機(jī)人機(jī)交互界面,與主控系統(tǒng)PLC采用以太網(wǎng)通信。
打磨拋光裝備主要由機(jī)器人系統(tǒng)、裝夾工裝、導(dǎo)軌傳送系統(tǒng)、自動(dòng)刀具庫(kù)、除塵裝置、電氣控制系統(tǒng)組成。機(jī)器人集成系統(tǒng)包括機(jī)器人本體、機(jī)器人第七軸移動(dòng)平臺(tái)、打磨拋光末端執(zhí)行器、自適應(yīng)力控柔順裝置、快換裝置。導(dǎo)軌傳送系統(tǒng)包括工件直線輸送平臺(tái)、工件回轉(zhuǎn)臺(tái)。工件直線輸送平臺(tái)用于工件的運(yùn)輸;工件回轉(zhuǎn)臺(tái)適用于對(duì)稱(chēng)結(jié)構(gòu)工件的打磨。自動(dòng)刀具庫(kù)用于放置末端執(zhí)行器。電氣控制系統(tǒng)主要對(duì)系統(tǒng)的電、氣進(jìn)行混合控制,實(shí)現(xiàn)各分系統(tǒng)的協(xié)調(diào)動(dòng)作。
自動(dòng)打磨拋光控制流程如圖1所示。
圖1 控制流程
打磨拋光作為兩道工序,結(jié)合不同末端執(zhí)行器分別完成相應(yīng)轉(zhuǎn)速的工藝流程。其中,打磨拋光中末端執(zhí)行器的轉(zhuǎn)速已提前在工藝數(shù)據(jù)庫(kù)中選擇。在打磨拋光過(guò)程中實(shí)時(shí)監(jiān)測(cè)打磨末端執(zhí)行器轉(zhuǎn)速變化,若因故障突然停止,則機(jī)器人運(yùn)動(dòng)暫停,系統(tǒng)報(bào)警。此時(shí),系統(tǒng)需人工干預(yù)檢查并恢復(fù)。
打磨拋光機(jī)器人集成控制方案如圖2所示。
圖2 集成控制方案
系統(tǒng)的所有分系統(tǒng)統(tǒng)一由中控系統(tǒng)PLC實(shí)現(xiàn)協(xié)調(diào)控制,人機(jī)交互界面與PLC之間建立以太網(wǎng)通信,實(shí)現(xiàn)人機(jī)交互操作、安全監(jiān)控與故障診斷處理等功能;機(jī)器人與PLC之間建立Profinet通信,實(shí)現(xiàn)PLC與機(jī)器人之間的交互控制;同時(shí)PLC與運(yùn)動(dòng)系統(tǒng)建立Drive-CLIQ通信,實(shí)現(xiàn)打磨電機(jī)、傳送電機(jī)及機(jī)器人移動(dòng)平臺(tái)的速度、高精度位置控制的需求。
控制系統(tǒng)軟件設(shè)計(jì)包括三部分:PLC控制軟件設(shè)計(jì)、機(jī)器人軟件設(shè)計(jì)、上位機(jī)人機(jī)交互界面設(shè)計(jì)。PLC控制軟件設(shè)計(jì)主要完成與上位機(jī)人機(jī)交互界面、機(jī)器人、打磨電機(jī)的數(shù)據(jù)采集、數(shù)據(jù)交互、邏輯控制等功能;機(jī)器人軟件設(shè)計(jì)主要完成與PLC的數(shù)據(jù)交互;上位機(jī)人機(jī)交互界面主要完成設(shè)備功能操作、監(jiān)控設(shè)備狀態(tài)、對(duì)異常狀態(tài)的記錄與報(bào)警等功能。
PLC與機(jī)器人建立Profinet總線通信,在PLC的網(wǎng)絡(luò)組態(tài)界面,將機(jī)器人Profinet通信基板的GSD文件導(dǎo)入進(jìn)行Ethernet配置,配置成功后,PLC與機(jī)器人間以字節(jié)形式通信,地址一一對(duì)應(yīng)。
PLC與上位機(jī)人機(jī)交互界面采用TCP/IP通信,利用PLC提供的以太網(wǎng)通信庫(kù)LCom,建立PLC與外部以太網(wǎng)設(shè)備的數(shù)據(jù)點(diǎn)與數(shù)據(jù)點(diǎn)的連續(xù)傳輸。
PLC與打磨電機(jī)通過(guò)Profinet總線通信,組態(tài)方式同機(jī)器人,通過(guò)設(shè)置PKW、PZD實(shí)現(xiàn)通信。
安川機(jī)器人與外部設(shè)備之間的通信是通過(guò)并行IO實(shí)現(xiàn)的。并行IO是和機(jī)器人動(dòng)作獨(dú)立或與機(jī)器人的動(dòng)作并行,處理機(jī)器人控制器的輸入輸出。輸入輸出信號(hào)的分類(lèi)如表1所示。
表1 安川機(jī)器人輸入輸出分類(lèi)
以外部控制機(jī)器人主程序調(diào)出與機(jī)器人伺服開(kāi)啟狀態(tài)反饋為例,并行IO編程如下:
STR #20070 //外部輸入
OUT #40070 //主程序調(diào)用專(zhuān)用輸入
STR #50073 //機(jī)器人伺服ON專(zhuān)用輸出
OUT #30070 //外部輸出
控制系統(tǒng)采用Qt作為上位機(jī)人機(jī)交互界面軟件開(kāi)發(fā)框架,利用其豐富的信號(hào)與槽以及各封裝機(jī)制進(jìn)行界面開(kāi)發(fā)。
文中上位機(jī)人機(jī)交互界面與PLC采用TCP/IP通信方式。上位機(jī)作為客戶端,PLC作為服務(wù)器,網(wǎng)絡(luò)交互流程如圖3所示。
圖3 網(wǎng)絡(luò)交互流程
控制系統(tǒng)上電啟動(dòng),PLC啟動(dòng)進(jìn)入網(wǎng)絡(luò)監(jiān)聽(tīng)模式,上位機(jī)啟動(dòng),打開(kāi)網(wǎng)絡(luò)通信界面,初始化套接字,發(fā)送建立連接信號(hào)至PLC;PLC接收到客戶端接入,發(fā)送連接成功信號(hào)至上位機(jī)。至此,PLC與上位機(jī)間建立了可靠的TCP/IP通信連接,從而建立了數(shù)據(jù)的交互傳遞機(jī)制。
根據(jù)自動(dòng)加工流程與操作對(duì)象分類(lèi),文中的人機(jī)交互界面采用模塊化的方式進(jìn)行設(shè)計(jì),特點(diǎn)在于各部分功能模塊的顯示條理清晰,便于用戶操作管理。
打磨拋光控制系統(tǒng)人機(jī)交互界面主要由4個(gè)功能模塊組成,分別為手動(dòng)模式、自動(dòng)模式、參數(shù)模式、診斷模式。手動(dòng)模式包含系統(tǒng)中所有單獨(dú)元器件的操作,便于用戶調(diào)試。自動(dòng)模式界面調(diào)用機(jī)器人自動(dòng)程序與設(shè)計(jì)好的自動(dòng)打磨拋光程序,并能隨時(shí)暫停、繼續(xù)與強(qiáng)行中止機(jī)器人程序。參數(shù)模式中對(duì)粗加工、精加工、拋光工序中用到的工件材料、表面粗糙度,砂帶品牌、砂帶顆粒度、砂帶線速度、法向壓力、進(jìn)給速度進(jìn)行統(tǒng)計(jì)與管理,提供記錄和查詢(xún)的功能,方便工藝人員對(duì)工藝參數(shù)的數(shù)據(jù)管理。診斷模式中包括報(bào)警數(shù)據(jù)庫(kù)、打磨時(shí)間數(shù)據(jù)庫(kù)與報(bào)警解除操作。報(bào)警記錄方便操作人員查看系統(tǒng)狀態(tài),打磨時(shí)間數(shù)據(jù)庫(kù)主要記錄砂帶壽命,方便工藝人員對(duì)選用物料進(jìn)行統(tǒng)計(jì)管理。
該套控制系統(tǒng)中界面“參數(shù)模式”和“診斷模式”中涉及數(shù)據(jù)庫(kù)管理設(shè)計(jì),共設(shè)計(jì)了4個(gè)數(shù)據(jù)庫(kù),分別為工藝數(shù)據(jù)庫(kù)、報(bào)警數(shù)據(jù)庫(kù)、打磨時(shí)間記錄數(shù)據(jù)庫(kù)、砂帶壽命數(shù)據(jù)庫(kù)。
系統(tǒng)采用SQLite輕型數(shù)據(jù)庫(kù)技術(shù)對(duì)數(shù)據(jù)進(jìn)行管理。SQLite數(shù)據(jù)庫(kù)是一個(gè)輕量級(jí)的關(guān)系數(shù)據(jù)庫(kù),占用極小的空間,可存儲(chǔ)多達(dá)2 TB的數(shù)據(jù)量。Qt中的QtSql庫(kù)模塊提供了對(duì)數(shù)據(jù)庫(kù)的支持,其中QSqlDatabase類(lèi)用來(lái)創(chuàng)建連接,QSqlQuery類(lèi)用來(lái)使用SQL語(yǔ)句實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互,QSqlTableModel 提供了基于SQL查詢(xún)的只讀模型,只需更改數(shù)據(jù)模型即可移植數(shù)據(jù)存儲(chǔ)格式。
以工藝數(shù)據(jù)庫(kù)為例,工藝數(shù)據(jù)庫(kù)的建立框圖如圖4所示。
圖4 工藝數(shù)據(jù)庫(kù)的建立框圖
(1)創(chuàng)建名為grinding的打磨工藝數(shù)據(jù)庫(kù)。
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("grinding.db");
(2)創(chuàng)建工藝表,插入ID、粗精拋光加工砂帶品牌、粗精拋光加工砂帶顆粒度、粗精拋光加工砂帶線速度、粗精拋光加工法向壓力、粗精拋光加工砂帶進(jìn)給速度、粗精拋光加工金屬材料、粗精拋光加工粗糙度共22個(gè)字段。數(shù)據(jù)庫(kù)執(zhí)行以下程序:
QSqlQuery query;
query.exec(QString("create table grinding(id int primary key,harshbrand varchar,harshparticle varch-ar,……)"));
(3)插入工藝數(shù)據(jù)。在參數(shù)模式的“更新”菜單欄中依次填入各工藝參數(shù)并點(diǎn)擊“添加”按鈕時(shí),如圖5所示,數(shù)據(jù)庫(kù)執(zhí)行以下程序:
圖5 “參數(shù)模式”數(shù)據(jù)庫(kù)操作界面
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)在參數(shù)模式的“查詢(xún)”菜單欄中點(diǎn)擊“查詢(xún)”按鈕,將會(huì)按照輸入的金屬材料和粗糙度進(jìn)行查詢(xún)。數(shù)據(jù)庫(kù)執(zhí)行以下程序:
//選擇符合條件的工藝數(shù)據(jù),粗加工、精加工、拋光任意工序符合條件均篩選
model->setFilter(QString("1=1 and harshroughness <=′%1′ and harshmaterial=′%2′ or ……").arg(ui->roughnessLineEdit->text()).arg(ui->checkMaterialComboBox->currentText())……);
model->select();
(5)對(duì)已存在數(shù)據(jù)記錄條目中的數(shù)值修改后,點(diǎn)擊“修改”按鈕對(duì)數(shù)據(jù)進(jìn)行保存。數(shù)據(jù)庫(kù)執(zhí)行以下程序:
model->database().transaction();
if(model->submitAll()){model->database().commit();}else{model->database().rollback(); QMessageBox::warning(this,tr("tableModel"),
tr("數(shù)據(jù)庫(kù)錯(cuò):%1").arg(model->lastError().text()));}
(6)選中一行數(shù)據(jù)記錄點(diǎn)擊“刪除選中行”按鈕,將刪除該條記錄。數(shù)據(jù)庫(kù)執(zhí)行以下程序:
QItemSelectionModel *selections = ui->tableView_parametersdatabase->selectionModel();
QModelIndexList selecteds =selections->selectedIndexes();
foreach(QModelIndex index,selecteds){
int curRow = index.row();
model->removeRow(curRow);}
該套控制系統(tǒng)可實(shí)現(xiàn)手動(dòng)調(diào)試和自動(dòng)加工,可實(shí)現(xiàn)各組成單元的單獨(dú)調(diào)試運(yùn)動(dòng),可以實(shí)時(shí)監(jiān)測(cè)加工狀態(tài)和各組成單元的位置和運(yùn)動(dòng)狀態(tài),可記錄系統(tǒng)報(bào)警以及各型號(hào)砂帶打磨的累積時(shí)間。整套設(shè)備配有打磨房,隔絕噪聲與污染。該套設(shè)備不僅可以提高打磨效率和時(shí)間,提高打磨質(zhì)量,且可以降低噪聲與粉塵對(duì)人體的傷害。
該控制系統(tǒng)自投產(chǎn)以來(lái),一直處于高效穩(wěn)定的24 h持續(xù)運(yùn)行狀態(tài),操作工人反響良好,大大提高了生產(chǎn)率,充分驗(yàn)證了該套自動(dòng)打磨拋光機(jī)器人集成控制系統(tǒng)是性能可靠的控制系統(tǒng)。系統(tǒng)不僅自動(dòng)化程度較高,而且操作簡(jiǎn)單,通用性強(qiáng),具有較高的推廣價(jià)值和發(fā)展前景。