基于內嵌Modbus協議的遠程監(jiān)控系統的設計
一.引言
在生產和生活中監(jiān)控系統起到的作用越來重要,如在交通.銀行.電力等部門對監(jiān)控系統的要求越來越越高.需求也在不斷增大.在遠程監(jiān)控系統中,作為一種種分布式控制系統和工業(yè)通信協議Modbus協議在工業(yè)領域得到很好的應用,本文針對其含義.系統設計構架和系統性能進行詳細的闡述.
二.淺析Modbus協議
(1)Modbus協議開發(fā)的Modbus協議是一種分布式控制系統和工業(yè)通信協議,在分布式控制系統和工業(yè)設備通訊中得到很好的應用,采用RS485方式作為物理接口.控制器經由網絡.控制器相互之間.通訊協議等可以通訊,在工業(yè)生產中已經成為通用標準,可以連接不同的控制設備成為工業(yè)網絡,實現集中控制和監(jiān)控.
(2)作為一種主從網絡Modbus網絡允許多個或一個從機和一個主機進行通信,其中應答報文和命令報文是相對應的關系,也就是采用命令/應答方式.主機發(fā)出命令報文,當收到主機發(fā)來的報文的時候,相應的應答報文發(fā)出對命令報文進行響應.每個從機在網絡中都擁有一個唯一的地址,訪問的從機地址包含在主機發(fā)出的命令中,對相應的命令做出應答的是具有該地址的從機.
(3)傳輸模式ASCII和RTU被應用在Modbus協議中.沒有奇偶校驗位.2個停位.8個數據為是RTU的傳輸格式.依靠接收字符間應用的時間RTU接收設備對一個幀的開始進行判斷,在時間為3個半字符之后沒有完成幀或沒有新的字符,該幀會被接收設備放棄,新幀的開始以設下一個字符為標準.1字節(jié)的信息在RTU模式中被看作一個8為字符進行發(fā)送,而作為兩個ASCII字符在ASCII模式中被發(fā)送.
三.系統設計構架
數據采集的RTU設備.數據交互的監(jiān)控設備.遠程監(jiān)控的服務器是這個系統硬件的主要組成部分.應用串口通信RTU設備與監(jiān)控設備之間通信并使Modbus TCP協議的轉換實現,應用TCP套接字技術服務器與監(jiān)控設備之間進行通信并使Modbus TCP協議的轉換實現.
(1)設計協議轉換
在Modbus TCP協議中進行通信時候,是經過何種網絡不需要考慮,因為它定義了一個消息結構體,并且對消息域內容和格局的公共公式進行了制定.在通信的時候這個協議對每個RTU設備的地址進行定義,對按地址發(fā)來的信息進行識別,并且對即將產生的行動進行決定.在需要回應的情況下,反饋信息將在RTU設備中生成,采用Modbus TCP協議發(fā)出信息.相互轉換Modbus TCP協議與Modbus協議的時候,不需改變RTU,只需相應的轉換MBAP報文頭.服務器的請求被接收到的時候,MBAP報文頭被Modbus TCP協議去掉并且被出送到RTU設備中.按照接收到的命令RTU設備進行數據讀取,而且對CRC進行差錯校驗;RTU設備的相應被接收到的時候,相應的MBAP報文頭被加在Modbus TCP協議上,CRC差錯校驗被去除并且傳送回服務器.通過這樣的過程實現兩個協議的相互轉換.
(2)實現設備參數讀寫
采用C/S模型實現設備參數讀寫模塊.
建立Socket通信是第一步,遠程監(jiān)控終端與數據服務器建立連接是通過發(fā)送注冊包實現的,TCP?;顧C制被啟動,等候服務器發(fā)出命令,寫入或讀取設備參數命令由數據服務器發(fā)送的時候,按照Modbus TCP協議遠程監(jiān)控終端接收命令,在傳入設備之前把它轉化為Modbus協議,根據其命令RTU設備對相應設備參數進行寫入或讀取,并向遠程監(jiān)控終端發(fā)送響應.在寫入或讀取成功的條件下,按照Modbus TCP協議接收到的響應被遠程監(jiān)控終端被封裝,并且發(fā)送給數據服務器;如果是失敗的寫入或讀取,按照Modbus TCP協議異常響應被遠程監(jiān)控終端發(fā)送到數據服務器.
(3)設計與實現套接字通信
監(jiān)控設備與服務器之間的數據交換是通過套接字通信層得以實現的,整個設計的核心是是串口同層并聯.設計通信部分的流程如圖1所示.
(5)設計與實現串口通信
去除報文頭的Modbus數據的讀取來自于共享內存.半雙工機制是串口采用的機制,不能同時進行接收數據與發(fā)送命令,串口數據的讀取是在發(fā)送完命令之后.自動方向切換芯片被采用之后就可以解決這一問題了.串口通信流程圖如圖2所示.
四.分析系統性能
(1)在監(jiān)控系統的作用和功能方面,在空壓機中對壓風機房管理.操作效率低下以及人力物力浪費等問題進行解決,使處理.交換.傳遞信息的速度加快,使監(jiān)控系統的可靠性和安全性得到保證,使控制系統的人性化.智能化.自動化水平提高.主要功能在遠程監(jiān)控系統中得以實現的有:使工作報表正常運行,各種故障中的報警得以實現;供氣壓力參數可以遠程設定,能夠在線修正參數;實時監(jiān)測供氣壓力,供氣過壓和欠壓都會進行報警;供電系統的可靠性得以提高;等等.
(2)通過透明傳輸的方式,接收到的命令只需被遠程監(jiān)控終端進行拆包,即協議解析不需要進行,MBAP報文頭被去掉;RTU響應被收到之后,只需組裝接收到的響應,即CRC差錯校驗被去掉,加上MBAP報文頭,協議解析不需要進行,協議的透明化得以實現.套接字通信性能的完善是通過Socket異常處理來實現的,對于數據服務在網絡中斷并自動重連能夠及時被系統檢測到.正常的網絡中斷很容易被套接字通信機制發(fā)現,而像拔掉網線等不正的網絡中斷則不易被其發(fā)現.
五.結束語
通過上述淺析Modbus協議.系統設計構架.分析系統性能,可以得知,基于內嵌Modbus協議的遠程監(jiān)控系統,可以實現設備參數讀寫和套接字通信,使處理.交換.傳遞信息的速度加快.總之,這一系統具有很多優(yōu)勢,需要我們加大這這方面的研究和應用.