• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于MODBUS協(xié)議網(wǎng)絡(luò)的多點(diǎn)火災(zāi)測(cè)控系統(tǒng)

      2013-04-25 07:28:42何凌霄林凡強(qiáng)
      電子科技 2013年9期
      關(guān)鍵詞:測(cè)控串口消息

      何凌霄,林凡強(qiáng)

      (成都理工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都610059)

      傳統(tǒng)的火災(zāi)報(bào)警系統(tǒng)由于測(cè)控能力有限,控制距離較短等缺點(diǎn),已無(wú)法滿(mǎn)足實(shí)際發(fā)展的測(cè)控要求。為此,提出基于MODBUS協(xié)議的測(cè)控網(wǎng)絡(luò),用以太網(wǎng)將各MODBUS網(wǎng)絡(luò)連接起來(lái),組建大型測(cè)控系統(tǒng),在各處連接相應(yīng)的可編程邏輯控制器以及檢測(cè)系統(tǒng),通過(guò)網(wǎng)絡(luò)對(duì)各點(diǎn)處的環(huán)境狀況進(jìn)行檢測(cè),控制相應(yīng)的動(dòng)作,實(shí)現(xiàn)對(duì)各種生產(chǎn)中的安全問(wèn)題進(jìn)行預(yù)警。

      本設(shè)計(jì)在提出組建大型網(wǎng)絡(luò)理論的同時(shí),由于實(shí)際需要,設(shè)計(jì)制作了基于MODBUS協(xié)議的多點(diǎn)火災(zāi)測(cè)控系統(tǒng),驗(yàn)證了建立大型網(wǎng)絡(luò)測(cè)控系統(tǒng)的可行性與優(yōu)越性。

      1 多點(diǎn)火災(zāi)測(cè)控系統(tǒng)框架

      1.1 MODBUS協(xié)議

      MODBUS協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言。通過(guò)此協(xié)議,控制器及相互之間經(jīng)由網(wǎng)絡(luò)和其他設(shè)備之間可以通信。其通信使用主從式技術(shù),即僅一個(gè)設(shè)備(主設(shè)備)能初始化傳輸(查詢(xún))。其他設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢(xún)提供的數(shù)據(jù)做出相應(yīng)反應(yīng)。

      MODBUS協(xié)議中,消息的傳輸方式可以選擇ASCII和RTU消息幀格式中的一種進(jìn)行網(wǎng)絡(luò)通信。在協(xié)議的消息幀中可以進(jìn)行各種校驗(yàn),如奇偶校驗(yàn)、LRC校驗(yàn)和CRC校驗(yàn),網(wǎng)絡(luò)中還可以設(shè)定超時(shí)檢測(cè)功能。

      系統(tǒng)采用了RTU消息幀模式,消息發(fā)送至少要以3.5個(gè)字符時(shí)間的停頓間隔開(kāi)始。傳輸?shù)牡谝粋€(gè)域是設(shè)備地址。網(wǎng)絡(luò)設(shè)備不斷偵測(cè)網(wǎng)絡(luò)總線(xiàn),包括停頓間隔時(shí)間內(nèi)。當(dāng)?shù)谝粋€(gè)域接收到,每個(gè)設(shè)備都對(duì)其進(jìn)行解碼以判斷是否發(fā)給自己的。在最后一個(gè)傳輸字符之后,至少3.5個(gè)字符時(shí)間的停頓標(biāo)定了消息的結(jié)束。RTU格式如表1所示。

      表1 RTU消息幀格式

      1.2 通信接口

      計(jì)算機(jī)與計(jì)算機(jī)或計(jì)算機(jī)與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊兩種方式。由于串行通訊方式具有使用線(xiàn)路少、成本低,特別是在遠(yuǎn)程傳輸時(shí),避免了多條線(xiàn)路的特性不一致而被廣泛采用。常用的接口如:RS-232、RS-485。因?yàn)镽S485標(biāo)準(zhǔn)采用平衡式發(fā)送、差分式接收的數(shù)據(jù)收發(fā)器來(lái)驅(qū)動(dòng)總線(xiàn),傳輸距離可達(dá)千米以上,因此本系統(tǒng)采用該總線(xiàn)建立設(shè)備網(wǎng)絡(luò)。

      1.3 MODBUS網(wǎng)絡(luò)結(jié)構(gòu)

      由終端(可以是可編程的邏輯控制器、單片機(jī)控制器等)、RS-485總線(xiàn)等物理硬件組成,通過(guò)MODBUS協(xié)議通信,由主機(jī)初始化整個(gè)網(wǎng)絡(luò),按地址發(fā)送消息幀,符合地址的終端接收消息幀,并按消息幀消息的要求處理,回復(fù)給主機(jī)相應(yīng)的數(shù)據(jù)。

      系統(tǒng)具有基于MODBUS協(xié)議的接口處理能力,初步測(cè)控功能,MODBUS系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

      圖1 MODBUS系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)

      2 測(cè)控系統(tǒng)硬件設(shè)計(jì)

      2.1 主機(jī)

      主機(jī)硬件可以采用通用個(gè)人計(jì)算機(jī)或?qū)S锰幚砥?標(biāo)配9針D形串口,支持串口通信,具有將串口RS232轉(zhuǎn)RS485的接口芯片。

      2.2 下位機(jī)

      下位機(jī)主要是基于單片機(jī)的微控制器,其具有可靠性高、編程方便、體積小、功耗低等特點(diǎn),目前主要的自動(dòng)控制設(shè)備多采用此種形式。采用單片機(jī)方案,編寫(xiě)基于MODBUS協(xié)議的通信接口程序,用于執(zhí)行簡(jiǎn)單的控制指令或檢測(cè)命令。系統(tǒng)采用C8051[1]系列控制器,該控制器與傳統(tǒng)的MCS-51單片機(jī)兼容,但該類(lèi)控制器采用流水線(xiàn)結(jié)構(gòu),性能方面比傳統(tǒng)的MCS-51有所提高,且其外設(shè)資源豐富、系統(tǒng)集成度高。

      2.3 以太網(wǎng)傳輸

      不同PC機(jī)之間通過(guò)以太網(wǎng)連接,將MODBUS協(xié)議消息幀封裝成以太網(wǎng)上傳輸?shù)臄?shù)據(jù)包傳輸,并用Microsoft Visual C++6.0編程[2]開(kāi)發(fā)以太網(wǎng)連接相應(yīng)的控制接口與界面。

      2.4 RS-485單元

      MAX483是適用于RS-422和RS-485通信線(xiàn)路的低功率收發(fā)器,其內(nèi)部集成了一個(gè)驅(qū)動(dòng)器和一個(gè)接收器[3-4]。

      2.5 硬件模塊設(shè)計(jì)

      由C8051F340構(gòu)成下位機(jī),構(gòu)成MODBUS網(wǎng)絡(luò)I/O接口模塊[6-8],提供串行通信能力,連接各種外圍控制檢測(cè)電路,提供外圍電路主時(shí)序及控制信號(hào)。由于具體測(cè)控裝置的不同,這里選擇了溫度傳感器、火焰探測(cè)器、自動(dòng)或手動(dòng)開(kāi)關(guān)、聲光報(bào)警器、并預(yù)留多余的I/O端口,便于擴(kuò)展。

      檢測(cè)模塊由于具體環(huán)境和硬件設(shè)施的不同而多種多樣,主要包括火焰探測(cè)器、溫度傳感器、水流指示器等。因C8051F340單片機(jī)內(nèi)置10位A/D轉(zhuǎn)換器和溫度傳感器,故這一模塊可通過(guò)輸入輸出口外接傳感器,直接通過(guò)編程獲得。

      當(dāng)檢測(cè)到有火災(zāi)可能發(fā)生時(shí),給單片機(jī)輸出口一個(gè)高電平,使發(fā)光二極管發(fā)光,并使蜂鳴器發(fā)聲,以表示可能有異常情況發(fā)生。

      3 系統(tǒng)軟件設(shè)計(jì)

      3.1 單片機(jī)與MODBUS網(wǎng)絡(luò)通信程序設(shè)計(jì)

      單片機(jī)程序設(shè)計(jì)采用KEIL集成開(kāi)發(fā)環(huán)境,通過(guò)仿真器在C8051F340單片機(jī)上調(diào)試運(yùn)行。

      單片機(jī)系統(tǒng)啟動(dòng)后,經(jīng)過(guò)初始化,立即開(kāi)始進(jìn)行現(xiàn)場(chǎng)的參數(shù)測(cè)量,流程如圖2所示。

      圖2 單片機(jī)測(cè)試流程圖

      通電后,首先配置I/O口,設(shè)置計(jì)時(shí)器初值、工作方式,設(shè)置串口工作方式,開(kāi)系統(tǒng)中斷等;然后調(diào)用測(cè)量函數(shù);再調(diào)用接收判斷函數(shù),判斷是否接收到正確的消息幀;如果判斷接收的消息幀錯(cuò)誤或消息幀沒(méi)接收完全,則直接跳出接收函數(shù),調(diào)用測(cè)量函數(shù),進(jìn)行測(cè)量,并不斷循環(huán)測(cè)量函數(shù)與接收判斷函數(shù)。

      初始化函數(shù)主要是開(kāi)總中斷;設(shè)置定時(shí)器0為16位計(jì)時(shí)模式,檢測(cè)信息//幀開(kāi)始與幀內(nèi)字節(jié);定時(shí)器1設(shè)為8位自動(dòng)重裝模式2,用于串口數(shù)據(jù)通信波特率發(fā)生。

      串口中斷發(fā)生時(shí),先開(kāi)始計(jì)時(shí)定時(shí)器,檢測(cè)信息間隔機(jī)字符間隔,計(jì)時(shí)0.5個(gè)字符周期。然后判斷是接收中斷還是發(fā)送中斷,根據(jù)判斷結(jié)果分別做相應(yīng)的處理,接收數(shù)據(jù)至接收數(shù)據(jù)緩沖區(qū)還是將發(fā)送緩沖區(qū)的數(shù)據(jù)發(fā)送。根據(jù)MODBUS協(xié)議中RTU傳輸模式,當(dāng)兩個(gè)字符間隔>3.5個(gè)字符周期時(shí),認(rèn)為接收完一個(gè)消息幀,開(kāi)始接收下一個(gè)消息幀,當(dāng)<1.5個(gè)字符周期時(shí),則認(rèn)為這是上一消息幀的字符。接收或發(fā)送的消息幀保存在接收緩沖區(qū)或發(fā)送緩沖區(qū)中,為后續(xù)接收判斷做準(zhǔn)備。串口的處理流程圖圖如3所示。

      圖3 串口中斷處理流程圖

      產(chǎn)生CRC校驗(yàn)碼過(guò)程如下:(1)預(yù)置一個(gè)16位寄存器為0FFFFH(全1),稱(chēng)為CRC寄存器;(2)把數(shù)據(jù)幀中的第1個(gè)Byte的8位與CRC寄存器中的低字節(jié)進(jìn)行異或運(yùn)算,結(jié)果存回CRC寄存器;(3)將CRC寄存器向右移一位,最高位填以0,最低位移出并檢測(cè);(4)如果最低位為0:重復(fù)第(3)步;(5)如果最低位為1:則將CRC寄存器與一個(gè)預(yù)設(shè)的固定值(0A001H)進(jìn)行異或運(yùn)算;(6)重復(fù)第(3)步和第(4)步直到8次移位。這樣則處理完了一個(gè)完整的8位。重復(fù)第(2)步~第(5)步來(lái)處理下一個(gè)8位,直到所有的字節(jié)處理結(jié)束,最終CRC寄存器的值即為CRC的值。

      3.2 上位機(jī)主控界面設(shè)計(jì)

      上位機(jī)軟件采用Microsoft Visual C++6.0設(shè)計(jì)多點(diǎn)火災(zāi)監(jiān)控系統(tǒng)界面,它提供完善的可視化開(kāi)發(fā)環(huán)境,集方便、快捷、靈活高效于一體,界面如圖4所示。

      圖4 多點(diǎn)火災(zāi)監(jiān)控系統(tǒng)界面

      4 系統(tǒng)改進(jìn)

      目前設(shè)計(jì)實(shí)現(xiàn)了MODBUS的基本功能,實(shí)現(xiàn)多點(diǎn)火災(zāi)的監(jiān)控和預(yù)警。但MODBUS網(wǎng)絡(luò)連接采用RS-485總線(xiàn)連接,在實(shí)際火災(zāi)中可能會(huì)產(chǎn)生火災(zāi)破壞通信線(xiàn)路,造成通信系統(tǒng)癱瘓,可靠性降低,但可以通過(guò)硬件或軟件方法改進(jìn)而提高。MODBUS協(xié)議本身沒(méi)規(guī)定具體的硬件連接方式,它定義了通信雙方能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的??梢钥紤]采用無(wú)線(xiàn)通信的方式,這樣就沒(méi)有實(shí)際的連接線(xiàn),可靠性可以得到改進(jìn)。

      系統(tǒng)的主控界面是人工發(fā)送消息給下位機(jī),下位機(jī)接收?qǐng)?zhí)行后,返回消息。使用主從技術(shù),如遇突發(fā)情況,在無(wú)人控制時(shí),電腦會(huì)自動(dòng)按一定時(shí)間間隔查詢(xún)下位機(jī)狀況,這樣就不能及時(shí)實(shí)施控制,且系統(tǒng)資源占用較多??梢钥紤]采用申請(qǐng)—控制機(jī)制,即下位機(jī)檢測(cè)異常時(shí),向主機(jī)發(fā)送紅請(qǐng)求,主機(jī)通過(guò)中斷收到請(qǐng)求后,自動(dòng)判斷并發(fā)出控制消息給下位機(jī)實(shí)行控制。這樣可以節(jié)約系統(tǒng)資源和增強(qiáng)實(shí)時(shí)處理能力,提高檢測(cè)控制效率。

      5 結(jié)束語(yǔ)

      系統(tǒng)開(kāi)發(fā)設(shè)計(jì)了建立基于MODBUS協(xié)議的自動(dòng)多點(diǎn)火災(zāi)測(cè)控系統(tǒng),并提出以太網(wǎng)連接,組建大型測(cè)控網(wǎng)絡(luò)的方案。在實(shí)際火災(zāi)測(cè)控應(yīng)用、設(shè)計(jì)火災(zāi)測(cè)控網(wǎng)絡(luò)、繪制具體電路、進(jìn)行實(shí)際制板測(cè)試和編寫(xiě)通信程序等方面,為以后火災(zāi)預(yù)警測(cè)控提供了參考。

      [1] 楊金巖,鄭應(yīng)強(qiáng).8051單片機(jī)數(shù)據(jù)傳輸接口擴(kuò)展技術(shù)與應(yīng)用實(shí)例[M].北京:人民郵電出版社,2004.

      [2] 周曉云.程序設(shè)計(jì)基礎(chǔ)—可視化及VC++實(shí)現(xiàn)[M].北京:高等教育出版社,2004.

      [3] 張毅坤,陳善久.單片微型計(jì)算機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1998.

      [4] 宋寶華.深入淺出VC++串口編程之基于Win32 API[EB/OL].(2006-02-21)[2012-09-12]http://wen ku.baidu.com.

      [5] 鄧元生.基于單片機(jī)的MODBUS總線(xiàn)協(xié)議實(shí)現(xiàn)技術(shù)研究[D].長(zhǎng)沙:中南大學(xué),2009.

      [6]陳銘.基于MODBUS協(xié)議的設(shè)備和PLC實(shí)現(xiàn)通信的研究[J].湖南科技學(xué)院學(xué)報(bào),2009,30(4):60-62.

      [7] 夏勇.Modbus通訊協(xié)議的S7-200可編程控制器[J].自動(dòng)化與儀器儀表,2009(1):48-49.

      [8] 王小鵬,張九強(qiáng).MODBUS在智能保護(hù)裝置上的應(yīng)用[J].煤礦機(jī)械,2011(1):190-192.

      猜你喜歡
      測(cè)控串口消息
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      一張圖看5G消息
      《測(cè)控電路》實(shí)踐教學(xué)改革探討
      基于現(xiàn)代測(cè)控技術(shù)及其應(yīng)用分析
      向著新航程進(jìn)發(fā)——遠(yuǎn)望7號(hào)測(cè)控船首航記錄
      太空探索(2016年12期)2016-07-18 11:13:43
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線(xiàn)通信
      基于USB2.0協(xié)議的通用測(cè)控通信接口設(shè)計(jì)
      消息
      消息
      北安市| 怀安县| 栖霞市| 临夏市| 昌宁县| 蒲城县| 庆安县| 漯河市| 虞城县| 哈巴河县| 乌拉特后旗| 山东| 辰溪县| 乌兰察布市| 忻州市| 监利县| 个旧市| 梁河县| 平山县| 庆安县| 精河县| 西乡县| 深水埗区| 黄龙县| 花垣县| 个旧市| 霍林郭勒市| 大庆市| 长顺县| 茌平县| 鱼台县| 凤凰县| 亚东县| 武宣县| 蕲春县| 连江县| 绿春县| 浙江省| 金塔县| 湖口县| 镇原县|