楊 瑤,苗長云
(天津工業(yè)大學電子與信息工程學院,天津 300387)
帶式輸送機是一種現(xiàn)代化生產(chǎn)中的連續(xù)運輸設備,具有運量大、運距遠、能耗小、運費低、效率高等優(yōu)點,是工業(yè)運輸?shù)闹髁ぞ?,廣泛應用于煤炭、礦山、港口、電力等領域[1]。為了保障帶式輸送機安全可靠地運行,需要帶式輸送機監(jiān)控系統(tǒng)對帶式輸送機堆煤、溫度、速度、跑偏、煙霧、急停等運行狀態(tài)的檢測和噴淋噴霧、糾偏、制動等遠程控制以及視頻監(jiān)控。
目前,帶式輸送機綜合保護系統(tǒng)存在檢測和控制功能不全,采用CAN或RS485總線結構,布線復雜、不方便擴展,通信距離近、傳輸可靠性差,不能視頻監(jiān)控等問題;其上位機軟件存在針對性不強、缺乏實時性、代碼效率不高等不足[2]。針對以上問題,本文提出了一種基于以太網(wǎng)的帶式輸送機監(jiān)控系統(tǒng)及上位機軟件的設計方案,實現(xiàn)了對帶式輸送機狀態(tài)檢測和控制、歷史數(shù)據(jù)存儲歸檔、查看歷史數(shù)據(jù)和視頻監(jiān)控等功能。采用C# Winform設計了帶式輸送機監(jiān)控系統(tǒng)的軟件,制定了上位機與監(jiān)控終端和網(wǎng)絡電話的通信協(xié)議,并編寫了網(wǎng)絡通信軟件,實現(xiàn)了利用工業(yè)以太環(huán)網(wǎng)上位機與監(jiān)控終端和網(wǎng)絡電話的通信,對帶式輸送機堆煤、溫度、速度、跑偏、煙霧、急停等運行狀態(tài)的檢測和噴淋噴霧、糾偏、制動等遠程控制,以及視頻監(jiān)控,具有功能強、組網(wǎng)和擴展方便、控制靈活、可靠性高等優(yōu)點。
基于以太網(wǎng)的帶式輸送機監(jiān)控系統(tǒng)由上位機、監(jiān)控終端、核心交換機、視頻探頭、網(wǎng)絡電話、急停開關、系列傳感器和開關量控制設備等組成,其組成框圖如圖1所示。
圖1 基于以太網(wǎng)的帶式輸送機監(jiān)控系統(tǒng)總體框圖
上位機是監(jiān)控系統(tǒng)的檢測及控制中心,通過核心交換機接入環(huán)網(wǎng),主要用于數(shù)據(jù)的分析和處理,參數(shù)設置、控制下發(fā)、實時狀態(tài)監(jiān)測、網(wǎng)絡電話廣播記錄、視頻監(jiān)控、報警記錄、開關機記錄存儲等功能。監(jiān)控終端能夠對電機電流、煙霧、跑偏、撕裂等傳感器信息檢測;通過I/O口控制制動器、振打器等控制設備;同時通過以太網(wǎng)接入環(huán)網(wǎng)方式將輸送機沿線擴展的網(wǎng)絡電話和急停開關接入進來,實現(xiàn)輸送帶沿線的語音和數(shù)據(jù)交互。網(wǎng)絡電話具有對帶式輸送機的監(jiān)測和控制功能,同時具有全雙工擴音通話、擴音廣播和擴音報警功能。急停開關分布于帶式輸送機沿線,用于急??刂?,通過急停拉線連接起來,同時也具備I/O檢測及控制功能。系列傳感器包括電流、速度、張力、滾筒紅外溫度、震動、環(huán)境溫度、跑偏、撕裂、堆煤、電機溫度、煙霧傳感器等。開關量控制設備包括振打器、自動糾偏裝置、噴霧噴淋裝置、張緊裝置、制動器、報警器和流量控制器。帶式輸送機的啟停狀態(tài)由電機、PLC控制,變頻的調(diào)控由變頻器控制。
監(jiān)控系統(tǒng)要實現(xiàn)上位機與下位機間全雙工的數(shù)據(jù)傳輸、語音及圖像的交互,監(jiān)控系統(tǒng)的傳輸速率和可靠性要高,能在港口、冶金、煤礦等工況得到應用。下位機設備主要包括監(jiān)控終端和網(wǎng)絡電話。
監(jiān)控終端作為監(jiān)控系統(tǒng)的核心,要對傳感器的數(shù)據(jù)進行實時采集,并且能夠控制開關量設備,通過千兆以太網(wǎng)與上位機及其他下位機通信進行收發(fā)數(shù)據(jù)。主處理器選用ARM A9系列的四核處理S5P4418,具有多路I/O接口,工作主頻可達1.4 GHz,內(nèi)置千兆以太網(wǎng)MAC,擁有大量接口,具有較強的處理能力,可接入20多個傳感器。處理器S5P4418的GMAC模塊和以太網(wǎng)網(wǎng)絡收發(fā)器PHY連接,屏幕接口和7英寸的觸摸屏相接[3],其結構框圖如圖2所示。
圖2 監(jiān)控終端組成框圖
監(jiān)控終端的工作電壓是12 V,由電源模塊供電,設備的控制由8路開關量輸出控制電路來控制。交換模塊選用BCM53312作為芯片,支持全雙工的10/100/1 000 Mbit/s數(shù)據(jù)通信,能夠與網(wǎng)絡電話、急停開關、PLC等設備連接構成環(huán)網(wǎng)。
網(wǎng)絡電話主要分布在帶式輸送機的沿線,不同的傳感器和控制設備根據(jù)實際情況分布在帶式輸送機的機頭、機身沿線及機尾,而這些設備接入到監(jiān)控系統(tǒng)中需特有的接口,僅在監(jiān)控終端中連入傳感器及控制設備會使得系統(tǒng)的成本高且布線多難以維護,因此,可在網(wǎng)絡電話中預留出一些接口將傳感器和控制設備連入進來。網(wǎng)絡電話具有擴音呼叫、全雙工擴音通話、擴音廣播、擴音報警、對傳感器數(shù)據(jù)監(jiān)測及控制相應設備等功能[4-5]。其組成框圖如圖3所示。
圖3 網(wǎng)絡電話結構框圖
網(wǎng)絡電話選擇STM32F407IGT6 ARM處理器作為主處理器,處理運算能力強,有豐富外設資源,處理器與開關量驅動電路連接,對帶式輸送機沿線的設備給出控制信號,跑偏及溫度等傳感器輸出的信號是電阻型信號,經(jīng)過電阻-頻率轉換電路轉換為頻率信號傳給主處理器,對傳感器的數(shù)據(jù)處理經(jīng)顯示模塊在顯示屏上顯示,通過以太網(wǎng)模塊交換模塊與上位機及其他設備進行數(shù)據(jù)的交互。處理器與語音編解碼電路通過SPI接口連接,將采集的模擬語音信號交給處理器進行G.726語音編碼,語音數(shù)據(jù)經(jīng)語音編解碼電路和功率放大電路由揚聲器放出聲音[6]。
上位機軟件設計是在Windows操作系統(tǒng),設計環(huán)境選用Visual Studio 2010,基于C# Winform來設計。.NET平臺已成為主流的開發(fā)平臺,而C#是.NET平臺的主流語言,日益受到程序員們的喜愛[7]。監(jiān)控系統(tǒng)的上位機軟件功能組成框圖如圖4所示。
圖4 上位機軟件功能組成框圖
上位機軟件在功能需求方面要在滿足監(jiān)控系統(tǒng)的功能需求前提下來拓展,上位機軟件具有通信功能,能與監(jiān)控終端、網(wǎng)絡電話等多個下位機設備進行數(shù)據(jù)通信,軟件的設計應具備顯示功能、通信功能、查詢功能、控制功能及設置功能等。
上位機在與監(jiān)控終端、網(wǎng)絡電話及急停開關等多個下位機通信傳輸數(shù)據(jù)的同時,在上位機軟件的主界面上能夠實時地顯示,并且將下位機上傳的數(shù)據(jù)分類存儲到SQL Server軟件數(shù)據(jù)庫中,上位機軟件主界面美觀、一目了然、方便操控、易擴展。
上位機監(jiān)控軟件主界面大致有時間顯示區(qū)域、通信區(qū)域、報警信息區(qū)域、保護功能區(qū)及控制功能區(qū)等,能夠直觀地顯示不同下位機所上傳的傳感器的數(shù)據(jù)、在線設備以及報警信息等。編號即監(jiān)控終端的編號,為節(jié)約成本及方便布線和維護,下位機設備的IP固定,可認為每個下位機設備的標號固定,該上位機軟件按照下位機設備在帶式輸送機沿線的實際布局來設計,監(jiān)控終端在皮帶的機頭(設為監(jiān)控終端1號),網(wǎng)絡電話1號和急停開關1號分布在機身,網(wǎng)絡電話2號分布在第一條帶式輸送機的機尾與第二條帶式輸送機的機頭位置,通過設置編號即可刷新Winform中控件的數(shù)據(jù)顯示不同監(jiān)控終端編號下的數(shù)據(jù)。通信區(qū)域顯示上位機服務器的網(wǎng)口IP地址及與下位機通信的監(jiān)聽端口,同時當有下位機連入時也能夠顯示在線的客戶端IP及端口,在線設備的顯示框也會變?yōu)榧t色;保護功能區(qū)實時地顯示下位機上傳的傳感器數(shù)值,并且把數(shù)據(jù)實時存入SQL Server軟件數(shù)據(jù)庫中,當傳感器的數(shù)據(jù)超過閾值時,對應的傳感器檢測量數(shù)值的背景框變紅,同時在報警信息的richTextBox控件中顯示報警信息,當點擊“保存”按鈕時會將報警信息里的內(nèi)容存入指定位置的“txt”文件中,通過點擊“歷史報警查詢”進行查看;控制量顯示區(qū)是對開關量控制設備狀態(tài)的顯示,顯示其開啟或關閉;控制功能區(qū)與控制量顯示區(qū)對應,當下位機連入的控制設備是開啟時,控制功能區(qū)控制設備相應的Button按鈕自動變?yōu)椤癘FF”,反之為“ON”,上位機也可對下位機發(fā)送控制指令,讓其對控制設備操作。上位機監(jiān)控系統(tǒng)軟件按照下位機在帶式輸送機的分布而設計,軟件的設計具有可擴展性,能夠根據(jù)實際情況增加模塊和功能。
帶式輸送機監(jiān)控系統(tǒng)軟件的分界面設計包括上位機和下位機的操作記錄、傳感器閾值設置、網(wǎng)絡電話的通信記錄及歷史報警信息等界面。此處列舉出軟件幾個主要的分界面。上位機和下位機的操作記錄分界面如圖5所示。
圖5 上位機和下位機操作記錄分界面
上位機和下位機的操作記錄界面包括開關機記錄、上位機執(zhí)行動作記錄和下位機執(zhí)行動作記錄,開關機記錄下的richTextBox控件中顯示上位機開啟監(jiān)聽端口的時刻,監(jiān)控終端、網(wǎng)絡電話和急停開關連入上位機及斷開記錄;上位機執(zhí)行動作記錄顯示上位機對下位機的控制;下位機執(zhí)行動作記錄顯示了監(jiān)控終端1號、網(wǎng)絡電話1號和2號、急停開關1號對灑水裝置、自動糾偏裝置、制動裝置、振打器裝置等設備的控制記錄,與主界面的控制量顯示區(qū)對應。
傳感器閾值設置分界面如圖6所示。
圖6 傳感器閾值設置分界面
傳感器閾值設置的分界面記錄了速度、電流、張力等傳感器的閾值,接收編號和下發(fā)編號是監(jiān)控終端的編號,每個監(jiān)控終端下的其他下位機所連接的傳感器閾值相同。當上位機與下位機通信時,該分界面中的textBox控件中能夠顯示下位機所上傳的傳感器閾值,同時,上位機也可以設置傳感器的閾值,點擊“閾值下發(fā)”按鈕下發(fā)給監(jiān)控終端。
本文所設計的上位機網(wǎng)絡通信軟件與監(jiān)控終端和網(wǎng)絡電話通信的實現(xiàn)是基于.NET平臺的Socket套接字技術開發(fā)。Socket最早由加州伯克萊大學在UNIX上所開發(fā),Socket接口中有大量的函數(shù)及例程,通過調(diào)用它們可開發(fā)出通過TCP/IP來通信的應用軟件[8]。
在C# Winform程序中,使用Socket類中的Bind方法綁定了本地主機,Listen方法監(jiān)聽端口,Accept方法來接收連接請求?;赪indows操作系統(tǒng)的網(wǎng)絡通信軟件工作流程圖如圖7所示。
圖7 基于Windows操作系統(tǒng)的網(wǎng)絡通信軟件工作流程圖
套接字是通信的基石,是支持TCP/IP協(xié)議的網(wǎng)絡通信的基本操作單元,可以將套接字看作是不同主機間的進程進行雙向通信的端點,它構成了單個主機內(nèi)及整個網(wǎng)絡間的編程界面,套接字存在于通信域中,通信域是為了處理一般的線程通過套接字通信而引進的一種抽象概念,套接字通常和同一個域中的套接字交換數(shù)據(jù)[8]。
上位機服務器通過TCP方式和監(jiān)控終端、網(wǎng)絡電話等多個下位機通信,下位機將傳感器數(shù)據(jù),采集上傳給上位機,上位機軟件實時顯示采集的數(shù)據(jù),實現(xiàn)監(jiān)控和保護。
上位機和下位機通信時的應用層信息協(xié)議采用數(shù)據(jù)幀結構進行數(shù)據(jù)傳輸,應用層數(shù)據(jù)信息采用8位十六進制數(shù)H表示。其幀結構定義如表1所示。
表1 應用層字段幀結構定義
信息字段由下位機的設備類型、設備編號、包類型(傳感器、控制設備、閾值信息)和數(shù)據(jù)字段組成。其中,設備類型字段中定義監(jiān)控終端為0x01H,網(wǎng)絡電話為0x02H,急停開關為0x03H,設備編號最多28=256個(從1號開始);包類型定義為當上位機接收數(shù)據(jù)時:傳感器為0x01H、控制設備為0x02H、閾值信息為0x03H,電話廣播的信息為0x04H;當上位機下發(fā)給下位機控制指令時:控制設備為0x05H、閾值信息為0x06H。數(shù)據(jù)包中字節(jié)數(shù)不固定,不同的包類型傳輸?shù)淖止?jié)數(shù)不同,數(shù)據(jù)包格式包含了傳感器數(shù)據(jù)、控制設備數(shù)據(jù)(狀態(tài))、傳感器閾值信息、電話廣播狀態(tài)等,這里只列舉傳感器的數(shù)據(jù)字段幀結構,如表2所示。
表2 傳感器數(shù)據(jù)字段幀結構定義
此時上位機顯示下位機傳輸?shù)膫鞲衅鲾?shù)據(jù),包類型為0x01H,由傳感器個數(shù)可確定后面的數(shù)據(jù)幀長度,1個傳感器包含4字節(jié)數(shù)據(jù)(傳感器類型、傳感器數(shù)據(jù)、傳感器狀態(tài)),傳感器數(shù)據(jù)是2個字節(jié)(最大為65 536)。其中跑偏、撕裂、堆煤、煙霧這4種傳感器傳輸?shù)臄?shù)據(jù)無數(shù)值,只需要知道所在位置的編號,定義其傳感器數(shù)據(jù)為位置的標號(0x0001H、0x0002H…),因為下位機設備下相同的傳感器可能存在多個,因此根據(jù)IP 的不同設置不同的編號;傳感器狀態(tài)為1個字節(jié),正常狀態(tài)是0x00H,報警是0x01H,需要急停為0x02H?;谧远x的傳輸層文本協(xié)議,按照通信協(xié)議的幀格式編程,下位機與上位機建立通信后,即可在上位機網(wǎng)絡通信軟件中接收數(shù)據(jù)。
實驗系統(tǒng)由PC機、監(jiān)控終端、網(wǎng)絡電話、急停開關、開關量控制信號指示燈和系列傳感器組成。將監(jiān)控終端、網(wǎng)絡電話、急停開關通過光纖連接起來組成以太環(huán)網(wǎng),溫度、煙霧、跑偏、張力、速度等傳感器接入其接口,通過交換機連入PC機組成工業(yè)環(huán)網(wǎng)。將實驗系統(tǒng)上電,在PC機上運行上位機網(wǎng)絡通信軟件程序,下位機設備連接,建立通信。其組成框圖如圖8所示。
圖8 實驗系統(tǒng)組成框圖
在實驗室將監(jiān)控終端、網(wǎng)絡電話、急停開關分布在帶式輸送機的機頭及沿線,監(jiān)控終端、網(wǎng)絡電話和急停開關的接口連入跑偏、撕裂、煙霧等傳感器,PC機通過核心交換機與監(jiān)控終端、網(wǎng)絡電話和急停開關連接,下位機設備與上位機建立通信連接后,下位機設備向上位機傳輸所檢測的傳感器數(shù)據(jù)和控制設備的狀態(tài),上位機軟件程序運行結果圖如圖9所示。圖9顯示了1號監(jiān)控終端下所檢測到的數(shù)據(jù),當網(wǎng)絡電話1號連入的環(huán)境溫度傳感器數(shù)值超過閾值時發(fā)生報警,并且1號位置處發(fā)生跑偏,上位機軟件對應檢測的信息顯示框變紅,以及左側的報警信息控件下顯示故障信息;當下位機接入的控制設備關閉時,軟件上相應的button按鈕自動變?yōu)椤癘N”,點擊button按鈕,上位機會將控制指令發(fā)送下位機,下位機通過輸出動作實現(xiàn)對應開關量控制信號指示燈的亮滅。軟件的分界面也都有數(shù)據(jù)記錄,由于篇幅有限,此處只列舉軟件主界面結果圖。
圖9 上位機軟件程序運行結果圖
實驗表明監(jiān)控系統(tǒng)上位機軟件能準確接收和發(fā)出數(shù)據(jù),實現(xiàn)了對傳感器數(shù)據(jù)檢測、故障診斷、報警等功能、無顯示錯誤現(xiàn)象發(fā)生,能夠與下位機遠距離通信,數(shù)據(jù)傳輸速率高、可靠性好,達到預期結果。
本文提出了一種基于以太網(wǎng)的帶式輸送機監(jiān)控系統(tǒng)及上位機軟件的設計方案,該系統(tǒng)采用標準通用的工業(yè)以太環(huán)網(wǎng)技術,實現(xiàn)了上位機軟件與監(jiān)控終端和網(wǎng)絡電話通信,對帶式輸送機狀態(tài)檢測和控制、歷史數(shù)據(jù)存儲歸檔、查看歷史數(shù)據(jù)和視頻監(jiān)控等功能,對下位機所傳數(shù)據(jù)的實時、無誤顯示、控制指令下發(fā),對帶式輸送機的傳感器數(shù)據(jù)監(jiān)測起到保護作用,系統(tǒng)結構簡單,具有擴展性、數(shù)據(jù)傳輸可靠性高。以C#作為開發(fā)語言設計了監(jiān)控系統(tǒng)上位機軟件,并將數(shù)據(jù)分類存儲在SQL Server軟件中。實驗結果表明該上位機軟件可實現(xiàn)所設計的功能,工作狀況良好,達到了預期結果。