modbustcp通訊協議是以太網協議嗎?
98彩票ModBus是一種請求-應答協議,它采用了一個主從式的實現。在主仆關系中,交流通常是兩兩進行的。裝置必須開始一個請求,并且等待一個響應,開始裝置(主要裝置)負責每一個相互作用的開始。一般情況下,主機是 HMI (Human Interface, HMI)或者 SCADA (Control and Data Digital Automatic Control, SCADA),從機是 PLC (Programmable Logic Control, PLC)或者 PAC (Programmable Automatic Control, PAC)。在不同的協議層中,要求與應答的內容與傳送信息的網路層。
ModBus通訊協定是一種包含 RTU, ASCII, TCP的應用層報文傳送協定。標準模塊總線協議的物理層接口有RS232,RS485, Ethernet等。
98彩票模塊化的 RTU和 ASCII模塊都采用了串口方式。其中,以二進制為代表的 ModbusRTU具有數據結構緊湊、通訊高效等優點,因而得到了廣泛的應用。ModbusASCII通過 ASCII代碼進行傳送,并且在字節的開頭和結尾都有特定的字符。它的傳輸效率比 ModbusRTU要低得多。ModBusTCP是一種 ModBus通訊,它在工業以太網路上的 TCP/IP網路上傳送。ModBus資料傳送為客戶機與以太網 TCP/IP網路相連的伺服器提供了一種即時通訊。
2.Modbus協議層
98彩票在原方案中, MODBUS是一種以串口為基礎的單一通信協議,無法進行分層。在此過程中,為了改變串行通訊所采用的報文格式,以及支持 TCP/IP與 UDP (User Datapacitation Protocol, UDP)等多種應用。這使得核心協議(digital protocol data, PDU)與網絡層(application data unit, ADU)相分離。
ModBus 協議是一種與基礎通訊層無關的簡易協議數據單位(PDU).通過具體的總線或者網絡的 ModBus協議圖可以將一些額外的領域引入到應用數據單位(Application Data Unit, ADU)上。
98彩票協議數據單元(PDU)
PDU和它的處理程序組成了 ModBus應用程序協議的核心.在此基礎上,給出了協議數據單元的格式,協議中所用到的數據概念,如何使用函數碼來存取數據,并給出了函數碼的實現方法和約束條件。modbusPDU格式是指函數編碼,后面是一套相應的數據。資料的尺寸及內容是以函數碼來規定的,并且所有的 PDU (函數碼及資料)的尺寸不得大于253個字節。每一種函數編碼都有一種具體的動作,這些動作可以通過從機來靈活地執行。
一般而言, MODBUS所能存取的資料儲存在四種資料庫中的一種:線圈狀態,分立輸入,保持寄存器,以及輸入寄存器。這些資料庫會定義所包含之資料的型別與存取。由于該裝置在本機存放,因此可以從該裝置直接存取該資料。取而代之的是, ModBus的宿主需要使用不同的函數代碼來存取這個數據。每一個模塊的表現如表1所示。
應用數據單元(ADU)
98彩票許多網絡協議都是可用的,而不只是 PDU內核所定義的那些功能。最常用的通訊協定是串口通訊、 TCP/IP通訊協定,但是其它通訊協定,例如 UDP,也可以被使用。為了在 MODBUS的各個層次間進行資料的傳送, MODBUS含有一套適合每一網路協定的 ADU。
98彩票Adu有三個標準格式,即 TCP,遠程終端單元(Telecommunicational-terminal unit, RTU)和 ASCII。傳統的串行線一般采用 RTU、 ASCIIAdu等,傳統的 TCP/IP、 UDP/IP等都采用了 TCP。
3.Modbus數據幀結構
98彩票3.1ModbusRTU數據幀結構
ModbusRTU協議在主機查詢中放置從裝置(或廣播)地址,定義所請求的動作的函數代碼,待發送的數據,以及 CRC確認,從而建立一個查詢信息;從機的應答信息包同樣使用了 ModbusRTU的信息結構,其中包含了從機的地址,請求操作的函數代碼,待發送的數據,以及 CRC檢驗;如果收到訊息時出現了一個錯誤,或是從機不能完成要求的動作,那么從機就會發出一個例外訊息來回應。ModbusRTU的數據框架是這樣的:
modbus RTU通訊協議
98彩票ModbusRTU因其二進制表達方式、數據結構緊湊、通訊效率高而被廣泛采用。
通訊傳送模式:
通訊傳送被分成兩部分,分別是單獨的報頭和已編碼的資料傳送。還符合 ModbusRTU通訊協議的下列通訊傳送模式定義:二位元組檢錯碼。
通訊規約
將通訊指令發送給儀表后,與對應的通訊指令一致的儀表接受通訊指令,刪除通訊指令,讀出資訊,若無差錯,儀表完成工作;然后向發送者返回執行結果。其中包含了地址碼,操作函數碼,操作后的結果資料,以及錯誤校驗碼。如果出錯,就沒有信息被發送。
位址代碼
位址代碼是訊息框架從0至255的第壹個字節(8比特)。這個位元組代表了使用者設定位址的從機,會從主機上接收到其所傳送的資訊。每臺從機都必須擁有唯壹的位址編碼,而唯有符合位址編碼的從機,才可以回應回路。在從屬設備發送回來的信息中,一個等價的地址碼表明了該信息的來源。
函數碼
由主設備發出的函數碼,告知從設備將執行哪些工作。函數代碼列在表4中,它們有具體的意義,也有具體的動作。
重置單片機
向單一寄存器中寫入已設定的貳進制值
數據區
數據區中含有來自內部的返回信息,或者是來自內部的操作,或者是來自內部的。這個資訊可以是數字,參考位址等等。舉例來說,若函數程式碼指示從屬程式讀出該寄存器值,資料區段就必須包含該寄存器所要讀出的開始位址及讀出的長度。地址和數據信息因從機而異。
差錯校驗碼
98彩票主從機可以通過校驗碼來確定所收到的消息是否有差錯。在傳遞的過程中,可能會受到電子噪音等因素的影響而產生細微的變化。錯誤校正碼保證了主機和從機在傳送時不會出現錯誤。這使得整個系統更加安全,更加高效。利用CRC-16進行了誤差檢驗。
注意:所有的信息框架都采用同樣的格式:地址代碼,功能代碼,數據區域,錯誤檢測代碼。
與其它通訊協議相比, MODBUS的應用更為廣泛,其主要理由有:
1) ModBus能夠支持工業水利遙測終端機RTU支持的RS-23285 (串行)等許多電子接口,并且能夠通過雙絞線,光纖,無線等不同的媒體進行通信。
98彩票2)模總線框架結構簡潔,容易理解,便于研制。
3)具有良好的可靠性。ModBus協議要求對數據進行檢查。在 ASCII方式和 RTU方式分別采用了 LRC和16比特的 CRC兩種方式。另外, MODBUS系統還采用了主從式的定時收發方式。在實際應用中,若從站發生故障、停電等情況,則由主端來判斷是否發生故障,并在故障排除后,再由主端自動恢復。