周趙纓,王吉林
(上海電機(jī)學(xué)院,上海 201306)
基于計(jì)算機(jī)軟硬件的實(shí)驗(yàn)實(shí)訓(xùn)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
周趙纓,王吉林
(上海電機(jī)學(xué)院,上海 201306)
實(shí)驗(yàn)實(shí)訓(xùn)系統(tǒng)基于計(jì)算機(jī)軟硬件及網(wǎng)絡(luò)技術(shù),為學(xué)生從事機(jī)電設(shè)備的實(shí)際生產(chǎn)操作及技術(shù)管理工作建立了一套靈活實(shí)用的信息平臺(tái)與環(huán)境。論述了實(shí)驗(yàn)實(shí)訓(xùn)系統(tǒng)的概要設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、各個(gè)模塊的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和處理流程等內(nèi)容。該軟件的運(yùn)行環(huán)境面向?qū)嵱?xùn)實(shí)驗(yàn)室的局域網(wǎng),系統(tǒng)整體采用客戶服務(wù)器模式,客戶端采用PC平臺(tái)和Windows圖形界面操作環(huán)境和C++編程,在服務(wù)器端采用SQL Server 2008數(shù)據(jù)庫(kù)服務(wù)器軟件和T-SQL編程實(shí)現(xiàn)。
數(shù)控加工;作業(yè)模擬;面向?qū)ο缶幊?;?shù)據(jù)庫(kù)系統(tǒng)
1.1 概要設(shè)計(jì)
軟件系統(tǒng)的設(shè)計(jì)以需求為基礎(chǔ),首先從總體的功能劃分和模塊關(guān)系的角度概要建立起軟件邏輯架構(gòu),以及數(shù)據(jù)庫(kù)平臺(tái)中的信息實(shí)體及其關(guān)聯(lián)的關(guān)系。
圖1所示為邏輯架構(gòu)圖,描述主要的功能單元。
該系統(tǒng)的層操作評(píng)價(jià)管理模塊對(duì)用戶在實(shí)訓(xùn)項(xiàng)目中的表現(xiàn)進(jìn)行評(píng)分,該單元調(diào)用加工任務(wù)管理模塊的接口函數(shù), 同時(shí)基于內(nèi)置的評(píng)分指標(biāo)計(jì)算操作評(píng)分[1]。
圖1 軟件邏輯架構(gòu)圖
設(shè)備模型管理和工件模型管理模塊的主要數(shù)據(jù)對(duì)象是設(shè)備模型和工件模型,通過(guò)在數(shù)據(jù)庫(kù)平臺(tái)上的數(shù)據(jù)模型及其屬性來(lái)表達(dá)對(duì)設(shè)備和工件對(duì)象的創(chuàng)建、參數(shù)設(shè)置、坐標(biāo)系的變換和運(yùn)動(dòng)軌跡計(jì)算等處理過(guò)程。
該系統(tǒng)的底層是數(shù)據(jù)庫(kù)平臺(tái),基于通用關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)來(lái)設(shè)計(jì)和實(shí)現(xiàn)。該系統(tǒng)中的主要數(shù)據(jù)實(shí)體表達(dá)為關(guān)系數(shù)據(jù)表,主要數(shù)據(jù)實(shí)體有設(shè)備、工件、項(xiàng)目、任務(wù)和操作評(píng)價(jià)指標(biāo)等。
1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
該數(shù)據(jù)庫(kù)系統(tǒng)的主要數(shù)據(jù)實(shí)體有加工項(xiàng)目信息表、設(shè)備信息表、工件信息表、臺(tái)面作業(yè)信息表、故障信息表、工藝參數(shù)表和數(shù)控程序表等各項(xiàng),屬于數(shù)據(jù)庫(kù)中的靜態(tài)信息對(duì)象。
動(dòng)態(tài)數(shù)據(jù)對(duì)象與加工任務(wù)過(guò)程中生成信息有關(guān),主要有工件軌跡和刀具軌跡數(shù)據(jù)表,并通過(guò)數(shù)控加工模擬程序在計(jì)算中生成和插入。其數(shù)據(jù)庫(kù)數(shù)據(jù)實(shí)體—聯(lián)系模型如圖2所示。
圖2 系統(tǒng)數(shù)據(jù)庫(kù)E/R圖
1.3 模型管理
模型管理模塊面向設(shè)備和工件模型對(duì)象進(jìn)行創(chuàng)建、編輯和調(diào)用。該模塊在基礎(chǔ)層次的數(shù)據(jù)在數(shù)據(jù)庫(kù)平臺(tái)上表達(dá),主要數(shù)據(jù)表中表達(dá)靜態(tài)和動(dòng)態(tài)信息的數(shù)據(jù)表[2]。
與該系統(tǒng)在基礎(chǔ)層次的數(shù)據(jù)管理目的不同,該模塊在較高的層次上為加工項(xiàng)目對(duì)象管理加工設(shè)備—工件—刀具—數(shù)控程序的組合數(shù)據(jù)模型,也就是說(shuō),該模塊的基本單元是設(shè)備模型,該模型是一種復(fù)合對(duì)象。
每個(gè)設(shè)備對(duì)象的類是EqpModCls,包含設(shè)備坐標(biāo)系子對(duì)象EqpXYZLS和數(shù)控程序子對(duì)象NCP,與數(shù)控程序子對(duì)象NCP直接相關(guān)的是數(shù)控模擬函數(shù)NCPSim。
設(shè)備坐標(biāo)系對(duì)象的主要接口函數(shù)是計(jì)算刀具運(yùn)動(dòng)軌跡的函數(shù)CutXvsSim,目的是在設(shè)備坐標(biāo)系中計(jì)算加工過(guò)程的軌跡。設(shè)備坐標(biāo)系對(duì)象下屬的子對(duì)象主要是工件模型對(duì)象,工件模型對(duì)象根據(jù)用戶的選擇從基礎(chǔ)層次的數(shù)據(jù)庫(kù)系統(tǒng)加載數(shù)據(jù),通過(guò)設(shè)備坐標(biāo)系對(duì)象的屬性BsCmptDfm關(guān)聯(lián)到該對(duì)象。
工件模型對(duì)象的主要下屬子對(duì)象有工件材料對(duì)象和工件坐標(biāo)系對(duì)象。工件材料對(duì)象MtrsCmptn的屬性主要表示工件材料的扭矩系數(shù)、剛度參數(shù)和熱變形參數(shù),以計(jì)算加工切削量和加工過(guò)程中的變形量。
工件坐標(biāo)系對(duì)象CmptnUVT的數(shù)據(jù)結(jié)構(gòu)與設(shè)備坐標(biāo)系類似,用來(lái)表達(dá)工件的固聯(lián)系在設(shè)備坐標(biāo)系中的位置和主軸方向。
和工件模型對(duì)象主要相關(guān)的接口函數(shù)是加工量計(jì)算函數(shù)ActsUPM和工件的運(yùn)動(dòng)軌跡計(jì)算函數(shù)CmptnTrsBnz,后者通過(guò)調(diào)用數(shù)控過(guò)程模擬函數(shù)的輸出數(shù)據(jù)將其轉(zhuǎn)換為工件坐標(biāo)系中的數(shù)據(jù)來(lái)完成其功能。
模塊內(nèi)部管理的設(shè)備模型和工件模型的邏輯數(shù)據(jù)結(jié)構(gòu)以及子對(duì)象之間的復(fù)合關(guān)系如圖3所示。
圖3 設(shè)備—工件復(fù)合模型數(shù)據(jù)結(jié)構(gòu)
1.4 設(shè)備操作模擬過(guò)程
設(shè)備操作模擬過(guò)程是核心功能,其實(shí)質(zhì)是對(duì)設(shè)備加載的數(shù)控程序的解釋和模擬過(guò)程及算法邏輯。
首先,讀入指令數(shù)組,并將其解釋為針對(duì)設(shè)備刀具的運(yùn)動(dòng)指令或針對(duì)工件對(duì)象的方位指令;然后,將指令目標(biāo)碼和參數(shù)存入數(shù)組NCPLX,開始進(jìn)入加工作業(yè)的初始化處理,該過(guò)程基于用戶在模擬的機(jī)床鍵盤界面上的設(shè)定信息來(lái)進(jìn)行;最后,進(jìn)入循環(huán)處理和軌跡坐標(biāo)點(diǎn)計(jì)算。
程序首先檢查是否存在緊急停機(jī)信號(hào),若發(fā)生該事件(故障模擬情況)則進(jìn)入停機(jī)處理(在目前的設(shè)計(jì)中是回到初始化狀態(tài)),反之則進(jìn)入一個(gè)循環(huán)周期;然后根據(jù)當(dāng)前數(shù)控指令及其參數(shù)計(jì)算一步運(yùn)動(dòng)坐標(biāo)的變化量;最后檢查模擬中斷信號(hào)。
模擬中斷信息主要模擬加工過(guò)程中的機(jī)床外部設(shè)備的異步事件,如果存在該事件則程序進(jìn)入對(duì)應(yīng)的事件處理分支然后返回;否則更新控制器對(duì)象的當(dāng)前狀態(tài)后,根據(jù)當(dāng)前指令的模式類型(如插補(bǔ)模式和手動(dòng)模式等)直接進(jìn)行下一步周期處理。
上述步驟對(duì)每條加工指令重復(fù)執(zhí)行,直到出現(xiàn)終止指令。算法邏輯流程如圖4所示。
圖4 設(shè)備加工模擬主流程
上述算法處理主要面向數(shù)據(jù)計(jì)算,所直接生成的是每條加工指令導(dǎo)致的運(yùn)動(dòng)坐標(biāo)的變化增量。在上述計(jì)算完成后,該函數(shù)最后再按照順序?qū)⒚宽?xiàng)坐標(biāo)分量換算成為完整的坐標(biāo)數(shù)值并寫入軌跡坐標(biāo)的臨時(shí)數(shù)組[3]。
軌跡臨時(shí)數(shù)組有2個(gè)簡(jiǎn)單的相關(guān)接口函數(shù):一個(gè)供圖形顯示單元調(diào)用;另一個(gè)供工件運(yùn)動(dòng)和刀具運(yùn)動(dòng)計(jì)算單元調(diào)用。兩者的區(qū)別在于前者是適應(yīng)圖形函數(shù)要求而進(jìn)行必要的數(shù)據(jù)類型轉(zhuǎn)換。
1.5 加工任務(wù)管理
該模塊以加工任務(wù)對(duì)象為核心。一項(xiàng)加工任務(wù)有1組工件和1組項(xiàng)目指標(biāo)(例如加工精度和材料耗用量)組成。工件子對(duì)象下屬的子對(duì)象是1組工序任務(wù),每個(gè)工序任務(wù)下屬1個(gè)設(shè)備對(duì)象和1個(gè)數(shù)控程序?qū)ο?。用戶選擇設(shè)備對(duì)象,設(shè)定設(shè)備參數(shù),制定數(shù)控程序文件作為加工工序的工藝程序。
該模塊的加工項(xiàng)目數(shù)據(jù)結(jié)構(gòu)如圖5所示。該對(duì)象的主要接口函數(shù)是數(shù)控模擬計(jì)算函數(shù)NCPrjSim和項(xiàng)目評(píng)分函數(shù)NCPPrjEvl。函數(shù)NCPrjSim對(duì)每項(xiàng)工序任務(wù)調(diào)用上一節(jié)的計(jì)算流程進(jìn)行計(jì)算。在完成模擬加工過(guò)程后,根據(jù)模擬的加工效果調(diào)用評(píng)分函數(shù)計(jì)算評(píng)分。
圖5 加工任務(wù)模型數(shù)據(jù)結(jié)構(gòu)
1.6 故障和其他模塊
故障功能模擬非正常運(yùn)行狀態(tài),使用戶了解設(shè)備典型故障和其造成的后果以及正確的處理方法。該功能包括的具體子功能有故障設(shè)置,主要面向教師用戶來(lái)創(chuàng)建設(shè)備對(duì)象的非正常運(yùn)行狀態(tài)。該模塊調(diào)用上述討論的函數(shù)來(lái)進(jìn)行故障狀態(tài)下的加工運(yùn)行計(jì)算,模擬這種情形下的加工過(guò)程,同時(shí)計(jì)算工件材料消耗。該模塊主要為界面交互式的參數(shù)設(shè)定處理模式。
其他模塊功能主要圍繞圖形顯示?;谡{(diào)用數(shù)控機(jī)床供應(yīng)商的基礎(chǔ)圖形接口進(jìn)行實(shí)現(xiàn),支持圖形標(biāo)準(zhǔn)接口OpenGL和主流圖形軟件接口標(biāo)準(zhǔn)。
軟件運(yùn)行環(huán)境是局域網(wǎng),系統(tǒng)整體采用客戶服務(wù)器模式,客戶端采用PC平臺(tái)和Windows圖形界面操作環(huán)境,服務(wù)器端采用SQL Server 2008數(shù)據(jù)庫(kù)服務(wù)器軟件,基礎(chǔ)網(wǎng)絡(luò)架構(gòu)采用交換式寬帶以太網(wǎng)。該系統(tǒng)支持80名學(xué)生同時(shí)進(jìn)行實(shí)訓(xùn),教師負(fù)責(zé)在服務(wù)器上編輯加工項(xiàng)目,在終端上對(duì)學(xué)生編制的加工方案進(jìn)行分析、指導(dǎo)。
網(wǎng)絡(luò)部署方案如圖6所示。網(wǎng)絡(luò)架構(gòu)采用100 Mbps帶寬交換式以太網(wǎng),中心交換機(jī)連接2臺(tái)應(yīng)用服務(wù)器進(jìn)行仿真計(jì)算和圖形生成。軟件采用C++開發(fā)面向加工過(guò)程計(jì)算的主要程序,計(jì)算加工軌跡坐標(biāo)和圖形顯示等方面,基于SQL存儲(chǔ)程序?qū)崿F(xiàn)面向數(shù)據(jù)存取的主要事務(wù)。SQL程序在數(shù)據(jù)庫(kù)服務(wù)器端運(yùn)行,通過(guò)客戶端的程序進(jìn)行訪問(wèn)和調(diào)用[4]。
2.1 模型管理
主要處理對(duì)象是設(shè)備模型、工件模型和加工項(xiàng)目,軟件采用面向?qū)ο缶幊碳夹g(shù)的C++語(yǔ)言。
軟件系統(tǒng)如要升級(jí)或變更軟件功能,需要重新開發(fā)實(shí)現(xiàn)對(duì)應(yīng)功能算法的對(duì)象,或者增加實(shí)現(xiàn)新功能的類。只要對(duì)象的外部訪問(wèn)接口的涵義不發(fā)生變化,其他對(duì)象仍然按照原有的方式與涵義存取新對(duì)象的數(shù)據(jù)與調(diào)用該對(duì)象的功能,整體軟件的內(nèi)部邏輯關(guān)系不發(fā)生任何影響,這就是基于面向?qū)ο髮?shí)現(xiàn)的軟件對(duì)象重用的原理。
生產(chǎn)實(shí)訓(xùn)系統(tǒng)網(wǎng)絡(luò)部署環(huán)境如圖6所示,在該系統(tǒng)中設(shè)備對(duì)象的基本類是EqpModCls,包含一組屬性和子對(duì)象。
圖6 生產(chǎn)實(shí)訓(xùn)系統(tǒng)網(wǎng)絡(luò)部署環(huán)境
2.2 數(shù)控模擬和加工項(xiàng)目管理
數(shù)控程序?qū)ο驨CP最主要的接口函數(shù)是數(shù)控模擬函數(shù)NCPSim,該函數(shù)解析數(shù)控指令,并根據(jù)所關(guān)聯(lián)的坐標(biāo)系和工件對(duì)象的屬性計(jì)算加工過(guò)程的運(yùn)動(dòng)軌跡。該函數(shù)直接生成每條加工指令導(dǎo)致的運(yùn)動(dòng)坐標(biāo)變化增量。
在上述計(jì)算完成后,該函數(shù)按照順序?qū)⒚宽?xiàng)坐標(biāo)分量換算成完整的坐標(biāo)數(shù)值,并寫入軌跡坐標(biāo)的臨時(shí)數(shù)組,軌跡臨時(shí)數(shù)組有2個(gè)簡(jiǎn)單的相關(guān)接口函數(shù)。
加工項(xiàng)目管理功能主要在數(shù)據(jù)庫(kù)服務(wù)器內(nèi)通過(guò)存儲(chǔ)程序來(lái)實(shí)現(xiàn)。
2.3 圖形功能接口
主要功能是在內(nèi)部進(jìn)行設(shè)備對(duì)象的建模和模型管理,工件對(duì)象的建模及模型管理,以及數(shù)控加工程序的模擬和計(jì)算。除此之外,為了向用戶提供接近真實(shí)的加工模擬環(huán)境,該軟件通過(guò)圖形界面和標(biāo)準(zhǔn)的三維動(dòng)態(tài)圖形庫(kù)來(lái)顯示和輸出所計(jì)算的加工過(guò)程的軌跡數(shù)據(jù)以生成動(dòng)態(tài)的三維圖形顯示。該部分的程序主要基于標(biāo)準(zhǔn)圖形庫(kù)來(lái)實(shí)現(xiàn)。
系統(tǒng)重點(diǎn)實(shí)現(xiàn)目標(biāo)見表1。
表1 系統(tǒng)重點(diǎn)實(shí)現(xiàn)目標(biāo)
本文從軟件工程角度較為系統(tǒng)地論述了該實(shí)訓(xùn)平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn),同時(shí)也發(fā)現(xiàn)了很多新的有待完善的方面,數(shù)控仿真技術(shù)主要表現(xiàn)在智能化方面,如果能結(jié)合人工智能、知識(shí)庫(kù)和專家系統(tǒng)等技術(shù),將更有實(shí)用價(jià)值。
[1] Schuman M. 軟件工程[R]. 北京: 機(jī)械工業(yè)出版社,2008.
[2] 周慶.基于面向?qū)ο蠓椒ǖ闹虚g件集成技術(shù)[J].計(jì)算機(jī)應(yīng)用研究,2007,28(12):104-106.
[3] 熊忠陽(yáng).Windows/DNA架構(gòu)平臺(tái)開發(fā)指南[J].計(jì)算機(jī)科學(xué),2009,31(4):41-46.
[4] 周恩哲. 基于UML的軟件工程方法[M].大連:大連海事大學(xué)出版社,2008.
責(zé)任編輯鄭練
DesignandRealizationofExperimentSystembasedonComputerSoftwareandHardware
ZHOU Zhaoying, WANG Jilin
(Shanghai DianJi University, Shanghai 201306, China)
Based on computer software, hardware and networking technology, the production training system builds a sery of flexible and practical information platform and environment for the students to conduct electromechanical equipments manufacturing operation and technical management work. This paper discusses the outline design of experiment and practical training system,database design and each module’s internal data structure with processing flow, etc. The system is developed in the mode of Client/Server architecture with windows graphical environment at client side programmed in C++ and SQL Server 2008 DBMS at server side programmed in T-SQL for storage routines, running in the environment of the institute’s local networks.
numerical processing, operation simulation, object-oriented programming, database system
TG 659
:A
周趙纓(1980-),女,碩士,工程師,主要從事數(shù)控技術(shù)等方面的研究。
2014-12-15