鄭鵬,張琳娜,趙鳳霞
(鄭州大學(xué)機(jī)械工程學(xué)院,河南鄭州 450001)
磨加工主動量儀動態(tài)數(shù)據(jù)交換技術(shù)的研究
鄭鵬,張琳娜,趙鳳霞
(鄭州大學(xué)機(jī)械工程學(xué)院,河南鄭州 450001)
根據(jù)工控主板型磨加工主動量儀的硬件結(jié)構(gòu)特點及功能要求,利用組態(tài)軟件和高級語言混合編程方式實現(xiàn)主動量儀軟件系統(tǒng)的開發(fā)。針對磨加工主動量儀數(shù)據(jù)采集、分析和處理的數(shù)據(jù)通信問題,提出了基于BlockDDE技術(shù)的動態(tài)數(shù)據(jù)交換方法。給出了主動量儀數(shù)據(jù)交換的原理,以及BlockDDE初始化、建立數(shù)據(jù)庫、數(shù)據(jù)傳輸?shù)脑敿?xì)步驟。為驗證該方法的正確性,給出了具體的應(yīng)用實例。實驗結(jié)果表明:該方法可以滿足主動量儀數(shù)據(jù)傳輸?shù)膶崟r性、高速性、精確性要求。研究成果將為新型磨加工主動量儀的開發(fā)提供必要的技術(shù)支持。
磨加工;主動測量;BlockDDE技術(shù);控制系統(tǒng)
隨著制造業(yè)現(xiàn)代化的不斷發(fā)展,工業(yè)生產(chǎn)對設(shè)備的加工精度、加工效率提出了更高的要求。磨削加工擔(dān)負(fù)著零件精密表面的最終加工工序,它的精度對機(jī)械產(chǎn)品的質(zhì)量具有直接的影響[1]。磨加工主動測量控制儀 (簡稱主動量儀)在近二十年得到了快速的發(fā)展,它是一種在線測量工件并能控制磨削進(jìn)程的智能化設(shè)備[2-3]。在工作過程中,主動量儀始終測量著工件的尺寸,并將其尺寸變化量隨時傳遞給控制器,再由控制設(shè)備發(fā)出信號控制機(jī)床的動作,如圖1所示。由于它能使操作人員無需停機(jī)就能測量工件,減少了勞動強(qiáng)度,提高了生產(chǎn)效率,降低了廢品率。但目前國內(nèi)磨加工主動量儀的發(fā)展相對落后,產(chǎn)品普遍存在功能單一、顯示不夠直觀、設(shè)置及調(diào)整不方便等不足。
圖1 磨加工主動量儀工作原理圖
針對國內(nèi)磨加工主動量儀存在的問題,以基于工控主板的總線式硬件系統(tǒng)為平臺,利用組態(tài)軟件進(jìn)行控制軟件系統(tǒng)的開發(fā)。由于組態(tài)軟件開發(fā)界面便捷,很大程度上提高了人機(jī)界面的交互能力和可操作性[4-5]。但組態(tài)軟件受限于數(shù)據(jù)采集頻率,它無法滿足磨削加工中的測量采樣要求。因此,采用組態(tài)軟件與高級語言混合編程方式進(jìn)行系統(tǒng)的開發(fā)無疑是有效解決高速采樣和數(shù)據(jù)處理問題的途徑。文中針對混合編程過程中數(shù)據(jù)采集、分析和處理的交互問題,提出了基于BlockDDE的主動量儀動態(tài)數(shù)據(jù)交換方法,有效地提高了數(shù)據(jù)通信效率,保證了過程的實時性和準(zhǔn)確性,為磨加工主動量儀的系統(tǒng)開發(fā)提供可靠的技術(shù)支持。
磨加工主動量儀采用組態(tài)王KingView作為系統(tǒng)的上層平臺,實現(xiàn)顯示和用戶操作界面功能;采用VisualBasic(以下簡稱VB)程序作為底層平臺,實現(xiàn)與傳感測量裝置及數(shù)控磨床接口通信,完成數(shù)據(jù)采集及數(shù)據(jù)處理。系統(tǒng)的數(shù)據(jù)交換工作流程如圖2所示。在磨削加工過程中,測量裝置 (測頭)始終監(jiān)測著工件的尺寸變化,并實時將采樣數(shù)據(jù)傳遞給主動量儀的底層平臺VB程序,VB程序從組態(tài)王參數(shù)配方中讀取已預(yù)先設(shè)定的各參數(shù),并將當(dāng)前工件尺寸測量值和信號點設(shè)定值進(jìn)行比對,從而通過IO口發(fā)出信號 (粗磨、精磨、光磨、到尺寸等)給磨床控制系統(tǒng),機(jī)床隨即進(jìn)行相應(yīng)的動作,如改變砂輪的轉(zhuǎn)速和進(jìn)給速度等。同時,按要求實時地將處理后的數(shù)據(jù)傳遞給上層平臺組態(tài)王界面進(jìn)行顯示。
圖2 主動量儀數(shù)據(jù)交換流程圖
由上述主動量儀的功能和數(shù)據(jù)交換原理可知,當(dāng)采用混合編程時,高速、實時、準(zhǔn)確的數(shù)據(jù)交換尤為重要。采用基于BlockDDE的動態(tài)數(shù)據(jù)交換技術(shù),實現(xiàn)主動量儀工作過程中組態(tài)王和VB之間的數(shù)據(jù)動態(tài)交互。
標(biāo)準(zhǔn)DDE(Dynamic Data Exchange)是微軟公司在Windows平臺上設(shè)計的一個完整的通信協(xié)議,它支持兩個或多個應(yīng)用程序能彼此交換數(shù)據(jù)和發(fā)送指令[6]。DDE始終發(fā)生在客戶應(yīng)用程序和服務(wù)器應(yīng)用程序之間。提供數(shù)據(jù)的一方稱為服務(wù)器,接收數(shù)據(jù)的一方稱為客戶。通過建立“熱鏈路”將客戶程序和服務(wù)器程序聯(lián)系起來,所謂“熱鏈路”,就是請求服務(wù)程序,每當(dāng)特定項的數(shù)據(jù)發(fā)生變化時,就將數(shù)據(jù)值直接發(fā)送給客戶程序。使用標(biāo)準(zhǔn)的DDE時,每個DDE項目都必須對應(yīng)一個熱鏈接,當(dāng)要交換的數(shù)據(jù)量大時,將消耗更多的資源,而且在數(shù)據(jù)量大并且數(shù)據(jù)變化頻繁時,速度會變得很慢。BlockDDE可以有效地解決這一“瓶頸”問題,在使用BlockDDE時,在服務(wù)器程序和客戶程序之間只需建立一個熱鏈接,服務(wù)器程序的多個數(shù)據(jù)項同時發(fā)生變化后,只需一次DDE通信就可以傳送給客戶程序,運行速度快捷。圖3所示為兩種交換方式的比較。
圖3 DDE及BlockDDE鏈接方式
DDE通信都需要建立服務(wù)程序名,主題名及項目名3個標(biāo)識。對于標(biāo)準(zhǔn)的DDE,組態(tài)王的應(yīng)用程序名和主題分別規(guī)定為“VIEW”和“tagname”,在數(shù)據(jù)詞典里定義I/O變量的同時也定義了項目名;VB程序的應(yīng)用程序名和主題分別為工程名和窗體的LinkTopic屬性值,項目名是一個特定的文本框、標(biāo)簽或圖片框的名稱。對于BlockDDE,可通過調(diào)用初始化函數(shù)同時完成對服務(wù)程序名和主題名的聲明,并且項目名不但可以是對應(yīng)于VB應(yīng)用程序中的控件名,而且還可以是變量名,這對于采用VB開發(fā)底層程序而言,不需要在窗體上創(chuàng)建控件,從而使得程序更加簡潔流暢。
根據(jù)上述磨加工主動量儀數(shù)據(jù)交換過程,基于BlockDDE技術(shù)實現(xiàn)動態(tài)數(shù)據(jù)的交換主要包括初始化、建庫、數(shù)據(jù)傳輸。BlockDDE以動態(tài)鏈接庫的形式用來開發(fā)DDE服務(wù)程序 (以下簡稱I/O SERVER)。
BlockDDE的初始化首先需要聲明I/O SERVER的服務(wù)名和主題名,登記重載函數(shù)DataFormKingView的實際地址以及主窗口句柄。初始化是由函數(shù)SDde_Initial來完成的,通常在主窗口創(chuàng)建進(jìn)行。下面一段代碼用于初始化服務(wù)名svrName為“主動量儀”,主題名topicName為“BlockDDE”的 I/O SERVER。Dim suc As Integer
BlockDDE為每一個I/O SERVER維護(hù)一個數(shù)據(jù)庫。所有需要傳送的數(shù)據(jù)點都要登記入庫,必須聲明每個數(shù)據(jù)點變量的ID號、變量類型、數(shù)據(jù)屬性及初始值,可通過調(diào)用函數(shù)CreatDateBaseItem為每一個數(shù)據(jù)點登記。
CreateDataBaseItem(ByVal hInst As long,ByVal wTagID as integer,Byval bType As BYTE,ByVal bAttri As BYTE,InitialDdeValue As DDEValue)
其中:wTagID為該變量在組態(tài)王數(shù)據(jù)詞典中的ID號;bType為該變量的數(shù)據(jù)類型,有模擬型(FLOAT_TYPE)、長整型 (LONG_TYPE)、離散型(DISC_TYPE)、字符串型 (STRING_TYPE)4種;bAttri為該變量的數(shù)據(jù)屬性,有讀寫或只寫;InitialD-deValue為該變量的初始值。
如定義測量裝置測頭1的數(shù)據(jù)變量為G1,數(shù)據(jù)類型為IO實型,ID地址為21,數(shù)據(jù)屬性為讀寫。為判斷主動量儀當(dāng)前工作狀態(tài)是手動還是自動,在組態(tài)王中定義IO字符串變量READY,ID地址為23。如圖4所示,則有
圖4 變量定義列表
初始化和創(chuàng)建數(shù)據(jù)庫成功后,I/O SERVER和組態(tài)王之間能夠進(jìn)行雙向數(shù)據(jù)交換。I/O SERVER可以不斷地將變化的數(shù)據(jù)傳送給組態(tài)王并隨時接收組態(tài)王發(fā)送過來的數(shù)據(jù)。I/O SERVER向組態(tài)王傳送的過程分兩步:首先,調(diào)用SDde_SetDataToDB將新值設(shè)入到BlockDDE數(shù)據(jù)庫中,然后調(diào)用SDde_Send,將其發(fā)送給組態(tài)王。
組態(tài)王與I/O SERVER之間的數(shù)據(jù)交換是雙向的,I/O SERVER通過重載函數(shù)DateFormKingView來完成組態(tài)王向I/O SERVER發(fā)送數(shù)據(jù)。當(dāng)組態(tài)王中的變量發(fā)生改變時,將調(diào)用DateFormKingView。如組態(tài)王傳遞工作狀態(tài)READY值給I/O SERVER的字符串READY變量,則有:
磨加工主動量儀實現(xiàn)加工過程在線的工件測量,并將控制信號發(fā)送給數(shù)控磨床,通過閉環(huán)控制實現(xiàn)工件的自動加工。該實驗從測頭值、工作狀態(tài)、內(nèi)部補調(diào)值3個方面進(jìn)行數(shù)據(jù)的動態(tài)傳輸和顯示,從而驗證文中提出的動態(tài)數(shù)據(jù)通信方法的正確性。
首先在組態(tài)王KingView環(huán)境的工程瀏覽器下,根據(jù)向?qū)ЫDE設(shè)備,DDE設(shè)備命名為BLOCKDDE,服務(wù)器名和話題名分別為“主動量儀”和“BlockDDE”,數(shù)據(jù)交換方式選擇“高速塊交換”,如圖5所示。
DDE設(shè)備建立完成后,在數(shù)據(jù)詞典中定義相應(yīng)的DDE變量,如表1所示,分別建立對應(yīng)于測頭1、測頭 2、工作狀態(tài)、內(nèi)部補調(diào)值變量 G1、G2、READY、nb,其中“寄存器”的值就是在定義變量時變量屬性中的項目名,對應(yīng)于VB應(yīng)用程序中的控件名或變量名,如圖6所示。
圖5 DDE的設(shè)備建立
表1 組態(tài)王變量定義
圖6 組態(tài)王數(shù)據(jù)詞典變量定義界面
實驗過程中數(shù)控磨床驅(qū)動測量裝置,接觸式測量工件,VB程序采集并處理測頭1、測頭2的測量數(shù)據(jù),對傳感器電壓值與尺寸關(guān)系為:測量值=(測頭電壓值-零位電壓值)×倍率,其結(jié)果如表2所示。為便于觀察,將測量數(shù)據(jù)顯示于VB工程界面中,如圖7所示,當(dāng)主動量儀工作時,VB程序?qū)y頭數(shù)據(jù)傳遞給組態(tài)王用戶界面進(jìn)行顯示。運行組態(tài)王工程后,在主動量儀測量窗口4中通過智能仿真儀表顯示測頭1、測頭2的數(shù)據(jù),儀表具有自動倍率切換功能,如圖8所示。
表2 測頭數(shù)據(jù)
圖7 VB工程界面
圖8 組態(tài)王測量窗口界面
主動量儀工作過程中,組態(tài)王將主動量儀的工作狀態(tài)READY值 (手動為0、自動為1)反饋到VB中,通過VB與數(shù)控磨床IO的通信,磨床產(chǎn)生相應(yīng)的動作。另一方面,由于主動量儀存在系統(tǒng)誤差,操作人員在加工過程中可以通過內(nèi)部補調(diào)值修正實時測量結(jié)果,如圖8所示,該內(nèi)部補調(diào)值需要傳遞給后臺VB程序進(jìn)行相應(yīng)運算,因此,VB需要實時接收組態(tài)王發(fā)送的內(nèi)部補償值,接收到的READY及內(nèi)部補調(diào)值如圖7所示。
圖9所示為主動量儀的加工過程狀態(tài)顯示窗口,加工中組態(tài)王實時接收VB傳輸來的尺寸數(shù)據(jù),通過描繪加工過程數(shù)據(jù)的曲線,可以直觀地反映出工件在磨削過程中所處的加工狀態(tài)。
圖9 主動量儀加工狀態(tài)曲線顯示圖
實驗結(jié)果表明:利用組態(tài)王和VB混合編程中的數(shù)據(jù)通信方法能夠滿足主動量儀對數(shù)據(jù)處理的要求;并且利用BlockDDE技術(shù),VB應(yīng)用程序與組態(tài)王數(shù)據(jù)交換的實時性也可以滿足過程控制的需要。
基于BlockDDE通信技術(shù)實現(xiàn)磨加工主動量儀的動態(tài)數(shù)據(jù)通信,為綜合運用組態(tài)王軟件及VB高級語言的混合編程進(jìn)行主動量儀軟件控制系統(tǒng)的開發(fā)提供了必要的技術(shù)基礎(chǔ)。經(jīng)過實驗測試,在線測量數(shù)據(jù)的傳遞準(zhǔn)確性、實時性及穩(wěn)定性能夠滿足功能要求,進(jìn)一步驗證了該方法的可行性和正確性。
[1]SCHOLZ Rick.Gaging Improves Automatic Grinder Control[J].Quality,2002(4):33 -353.
[2]王鴻偉.磨加工過程中的主動測量儀[J].軸承,2004(4):32-34.
[3]薛君英.PULCOMV4主動量儀在數(shù)控珩磨加工中的應(yīng)用[J].機(jī)電信息,2010(30):12-13.
[4]楊漢,袁中凡.基于組態(tài)軟件和PLC的機(jī)翼精加工水平測控系統(tǒng)[J].中國測試技術(shù),2008(1):131-133.
[5]李瑞先,譚德榮,曹雁鋒.基于組態(tài)王測控系統(tǒng)軟件的設(shè)計及實現(xiàn)[J].測控技術(shù),2006(6):57-59.
[6]田曉英,張文焱,劉慶濱,等.利用DDE技術(shù)實現(xiàn)King View與VC程序的監(jiān)控數(shù)據(jù)通訊[J].自動化技術(shù)與應(yīng)用,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—),男,工學(xué)博士,副教授,主要從事機(jī)械精度設(shè)計、傳感檢測技術(shù)等領(lǐng)域的研究。E-mail:zpzzut@163.com。