999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VC的西門子840D數控系統人機界面開發方法

2013-08-01 11:37:48張衛青王興龍
關鍵詞:界面

金 陵,張衛青,王興龍

(重慶理工大學汽車零部件制造與檢測教育部重點實驗室,重慶 400054)

隨著數控機床的高速發展,數控系統的通用功能已不能滿足高檔機床的特殊需求,對開放式的數控系統進行二次開發已成為當今數控技術的研究熱點[1-2]。

目前,我國大部分高端機床均采用西門子840D數控系統,為了適應個性化市場的需要,國內學者針對各種機床不同的控制要求,對西門子840D數控系統的二次開發方法進行了一系列研究。其中,大部分學者利用 HMI Programming Package開發工具,通過HMI Advanced標準軟件開發標準應用程序Regie及Sequence Control的嵌入式應用軟件,但其開發方式存在一定局限性,一些標準類模板及窗體都不允許更改,語言動態鏈接庫的建立也較為煩瑣。而單獨采用VC++開發標準的Windows應用軟件則能很好地解決這些問題,且所開發的人機界面更加人性化、自由化、美觀化。因此,本文利用西門子數控系統提供的HMI軟件包,研究利用面向對象的編程語言VC進行高端機床的專用人機界面制作,并開發了適用于840D數控系統的人機界面[3]。

1 人機界面總體框架

根據相關機床的加工特點及功能要求,設計整個界面的總體框架,如圖1所示。圖1中顯示了界面中各窗口的調用關系及各軟件與窗口狀態的聯系[3]。

圖1 界面總體框架

圖1中,主界面為狀態監控,包括各坐標軸坐標實時顯示以及報警服務、循環、余程、加工狀態等框架;數據管理主要完成機床加工數據文件的導入導出,實現數據文件中各項參數的查看、編輯等功能;程序主要控制零件程序的運行、顯示和編輯功能;結果分析是對相關數據的處理及結果的顯示。用戶可以根據實際要求在主界面上繼續添加框架,每一個框架都是一個界面,每一個界面都是由數個對話框組成,它們之間都是相互聯系、協同工作的。

2 基于VC的界面開發方法

界面采用MFC基于對話框形式完成設計及數據通訊服務。通過數控通訊服務器(NCDDE Server)、數控內核(NCK)、可編程序控制器(PLC)等組件實現人機界面交互功能。開發前,只需在PC機上安裝VC++編程軟件,所開發出的標準Windows應用程序即能在西門子數控系統下運行。

根據相關機床的實際要求編輯各對話框界面,并且在VC環境下直接與NCU、PLC建立連接,實現界面與840D數控系統的通訊。所開發軟件的主要功能包括:人機界面上各軟件定義及與機床操作面板上鍵盤響應;對NCU中各種變量的訪問,如軸坐標值、進給率、余程等;NCU文件讀取及對R參數的訪問;對PLC中各種變量的訪問,如I/O口、標志區M、數據塊DB等。各個應用模塊都另行開發且脫離于西門子HMI Programming Package開發框架,即獨立于西門子數控系統的主控制和順序控制之外。與傳統的VB語言開發相比較,其通用性更強、開發更加自由,并且語言動態顯示更加簡便[4-8]。

2.1 多語言顯示

PC機上獨立開發的人機界面在數控系統中運行時,控件的文本不能顯示中文。不同于傳統開發方式,在VC環境下無需創建DLL語言動態鏈接庫,采用UNICODE編程就可以在西門子系統下動態顯示中文,并且能使界面同時支持多種語言。VC++6.0中,具體設置步驟:打開[工程]->[設置…]對話框,在 C/C++標簽對話框的“預處理程序定義”中去除_MBCS,加上_UNICODE,UNIC-ODE,然后需要設置Unicode專用的程序入口點,即在Link頁的Output類別的Entry-Point里填上wWinMainCRTStartup。一般情況下輸入字符時加上_T宏,則能兼容ANSI和Unicode字符。

2.2 人機界面信息與NCU/PLC中變量的傳遞

在VC環境下,人機界面可直接利用西門子數控系統服務器提供的接口訪問 NCU、PLC、MMC103中的變量和文件,實現需要的NCK/PLC變量存取。同時,在執行程序時,直接通過VC程序向數控系統發出指令,指示機床動作。

2.2.1 NCK/PLC 變量存取

在人機界面上,需要實時更新采集到的數據,把NCK中的變量及數據的有關信息及時反映到顯示屏上,從而使操作者能對機床狀態進行管理和操作。NCK中采集的變量和數據主要包括系統變量、系統狀態數據、通道專用數據、軸狀態數據、驅動狀態數據、刀具和刀具庫數據、機床和設定數據、參數、伺服、診斷數據等。

