宋相征,張琳娜,鄭鵬,趙鳳霞
(鄭州大學機械工程學院,河南鄭州 450001)
在現(xiàn)代磨削加工中,半自動、自動磨床應用廣泛,但其自動加工中無法對零件尺寸進行實時的檢測控制,只能按照既定的程序進行開環(huán)式的磨削加工。主動量儀可在磨削過程中實時測量工件尺寸,并對加工狀況進行實時判斷,發(fā)出控制信號對磨削加工的不同階段進行自動控制。這種閉環(huán)控制可進一步提高磨床的自動化水平,提高加工精度和效率。
主動量儀軟件系統(tǒng)負責測量數據的采集、處理、輸出、顯示、I/O控制等功能。因此,軟件系統(tǒng)開發(fā)在整個主動量儀的開發(fā)中顯得尤為重要。目前工業(yè)控制中主流開發(fā)軟件主要有兩種:一種是工業(yè)組態(tài)軟件,例如組態(tài)王 (Kingview);另一種是高級編程語言,例如Visual Basic。工業(yè)組態(tài)軟件編程可視化程度高、界面簡單直觀、編程效率高,利用組態(tài)王開發(fā)出來的界面美觀,可視性好。但組態(tài)王的數據最高采集頻率為55 ms,低于磨加工主動量儀對數據采集速度的要求,因此它不能作為數據采集處理開發(fā)工具;VB的數據處理功能強大,數據采集速度高,可以滿足主動量儀的開發(fā)要求,因此適合作為底層開發(fā)平臺進行數據采集與處理。基于以上因素,提出基于工業(yè)組態(tài)軟件組態(tài)王6.53和VB6.0混合編程的軟件開發(fā)方案。文中以磨加工主動量儀單鍵槽工件測量功能開發(fā)為例,主要研究Kingview人機交互界面設計編程、VB數據處理程序開發(fā)、VB與組態(tài)王之間的數據通信技術3個混合編程中的關鍵技術。
文中依據VB與組態(tài)王各自的編程優(yōu)勢,確立利用組態(tài)王開發(fā)新型磨加工主動量儀的人機交互系統(tǒng),利用VB開發(fā)數據采集處理系統(tǒng)的軟件系統(tǒng)聯(lián)合編程開發(fā)方案。軟件系統(tǒng)的混合編程總體工作分配如圖1所示。
軟件系統(tǒng)的混合編程主要包括3個部分:第一部分為開發(fā)組態(tài)王人機交互系統(tǒng)。操作人員可通過人機交互系統(tǒng)的測量模塊觀察實時測量值、加工狀況、實時曲線,可在手動情況下對設置和調整界面中的系統(tǒng)參數進行修改調整,更新后的數據保存于組態(tài)王配方文件中,通過Blockdde將配方改動信號傳遞給VB,VB進行相應的配方讀取更新系統(tǒng)參數值;第二部分是開發(fā)VB數據采集處理系統(tǒng)。VB程序具體負責在軟件系統(tǒng)運行后實現(xiàn)創(chuàng)建Blockdde鏈接,啟動組態(tài)王運行程序,進行板卡初始化,以及循環(huán)往復地進行數據的采集、處理輸出工作,同時接收配方文件更新變量,必要時進行組態(tài)王配方的讀取;第三部分是VB和組態(tài)王軟件之間的通信編程。在混合編程中,許多參數需要在VB與組態(tài)王之間互相傳遞,是通過Blockdde的方式進行開發(fā)的。
圖1 VB與組態(tài)王軟件工作分配
以測量外徑為例,加工中測頭落入鍵槽內過程中實際電壓值如圖2中曲線所示,單鍵槽主動測量的主要思想是輸出周期中,將實際電壓變化量補償為理論電壓變化量 (虛直線部分)。正常磨削加工情況下,進給量、工件轉速等因素均為定值,一個輸出周期ts(12 ms)內,采集電壓變化值也可視為定值即圖中的hs。
圖2 單鍵槽工件測量原理圖
由圖2可知,應補償的電壓量為:
其中:hv可由VB程序對前后兩次采集得到的電壓值計算得到。由圖可知:
其中:tc為操作人員根據加工條件設定的系統(tǒng)參數,可知,每次輸出需要進行的電壓補償量為:
組態(tài)王的界面設計編程主要分為畫面功能規(guī)劃、繪制畫面與創(chuàng)建變量、編寫動畫鏈接語言等步驟。
單鍵槽工件測量功能在顯示界面中以“W功能”表示,整個功能作為一個小的文本框模塊嵌入項目設置畫面中,當點擊功能框后,彈出“W功能選擇鍵盤”畫面,用于用戶輸入W功能時間參數,點擊“W功能選擇鍵盤”畫面中的確定按鈕,判斷輸入是否有效,有效則關閉“W功能選擇鍵盤”畫面,返回項目設置主界面,否則彈出相應的報警窗口,提示用戶重新輸入。具體組態(tài)王程序執(zhí)行流程規(guī)劃見圖3。
圖3 組態(tài)王程序執(zhí)行流程設計
依據以上設計,新建變量及其功能如下:\本站點W功能時間1,用于在項目設置畫面的W功能框中顯示用戶輸入的參數值 (即tc); \本站點畫面置頂選擇,用于判定當前畫面級數,鎖定其他級數畫面按鍵均為無效;\本站點W功能選擇,用于暫存用戶輸入中的參數值。新建畫面有3個:“項目設置1”畫面,用于設置項目1加工工件的各種加工參數,包括W功能;“W功能選擇鍵盤”,用戶輸入W功能參數值的畫面; “W功能時間超限報警”畫面,當用戶輸入參數錯誤,彈出此窗口。各畫面設計見圖4。
圖4 W功能各級畫面設計
W功能框彈出的動畫鏈接窗口中,“彈起時”選項下輸入命令語言為:
if(\本站點畫面置頂選擇==0)/*判斷是否系統(tǒng)處于1級畫面。
ShowPicture("W功能選擇鍵盤");/*顯示畫面"W功能選擇鍵盤"
W功能選擇鍵盤畫面中數字輸入按鈕的“彈起時”選項下輸入命令語言類似,分別控制字符串變量“\本站點W功能選擇”加相應的字符;取消按鍵控制關閉W功能選擇鍵盤,回到項目設置1畫面;清除按鍵控制清空字符串變量“\本站點W功能選擇”;確認鍵“彈起時”選項的命令語言為:
VB程序負責單鍵槽工件測量原理的程序實現(xiàn),主要由開發(fā)的功能函數Public Function function W實現(xiàn),其函數體如下:
由于采用VB與組態(tài)王的混合編程技術,兩款軟件之間的數據傳遞非常重要,數據傳遞的效率決定了整個系統(tǒng)實時性的好壞。VB與組態(tài)王程序之間的數據通信方式選用Blockdde通信模式,只需建立一個熱鏈接即可完成多個數據傳遞,從根本上提高了系統(tǒng)實時性。以測量項目1、2為例,研究Blockdde通信方式的實現(xiàn)方法。
Blockdde通信的建立主要分為3個步驟:初始化、建立數據庫、數據互傳。整個過程需要VB與組態(tài)王進行相應的編程與設置,VB所用函數及功能見表1。
表1 Blockdde中所用函數及函數功能
初始化主要完成對服務器名、話題名的聲明。服務器名、話題名是服務程序的“身份證”,用于唯一標識所創(chuàng)建的服務程序。VB中聲明的服務器名、話題名必須和組態(tài)王中建立的Blockdde動態(tài)鏈接設置的相同,此例中針對測量項目1、2(即測頭1、2的實際測量值)進行編程,實現(xiàn)測量值的實時傳遞。
建立數據庫,需要進行數據通信的所有變量的信息均需要進行數據庫登記,變量信息包括變量ID、變量類型、屬性、初始值等;變量信息在組態(tài)王建立變量時確定,VB進行數據庫登記時需要與組態(tài)王相關變量信息保持一致。組態(tài)王中測量項目1、2測量值變量的信息見表2。
表2 組態(tài)王中測量項目1、2測量值變量信息
數據互傳包括VB將變化的數據傳遞給組態(tài)王與組態(tài)王將設定值傳給VB。對于測量項目1、2,需要VB通過Blockdde實時傳遞給組態(tài)王,其程序代碼如下:
通過對組態(tài)王與VB的混合編程,實現(xiàn)利用組態(tài)王人機交互系統(tǒng)進行各個模塊的開發(fā)、界面設計與程序編寫;利用VB將數據采集、多種處理數據方法、Blockdde傳輸等功能設計編寫為自定義函數模塊,供VB主程序調用。最終構建了完整的磨加工主動量儀軟件系統(tǒng)。結合系統(tǒng)硬件平臺,以W功能、測量結果傳遞為測量對象,對組態(tài)王顯示界面、VB后臺處理及Blockdde通信進行了一系列的實驗驗證。
W功能選用了項目1、2兩個測量項目,參數設置除W功能有無外,其余均相同,通過調整測量傳感器電壓大小,最終在組態(tài)王測量界面中得到的項目1、2的尺寸變化曲線如圖5所示,分析可知有W功能的項目1與無W功能的項目2相比,尺寸曲線得到了準確有效的補償修正,證明由VB編寫的W功能函數正確有效,且將修正后的值實時傳遞給組態(tài)王人機交互界面。
圖5 W功能試驗曲線
Blockdde選用項目1、2為測量項目,以兩個項目的測量值為實驗對象,利用VB啟動組態(tài)王運行程序,調整測頭數據至適當位置,組態(tài)王測量界面中測量值與VB運行程序中Form1窗體測量值運行結果如圖6所示,兩者時刻保持相同,由此可知VB程序順利通過Blockdde通信方式將測得的測量數據傳遞給了組態(tài)王。
圖6 Blockdde通信試驗曲線
采用VB與組態(tài)王混合編程的方式,有效地發(fā)揮了兩款軟件各自的優(yōu)勢,一方面利用組態(tài)王開發(fā)出了美觀、操作簡潔的顯示界面,另一方面利用VB開發(fā)出了高速的數據采集、處理程序,使主動量儀的實時性、精度得到了有效保證,為我國磨削加工主動測量儀的發(fā)展做出應有貢獻,具有廣闊的市場應用前景。
[1]王鴻偉.磨加工過程中的主動測量儀[J].軸承,2004(4):32-34.
[2]周自波.外圓磨在線檢測應用系統(tǒng)的硬件研究與開發(fā)[D].成都:四川大學,2005.
[3]北京亞控科技發(fā)展有限公司.組態(tài)王 Kingview version6.51命令語言函數速查手冊[M].北京:亞控公司,2005.
[4]郭寒軍.嵌入式智能主動測量儀的研究與開發(fā)[D].無錫:江南大學,2008.
[5]史延齡.基于VB6.0和DDE的組態(tài)王與智能儀表的通信研究[J].工業(yè)控制計算機,2011(4):80-81.
[6]李洪波.智能主動測量系統(tǒng)開發(fā)與應用[D].哈爾濱:黑龍江大學,2008.
[7]辛德璽,孫濤.機械加工中的主動測量儀控制[J].中國集體經濟(下半月),2007(5):134.
[8]亞控公司.組態(tài)王5.1使用手冊[M].北京:亞控自動化軟件科技有限公司,1999.
[9]郭秀江,汪仁煌.BlockDDE在瀝青拌和樓控制系統(tǒng)數據采集中的應用[J].廣東工業(yè)大學學報,2002(1):16-20.