馬 帥,李 行,李 波,鄒光明,趙 林
(1.武漢科技大學(xué)冶金裝備及其控制教育部重點(diǎn)實(shí)驗(yàn)室,武漢 430081;2.湖北文理學(xué)院機(jī)械工程學(xué)院,湖北 襄陽 441053;3.襄陽華中科技大學(xué)先進(jìn)制造工程研究院,湖北 襄陽 441053;4.湖北航天信息技術(shù)有限公司,武漢 430050)
去毛刺工藝是機(jī)械加工過程中不可忽視的一個(gè)步驟,毛刺會(huì)對(duì)零件的裝配精度、使用要求、再加工定位和操作安全等方面產(chǎn)生不良影響,導(dǎo)致機(jī)械整個(gè)系統(tǒng)工作性能下降,可靠性、穩(wěn)定性大大降低[1-3]。
Rajagopalan R等[4]通過傳感器探測(cè)毛刺位置,能夠較好地實(shí)現(xiàn)毛刺的精確清理; Lee M C等[5]對(duì)機(jī)器人的控制方式和軌跡規(guī)劃進(jìn)行了相關(guān)研究,并開發(fā)了一款5自由度打磨機(jī)器人;此外,Zielinski C等[6]也對(duì)機(jī)器人毛刺清理打磨做了相關(guān)研究,通過研究機(jī)器人打磨過程中的控制算法,實(shí)現(xiàn)自動(dòng)化清理,但由于成本較高難以推廣使用。
當(dāng)前企業(yè)采取的多為砂槍和往復(fù)銼等工具進(jìn)行清理,該方法效率低下、用人成本較高、長(zhǎng)時(shí)間工作對(duì)人體損傷較大且難以保證質(zhì)量[7-8]。
針對(duì)實(shí)際加工情況,研制了一種自動(dòng)化毛刺清理打磨專機(jī),能夠?qū)崿F(xiàn)大批量加工,解決去毛刺效率低下、加工質(zhì)量不高的問題。
多臺(tái)自動(dòng)化毛刺清理打磨專機(jī)聯(lián)動(dòng)運(yùn)行,同步加工時(shí),工件產(chǎn)值往往十分巨大。大批量加工時(shí),實(shí)時(shí)監(jiān)控每個(gè)工件加工狀態(tài),對(duì)產(chǎn)品送檢,合格性審查都十分重要;毛刺清理打磨專機(jī)自動(dòng)化程度較高,沒有人力參與,因此故障診斷、識(shí)別、排查難度也同樣較高,在現(xiàn)有自動(dòng)化專機(jī)的基礎(chǔ)上進(jìn)行適合毛刺清理設(shè)備組網(wǎng)監(jiān)控技術(shù)的研究,針對(duì)毛刺清理設(shè)備控制終端的連接屬性,分別設(shè)計(jì)了基于I/O點(diǎn)采集、以及以太網(wǎng)直接通信的兩種狀態(tài)采集方式,并統(tǒng)一通過交換機(jī),與監(jiān)控上位機(jī)組成局域網(wǎng),通過在相鄰工位動(dòng)作信號(hào)間定時(shí)判斷,作為設(shè)備故障診斷的依據(jù);并基于采集到的I/O信號(hào),實(shí)現(xiàn)工件加工狀態(tài)實(shí)時(shí)監(jiān)控。僅通過外接采集模塊獲取I/O信號(hào),即可同時(shí)實(shí)現(xiàn)設(shè)備的故障診斷和工件加工狀態(tài)實(shí)時(shí)監(jiān)控。采用C++語言基于QT 5.9.8的開發(fā)環(huán)境,開發(fā)了上位機(jī)監(jiān)控系統(tǒng),實(shí)現(xiàn)了毛刺清理設(shè)備組狀態(tài)采集、故障診斷的自動(dòng)化,并為車間現(xiàn)場(chǎng)管理提供歷史基礎(chǔ)數(shù)據(jù)。
毛刺清理打磨設(shè)備實(shí)物如圖1所示,包括5個(gè)工位:孔位檢測(cè)、裝夾、鉆孔、去毛刺。數(shù)控系統(tǒng)硬件平臺(tái)基于華中數(shù)控公司的華中8型系統(tǒng),該系統(tǒng)釆用模塊化、放式體系結(jié)構(gòu),屬于新一代全數(shù)字總線式數(shù)控系統(tǒng)[9-10]。
硬件控制方案設(shè)計(jì)主要包括電機(jī)選型和供電系統(tǒng)設(shè)計(jì)。采用交流伺服電機(jī)控制X、Y、Z、A、B、C,6個(gè)方向的運(yùn)動(dòng);軟件控制方案設(shè)計(jì)包括PLC的I/O分配和梯形圖設(shè)計(jì)。華中8型數(shù)控系統(tǒng)PLC采用Ladder和STL(Step Ladder Instruction)編程語言繪制PLC程序。
圖1 毛刺清理打磨設(shè)備實(shí)物圖
華中數(shù)控為全數(shù)字總線式高檔數(shù)控系統(tǒng),采用模塊化開放式體系結(jié)構(gòu),具備面向數(shù)字化車間網(wǎng)絡(luò)通信能力,其提供的以太網(wǎng)通訊模塊,以其低成本、高穩(wěn)定和可靠性和支持技術(shù)成熟的優(yōu)點(diǎn)而被廣泛采用[11-13]。
但前期研制的毛刺清理設(shè)備控制終端為華中8型數(shù)控系統(tǒng),由于選型關(guān)系,導(dǎo)致其以太網(wǎng)模塊不能升級(jí),難以與上位機(jī)監(jiān)控系統(tǒng)通信,由此可采用擴(kuò)展采集模塊形式,每臺(tái)加工單元配備一個(gè)采集終端,與數(shù)控系統(tǒng)PLC連接,采集I/O信息,采集終端與上位機(jī)之間通過以太網(wǎng)連接。
針對(duì)以上兩種情況,系統(tǒng)總體設(shè)計(jì)方案如圖2所示。
圖2 監(jiān)控系統(tǒng)網(wǎng)絡(luò)設(shè)計(jì)方案
數(shù)控系統(tǒng)與上位機(jī)直接通過以太網(wǎng)通訊,需要對(duì)數(shù)控系統(tǒng)進(jìn)行二次開發(fā)。上位機(jī)診斷系統(tǒng)采用Windows桌面應(yīng)用程序開發(fā),通過以太網(wǎng)收集交換機(jī)采集到的信息,從而組建加工單元信息采集網(wǎng)絡(luò)監(jiān)控平臺(tái)。
上位機(jī)系統(tǒng)獲取設(shè)備狀態(tài)信息流程如圖3所示。上位機(jī)系統(tǒng)在設(shè)置本機(jī)IP地址后,初始化TCP通訊方式,綁定本機(jī)IP地址和端口,創(chuàng)建Socket端口,打開監(jiān)聽,等待采集模塊客戶端連接。當(dāng)客戶端與上位機(jī)服務(wù)器端建立連接后,客戶端發(fā)送PLC I/O信息,再由上位機(jī)系統(tǒng)處理I/O信息。
圖3 設(shè)備狀態(tài)采集流程圖
上位機(jī)系統(tǒng)數(shù)據(jù)處理及線程管控流程如圖4所示。數(shù)據(jù)處理采用多線程方式,子線程中基于Socket編程,獲取I/O數(shù)據(jù),判斷工位,發(fā)送給主線程執(zhí)行后續(xù)操作。
圖4 數(shù)據(jù)處理及線程管控流程
清理打磨設(shè)備開關(guān)量采集基于采集模塊,該模塊具有10個(gè)I/O口,最多可同時(shí)監(jiān)控10個(gè)開關(guān)量信息,能夠滿足對(duì)打磨設(shè)備5個(gè)工位的監(jiān)控。模塊設(shè)有10/100M自適應(yīng)網(wǎng)口,可通過以太網(wǎng)與交換機(jī)連接。
狀態(tài)采集時(shí),PLC端口與采集模塊I/O端通過引線連接,PLC低電平接入COM端,即可完成采集模塊和PLC接線。PLC控制每個(gè)工位的驅(qū)動(dòng)原件,工位動(dòng)作時(shí),采集模塊獲取PLC開關(guān)量信號(hào),完成打磨設(shè)備I/O信號(hào)的采集。
打磨設(shè)備狀態(tài)采集也可通過華中8型二次開發(fā)采集。上位機(jī)通過以太網(wǎng)與數(shù)控系統(tǒng)連接,對(duì)華中8型系統(tǒng)二次開發(fā),建立上位機(jī)與數(shù)控系統(tǒng)的通訊,從而實(shí)現(xiàn)設(shè)備狀態(tài)信息的采集。二次開發(fā)流程:調(diào)用華中8型數(shù)控應(yīng)用程序開發(fā)接口,通過特定函數(shù)獲取寄存器內(nèi)的數(shù)據(jù)信息。使用C++語言Socket編程建立機(jī)床客戶端和Windows軟件服務(wù)端,當(dāng)設(shè)備和上位機(jī)成功連接后,數(shù)控系統(tǒng)發(fā)送數(shù)據(jù),上位機(jī)接收并解析數(shù)據(jù)信息,上位機(jī)系統(tǒng)周期刷新定時(shí)器獲取狀態(tài)信息。
清理打磨設(shè)備5個(gè)工位順序加工,完成毛刺清理。相鄰工位間設(shè)置定時(shí)器,上一工位執(zhí)行后,閾值時(shí)間內(nèi)下一工位沒有動(dòng)作,判斷該工位故障??紤]到每個(gè)工位的加工時(shí)長(zhǎng)不同,為確保每個(gè)工位都能完成加工,定時(shí)器閾值略大于最長(zhǎng)的加工時(shí)間,故障判斷邏輯如圖5所示。工件孔位檢測(cè)時(shí),采集模塊獲取該工位PLC信號(hào)并通過以太網(wǎng)傳至上位機(jī)系統(tǒng),上位機(jī)解析信號(hào),判斷為孔位檢測(cè),程序執(zhí)行該工位槽函數(shù),函數(shù)體內(nèi)執(zhí)行MySQL數(shù)據(jù)庫操作指令,同時(shí)啟動(dòng)定時(shí)器1,計(jì)時(shí)結(jié)束后,判斷裝夾位對(duì)應(yīng)的槽函數(shù)是否執(zhí)行,若沒有執(zhí)行即判斷為故障位,程序彈出對(duì)話框,報(bào)告故障工位;若執(zhí)行,則無故障。其他工位故障判斷和上述相似??孜粰z測(cè)工位槽函數(shù)部分偽代碼如圖6所示,診斷函數(shù)1部分偽代碼如圖7所示。
圖5 故障判斷邏輯圖
圖6 孔位檢測(cè)槽函數(shù)偽代碼截圖
圖7 診斷函數(shù)1部分偽代碼截圖
為了監(jiān)控工件狀態(tài),將MySQL數(shù)據(jù)庫鏈接到QT中,解析各工位I/O信息,將每個(gè)工件加工日期、到達(dá)各工位時(shí)刻、工件當(dāng)前狀態(tài)和位置實(shí)時(shí)監(jiān)控并錄入數(shù)據(jù)庫,系統(tǒng)邏輯如圖8所示。設(shè)備加工工件時(shí),將工件號(hào),日期插入數(shù)據(jù)庫,到達(dá)各工位后更新數(shù)據(jù)庫該行信息。若加工過程出現(xiàn)故障,將工件當(dāng)前狀態(tài)更新為“出現(xiàn)故障”,工件當(dāng)前位置更新為故障工位;若無故障,則每到達(dá)一個(gè)工位,工件當(dāng)前狀態(tài)為“正在加工”,工件當(dāng)前位置更新為當(dāng)前加工工位。當(dāng)一個(gè)工件完成所有加工時(shí),工件當(dāng)前狀態(tài)更新為“已加工”,工件當(dāng)前位置更新為“出庫”。
圖8 監(jiān)控系統(tǒng)-工件信息數(shù)據(jù)庫邏輯圖
采用C++語言開發(fā)上位機(jī)監(jiān)控軟件,基于模塊化的開發(fā)方法,系統(tǒng)功能模塊如圖9所示。監(jiān)控軟件包括:主功能模塊;通訊設(shè)置模塊,建立與采集終端的通訊;狀態(tài)信息采集模塊,采集工件加工狀態(tài)信息;故障判斷模塊,判斷識(shí)別故障并報(bào)警;信息錄入模塊,錄入工件日期、已加工/故障數(shù)量;信息查詢模塊,查看一段時(shí)間內(nèi)的加工信息;視頻演示模塊,觀看毛刺清理三維動(dòng)畫。
主功能模塊如圖10所示,啟動(dòng)軟件,創(chuàng)建子線程,建立和采集終端的通訊,設(shè)備工作時(shí)每個(gè)工位的動(dòng)作情況可在界面中觀看,數(shù)據(jù)庫信息實(shí)時(shí)更新?!靶畔浫搿蹦K中選定“加工日期”,再選擇“已加工”或者“故障”工件,分類錄入MySQL數(shù)據(jù)庫,錄入后的信息可在“信息查詢”窗體中通過目標(biāo)篩選,繪制柱狀圖查看一段時(shí)間內(nèi)的加工情況。
圖9 系統(tǒng)功能模塊圖
圖10 系統(tǒng)主功能模塊
在數(shù)控系統(tǒng)界面,通過梯形圖編程,將加工單元工位1~5(圖11左側(cè))對(duì)應(yīng)的輸出信號(hào)分別單獨(dú)引出至PLC輸出口Y3.0~Y3.4(圖11右側(cè)),再將PLC輸出口通過引線一一對(duì)應(yīng)接到采集模塊I/O1~5,實(shí)現(xiàn)工位1~5輸出信號(hào)與采集模塊I/O1~5的一一對(duì)應(yīng)連接,PLC低電平接入COM端,采集模塊另一端與PC通過以太網(wǎng)網(wǎng)口連接,加工單元組網(wǎng)監(jiān)控現(xiàn)場(chǎng)如圖12所示。
通訊平臺(tái)搭建完成,啟動(dòng)設(shè)備進(jìn)行加工,打開軟件,登錄信息,進(jìn)入監(jiān)控模塊,建立通訊,工件的加工狀態(tài)監(jiān)控?cái)?shù)據(jù)庫如圖13所示。系統(tǒng)測(cè)試表明:該監(jiān)控系統(tǒng)可以實(shí)時(shí)監(jiān)控工件狀態(tài)信息,有效地診斷機(jī)床故障。
圖11 PLC梯形圖
圖12 加工單元監(jiān)控現(xiàn)場(chǎng)圖 圖13 工件狀態(tài)信息數(shù)據(jù)庫
以毛刺清理打磨設(shè)備為研究對(duì)象,研究了加工單元組網(wǎng)監(jiān)控系統(tǒng),針對(duì)老版本數(shù)控系統(tǒng)不能直接通訊的特點(diǎn),提出使用采集模塊采集PLC I/O信息,采集模塊和上位機(jī)診斷系統(tǒng)之間基于TCP/IP協(xié)議通訊。采用C++語言基于QT 5.9.8平臺(tái)開發(fā)了Windows桌面應(yīng)用程序加工單元組網(wǎng)監(jiān)控上位機(jī)軟件。測(cè)試表明:所設(shè)計(jì)的監(jiān)控系統(tǒng)能夠?qū)崟r(shí)監(jiān)控工件加工狀態(tài)信息、可靠地診斷加工過程中的故障信息,降低機(jī)床故障排查難度,提高加工效率,為實(shí)現(xiàn)智能制造技術(shù)提供了便利。