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