MODBUS的應(yīng)用分析
由于各種各樣的原因,MODBUS是今天大家使用的工業(yè)協(xié)議當(dāng)中最受歡迎的一種。它簡(jiǎn)單、便宜、通用性強(qiáng)并且使用方便。
本文引用地址:http://butianyuan.cn/article/160658.htmMODBUS的另一個(gè)優(yōu)點(diǎn)是它實(shí)際上可以通過任何傳輸媒介進(jìn)行通訊,其中包括雙絞線、無(wú)線通訊、光導(dǎo)纖維、以太網(wǎng)、電話調(diào)制解調(diào)器、移動(dòng)電話以及微波等。這樣就意味著可以很容易的在一個(gè)新的或者是現(xiàn)有的工廠里面建立起MODBUS連接。事實(shí)上,一個(gè)正在MODBUS應(yīng)用領(lǐng)域不斷成長(zhǎng)的應(yīng)用就是在老舊的工廠里面利用現(xiàn)有的雙絞線連接提供MODBUS數(shù)字通訊。
在這份白皮書當(dāng)中,我們將會(huì)對(duì)MODBUS的工作方式進(jìn)行研究,并且看一看在新老工廠里面使用MODBUS的一些巧妙方法。
圖1:一個(gè)由一臺(tái)“主站(一臺(tái)PLC或DCS)”以及最多247個(gè)“從站”設(shè)備構(gòu)成的MODBUS RTU網(wǎng)絡(luò)。其網(wǎng)絡(luò)架構(gòu)是多分支網(wǎng)絡(luò)連接。
表1:功能代碼
什么是MODBUS?
MODBUS是Modicon公司(即現(xiàn)在的Schneider Electric公司)于1979年開發(fā)的一種通訊協(xié)議,其目的是采用一根雙絞線與許多設(shè)備進(jìn)行通訊。最初的方案使用RS232接口,但是MODBUS也適合于
RS485接口以便獲得更高的通訊速率、更長(zhǎng)的通訊距離以及實(shí)現(xiàn)真正的多分支網(wǎng)絡(luò)結(jié)構(gòu)。MODBUS很快就成了一種自動(dòng)化工業(yè)領(lǐng)域的事實(shí)上的標(biāo)準(zhǔn),Modicon公司也把它向社會(huì)進(jìn)行了公開發(fā)布,不收任何版稅。
今天,最大的MODBUS 用戶和供應(yīng)商組織MODBUS_IDA(www.MODBUS.org)仍然在繼續(xù)為全世界的MODBUS協(xié)議提供支持。
MODBUS是一種“主-從”結(jié)構(gòu)的系統(tǒng),在這里“主設(shè)備”與一個(gè)或是多個(gè)“從設(shè)備”進(jìn)行通訊。比較典型的主設(shè)備一般是PLC(可編程邏輯控制器)、PC、DCS(分散控制系統(tǒng))或者RTU(遠(yuǎn)程終端單元)。MODBUS-RTU的從設(shè)備一般是現(xiàn)場(chǎng)儀表設(shè)備,所有這些現(xiàn)場(chǎng)儀表設(shè)備都以多分支網(wǎng)絡(luò)的方式連接到系統(tǒng)當(dāng)中,參見圖1。當(dāng)一個(gè)MODBUS-RTU主設(shè)備想要從一臺(tái)從設(shè)備得到數(shù)據(jù)的時(shí)候,這個(gè)主設(shè)備會(huì)發(fā)送一條包含該設(shè)備地址、所需要數(shù)據(jù)以及一個(gè)用于檢測(cè)錯(cuò)誤的求和校驗(yàn)碼的信息。網(wǎng)絡(luò)上的所有其它設(shè)備都可以看到這一條信息,但是只有地址被指定的設(shè)備才會(huì)作出反應(yīng)。
MODBUS網(wǎng)絡(luò)上的從設(shè)備不能夠發(fā)起通訊聯(lián)絡(luò),它們只能作出反應(yīng)。換句話說(shuō),它們只能在別人對(duì)它說(shuō)話的時(shí)候說(shuō)話。有一些制造商正在開發(fā)“混合”型的MODBUS設(shè)備,它們平常的運(yùn)行模式和MODBUS從設(shè)備相似,但是卻具備“寫”的能力,因此有時(shí)候這些設(shè)備會(huì)作為“偽主設(shè)備”運(yùn)行。
目前大家使用的三種最常見的MODBUS版本是:
■ MODBUS ASC II
■ MODBUS RTU
■ MODBUS/TCP
所有的MODBUS信息都以相同的格式進(jìn)行傳送。在這三種不同類型的MODBUS版本之間的唯一差別就是:信息是怎樣進(jìn)行編碼的。
在MODBUS RTU協(xié)議里面,數(shù)據(jù)以二進(jìn)制進(jìn)行編碼,而且每一個(gè)字節(jié)的數(shù)據(jù)只需要一個(gè)字節(jié)的通訊量。對(duì)于通訊速度在1200到115K波特率的RS232或者多分支網(wǎng)絡(luò)的RS485網(wǎng)絡(luò)來(lái)說(shuō),MODBUS RTU是一種理想的通訊協(xié)議。MODBUS RTU最為常見的通訊速率為9600和19200波特率。MODBUS RTU是得到最為廣泛應(yīng)用的工業(yè)化協(xié)議,因此這份白皮書的主要部分將會(huì)集中討論MODBUS RTU的基本概念和應(yīng)用。
MODBUS RTU基礎(chǔ)
為了與一臺(tái)從設(shè)備進(jìn)行通訊,主設(shè)備將會(huì)發(fā)送一個(gè)包含如下內(nèi)容的訊息:
■ 設(shè)備地址
■ 功能代碼
■ 數(shù)據(jù)
評(píng)論