新聞中心
PRESS CENTER
在工業(yè)控制、電力通訊、智能儀表等領域,通常情況下是采用串口通信的方式進行數(shù)據(jù)交換。最初采用的方式是RS232接口,由于工業(yè)現(xiàn)場比較復雜,各種電氣設備會在環(huán)境中產(chǎn)生比較多的電磁干擾,會導致信號傳輸錯誤。
1979年施耐德電氣制定了一個用于工業(yè)現(xiàn)場的總線協(xié)議Modbus協(xié)議,現(xiàn)在工業(yè)中使用RS485通信場合很多都采用Modbus協(xié)議,所以今天我們來了解下RS485通信和Modbus通信協(xié)議。

在工業(yè)控制場合,RS485總線因其接口簡單,組網(wǎng)方便,傳輸距離遠等特點而得到廣泛應用。
RS485和RS232一樣都是基于串口的通訊接口,數(shù)據(jù)收發(fā)的操作是一致的,所以使用的是同樣WinCE的底層驅(qū)動程序。但是它們在實際應用中通訊模式卻有著很大的區(qū)別,RS485接口為半雙工數(shù)據(jù)通訊模式,而RS232接口為全雙工數(shù)據(jù)通訊模式,數(shù)據(jù)的收發(fā)不能同時進行,為了保證數(shù)據(jù)收發(fā)的不沖突,硬件上是通過方向切換來實現(xiàn)的,相應也要求軟件上必須將收發(fā)的過程嚴格地分開。
RS485接口組成的半雙工網(wǎng)絡,一般是兩線制(以前有四線制接法,只能實現(xiàn)點對點的通信方式,現(xiàn)很少采用),多采用屏蔽雙絞線傳輸。這種接線方式為總線式拓撲結(jié)構(gòu)在同一總線上最多可以掛接32個結(jié)點。在RS485通信網(wǎng)絡中一般采用的是主從通信方式,即一個主機帶多個從機。

RS485的特性:
Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。
ModBus網(wǎng)絡是一個工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括軟件。它可應用于各種數(shù)據(jù)采集和過程監(jiān)控。
ModBus特點:
MODBUS通訊傳送方式:
通訊傳送分為獨立的信息頭,和發(fā)送的編碼數(shù)據(jù)。以下的通訊傳送方式定義也與MODBUSRTU通訊規(guī)約相兼容:

初始結(jié)構(gòu)=≥4字節(jié)的時間
地址碼=1字節(jié)
功能碼=1字節(jié)
數(shù)據(jù)區(qū)=N字節(jié)
錯誤校檢=16位CRC碼
結(jié)束結(jié)構(gòu)=≥4字節(jié)的時間
地址碼:地址碼為通訊傳送的第一個字節(jié)。這個字節(jié)表明由用戶設定地址碼的從機將接收由主機發(fā)送來的信息。并且每個從機都有具有唯一的地址碼,并且響應回送均以各自的地址碼開始。主機發(fā)送的地址碼表明將發(fā)送到的從機地址,而從機發(fā)送的地址碼表明回送的從機地址。
功能碼:通訊傳送的第二個字節(jié)。ModBus通訊規(guī)約定義功能號為1到127。本儀表只利用其中的一部分功能碼。作為主機請求發(fā)送,通過功能碼告訴從機執(zhí)行什么動作。作為從機響應,從機發(fā)送的功能碼與從主機發(fā)送來的功能碼一樣,并表明從機已響應主機進行操作。如果從機發(fā)送的功能碼的最高位為1(比如功能碼大與此同時127),則表明從機沒有響應操作或發(fā)送出錯。
數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)是根據(jù)不同的功能碼而不同。數(shù)據(jù)區(qū)可以是實際數(shù)值、設置點、主機發(fā)送給從機或從機發(fā)送給主機的地址。
CRC碼:二字節(jié)的錯誤檢測碼。

RS485是一個物理接口,簡單的說是硬件。
MODBUS是一種國際標準的通訊協(xié)議,用于不同廠商之間的設備交換數(shù)據(jù)(一般是工業(yè)用途);所謂協(xié)議,也可以理解為上面有人說的“語言”吧,簡單的說是軟件。
一般情況下,兩臺設備通過MODBUS協(xié)議傳輸數(shù)據(jù):
最早是用RS232C作為硬件接口,(也就是普通電腦上的串行通訊口(串口)); 也有用RS422的,也有常用的RS485,這種接口傳輸距離遠,在一般工業(yè)現(xiàn)場用的比較多。
MODBUS協(xié)議又分MODBUS RTU,MODBUS ASCII和后來發(fā)展的MODBUS TCP三種模式:其中前兩種(MODBUS RTU,MODBUS ASCII)所用的物理硬件接口都是串行(Serial)通訊口(RS232,RS422,RS485)。
而MODBUS TCP則是為了順應當今世界發(fā)展潮流,什么都可以用Ethernet網(wǎng)或Internet來連接,傳送數(shù)據(jù)。所以又MODBUS TCP模式,該模式的硬件接口就是以太網(wǎng)(Ethernet)口了,也就是我們電腦上一般用的網(wǎng)絡口了。