專利名稱:一種煤礦井下采空區(qū)的瓦斯分布測(cè)量方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種煤礦井下采空區(qū)的瓦斯分布測(cè)量方法,屬于煤礦安全有關(guān)采空區(qū)瓦斯分布測(cè)量的技術(shù)領(lǐng)域。
背景技術(shù):
在煤礦井下采煤作業(yè)中,將會(huì)產(chǎn)生瓦斯氣體,瓦斯事故是煤礦的突出災(zāi)害,瓦斯事故和死亡人數(shù)占到事故總數(shù)的50%以上,如何預(yù)防、消除瓦斯事故是一個(gè)非常重要的研究課題。在采煤作業(yè)中,煤層中的瓦斯氣體就會(huì)釋放出來(lái),一部分瓦斯氣體隨著煤炭運(yùn)輸、 井下通風(fēng)而排出,一部分瓦斯氣體遺留在采空區(qū),并在采空區(qū)進(jìn)行儲(chǔ)存集聚,使瓦斯的濃度增大,造成很大的安全隱患,因此,如何掌握、測(cè)量采空區(qū)的瓦斯分布是十分重要的,可為制定采空區(qū)瓦斯治理措施提供依據(jù)。由于井下采空區(qū)人員無(wú)法達(dá)到,對(duì)煤礦井下采空區(qū)的瓦斯分布測(cè)量顯得十分困難,目前測(cè)量方法較少,現(xiàn)有的方法測(cè)量準(zhǔn)確性差,無(wú)法掌握真實(shí)的瓦斯分布規(guī)律,給治理采空區(qū)瓦斯帶來(lái)了困難。
發(fā)明內(nèi)容
發(fā)明目的本發(fā)明的目的是針對(duì)背景技術(shù)的狀況,對(duì)煤礦井下采空區(qū)瓦斯的分布測(cè)量用采用束管抽氣、傳感器采集信息、以及采用流體力學(xué)原理及計(jì)算機(jī)軟件進(jìn)行數(shù)據(jù)模擬,依靠微計(jì)算機(jī)程序完成采空區(qū)瓦斯分布測(cè)量,使測(cè)量的瓦斯?jié)舛戎禍?zhǔn)確、可靠,給瓦斯治理提供科學(xué)依據(jù)。技術(shù)方案本發(fā)明測(cè)量方法如下瓦斯氣體測(cè)量是在煤礦井下采空區(qū)直接取樣進(jìn)行的,是在瓦斯分析儀上用微計(jì)算機(jī)處理器進(jìn)行信息分析、程序化完成的;(1)測(cè)量準(zhǔn)備①設(shè)置測(cè)量工作艙測(cè)量工作艙為方艙式,恒定溫度為22°C 士2°C,相對(duì)濕度彡20%,為潔凈、陰涼、干燥環(huán)境;方艙內(nèi)置放瓦斯分析儀、數(shù)據(jù)打印機(jī)、儲(chǔ)氣罐、束管采樣裝置;②在工作面采空區(qū)設(shè)置采樣探頭,在工作面進(jìn)回風(fēng)巷道內(nèi)設(shè)置采樣束管,并把它們聯(lián)通起來(lái);③在工作面內(nèi)設(shè)置甲烷傳感器,一氧化碳傳感器,并通過(guò)傳感器信號(hào)線與瓦斯分析儀聯(lián)接;(2)采取采空區(qū)瓦斯氣體
開啟采氣泵,通過(guò)采樣探頭和采樣束管,將瓦斯氣體收集于瓦斯儲(chǔ)氣罐內(nèi);(3)采集甲烷氣體信息將甲烷傳感器置于工作面內(nèi),通過(guò)傳感器信號(hào)線把采集到的甲烷氣體信息傳輸?shù)酵咚狗治鰞x;(4)采集一氧化碳?xì)怏w信息將一氧化碳傳感器置于工作面內(nèi),通過(guò)傳感器信號(hào)線把采集到的一氧化碳?xì)怏w信息傳輸?shù)酵咚狗治鰞x;(5)在采空區(qū)釋放六氟化硫示蹤氣體,并收集混合后的瓦斯氣體+六氟化硫氣體, 然后輸入儲(chǔ)氣罐內(nèi);(6)瓦斯分析儀測(cè)量①瓦斯分析儀接受甲烷傳感器信息,經(jīng)微計(jì)算機(jī)處理器進(jìn)行程序運(yùn)算,得出甲烷氣體值,并指令打印機(jī)打印出相關(guān)數(shù)據(jù);②瓦斯分析儀接受一氧化碳傳感器信息,經(jīng)微計(jì)算機(jī)處理器進(jìn)行程序運(yùn)算,得出一氧化碳?xì)怏w值,并指令打印機(jī)打印出相關(guān)數(shù)據(jù);③將瓦斯氣體儲(chǔ)氣罐內(nèi)氣體輸入瓦斯分析儀中,由微計(jì)算機(jī)處理器進(jìn)行瓦斯氣體成分、濃度、量值分析,然后指令打印機(jī)打印出瓦斯氣體信息;④將采集的瓦斯氣體+六氟化硫氣體混合氣體輸入瓦斯分析儀中,由微計(jì)算機(jī)處理器進(jìn)行對(duì)比分析,并指令打印機(jī)打印出對(duì)比分析信息;⑤瓦斯分析儀測(cè)量工作面甲烷氣體、一氧化碳?xì)怏w、采空區(qū)瓦斯氣體、采空區(qū)瓦斯氣體+六氟化硫混合氣體,是由分析儀的微計(jì)算機(jī)處理器程序完成的,測(cè)量程序使用VC語(yǔ)言平臺(tái),程序如下
Il AaProcessData.cpp: implementation of the //#include "stdafx.h" CAaProcessData class.#include "Arithmetic.h"#include "AaProcessData.h"
#ifdef_DEBUG
#undefTHIS_FILE
static char THIS_FILE[]=_FILE_;
Mefine new DEBUG_NEW
#endif
//定義變量的索引數(shù)組,其數(shù)據(jù)格式為 /* DWORD dwlndex[32] = {變量的 ID,
統(tǒng)計(jì)測(cè)點(diǎn)距工作面Im
時(shí)的瓦斯?jié)舛茸兞康腎D,
統(tǒng)計(jì)測(cè)點(diǎn)距工作面
5m時(shí)的瓦斯?jié)舛茸兞康腎D,
統(tǒng)計(jì)測(cè)點(diǎn)距工作
面IOm時(shí)的瓦斯?jié)舛茸兞康腎D,
統(tǒng)計(jì)測(cè)點(diǎn)距工作面
15m時(shí)的瓦斯?jié)舛茸兞康腎D,
統(tǒng)計(jì)測(cè)點(diǎn)距工作面
20m時(shí)的瓦斯?jié)舛茸兞康腎D,
統(tǒng)計(jì)測(cè)點(diǎn)距工作
面Mm時(shí)的瓦斯?jié)舛茸兞康腎D,
//可以在該數(shù)組里繼續(xù)定義相關(guān)的變量,同時(shí)修改數(shù)組的容量.
//如(定義最大
值)
};
*/
BOOL CAaProcessData: :Process(CProject *pProject)
{
CArithmeticApp *pApp = (CArithmeticApp *):: AfxGetAppO;
if(pProject->m_varArray.GetSize() < MAXlD +
1)
return FALSE;
CVariable *pRealVar; CVariable *pHourVar; CVariable *pTeamVar; CVariable *pDayVar;
CVariable *pMaxHourVar; CVariable *pMaxTeamVar; CVariable *pMaxDayVar;
CVariable *pMinHourVar; CVariable *pMinTeamVar; CVariable *pMinDayVar;
CVariable *pNumHourVar; CVariable *pNumTeamVar; CVariable *pNumDayVar;
CVariable *pTimeHourVar; CVariable *pTimeTeamVar; CVariable *pTimeDayVar;
*/ //_1
pRealVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex0
);
pHourVar=(CVariable
*)pProj ect->m_varArray. Get At(d wlndexOf 1 ]);
pTeamVar=(CVariable
*)pProject->m_var Array. GetAt(dwIndexO[2]);
pDayVar=(CVariable
*)pProj ect->m_varArray. GetAt(dwIndexO[3]);
pHourVar->value.fVal += pRealVar->value.fVal; pHourVar->nAddCount ++; pTeamVar-> value. fVal+=
pRealVar-〉value· fVal ;
pTeamVar->nAddCount ++;
pDay Var-> val ue. fVal += pRealVar->value.fVal;
pDayVar->nAddCount 十十;
/*
if(this->bFrist) {
pMaxHourVar-> value. fVal=pRealVar->value.fVal;
pMaxTeamVar->value.fVal=
pRealVar->vaIue.fVal;
pMaxDayVar->value.fVal=
pRealVar->value.fVal ; }
else
{
if(pRealVar->value.fVal>
pMaxHo\irVar->value.iVal)
pMaxHourVar->value.fVal=
pRealVar->value.fVal;
if(pRealVar->vaIue.fVal>
pM axTeamVar-〉value. fVal)
pMaxTeamVar->value.fVal=
pRealVar->value.A^a];
if(pRealVar->value. fVal>
pMaxDayVar->value.fVal)
pMaxDayVar-> value. fVal=
pRealVar->value.fVal;
}
*/
if(pRealVar->value.fVal>
pRealVar-^alarmlnfo. valueH. fVal) {
pNumHourVar->value.fVal ++; pNumTeamVar->value.fVal ++; pNumDayVar->value.fVal 十十;
CFunction mftinc;
CString sTime = pApp->GetTimeStr(); strcpy(pTimeHourVar->value.strVal,
sTime);
strcpy(pTimeTeamVar->value.strVal,
sTime);
strcpy(pTimeDayVar->value,strVal,
sTime); }
*/ //
pRealVar=(CVanable
*)pProject->m_varArray. GetAt(dwIndexl
);
pHourVar=(CVanable
*)pProject->m_varArray.GetAt(dwIndexl [ 1]);
pTeamVar=(CVanable
*)pProject->m_varArray.GetAt(dwIndex 1 [2]);
pDayVar=(CVanable
*)pProject->m_varArray.GetAt(dwIndexl[3]);
pHourVar->val ue. fVal += pRealVar->value.fVal; pHourVar->nAddCount ++; pTeamVar->value.fVal+=
pRealVar->value.fVal ;
pTeamVar->nAddCount ++;
pDay Var-> val ue. fVal +- pRealVar->value.fVal;
pDayVar->nAddCount ++;
//
pRealVar=(CVanable
*)pProj ect->m_varArray. GetAt(dwIndex.2
);
pHourVar-(CVanable
*)pProj ect->m_varArray. Get At(d wlndex2 [ 1 ]);
pTeamVar-(CVariable
*)pProject->m_varArray. GetAt(dwIndex2[2]);
pDayVar=(CVariable
*)pProj ect->m_varArray. Get At(dwlndex2 [3 ]);
pHourVar-> value. fVal += pRealVar->value.fVal; pHourVar->nAddCount ++; pTeamVar->val ue. fVal+=
pRealVar->value.fVal;
pTeamVar->nAddCount ++; pDayVar->valuc.fVal += pRealVar->value.fVal; pDayVar->nAddCount ++;
//
pRealVar=(CVariable
*)pProj ect->m_varArray. GetAt(dwIndex3
);
pHourVar=(CVariable
*)pProject->m_varArray. Get At(dwlndex3 [ 1 ]);
pTeamVar->value. fVal+=
pRealVar-〉value. fVal ;
pTeamVar->nAddCount ++; pDayVar->value.fVal += pRealVar->value.fVal; pDayVar->nAddCount -f+;
//
pRealVar=(CVariable*)pProject->m_varArTay.GetAt(dwIndexl4
);
pHourVar
(CVariable
*)pProject->m_varArray. GetAt(dwIndex 14[ 1 ]);
pTeamVar
(CVariable
*)pProject->m_varArray. GetAt(dwIndexl4[2]);
pDayVar
(CVariable
*)pProject->m_var Array. GetAt(dwIndexl4[3]);
pHourVar->value.fVal += pRealVar->value.fVal; pHourVar->nAddCount ++; pTeamVar->value.fVal+=
pRealVar->value.fVal;
pTeamVar->nAddCount ++; pDayVar->value.fVal += pRealVar-> value. fVal ; pDayVar->nAddCount ++;
H
pRealVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl5
);
pHourVar-(CVariable
*)pProject->m_varArray. GetAt(dwIndex 15 [1 ]);
pTeamVar
(CVariable
*)pProj ect->m_varArray. Get At(dwlndex 15 [2]);
pDayVar
(CVariable
*)pProject->m_var Array. GetAt(dwIndexl5[3]);
pHourVar->vaIue.fVaI += pReal Var-> value. fVal ; pHourVar->nAddCount -H-; pTeamVar->value. fVal+=
pRealVar->value. fVal;
pTeamVar->nAddCount ++; pDayVar->value.fVal += pRealVar-> value. fVal ; pDayVar->nAddCount ++;
//
pRealVar=(CVariable
*)pProject->m_var Array. GetAt(dwIndexl6
);
pHourVar=(CVariable
*)pProject->m_varArray. Get At(dwindex 16[ 1 ]);
pTeamVar
(CVariable
*)pProject->m_var Array. Get At(dwlndex 16[2]);
pDayVar
(CVariable
*)pProject->m_varArray. GetAt(dwIndexl6[3]);
pHourVar->value.iVal += pRealVar->value.fVal; pHourVar->nAddCount +十; pTeamVar->value.fVal+=
pRealVar->value.iVal;
pTeamVar->nAddCount ++; pDayVar->vaIue.fVaI += pReaIVar->vaIue.fVal; pDayVar->uAddCount ++;
//
pRealVar=(CVariable
*)pProj ect->m__var Array. GetAt(dwIndex 17
);
pHourVar
(CVariable
*)pProj ect->m_varArray. GetAt(dwIndexl7[ 1 ]);
pTeamVar=(CVariable
*)pProj ect-〉m一var Array, Get At(dwlndex 17[2]);
pDayVar
(CVariable
*)pProject->m_varArray. GetAt(dwIndex 17[3]);
pHourVar->vaIue.fVaI += pReaIVar-〉value.fVal; pHourVar->nAddCount ++; pTeamVar->value.fVa]+=
pRealVar->value.fVal ;
pTeamVar->nAddCount ++;
pDayVar-> value. fVal += pRealVar-> value. fVal ;
pDayVar->nAddCount ++;
//
pRealVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl8
);
pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex 18[1]);
pTeamVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndexl8[2]);
pDayVar=(CVariable
*)pProj ect->m_var Array. Get At(dwlndex 1 禮3 ]);
pHourVar->value.fVal 十=pRealYar->value.iVal; pHourVar->nAddCount ++; pTeamVar->value.fVal+=
pRealVar->value.fVal;
pTeamVar->n AddCount ++; pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex29[ 1 ]);
pTeamVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex29[2]);
pDayVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex29[3]);
pHourVar-> value. fVal += pRealVar-> value. fVal ; pHourVar->nAddCount ++;pTeamVar->value.fVal+=
pRealVar->value.fVal;
pTeamVar->nAddCount ++; pDayVar->value.fVal += pReaIVar->value.fVal; pDayVar->nAddCount ++;
H
pRealVar-(CVariable
*)pProject->m_varArray.GetAt(dwIndex30
);
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex30[l]);
pTeamVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex30[2]);
pDayVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex30[3]);
pHourVar->value.fVal 十=pRealVar->value.fVal; pHourVar->nAddCount ++; pTeamVar->vaIue.fVal+=
pRealVar->value.fVal;
pTeamVar->nAddCount ++; pDayVar->value.fVal += pRealVar->value.fVal; pDayVar->nAd<3Count ++;
this->bFrist = false; return TRUE;
}
BOOL CAaProcessData:;InitalHourData(CProject
*pProject)
{
if(pProject->m_varArray.GetSize() < MAXID +
1)
return FALSE;
//-1
CVariable *pHourVar;
pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndexO[l]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
//CVariable *pMaxHourVar; //pMaxHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndexl[56]); //pMaxHourVar->value.fVal = 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex 1 [ 1 ]); pHourVar->value.fVal ~ 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex2[lJ); pHourVar->value.fVal ~ 0; pHourVar->nAddCount = 0;
pHourVar-(CVariable
*)pProject->m_varArray.GetAt(dwindex3[l]); pHourVar->vaJue.fVal = 0; pHoufVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex4[ 1 ]); pHourVar->vaiue.fVal 二 0; pHourVar-^nAddCount = 0;
pHourVar=(CVariable
*)pProj ect->m_varArray. Get At(dwlndex5 [ 1 ]); pHourVar->value.fVal = 0; pHourVar->n AddCount = 0;
pHourVar~(CVariable
*)pProject->m_varArray. GetAt(dwIndex6[1]); pHourVar->value. fVal = 0; pHourVar->nAddCount 二 0;
pHourVar二(CVariable
*)pProject->m_varArray. GetAt(dwIndex7[ 1 ]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProj ect->m_var Array. Get At(dwTndex8 [ 1 ]); pHourVar->value.fVai = 0;pHourVar->nAddCount - 0;
pHourVar=(CVariable
* )pProject->m__var Array. GetAt(dwIndex9[ 1 ]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexlO[l]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexll[l]); pHourVar-> value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex 12 [ 1 ]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl3[l]); pHourVar->value.fVal - 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_var Array. GetAt(dwIndexl4[ 1 ]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl5[l]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar^(CVariable
*)pProject->m_varArray. GetAt(dwIndex 16[ 1 ]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex 17[ 1 ]);
pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProj ect->m_varArray. Get At(dwlndex 18[ 1 ]); pHourVar->va!ue.fVal = 0; pHourVar->nAddCount= 0;
pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex 19[ 1 ]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar-(CVariable
*)pProject->m_varArray.GetAt(dwIndex20[l]); pHourVar->value. fVal = 0; pHourVar->nAddCount 二 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex21 [ 1 ]); pHourVar->value.fVaI = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_var Array. GetAt(dwIndex22[l]); pHourVar->value.fVal = 0; pHourVar->nAddCount 二 0;
pHourVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex23[l]); pHourVar->value.fVal = 0; pHourVar->nAddCount = 0;
pHourVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex24[l]); pHourVar-> value. fVal = 0; pTeamVar->nAddCount 二 0;
pTeamVar=(CVariable
*)pProj ect->mvar Array. GetAt(dwIndex7 [2]); pTeam Var->value. fVal = 0; pTeamVar->nAddCount = 0;
pTeamVar=(CVariable*)pProject->m_var Array. GetAt(dwindex8[2]); pTeamVar->value.fVal = 0; pTeamVar->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex9[2]); pTeamVar->value.fVal = 0; pTeamVar->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_var Array. GctAt(dwIndexlO[2]); pTeamVar->value.fVal = 0; pTeamVar->nAddCount = 0;
pTeamVar二(CVariable
*)pProject->m_varArray.GeiAt(dwIndexl 1 [2]); pTeam Var->value. fVal = 0; pTeamVar->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl2[2]); pTeam Var->value.fVal = 0; pTeamVar->nAddCount 二 0;
pTeamVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndexl3p]); pTeam Var->val ue. fVal = 0; pTeam Var->nAddCount -二 0;
pTeamVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl4[2]); pTeam Var->value.fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar^(CVariable
*)pProject->m_varArray.GetAt(dwIndexl5[2]); pTeam Var->value.fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar二(CVariable
*)pProj ect->m_var Array. GetAt(dwIndex 16[2]); pTeam Var->value.fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl7[2]); pTeam Var->value.fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar二(CVariable
*)pProject->m_varAiray. GetAt(dwIndex 18[2]); pTeam Var->vaIue.fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray, GetAt(dwIndex 19[2]); pTeam Var-> value. fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray. GetAi(dwIndex20[2]); pTeam Var->vaiue.fVai = O; pTeam Var->nAddCount = 0;
pTeamVar=(CVariable
*)pProj ect->m_var Array. Get At(dwlndex21 [2]); pTeam Var->value.fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar=(CVariable
*)pProject~>m_varArray. GetAt(dwindex22[2]); pTeam Var->vaJue.fVal = 0; pTeamVar->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex23[2]); pTeamVar->value.fVal = 0; pTeam Var->nAddCount = 0;
pTeamVar二(CVariable
*)pProj ect->m_varArray. GetAt(dwIndex24[2]); pTeamVar->value.fVal 二 0; pTeam Var->nAddCount = 0;
pTeamVar=(CVariable
*)pProj ect->m_varArray. GetAt(dwIndex25 [2]); pTeam Var->value.fVal = 0; pTeamVar->nAddCount 二 0;pTeamVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex26[2]); pTeamVar->value.fVal = 0; pTeamVar->nAddCouat 二 0;
pTeamVar=(CVariable
*)pProject->m varArray.GeiAt(dwlndex27[2]); pTeamVar->vaIue.iVal = 0; pTeamVar->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex28[2]); pTeamVar->value.fVal = 0; pTeamVar->nAddCount = 0;
pTeamVar=(CVariable
*)pProject->m_varArray. GetAt(dwIndex29[2]); pTeamVar->vaIue.fVal = 0; pTeamVar->nAddCount 二 0;
pTeamVar二(CVariable
*)pProj ect->m_var Array. Get At(dwlndex3 0[2]); pTeamVar->value.fVal - 0; pTeamVar->nAddCount = 0;
return true;
}
BOOL CAaProcessData::InitalDayData(CProject
*pProject) {
if(pProject->m_varArray.GetSize() < MAXID +
1)
return FALSE;
//
CVariable ^pDayVar;
pDayVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex0[3]); pDay Var->value. fVal = 0; pDayVar->nAddCount = 0;
for(mt i = 4; i < 4 + 28; i -H-) {
CVariable ^pRptVar = (CVariable *)pProject->m—var Array. GetAt(dwIndexO[i]); pRptVar->value.fVal = 0;
}
/* CVariable *pMaxDayVar;
pMaxDayVar=(CVariable
*)pProject->m__varArray.GetAt(dwIndexl[58]); pMaxDay Var->value. fVal = 0;
for(i = 64; i < 64 + 28; i ++) {
CVariable *pMaxRptVar =
(CVariable
*)pProject->m_varArray.GetAt(dwIndexl[i]);
pMaxRptVar->value.fVal = 0;
}
//---------------------------------------------------------
//
pDayVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndexl[3]); pDay Var->value. fVal = 0; pDayVar->nAddCount = 0;
for(i = 4;i<4 + 28;i++) {
CVariable ^pRptVar = (CVariable *)pProject->m_var Array. GetAt(dwIndexl[i]); pRptVar->value.fVal = 0;
}
H
pDayVar=(CVariable
*)pProject->m_var Array. GetAt(dwIndex2 [3]); pDay Var-> value.fYal = 0; pDayVar->nAddCount = 0;
for(i = 4;i<4 + 28;i++) {
CVariable *pRptVar = (CVariable *)pProject->m_varArray, GetAt(dwIndex2[i]); pRptVar->value.fVa] = 0;//
pDayVar=(CVariable
*)pProject->m_varArray.GetAt(dwIrKlex3[3]); pDayVar->value.fVal = 0; pDay Var->n AddCount = 0;
for(i = 4;i<4 + 28;i ++) {
CVariable *pRptVar = (CVariable *)pProject->m_varArray.GetAt(dwIndex3[i]); pRptVar-> value. fVal = 0;
‘ }
H
pDayVar=(CVariable
*)pProject->m_var Array. GetAl:(dwInde t4[3]); pDayVar-> value. fVal = 0; pDayVar->nAddCount = 0;
for(i -4;i<4 + 28;i ++-) {
CVariable ^pRptVar - (CVariable *)pProj ect->m_varArray.GetAt(dwIndex4[i ]); pRptVar->value.fVal = 0;
}
it
pDayVar-(CVariable
*)pProject->m_var Array. GetAt(dwIndex5[3]); pDayVar->value.fVal - 0; pDayVar->nAddCount = 0;
for(i = 4; i < 4 + 28; i ++) {
CVariable *pRptVar = (CVariable *)pProject->m_var Array. Get At(dwlndex5 [i]); pRptVar->value.fVal = 0;
}
//
pDayVar二(CVariable
*)pProject->m_varArray. GetAt(dwIndex6 [3 ]); pDayVar-> value. fVal = 0; pDayVar->nAddCount = 0; for(i = 4; < 4 + 28; i++)
CVariable *pRptVar = (CVariable *)pProject->m_varArray. GetAt(dwIndex6[i]); pRptVar->value.fVa] = 0;
}
//
pDayVar二(CVariable
*)pProject->m_varArray.GetAt(dwIndex7[3]); pDayVar-> value. fVal = 0; pDayVar->nAddCount = 0;
for(i -4;i<4 + 28;i ++) {
CVariable ^pRptVar 二 (CVariable *)pProject->m_varArray.GetAt(dwIndex7[i]); pRptVar->value.fVal = 0;
}
//
pDayVar=(CVariable
*)pProject->m_varArray.GetAt(dwIndex8[3]); pDayVar->yalue.fVal 二 0; pDayVar->nAddCount = 0;
for(i-4;i<4 + 28;i+-H) {
CVariable *pRptVar = (CVariable *)pProj ect->m_var Array. GetAt(dwIndex8 [i]); pRptVar-> value. fVal = 0;
}
//
pDayVar二(CVariable
*)pProject->m_varArray. GetAt(dwIndex9[3]); pDayVar->value.fVal = 0; pDayVar->nAddCount = 0;
for(i = 4;i<4+28;i++>
{
CVariable *pRptVar = (CVariable *)pProject->m_varArray.GetAt(dwIndex9[i]); pRptVar->value.fVal = 0;
}
/I
pDayVar=(CVariable*)pProject->m_var Array. GetAt(dwIndexlO[3]);} pDayVar-> value. fVal = 0;
pDayVar->nAddCount = 0;//
for(i = 4; i < 4 + 28; i ++)pDayVar -(CVariable
`{*)pProject->mvar Array. GetAt(dwIndex 14[3]);
CVariable *pRptVar = (CVariablepDayVar->value.fVal = 0;
*)pProject->m_varArray.GetAt(dwIndexl 0[i]);pDayVar->nAddCount = 0;
pRptVar->value.fVal = 0;for(i = 4; i < 4 十 28; i 十十)
}{
CVariable *pRptVar = (CVariable
“*)pProject->m_varArray.GetAt(dwIndexl4[i]);
pDayVar = (CVariablepRptVar->value.tVal = 0;
*)pProject->m__var Array. GetAt(dwIndexll[3]);} pDayVar->value,iVal = 0;
pDayVar->nAddCount = 0;//
for(i = 4; < 4 十 28; i ++)pDayVar -(CVariable
{;,t)pProject->m_varArray.GetAt(dwIndcxl5[3]);
CVariable *pRptVar = (CVariablepDayVar->value.fVal = 0;
*)pProject->m_varArray.GetAt(dwIndexl 1 [i]);pDayVar->nAddCount = 0;
pRptVar->value.fVal = 0;for(i = 4; i < 4 + 28; i ++)
}{
CVariable *pRptVar = (CVariable
11*)pProject->m_var Array. GetAt(dwIndexl5[i]);
pDayVar = (CVariablepRptVar->value.fVal = 0;
*)pProject->m_varArray.GetAt(dwIndexl2[3]);} pDayVar->value.fVaI = 0;
pDayVar->nAddCount = 0;//
forCi = 4; i < 4 + 28; i ++)pDayVar =(CVariable
{*)pProject->mvar Array. GetAt(dwIndexl6[3]);
CVariable *pRptVar 二 (CVariablepDayVar->value.fVal = 0;
*)pProject->m_varArray.GetAt(dwIndexl2[i]);pDayVar->nAddCount = 0;
pRptVar->value.fVal = 0;for(i = 4; i < 4 + 28; i ++)
}{
CVariable *pRptVar = (CVariable
“*)pProject->m_varArray.GetAt(dwIndexl6[i]);
pDayVar = (CVariablepRptVar->value.fVal = 0;
*)pProject->m_varArray.GetAt(dwIndexl3[3]);} pDayVar->va]ue.fVa] = 0;
pDayVar->nAddCount = 0;//
for(i = 4;i<4 + 28;i++)pDayVar =(CVariable
i*)pProject->m_var Array. GetAt(dwIndexl7[3]);
CVariable *pRptVar = (CVariablepDayVar-> value. fVal = 0;
*)pProject->m_varArray.GetAt(dwIndexl3[i]);pDayVar->nAddCount = 0;
pRptVar->value.iVal = 0;for(i = 4; i < 4 + 28; i ++){CVariable *pRpt Var = (CVariable
CVariable *pRptVar = (CVariable*)pProject->m_varArray. GetAt(dwIndexl8[i]);
*)pProj ect->m_varArray. Get At(dwlndex 17[i]);pRptVar->value.fVal = 0;
pRptVar->value.fVal = 0;}
}
//
//pDayVar =(CVariable
pDayVar = (CVariable*)pProject->m_var Array. GetAt(dwIndexl9[3]);
*)pProj ect->m_varArray. Get At(dwlndex 18[3]);pDayVar->value.fVal = 0;
pDayVar->value.fVal = 0;pDayVar->nAddCount = 0;
pDayVar->nAddCount = 0;for(i = 4;i<4 + 28;i ++)
for(i = 4; i < 4 + 28; i ++) {(7)測(cè)量處理瓦斯分析儀對(duì)工作面甲烷氣體、工作面一氧化碳?xì)怏w、采空區(qū)瓦斯氣體+六氟化硫混合氣體進(jìn)行分析,對(duì)比后得出采空區(qū)瓦斯氣體的濃度、成分以及分布情況,并打印成文字材料,為治理采空區(qū)瓦斯提供依據(jù)。有益效果本發(fā)明與背景技術(shù)相比具有明顯的先進(jìn)性,是根據(jù)煤礦井下采空區(qū)的瓦斯氣體分布狀況,采用現(xiàn)場(chǎng)直接采集、輸送、儲(chǔ)存、測(cè)量、計(jì)算、分析、對(duì)比一條龍的測(cè)量方法,同時(shí)采用計(jì)算機(jī)技術(shù),利用傳感器信息收集有害氣體的數(shù)據(jù),由微計(jì)算機(jī)程序完成各項(xiàng)分析功能, 此測(cè)量方法在采空區(qū)現(xiàn)場(chǎng)直接取樣、輸送、分析、打印數(shù)據(jù),迅速快捷,數(shù)據(jù)翔實(shí)準(zhǔn)確,能直接掌握瓦斯?fàn)顩r,給治理、消除瓦斯危害提供了第一手現(xiàn)場(chǎng)資料,此測(cè)量方法嚴(yán)密先進(jìn),現(xiàn)場(chǎng)直觀,方便準(zhǔn)確安全,是十分理想的煤礦井下采空區(qū)瓦斯氣體分布測(cè)量方法。
圖1為煤礦井下采空區(qū)瓦斯氣體分布測(cè)量狀態(tài)中所示,附圖標(biāo)記清單如下1、采空區(qū)進(jìn)風(fēng)束管采樣器,2、采空區(qū)回風(fēng)束管采樣器,3、采空區(qū),4、一氧化碳傳感器,5、甲烷傳感器,6、采煤工作面7、工作面回風(fēng)采空區(qū)采樣束管,8、工作面進(jìn)風(fēng)采空區(qū)采樣束管9、煤柱,10、工作面開采煤層,11、工作面回風(fēng)巷道,12、工作面進(jìn)風(fēng)巷道,13、傳感器信號(hào)線,14、氣體導(dǎo)管,15、采空區(qū)瓦斯儲(chǔ)氣罐,16、打印機(jī),17、瓦斯分析儀,18、測(cè)量工作艙, 19、采區(qū)回風(fēng)巷,20、采區(qū)進(jìn)風(fēng)巷,21、采區(qū)進(jìn)風(fēng)流,22、采區(qū)回風(fēng)流,23、工作面回風(fēng)流,24、工作面進(jìn)風(fēng)流,25、采空區(qū)氣體采樣泵。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說(shuō)明圖1所示,為煤礦井下采空區(qū)瓦斯氣體測(cè)量狀態(tài)圖,各部位置、聯(lián)接關(guān)系要正確, 按序操作。采空區(qū)的瓦斯氣體分布測(cè)量是在煤礦井下直接進(jìn)行的,在煤礦井下采煤工作面6 兩側(cè)為煤柱9,在采煤工作面6、煤柱9內(nèi)右部為采空區(qū)3,左部為工作面開采煤層10;在工作面開采煤層10與煤柱9之間設(shè)置回風(fēng)巷道11和進(jìn)風(fēng)巷道12,并相互連通,回風(fēng)巷道11 聯(lián)接采空區(qū)回風(fēng)巷19,進(jìn)風(fēng)巷道12聯(lián)通采區(qū)進(jìn)風(fēng)巷20,在回風(fēng)巷19、進(jìn)風(fēng)巷20之間設(shè)有測(cè)量工作艙18 ;在采空區(qū)3內(nèi)分左右設(shè)有采空區(qū)進(jìn)風(fēng)束管采樣器1和采空區(qū)回風(fēng)束管采樣器 2,采空區(qū)進(jìn)風(fēng)束管采樣器1聯(lián)接進(jìn)風(fēng)巷道12內(nèi)的采樣束管8,采空區(qū)回風(fēng)束管采樣器2聯(lián)接回風(fēng)巷道11內(nèi)的采樣束管7,采樣束管7和采樣束管8聯(lián)接氣體采樣泵25,氣體采樣泵 25通過(guò)氣體導(dǎo)管14聯(lián)接測(cè)量工作艙18內(nèi)的瓦斯儲(chǔ)氣罐15 ;在采煤工作面6的回風(fēng)側(cè)設(shè)有一氧化碳傳感器4和甲烷傳感器5,并通過(guò)傳感器信號(hào)線13與測(cè)量工作艙18內(nèi)的瓦斯分析儀17聯(lián)接;各聯(lián)接氣路要暢通,各聯(lián) 接導(dǎo)線要正確。
權(quán)利要求
1. 一種煤礦井下采空區(qū)的瓦斯分布測(cè)量方法,其特征在于瓦斯氣體測(cè)量是在煤礦井下采空區(qū)直接取樣進(jìn)行的,是在瓦斯分析儀上用微計(jì)算機(jī)處理器進(jìn)行信息分析、程序化完成的;(1)測(cè)量準(zhǔn)備①設(shè)置測(cè)量工作艙測(cè)量工作艙為方艙式,恒定溫度為22°c 士2°C,相對(duì)濕度< 20%,為潔凈、陰涼、干燥環(huán)境;方艙內(nèi)置放瓦斯分析儀、數(shù)據(jù)打印機(jī)、儲(chǔ)氣罐、束管采樣裝置;②在工作面采空區(qū)設(shè)置采樣探頭,在工作面進(jìn)回風(fēng)巷道內(nèi)設(shè)置采樣束管,并把它們聯(lián)通起來(lái);③在工作面內(nèi)設(shè)置甲烷傳感器,一氧化碳傳感器,并通過(guò)傳感器信號(hào)線與瓦斯分析儀聯(lián)接;(2)采取采空區(qū)瓦斯氣體開啟采氣泵,通過(guò)采樣探頭和采樣束管,將瓦斯氣體收集于瓦斯儲(chǔ)氣罐內(nèi);(3)采集甲烷氣體信息將甲烷傳感器置于工作面內(nèi),通過(guò)傳感器信號(hào)線把采集到的甲烷氣體信息傳輸?shù)酵咚狗治鰞x;(4)采集一氧化碳?xì)怏w信息將一氧化碳傳感器置于工作面內(nèi),通過(guò)傳感器信號(hào)線把采集到的一氧化碳?xì)怏w信息傳輸?shù)酵咚狗治鰞x;(5)在采空區(qū)釋放六氟化硫示蹤氣體,并收集混合后的瓦斯氣體+六氟化硫氣體,然后裝入儲(chǔ)氣罐內(nèi);(6)瓦斯分析儀測(cè)量①瓦斯分析儀接受甲烷傳感器信息,經(jīng)微計(jì)算機(jī)處理器進(jìn)行程序運(yùn)算,得出甲烷氣體值,并指令打印機(jī)打印出相關(guān)數(shù)據(jù);②瓦斯分析儀接受一氧化碳傳感器信息,經(jīng)微計(jì)算機(jī)處理器進(jìn)行程序運(yùn)算,得出一氧化碳?xì)怏w值,并指令打印機(jī)打印出相關(guān)數(shù)據(jù);③將瓦斯氣體儲(chǔ)氣罐內(nèi)氣體輸入瓦斯分析儀中,由微計(jì)算機(jī)處理器進(jìn)行瓦斯氣體成分、濃度、量值分析,然后指令打印機(jī)打印出瓦斯氣體信息;④將采集的瓦斯氣體和六氟化硫氣體混合氣體輸入瓦斯分析儀中,由微計(jì)算機(jī)處理器進(jìn)行對(duì)比分析,并指令打印機(jī)打印出對(duì)比分析信息;⑤瓦斯分析儀測(cè)量工作面甲烷氣體、一氧化碳?xì)怏w、采空區(qū)瓦斯氣體、采空區(qū)瓦斯氣體 +六氟化硫混合氣體,是由分析儀的微計(jì)算機(jī)處理器程序完成的,測(cè)量程序使用VC語(yǔ)言平臺(tái),程序如下Il AaProcessData.cpp: implementation of theCAaProcessData class.// include "stdafx.h"#include "Arithmetic.h"#include "AaProcessData.h"#ifdef_DEBUG#undef THIS—FILEstatic char THIS_FILE[]=_FILE_;#defme new DEBUG_NEW#endif//定義變量的索引數(shù)組,其數(shù)據(jù)格式為/* DWORD dwlndex[32] = {變量的 ID,統(tǒng)計(jì)測(cè)點(diǎn)距工作面Im時(shí)的瓦斯?jié)舛茸兞康腎D,統(tǒng)計(jì)測(cè)點(diǎn)距工作面5m時(shí)的瓦斯?jié)舛茸兞康腎D,統(tǒng)計(jì)測(cè)點(diǎn)距工作面IOm時(shí)的瓦斯?jié)舛茸兞康腎D,統(tǒng)計(jì)測(cè)點(diǎn)距工作面15m時(shí)的瓦斯?jié)舛茸兞康腎D,
2.根據(jù)權(quán)利要求1所述的一種煤礦井下采空區(qū)的瓦斯分布測(cè)量方法,其特征在于采空區(qū)的瓦斯氣體分布測(cè)量是在煤礦井下直接進(jìn)行的,在煤礦井下采煤工作面(6)兩側(cè)為煤柱(9),在采煤工作面(6)、煤柱(9)內(nèi)右部為采空區(qū)(3),左部為工作面開采煤層(10);在工作面開采煤層(10)與煤柱(9)之間設(shè)置回風(fēng)巷道(11)和進(jìn)風(fēng)巷道(12),并相互連通,回風(fēng)巷道(11)聯(lián)通采區(qū)回風(fēng)巷(19),進(jìn)風(fēng)巷道(1 聯(lián)通采區(qū)進(jìn)風(fēng)巷(20),在回風(fēng)巷(19)、 進(jìn)風(fēng)巷00)之間設(shè)有測(cè)量工作艙(18);在采空區(qū)(3)內(nèi)分左右設(shè)有采空區(qū)進(jìn)風(fēng)束管采樣器(1)和采空區(qū)回風(fēng)束管采樣器O),采空區(qū)進(jìn)風(fēng)束管采樣器(1)聯(lián)接進(jìn)風(fēng)巷道(1 內(nèi)的采樣束管(8),采空區(qū)回風(fēng)束管采樣器( 聯(lián)接回風(fēng)巷道(11)內(nèi)的采樣束管(7),采樣束管 (7)和采樣束管(8)聯(lián)接氣體采樣泵(25),氣體采樣泵0 通過(guò)氣體導(dǎo)管(14)聯(lián)接測(cè)量工作艙(18)內(nèi)的瓦斯儲(chǔ)氣罐(15);在采煤工作面(6)的回風(fēng)側(cè)設(shè)有一氧化碳傳感器(4) 和甲烷傳感器(5),并通過(guò)傳感器信號(hào)線(13)與測(cè)量工作艙(18)內(nèi)的瓦斯分析儀(17)聯(lián)接;各聯(lián)接氣路要暢通,各聯(lián)接導(dǎo)線要正確。
全文摘要
本發(fā)明涉及一種煤礦井下采空區(qū)的瓦斯分布測(cè)量方法,是根據(jù)煤礦井下采空區(qū)的情況,采用現(xiàn)場(chǎng)直接采樣、傳輸、收集儲(chǔ)存、測(cè)量、計(jì)算、分析對(duì)比、一條龍的測(cè)量方法,采用計(jì)算機(jī)技術(shù),傳感器信息收集氣體的數(shù)據(jù),由微計(jì)算機(jī)程序完成各項(xiàng)分析功能,此測(cè)量方法在采空區(qū)現(xiàn)場(chǎng)直接取樣、傳輸、分析、打印數(shù)據(jù),迅速快捷,數(shù)據(jù)翔實(shí)準(zhǔn)確,能直接掌握采空區(qū)瓦斯分布狀況,給治理、消除瓦斯危害提供了第一手現(xiàn)場(chǎng)資料,此測(cè)量方法嚴(yán)密先進(jìn),現(xiàn)場(chǎng)直觀,方便準(zhǔn)確安全,是十分理想的煤礦井下采空區(qū)氣體分布測(cè)量方法。
文檔編號(hào)G01N33/22GK102323391SQ201110251550
公開日2012年1月18日 申請(qǐng)日期2011年8月25日 優(yōu)先權(quán)日2011年8月25日
發(fā)明者吳玉國(guó), 周春山, 王俊峰, 鄔劍明 申請(qǐng)人:太原理工大學(xué)