亚洲欧美国产精品粉嫩|亚洲精品精品无码专区|国产在线无码精品电影网|午夜无码久久久久久国产|亚洲国产精品一区二区动图|国产在线精品一区在线观看|欧美伊人久久久久久久久影院|中文字幕日韩av在线一区二区

合肥金星智控科技股份有限公司
宣傳

位置:中冶有色 >

有色技術(shù)頻道 >

> 選礦技術(shù)

> 礦用帶式輸送機(jī)順煤流啟動(dòng)、停機(jī)控制方法及設(shè)備

礦用帶式輸送機(jī)順煤流啟動(dòng)、停機(jī)控制方法及設(shè)備

1156   編輯:中冶有色技術(shù)網(wǎng)   來源:南京北路智控科技股份有限公司  
2023-11-21 14:21:37
權(quán)利要求書: 1.一種礦用帶式輸送機(jī)順煤流啟動(dòng)控制方法,其特征在于,包括,

對(duì)每條煤流中的皮帶進(jìn)行分級(jí),每條煤流中的首部皮帶為上一級(jí)皮帶屬于其他條煤流的皮帶,或每條煤流中的上一級(jí)皮帶為第三方控制器皮帶的皮帶,或者每條煤流中無上一級(jí)皮帶的皮帶;

在啟動(dòng)前,對(duì)每條煤流中的所有皮帶進(jìn)行編號(hào),并對(duì)每條煤流中皮帶還根據(jù)編號(hào)進(jìn)行排序;

所述排序包括如下步驟:

獲取皮帶所在煤流、皮帶分級(jí)以及皮帶編號(hào),并存儲(chǔ)于暫存空間中;

申請(qǐng)排序緩存空間,用于皮帶排序;

查找暫存空間中煤流的首部皮帶,若查找到的首部皮帶數(shù)量不等于1,則認(rèn)為配置文件配置的煤流上下級(jí)關(guān)系存在錯(cuò)誤;若找到的首部皮帶數(shù)量等于1,則將查詢到的首部皮帶固定于排序緩存首部;

通過查找暫存空間中上級(jí)皮帶為首部皮帶的皮帶編號(hào),并將相應(yīng)皮帶編號(hào)插入到排序緩存空間中首部皮帶編號(hào)的尾部;

遍歷暫存空間中的皮帶編號(hào),檢查當(dāng)前所遍歷的皮帶的上級(jí)是否在排序緩存空間中,如存在則把該皮帶編號(hào)插入到該皮帶的上級(jí)皮帶編號(hào)的尾部;

采用順煤流啟動(dòng)標(biāo)志表示順煤流啟動(dòng);

順煤流啟動(dòng)包括,

獲取煤流中所有皮帶狀態(tài),檢查該煤流所有皮帶是否全部運(yùn)行;

若所有皮帶全部運(yùn)行則表示該煤流啟動(dòng)成功,順煤流啟動(dòng)標(biāo)志清除;

若存在未運(yùn)行的皮帶,檢查該未運(yùn)行的皮帶處于停機(jī)狀態(tài)還是正在啟動(dòng)狀態(tài);

當(dāng)該未運(yùn)行的皮帶處于正在啟動(dòng)中,保留順煤流啟動(dòng)標(biāo)志,并跳轉(zhuǎn)該皮帶及其上一級(jí)皮帶輪詢?cè)撁毫鞯钠渌?,直至順煤流啟?dòng)成功;

當(dāng)該未運(yùn)行的皮帶處于停機(jī)狀態(tài),若該未運(yùn)行的皮帶的下一級(jí)存在已運(yùn)行的皮帶,則啟動(dòng)該未運(yùn)行的皮帶;

當(dāng)該未運(yùn)行的皮帶處于停機(jī)狀態(tài),若該未運(yùn)行的皮帶的下一級(jí)不存在已運(yùn)行的皮帶,跳過該未啟動(dòng)的皮帶查詢?cè)撁毫髦衅渌В?br />
上述順煤流啟動(dòng)過程中,采用倒序查詢方式進(jìn)行,即在皮帶輪詢過程中先啟動(dòng)無下一級(jí)皮帶的皮帶。

2.根據(jù)權(quán)利要求1所述的一種礦用帶式輸送機(jī)順煤流啟動(dòng)控制方法,其特征在于,所述順煤流啟動(dòng)標(biāo)志采用數(shù)字1表示。

3.一種礦用帶式輸送機(jī)順煤流啟動(dòng)設(shè)備,其特征在于:包括:

控制器內(nèi)置有順煤流啟動(dòng)函數(shù)用于執(zhí)行權(quán)利要求1中的礦用帶式輸送機(jī)順煤流啟動(dòng)控制方法,順煤流啟動(dòng)函數(shù)根據(jù)煤流的順煤流啟動(dòng)標(biāo)志判斷煤流是否執(zhí)行順煤流啟動(dòng);

控制器,接收上位機(jī)或外鍵輸入指令控制皮帶的啟動(dòng),并通過顯示屏顯示該皮帶處于啟動(dòng)狀態(tài)、運(yùn)行狀態(tài)或者停機(jī)狀態(tài)。

4.一種礦用帶式輸送機(jī)順煤流停機(jī)控制方法,其特征在于,包括,

對(duì)每條煤流中的皮帶進(jìn)行分級(jí),將每一級(jí)中的所有皮帶分別進(jìn)行編號(hào);其中,每條煤流中的首部皮帶為上一級(jí)皮帶編號(hào)不屬于本條煤流編號(hào)的皮帶,或每條煤流中的上一級(jí)皮帶為第三方控制器皮帶的皮帶,或者每條煤流中無上一級(jí)皮帶的皮帶;

在停機(jī)開始前,還包括對(duì)每條煤流中的所有皮帶進(jìn)行編號(hào),并對(duì)每條煤流中皮帶還根據(jù)編號(hào)進(jìn)行排序;

所述排序包括如下步驟:

獲取皮帶所在煤流、皮帶分級(jí)以及皮帶編號(hào),并存儲(chǔ)于暫存空間中;

申請(qǐng)排序緩存空間,用于皮帶排序;

查找暫存空間中煤流的首部皮帶,若查找到的首部皮帶數(shù)量不等于1,則認(rèn)為配置文件配置的煤流上下級(jí)關(guān)系存在錯(cuò)誤;若找到的首部皮帶數(shù)量等于1,則將查詢到的首部皮帶固定于排序緩存首部;

通過查找暫存空間中上級(jí)皮帶為首部皮帶的皮帶編號(hào),并將相應(yīng)皮帶編號(hào)插入到排序緩存空間中首部皮帶編號(hào)的尾部;

遍歷暫存空間中的皮帶編號(hào),檢查當(dāng)前所遍歷的皮帶的上級(jí)是否在排序緩存空間中,如存在則把該皮帶編號(hào)插入到該皮帶的上級(jí)皮帶編號(hào)的尾部;

順煤流停機(jī)函數(shù)進(jìn)行順煤流停機(jī)控制;

采用順煤流停機(jī)標(biāo)志表示順煤流正在停機(jī)過程;

采用停機(jī)失敗標(biāo)志記錄該運(yùn)行中的皮帶有過停機(jī)失敗;定義,停機(jī)失敗是指運(yùn)行中的皮帶執(zhí)行超過設(shè)定次數(shù)的停機(jī)過程均未完成停機(jī),并退出順煤流停機(jī)函數(shù);

采用停機(jī)超時(shí)標(biāo)志記錄該運(yùn)行停機(jī)中的皮帶有過超過預(yù)設(shè)時(shí)間的停機(jī);

順煤流停機(jī)函數(shù)遍歷煤流皮帶,檢查正在運(yùn)行的皮帶是否存在停機(jī)失敗標(biāo)志或停機(jī)超時(shí)標(biāo)志,若存在停機(jī)失敗標(biāo)志或停機(jī)超時(shí)標(biāo)志則清除該煤流的順煤流停機(jī)標(biāo)志,退出該順煤流停機(jī)函數(shù);

若不存在停機(jī)失敗標(biāo)志與停機(jī)超時(shí)標(biāo)志,該運(yùn)行的皮帶的下一級(jí)皮帶均已停機(jī),則在停機(jī)延時(shí)到達(dá)后進(jìn)行停機(jī)動(dòng)作,直至該煤流中所有皮帶輪詢結(jié)束;

