2016年4月20日 星期三

學習筆記 MODBUS

MODBUS Application Protocol

Application Layer Messaging Protocol

是應用層的通訊協定,提供 Client/Server 通訊在兩個裝置或網路之間。一般用在 Serial Line 的傳輸上面,後來也有發展出 TCP/IP 的應用。

在1979年創立的標準,為 de facto 工業標準,常用在各種自動化設備之間的通訊。

MODBUS 是 Request/Reply Protocol ,答詢模式的協定,利用 Function Code 指定不同的行為。 Function Code 是組成 PDU的要素,用來建立架構進行 MODBUS 的 Transaction

MODBUS Communication Stack


Example of MODBUS Network Architecture

MODBUS 透過 Gateway 可用在不同網路間的連接,一對一的連接可以用 RS232,一對多用RS485,有多個 Client 可用 TCP/IP, Gateway 可用來做封包的轉送用來連接的不同類型的網路。

HMI:人機界面, PLC:邏輯控制器

 MODBUS Protocol Description

PDU( Protocol Data Unit)獨立於底層的通訊層,與傳遞的方式無關,PDU 被用來指定封包的功能和MODBUS SLAVE 的行為。

ADU( Application Data Unit)用來指定到不同的匯流排(buses)或網路,定址到某個 BUS上的指定的 Slave Address。

Address 的內容為一個 byte,定址的使用範圍從0到255,0為廣播位址(broadcast),1到127一般可用位址,128到255保留。通常 MODBUS Address 在裝置上事先分配好了,也可以由自己設定想要的 slave address。





MODBUS Slave device 

Delta(台達電子) 

在 MODBUS 網路上以Master/Slaver架構運作,除了Master裝置以外其餘的一個或多個設備皆為 Slave Device,也就是在MODBUS的網路上,只會允許一個Master裝置的存在,這是在spec終究規範好的,否則的話如果有兩個master同時發出request的訊號,會造成網路上的衝突,發生不可預期的反應。

PLC ( Programmable Logic Controller)
可程式邏輯控制器

PC可以用 RS232 或 RS485 與PLC相連進行設定和編程,預設通訊格式為 (ASCII, 9600, 7, E, 1),與PC相連時,PC 端為 Master 而 PLC 端為 Slave。

載入程式後,PLC透過設定好的程式,PLC 端主動或被觸發動作產生 MODBUS 的指令傳送給 BUS 上的某個 MODBUS Slave。


TC ( Temperature Controller)
溫度控制器

在 MODBUS 上作為 MODBUS Slave 的角色



沒有留言:

張貼留言