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