若不存在停機(jī)失敗標(biāo)志與停機(jī)超時(shí)標(biāo)志,該運(yùn)行的皮帶的下一級(jí)皮帶不為停機(jī)狀態(tài),則跳轉(zhuǎn)該未停機(jī)的皮帶輪詢?cè)撁毫髦衅渌?,直至該煤流中所有皮帶輪詢結(jié)束。

5.根據(jù)權(quán)利要求4所述的一種礦用帶式輸送機(jī)順煤流停機(jī)控制方法,其特征在于,所述順煤流停機(jī)標(biāo)志采用數(shù)字1表示。

6.一種礦用帶式輸送機(jī)順煤流停機(jī)設(shè)備,其特征在于:包括:

控制器內(nèi)置有順煤流停機(jī)函數(shù)用于執(zhí)行權(quán)利要求4中的礦用帶式輸送機(jī)順煤流停機(jī)控制方法,順煤流停機(jī)函數(shù)根據(jù)煤流的順煤流啟動(dòng)標(biāo)志判斷煤流是否執(zhí)行順煤流啟動(dòng)標(biāo)志;

控制器,接收上位機(jī)或外鍵輸入指令控制皮帶的停機(jī),并通過顯示屏顯示該皮帶處于停機(jī)失敗狀態(tài)、停機(jī)超時(shí)狀態(tài)或者停機(jī)過程中。

說明書: 一種礦用帶式輸送機(jī)順煤流啟動(dòng)、停機(jī)控制方法及設(shè)備技術(shù)領(lǐng)域

本發(fā)明屬于煤礦行業(yè)皮帶運(yùn)輸控制領(lǐng)域,具體涉及一種礦用帶式輸送機(jī)順煤流啟動(dòng)、停機(jī)控制方法及設(shè)備。

背景技術(shù)

煤流啟??刂剖敲毫鬟\(yùn)輸?shù)年P(guān)鍵環(huán)節(jié),不僅涉及煤流的正常運(yùn)輸、還涉及不同煤流之間的切換。

為了實(shí)現(xiàn)對(duì)煤流啟停的精準(zhǔn)控制,現(xiàn)有行業(yè)采用嵌入式設(shè)備,利用PLC控制器進(jìn)行控制。

但本申請(qǐng)發(fā)明人在實(shí)現(xiàn)本申請(qǐng)實(shí)施例中發(fā)明技術(shù)方案的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下技術(shù)問題:

1.現(xiàn)有技術(shù)的煤流啟停控制所適應(yīng)煤流配置簡單,無分支控制。無法滿足多分支聯(lián)動(dòng)控制。適應(yīng)場景簡單,無法滿足一條煤流中多分支同煤流啟停控制。

2.PLC控制器需根據(jù)場景定制程序,對(duì)于經(jīng)常變動(dòng)的采煤工作面和變動(dòng)的運(yùn)輸皮帶搭接關(guān)系,適應(yīng)性差,每次調(diào)整都需要重新編制PLC程序,人力成本高、靈活性差。

發(fā)明內(nèi)容

本申請(qǐng)?zhí)峁┮环N礦用帶式輸送機(jī)順煤流啟停控制方法及設(shè)備,其能進(jìn)行多分支聯(lián)動(dòng)控制,適用于經(jīng)常變動(dòng)的工作臺(tái)面以及經(jīng)常變動(dòng)的運(yùn)輸皮帶搭接關(guān)系。

為實(shí)現(xiàn)上述技術(shù)目的,本申請(qǐng)?zhí)峁┮环N礦用帶式輸送機(jī)順煤流啟動(dòng)控制方法,包括,

對(duì)每條煤流中的皮帶進(jìn)行分級(jí),每條煤流中的首部皮帶為上一級(jí)皮帶屬于其他條煤流的皮帶,或每條煤流中的上一級(jí)皮帶為第三方控制器皮帶的皮帶,或者每條煤流中無上一級(jí)皮帶的皮帶;

采用順煤流啟動(dòng)標(biāo)志表示順煤流啟動(dòng);

順煤流啟動(dòng)包括,獲取煤流中所有皮帶狀態(tài),檢查該煤流所有皮帶是否全部運(yùn)行;

若所有皮帶全部運(yùn)行則表示該煤流啟動(dòng)成功,順煤流啟動(dòng)標(biāo)志清除;

若存在未運(yùn)行的皮帶,檢查該未運(yùn)行的皮帶處于停機(jī)狀態(tài)還是正在啟動(dòng)狀態(tài);

當(dāng)該未運(yùn)行的皮帶處于正在啟動(dòng)中,保留順煤流啟動(dòng)標(biāo)志,并跳轉(zhuǎn)該皮帶及其上一級(jí)皮帶輪詢?cè)撁毫鞯钠渌?,直至順煤流啟?dòng)成功;

當(dāng)該未運(yùn)行的皮帶處于停機(jī)狀態(tài),若該未運(yùn)行的皮帶的下一級(jí)存在已運(yùn)行的皮帶,則啟動(dòng)該未運(yùn)行的皮帶;

當(dāng)該未運(yùn)行的皮帶處于停機(jī)狀態(tài),若該未運(yùn)行的皮帶的下一級(jí)不存在已運(yùn)行的皮帶,跳過該未啟動(dòng)的皮帶查詢?cè)撁毫髦衅渌А?br />
作為本申請(qǐng)改進(jìn)的技術(shù)方案,所述順煤流啟動(dòng)標(biāo)志采用數(shù)字1表示。

作為本申請(qǐng)改進(jìn)的技術(shù)方案,順煤流啟動(dòng)過程中,采用倒序查詢方式進(jìn)行,即在皮帶輪詢過程中先啟動(dòng)無下一級(jí)皮帶的皮帶。

作為本申請(qǐng)改進(jìn)的技術(shù)方案,還包括,在啟動(dòng)前,對(duì)每條煤流中的所有皮帶進(jìn)行編號(hào),并對(duì)每條煤流中皮帶還根據(jù)編號(hào)進(jìn)行排序;

所述排序包括如下步驟:

獲取皮帶所在煤流、皮帶分級(jí)以及皮帶編號(hào),并存儲(chǔ)于暫存空間中;

申請(qǐng)排序緩存空間,用于皮帶排序;

查找暫存空間中煤流的首部皮帶,若查找到的首部皮帶數(shù)量不等于1,則認(rèn)為配置文件配置的煤流上下級(jí)關(guān)系存在錯(cuò)誤;若找到的首部皮帶數(shù)量等于1,則將查詢到的首部皮帶固定于排序緩存首部;

通過查找暫存空間中上級(jí)皮帶為首部皮帶的皮帶編號(hào),并將相應(yīng)皮帶編號(hào)插入到排序緩存空間中首部皮帶編號(hào)的尾部;

遍歷暫存空間中的皮帶編號(hào),檢查當(dāng)前所遍歷的皮帶的上級(jí)是否在排序緩存空間中,如存在則把該皮帶編號(hào)插入到該皮帶的上級(jí)皮帶編號(hào)的尾部。

另一方面,一種礦用帶式輸送機(jī)順煤流啟動(dòng)設(shè)備,包括:

控制器內(nèi)置有順煤流啟動(dòng)函數(shù),順煤流啟動(dòng)函數(shù)根據(jù)煤流的順煤流啟動(dòng)標(biāo)志判斷煤流是否執(zhí)行順煤流啟動(dòng);

控制器,接收上位機(jī)或外鍵輸入指令控制皮帶的啟動(dòng),并通過顯示屏顯示該皮帶處于啟動(dòng)狀態(tài)、運(yùn)行狀態(tài)或者停機(jī)狀態(tài)。

另一方面,一種礦用帶式輸送機(jī)順煤流停機(jī)控制方法,包括,

順煤流停機(jī)函數(shù)進(jìn)行順煤流停機(jī)控制;

采用順煤流停機(jī)標(biāo)志表示順煤流正在停機(jī)過程;

采用停機(jī)失敗標(biāo)志記錄該運(yùn)行中的皮帶有過停機(jī)失敗;定義,停機(jī)失敗是指運(yùn)行中的皮帶執(zhí)行超過設(shè)定次數(shù)的停機(jī)過程均未完成停機(jī),并退出順煤流停機(jī)函數(shù);

采用停機(jī)超時(shí)標(biāo)志記錄該運(yùn)行停機(jī)中的皮帶有過超過預(yù)設(shè)時(shí)間的停機(jī);

