1.Modbus通訊協(xié)議概述
Modbus協(xié)議是應(yīng)用于金屬管浮子流量計(jì)電子控制器上的一種通用協(xié)議。通過此協(xié)議,控制器相互之間控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其他設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控,減少了人力成本,提高了生產(chǎn)效率。
Modbus協(xié)議采用主從工作方式,允許一臺(tái)主機(jī)和多臺(tái)從機(jī)通信,每臺(tái)從機(jī)地址由用戶設(shè)定,地址范圍為1~255。通信采用命令,應(yīng)答方式,每一-種命:令幀都對(duì)應(yīng)一-個(gè)應(yīng)答幀。命令幀由主機(jī)發(fā)出,所有從機(jī)都將收到報(bào)文,但只有被尋址的從機(jī)才會(huì)響應(yīng)命令,返回相應(yīng)的應(yīng)答幀。如果命令幀中尋址地址為0,則視為全局廣播,所有從機(jī)把它當(dāng)一條命令執(zhí)行,不返回應(yīng)答幀。
2.Modbus網(wǎng)絡(luò)通訊傳輸模式
Modbus網(wǎng)絡(luò)通訊可以設(shè)置為兩種傳輸模式:ASCII模式或RTU(RenoteTeminalUnit)模式。筆者介紹的流量計(jì)采用的是RTU模式。RTU模式主要優(yōu)點(diǎn)是:在同樣的波特率下可比ASCII方式傳送更多的數(shù)據(jù)。
RTU模式中字節(jié)的格式如下:
編碼系統(tǒng):8位二進(jìn)制,十六進(jìn)制0-9,A-F。
數(shù)據(jù)位:1個(gè)起始位;8個(gè)數(shù)據(jù)位;奇/偶校驗(yàn)時(shí)1個(gè)停止位,無奇偶校驗(yàn)時(shí)2個(gè)停止位。
錯(cuò)誤校驗(yàn)區(qū):循環(huán)冗余校驗(yàn)(CRC)。
開始和終止都需要至少35個(gè)字符時(shí)間的停頓間隔。
3.Modbus功能碼
Modbus定義的功能代碼范圍為1~127,不同功能的設(shè)備往往只使用其中的一部分。在主機(jī)要求傳輸中,功能代碼告訴從機(jī)要執(zhí)行一一個(gè)什么動(dòng)作。在從機(jī)響應(yīng)傳輸中,如果從機(jī)發(fā)送的功能代碼與主機(jī)發(fā)送的功能代碼相同,則表明從機(jī)已執(zhí)行所要求的功能;如果不同則表明從機(jī)沒有執(zhí)行所要求的功能,返回了一個(gè)錯(cuò)誤信息。
金屬管浮子流量計(jì)設(shè)計(jì)在通訊過程中用03H(讀取內(nèi)部寄存內(nèi)容和10H(刷新多個(gè)寄存器內(nèi)容)兩個(gè)功能。 |