Modbus RTU通信教程連載(1)-原理及網(wǎng)絡(luò)拓?fù)?/h1>
時(shí)間:2020-09-28
來源:方正智芯
瀏覽:
在易維通的匠說上有網(wǎng)友留言S7-1200與S7-200的Modbus通信問題,我做了簡(jiǎn)單的回答。由于通信涉及很多方面,回答者只能根據(jù)提問者反饋的情況,猜測(cè)可能的問題原因。而當(dāng)通信出現(xiàn)故障時(shí),不同的情況遇到的問題可能不一樣,無法一概而論。因此,我想最好的辦法是做一個(gè)通信連載的教程,把整個(gè)流程梳理一遍。當(dāng)你有了基本概念,再根據(jù)自己的實(shí)際情況,有針對(duì)性的查找原因會(huì)更簡(jiǎn)單些。

本章我們先簡(jiǎn)單介紹下Modbus的通信原理,然后介紹下例程中需要用的硬件及網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
Modbus RTU是一種主從通信協(xié)議,其物理層采用RS485網(wǎng)絡(luò)。RS485的串行通信規(guī)程中規(guī)定應(yīng)用數(shù)據(jù)單元(Application Data Unit,ADU)的最大長(zhǎng)度為256個(gè)字節(jié)。在Modbus RTU協(xié)議中,從站地址占用1個(gè)字節(jié),校驗(yàn)位占用2個(gè)字節(jié),因此協(xié)議數(shù)據(jù)單元PDU(Protocol Data Unit)的最大長(zhǎng)度為256-1-2=253字節(jié)。

在協(xié)議數(shù)據(jù)單元PDU中,功能代碼占用1個(gè)字節(jié),因此數(shù)據(jù)長(zhǎng)度為0~252個(gè)字節(jié)。如下圖:

Modbus通信協(xié)議的PDU包括三種:
1)Modbus請(qǐng)求PDU(Modbus Request PDU);
2)Modbus應(yīng)答PDU(Modbus Response PDU);
3)Modbus異常應(yīng)答PDU(Modbus Exception Response PDU);
以功能代碼“0x01”為例,其請(qǐng)求PDU的格式如下表:

其應(yīng)答PDU的格式如下表:

不同的功能碼其數(shù)據(jù)長(zhǎng)度的單位不同。位(bits)操作的功能碼,其請(qǐng)求數(shù)據(jù)的長(zhǎng)度以“位”為單位;字(WORD)操作的功能碼,其請(qǐng)求數(shù)據(jù)的長(zhǎng)度以“字”為單位;
比如:功能碼0x01(讀取線圈),其請(qǐng)求數(shù)據(jù)(線圈數(shù)量)是以“位(bits)”為單位的;而功能碼0x03(讀取保持寄存器),其請(qǐng)求數(shù)據(jù)(保持寄存器)是以“字(WORD)”為單位的;
Modbus通信協(xié)議規(guī)定了不同的參數(shù)地址,與PLC的CPU地址有一種對(duì)應(yīng)關(guān)系。以S7-200 Smart為例,Modbus參數(shù)地址與CPU的地址的對(duì)應(yīng)關(guān)系見下面的表格:

本例程主站采用S7-1200的PLC,從站采用S7-200 Smart的PLC。
1、硬件配置:
1.1 主站:
S7-1200 CPU1215C;
CM1241-RS485;
1.2 從站:
S7-200 Smart CPU ST40;
2、通信任務(wù):
2.1 Modbus主站讀取從站Modbus參數(shù)地址40001開始的10個(gè)字長(zhǎng)的數(shù)據(jù);
2.2 Modbus主站將6個(gè)字長(zhǎng)的數(shù)據(jù)寫入到從站起始Modbus參數(shù)地址40011;
2.3 Modbus主站讀取從站Modbus參數(shù)地址10001開始的8個(gè)位的數(shù)據(jù);
2.4 Modbus主站將8個(gè)位寫入到從站Modbus參數(shù)地址00001;
3、網(wǎng)絡(luò)連接:
主站的CM1241-RS485模塊通過Profibus電纜連接到從站CPU ST40本體的RS485端口;為了監(jiān)控和下載程序方便,可以用交換機(jī)將CPU ST40、CPU1215C和編程電腦PG/PC連接起來。整個(gè)網(wǎng)絡(luò)拓?fù)鋱D如下:

關(guān)于Modbus的通信原理及本例程的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)就介紹到這里,下一篇文章我們介紹Modbus主站CPU1215C的配置。
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計(jì)算焓和比熱容 2020-08-31
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