順煤流停機(jī)函數(shù)遍歷煤流皮帶,檢查正在運(yùn)行的皮帶是否存在停機(jī)失敗標(biāo)志或停機(jī)超時(shí)標(biāo)志,若存在停機(jī)失敗標(biāo)志或停機(jī)超時(shí)標(biāo)志則清除該煤流的順煤流停機(jī)標(biāo)志,退出該順煤流停機(jī)函數(shù);

若不存在停機(jī)失敗標(biāo)志與停機(jī)超時(shí)標(biāo)志,該運(yùn)行的皮帶的下一級(jí)皮帶均已停機(jī),則在停機(jī)延時(shí)到達(dá)后進(jìn)行停機(jī)動(dòng)作,直至該煤流中所有皮帶輪詢結(jié)束;

若不存在停機(jī)失敗標(biāo)志與停機(jī)超時(shí)標(biāo)志,該運(yùn)行的皮帶的下一級(jí)皮帶不為停機(jī)狀態(tài),則跳轉(zhuǎn)該未停機(jī)的皮帶輪詢?cè)撁毫髦衅渌?,直至該煤流中所有皮帶輪詢結(jié)束。

作為本申請(qǐng)改進(jìn)的技術(shù)方案,所述順煤流停機(jī)標(biāo)志采用數(shù)字1表示。

作為本申請(qǐng)改進(jìn)的技術(shù)方案,還包括,對(duì)每條煤流中的皮帶進(jìn)行分級(jí),將每一級(jí)中的所有皮帶分別進(jìn)行編號(hào);其中,每條煤流中的首部皮帶為上一級(jí)皮帶編號(hào)不屬于本條煤流編號(hào)的皮帶,或每條煤流中的上一級(jí)皮帶為第三方控制器皮帶的皮帶,或者每條煤流中無上一級(jí)皮帶的皮帶。

作為本申請(qǐng)改進(jìn)的技術(shù)方案,在停機(jī)開始前,還包括對(duì)每條煤流中的所有皮帶進(jìn)行編號(hào),并對(duì)每條煤流中皮帶還根據(jù)編號(hào)進(jìn)行排序;

所述排序包括如下步驟:

獲取皮帶所在煤流、皮帶分級(jí)以及皮帶編號(hào),并存儲(chǔ)于暫存空間中;

申請(qǐng)排序緩存空間,用于皮帶排序;

查找暫存空間中煤流的首部皮帶,若查找到的首部皮帶數(shù)量不等于1,則認(rèn)為配置文件配置的煤流上下級(jí)關(guān)系存在錯(cuò)誤;若找到的首部皮帶數(shù)量等于1,則將查詢到的首部皮帶固定于排序緩存首部;

通過查找暫存空間中上級(jí)皮帶為首部皮帶的皮帶編號(hào),并將相應(yīng)皮帶編號(hào)插入到排序緩存空間中首部皮帶編號(hào)的尾部;

遍歷暫存空間中的皮帶編號(hào),檢查當(dāng)前所遍歷的皮帶的上級(jí)是否在排序緩存空間中,如存在則把該皮帶編號(hào)插入到該皮帶的上級(jí)皮帶編號(hào)的尾部。

另一方面,一種礦用帶式輸送機(jī)順煤流停機(jī)設(shè)備,包括:

控制器內(nèi)置有順煤流停機(jī)函數(shù),順煤流停機(jī)函數(shù)根據(jù)煤流的順煤流啟動(dòng)標(biāo)志判斷煤流是否執(zhí)行順煤流啟動(dòng)標(biāo)志;

控制器,接收上位機(jī)或外鍵輸入指令控制皮帶的停機(jī),并通過顯示屏顯示該皮帶處于停機(jī)失敗狀態(tài)、停機(jī)超時(shí)狀態(tài)或者停機(jī)過程中。

有益效果

本申請(qǐng)采用煤流啟停標(biāo)志表示煤流正在啟動(dòng)或正在停機(jī),能夠清楚完整的表示出每條煤流的狀態(tài),適用于煤流工作場中的多分支聯(lián)動(dòng)。

尤其是,本申請(qǐng)對(duì)煤流中皮帶進(jìn)行分級(jí)與編號(hào),能清楚知曉每條皮帶所關(guān)聯(lián)的所有煤流,通過一條皮帶的狀態(tài)能分析其關(guān)聯(lián)所有煤流的工作狀態(tài)。如該皮帶處于運(yùn)行狀態(tài),通過分析其在各個(gè)煤流的上下級(jí)的狀態(tài),即能對(duì)應(yīng)得出各煤流的狀態(tài);當(dāng)一條皮帶處于故障狀態(tài),通過分級(jí)與編號(hào)能快速推算其關(guān)聯(lián)煤流是否需要停機(jī)。

本申請(qǐng)采用煤流啟停函數(shù)控制煤流啟動(dòng),分析煤流啟動(dòng)過程中皮帶狀態(tài)能快速的實(shí)現(xiàn)煤流啟動(dòng),即節(jié)約了設(shè)備布設(shè)成本又加快了啟??刂扑俣?,保證煤流運(yùn)行的高效性。

本申請(qǐng)?jiān)诿毫鲉?dòng)或煤流停機(jī)前先進(jìn)行煤流皮帶排序,保證煤流啟動(dòng)或煤流停機(jī)時(shí)能快速的從無下級(jí)的皮帶開始啟動(dòng)或停機(jī);而首部皮帶的定義,則方便不同煤流之間的切換以及不同采煤工作面和皮帶運(yùn)輸關(guān)系的切換。

綜上,本申請(qǐng)的對(duì)煤流進(jìn)行分級(jí),并設(shè)計(jì)煤流啟動(dòng)程序與煤流停機(jī)程序,解決了現(xiàn)有技術(shù)復(fù)雜煤流啟停復(fù)雜的技術(shù)問題,實(shí)現(xiàn)了煤流多分支聯(lián)動(dòng)啟??刂埔约皬?fù)雜煤流的快速啟??刂萍夹g(shù)目的??赏瓿蓮?fù)雜煤流分支網(wǎng)絡(luò)啟停控制,并在啟停過程中有發(fā)生異常,可及時(shí)退出煤流啟停流程??稍O(shè)定皮帶與皮帶啟停的時(shí)間間隔,用戶僅需要配置好相應(yīng)參數(shù),設(shè)備自動(dòng)按照搭建關(guān)系執(zhí)行煤流的啟??刂啤?br />
應(yīng)當(dāng)理解,前述構(gòu)思以及在下面更加詳細(xì)地描述的額外構(gòu)思的所有組合只要在這樣的構(gòu)思不相互矛盾的情況下都可以被視為本公開的申請(qǐng)主題的一部分。

結(jié)合附圖從下面的描述中可以更加全面地理解本申請(qǐng)教導(dǎo)的前述和其他方面、實(shí)施例和特征。本申請(qǐng)的其他附加方面例如示例性實(shí)施方式的特征和/或有益效果將在下面的描述中顯見,或通過根據(jù)本申請(qǐng)教導(dǎo)的具體實(shí)施方式的實(shí)踐中得知。

附圖說明

圖1 繪示本申請(qǐng)順煤流啟停總流程圖;

圖2 繪示順煤流啟動(dòng)流程圖;

圖3 繪示順煤流停機(jī)流程圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的和技術(shù)方案更加清楚,下面將結(jié)合本發(fā)明實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于所描述的本發(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在無需創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會(huì)用理想化或過于正式的含義來解釋。

本申請(qǐng)實(shí)施例通過提供一種礦用帶式輸送機(jī)順煤流啟動(dòng)、停機(jī)控制方法及設(shè)備,解決現(xiàn)有技術(shù)中無法滿足多分支聯(lián)動(dòng)控制以及對(duì)經(jīng)常變動(dòng)的采煤工作面和變動(dòng)的運(yùn)輸皮帶搭接關(guān)系適應(yīng)性差的問題。

本申請(qǐng)實(shí)施例中的技術(shù)方案為解決上述技術(shù)問題,總體思路如下:

通過給煤流中所有皮帶進(jìn)行分級(jí),并定義首部皮帶,通過線程中順煤流啟停函數(shù)(分為順煤流啟動(dòng)函數(shù)與順煤流停機(jī)函數(shù))依據(jù)皮帶分級(jí)對(duì)皮帶進(jìn)行分級(jí)啟動(dòng)與停機(jī),以保證煤流啟停的安全性。具體是:通過線程循環(huán)判斷煤流的順煤流啟??刂坪瘮?shù),并通過線程中其他函數(shù),來更新,皮帶的狀態(tài),如告警狀態(tài)更新,煤流的狀態(tài)信息,以給順煤流啟停過程中提供最新的狀態(tài)信息(本申請(qǐng)的重點(diǎn)在于煤流啟停,其他信息可采用現(xiàn)有技術(shù)進(jìn)行,因不是本申請(qǐng)的重點(diǎn)且不影響本申請(qǐng)的技術(shù)的完整性,故本申請(qǐng)不做闡述)。根據(jù)煤流的順煤流啟動(dòng)標(biāo)志,判斷煤流是否執(zhí)行順煤流啟動(dòng)標(biāo)志;根據(jù)煤流的順煤流停機(jī)標(biāo)志,判斷煤流是否執(zhí)行順煤流停機(jī)標(biāo)志。