1)根據動態數據交換技術(DDE)的優點及具體要求,在VC環境下通過DDE來建立連接,獲取當前各軸的坐標值、進給速度、余程等數據。首先需要對 DDE連接進行初始化,以 ncdde/nuc840d作為連接的服務器名稱和主題,通過建立函數來讀取各軸數據。下面是在VC中讀取1個軸當前坐標值時用到的程序代碼:

還需通過DdeClientTransaction()函數向數控系統服務器發送數據請求,服務器必須通過DDE回調函數處理請求并返回DdeCreateDataHandle()來發送數據。同時可以調用DdeGetData()來獲取實時數據,并動態顯示在界面上。

2)由于VC++6.0的MFC中已集成了COM組件開發工具ATL(活動模板庫),因此在VC中選擇使用 OPC協議,通過與 OPC Alarm&Event Server建立連接實現報警數據讀取。OPC是OLE for Process Control的縮寫,它采用客戶/服務器體系,是基于Microsoft的OLE/COM技術,為硬件廠商和應用軟件開發者提供了一套標準的接口。

首先,需要在MFC程序的StdAfx.h文件中添加ATL中心模塊類CComModule,并創建一個全局實例_Module,它的實現位于 atlbase.h和 atlimpl.cpp中,因此在程序中必須包含這2個文件。報警數據顯示的對話框所產生的類,命名為CAlarm類。同時,為了實現回調對象的接收,還需添加一個派生于IOPCEventSink(事件訂閱的接收器接口)及 CComObjectRoot(內部 ATL函數實現)的類,命名為COPCEvent- Sink。

在VC中,ATL主要處理引用計數的實現以及IUnknown的成員函數QueryInter-face()的功能,為此,必須在COPC-EventSink類中插入COM地圖。COM地圖主要描述了哪些接口會被回調對象使用并且可以通過 QueryInterface()返回。在COPCEventSink類中,相應的聲明代碼如下:

除了這些接收器接口以外,在COPCEv-entSink類中,使用成員函數Connect()建立回調對象與OPC server的連接點的連接,利用成員函數Initialize()對回調對象進行初始化,即建立一個報警數據變量。

相應地,還需在CAlarm類中添加相關函數才能從OPC Alarm&Event Server中接收報警信號,并在對話框中顯示。具體步驟:

①創建OPC服務器實例,并建立連接。通過成員函數ConnectServer()與服務器建立連接,連接之前客戶端需要服務器的 CLSID,可以通過CLSIDFromProgID()函數來獲取信息,其中ProgID為OPC.S-inumerik Events。這樣通過 CLSID及Co-CreateInstance()函數便可創建服務器實例,其中以IUnknown作為請求接口。

②請求數據訂閱操作接口。通過成員函數GetInterfaces()實現,以 IUnknown的成員函數QueryInterface()獲取。

③在OPC服務器上創建報警數據訂閱,并連接到接收器對象。通過成員函數CreateSubscription()實現,其中利用 IOPCEventServer::CreateEventSubscription()函數創建一個報警數據訂閱。若創建成功,即與服務器中一個接收對象連接,此時,當有一個新的報警產生時客戶便可以接收到服務器返回的數據。同時,通過 CComObject::CreateInstance()函數創建一個COPCEventSink類的實例,此時,服務器返回的回調對象便在COPCEventSink類中的成員函數Initialize()中進行初始化,然后通過成員函數Connect()將回調對象與創建的數據訂閱接口連接。

最后,通過COPCEventSink類中的成員函數OnEvent()將所創建的報警數據訂閱所返回的信號(數據)顯示在對話框的List Control控件上。所顯示的報警數據在界面上實時更新,包括報警時間、來源、報警號、消息等。

2.2.2 文件傳遞及程序調用

人機界面在進行齒面測量時,必須將某些程序和文件復制并存到NCK中,反之亦然。在VC環境下同樣利用COM組件技術,創建一個派生于IDispatchImpl及 CComObject- Root的類,命名為CMCDomainCallback,添加的COM地圖聲明代碼如下:

在所用的對話框類中,添加成員函數ConnectToDomainServer(),創建IMC中的DomainServer實例,并建立連接。以CopyNC()以及MapACC_NC()函數發送復制文件請求。其中,向系統服務器中復制文件的詳細代碼如下:

CopyNC(bstrSourceFile,bstrTargetFile,MCDOMAIN_COPY_NC);

相應地,同樣利用 COM組件創建 IMC中Command實例,從而實現對NC/PLC的程序調用服務。如通知NCK執行一個指令,VC中代碼為:#PI_START,/NC,201,/_N_MPF_DIR/_N_123_MPF,_N_SELECT#。

將所有的功能集成在每一個對話框中。對話框設計完成后,就可以生成VC的標準Windows應用程序,并在數控系統開發平臺中運行。

3 結果驗證

本研究根據上節描述的開發方法,以錐齒輪磨齒機在機測量軟件開發為例,在VC環境下制作了人機界面,并將所開發的人機界面在840D數控系統上進行模擬。如圖2、3所示,NCK變量存取、報警服務、多語言等均顯示成功,驗證了基于VC的840D數控系統人機界面開發方法的正確性。

