MODBUS在過程控制系統(tǒng)中的應(yīng)用
由于各種各樣的原因,MODBUS是今天大家使用的工業(yè)協(xié)議當(dāng)中最受歡迎的一種。它簡單、便宜、通用性強(qiáng)并且使用方便。
MODBUS的另一個(gè)優(yōu)點(diǎn)是它實(shí)際上可以通過任何傳輸媒介進(jìn)行通訊,其中包括雙絞線、無線通訊、光導(dǎo)纖維、以太網(wǎng)、電話調(diào)制解調(diào)器、移動(dòng)電話以及微波等。這樣就意味著可以很容易的在一個(gè)新的或者是現(xiàn)有的工廠里面建立起MODBUS連接。事實(shí)上,一個(gè)正在MODBUS應(yīng)用領(lǐ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接口以便獲得更高的通訊速率、更長的通訊距離以及實(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)。換句話說,它們只能在別人對(duì)它說話的時(shí)候說話。有一些制造商正在開發(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ò)來說,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ù)
■ 錯(cuò)誤檢查
設(shè)備地址是一個(gè)從0到247的數(shù)字。發(fā)送給地址0(廣播訊息)的訊息可以被所有從設(shè)備接收到,但是數(shù)字1到247是特定設(shè)備的地址。在這個(gè)訊息廣播當(dāng)中有一個(gè)例外,有一個(gè)從設(shè)備總是會(huì)對(duì)MODBUS訊息作出反應(yīng),這樣主設(shè)備就知道這條訊息已經(jīng)被從設(shè)備接收到了。
功能代碼定義了從設(shè)備應(yīng)該執(zhí)行的命令,例如讀取數(shù)據(jù)、接受數(shù)據(jù)、報(bào)告狀態(tài)等等(參見表1)。功能代碼為從1到255的數(shù)字。有些功能代碼還擁有子功能代碼。
數(shù)據(jù)為讀取功能定義了在設(shè)備存儲(chǔ)器映射當(dāng)中的地址,它包括被寫入設(shè)備存儲(chǔ)器的數(shù)據(jù)值,或是包括其它根據(jù)功能代碼的要求需要被執(zhí)行的信息。
錯(cuò)誤檢查是一個(gè)描述循環(huán)冗余校驗(yàn)(CRC)的16-bit數(shù)值。循環(huán)冗余校驗(yàn)碼(CRC)由主設(shè)備產(chǎn)生(通過一個(gè)包括對(duì)數(shù)據(jù)進(jìn)行“或”運(yùn)算以及移位運(yùn)算的復(fù)雜程序產(chǎn)生),并且由接收設(shè)備進(jìn)行檢查。如果CRC值不符,這個(gè)設(shè)備就會(huì)要求重新傳送訊息。在有些系統(tǒng)里面,還要對(duì)數(shù)據(jù)進(jìn)行奇偶校驗(yàn)。
當(dāng)從設(shè)備執(zhí)行了所要求的功能,它會(huì)返回一條訊息給主設(shè)備。這條返回的訊息包含了從設(shè)備的地址、所要求的功能代碼(這樣主設(shè)備就知道是誰在作出反應(yīng))、所要求的數(shù)據(jù)以及一個(gè)錯(cuò)誤檢查值。
MODBUS存儲(chǔ)器映射
每一個(gè)MODBUS設(shè)備都有存儲(chǔ)器,在存儲(chǔ)器里面保存著過程變量數(shù)據(jù)。MODBUS的配置決定了數(shù)據(jù)怎樣被恢復(fù)以及什么類型的數(shù)據(jù)能夠被恢復(fù)。不過,MODBUS配置并沒有規(guī)定設(shè)備供應(yīng)商必須怎樣映射這些數(shù)據(jù)以及必須把這些數(shù)據(jù)映射在存儲(chǔ)器的哪個(gè)部分。下面是一個(gè)比較常見的例子,用來說明理論上一個(gè)供應(yīng)商可能怎樣映射不同類型的過程變量數(shù)據(jù)。
離散量輸入和輸出是1-bit數(shù)值,并且每一個(gè)這種變量都有一個(gè)明確的地址。模擬量輸入(也被稱為“輸入寄存器”)被存儲(chǔ)在16-bit寄存器里面。只需利用這些寄存器當(dāng)中的兩個(gè)寄存器,MODBUS就可以支持IEEE 32-bit浮點(diǎn)格式。保持寄存器也是16-bit內(nèi)部寄存器,可以支持浮點(diǎn)格式。
MODBUS配置定義了在寄存器映射里面的數(shù)據(jù)。假定設(shè)備供應(yīng)商遵從了MODBUS規(guī)格書的要求(并非所有設(shè)備供應(yīng)商都如此),那么MODBUS主設(shè)備就可以很容易的獲取所有遵從規(guī)格書規(guī)定的數(shù)據(jù)。在很多案例當(dāng)中,設(shè)備供應(yīng)商公布了存儲(chǔ)器的映射位置(參見表2),這樣就使得編程人員可以很
容易的為主設(shè)備與從設(shè)備之間的通訊進(jìn)行編程。
表2:大多數(shù)MODBUS兼容設(shè)備(例如來自于Moore Industries公司的TMZ溫度變送器)的說明書或者操作手冊(cè)都公布了關(guān)鍵變量在存儲(chǔ)器映射里面的地址。TMZ溫度變送器的地址遵守了MODBUS規(guī)格書的要求。
讀取和寫入數(shù)據(jù)
MODBUS擁有最多255個(gè)功能代碼,但是01(讀取輸出量)、02(讀取離散輸入)、03(讀取保持寄存器)以及04(讀取輸入寄存器)是最為常用的讀取功能代碼,這些代碼被用來從MODBUS從設(shè)備采集數(shù)據(jù)。
假如設(shè)備遵從了MODBUS配置的要求,那么設(shè)定主設(shè)備讀取和寫入數(shù)據(jù)、檢查狀態(tài)、獲取診斷信息以及執(zhí)行各種控制和監(jiān)視功能的編程任務(wù)就變得非常簡單了。
在大多數(shù)工廠里,現(xiàn)場(chǎng)儀表采用單獨(dú)的控制室直連對(duì)絞線電纜連接到控制系統(tǒng)(見下圖)。當(dāng)儀表設(shè)備被連接到一種分散式I/O系統(tǒng)(例如來自于Moore Industries公司NCS系統(tǒng))的時(shí)候(見中圖),你可以增加更多的現(xiàn)場(chǎng)設(shè)備,但是僅僅需要一根對(duì)絞線電纜就可以把所有數(shù)據(jù)傳送到MODBUS主站。在多個(gè)NCS系統(tǒng)以MODBUS網(wǎng)絡(luò)的方式組網(wǎng)連接的時(shí)候(見下圖),整個(gè)工廠的連接都能夠從對(duì)絞線電纜控制室直連的方式轉(zhuǎn)變成為MODBUS連接方式。
圖2:控制室直連電纜 vs MODBUS
圖3:對(duì)等網(wǎng)連接模式。在某些案例當(dāng)中,控制系統(tǒng)不能處理MODBUS信號(hào)。在這種情況下,可以采用使用雙重NCS設(shè)備的對(duì)等網(wǎng)解決方案,僅用一根MODBUS電纜就可以替代所有的控制室直連電纜。來自第二個(gè)NCS的模擬量輸出再通過硬接線直接連接到控制系統(tǒng)的I/O盤。
連接MODBUS設(shè)備
最容易的一種把現(xiàn)場(chǎng)設(shè)備連接到一個(gè)過程控制系統(tǒng)、PLC或是工業(yè)計(jì)算機(jī)系統(tǒng)的方法,就是簡單的把數(shù)字量以及模擬量I/O連接到一個(gè)具有MODBUS通訊能力的分散I/O系統(tǒng)里面。例如來自Moore Industries公司的NCS(Net Concentrator System)系統(tǒng)允許用戶對(duì)模擬量和數(shù)字量信號(hào)進(jìn)行遠(yuǎn)程連接,然后再通過雙絞線連接到一個(gè)MODBUS主設(shè)備。多個(gè)NCS系統(tǒng)可以安裝在全廠的幾個(gè)不同的地點(diǎn),都通過MODBUS進(jìn)行連接(參見圖2)。
這個(gè)解決方案即適合于新的工廠,也適用于現(xiàn)存的工廠。在許多現(xiàn)有的工廠里面,現(xiàn)場(chǎng)儀表設(shè)備通常是采用多芯電纜連接到DCS或者PLC系統(tǒng)的,每個(gè)設(shè)備都通過單獨(dú)的對(duì)絞電纜把模擬信號(hào)傳送出去。采用NCS系統(tǒng),只需要這些電纜中的一個(gè)用來傳送MODBUS信號(hào)就可以了。假如工廠想要增加額外的現(xiàn)場(chǎng)儀表設(shè)備,卻不想安裝更多電纜(電纜安裝費(fèi)用通常為每英尺100美元)的時(shí)候,這種解決方案就特別有用。一套分散I/O系統(tǒng)就可以滿足所有現(xiàn)存儀表I/O的需要,或者僅僅用它來傳送來自于所有新增現(xiàn)場(chǎng)儀表設(shè)備的數(shù)據(jù)。
在有些案例當(dāng)中,控制系統(tǒng)不能處理MODBUS的信號(hào)。例如現(xiàn)有的控制系統(tǒng)有可能是為處理4到20毫安模擬量I/O和直接接線的數(shù)字量I/O而定制的,并且為現(xiàn)有的老系統(tǒng)進(jìn)行重新編程使其支持MODBUS也非常困難。通常,用戶一般并不傾向于通過鋪設(shè)新電纜或是購買昂貴的MODBUS接口卡件來將新增加的遠(yuǎn)程信號(hào)接入到系統(tǒng)中,因?yàn)閷?duì)MODBUS接口卡件進(jìn)行重新編程費(fèi)用很高。在這種情況下,一種對(duì)等網(wǎng)絡(luò)方案(peer to peer)可以很好的解決問題。例如來自Moore Industries公司的CCS(Cable Concentrator System)和NCS(Net Concentrator System)系統(tǒng)就都具備對(duì)等網(wǎng)絡(luò)通訊能力。
NCS和CCS系統(tǒng)與一套分散I/O模件十分相似,但是具有更強(qiáng)的內(nèi)建智能。并且NCS和CCS系統(tǒng)既可以被設(shè)置成對(duì)等網(wǎng)絡(luò)模式,也可以被設(shè)置成主從網(wǎng)絡(luò)(peer to host)模式。
使用一套對(duì)等網(wǎng)絡(luò)模式的NCS系統(tǒng)(參見圖3),配置了兩個(gè)網(wǎng)絡(luò)集中器;一個(gè)安裝在現(xiàn)場(chǎng),另一個(gè)安裝在控制室?,F(xiàn)場(chǎng)儀表被連接到遠(yuǎn)程的那個(gè)NCS。這個(gè)遠(yuǎn)程N(yùn)CS與控制室里的NCS之間通過一根雙絞線進(jìn)行連接。然后控制室NCS的輸出再通過硬接線接入現(xiàn)有控制系統(tǒng)的模擬I/O盤。采用這種方法,來自新增現(xiàn)場(chǎng)變送器的模擬信號(hào)就能夠以原來模擬信號(hào)的狀態(tài)通過工廠現(xiàn)有的模擬I/O卡件接入控制系統(tǒng)。這使得新增信號(hào)帶來的編程和調(diào)試工作與新增數(shù)字接口卡件相比大大減少。這種對(duì)等網(wǎng)絡(luò)解決方案也能夠滿足雙向式通訊的要求,在這種情況下系統(tǒng)的現(xiàn)場(chǎng)側(cè)和控制室一側(cè)都可以有輸入和輸出能力。
HART借助MODBUS
老式工廠面臨的另一個(gè)挑戰(zhàn)是找出一種便宜而又方便的方法來發(fā)揮已經(jīng)安裝的和“將要安裝的”HART智能儀表的優(yōu)勢(shì)。HART的意思是可尋址遠(yuǎn)程傳感器高速通道。HART是一種數(shù)字化協(xié)議,其設(shè)計(jì)初衷是使變送器能夠通過傳統(tǒng)工廠安裝的銅質(zhì)對(duì)絞線在傳送
一路模擬信號(hào)的同時(shí)傳送數(shù)字化的數(shù)據(jù)。這使用戶能夠通過在這根對(duì)絞線上任何一點(diǎn)的連接對(duì)變送器進(jìn)行遠(yuǎn)程或是本地的組態(tài)、測(cè)試以及診斷。HART從設(shè)備既可以采用點(diǎn)對(duì)點(diǎn)的方式連接,也可以采用多分支網(wǎng)絡(luò)的方式進(jìn)行連接。點(diǎn)對(duì)點(diǎn)連接是最常見的HART連接方式,在這種方式下HART變送器通過改變模擬回路上的電流來表征所需要的過程變量。當(dāng)然,只監(jiān)視數(shù)字化的HART數(shù)據(jù)也是可以的;不過在點(diǎn)對(duì)點(diǎn)的運(yùn)行模式下,很少有人這么做。在HART變送器控制電流的同時(shí),它還能夠通過HART數(shù)據(jù)流發(fā)送多種數(shù)字化的信息包。過程變量數(shù)據(jù)和數(shù)字化信息數(shù)據(jù)都可以被HART從設(shè)備或是變送器傳送。這些數(shù)據(jù)可以被用來監(jiān)視儀表的完好情況或是被過程控制系統(tǒng)或者資產(chǎn)管理系統(tǒng)用來優(yōu)化過程,幫助實(shí)現(xiàn)更加嚴(yán)密的控制或者防止意外的過程波動(dòng)。在某些情況下,現(xiàn)有工廠可能有數(shù)以百計(jì)具有HART能力的儀表。不幸的是,由于種種原因許多工廠從來不開發(fā)這些HART儀表的潛在能力。
在目前資產(chǎn)管理系統(tǒng)、遠(yuǎn)程診斷系統(tǒng)和先進(jìn)控制獲得廣泛應(yīng)用的環(huán)境下,許多工廠都希望能夠把HART儀表的數(shù)字化信息提取出來,但是他們的控制系統(tǒng)和現(xiàn)存的接線方式無法支持這種要求。這些控制系統(tǒng)可能無法從數(shù)字信號(hào)里面提取HART數(shù)據(jù),或是這些控制系統(tǒng)僅僅想要看到硬接線的數(shù)字量和模擬量I/O信號(hào)。一臺(tái)HART儀表可以通過HART信號(hào)發(fā)送多達(dá)四個(gè)過程變量:PV(第一變量)、SV(第二變量)、TV(第三變量)、FV(第四變量)。另外還有各種比特和字節(jié)的狀態(tài)數(shù)據(jù)也可以被HART信號(hào)所傳送。但是,如果控制系統(tǒng)不能夠從數(shù)字化的HART信號(hào)里面讀取這些額外的過程變量數(shù)據(jù)或是任何其它診斷信息和狀態(tài)信息,那么這些數(shù)據(jù)就被白白浪費(fèi)了。
用戶當(dāng)然也可以選擇利用這些HART數(shù)據(jù),即使對(duì)現(xiàn)有工廠里的老式系統(tǒng)也是如此。有些DCS公司能夠提供新型的升級(jí)版本的模擬量I/O卡板,這種卡板有能力“辨認(rèn)出”這些HART數(shù)據(jù)。不過這樣的卡板通常會(huì)比傳統(tǒng)的模擬量I/O卡板昂貴三到五倍。此外還有一些HART信號(hào)混合單元可以安裝在現(xiàn)有的模擬量I/O回路里面,這種接口單元具備RS422和RS485輸出端口,可以被連接到資產(chǎn)管理系統(tǒng)或者DCSes系統(tǒng)。當(dāng)然,這類HART信號(hào)混合單元的價(jià)格也是令人望而卻步的。另一個(gè)選擇項(xiàng)就是使用一種HART到MODBUS的轉(zhuǎn)換器,就像來自Moore Industries公司的HIM(HART信號(hào)接口模件),這是一種效費(fèi)比較高而且具有靈活性的解決方案,它能夠以合理的價(jià)格選擇性的監(jiān)視僅僅少數(shù)回路或者很多回路。
采用一個(gè)支持MODBUS RTU通訊的HART接口模件,就能夠簡單而且便宜的把所有HART數(shù)據(jù)都采集到控制系統(tǒng)里面(參見圖4)。這種HIM是智能化的設(shè)備,它即可以作為HART主站在前端運(yùn)行,同時(shí)又可以作為MODBUS RTU的從設(shè)備在后端運(yùn)行。HIM可以從變送器的模擬量信號(hào)里面提取出所有HART數(shù)據(jù),卻不會(huì)影響或者干擾連接到控制系統(tǒng)去的4到20毫安信號(hào)。HIM還可以提供一個(gè)液晶顯示窗口、三路4到20毫安信號(hào)、兩個(gè)繼電器輸出和一個(gè)可選的雙路MODBUS RTU輸出。當(dāng)用戶使用MODBUS選擇項(xiàng)的時(shí)候,HART數(shù)據(jù)被數(shù)字化的映射在HIM的MODBUS存儲(chǔ)器映射里面,然后作為MODBUS RTU主站的PLC或者DCS就可以從這個(gè)存儲(chǔ)器映射得到需要的數(shù)據(jù)了。將多個(gè)HIM采用多分支網(wǎng)絡(luò)方式連接起來并通過RS485接口傳送HART數(shù)據(jù),這種架構(gòu)從本質(zhì)上來說幾乎就是一個(gè)小規(guī)模的資產(chǎn)管理系統(tǒng),而費(fèi)用卻只有其幾分之一。
無線MODBUS
一個(gè)MODBUS網(wǎng)絡(luò)可以相當(dāng)容易的設(shè)置成通過無線連接進(jìn)行工作(參見圖5)。從本質(zhì)上來說,任何無線連接所作的都只不過是用布置在網(wǎng)絡(luò)各端的發(fā)射器/接收器來替代雙絞線電纜而已。很多無線電臺(tái)的制造商都支持MODBUS協(xié)議。但是由于無線電臺(tái)和調(diào)制解調(diào)器使用了一些加密和時(shí)間延遲方案,所以有一點(diǎn)非常重要:在你假定某些無線設(shè)備支持MODBUS協(xié)議之前,務(wù)必要先咨詢這些無線設(shè)備的供應(yīng)商。
圖4:一個(gè)HART接口模件(HIM)從HART信號(hào)里面提取數(shù)字化數(shù)據(jù)并且把它存儲(chǔ)在自身的MODBUS存儲(chǔ)器映射里面,這樣任何MODBUS主設(shè)備就都可以讀取這些數(shù)據(jù)了。原始的4-20mA信號(hào)仍舊象以前一樣被連接到控制系統(tǒng)。
圖5:一臺(tái)無線接口(例如來自于Moore Industries公司的無線連接模件)使用RF連接代替了雙絞線。
很明顯,無線MODBUS的主要優(yōu)點(diǎn)就是節(jié)約了鋪設(shè)線路的費(fèi)用。在以前,為了監(jiān)視和控制來自于罐區(qū)、井口以及各種遙遠(yuǎn)地點(diǎn)的信號(hào),其費(fèi)用是及其昂貴的。
幸運(yùn)的是,無線傳送的MODBUS對(duì)于控制系統(tǒng)或是主站、從站來說是透明的。例如上面提到的現(xiàn)有工廠里面的老式系統(tǒng)等,這類主機(jī)系統(tǒng)甚至都不知道存在著一個(gè)無線MODBUS網(wǎng)絡(luò),因?yàn)樗鼈?/p>
根本不需要面對(duì)這個(gè)無線MODBUS網(wǎng)絡(luò)。當(dāng)一個(gè)MODBUS主站向從站提出一個(gè)要求時(shí),這個(gè)訊息包被傳送到無線電發(fā)射臺(tái)。通常無線電發(fā)射臺(tái)會(huì)在發(fā)射之前對(duì)訊息包進(jìn)行重新排隊(duì)和加密。一旦這個(gè)RF(無線電射頻)訊息包被從電臺(tái)接收到,從電臺(tái)會(huì)對(duì)它們進(jìn)行解密并且把它們排序,使其重新代表一個(gè)有效的MODBUS訊息包。如果這個(gè)訊息包沒有被損壞或者發(fā)生混亂,它就會(huì)被發(fā)送到所要求的從站。這個(gè)從站將會(huì)對(duì)主站的要求作出相應(yīng)的反應(yīng),剛才的過程就會(huì)再次重復(fù)一遍。
有些時(shí)候你必須特別注意一個(gè)被叫做“timeout”的MODBUS通訊參數(shù),這一點(diǎn)很重要。Timeout表示:在嘗試重新發(fā)送訊息之前,MODBUS主站將會(huì)等待一個(gè)從站作出反應(yīng)的時(shí)間的長短。根據(jù)無線電臺(tái)通訊情況好壞的不同,訊息包的發(fā)送可能會(huì)被延誤,這有可能造成一些不必要的重試和重新發(fā)送。采用今天的FHSS(跳頻擴(kuò)頻)無線電臺(tái),這些參數(shù)當(dāng)中的大多數(shù)都可以進(jìn)行修改以便高效率的傳送MODBUS訊息包。而對(duì)電臺(tái)的選址進(jìn)行恰當(dāng)?shù)姆治鲅芯客ǔ?梢员苊庠S多通訊受阻的現(xiàn)象,其中需要進(jìn)行的研究包括信號(hào)強(qiáng)度分析以及頻帶噪聲分析等。
以太網(wǎng)上的MODBUS
MODBUS/TCP常常被理解為以太網(wǎng)上的MODBUS。其實(shí)總的來說MODBUS/TCP不過是采用TCP/IP標(biāo)準(zhǔn)簡單的把MODBUS訊息包打包壓縮而已。這使得MODBUS/TCP設(shè)備馬上就可以方便的通過現(xiàn)有以太網(wǎng)和光纖網(wǎng)絡(luò)進(jìn)行連接和通訊。與RS485接口相比,MODBUS/TCP還允許使用多得多的地址、可以采用多主站架構(gòu)、傳送速率可以達(dá)到GB水平。雖然MODBUS RTU有每個(gè)網(wǎng)絡(luò)不能超過247個(gè)節(jié)點(diǎn)的限制,但是MODBUS/TCP網(wǎng)絡(luò)的從站數(shù)量僅受限于網(wǎng)絡(luò)物理層的能力。通常從站的數(shù)量一般在1024個(gè)左右。以太網(wǎng)在過程控制和自動(dòng)化工業(yè)領(lǐng)域的迅速普及已經(jīng)使得MODBUS/TCP成為應(yīng)用最廣泛、增長速度最快的被以太網(wǎng)支持的工業(yè)協(xié)議。
雖然各家大小PLC供應(yīng)商都有自己的以太網(wǎng)協(xié)議,但是他們幾乎全部都支持MODBUS/TCP。即便是對(duì)那些目前不支持MODBUS/TCP的PLC供應(yīng)商來說,他們也可以找到很多家類似于Prosoft Technologies和SST的公司可以為他們的PLC產(chǎn)品提供底板安裝型的MODBUS/TCP通訊卡以及獨(dú)立安裝的網(wǎng)關(guān)等配件。
MODBUS/TCP的另一個(gè)優(yōu)點(diǎn)是它的多主站能力。不像MODBUS RTU和MODBUS ASC II,MODBUS/TCP允許多個(gè)主站同時(shí)從同一個(gè)從站獲取數(shù)據(jù)。為什么MODBUS/TCP會(huì)具備這樣的能力呢?這是因?yàn)橥ㄟ^使用TCP/IP的以太網(wǎng),無需令牌傳遞或是取得總線的完全控制權(quán)就可以發(fā)送、緩沖和遞交多個(gè)訊息。這對(duì)于許多RS485和RS422協(xié)議是很常見的情況。
通過MODBUS把控制放到現(xiàn)場(chǎng)去
到目前為止,我們僅僅涉及到了簡單的MODBUS數(shù)據(jù)采集系統(tǒng)。還有一種方案也是可能的,那就是把控制設(shè)備安裝在現(xiàn)場(chǎng),然后通過MODBUS使其與中央控制系統(tǒng)進(jìn)行通訊。前邊提到過的網(wǎng)絡(luò)集中器NCS同時(shí)也擁有功能強(qiáng)大的CPU(中央處理器單元)和實(shí)時(shí)控制內(nèi)核,它也可以被編程用來執(zhí)行控制功能,例如PID控制、ON/OFF控制、現(xiàn)場(chǎng)報(bào)警、復(fù)雜算術(shù)運(yùn)算、診斷以及報(bào)警監(jiān)視等。
因?yàn)樗哂蓄愃芇LC的邏輯、PID類型的控制功能以及先進(jìn)的計(jì)算能力,一臺(tái)NCS通常能夠滿足對(duì)一臺(tái)PLC、工業(yè)計(jì)算機(jī)或者一套小型DCS的功能要求,其價(jià)格卻只是后者的幾分之一。雖然MODBUS協(xié)議并不具備諸如基金會(huì)現(xiàn)場(chǎng)總線和CIP(通用工業(yè)協(xié)議)等其它協(xié)議的能力,但是它確實(shí)滿足了許多應(yīng)用的需要。在這些應(yīng)用里面,用戶喜歡在現(xiàn)場(chǎng)進(jìn)行控制,同時(shí)可以通過以太網(wǎng)對(duì)現(xiàn)場(chǎng)進(jìn)行監(jiān)視和上位控制。而MODBUS協(xié)議就是滿足這種需要的最具效費(fèi)比和最便捷的解決方案。
另一種“智能化”并且具有控制能力的MODBUS設(shè)備是來自于Moore Industries公司的MDS方程站。這是一種多功能控制器,它能夠執(zhí)行很多種類型的控制功能和運(yùn)算。有了MDS方程站,在實(shí)現(xiàn)簡單控制任務(wù)、多變量控制任務(wù)(例如監(jiān)視和控制一個(gè)蒸煮器里的紙漿液位或者使用來自多個(gè)流量、溫度和壓力變送器的輸入信號(hào)實(shí)現(xiàn)質(zhì)量流量計(jì)算)時(shí)就不再需要PLC或者大型控制器了。最多可以有127個(gè)MDS模件被安裝在一個(gè)MODBUS網(wǎng)絡(luò)上面來實(shí)現(xiàn)對(duì)工廠的控制或是采集整個(gè)工廠的信號(hào)。
PID(比例、積分和微分)控制器最初都是單機(jī)獨(dú)立運(yùn)行的無通訊控制器。由于PLC和DCS都已經(jīng)智能化,因此現(xiàn)在PID控制器也智能化了。今天,許多終端用戶依然青睞那些直接讀出和編程簡單的單回路控制器。諸如MODBUS等數(shù)字化通訊協(xié)議能夠給這些一直單機(jī)運(yùn)行的儀表注入一些新的活力。通過對(duì)這些控制器進(jìn)行多分支網(wǎng)絡(luò)連接,你可以創(chuàng)造一個(gè)你自己的小型分散控制系統(tǒng),參見圖6。
MODBUS:通用的接口
圖6:具有MODBUS功能的設(shè)備(例如1/4 DIN 545雙回路PID控制器)能夠把控制功能布置到現(xiàn)場(chǎng)。將這些MODBUS設(shè)備連接成多分支網(wǎng)絡(luò),并且把它們的輸出發(fā)送到一個(gè)基于WINDOWS的SCADA系統(tǒng),這樣就創(chuàng)建了一個(gè)小型的分散控制系統(tǒng)。
當(dāng)現(xiàn)代的控制領(lǐng)域持續(xù)不斷的產(chǎn)生和應(yīng)用諸如現(xiàn)場(chǎng)總線和網(wǎng)狀網(wǎng)絡(luò)等先進(jìn)概念的時(shí)候,MODBUS的簡單性以及它的便于在許多通訊媒介上實(shí)施應(yīng)用的特點(diǎn)一直使它受到最廣泛的支持,并且成為全球應(yīng)用最廣泛的工業(yè)協(xié)議。當(dāng)使用現(xiàn)有老式控制系統(tǒng)的用戶發(fā)現(xiàn)自己需要擴(kuò)充現(xiàn)場(chǎng)儀表或者增加遠(yuǎn)程控制器的時(shí)候,他們都會(huì)采用MODBUS作為一個(gè)能夠解決復(fù)雜問題的簡單解決方案。當(dāng)用戶試圖把一個(gè)外來設(shè)備連接到控制系統(tǒng)里面的時(shí)候,使用這個(gè)設(shè)備的MODBUS接口總被證明是最為容易的辦法。雖然MODBUS已經(jīng)是最為古老的通訊方法之一,由于非常多的原因它也是最普及的通訊方法。MODBUS便于使用、非??煽?、價(jià)格低廉并且可以連接到控制工業(yè)領(lǐng)域幾乎所有的傳感器和控制設(shè)備。