如圖1所示,一個(gè)順煤流啟??偭鞒倘缦拢洪_啟一個(gè)線程,通過判斷用順煤流啟動(dòng)標(biāo)志和順煤流停機(jī)標(biāo)志來表示順煤流啟動(dòng)和順煤流停機(jī),當(dāng)此標(biāo)志為1(本實(shí)施例中順煤流啟動(dòng)標(biāo)志和順煤流停機(jī)標(biāo)志均采用1表示)時(shí)說明接收到要啟動(dòng)某條煤流或停止某條煤流;否則無需對(duì)煤流操作。線程可以做其他事情,如皮帶狀態(tài)更新,煤流狀態(tài)判斷更新等等。

如圖2所示,是一個(gè)順煤流啟動(dòng)流程如下:獲取煤流中所有皮帶,檢查煤流狀態(tài)是否為已運(yùn)行。如果狀態(tài)為已運(yùn)行說明煤流已啟動(dòng)成功,則清除順煤流啟動(dòng)標(biāo)志結(jié)束煤流啟動(dòng)過程。如果煤流狀態(tài)不是已運(yùn)行狀態(tài),則遍歷整個(gè)煤流檢查順煤流啟動(dòng)標(biāo)志是否為1。如果當(dāng)前皮帶為已停機(jī),則判斷下一級(jí)皮帶是否為已運(yùn)行(多個(gè)下一級(jí)皮帶情況下只要一個(gè)皮帶為已運(yùn)行則認(rèn)為為已運(yùn)行),是則啟動(dòng)當(dāng)前皮帶,否則跳過繼續(xù)查詢當(dāng)前煤流其他皮帶。

如圖3所示,是一個(gè)順煤流停機(jī)流程如下:采用煤流啟停函數(shù),遍歷煤流皮帶,檢查當(dāng)前皮帶是否有停機(jī)失敗或停機(jī)超時(shí)標(biāo)志,有則清除順煤流停機(jī)標(biāo)志,退出函數(shù)執(zhí)行。沒有停機(jī)失敗且沒有停機(jī)超時(shí)標(biāo)志,則當(dāng)前皮帶為已運(yùn)行且下一級(jí)皮帶都已停機(jī),則查詢停機(jī)延時(shí)(每條皮帶停機(jī)需要一定時(shí)間,下一級(jí)皮帶停機(jī)時(shí)間則為其對(duì)應(yīng)的上一級(jí)皮帶的停機(jī)延時(shí)時(shí)間)是否到達(dá),到達(dá)則停機(jī)。如皮帶狀態(tài)不是已運(yùn)行狀態(tài),則輪詢煤流中其他皮帶,如下部皮帶狀態(tài)不是已停機(jī),則輪詢煤流中其他皮帶,停機(jī)延時(shí)未到達(dá),則輪詢煤流其他皮帶。輪詢完成后,如所有皮帶都已停機(jī)則清除停機(jī)煤流標(biāo)志且退出函數(shù)執(zhí)行。

停機(jī)失敗表示,如所有皮帶已發(fā)送皮帶停機(jī)次數(shù)超過3次(3次為本實(shí)施例設(shè)定的次數(shù),當(dāng)然也可以根據(jù)情況設(shè)為其他次數(shù))均未能停機(jī)。停機(jī)失敗則清除煤流停機(jī)標(biāo)志且退出函數(shù)執(zhí)行。

本申請(qǐng)技術(shù)方案能實(shí)現(xiàn)的技術(shù)效果:可完成復(fù)雜煤流分支網(wǎng)絡(luò)啟??刂疲瑺顟B(tài)實(shí)時(shí)更新,啟停過程中有發(fā)生異常,可及時(shí)退出煤流啟停流程??稍O(shè)定皮帶與皮帶啟停的時(shí)間間隔。用戶緊需要配置好相應(yīng)參數(shù),設(shè)備自動(dòng)按照搭建關(guān)系執(zhí)行煤流的啟??刂?。

實(shí)施例1

如圖2所示,一種礦用帶式輸送機(jī)順煤流啟動(dòng)控制方法,包括,

對(duì)每條煤流中的皮帶進(jìn)行分級(jí),每條煤流中的首部皮帶為上一級(jí)皮帶屬于其他條煤流的皮帶,或每條煤流中的上一級(jí)皮帶為第三方控制器皮帶的皮帶,或者每條煤流中無上一級(jí)皮帶的皮帶;

為了實(shí)現(xiàn)快速啟動(dòng),順煤流啟動(dòng)過程中,采用倒序查詢方式進(jìn)行,即在皮帶輪詢過程中先啟動(dòng)無下一級(jí)皮帶的皮帶。并采用順煤流啟動(dòng)標(biāo)志表示順煤流啟動(dòng),為了方便記憶,本實(shí)施例中順煤流啟動(dòng)標(biāo)志采用數(shù)字1表示(本領(lǐng)域技術(shù)人員也可以采用任何其他便于記憶的標(biāo)志)。

為了避免函數(shù)執(zhí)行中的亂碼,也為了保證順煤流啟動(dòng)過程中皮帶能夠按序執(zhí)行,在啟動(dòng)前,對(duì)每條煤流中的所有皮帶進(jìn)行編號(hào),并對(duì)每條煤流中皮帶還根據(jù)編號(hào)進(jìn)行排序;

所述排序包括如下步驟:

獲取皮帶所在煤流、皮帶分級(jí)以及皮帶編號(hào),并存儲(chǔ)于暫存空間中;

申請(qǐng)排序緩存空間,用于皮帶排序;

查找暫存空間中煤流的首部皮帶,若查找到的首部皮帶數(shù)量不等于1,則認(rèn)為配置文件配置的煤流上下級(jí)關(guān)系存在錯(cuò)誤;若找到的首部皮帶數(shù)量等于1,則將查詢到的首部皮帶固定于排序緩存首部;

通過查找暫存空間中上級(jí)皮帶為首部皮帶的皮帶編號(hào),并將相應(yīng)皮帶編號(hào)插入到排序緩存空間中首部皮帶編號(hào)的尾部;

遍歷暫存空間中的皮帶編號(hào),檢查當(dāng)前所遍歷的皮帶的上級(jí)是否在排序緩存空間中,如存在則把該皮帶編號(hào)插入到該皮帶的上級(jí)皮帶編號(hào)的尾部。

排序過程的軟件代碼如下:

/**

* @brief 根據(jù)煤流中皮帶ID根據(jù)上下級(jí)關(guān)系進(jìn)行排序

*

* @param cf 煤流編號(hào)

* @return 返回說明

* @retval 排序后皮帶ID列表

*/

QVariantList DataBase::funcGetCoalflowBeltIdSort(uint8_t cf)

