李中帥
(長春工程學(xué)院,長春 130012)
計算機在工程中越來越多的應(yīng)用,礦井通風(fēng)計算機管理系統(tǒng)具有一定的實用價值和意義,利用軟件與用戶交互的方式獨自成圖,減少了煩瑣重復(fù)的手工程序,提高了礦井通風(fēng)管理的質(zhì)量和速度,實現(xiàn)了圖形與屬性數(shù)據(jù)庫的關(guān)聯(lián),結(jié)合現(xiàn)場的實際需要提高了通風(fēng)系統(tǒng)的自動化程度。
本系統(tǒng)具體可分為3個子系統(tǒng),如圖1所示。其中,圖形生成子系統(tǒng)利用圖形學(xué)和計算機知識生成需要風(fēng)網(wǎng)解算的網(wǎng)絡(luò)圖;進(jìn)而,風(fēng)網(wǎng)解算子系統(tǒng)采用一系列方法進(jìn)行解算、結(jié)果分析和評價,并將輸出結(jié)果保存在數(shù)據(jù)庫中;然后,數(shù)據(jù)庫子系統(tǒng)對風(fēng)網(wǎng)解算子系統(tǒng)的輸出數(shù)據(jù)進(jìn)行進(jìn)一步評價分析,如圖1所示,此為整個礦井通風(fēng)計算機管理系統(tǒng)的核心部分。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
在制圖過程中利用Auto CAD軟件的接口功能,方便圖形的制作與設(shè)計,并利用此圖形進(jìn)行網(wǎng)絡(luò)解算,極大地提高了系統(tǒng)運行的穩(wěn)定性和數(shù)據(jù)存儲的高效性。在數(shù)據(jù)庫子系統(tǒng)中,要合理設(shè)計風(fēng)網(wǎng)解算結(jié)果表結(jié)構(gòu),設(shè)計的數(shù)據(jù)表結(jié)構(gòu)需在整個系統(tǒng)中使用,總體的結(jié)構(gòu)設(shè)計要為數(shù)據(jù)可視化和用戶界面友好性打好基礎(chǔ)。
在礦井通風(fēng)計算機管理系統(tǒng)的設(shè)計中要充分考慮系統(tǒng)本身的性質(zhì)和特點,其中圖形系統(tǒng)專業(yè)開發(fā)工具在開發(fā)中的優(yōu)勢和劣勢都十分明顯。其優(yōu)勢主要表現(xiàn)為開發(fā)平臺較高、可靠性好、簡單易學(xué)。專業(yè)的圖形系統(tǒng)開發(fā)工具作為成熟的產(chǎn)品,提供了強大的圖形數(shù)據(jù)輸入輸出功能,在容量、可靠性等方面均經(jīng)過了嚴(yán)格測試,具有良好的圖形處理功能和巨大的存儲容量。再者,圖形系統(tǒng)專業(yè)開發(fā)工具是一個應(yīng)用軟件,提供了建立在各種功能基礎(chǔ)上的二次開發(fā)功能,能直接對礦井通風(fēng)計算機管理系統(tǒng)進(jìn)行開發(fā),無需特別高的程序設(shè)計思想和數(shù)據(jù)控制能力,所開發(fā)的系統(tǒng)的性能和可靠性均較好。與此同時,開發(fā)礦井通風(fēng)計算機管理系統(tǒng)時應(yīng)用的圖形系統(tǒng)專業(yè)開發(fā)工具的劣勢也較為明顯,存在可擴展性差、所占空間較為龐大的缺點,而且軟硬件要求高、沒有系統(tǒng)的版權(quán)。因此,很難實現(xiàn)與本系統(tǒng)的無縫集成,往往對系統(tǒng)的軟、硬件有較高的要求,并受到軟件升級等各種因素的制約。
礦井通風(fēng)計算機管理系統(tǒng)的主要目的是以圖形繪制與數(shù)據(jù)管理來決策服務(wù)及設(shè)計,從而根據(jù)系統(tǒng)的具體要求實現(xiàn)具體的操作功能。鑒于此,能夠完成自身的底層開發(fā)技術(shù)的Visual C++以無可比擬的優(yōu)勢在礦山應(yīng)用中得到迅速的推廣。Visual C++是軟件開發(fā)的工具之一,開發(fā)工作量小但源代碼效率高,全面貫徹了面向?qū)ο蟮募夹g(shù),Visual C++的開發(fā)環(huán)境十分友善,能夠?qū)崿F(xiàn)與Windows操作系統(tǒng)的最大兼容,從而提供強大的圖形支持。利用Visual C++開發(fā)礦井通風(fēng)計算機管理系統(tǒng),根據(jù)系統(tǒng)的需要完成圖形繪制,易于擴展成各種系統(tǒng)。Visual C++開發(fā)的MFC類庫和Windows API可幫助用戶輕松地開發(fā)出多種類型的應(yīng)用程序,能提供強大的功能支持,實現(xiàn)與Windows操作系統(tǒng)的最大兼容,能夠幫助用戶尋找錯誤和提高程序效率。
繪制風(fēng)網(wǎng)圖的步驟和要點可概要歸納為:以開拓開采工程平面圖或通風(fēng)系統(tǒng)圖為依據(jù),按風(fēng)流方向,繪出單線條的連接關(guān)系圖,沿風(fēng)流方向在各分支節(jié)點處順序編號。先繪制風(fēng)流系統(tǒng)的主干,再繪支線,并且支線要盡量減少風(fēng)路的交叉,在不影響解算要求的情況下適當(dāng)簡化。認(rèn)真了解各井巷連接關(guān)系和主要漏風(fēng)通路,簡化原則是合并那些對整個風(fēng)網(wǎng)不產(chǎn)生影響,針對具體計算,解算時又不影響準(zhǔn)確性的部分。簡化的具體條件:某些沒有必要分開的并聯(lián)巷道,以及某些長度很短或風(fēng)阻很小的巷道,均可視為一點,中間可不加節(jié)點而給出綜合的風(fēng)阻值。
完成風(fēng)網(wǎng)圖的雛形后,主要的漏風(fēng)通路畫在風(fēng)網(wǎng)圖中,風(fēng)網(wǎng)圖以工作面的位置作為圖的中心,在風(fēng)網(wǎng)圖上標(biāo)明風(fēng)流方向及有關(guān)參數(shù)等等。在風(fēng)網(wǎng)的適當(dāng)位置給出自然風(fēng)壓值,充分運用計算機的快速計算和圖形繪制能力,按具體情況適當(dāng)簡化、美化,以虛線標(biāo)出做為風(fēng)網(wǎng)的一部分,各采面布置在一條直線上。
模型是以某種形式近似地來描述所研究的對象。生成礦井通風(fēng)系統(tǒng)網(wǎng)絡(luò)圖時,利用數(shù)學(xué)模型中聽數(shù)式模型進(jìn)行相應(yīng)的模擬計算。簡單地說,采用數(shù)學(xué)表達(dá)式將礦井通風(fēng)系統(tǒng)過程的某種特征描述出來,涉及多種圖形基本變換和圖形求交計算,通過進(jìn)行可視化程序語言設(shè)計,實現(xiàn)圖形生成子系統(tǒng)的繪制,為網(wǎng)絡(luò)圖的自動繪制奠定了基礎(chǔ)。
礦井通風(fēng)計算機管理系統(tǒng)采用面向?qū)ο蟮某绦蛟O(shè)計技術(shù),在通風(fēng)系統(tǒng)圖形的輸入輸出接口設(shè)計方面,利用了Visual C++ 6.0的MFC應(yīng)用程序框架。特別地,為了加強本軟件的適應(yīng)性,本接口程序提供了基本圖元的生成過程,并與多數(shù)流行圖形編輯軟件兼容,能夠讀取Auto CAD繪制的系統(tǒng)圖和網(wǎng)絡(luò)圖,即系統(tǒng)實現(xiàn)圖形的輸入輸出接口,接口程序設(shè)計包括如圖2所示的子程序。編輯修改完成后,使用Auto CAD系統(tǒng)提供的DXF文件格式,讀取編輯后的圖形文件。
圖2 接口程序框圖
系統(tǒng)軟件重點探討礦井通風(fēng)系統(tǒng)網(wǎng)絡(luò)圖的相關(guān)內(nèi)容,圖形基類是各個圖形類的基本類,從最底層進(jìn)行圖形對象的分析和設(shè)計。在進(jìn)行圖形程序設(shè)計時,通過多重繼承分別對圖形元素進(jìn)行類設(shè)計,對各種圖形元素進(jìn)行分析并實現(xiàn)其繪制。在各種圖形元素類中定義了繪制函數(shù),在進(jìn)行程序設(shè)計時,為實現(xiàn)多態(tài)性,采用了虛函數(shù)的方法。直線是繪制其他圖形的基礎(chǔ),在直線類中重載基本圖形參數(shù)類的繪制函數(shù),并在開始設(shè)計前進(jìn)行構(gòu)造函數(shù)的參數(shù)初始化。對于通風(fēng)系統(tǒng)網(wǎng)絡(luò)圖來說,可能有各種情況發(fā)生,因此直線也是繪制風(fēng)路、通風(fēng)構(gòu)筑物等的基礎(chǔ)。圓和圓弧也是兩種不可缺少的圖形元素,圓弧類是從圓類繼承而來的。在通風(fēng)系統(tǒng)網(wǎng)絡(luò)圖中,可以在一些礦井下利用封閉的填充圓來標(biāo)志風(fēng)路節(jié)點。在通風(fēng)系統(tǒng)網(wǎng)絡(luò)圖中,完成重載基本圖形參數(shù)類的繪制函數(shù)的同時,也需要風(fēng)路名稱標(biāo)注、風(fēng)路屬性標(biāo)注等。在系統(tǒng)中,標(biāo)注文本是無級放縮的,在繪制一行文本的時候,根據(jù)標(biāo)注文本的實際高度得到在當(dāng)前視圖中文本的字符高度,在屏幕上用Textout函數(shù)繪制字符,根據(jù)這些參數(shù)創(chuàng)建響應(yīng)的字模,文本標(biāo)注主要是利用對話框技術(shù)來實現(xiàn)的。
礦井通風(fēng)網(wǎng)絡(luò)解算所必須的基礎(chǔ)資料是以實際情況為依據(jù)的礦井通風(fēng)網(wǎng)絡(luò)圖?;镜膱D形元素程序設(shè)計實現(xiàn)后,可用計算機繪制礦井通風(fēng)網(wǎng)絡(luò)圖。繪制風(fēng)網(wǎng)圖時需要決定節(jié)點的坐標(biāo)位置,第一層節(jié)點定位在圖的左邊,這種定位方法不能很好地避免風(fēng)路線交叉。利用節(jié)點鄰接矩陣,即節(jié)點之間的相互關(guān)系,還應(yīng)該對風(fēng)路分支連線進(jìn)行交叉檢驗。分支連線穿過無關(guān)的節(jié)點,最后可在屏幕上顯示出網(wǎng)絡(luò)圖雛形,自動生成的網(wǎng)絡(luò)圖基本可以滿足現(xiàn)場的使用。
對于一個完整的圖形系統(tǒng)來說,為了實現(xiàn)網(wǎng)絡(luò)圖的編輯和修改功能,需要對通風(fēng)系統(tǒng)網(wǎng)絡(luò)圖進(jìn)行不斷完善和維護(hù),以實現(xiàn)圖形選中和圖形重畫等功能。圖形選中操作的方法的實現(xiàn)有多種,直線是繪制各種圖形的基礎(chǔ)。計算C點到AB的距離,計算出3條邊的長度a,b,c;計算出這條邊與直線的交角,判斷交角的大小,編寫程序?qū)崿F(xiàn)。選中功能后,先確定有效距離,之后可以進(jìn)行網(wǎng)絡(luò)圖的編輯和修改。實現(xiàn)圖形的移動、放大及全圖顯示十分必要,并要能實現(xiàn)圖形重畫和重畫上屏的功能,以實現(xiàn)圖形打印輸出功能。
在軟件系統(tǒng)應(yīng)用和程序設(shè)計中,利用面向?qū)ο蟮某绦蛟O(shè)計思想方法,創(chuàng)建友好的用戶界面,實現(xiàn)數(shù)據(jù)的可視化輸入輸出,使用戶使用系統(tǒng)更加方便、快捷,提高了風(fēng)網(wǎng)解算子系統(tǒng)的健壯性、穩(wěn)定性和重用性,程序流程圖如圖3所示。
程序流程為:1)啟動;2)點擊菜單,打開系統(tǒng)數(shù)據(jù)庫;3)判斷數(shù)據(jù)是否輸入,如果能輸入就完成任務(wù),否則就結(jié)束。以對象或數(shù)據(jù)結(jié)構(gòu)為中心設(shè)計軟件,設(shè)計風(fēng)網(wǎng)解算的基類、通過初始節(jié)點、末節(jié)點、風(fēng)路類型、風(fēng)路段數(shù)、巷道斷面類型、巷道長度、風(fēng)阻系數(shù)、風(fēng)量和巷道名稱等參數(shù)。
面向?qū)ο蟮某绦蛟O(shè)計方法可以表述為:1)讀取實地測量數(shù)據(jù)文件;2)計算風(fēng)路數(shù)和風(fēng)路值;3)計算各臺風(fēng)機擔(dān)負(fù)的風(fēng)量;4)數(shù)據(jù)輸出后,繪制風(fēng)網(wǎng)圖;5)建立基本樹網(wǎng)圖、風(fēng)機特性;6)建立計算環(huán)。
圖3 數(shù)據(jù)輸入流程圖
根據(jù)實際需求和礦井通風(fēng)系統(tǒng)應(yīng)用方法,綜合應(yīng)用了通風(fēng)網(wǎng)絡(luò)理論、Visual C++高級程序設(shè)計語言,實現(xiàn)了礦井通風(fēng)系統(tǒng)數(shù)據(jù)與圖形的一體化管理,為用戶提供了良好的操作界面,使用戶與計算機交流更加方便、快捷,故該系統(tǒng)具有推廣價值。