摘要 數(shù)控技術(shù)作為未來先進制造技術(shù)的核心內(nèi)容之一,正在朝著開放化,網(wǎng)絡(luò)化,柔性化和智能化方向發(fā)展,數(shù)控裝備產(chǎn)品的設(shè)計制造和應(yīng)用開發(fā)都日益顯示出基于開放接口標準的模塊形態(tài)。基于模塊和組件的...
數(shù)控技術(shù)作為未來先進制造技術(shù)的核心內(nèi)容之一,正在朝著開放化,網(wǎng)絡(luò)化,柔性化和智能化方向發(fā)展,數(shù)控裝備產(chǎn)品的設(shè)計制造和應(yīng)用開發(fā)都日益顯示出基于開放接口標準的模塊形態(tài)。基于模塊和組件的系統(tǒng)構(gòu)建策略更能體現(xiàn)產(chǎn)品設(shè)計制造過程中的人性化思想,每一個模塊都是一個有針對性應(yīng)用領(lǐng)域的技術(shù)產(chǎn)品形式,是該領(lǐng)域技術(shù)原理,應(yīng)用方案和實現(xiàn)形式的綜合體現(xiàn),是其在數(shù)控加工環(huán)境下的具體應(yīng)用,其設(shè)計理念和性能指標都體現(xiàn)數(shù)控加工技術(shù)的要求和市場應(yīng)用的需求,這些充分體現(xiàn)設(shè)計者個性化的產(chǎn)品組件通過開放的標準接口形式有機的結(jié)合,組成了功能豐富性能完善的數(shù)控裝備產(chǎn)品。 論域分析及面向?qū)ο蟮脑O(shè)計
★論域分析
論域分析是軟件開發(fā)的基本組成部分,目的是使開發(fā)人員了解問題空間的組成,建立大致的系統(tǒng)實現(xiàn)環(huán)境。論域分析實際上是一種學習的過程,開發(fā)人員在這個階段,應(yīng)盡可能地理解當前系統(tǒng)工程與應(yīng)用的有關(guān)知識,應(yīng)開放思維,放寬思考領(lǐng)域,盡可能標識與應(yīng)用有關(guān)概念,通過與領(lǐng)域?qū)<液陀脩舻某浞钟懻摚_定問題領(lǐng)域,以用戶需求為標準,縮減問題論域信息量,標識出系統(tǒng)的基本概念:對象和類、方法、關(guān)系等,從而進入面向?qū)ο蟮脑O(shè)計過程。
★面向?qū)ο蟮脑O(shè)計
面向?qū)ο蟮脑O(shè)計過程可分為4個組成部分:問題領(lǐng)域、用戶界面、任務(wù)管理、數(shù)據(jù)管理。問題領(lǐng)域部分的設(shè)計實際上是對論域分析的進一步細化,它包括加入低層構(gòu)件、把論域中相關(guān)的類關(guān)聯(lián)起來并建立類間協(xié)議,確定繼承關(guān)系。用戶界面部分的設(shè)計包括設(shè)計命令層、設(shè)計人機交互類,應(yīng)根據(jù)圖形用戶界面進行設(shè)計。任務(wù)管理部分的設(shè)計包括識別事件驅(qū)動任務(wù)、識別優(yōu)先任務(wù)和識別關(guān)鍵任務(wù),確定各個任務(wù)之間如何協(xié)調(diào)工作、如何通信。數(shù)據(jù)管理部分的設(shè)計包括數(shù)據(jù)存放設(shè)計(文件存放、數(shù)據(jù)庫表格存放、面向?qū)ο蟮臄?shù)據(jù)庫存放)和設(shè)計相應(yīng)操作(為每個需要存儲的對象和類增加用于存儲管理的屬性和操作)。
作為軟件開發(fā)人員,在論域分析階段應(yīng)和相關(guān)人員學習、分析、討論相關(guān)知識并與用戶進行界面、數(shù)據(jù)管理和報表生成方面的討論,上述方面進行的越充分,對以后的開發(fā)越有利,對縮短軟件開發(fā)周期更有好處。
★動態(tài)連接庫(DLL)的建立
動態(tài)連接庫是一種基于Windows 的程序模塊,它可以在程序運行時被裝入和連接,使應(yīng)用程序不至于顯得非常龐大和復(fù)雜。
Windows的程序模塊,它可以在程序運行時被裝入和連接,使應(yīng)用程序不至于顯得非常龐大和復(fù)雜。
★MFC常規(guī)動態(tài)連接庫的建立
作為測控軟件不僅要編寫計算機接口程序,而且還有編寫數(shù)據(jù)處理程序,這些程序調(diào)用的頻率較高,宜作為庫函數(shù)使用,這樣一來內(nèi)存中只有一個代碼備份,而且可以同時被多個任務(wù)共享。
計算機接口程序應(yīng)根據(jù)需要包含定時器、D/A和A/D轉(zhuǎn)換、開關(guān)量輸入輸出、串口通信程序等,為保證這些程序為通用程序,一般應(yīng)設(shè)計初始化程序。在初始化程序中,應(yīng)能完成各個口地址的傳遞,以便于應(yīng)用程序的調(diào)用。例如:intgetAD (int iCH),改變A/D通道號iCH的值,可得到不同傳感器的轉(zhuǎn)化值:voidsetDA (inti CH,int iNum),可將D/A轉(zhuǎn)換值iNum送iCH通道轉(zhuǎn)換。
數(shù)據(jù)處理程序包含一維離散數(shù)據(jù)處理和多維離散數(shù)據(jù)處理,為使用方便,原始數(shù)據(jù)的帶入應(yīng)使用指針,計算控制參數(shù)也是必不可少的。例如求解二維離散數(shù)據(jù)(*pX, *pY)X和Y的值,已知X值時用表達式:Y=getY(double*pX,double*pY,int*pPointNum,doubleX)它采用多項式擬合的方式求解;當已知Y 值時用表達式X=getY(double *pY, double*pX,int * pPoint Num,doubl eY)求解。
如在應(yīng)用程序中得到多維數(shù)據(jù),想知道任意二維數(shù)據(jù)之間關(guān)系,用它計算處理數(shù)據(jù)也非常方便,另外分段擬合數(shù)據(jù)用它也是可以的。
常用小程序也是動態(tài)連接庫的基本內(nèi)容,例如數(shù)據(jù)顯示、數(shù)據(jù)類型轉(zhuǎn)換、排序、求極值等。注意,凡涉及數(shù)據(jù)輸入輸出均采用指針為佳。如:void find-MaxMin(dou ble *pX,double*dMax,double*dMin)
★MFC擴展動態(tài)連接庫的建立
利用MFC擴展動態(tài)連接庫,可以方便地在DLL和應(yīng)用程序之間隨意地傳遞MFC對象指針。本人曾利用它建立文檔處理類、系統(tǒng)資源測試類、被測件類(一般1個被測件建立1類)。
文檔處理類主要用于中間數(shù)據(jù)及結(jié)果的存取,中間數(shù)據(jù)的保存用于重現(xiàn)歷史測試曲線,它和應(yīng)用程序之間數(shù)據(jù)的傳遞使用結(jié)果數(shù)據(jù)結(jié)構(gòu)指針,結(jié)果數(shù)據(jù)結(jié)構(gòu)的定義應(yīng)具有通用性,這樣文檔處理類就可針對結(jié)果數(shù)據(jù)結(jié)構(gòu)進行處理,并不需要被測件的具體數(shù)據(jù),應(yīng)用程序只需在初始化時賦具體意義。
被測件類根據(jù)被測件類型的多少可以有若干個,每個被測件應(yīng)根據(jù)試驗大綱和技術(shù)條件編寫若干個屬性和方法(即測試模塊,如磨合,測試極值等),編寫測試模塊時測試過程應(yīng)連續(xù)進行,中間數(shù)據(jù)應(yīng)做適當?shù)乇A簦詡溥^程復(fù)現(xiàn)和結(jié)果處理之用。
系統(tǒng)資源測試類供接口測試用
★接口測試
接口是軟硬件之間信息轉(zhuǎn)換的中轉(zhuǎn)站,硬件信息通過它傳給軟件,軟件指令通過它傳給硬件,接口測試就是測試軟硬件信息交換是否符合設(shè)計要求,利用系統(tǒng)資源測試類設(shè)計接口測試界面,可進行接口測試,同時也可進行硬件和軟件的調(diào)試,接口測試界面應(yīng)包括足夠多的內(nèi)容,它可以觀察:AD通道傳感器的轉(zhuǎn)換情況;DA通道送轉(zhuǎn)值的轉(zhuǎn)換情況;DI通道是否有外部信號輸入;DO通道是否給各控制位置位或清零(如電磁閥的通/斷、電機的啟動/停止、液壓泵的啟動/停止);定時器的運行情況(主要用于流量等頻率信號的測量)。
通過上述系統(tǒng)資源測試,可知道硬件相關(guān)部分工作情況,與此同時,也進行了軟件相關(guān)部分的測試,為應(yīng)用程序成功調(diào)試奠定了良好基礎(chǔ)。
★用戶界面
用戶界面的設(shè)計應(yīng)解決如下問題:操作應(yīng)簡單,能完成所有測試項目,能對數(shù)據(jù)(含歷史數(shù)據(jù))進行文檔管理(打開、保存、打印等),顯示測試結(jié)果等。程序設(shè)計時應(yīng)采用多線程,線程優(yōu)先級以及線程間數(shù)據(jù)傳遞應(yīng)做通盤考慮,應(yīng)用程序進入測試界面后,首先建立優(yōu)先級最高的兩個線程:控件及時更新;對危及安全的數(shù)據(jù)跟蹤監(jiān)控并做出及時反應(yīng)(如壓力過高應(yīng)停泵,力值過大應(yīng)卸載)。這兩項工作線程應(yīng)和用戶界面一起創(chuàng)建并終止。用戶操作響應(yīng)線程應(yīng)配合進度條一起建立,并將測試結(jié)果送顯,工作線程創(chuàng)建的數(shù)量不宜多,否則影響程序的響應(yīng)速度。利用Windo ws定時器也可完成定時更新數(shù)據(jù)的工作。
各線程間數(shù)據(jù)傳遞應(yīng)采用全局變量方式進行,如某處壓力值用Pre ss表示,Press由數(shù)據(jù)更新線程不斷更新,數(shù)據(jù)監(jiān)控線程監(jiān)視Press的大小,界面控件數(shù)據(jù)用Press更新,測試時該處壓力值也用Press代替。
★傳感器校驗
按工廠規(guī)定,傳感器應(yīng)每年校驗一次,為方便校驗和修改系數(shù),傳感器校驗程序是不可缺少的,應(yīng)設(shè)計好方便實用的傳感器校驗程序界面,各傳感器系數(shù)應(yīng)以二進制文件形式保存,并做好備份。