-
您的位置:
- 網(wǎng)站首頁(yè)
- > 物聯(lián)百科
- > 技術(shù)問(wèn)答
您的位置:

1、Modbus通信協(xié)議簡(jiǎn)介
Modbus是一種串行通信協(xié)議,由Modicon公司(現(xiàn)為施耐德電氣)于1979年發(fā)布,用于使用可編程邏輯控制器(PLC)進(jìn)行通信。Modbus已經(jīng)成為工業(yè)領(lǐng)域(事實(shí)上)通信協(xié)議的行業(yè)標(biāo)準(zhǔn),現(xiàn)在是工業(yè)電子設(shè)備之間的一種常見(jiàn)連接方式。通過(guò)該協(xié)議,控制器可以通過(guò)網(wǎng)絡(luò)(如以太網(wǎng))相互通信以及與其他設(shè)備通信。它已成為通用的工業(yè)標(biāo)準(zhǔn)。通過(guò)它,不同制造商生產(chǎn)的控制設(shè)備可以連接到工業(yè)網(wǎng)絡(luò)中進(jìn)行集中監(jiān)控。
該協(xié)議定義了控制器可以識(shí)別的消息結(jié)構(gòu),無(wú)論控制器通過(guò)什么網(wǎng)絡(luò)進(jìn)行通信。它描述了控制器請(qǐng)求訪問(wèn)其他設(shè)備的過(guò)程,如何響應(yīng)來(lái)自其他設(shè)備的請(qǐng)求,以及如何檢測(cè)和記錄錯(cuò)誤。它建立了消息域模式和內(nèi)容的通用格式。
當(dāng)在MODBUS網(wǎng)絡(luò)上通信時(shí),該協(xié)議確定每個(gè)控制器必須知道其設(shè)備地址,識(shí)別該地址發(fā)送的消息,并決定要生成的操作。如果需要響應(yīng),控制器將生成反饋消息,并使用Modbus協(xié)議發(fā)送。在其他網(wǎng)絡(luò)上,包含Modbus協(xié)議的消息被轉(zhuǎn)換為該網(wǎng)絡(luò)上使用的幀或數(shù)據(jù)包結(jié)構(gòu)。該轉(zhuǎn)換還擴(kuò)展了根據(jù)特定網(wǎng)絡(luò)求解節(jié)點(diǎn)地址、路由路徑和錯(cuò)誤檢測(cè)的方法。
Modbus協(xié)議是一種應(yīng)用層消息傳輸協(xié)議,包括ASCII、RTU和TCP。
標(biāo)準(zhǔn)Modbus協(xié)議物理層接口包括RS232、RS422、RS485和以太網(wǎng)接口,它們以主/從模式進(jìn)行通信。
該協(xié)議在通信線路上使用應(yīng)答連接(半雙工),這意味著信號(hào)在單獨(dú)的通信線路上以兩個(gè)相反的方向傳輸。首先,主機(jī)的信號(hào)被發(fā)送到終端設(shè)備(從機(jī)),然后終端設(shè)備向相反方向發(fā)送的響應(yīng)信號(hào)被發(fā)送到主機(jī)。該協(xié)議只允許主機(jī)與終端設(shè)備之間進(jìn)行數(shù)據(jù)交換,不允許獨(dú)立設(shè)備之間進(jìn)行數(shù)據(jù)交換,在初始化時(shí)不占用通信線路,只響應(yīng)到達(dá)本地機(jī)器的查詢信號(hào)。
1.1Modbus網(wǎng)絡(luò)上的傳輸
標(biāo)準(zhǔn)MODBUS端口使用RS-232C兼容串行接口,該接口定義連接端口的引腳、電纜、信號(hào)位、傳輸波特率和奇偶校驗(yàn)??刂破骺梢灾苯踊蛲ㄟ^(guò)調(diào)制解調(diào)器聯(lián)網(wǎng)。
控制器通信采用主從技術(shù),即只有一個(gè)設(shè)備(主設(shè)備)可以初始化傳輸(查詢),其他設(shè)備(從設(shè)備)根據(jù)主設(shè)備提供的數(shù)據(jù)做出相應(yīng)的響應(yīng)。典型主要設(shè)備:主機(jī)和可編程儀表。典型的從設(shè)備:可編程控制器
主設(shè)備可以單獨(dú)與從設(shè)備通信,也可以通過(guò)廣播與所有從設(shè)備通信。如果單獨(dú)通信,則從設(shè)備返回消息作為響應(yīng);如果查詢是廣播的,則不會(huì)做出響應(yīng)。Modbus協(xié)議建立主設(shè)備查詢的格式:
設(shè)備(或廣播)地址、功能代碼、要發(fā)送的所有數(shù)據(jù)、錯(cuò)誤檢測(cè)字段
從設(shè)備響應(yīng)消息也由Modbus協(xié)議組成,包括確認(rèn)要操作的域、要返回的任何數(shù)據(jù)和錯(cuò)誤檢測(cè)域。如果在消息接收期間發(fā)生錯(cuò)誤,或者從設(shè)備無(wú)法執(zhí)行其命令,則從設(shè)備將建立錯(cuò)誤消息并將其作為響應(yīng)發(fā)送。
1.2其他類型網(wǎng)絡(luò)上的傳輸
在其他網(wǎng)絡(luò)中,控制器使用對(duì)等技術(shù)進(jìn)行通信,因此任何控件最初都可以與其他控制器通信。這樣,在單獨(dú)的通信過(guò)程中,控制器可以用作主設(shè)備或從設(shè)備。提供多個(gè)內(nèi)部通道以允許同時(shí)傳輸過(guò)程。
在消息位中,Modbus協(xié)議仍然提供主從原則,盡管網(wǎng)絡(luò)通信方式為“對(duì)等”。如果控制器發(fā)送一條消息,它將充當(dāng)主控制器,并期望從控制器得到響應(yīng)。類似地,當(dāng)控制器接收到消息時(shí),它將建立從設(shè)備響應(yīng)格式并將其返回給發(fā)送控制器。
1.3查詢響應(yīng)周期
1-200519120U2301。巴布亞新幾內(nèi)亞
1.3.1查詢
查詢消息中的功能代碼通知所選從屬設(shè)備要執(zhí)行的功能。數(shù)據(jù)段包含關(guān)于從設(shè)備要執(zhí)行的功能的任何附加信息。例如,功能代碼03要求從設(shè)備讀取保持寄存器并返回其內(nèi)容。數(shù)據(jù)段必須包含告知從設(shè)備的信息:從哪個(gè)寄存器讀取以及要讀取的寄存器數(shù)量。錯(cuò)誤檢查代碼為從屬設(shè)備提供了驗(yàn)證消息內(nèi)容是否正確的方法。
1.3.2答復(fù)
如果設(shè)備生成正常響應(yīng),則響應(yīng)消息中的功能代碼是查詢消息中功能代碼的響應(yīng)。數(shù)據(jù)段包含從設(shè)備收集的數(shù)據(jù),如寄存器值或狀態(tài)。如果發(fā)生錯(cuò)誤,將修改功能代碼以指示響應(yīng)消息為錯(cuò)誤,并且數(shù)據(jù)段包含描述錯(cuò)誤消息的代碼。錯(cuò)誤檢查代碼允許主機(jī)確認(rèn)消息內(nèi)容是否可用。
2、兩種傳輸模式
控制器可設(shè)置為兩種傳輸模式(ASCII或RTU)中的任何一種,以便在標(biāo)準(zhǔn)MODBUS網(wǎng)絡(luò)上進(jìn)行通信。用戶選擇所需模式,包括串行端口通信參數(shù)(波特率、驗(yàn)證模式等)。配置每個(gè)控制器時(shí),MODBUS網(wǎng)絡(luò)上的所有設(shè)備必須選擇相同的傳輸模式和串行端口參數(shù)。
文字模式
RTU模式
所選ASCII或RTU模式僅適用于標(biāo)準(zhǔn)MODBUS網(wǎng)絡(luò)。它定義在這些網(wǎng)絡(luò)上連續(xù)傳輸?shù)南⒍蔚拿恳晃?,并確定如何將信息打包到消息域中以及如何解碼。在其他網(wǎng)絡(luò)(如map和ModbusPlus)上,Modbus消息被轉(zhuǎn)換為獨(dú)立于串行傳輸?shù)膸?/p>
2.1ASCII模式
當(dāng)控制器設(shè)置為在Modbus網(wǎng)絡(luò)上以ASCII(美國(guó)標(biāo)準(zhǔn)信息交換代碼)模式通信時(shí),消息中的每個(gè)8位字節(jié)將作為兩個(gè)ASCII字符發(fā)送。這種方法的主要優(yōu)點(diǎn)是字符傳輸?shù)臅r(shí)間間隔可以達(dá)到1秒而沒(méi)有錯(cuò)誤。
2.1.1編碼系統(tǒng)
十六進(jìn)制,ASCII字符09,A。。F
消息中的每個(gè)ASCII字符由一個(gè)十六進(jìn)制字符組成
2.1.2位/字節(jié)
起始位1
7個(gè)數(shù)據(jù)位,首先發(fā)送最小有效位
1奇偶校驗(yàn)位,無(wú)奇偶校驗(yàn)
1位停止位(帶驗(yàn)證),2位停止位(不帶驗(yàn)證)
2.1.3錯(cuò)誤檢測(cè)域
LRC(縱向檢測(cè))
2.2RTU模式
當(dāng)控制器設(shè)置為在Modbus網(wǎng)絡(luò)上以RTU(遠(yuǎn)程終端裝置)模式通信時(shí),消息中的每個(gè)8位字節(jié)包含兩個(gè)4位十六進(jìn)制字符。這種方法的主要優(yōu)點(diǎn)是,在相同的波特率下,它可以傳輸比ASCII模式更多的數(shù)據(jù)。
2.2.1編碼系統(tǒng)
8位二進(jìn)制,十六進(jìn)制數(shù)字0.9,A。。F
消息中的每個(gè)8位字段由兩個(gè)十六進(jìn)制字符組成
2.2.2位/字節(jié)
起始位1
8個(gè)數(shù)據(jù)位,首先發(fā)送最小有效位
1奇偶校驗(yàn)位,無(wú)奇偶校驗(yàn)
1位停止位(帶驗(yàn)證),2位停止位(不帶驗(yàn)證)
2.2.3錯(cuò)誤檢測(cè)域
循環(huán)冗余檢測(cè)(CRC)