{

uint8_t beltId, upBeltId;

QVariantMap map, map2, map3;

QVariantList list1;

list1 = DataBase::getCoalFlowTable(cf);

QVariantList beltIdList;

if(list1.size() <= 0)

return beltIdList;

/* 存儲(chǔ)當(dāng)前煤流所有皮帶ID */

for(int i=0; i<list1.size(); i++) {

beltId = uint8_t( (list1.at(i).toMap())["BeltId"].toInt() );

map2 = DataBase::getBeltConfig(beltId);

upBeltId = uint8_t( map2["SuperiorId"].toInt() );

if(upBeltId ==0 || upBeltId == 255 || (DataBase::checkCoalFlowTableBeltId(cf, upBeltId) == 0)) {

beltIdList.insert(0, beltId);

}

}

if(beltIdList.size() != 1) {

beltIdList.clear();

qDebug() << "煤流配置錯(cuò)誤!";

return beltIdList;

}

/* 存儲(chǔ)當(dāng)前煤流所有皮帶ID */

while (list1.size() != beltIdList.size()) {

for(int i=0; i<list1.size(); i++) {

beltId = uint8_t( (list1.at(i).toMap())["BeltId"].toInt() );

map2 = DataBase::getBeltConfig(beltId);

if(map2.isEmpty()) {

beltIdList.clear();

qDebug() << "煤流配置錯(cuò)誤, 未發(fā)現(xiàn)皮帶配置參數(shù)!";

return beltIdList;

}

upBeltId = uint8_t( map2["SuperiorId"].toInt() );

if( (beltIdList.indexOf(upBeltId) != -1) && (beltIdList.indexOf(beltId) == -1)) {

beltIdList.insert(beltIdList.indexOf(upBeltId)+1, beltId);

}

}

}

return beltIdList;

}

在執(zhí)行順煤流啟動(dòng)時(shí),依賴物理設(shè)備進(jìn)行,所述設(shè)備包括:

控制器內(nèi)置有順煤流啟動(dòng)函數(shù),順煤流啟動(dòng)函數(shù)根據(jù)煤流的順煤流啟動(dòng)標(biāo)志判斷煤流是否執(zhí)行順煤流啟動(dòng);

控制器,接收上位機(jī)或外鍵輸入指令控制皮帶的啟動(dòng),并通過顯示屏顯示該皮帶處于啟動(dòng)狀態(tài)、運(yùn)行狀態(tài)或者停機(jī)狀態(tài)。

順煤流啟動(dòng)過程包括,獲取煤流中所有皮帶狀態(tài),檢查該煤流所有皮帶是否全部運(yùn)行;

若所有皮帶全部運(yùn)行則表示該煤流啟動(dòng)成功,順煤流啟動(dòng)標(biāo)志清除;

若存在未運(yùn)行的皮帶,檢查該未運(yùn)行的皮帶處于停機(jī)狀態(tài)還是正在啟動(dòng)狀態(tài);

當(dāng)該未運(yùn)行的皮帶處于正在啟動(dòng)中,保留順煤流啟動(dòng)標(biāo)志,并跳轉(zhuǎn)該皮帶及其上一級(jí)皮帶輪詢?cè)撁毫鞯钠渌?,直至順煤流啟?dòng)成功;

當(dāng)該未運(yùn)行的皮帶處于停機(jī)狀態(tài),若該未運(yùn)行的皮帶的下一級(jí)存在已運(yùn)行的皮帶,則啟動(dòng)該未運(yùn)行的皮帶;

當(dāng)該未運(yùn)行的皮帶處于停機(jī)狀態(tài),若該未運(yùn)行的皮帶的下一級(jí)不存在已運(yùn)行的皮帶,跳過該未啟動(dòng)的皮帶查詢?cè)撁毫髦衅渌А?br />
本實(shí)施例中,順煤流啟停是采用順煤流啟停函數(shù)進(jìn)行,所述順煤流啟動(dòng)函數(shù)的源代碼如下:

/**

* @brief 順煤流啟動(dòng)

*

* @param cf 煤流編號(hào)

* @return 無

* @retval 無

*/

void Inquire::funcCoalflowStart(uint8_t cf)

{

QVariantMap map1, map2, map3;

QVariantList list1, list2;

list1 = db.getCoalFlowTable(cf);

if(list1.size() <= 0) {

emit sigCoalFlowStartFailed(cf);

return;

}

map1 = list1.at(0).toMap();

if(checkCoalFlowIsRun(cf)) {

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

emit sigCoalFlowStartSucess(cf);

return;

} else if(map1["CoalFlowStatus"].toString() == "未就緒") {

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

emit sigExitCoalFlowStartFormCf(cf);

emit sigCoalFlowStartFailed(cf);

return;

} else if( checkStartStopNumber(cf) == 0) {

bool starting = false;

foreach(QVariant var, list1){

map1 = var.toMap();

QVariantMap map3 = db.getBeltConfig(static_cast<uint8_t>(map1["BeltId"].toInt() ));

if(map3["deviceStatus"] == "啟動(dòng)中") {

starting = true;

break;

}

}

if(!starting) {

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

}

}

foreach(QVariant var, list1) {

map1 = var.toMap();

if(fCoalFlowStartStop[cf-41] != COAL_FLOW_DIRECT_START){

qDebug() << "fCoalFlowStartStop exit";

return;

}

uint8_t bId = static_cast<uint8_t>( map1["BeltId"].toInt() );

QVariantMap map3 = db.getBeltConfig(bId);

int num = getStartStopNumber(cf, bId);

if(num == COAL_FLOW_START_STOP_TIMES) { continue; }

if( (map3["deviceStatus"] == "啟動(dòng)中") || (map3["deviceStatus"]== "已運(yùn)行") ){

setStartStopNumber(cf, bId, COAL_FLOW_START_STOP_TIMES);

continue;

}

if( funcBeltLowerStartStartTimeout( cf, bId ) == 0 ) {

if( (map3["deviceStatus"] == "已停機(jī)") || (map3["deviceStatus"] == "就緒")) {

if(map1["BeltId"].toInt() >= 31 && map1["BeltId"].toInt()<= 38) {

emit sigSendHostCommand(bId, "順煤流啟動(dòng)");

} else {

emit sigBeltStart(bId);

}

setStartStopNumber(cf, bId, uint8_t(num+1));

}

}

}

}

本實(shí)施例中,先進(jìn)行煤流中皮帶的分級(jí)、編號(hào)以及排序,有效保證煤流啟停函數(shù)中的數(shù)據(jù)是有序的,保證函數(shù)執(zhí)行的快速以及便捷;依賴皮帶分級(jí),并采用本實(shí)施例的皮帶啟動(dòng)控制方法可完成復(fù)雜煤流分支網(wǎng)絡(luò)啟停控制,狀態(tài)實(shí)時(shí)更新,啟停過程中有發(fā)生異常,可及時(shí)退出煤流啟停流程。在皮帶處于啟動(dòng)中時(shí)采用煤流啟動(dòng)標(biāo)志1顯示,在皮帶啟動(dòng)完成后則用0表示清除煤流啟動(dòng)標(biāo)志,方便操作員對(duì)煤流啟動(dòng)的把控。

具體應(yīng)用,根據(jù)煤流表中煤流參數(shù)信息對(duì)煤流編號(hào)上下級(jí)關(guān)系進(jìn)行排序。煤流參數(shù)原始數(shù)據(jù)表如表1所示:

表1



其中編號(hào)含義如下。

0:代表空數(shù)據(jù)

-1:代表其他廠家皮帶控制器設(shè)備。(上級(jí)皮帶編號(hào)為-1則為首部皮帶)

1~8:為本單位出的小皮帶控制器(KTC155-F1)。

9:為本單位出的大皮帶控制器(127A)。

上述表中數(shù)據(jù)為上位機(jī)軟件根據(jù)現(xiàn)場環(huán)境配置所得。每各數(shù)值都是可設(shè)置無大小先后順序限制。

圖2是本發(fā)明實(shí)施例查找首部皮帶流程,具體包括獲取首皮帶編號(hào)工作原理如下:控制器申請(qǐng)暫存空間用于存儲(chǔ)排序后的皮帶編號(hào),根據(jù)配置表,查找上一級(jí)皮帶編號(hào)為0或-1的皮帶(煤流中首部皮帶有且只有一條。如出現(xiàn)多條,則為煤流配置錯(cuò)誤),或上一級(jí)皮帶編號(hào)不屬于本條煤流的編號(hào)的皮帶(不屬于本煤流的皮帶編號(hào)說明為本控制器下其他煤流的皮帶,如二號(hào)煤流),則認(rèn)為是首部皮帶,其中0表示無上級(jí)皮帶,-1表示第三方控制器皮帶為上級(jí)。如經(jīng)過遍歷排序后查找到的首部皮帶數(shù)量不等于1則認(rèn)為配置文件配置的煤流上下級(jí)關(guān)系存在錯(cuò)誤。則返回-1.否則返回0表示查找首部皮帶成功。

排序后存儲(chǔ)結(jié)果如表2所示:

表2



本申請(qǐng)?jiān)谂判蜻^程中主要包括如下步驟:

