張吉同
摘 要:本文通過對(duì)壓風(fēng)機(jī)遠(yuǎn)程監(jiān)控所使用的硬件結(jié)構(gòu)、連接、配置以及對(duì)modbus通信協(xié)議進(jìn)行論述;同時(shí)使用VB編程語(yǔ)言對(duì)上位機(jī)的軟件組態(tài)進(jìn)行了詳細(xì)的設(shè)計(jì)和實(shí)現(xiàn)。
關(guān)鍵詞:壓風(fēng)機(jī);Modbus;串口
DOI:10.16640/j.cnki.37-1222/t.2016.05.248
0 引言
空壓機(jī)是煤礦生產(chǎn)的重要組成部分,是煤礦機(jī)電的四大設(shè)備之一,它擔(dān)負(fù)著為煤礦的所有風(fēng)動(dòng)設(shè)備提供動(dòng)力來源以及井下壓風(fēng)自救的氣源,它的安全經(jīng)濟(jì)運(yùn)行對(duì)煤礦安全生產(chǎn)起著至關(guān)重要的作用。長(zhǎng)期以來煤礦空壓機(jī)的監(jiān)控大部分都是采用就地的模式,每個(gè)壓風(fēng)機(jī)機(jī)房需要24小時(shí)人工值守。但是由于空壓機(jī)的高噪音,給工人的身心健康造成嚴(yán)重污染。隨著通信技術(shù)、控制技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,實(shí)現(xiàn)空壓機(jī)系統(tǒng)遠(yuǎn)程監(jiān)控成為了可能,也體現(xiàn)了“以人為本”的管理理念,也是實(shí)現(xiàn)無(wú)人值守減員增效的數(shù)字化礦山的要求。
1 系統(tǒng)架構(gòu)
空壓機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)主要有三層結(jié)構(gòu):設(shè)備層、監(jiān)控分站、遠(yuǎn)程監(jiān)控平臺(tái)。設(shè)備層主要是空壓機(jī)上安裝的各種傳感器,負(fù)責(zé)空壓機(jī)主要參數(shù)的采集,其主要包括溫度傳感器、壓力傳感器、電流電壓采集器等。監(jiān)控分站每臺(tái)壓風(fēng)機(jī)都采用一臺(tái)PLC做為監(jiān)控分站,主要負(fù)責(zé)壓風(fēng)機(jī)各個(gè)傳感器采集數(shù)據(jù)的收集,并在就地模式下可對(duì)壓風(fēng)機(jī)各種采集數(shù)據(jù)進(jìn)行加工處理、顯示、報(bào)警、并提供遠(yuǎn)程通信接口等,并可實(shí)現(xiàn)對(duì)單臺(tái)壓風(fēng)機(jī)進(jìn)行啟停等控制功能。遠(yuǎn)程監(jiān)控平臺(tái)是利用ATC-1000設(shè)備把RS485串口轉(zhuǎn)換為RJ45網(wǎng)口,并接入交換機(jī),通過礦地面工業(yè)環(huán)網(wǎng)把各臺(tái)壓風(fēng)機(jī)的信息傳輸?shù)降V調(diào)度中心的上位機(jī)電腦,實(shí)現(xiàn)對(duì)壓風(fēng)機(jī)的遠(yuǎn)程監(jiān)測(cè)和控制功能。系統(tǒng)組成如圖1所示:
2 硬件系統(tǒng)連接及配置
因?yàn)槊颗_(tái)壓風(fēng)機(jī)都提供了一個(gè)RS485的串行接口,所以每一臺(tái)壓風(fēng)機(jī)都要進(jìn)行編號(hào),即每臺(tái)壓風(fēng)機(jī)的通信地址。編號(hào)從第一臺(tái)壓風(fēng)機(jī)001開始到最后一臺(tái)壓風(fēng)機(jī)004結(jié)束。接著使用兩根帶屏蔽層的電纜把四臺(tái)壓機(jī)并聯(lián)起來,接入ACT-1000的兩個(gè)RS485的接線柱上,然后通過ACT-1000的RJ45接口接入交換機(jī),再通過網(wǎng)線接入地面環(huán)網(wǎng)交換機(jī)進(jìn)入環(huán)網(wǎng),通過光線環(huán)網(wǎng)進(jìn)入監(jiān)控中心機(jī)房的服務(wù)器。
ACT-1000的配置。ACT-1000是把RS485串口轉(zhuǎn)換為RJ45網(wǎng)口,然后在監(jiān)控中心監(jiān)控主機(jī)上安裝ACT-1000的配置軟件,把RJ45網(wǎng)口傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為虛擬串口,使用串口通信程序進(jìn)行串口通信,進(jìn)行數(shù)據(jù)的收發(fā)。要對(duì)ACT-1000進(jìn)行設(shè)置,首先要使用電腦與ACT-1000進(jìn)行連接,設(shè)置本機(jī)IP地址與ACT-1000默認(rèn)IP地址在同一網(wǎng)段,然后通過ACT-1000初始IP地址:192.168.1.101打開遠(yuǎn)程WEB配置頁(yè)面。模式選擇RS485,波特率選擇9600,位數(shù)為8,采用偶校驗(yàn),停止位為1位,主要配置如圖2所示。接下來對(duì)網(wǎng)絡(luò)TCP協(xié)議與串口COM之間的映射配置,主要是配置IP地址與COM端口號(hào)之間的映射關(guān)系。具體配置如圖3所示。
3 件設(shè)計(jì)與實(shí)現(xiàn)
3.1 功能設(shè)計(jì)
(1)顯示數(shù)據(jù)。壓風(fēng)機(jī)在線實(shí)時(shí)顯示的數(shù)據(jù)有:四臺(tái)壓風(fēng)機(jī)的供氣壓力、排氣溫度、運(yùn)行時(shí)間、加載時(shí)間、主機(jī)A相電流、油濾器使用時(shí)間、油分器使用時(shí)間、空濾器使用時(shí)間、潤(rùn)滑油使用時(shí)間、潤(rùn)滑脂使用時(shí)間。壓風(fēng)機(jī)電源信號(hào)、啟停信號(hào)以及工作狀態(tài)和故障信號(hào)等。
(2)顯示運(yùn)行狀態(tài)。壓風(fēng)機(jī)實(shí)時(shí)顯示當(dāng)前的工作狀態(tài)、用來給用戶提示當(dāng)前壓風(fēng)機(jī)是運(yùn)行還是停止,其顯示的狀態(tài)有:壓風(fēng)機(jī)的運(yùn)行、加載、停止、卸載等運(yùn)行狀態(tài)。
(3)顯示報(bào)警狀態(tài)。當(dāng)壓風(fēng)機(jī)出現(xiàn)非致命故障時(shí)、壓風(fēng)機(jī)不會(huì)停機(jī)、而是顯示這些報(bào)警信息,提示用戶及時(shí)進(jìn)行處理,壓風(fēng)機(jī)顯示的報(bào)警狀態(tài)有:空久停機(jī)、供氣壓力高、風(fēng)機(jī)電流故障、油濾器堵塞、油分器堵塞、空濾器堵塞、主電機(jī)電流故障、相序錯(cuò)誤、排氣溫度高、供氣壓力傳感器失靈、排氣溫度傳感器失靈、排氣溫度高預(yù)警、油濾器使用時(shí)間到、油分器使用時(shí)間到、空濾器使用時(shí)間到、潤(rùn)滑油使用時(shí)間到、潤(rùn)滑脂使用時(shí)間到、預(yù)警、報(bào)警等。
(4)控制功能??蓪?shí)現(xiàn)遠(yuǎn)程對(duì)壓風(fēng)機(jī)進(jìn)行啟停和加卸載功能。
(5)歷史信息的查詢功能。實(shí)現(xiàn)歷史數(shù)據(jù)、報(bào)警數(shù)據(jù)、用戶操作記錄的查詢和打印功能。
3.2 系統(tǒng)協(xié)議
系統(tǒng)采用的通信協(xié)議支持485半雙工通信方式通信、支持MODBUS協(xié)議的子集。通信格式為RTU方式、8位數(shù)據(jù)位、1位停止位、1位偶校驗(yàn)。支持03號(hào)和06號(hào)兩條MODBUS命令。通信時(shí)為主從機(jī)方式。主機(jī)提出命令請(qǐng)求、控制器響應(yīng)接收數(shù)據(jù)后做數(shù)據(jù)分析,如果數(shù)據(jù)滿足通信規(guī)約,從機(jī)做出響應(yīng)。
主從機(jī)間的通信主機(jī)發(fā)送的每一幀數(shù)據(jù)包含以下信息(16進(jìn)制):
從機(jī)地址:(1個(gè)字節(jié)):從機(jī)設(shè)備號(hào),主機(jī)利用從機(jī)地址來識(shí)別進(jìn)行通訊的從機(jī)設(shè)備。表明由用戶設(shè)置地址的從機(jī)、將接收由主機(jī)發(fā)送來的信息。每個(gè)從機(jī)都必須有唯一的地址碼、并且只有符合地址碼的從機(jī)才能響應(yīng)回送。
命令字(1個(gè)字節(jié)):主機(jī)發(fā)送的功能碼,告訴從機(jī)執(zhí)行什么任務(wù)。
信息字(N個(gè)字節(jié)):包括進(jìn)行兩機(jī)通訊中各種數(shù)據(jù)信息,數(shù)據(jù)長(zhǎng)度及讀寫的數(shù)據(jù)等。
校驗(yàn)碼(2個(gè)字節(jié)):用于檢測(cè)數(shù)據(jù)通信錯(cuò)誤,采用循環(huán)冗余碼CRC16。
通信命令:
(1)讀寄存器的 3 號(hào)命令
命令03H:讀N個(gè)寄存器,主機(jī)可在一次讀數(shù)命令中任意讀取0—8號(hào)寄存器中對(duì)應(yīng)長(zhǎng)度的寄存器數(shù)據(jù)。
主機(jī)請(qǐng)求:地址 命令 起始數(shù)據(jù)地址 數(shù)據(jù)長(zhǎng)度 校驗(yàn)碼
從機(jī)回應(yīng):地址 命令 數(shù)據(jù)長(zhǎng)度 數(shù)據(jù)信息 校驗(yàn)碼
(2)寫一個(gè)寄存器 6 號(hào)命令
命令06:寫一個(gè)寄存器,06號(hào)命令用于寫一個(gè)寄存器,主機(jī)通過寫寄存器來控制空壓機(jī)的加載、卸載、開機(jī)或停機(jī)。從機(jī)響應(yīng)后,回應(yīng)相同的數(shù)據(jù)給主機(jī)。
3.3 系統(tǒng)實(shí)現(xiàn)
上位機(jī)使用VB進(jìn)行上位機(jī)編程組態(tài)、使用mscomm32.ocx控件實(shí)現(xiàn)上位機(jī)與各壓風(fēng)機(jī)PLC之間的通信功能。
(1)串口初始化。首先程序要進(jìn)行初始化、在此需要軟件的串口設(shè)置與ACT-1000中的虛擬串口中的設(shè)置完全一致:端口號(hào)10、波特率9600、奇偶校驗(yàn)為e、停止位為1、具體實(shí)現(xiàn)代碼如下所示:
(2)遠(yuǎn)程控制功能的實(shí)現(xiàn)。通過Modbus的06號(hào)寫命令對(duì)本地PLC的控制寄存器中的相應(yīng)位設(shè)置成1或0、實(shí)現(xiàn)對(duì)空壓機(jī)的啟動(dòng)和停止。具體實(shí)現(xiàn)是根據(jù)Modbus協(xié)議的格式以及地址表,把相應(yīng)的壓風(fēng)機(jī)地址編號(hào)寫入第一個(gè)字節(jié),再把相應(yīng)的第一個(gè)字節(jié)轉(zhuǎn)換為十六進(jìn)制;第二個(gè)字節(jié)是相應(yīng)的命令號(hào)06H,后邊的四個(gè)字節(jié)為相應(yīng)的控制位置0或1之后的十六進(jìn)制數(shù),最后兩個(gè)字節(jié)是CRC16校驗(yàn)的校驗(yàn)和,然后把這些字節(jié)放入一個(gè)字節(jié)數(shù)組當(dāng)中,通過串口發(fā)送至空壓機(jī)控制器相應(yīng)寄存器中即可。如果執(zhí)行成功,更新圖形界面上相應(yīng)圖形的狀態(tài),顯示為當(dāng)前壓風(fēng)機(jī)處于運(yùn)行狀態(tài),同時(shí)啟動(dòng)按鈕變?yōu)椴豢捎脿顟B(tài)。以遠(yuǎn)程啟動(dòng)1號(hào)壓風(fēng)機(jī)為例來說明遠(yuǎn)程控制的代碼實(shí)現(xiàn),具體實(shí)現(xiàn)代碼如下:
(3)獲取壓風(fēng)機(jī)各種數(shù)據(jù)的實(shí)現(xiàn)。監(jiān)控主機(jī)每隔1秒鐘更新一次數(shù)據(jù)和空壓機(jī)的工作狀態(tài),使用定時(shí)器控件來實(shí)現(xiàn)。具體實(shí)現(xiàn)過程如下:首先對(duì)要讀取的壓風(fēng)機(jī)發(fā)送讀取寄存器的命令,然后接收從機(jī)返回的信息,并把相應(yīng)的二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制。根據(jù)返回值的地址和讀取命令號(hào)來判斷接收數(shù)據(jù)是否正常,若正常再根據(jù)modbus協(xié)議中的地址把相應(yīng)的字節(jié)取出來轉(zhuǎn)換為相應(yīng)的十進(jìn)制數(shù),輸出屏幕進(jìn)行顯示;若為狀態(tài)信息,則把十六制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),再取對(duì)應(yīng)位的值,判斷是0還是1,根據(jù)這些值的含義來更新程序中相應(yīng)對(duì)象的狀態(tài),以此來表示當(dāng)前壓風(fēng)機(jī)的工作狀態(tài)。具體實(shí)現(xiàn)流程如圖4所示。
4 結(jié)語(yǔ)
壓風(fēng)機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)是建設(shè)數(shù)字化礦山的要求,是煤礦綜合自動(dòng)化的一部分,也是為了適應(yīng)現(xiàn)代化管理和實(shí)現(xiàn)壓風(fēng)機(jī)房無(wú)人值守的需要。該系統(tǒng)的建立可以減少工人的勞動(dòng)強(qiáng)度和改善工人的工作環(huán)境,達(dá)到減人增效的目的。本文首先對(duì)壓風(fēng)機(jī)系統(tǒng)的硬件部分進(jìn)行了闡述。每臺(tái)壓風(fēng)機(jī)都采用PLC進(jìn)行控制,都可以獨(dú)立運(yùn)行,也就是可就地控制。當(dāng)網(wǎng)絡(luò)和其它壓風(fēng)機(jī)或上位機(jī)出現(xiàn)故障時(shí)可保障其它壓風(fēng)機(jī)不受影響,以免影響煤礦的生產(chǎn)。
參考文獻(xiàn):
[1]符秀青.基于PLC的壓風(fēng)機(jī)模糊自動(dòng)控制系統(tǒng)設(shè)計(jì)[J].機(jī)電信息,2014(15).
[2]韓雪鋒等.新型煤礦壓風(fēng)機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2013(07).