Modbus協(xié)議是由Modicon開(kāi)發(fā)的消息傳遞結(jié)構(gòu)。它用于在設(shè)備之間建立主從/客戶端 - 服務(wù)器通信。Modbus有很多協(xié)議選項(xiàng)。但最常用的兩種是Modbus RTU(遠(yuǎn)程終端單元),串口(RS232或RS485)協(xié)議或Modbus(TCP/IP)傳輸控制協(xié)議和Internet協(xié)議。這兩者有什么區(qū)別?雖然兩種協(xié)議相似,但成本和速度可以區(qū)分這兩種協(xié)議。
Modbus RTU模式是Modbus協(xié)議中最常見(jiàn)的實(shí)現(xiàn)方式,但Modbus TCP/IP正在逐步發(fā)展并準(zhǔn)備超越它。為了將Modbus推向21世紀(jì),1999年開(kāi)發(fā)了一種開(kāi)放式Modbus TCP/IP規(guī)范。Modbus是一種開(kāi)放的標(biāo)準(zhǔn),是工業(yè)制造環(huán)境中廣泛使用的網(wǎng)絡(luò)協(xié)議。這是數(shù)百家供應(yīng)商實(shí)施的通用鏈接,用于集成到數(shù)千種不同的制造設(shè)備上,以傳輸離散/模擬I/O并在控制設(shè)備之間注冊(cè)數(shù)據(jù)。Modbus通信始終由主節(jié)點(diǎn)啟動(dòng)到從節(jié)點(diǎn)。從節(jié)點(diǎn)在不接收來(lái)自主節(jié)點(diǎn)的請(qǐng)求也不會(huì)相互通信的情況下將永遠(yuǎn)不會(huì)發(fā)送數(shù)據(jù)。
線圈:在開(kāi)始00001,對(duì)應(yīng)于開(kāi)/關(guān)二進(jìn)制輸出,例如繼電器。
輸入位:開(kāi)始于10001,對(duì)應(yīng)于二進(jìn)制輸入(只讀)。
輸入寄存器:開(kāi)始于30001,對(duì)應(yīng)于模擬輸入(只讀)。
保持寄存器:開(kāi)始于40001,對(duì)應(yīng)于可以改變模擬參數(shù)。
相反,Modbus RTU模式是最常見(jiàn)的實(shí)現(xiàn)方式,使用二進(jìn)制編碼和CRC錯(cuò)誤檢查。RTU協(xié)議是一種有效的二進(jìn)制協(xié)議,其中消息中的每個(gè)8位字節(jié)包含兩個(gè)四位十六進(jìn)制字符。每條消息必須以連續(xù)的流方式傳輸。RTU模式下每個(gè)字節(jié)(11位)的格式為:編碼系統(tǒng):8位二進(jìn)制,每字節(jié)位數(shù):1個(gè)起始位,8個(gè)數(shù)據(jù)位,最低有效位先發(fā)送,1位用于奇偶校驗(yàn)完成,1個(gè)停止位。Modbus RTU數(shù)據(jù)包僅用于發(fā)送數(shù)據(jù); 它們不具備發(fā)送參數(shù)的能力,例如點(diǎn)名稱,分辨率,單位等。標(biāo)準(zhǔn)Modbus RTU節(jié)點(diǎn)地址為1-254,其中0表示為廣播消息而保留,只能寫(xiě)入。串口線路系統(tǒng)上的Modbus可能使用不同的物理接口(RS485,RS232)。TIA/EIA-485(RS485)雙線接口是最常見(jiàn)的。作為附加選項(xiàng),也可以實(shí)現(xiàn)RS485四線接口。不帶中繼器的RS485-Modbus 配置有一根中繼電纜,設(shè)備直接連接(菊花鏈)。干線電纜(也稱為“總線”)的長(zhǎng)度不同,但其兩端必須與線路終端連接。在幾個(gè)RS485-Modbus之間使用中繼器也是可能的。必須限制干線電纜的端到端長(zhǎng)度。最大長(zhǎng)度取決于波特率,電纜(儀表,電容或特性阻抗),菊花鏈上的負(fù)載數(shù)量以及網(wǎng)絡(luò)配置(2線或4線)。這種總線連接的典型電纜長(zhǎng)度可達(dá)1000米,典型波特率為9600 bps。良好的電纜選擇,至少22規(guī)格,
Modbus TCP/IP只是Modbus RTU協(xié)議,帶有在以太網(wǎng)上運(yùn)行的TCP接口。通過(guò)以太網(wǎng),可以將通用的,可擴(kuò)展的全球物理網(wǎng)絡(luò)(以太網(wǎng))與通用網(wǎng)絡(luò)標(biāo)準(zhǔn)(TCP / IP)和供應(yīng)商中立的數(shù)據(jù)表示Modbus相結(jié)合。該協(xié)議提供了一個(gè)真正開(kāi)放,可訪問(wèn)的網(wǎng)絡(luò),允許在設(shè)備之間交換二進(jìn)制數(shù)據(jù)塊。對(duì)于支持TCP / IP套接字的任何設(shè)備,可以很容易地實(shí)現(xiàn),每個(gè)設(shè)備都可以使用交換機(jī)和電纜。它與任何客戶可能擁有的已安裝的以太網(wǎng)基礎(chǔ)設(shè)施完全兼容。
以太網(wǎng)當(dāng)然要快得多,也更容易排除故障。但是,可能不希望將以太網(wǎng)用于Modbus通信。它可能太快了。TCP/IP是Internet的通用傳輸協(xié)議,是一組分層協(xié)議,在機(jī)器之間提供可靠的數(shù)據(jù)傳輸機(jī)制。以太網(wǎng)已成為許多系統(tǒng)的標(biāo)準(zhǔn),因此毫不奇怪它已成為工廠網(wǎng)絡(luò)的標(biāo)準(zhǔn)之一。由于以太網(wǎng)技術(shù)已經(jīng)存在多年,它已經(jīng)成熟到實(shí)現(xiàn)這種網(wǎng)絡(luò)解決方案的成本變得非常實(shí)惠的程度。
以太網(wǎng)設(shè)備將更快,但許多Modbus設(shè)備并不是完全需要速度。所有這些液位傳感器,溫度傳感器,流量計(jì)和其他變送器都不需要非??焖俚貓?bào)告數(shù)據(jù)。每隔幾秒就需要報(bào)告一次數(shù)據(jù)。吞吐量不是使用以太網(wǎng)RTU的好理由。Modbus RTU和Modbus TCP/IP之間最基本的區(qū)別在于Modbus TCP/IP在以太網(wǎng)物理層上運(yùn)行,而Modbus RTU是串行級(jí)協(xié)議。Modbus TCP/IP還使用6字節(jié)標(biāo)頭來(lái)允許路由。嘗試使RS485網(wǎng)絡(luò)正常工作可能會(huì)遇到很多問(wèn)題。與以太網(wǎng)設(shè)備相比,必須處理電線終端問(wèn)題,網(wǎng)絡(luò)終端問(wèn)題和更多配置問(wèn)題。但總體而言,你會(huì)通過(guò)Modbus TCP采用Modbus RTU設(shè)備嗎?Modbus TCP/IP只是Modbus RTU協(xié)議,帶有在以太網(wǎng)上運(yùn)行的TCP接口。因此,如果您想快速獲取數(shù)據(jù),并且想要進(jìn)把握21世紀(jì)前沿科技,那么Modbus網(wǎng)關(guān)就是您的選擇。