步驟1:通過查找分析首部皮帶定位首部皮帶使其固定在排序緩存空間首部。

步驟2:然后通過查找排序緩存空間中是否存在上級(jí)皮帶編號(hào)存在則把相應(yīng)皮帶編號(hào)插入到排序緩存空間相應(yīng)上級(jí)編號(hào)的尾部。

步驟3:根據(jù)排序緩存空間存儲(chǔ)數(shù)量來判定是否排序完成。

順煤流啟動(dòng)過程如下:

第一次執(zhí)行(煤流啟動(dòng)函數(shù))(假設(shè)開始所有皮帶都為已停機(jī))

(1)倒敘第一格值為9,且無上級(jí)皮帶編號(hào)為9,則為末尾皮帶直接發(fā)送啟動(dòng)9號(hào)皮帶啟動(dòng)命令(此時(shí)9號(hào)皮帶還在啟動(dòng)過程中)

(2)前進(jìn)一格值為8,有上級(jí)編號(hào)為8的皮帶(如9號(hào)的皮帶上級(jí)為8號(hào)),9號(hào)不為已運(yùn)行 -->跳過。

(3)前進(jìn)一格值為7,且無上級(jí)皮帶編號(hào)為7為末尾皮帶,直接發(fā)送啟動(dòng)7號(hào)皮帶啟動(dòng)命令(此時(shí)7號(hào)皮帶還在啟動(dòng)過程中)

(4)前進(jìn)一格值為5,有上級(jí)編號(hào)為5的皮帶(如7, 8號(hào)的皮帶上級(jí)為5號(hào))7, 8號(hào)都不為已運(yùn)行 -->跳過。

(5)前進(jìn)一格值為6,且無上級(jí)皮帶編號(hào)為6 為末尾皮帶,直接發(fā)送啟動(dòng)7號(hào)皮帶啟動(dòng)命令(此時(shí)7號(hào)皮帶還在啟動(dòng)過程中)

(6)前進(jìn)一格值為2,有上級(jí)編號(hào)為2的皮帶(如6號(hào)的皮帶上級(jí)為2號(hào))6號(hào)不為已運(yùn)行 -->跳過。

(7)前進(jìn)一格值為3,有上級(jí)編號(hào)為3的皮帶(如2, 5號(hào)的皮帶上級(jí)為3號(hào))2和5號(hào)都不為已運(yùn)行 -->跳過。

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào))2號(hào)不為已運(yùn)行 -->跳過。

第二次執(zhí)行(煤流啟動(dòng)函數(shù))(假設(shè)上一次的啟動(dòng)過程中的皮帶都變成了已運(yùn)行)

(1)倒敘第一格值為9,狀態(tài)為已運(yùn)行 -->跳過

(2)前進(jìn)一格值為8,有上級(jí)編號(hào)為8的皮帶(如9號(hào)的皮帶上級(jí)為8號(hào))9號(hào)為已運(yùn)行-->發(fā)送啟動(dòng)8號(hào)皮帶啟動(dòng)命令(此時(shí)8號(hào)皮帶還在啟動(dòng)過程中)

(3)前進(jìn)一格值為7,狀態(tài)為已運(yùn)行 -->跳過

(4)前進(jìn)一格值為5,有上級(jí)編號(hào)為5的皮帶(如7,8號(hào)的皮帶上級(jí)為5號(hào))7號(hào)為已運(yùn)行 -->發(fā)送啟動(dòng)5號(hào)皮帶啟動(dòng)命令(此時(shí)5號(hào)皮帶還在啟動(dòng)過程中)

(5)前進(jìn)一格值為6,狀態(tài)為已運(yùn)行 -->跳過

(6)前進(jìn)一格值為2,有上級(jí)編號(hào)為2的皮帶(如6號(hào)的皮帶上級(jí)為2號(hào)),6號(hào)為已運(yùn)行 -->發(fā)送啟動(dòng)2號(hào)皮帶啟動(dòng)命令(此時(shí)2號(hào)皮帶還在啟動(dòng)過程中)

(7)前進(jìn)一格值為3,有上級(jí)編號(hào)為3的皮帶(如2,5號(hào)的皮帶上級(jí)為3號(hào)),2和5號(hào)不都為已運(yùn)行 -->跳過。

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào)),2號(hào)不為已運(yùn)行 -->跳過。

第三次執(zhí)行(煤流啟動(dòng)函數(shù))(假設(shè)上一次的啟動(dòng)過程中的皮帶 都變成了 已運(yùn)行)

(1)倒敘第一格值為9,狀態(tài)為已運(yùn)行 -->跳過

(2)前進(jìn)一格值為8,狀態(tài)為已運(yùn)行 -->跳過

(3)前進(jìn)一格值為7,狀態(tài)為已運(yùn)行 -->跳過

(4)前進(jìn)一格值為5,狀態(tài)為已運(yùn)行 -->跳過

(5)前進(jìn)一格值為6,狀態(tài)為已運(yùn)行 -->跳過

(6)前進(jìn)一格值為2,狀態(tài)為已運(yùn)行 -->跳過

(7)前進(jìn)一格值為3,有上級(jí)編號(hào)為3的皮帶(如2號(hào)的皮帶上級(jí)為3號(hào)),2和5號(hào)為已運(yùn)行-->發(fā)送啟動(dòng)3號(hào)皮帶啟動(dòng)命令(此時(shí)3號(hào)皮帶還在啟動(dòng)過程中)

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào)),2號(hào)不為已運(yùn)行-->跳過。

第四次執(zhí)行(煤流啟動(dòng)函數(shù))(假設(shè)上一次的啟動(dòng)過程中的皮帶都變成了已運(yùn)行)

(1)倒敘第一格值為9,狀態(tài)為已運(yùn)行 -->跳過

(2)前進(jìn)一格值為8,狀態(tài)為已運(yùn)行 -->跳過

(3)前進(jìn)一格值為7,狀態(tài)為已運(yùn)行 -->跳過

(4)前進(jìn)一格值為5,狀態(tài)為已運(yùn)行 -->跳過

(5)前進(jìn)一格值為6,狀態(tài)為已運(yùn)行 -->跳過

(6)前進(jìn)一格值為2,狀態(tài)為已運(yùn)行 -->跳過

(7)前進(jìn)一格值為3,狀態(tài)為已運(yùn)行 -->跳過

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào)),2號(hào)為已運(yùn)行 -->發(fā)送啟動(dòng)1號(hào)皮帶啟動(dòng)命令(此時(shí)1號(hào)皮帶還在啟動(dòng)過程中)。

第五次執(zhí)行(煤流啟動(dòng)函數(shù))(假設(shè)上一次的啟動(dòng)過程中的皮帶都變成了已運(yùn)行)

(1)倒敘第一格值為9,狀態(tài)為已運(yùn)行 -->跳過

(2)前進(jìn)一格值為8,狀態(tài)為已運(yùn)行 -->跳過

(3)前進(jìn)一格值為7,狀態(tài)為已運(yùn)行 -->跳過

(4)前進(jìn)一格值為5,狀態(tài)為已運(yùn)行 -->跳過

(5)前進(jìn)一格值為6,狀態(tài)為已運(yùn)行 -->跳過

(6)前進(jìn)一格值為2,狀態(tài)為已運(yùn)行 -->跳過

(7)前進(jìn)一格值為3,狀態(tài)為已運(yùn)行 -->跳過

(8)前進(jìn)一格值為1,狀態(tài)為已運(yùn)行 -->跳過

煤流啟動(dòng)結(jié)束:清除順煤流啟動(dòng)標(biāo)志

實(shí)施例2

如圖3所示,一種礦用帶式輸送機(jī)順煤流停機(jī)控制方法,與順煤流啟動(dòng)相對(duì)應(yīng),包括,

采用順煤流停機(jī)標(biāo)志表示順煤流正在停機(jī)過程,本實(shí)施例采用數(shù)字1表示。

采用停機(jī)失敗標(biāo)志記錄該運(yùn)行中的皮帶有過停機(jī)失敗;定義,停機(jī)失敗是指運(yùn)行中的皮帶執(zhí)行超過設(shè)定次數(shù)的停機(jī)過程均未完成停機(jī),并退出順煤流停機(jī)函數(shù);

采用停機(jī)超時(shí)標(biāo)志記錄該運(yùn)行停機(jī)中的皮帶有過超過預(yù)設(shè)時(shí)間的停機(jī),該停機(jī)超時(shí)的時(shí)間設(shè)定為經(jīng)驗(yàn)值,也可以根據(jù)實(shí)際需求設(shè)定;

順煤流停機(jī)函數(shù)遍歷煤流皮帶,檢查正在運(yùn)行的皮帶是否存在停機(jī)失敗標(biāo)志或停機(jī)超時(shí)標(biāo)志,若存在停機(jī)失敗標(biāo)志或停機(jī)超時(shí)標(biāo)志則清除該煤流的順煤流停機(jī)標(biāo)志,退出該順煤流停機(jī)函數(shù);

若不存在停機(jī)失敗標(biāo)志與停機(jī)超時(shí)標(biāo)志,該運(yùn)行的皮帶的下一級(jí)皮帶均已停機(jī),則在停機(jī)延時(shí)到達(dá)后進(jìn)行停機(jī)動(dòng)作,直至該煤流中所有皮帶輪詢結(jié)束;

若不存在停機(jī)失敗標(biāo)志與停機(jī)超時(shí)標(biāo)志,該運(yùn)行的皮帶的下一級(jí)皮帶不為停機(jī)狀態(tài),則跳轉(zhuǎn)該未停機(jī)的皮帶輪詢?cè)撁毫髦衅渌?,直至該煤流中所有皮帶輪詢結(jié)束。

本實(shí)施例中順煤流停機(jī)函數(shù)的源代碼如下:

/**

* @brief 順煤流停機(jī)

*

* @param cf 煤流編號(hào)

* @return 無

* @retval 無

*/

void Inquire::funcCoalflowStop(uint8_t cf)

{

QVariantMap map1, map2, map3;

QVariantList list1, list2;

list1 = db.getCoalFlowTable(cf);

if(list1.size() <= 0) {

emit sigCoalFlowStopFailed(cf);

return;

}

/* 停機(jī)失敗檢測 */

foreach(QVariant var, list1) {

map1 = var.toMap();

uint8_t beltId = uint8_t(map1["BeltId"].toInt());

if(beltId < 9) {

map2 = db.getBeltConfigTable(beltId);

map3 = db.getF1Status(beltId);

if( (map2["deviceStatus"].toString() == "停機(jī)中") && (map3["motor1Fail"].toInt() || map3["motor2Fail"].toInt())) {

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

emit sigCoalFlowStopFailed(cf);

return;

}

} else if(beltId == 9) {

map2 = db.getBeltAISenserSetTable(uint8_t(map1["BeltId"].toInt()), "電機(jī)停機(jī)超時(shí)");

if(map2["fAlarm"].toInt() == 1) {

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

emit sigCoalFlowStopFailed(cf);

return;

}

} else if(beltId >=12 && beltId <= 15) {

map2 = db.getBeltConfigTable(beltId);

map3 = db.getF1Status( static_cast<uint8_t>( map2["feederIn"].toInt() ) );

if( (map2["deviceStatus"].toString() == "停機(jī)中") && (map3["motor1Fail"].toInt() || map3["motor2Fail"].toInt())) {

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

emit sigCoalFlowStopFailed(cf);

return;

}

}

}

/* 檢查所有皮帶是否都已停機(jī) */

if( checkCoalFlowIsStop(cf) ){

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

emit sigCoalFlowStopSucess(cf);

return;

}

/* 所有皮帶執(zhí)行停機(jī)次數(shù)都已有三次 */

if( checkStartStopNumber(cf) == 0) {

bool stoping = false;

foreach(QVariant var, list1){

map1 = var.toMap();

QVariantMap map3 = db.getBeltConfig(static_cast<uint8_t>(map1["BeltId"].toInt() ));

if(map3["deviceStatus"] == "停機(jī)中") {

stoping = true;

break;

}

}

if(!stoping) {

fCoalFlowStartStop[cf-41] = COAL_FLOW_CLEAR_FLAG;

}

}

foreach(QVariant var, list1) {

map1 = var.toMap();

uint8_t bId = static_cast<uint8_t>( map1["BeltId"].toInt() );

map3 = db.getBeltConfigTable(bId);

int num = getStartStopNumber(cf, bId);

if(num == COAL_FLOW_START_STOP_TIMES) { continue; }

if(bId <31) {

if( (map3["deviceStatus"] == "停機(jī)中") || (map3["deviceStatus"] == "已停機(jī)") ){

setStartStopNumber(cf, bId, COAL_FLOW_START_STOP_TIMES);

continue;

}

} else {

if(map3["deviceStatus"] == "停機(jī)中") {

setStartStopNumber(cf, bId, COAL_FLOW_START_STOP_TIMES);

continue;

}

}

if( funcBeltLowerStopStopTimeout( cf, bId ) == 0 ) {

if(bId >= 31 && bId <= 38) {

emit sigSendHostCommand(bId, "順煤流停機(jī)");

} else {

emit sigBeltStop(bId);

}

setStartStopNumber(cf, bId, uint8_t(num+1));

}

}

}

為了方便順煤流停機(jī)快速進(jìn)行,在執(zhí)行順煤流停機(jī)函數(shù)前對(duì)每條煤流中的皮帶進(jìn)行分級(jí),將每一級(jí)中的所有皮帶分別進(jìn)行編號(hào);其中,每條煤流中的首部皮帶為上一級(jí)皮帶編號(hào)不屬于本條煤流編號(hào)的皮帶,或每條煤流中的上一級(jí)皮帶為第三方控制器皮帶的皮帶,或者每條煤流中無上一級(jí)皮帶的皮帶;每條煤流中皮帶還根據(jù)編號(hào)進(jìn)行排序。

本實(shí)施例中皮帶排序:申請(qǐng)排序緩存空間,用于皮帶排序;查找煤流中首部皮帶,若查找到的首部皮帶數(shù)量不等于1,則認(rèn)為配置文件配置的煤流上下級(jí)關(guān)系存在錯(cuò)誤;若找到的首部皮帶數(shù)量等于1,則將查詢到的首部皮帶固定于排序緩存空間首部;通過查找緩存空間中上一級(jí)皮帶為首部皮帶的皮帶編號(hào),并將相應(yīng)皮帶編號(hào)插入到排序緩存空間中首部皮帶編號(hào)的尾部;通過查找排序緩存空間中是否還存在皮帶編號(hào),存在則把相應(yīng)皮帶編號(hào)插入到排序緩存空間相應(yīng)上一級(jí)皮帶編號(hào)的尾部。

本申請(qǐng)的另一目的是提供一種礦用帶式輸送機(jī)順煤流停機(jī)設(shè)備,包括:

控制器內(nèi)置有順煤流停機(jī)函數(shù),順煤流停機(jī)函數(shù)根據(jù)煤流的順煤流啟動(dòng)標(biāo)志判斷煤流是否執(zhí)行順煤流啟動(dòng)標(biāo)志;

控制器,接收上位機(jī)或外鍵輸入指令控制皮帶的停機(jī),并通過顯示屏顯示該皮帶處于停機(jī)失敗狀態(tài)、停機(jī)超時(shí)狀態(tài)或者停機(jī)過程中。

具體應(yīng)用:

對(duì)表2皮帶進(jìn)行順煤流停機(jī),采用倒敘查詢:

第一次執(zhí)行(煤流停機(jī)函數(shù))(假設(shè)開始所有皮帶都為已停機(jī))

(1)倒敘第一格值為9,且無上級(jí)皮帶編號(hào)為9則為末尾皮帶,直接發(fā)送9號(hào)皮帶停機(jī)命令(此時(shí)9號(hào)皮帶還在停機(jī)過程中)

(2)前進(jìn)一格值為8,有上級(jí)編號(hào)為8的皮帶(如9號(hào)的皮帶上級(jí)為8號(hào))9號(hào)不為已停機(jī) -->跳過。

(3)前進(jìn)一格值為7,且無上級(jí)皮帶編號(hào)為7為末尾皮帶,直接發(fā)送7號(hào)皮帶停機(jī)命令(此時(shí)7號(hào)皮帶還在停機(jī)過程中)

(4)前進(jìn)一格值為5,有上級(jí)編號(hào)為5的皮帶(如7, 8號(hào)的皮帶上級(jí)為5號(hào))7,8號(hào)有都不為已停機(jī) -->跳過。

(5)前進(jìn)一格值為6,且無上級(jí)皮帶編號(hào)為6 為末尾皮帶,直接發(fā)送6號(hào)皮帶停機(jī)命令(此時(shí)6號(hào)皮帶還在停機(jī)過程中)

(6)前進(jìn)一格值為2,有上級(jí)編號(hào)為2的皮帶(如6號(hào)的皮帶上級(jí)為2號(hào))6號(hào)不為已停機(jī) -->跳過。

(7)前進(jìn)一格值為3,有上級(jí)編號(hào)為3的皮帶(如2號(hào)的皮帶上級(jí)為3號(hào))2號(hào)不為已停機(jī) -->跳過。

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào))2號(hào)不為已停機(jī) -->跳過。

第二次執(zhí)行(煤流停機(jī)函數(shù))(假設(shè)上一次的停機(jī)過程中的皮帶都變成了已停機(jī))

(1)倒敘第一格值為9,狀態(tài)為已停機(jī) -->跳過

(2)前進(jìn)一格值為8,有上級(jí)編號(hào)為8的皮帶(如9號(hào)的皮帶上級(jí)為8號(hào))9號(hào)為已停機(jī)-->發(fā)送8號(hào)皮帶停機(jī)命令(此時(shí)8號(hào)皮帶還在停機(jī)過程中)

(3)前進(jìn)一格值為7,狀態(tài)為已停機(jī) -->跳過

(4)前進(jìn)一格值為5,有上級(jí)編號(hào)為5的皮帶(如7, 8號(hào)的皮帶上級(jí)為5號(hào))8號(hào)為不為已停機(jī) -->跳過

(5)前進(jìn)一格值為6,狀態(tài)為已停機(jī) -->跳過

(6)前進(jìn)一格值為2,有上級(jí)編號(hào)為2的皮帶(如6號(hào)的皮帶上級(jí)為2號(hào))6號(hào)為已停機(jī)-->發(fā)送2號(hào)皮帶停機(jī)命令(此時(shí)2號(hào)皮帶還在停機(jī)過程中)

(7)前進(jìn)一格值為3,有上級(jí)編號(hào)為3的皮帶(如2, 5號(hào)的皮帶上級(jí)為3號(hào))2和5號(hào)都不為已停機(jī) -->跳過。

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào))2號(hào)不為已停機(jī) -->跳過。

第三次執(zhí)行(煤流停機(jī)函數(shù))(假設(shè)上一次的停機(jī)過程中的皮帶 都變成了 已停機(jī))

(1)倒敘第一格值為9,狀態(tài)為已停機(jī) -->跳過

(2)前進(jìn)一格值為8,狀態(tài)為已停機(jī) -->跳過

(3)前進(jìn)一格值為7,狀態(tài)為已停機(jī) -->跳過

(4)前進(jìn)一格值為5,有上級(jí)編號(hào)為5的皮帶(如7, 8號(hào)的皮帶上級(jí)為5號(hào))7,8號(hào)為,都為已停機(jī) -->發(fā)送5號(hào)皮帶停機(jī)命令(此時(shí)5號(hào)皮帶還在停機(jī)過程中)

(5)前進(jìn)一格值為6,狀態(tài)為已停機(jī) -->跳過

(6)前進(jìn)一格值為2,狀態(tài)為已停機(jī) -->跳過

(7)前進(jìn)一格值為3,有上級(jí)編號(hào)為3的皮帶(如2, 5號(hào)的皮帶上級(jí)為3號(hào))5號(hào)不為已停機(jī) -->跳過。

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào))2號(hào)不為已停機(jī) -->跳過。

第四次執(zhí)行(煤流停機(jī)函數(shù))(假設(shè)上一次的停機(jī)過程中的皮帶 都變成了 已停機(jī))

(1)倒敘第一格值為9,狀態(tài)為已停機(jī) -->跳過

(2)前進(jìn)一格值為8,狀態(tài)為已停機(jī) -->跳過

(3)前進(jìn)一格值為7,狀態(tài)為已停機(jī) -->跳過

(4)前進(jìn)一格值為5,狀態(tài)為已停機(jī) -->跳過

(5)前進(jìn)一格值為6,狀態(tài)為已停機(jī) -->跳過

(6)前進(jìn)一格值為2,狀態(tài)為已停機(jī) -->跳過

(7)前進(jìn)一格值為3,有上級(jí)編號(hào)為3的皮帶(如2, 5號(hào)的皮帶上級(jí)為3號(hào))

2和5號(hào)都為已停機(jī)-->發(fā)送3號(hào)皮帶停機(jī)命令(此時(shí)3號(hào)皮帶還在停機(jī)過程中)(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào))2號(hào)不為已停機(jī) -->跳過

第五次執(zhí)行(煤流停機(jī)函數(shù))(假設(shè)上一次的停機(jī)過程中的皮帶 都變成了 已停機(jī))

(1)倒敘第一格值為9,狀態(tài)為已停機(jī) -->跳過

(2)前進(jìn)一格值為8,狀態(tài)為已停機(jī) -->跳過

(3)前進(jìn)一格值為7,狀態(tài)為已停機(jī) -->跳過

(4)前進(jìn)一格值為5,狀態(tài)為已停機(jī) -->跳過

(5)前進(jìn)一格值為6,狀態(tài)為已停機(jī) -->跳過

(6)前進(jìn)一格值為2,狀態(tài)為已停機(jī) -->跳過

(7)前進(jìn)一格值為3,狀態(tài)為已停機(jī) -->跳過

(8)前進(jìn)一格值為1,有上級(jí)編號(hào)為1的皮帶(如3號(hào)的皮帶上級(jí)為1號(hào))2號(hào)為已停機(jī)--》發(fā)送1號(hào)皮帶停機(jī)命令(此時(shí)1號(hào)皮帶還在停機(jī)過程中)

第六次執(zhí)行(煤流停機(jī)函數(shù))(假設(shè)上一次的停機(jī)過程中的皮帶 都變成了已停機(jī))

(1)倒敘第一格值為9,狀態(tài)為已停機(jī) -->跳過

(2)前進(jìn)一格值為8,狀態(tài)為已停機(jī) -->跳過

(3)前進(jìn)一格值為7,狀態(tài)為已停機(jī) -->跳過

(4)前進(jìn)一格值為5,狀態(tài)為已停機(jī) -->跳過

(5)前進(jìn)一格值為6,狀態(tài)為已停機(jī) -->跳過

(6)前進(jìn)一格值為2,狀態(tài)為已停機(jī) -->跳過

(7)前進(jìn)一格值為3,狀態(tài)為已停機(jī) -->跳過

(8)前進(jìn)一格值為1,狀態(tài)為已停機(jī) -->跳過

煤流停機(jī)結(jié)束:清除煤流停機(jī)標(biāo)志

雖然本申請(qǐng)已以較佳實(shí)施例揭露如上,然其并非用以限定本申請(qǐng)。本申請(qǐng)所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本申請(qǐng)的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤飾。因此,本申請(qǐng)的保護(hù)范圍當(dāng)視權(quán)利要求書所界定者為準(zhǔn)。





聲明:
“礦用帶式輸送機(jī)順煤流啟動(dòng)、停機(jī)控制方法及設(shè)備” 該技術(shù)專利(論文)所有權(quán)利歸屬于技術(shù)(論文)所有人。僅供學(xué)習(xí)研究,如用于商業(yè)用途,請(qǐng)聯(lián)系該技術(shù)所有人。
我是此專利(論文)的發(fā)明人(作者)
分享 0
         
舉報(bào) 0
收藏 0
反對(duì) 0
點(diǎn)贊 0
全國熱門有色金屬技術(shù)推薦
展開更多 +

 

中冶有色技術(shù)平臺(tái)微信公眾號(hào)
了解更多信息請(qǐng)您掃碼關(guān)注官方微信
中冶有色技術(shù)平臺(tái)微信公眾號(hào)中冶有色技術(shù)平臺(tái)

最新更新技術(shù)

報(bào)名參會(huì)
更多+

報(bào)告下載

第二屆中國微細(xì)粒礦物選礦技術(shù)大會(huì)
推廣

熱門技術(shù)
更多+

衡水宏運(yùn)壓濾機(jī)有限公司
宣傳
環(huán)磨科技控股(集團(tuán))有限公司
宣傳

發(fā)布

在線客服

公眾號(hào)

電話

頂部
咨詢電話:
010-88793500-807
專利人/作者信息登記