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