劉明俊,劉智鵬,劉廣超,朱武雄,張振久
(1.深圳信息職業(yè)技術(shù)學(xué)院智能制造與裝備學(xué)院,廣東 深圳 518172;2.深圳市冰??萍加邢薰荆瑥V東 深圳 518172)
PCB(Printed Circuit Board,印刷電路板)的生產(chǎn)過程包含了多個(gè)流程,V割工藝是其中的后半程加工工藝,即是將各個(gè)小片從一塊大板上分割下來,且其切槽端口呈V字型。由于拼版時(shí)排布緊密,且布線精細(xì),而V割是從PCB兩面分別進(jìn)行的,因此V割設(shè)備對(duì)定位精度要求很高,按當(dāng)前的市場(chǎng)需求,須控制在±0.005 mm以內(nèi)。
目前市場(chǎng)上的V割設(shè)備,多數(shù)是手動(dòng)控制、半自動(dòng)控制、單片機(jī)或者是PLC控制的,這些設(shè)備存在諸多不足,一般達(dá)不到高精準(zhǔn)控制的要求[1]。有研究人員通過在設(shè)備上增加視覺功能,建立相關(guān)的閉環(huán)控制系統(tǒng)[2-3],但是目前市場(chǎng)所需的精度已遠(yuǎn)超其上。也有研究人員通過運(yùn)動(dòng)控制卡開發(fā)V割數(shù)控系統(tǒng)[4]。智能數(shù)控裝備的控制核心就是數(shù)控系統(tǒng),在開放式數(shù)控系統(tǒng)中,基于“PC+運(yùn)動(dòng)控制卡”架構(gòu)的系統(tǒng),由于能夠同時(shí)利用PC及運(yùn)動(dòng)控制卡的軟硬件資源,控制精度及實(shí)時(shí)性高,拓展性良好,且具有成本優(yōu)勢(shì),已然成為行業(yè)的主流[5-8]。然而縱觀業(yè)內(nèi)主流的數(shù)控系統(tǒng),基本都綁定了某種運(yùn)動(dòng)控制卡,甚至還綁定了某種電機(jī)。在當(dāng)前開放的市場(chǎng)中,和特定的控制卡綁定意味著系統(tǒng)缺乏兼容性。如果用戶能基于某一數(shù)控系統(tǒng),匹配不同檔次、不同功能的控制卡及裝備,從不同的角度來看都是一種更優(yōu)的選擇。基于此現(xiàn)狀,本文進(jìn)行了兼容多種運(yùn)動(dòng)控制卡的數(shù)控系統(tǒng)的研究,采用“公共接口模塊”技術(shù),開發(fā)出一套解決了兼容性差、受運(yùn)動(dòng)控制卡性能制約等問題的V割數(shù)控系統(tǒng)。
如圖1所示,在本文“PC+運(yùn)動(dòng)控制卡”架構(gòu)的數(shù)控系統(tǒng)中,主機(jī)和運(yùn)動(dòng)控制卡構(gòu)成主從結(jié)構(gòu)的雙系統(tǒng),其中PC機(jī)為上位機(jī),通過PCI總線連接運(yùn)動(dòng)控制卡進(jìn)行系列操作。由于受到操作系統(tǒng)的限制,上位機(jī)只能復(fù)制一些非實(shí)時(shí)或者弱實(shí)時(shí)的任務(wù),如文件管理、參數(shù)設(shè)置、狀態(tài)顯示等。本系統(tǒng)中運(yùn)動(dòng)控制卡為下位機(jī),主要負(fù)責(zé)一些實(shí)時(shí)性比較強(qiáng)的任務(wù),如位置控制、插補(bǔ)運(yùn)算、速度調(diào)節(jié)等。
圖1 硬件原理結(jié)構(gòu)Fig.1 Structure of the device hardware system
數(shù)控系統(tǒng)的硬件平臺(tái)是整個(gè)系統(tǒng)的活動(dòng)的基礎(chǔ),而軟件則是整個(gè)系統(tǒng)的核心。整個(gè)控制系統(tǒng)運(yùn)行所需的命令都是由軟件發(fā)出和傳輸?shù)模钦麄€(gè)數(shù)控系統(tǒng)的最終載體。本文基于VC6.0進(jìn)行軟件開發(fā),采用了模塊化開發(fā)軟件的思想,將系統(tǒng)劃分為幾個(gè)功能模塊,各功能模塊如表1所示。
表1 軟件模塊功能Tab.1 Module functions of the software system
本文開發(fā)的數(shù)控系統(tǒng)軟件的顯示區(qū)主要分為圖形顯示區(qū)、功能選擇區(qū)和手動(dòng)控制區(qū),其中顯示區(qū)主要顯示圖形加工信息、加工軌跡和運(yùn)動(dòng)軌跡;狀態(tài)信息顯示區(qū)顯示系統(tǒng)的狀態(tài),如各個(gè)軸的位置信息、加工材料的信息和時(shí)間信息等;提示信息區(qū)顯示一些提示用戶的信息。軟件框架如圖2所示。
圖2 軟件框架結(jié)構(gòu)Fig.2 Structure of the software framework
本文系統(tǒng)采用基于單文檔的MFC框架,為了達(dá)到良好的分區(qū)效果,采用了繼承MFC類庫(kù)CSplitterWnd類的CMacSplitterWnd類進(jìn)行結(jié)構(gòu)分割。
目前市面上有各種各樣的運(yùn)動(dòng)控制卡,國(guó)外的有美國(guó)DELTA TAU的PMAC系列控制卡、GALIL的DMC系列控制卡、MEI的ZMP-SynqNet系列控制卡、PARKER生產(chǎn)的ACR系列控制卡;英國(guó)TRIO的MC系列控制卡;德國(guó)MOVTEC的DEC系列控制卡等;國(guó)內(nèi)有固高、雷賽、眾為興、成都步進(jìn)等運(yùn)動(dòng)控制卡,這些控制卡廣泛應(yīng)用于各類數(shù)控裝備中[9-11]。
種類繁多的運(yùn)動(dòng)控制卡在給用戶提供多種選擇的同時(shí),也帶來了一個(gè)兼容性的問題。各個(gè)廠商的控制卡都有自己的指令系統(tǒng),且不兼容,這就造成了用戶在增添某種運(yùn)動(dòng)控制卡的時(shí)候,必須針對(duì)所選的運(yùn)動(dòng)控制卡及其配套指令系統(tǒng)重新進(jìn)行設(shè)計(jì)和調(diào)試。數(shù)控軟件跟運(yùn)動(dòng)控制卡密不可分,軟件的性能取決于控制卡的性能。所以發(fā)展到一定時(shí)期后,增添或改換運(yùn)動(dòng)控制卡是避免不了的。但由于運(yùn)動(dòng)控制卡之間指令系統(tǒng)的不兼容,導(dǎo)致了軟件開發(fā)難度、周期和成本的提升,也不利于系統(tǒng)生命力的持久。
基于此現(xiàn)狀,本文采用“公共接口模塊”的辦法解決上述問題。所謂的“公共接口模塊”,就是在人機(jī)界面和各種運(yùn)動(dòng)控制卡之間增加一個(gè)中間層——“運(yùn)動(dòng)控制卡公共接口模塊”,如圖3所示。在這個(gè)“公共接口模塊”的作用下,人機(jī)界面只需要和這個(gè)模塊進(jìn)行交互,而不需要直接操作運(yùn)動(dòng)控制卡的指令。在兼容各種運(yùn)動(dòng)控制卡時(shí),只需要在模塊里把各個(gè)運(yùn)動(dòng)控制卡的函數(shù)封裝一個(gè)個(gè)子模塊,體現(xiàn)面向?qū)ο蟮乃枷搿?/p>
圖3 運(yùn)動(dòng)控制卡公共接口模塊Fig.3 Public interface module of the motion controlling board
基于面向?qū)ο蟮木幊趟枷?,把運(yùn)動(dòng)控制卡抽象成一個(gè)父類,這個(gè)父類具有每一種運(yùn)動(dòng)控制卡都具有的普遍功能,如打開板卡、關(guān)閉板卡、初始化板卡、獲取當(dāng)前位置、控制IO和運(yùn)動(dòng)等等。具體功能的實(shí)現(xiàn)就落在各個(gè)運(yùn)動(dòng)控制卡上,這就需要寫一個(gè)從父類派生出來的子類并重構(gòu)父類中的純虛函數(shù),每添加一種運(yùn)動(dòng)控制卡就添加一個(gè)子類,這樣就可以方便地實(shí)現(xiàn)不同板卡共存在一套控制系統(tǒng)里。
(1)父類和子類的創(chuàng)建
首先創(chuàng)建一個(gè)名為CMacMotion的父類,該類包含了各種運(yùn)動(dòng)控制卡共有的屬性,在父類里把共有的屬性和動(dòng)作編寫成純虛函數(shù),具體的落實(shí)由各個(gè)控制卡來實(shí)現(xiàn)。子類的實(shí)現(xiàn)只需從父類派生并把父類的純虛函數(shù)變成普通的函數(shù)即可。
(2)調(diào)用方法
在實(shí)際使用中,只需要系統(tǒng)的人機(jī)界面提供一個(gè)選擇各種運(yùn)動(dòng)控制卡的選型,并把用戶的選擇傳入實(shí)例各種板卡的函數(shù)中即可?;谝陨戏椒ǎ梢苑奖愕卦谝惶讛?shù)控系統(tǒng)中兼容多種卡,大大地降低了系統(tǒng)研發(fā)的成本和難度,提升了控制系統(tǒng)可持續(xù)發(fā)展的空間和系統(tǒng)的競(jìng)爭(zhēng)力。父類、子類的創(chuàng)建及函數(shù)調(diào)用分別如圖4~5所示。
圖4 父類及子類代碼的實(shí)現(xiàn)Fig.4 Codes of parent class and subclass
圖5 函數(shù)調(diào)用代碼Fig.5 Codes of function calling
在V割加工中,設(shè)備的上下刀是對(duì)齊的,在加工時(shí)可能會(huì)出現(xiàn)上下刀相撞的情況,為了安全起見,需要具有相關(guān)的保護(hù)措施,有工程人員對(duì)連接切割刀具的步進(jìn)電機(jī)進(jìn)行閉環(huán)控制,動(dòng)態(tài)調(diào)節(jié)進(jìn)刀速度及位移量[12]。本文從軟件系統(tǒng)內(nèi)部設(shè)計(jì)了相關(guān)的保護(hù)功能。
如圖6所示,V割機(jī)切的深淺由用戶在軟件填的上下刀到臺(tái)面的距離(T1和T2)、殘厚、板厚以及一些偏置決定,在切割時(shí)上下Z軸走的距離不一樣,上刀要比下刀的距離短一個(gè)板厚的距離。
圖6 刀具到臺(tái)面距離Fig.6 Distance between the tools and countertop
由此可以得到上刀到臺(tái)面距離T1,下刀到臺(tái)面距離T2,板厚TN,殘厚LTN,各種偏置的總和OFS。
則上刀Z1軸下切時(shí)運(yùn)動(dòng)的距離D1為:
Z2軸下切時(shí)運(yùn)動(dòng)的距離D2為:
由式(1)和式(2)可以得出刀具到臺(tái)面的距離(以臺(tái)面為零點(diǎn))。
上刀TD:
下刀BD:
為了保證上下刀不會(huì)相撞,就必須滿足:
從上述的公式可以看出TD+BD的和就是殘厚,因此在理論上只要保證殘厚大于0就可以保證上下刀不會(huì)相撞。
基于以上核心技術(shù),開發(fā)出了一套可兼容多種運(yùn)動(dòng)控制卡的V割機(jī)數(shù)控系統(tǒng)。本系統(tǒng)軟件的顯示區(qū)細(xì)分為圖形顯示區(qū)、狀態(tài)信息顯示區(qū)和提示信息顯示區(qū)三部分,其中圖形顯示區(qū)顯示加工圖形信息、加工軌跡和運(yùn)動(dòng)軌跡;狀態(tài)信息顯示區(qū)顯示系統(tǒng)的狀態(tài),如各個(gè)軸的位置信息、加工材料的信息和時(shí)間信息等;提示信息區(qū)顯示一些提示用戶的信息。其界面及設(shè)備應(yīng)用如圖7所示。
圖7 軟件整體界面及設(shè)備應(yīng)用Fig.7 Software interface and device hardware
本軟件的功能集成了裝載文件、圖形視圖、系統(tǒng)診斷、切割信息、IO狀態(tài)、導(dǎo)出程序、停止運(yùn)行、歷史日志、幫助信息和數(shù)據(jù)設(shè)置。其中數(shù)據(jù)設(shè)置又包含基本設(shè)置、擴(kuò)展設(shè)置、輸入輸出、運(yùn)動(dòng)軸設(shè)置、電機(jī)設(shè)置、選型配置、銷釘配置和用戶設(shè)置。如表2所示。
表2 軟件具體功能描述Tab.2 Functions description of the software
此外手動(dòng)控制區(qū)主要是針對(duì)機(jī)床的單軸運(yùn)動(dòng)控制以及加工設(shè)置而設(shè)計(jì),該項(xiàng)功能包括了對(duì)X、Y、Z軸的電機(jī)控制、轉(zhuǎn)軸轉(zhuǎn)速的控制、加工設(shè)置以及其他常用功能的控制,在該項(xiàng)區(qū)域用戶可以找到在加工過程中常用的功能,方便用戶調(diào)整機(jī)床,達(dá)到快速加工的目的。
本系統(tǒng)和固高運(yùn)動(dòng)控制卡、正運(yùn)動(dòng)控制卡、高川運(yùn)動(dòng)控制卡成功對(duì)接,運(yùn)行穩(wěn)定性良好,可操作性強(qiáng),加工精度能夠滿足規(guī)定的要求。圖7所示的軟硬件系統(tǒng),在平行、殘厚及間距方面的精度控制在±0.05 mm以內(nèi),上下對(duì)刀位精度在±0.03 mm以內(nèi),已經(jīng)在多家專業(yè)V割設(shè)備廠投產(chǎn)運(yùn)行且反應(yīng)良好。
生產(chǎn)實(shí)踐證明本文開發(fā)的V割系統(tǒng)是可行的,提高了加工精度和生產(chǎn)效率,較好地實(shí)現(xiàn)數(shù)控系統(tǒng)的用戶界面、圖形顯示、參數(shù)管理、日志管理等功能。更廣泛地,對(duì)于“PC+運(yùn)動(dòng)控制卡”數(shù)控系統(tǒng)而言,運(yùn)動(dòng)控制卡作為支撐數(shù)控系統(tǒng)的核心,其性能決定了整個(gè)裝備系統(tǒng)的優(yōu)劣,直接影響著加工的精度、效率和可靠性,而控制系統(tǒng)對(duì)不同運(yùn)動(dòng)控制卡的兼容性是實(shí)際生產(chǎn)中用戶普遍重點(diǎn)關(guān)心的問題??杉嫒莶煌\(yùn)動(dòng)控制卡的數(shù)控系統(tǒng)擴(kuò)大了用戶對(duì)辦卡的選擇空間,本文所提出的技術(shù)方法,不僅適用于V割數(shù)控系統(tǒng),而且可以普適于其他開放式數(shù)控系統(tǒng)。針對(duì)不同檔次、不同用途的設(shè)備,用戶可以基于單一的系統(tǒng)和不同的運(yùn)動(dòng)控制卡進(jìn)行自由組合。在后續(xù)的研發(fā)中,本文將基于現(xiàn)有的系統(tǒng)融入更多的板卡,以期能成為一種業(yè)內(nèi)的公認(rèn)的標(biāo)準(zhǔn)。