Modbus RTU通信教程連載(1)-原理及網絡拓撲

Modbus RTU通信教程連載(1)-原理及網絡拓撲

本章我們先簡單介紹下Modbus的通信原理,然後介紹下例程中需要用的硬件及網絡的拓撲結構。

Modbus RTU是一種主從通信協議,其物理層採用RS485網絡。RS485的串行通信規程中規定應用數據單元(Application Data Unit,ADU)的最大長度為256個字節。在Modbus RTU協議中,從站地址佔用1個字節,校驗位佔用2個字節,因此協議數據單元PDU(Protocol Data Unit)的最大長度為256-1-2=253字節

Modbus RTU通信教程連載(1)-原理及網絡拓撲

在協議數據單元PDU中,功能代碼佔用1個字節,因此數據長度為0~252個字節。如下圖:

Modbus RTU通信教程連載(1)-原理及網絡拓撲

Modbus通信協議的PDU包括三種:

1)Modbus請求PDU(Modbus Request PDU);

2)Modbus應答PDU(Modbus Response PDU);

3)Modbus異常應答PDU(Modbus Exception Response PDU);

以功能代碼“0x01”為例,其請求PDU的格式如下表:

Modbus RTU通信教程連載(1)-原理及網絡拓撲

其應答PDU的格式如下表:

Modbus RTU通信教程連載(1)-原理及網絡拓撲


不同的功能碼其數據長度的單位不同。位(bits)操作的功能碼,其請求數據的長度以“位”為單位;字(WORD)操作的功能碼,其請求數據的長度以“字”為單位;

比如:功能碼0x01(讀取線圈),其請求數據(線圈數量)是以“位(bits)”為單位的;而功能碼0x03(讀取保持寄存器),其請求數據(保持寄存器)是以“字(WORD)”為單位的;

Modbus通信協議規定了不同的參數地址,與PLC的CPU地址有一種對應關係。以S7-200 Smart為例,Modbus參數地址與CPU的地址的對應關係見下面的表格:

Modbus RTU通信教程連載(1)-原理及網絡拓撲

本例程主站採用S7-1200的PLC,從站採用S7-200 Smart的PLC。

1、硬件配置

1.1 主站:

S7-1200 CPU1215C;

CM1241-RS485;

1.2 從站:

S7-200 Smart CPU ST40;

2、通信任務

2.1 Modbus主站讀取從站Modbus參數地址40001開始的10個字長的數據;

2.2 Modbus主站將6個字長的數據寫入到從站起始Modbus參數地址40011;

2.3 Modbus主站讀取從站Modbus參數地址10001開始的8個位的數據;

2.4 Modbus主站將8個位寫入到從站Modbus參數地址00001;

3、網絡連接

主站的CM1241-RS485模塊通過Profibus電纜連接到從站CPU ST40本體的RS485端口;為了監控和下載程序方便,可以用交換機將CPU ST40、CPU1215C和編程電腦PG/PC連接起來。整個網絡拓撲圖如下:

Modbus RTU通信教程連載(1)-原理及網絡拓撲


分享到:


相關文章: