鄭鵬,張琳娜,趙鳳霞
(鄭州大學機械工程學院,河南鄭州 450001)
磨加工主動量儀動態數據交換技術的研究
鄭鵬,張琳娜,趙鳳霞
(鄭州大學機械工程學院,河南鄭州 450001)
根據工控主板型磨加工主動量儀的硬件結構特點及功能要求,利用組態軟件和高級語言混合編程方式實現主動量儀軟件系統的開發。針對磨加工主動量儀數據采集、分析和處理的數據通信問題,提出了基于BlockDDE技術的動態數據交換方法。給出了主動量儀數據交換的原理,以及BlockDDE初始化、建立數據庫、數據傳輸的詳細步驟。為驗證該方法的正確性,給出了具體的應用實例。實驗結果表明:該方法可以滿足主動量儀數據傳輸的實時性、高速性、精確性要求。研究成果將為新型磨加工主動量儀的開發提供必要的技術支持。
磨加工;主動測量;BlockDDE技術;控制系統
隨著制造業現代化的不斷發展,工業生產對設備的加工精度、加工效率提出了更高的要求。磨削加工擔負著零件精密表面的最終加工工序,它的精度對機械產品的質量具有直接的影響[1]。磨加工主動測量控制儀 (簡稱主動量儀)在近二十年得到了快速的發展,它是一種在線測量工件并能控制磨削進程的智能化設備[2-3]。在工作過程中,主動量儀始終測量著工件的尺寸,并將其尺寸變化量隨時傳遞給控制器,再由控制設備發出信號控制機床的動作,如圖1所示。由于它能使操作人員無需停機就能測量工件,減少了勞動強度,提高了生產效率,降低了廢品率。但目前國內磨加工主動量儀的發展相對落后,產品普遍存在功能單一、顯示不夠直觀、設置及調整不方便等不足。

圖1 磨加工主動量儀工作原理圖
針對國內磨加工主動量儀存在的問題,以基于工控主板的總線式硬件系統為平臺,利用組態軟件進行控制軟件系統的開發。由于組態軟件開發界面便捷,很大程度上提高了人機界面的交互能力和可操作性[4-5]。但組態軟件受限于數據采集頻率,它無法滿足磨削加工中的測量采樣要求。因此,采用組態軟件與高級語言混合編程方式進行系統的開發無疑是有效解決高速采樣和數據處理問題的途徑。文中針對混合編程過程中數據采集、分析和處理的交互問題,提出了基于BlockDDE的主動量儀動態數據交換方法,有效地提高了數據通信效率,保證了過程的實時性和準確性,為磨加工主動量儀的系統開發提供可靠的技術支持。
磨加工主動量儀采用組態王KingView作為系統的上層平臺,實現顯示和用戶操作界面功能;采用VisualBasic(以下簡稱VB)程序作為底層平臺,實現與傳感測量裝置及數控磨床接口通信,完成數據采集及數據處理。系統的數據交換工作流程如圖2所示。在磨削加工過程中,測量裝置 (測頭)始終監測著工件的尺寸變化,并實時將采樣數據傳遞給主動量儀的底層平臺VB程序,VB程序從組態王參數配方中讀取已預先設定的各參數,并將當前工件尺寸測量值和信號點設定值進行比對,從而通過IO口發出信號 (粗磨、精磨、光磨、到尺寸等)給磨床控制系統,機床隨即進行相應的動作,如改變砂輪的轉速和進給速度等。同時,按要求實時地將處理后的數據傳遞給上層平臺組態王界面進行顯示。

圖2 主動量儀數據交換流程圖
由上述主動量儀的功能和數據交換原理可知,當采用混合編程時,高速、實時、準確的數據交換尤為重要。采用基于BlockDDE的動態數據交換技術,實現主動量儀工作過程中組態王和VB之間的數據動態交互。
標準DDE(Dynamic Data Exchange)是微軟公司在Windows平臺上設計的一個完整的通信協議,它支持兩個或多個應用程序能彼此交換數據和發送指令[6]。DDE始終發生在客戶應用程序和服務器應用程序之間。提供數據的一方稱為服務器,接收數據的一方稱為客戶。通過建立“熱鏈路”將客戶程序和服務器程序聯系起來,所謂“熱鏈路”,就是請求服務程序,每當特定項的數據發生變化時,就將數據值直接發送給客戶程序。使用標準的DDE時,每個DDE項目都必須對應一個熱鏈接,當要交換的數據量大時,將消耗更多的資源,而且在數據量大并且數據變化頻繁時,速度會變得很慢。BlockDDE可以有效地解決這一“瓶頸”問題,在使用BlockDDE時,在服務器程序和客戶程序之間只需建立一個熱鏈接,服務器程序的多個數據項同時發生變化后,只需一次DDE通信就可以傳送給客戶程序,運行速度快捷。圖3所示為兩種交換方式的比較。

圖3 DDE及BlockDDE鏈接方式
DDE通信都需要建立服務程序名,主題名及項目名3個標識。對于標準的DDE,組態王的應用程序名和主題分別規定為“VIEW”和“tagname”,在數據詞典里定義I/O變量的同時也定義了項目名;VB程序的應用程序名和主題分別為工程名和窗體的LinkTopic屬性值,項目名是一個特定的文本框、標簽或圖片框的名稱。對于BlockDDE,可通過調用初始化函數同時完成對服務程序名和主題名的聲明,并且項目名不但可以是對應于VB應用程序中的控件名,而且還可以是變量名,這對于采用VB開發底層程序而言,不需要在窗體上創建控件,從而使得程序更加簡潔流暢。
根據上述磨加工主動量儀數據交換過程,基于BlockDDE技術實現動態數據的交換主要包括初始化、建庫、數據傳輸。BlockDDE以動態鏈接庫的形式用來開發DDE服務程序 (以下簡稱I/O SERVER)。
BlockDDE的初始化首先需要聲明I/O SERVER的服務名和主題名,登記重載函數DataFormKingView的實際地址以及主窗口句柄。初始化是由函數SDde_Initial來完成的,通常在主窗口創建進行。下面一段代碼用于初始化服務名svrName為“主動量儀”,主題名topicName為“BlockDDE”的 I/O SERVER。Dim suc As Integer


BlockDDE為每一個I/O SERVER維護一個數據庫。所有需要傳送的數據點都要登記入庫,必須聲明每個數據點變量的ID號、變量類型、數據屬性及初始值,可通過調用函數CreatDateBaseItem為每一個數據點登記。
CreateDataBaseItem(ByVal hInst As long,ByVal wTagID as integer,Byval bType As BYTE,ByVal bAttri As BYTE,InitialDdeValue As DDEValue)
其中:wTagID為該變量在組態王數據詞典中的ID號;bType為該變量的數據類型,有模擬型(FLOAT_TYPE)、長整型 (LONG_TYPE)、離散型(DISC_TYPE)、字符串型 (STRING_TYPE)4種;bAttri為該變量的數據屬性,有讀寫或只寫;InitialD-deValue為該變量的初始值。
如定義測量裝置測頭1的數據變量為G1,數據類型為IO實型,ID地址為21,數據屬性為讀寫。為判斷主動量儀當前工作狀態是手動還是自動,在組態王中定義IO字符串變量READY,ID地址為23。如圖4所示,則有


圖4 變量定義列表
初始化和創建數據庫成功后,I/O SERVER和組態王之間能夠進行雙向數據交換。I/O SERVER可以不斷地將變化的數據傳送給組態王并隨時接收組態王發送過來的數據。I/O SERVER向組態王傳送的過程分兩步:首先,調用SDde_SetDataToDB將新值設入到BlockDDE數據庫中,然后調用SDde_Send,將其發送給組態王。

組態王與I/O SERVER之間的數據交換是雙向的,I/O SERVER通過重載函數DateFormKingView來完成組態王向I/O SERVER發送數據。當組態王中的變量發生改變時,將調用DateFormKingView。如組態王傳遞工作狀態READY值給I/O SERVER的字符串READY變量,則有:

磨加工主動量儀實現加工過程在線的工件測量,并將控制信號發送給數控磨床,通過閉環控制實現工件的自動加工。該實驗從測頭值、工作狀態、內部補調值3個方面進行數據的動態傳輸和顯示,從而驗證文中提出的動態數據通信方法的正確性。
首先在組態王KingView環境的工程瀏覽器下,根據向導建立DDE設備,DDE設備命名為BLOCKDDE,服務器名和話題名分別為“主動量儀”和“BlockDDE”,數據交換方式選擇“高速塊交換”,如圖5所示。
DDE設備建立完成后,在數據詞典中定義相應的DDE變量,如表1所示,分別建立對應于測頭1、測頭 2、工作狀態、內部補調值變量 G1、G2、READY、nb,其中“寄存器”的值就是在定義變量時變量屬性中的項目名,對應于VB應用程序中的控件名或變量名,如圖6所示。

圖5 DDE的設備建立

表1 組態王變量定義

圖6 組態王數據詞典變量定義界面
實驗過程中數控磨床驅動測量裝置,接觸式測量工件,VB程序采集并處理測頭1、測頭2的測量數據,對傳感器電壓值與尺寸關系為:測量值=(測頭電壓值-零位電壓值)×倍率,其結果如表2所示。為便于觀察,將測量數據顯示于VB工程界面中,如圖7所示,當主動量儀工作時,VB程序將測頭數據傳遞給組態王用戶界面進行顯示。運行組態王工程后,在主動量儀測量窗口4中通過智能仿真儀表顯示測頭1、測頭2的數據,儀表具有自動倍率切換功能,如圖8所示。

表2 測頭數據

圖7 VB工程界面

圖8 組態王測量窗口界面
主動量儀工作過程中,組態王將主動量儀的工作狀態READY值 (手動為0、自動為1)反饋到VB中,通過VB與數控磨床IO的通信,磨床產生相應的動作。另一方面,由于主動量儀存在系統誤差,操作人員在加工過程中可以通過內部補調值修正實時測量結果,如圖8所示,該內部補調值需要傳遞給后臺VB程序進行相應運算,因此,VB需要實時接收組態王發送的內部補償值,接收到的READY及內部補調值如圖7所示。
圖9所示為主動量儀的加工過程狀態顯示窗口,加工中組態王實時接收VB傳輸來的尺寸數據,通過描繪加工過程數據的曲線,可以直觀地反映出工件在磨削過程中所處的加工狀態。

圖9 主動量儀加工狀態曲線顯示圖
實驗結果表明:利用組態王和VB混合編程中的數據通信方法能夠滿足主動量儀對數據處理的要求;并且利用BlockDDE技術,VB應用程序與組態王數據交換的實時性也可以滿足過程控制的需要。
基于BlockDDE通信技術實現磨加工主動量儀的動態數據通信,為綜合運用組態王軟件及VB高級語言的混合編程進行主動量儀軟件控制系統的開發提供了必要的技術基礎。經過實驗測試,在線測量數據的傳遞準確性、實時性及穩定性能夠滿足功能要求,進一步驗證了該方法的可行性和正確性。
[1]SCHOLZ Rick.Gaging Improves Automatic Grinder Control[J].Quality,2002(4):33 -353.
[2]王鴻偉.磨加工過程中的主動測量儀[J].軸承,2004(4):32-34.
[3]薛君英.PULCOMV4主動量儀在數控珩磨加工中的應用[J].機電信息,2010(30):12-13.
[4]楊漢,袁中凡.基于組態軟件和PLC的機翼精加工水平測控系統[J].中國測試技術,2008(1):131-133.
[5]李瑞先,譚德榮,曹雁鋒.基于組態王測控系統軟件的設計及實現[J].測控技術,2006(6):57-59.
[6]田曉英,張文焱,劉慶濱,等.利用DDE技術實現King View與VC程序的監控數據通訊[J].自動化技術與應用,2004(12):45-48.
Study on Dynam ic Data Exchange Technology for Grinding Active Measuring Instrument
ZHENG Peng,ZHANG Linna,ZHAO Fengxia
(Institute of Mechanical Engineering,Zhengzhou University,Zhengzhou Henan 450001,China)
According to the characteristics of hardware structure and functionality requires of the grinding activemeasuring instrument,mixed-language programming of the configuration software and the computer advanced language was adopted in the activemeasuring instrument system software development.For the communication problem of data acquisition and processing,dynamic data exchangemethod based on BlockDDE was presented.Data exchange principle of the active measuring instrument was described,and BlockDDE initializing,database establishing and data transferwere also described.Finally,an application examplewas given to verify the proposedmethod.The experimental results show that the real-time and accuracy of data exchange for the activemeasuring instrument can bemet by the proposedmethod.The research results can provide profound technical supports for the grinding activemeasuring instrument development.
Grinding;Activemeasurement;BlockDDE technology;Control system
TH705
A
1001-3881(2014)10-162-4
10.3969/j.issn.1001 -3881.2014.10.049
2013-04-27
鄭鵬 (1976—),男,工學博士,副教授,主要從事機械精度設計、傳感檢測技術等領域的研究。E-mail:zpzzut@163.com。