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