圖2 主界面監控狀態

圖3 人機界面調整參數編輯界面

4 結束語

本文研究了VC環境下高端機床專用人機界面制作方法,采用UNICODE編程實現界面多語言顯示,使用DDE技術及OPC協議來對NCK/PLC變量進行存取,利用COM組件技術進行文件傳遞以及程序調用。根據此方法,以錐齒輪磨齒機在機測量軟件開發為例制作了人機界面,并將人機界面在840D數控系統中進行模擬,驗證了基于VC的840D數控系統人機界面開發方法的正確性。

[1]賴國庭,吳玉厚,富大偉.開放式數控系統的發展及性能研究[J].機械與電子,2003(2):3-5.

[2]魏巍.開放性的西門子840D在數控磨齒機中的應用[J].制造技術與機床,2006(1):99 -101.

[3]張明德,張衛青,郭曉東.全數控錐齒輪銑齒機軟件開發[J].制造技術與機床,2009(11):102-105.

[4]SIEMENS.User’s Manual for SINUMERIK 840D/840Di HMI Programming Package[Z].[S.l.]:Siemens,2004.

[5]向筱,黎勇,張衛青.基于西門子840D數控系統的錐齒輪研齒機的人機界面開發[J].重慶工學院學報:自然科學版,2008,22(3):111 -113.

[6]吳艷花,雷俊杰.基于840D數控系統的人機界面二次開發[J].機床與液壓,2011(10):118-121.

[7]余英,梁剛.Visual C++實踐與提高 COM和COM+篇[M].北京:中國鐵道出版社,2001.

[8]Smith J.Understanding and Using COM Threading Models[M].WA:MicrosoftCorp,1998.

猜你喜歡
界面
聲波在海底界面反射系數仿真計算分析
微重力下兩相控溫型儲液器內氣液界面仿真分析
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
西門子Easy Screen對倒棱機床界面二次開發
空間界面
金秋(2017年4期)2017-06-07 08:22:16
鐵電隧道結界面效應與界面調控
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 亚洲精品波多野结衣| 亚洲丝袜中文字幕| 国产免费人成视频网| 99九九成人免费视频精品| 欧美日韩理论| 国产福利小视频高清在线观看| 国产成在线观看免费视频| 57pao国产成视频免费播放| 国产视频入口| 手机在线看片不卡中文字幕| 人人看人人鲁狠狠高清| 亚洲美女一区二区三区| 色网站在线视频| 精品無碼一區在線觀看 | 九九热精品视频在线| 日韩色图区| 久久亚洲国产一区二区| 91高清在线视频| 国产xx在线观看| 国产青青操| 91青青在线视频| 国产成人亚洲无吗淙合青草| 亚洲成AV人手机在线观看网站| 在线观看国产网址你懂的| 美女视频黄频a免费高清不卡| 四虎精品黑人视频| 国产成人毛片| 欧美色香蕉| 幺女国产一级毛片| 国产一级视频在线观看网站| 国内毛片视频| 国产www网站| 亚卅精品无码久久毛片乌克兰| 国产成人凹凸视频在线| 欧美精品在线观看视频| 国产日韩欧美视频| 熟妇无码人妻| 国产一区二区三区精品欧美日韩| 成人在线不卡视频| 欧美成a人片在线观看| 91九色国产porny| 久久狠狠色噜噜狠狠狠狠97视色| 国产精品视频观看裸模| 欧美国产日产一区二区| 欧美综合区自拍亚洲综合绿色 | 亚洲乱码视频| 男女男精品视频| 97国产精品视频自在拍| 日韩精品专区免费无码aⅴ| 国产综合精品日本亚洲777| 在线欧美a| 国产无码在线调教| 国产地址二永久伊甸园| 欧美一级专区免费大片| 99re这里只有国产中文精品国产精品| 色香蕉影院| 国产一区二区福利| 日本手机在线视频| 成人毛片在线播放| 国产成人91精品免费网址在线| 最新国产你懂的在线网址| 亚洲a级在线观看| 全部免费毛片免费播放| 久久国产高清视频| 全部毛片免费看| 亚洲天堂啪啪| 亚洲制服中文字幕一区二区| 精品少妇三级亚洲| 国产一区二区三区精品欧美日韩| 伊人色天堂| 亚洲一区二区三区国产精华液| 国产在线视频导航| 亚洲男人的天堂在线| 亚洲天堂网视频| 亚洲第一成人在线| 国产亚洲一区二区三区在线| 亚洲Aⅴ无码专区在线观看q| 精品国产免费第一区二区三区日韩| 99久久精品免费看国产免费软件| 欧美日韩国产成人高清视频| 中文字幕亚洲精品2页| 免费一级毛片|