<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > MODBUS的應(yīng)用分析

          MODBUS的應(yīng)用分析

          作者: 時間:2012-05-06 來源:網(wǎng)絡(luò) 收藏

          ■ 錯誤檢查

          本文引用地址:http://www.ex-cimer.com/article/160658.htm

            設(shè)備地址是一個從0到247的數(shù)字。發(fā)送給地址0(廣播訊息)的訊息可以被所有從設(shè)備接收到,但是數(shù)字1到247是特定設(shè)備的地址。在這個訊息廣播當(dāng)中有一個例外,有一個從設(shè)備總是會對訊息作出反應(yīng),這樣主設(shè)備就知道這條訊息已經(jīng)被從設(shè)備接收到了。

            功能代碼定義了從設(shè)備應(yīng)該執(zhí)行的命令,例如讀取數(shù)據(jù)、接受數(shù)據(jù)、報告狀態(tài)等等(參見表1)。功能代碼為從1到255的數(shù)字。有些功能代碼還擁有子功能代碼。

            數(shù)據(jù)為讀取功能定義了在設(shè)備存儲器映射當(dāng)中的地址,它包括被寫入設(shè)備存儲器的數(shù)據(jù)值,或是包括其它根據(jù)功能代碼的要求需要被執(zhí)行的信息。

            錯誤檢查是一個描述循環(huán)冗余校驗(CRC)的16-bit數(shù)值。循環(huán)冗余校驗碼(CRC)由主設(shè)備產(chǎn)生(通過一個包括對數(shù)據(jù)進(jìn)行“或”運算以及移位運算的復(fù)雜程序產(chǎn)生),并且由接收設(shè)備進(jìn)行檢查。如果CRC值不符,這個設(shè)備就會要求重新傳送訊息。在有些系統(tǒng)里面,還要對數(shù)據(jù)進(jìn)行奇偶校驗。

            當(dāng)從設(shè)備執(zhí)行了所要求的功能,它會返回一條訊息給主設(shè)備。這條返回的訊息包含了從設(shè)備的地址、所要求的功能代碼(這樣主設(shè)備就知道是誰在作出反應(yīng))、所要求的數(shù)據(jù)以及一個錯誤檢查值。

            存儲器映射

            每一個設(shè)備都有存儲器,在存儲器里面保存著過程變量數(shù)據(jù)。MODBUS的配置決定了數(shù)據(jù)怎樣被恢復(fù)以及什么類型的數(shù)據(jù)能夠被恢復(fù)。不過,MODBUS配置并沒有規(guī)定設(shè)備供應(yīng)商必須怎樣映射這些數(shù)據(jù)以及必須把這些數(shù)據(jù)映射在存儲器的哪個部分。下面是一個比較常見的例子,用來說明理論上一個供應(yīng)商可能怎樣映射不同類型的過程變量數(shù)據(jù)。

            離散量輸入和輸出是1-bit數(shù)值,并且每一個這種變量都有一個明確的地址。模擬量輸入(也被稱為“輸入寄存器”)被存儲在16-bit寄存器里面。只需利用這些寄存器當(dāng)中的兩個寄存器,MODBUS就可以支持IEEE 32-bit浮點格式。保持寄存器也是16-bit內(nèi)部寄存器,可以支持浮點格式。

            MODBUS配置定義了在寄存器映射里面的數(shù)據(jù)。假定設(shè)備供應(yīng)商遵從了MODBUS規(guī)格書的要求(并非所有設(shè)備供應(yīng)商都如此),那么MODBUS主設(shè)備就可以很容易的獲取所有遵從規(guī)格書規(guī)定的數(shù)據(jù)。在很多案例當(dāng)中,設(shè)備供應(yīng)商公布了存儲器的映射位置(參見表2),這樣就使得編程人員可以很

            容易的為主設(shè)備與從設(shè)備之間的通訊進(jìn)行編程。

            

            表2:大多數(shù)MODBUS兼容設(shè)備(例如來自于Moore Industries公司的TMZ溫度變送器)的說明書或者操作手冊都公布了關(guān)鍵變量在存儲器映射里面的地址。TMZ溫度變送器的地址遵守了MODBUS規(guī)格書的要求。

            讀取和寫入數(shù)據(jù)

            MODBUS擁有最多255個功能代碼,但是01(讀取輸出量)、02(讀取離散輸入)、03(讀取保持寄存器)以及04(讀取輸入寄存器)是最為常用的讀取功能代碼,這些代碼被用來從MODBUS從設(shè)備采集數(shù)據(jù)。

            假如設(shè)備遵從了MODBUS配置的要求,那么設(shè)定主設(shè)備讀取和寫入數(shù)據(jù)、檢查狀態(tài)、獲取診斷信息以及執(zhí)行各種控制和監(jiān)視功能的編程任務(wù)就變得非常簡單了。

            在大多數(shù)工廠里,現(xiàn)場儀表采用單獨的控制室直連對絞線電纜連接到控制系統(tǒng)(見下圖)。當(dāng)儀表設(shè)備被連接到一種分散式I/O系統(tǒng)(例如來自于Moore Industries公司NCS系統(tǒng))的時候(見中圖),你可以增加更多的現(xiàn)場設(shè)備,但是僅僅需要一根對絞線電纜就可以把所有數(shù)據(jù)傳送到MODBUS主站。在多個NCS系統(tǒng)以MODBUS網(wǎng)絡(luò)的方式組網(wǎng)連接的時候(見下圖),整個工廠的連接都能夠從對絞線電纜控制室直連的方式轉(zhuǎn)變成為MODBUS連接方式。

            

          控制室直連電纜 vs MODBUS www.elecfans.com

            圖2:控制室直連電纜 vs MODBUS



          關(guān)鍵詞: 分析 應(yīng)用 MODBUS

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();