Modbus RTU通信教程連載(4)-從站的配置及編程
前面的文章我們介紹了Modbus RTU通信中主站S7-1200的配置和編程,今天這篇文章,我們來介紹從站S7-200 Smart的配置及編程。

本例程從站使用S7-200 Smart的CPU ST40,通信端口使用CPU模塊本體的RS485接口,modbus地址為2。
打開編程軟件STEP 7-Micro/WIN SMART,在指令庫中找到文件夾“Modbus_RTU_Slave”,里面有兩個(gè)指令:MBUS_INIT和MBUS_SLAVE,如下圖:

指令I(lǐng)NIT用來初始化從站的地址、通信的波特率、存儲(chǔ)器地址等相關(guān)信息。選中該指令將其拖放到主程序MAIN中,如下圖:

該指令的相關(guān)參數(shù)含義見下面的表格:

注意:
1)MaxIQ用于設(shè)置modbus參數(shù)地址0xxxx與1xxxx對應(yīng)的PLC的輸出Q與輸入I的地址,在S7-200 Smart中,最大可設(shè)置為256(不同類型的PLC該值不同)。當(dāng)設(shè)置為0時(shí),將禁用輸入及輸出的讀寫操作;
2)MaxAI用于設(shè)置modbus參數(shù)地址3xxxx對應(yīng)的PLC的字輸入寄存器的地址,也就是模擬量輸入(AI)的地址。對于S7-200 Smart緊湊型CPU(CR20s、CR30s、CR40s、CR60s)而言,建議設(shè)置為0;其它標(biāo)準(zhǔn)型CPU,建議設(shè)置為56;
3)MaxHold用于設(shè)置modbus地址4xxxx或4yyyyy對應(yīng)的PLC的保持存儲(chǔ)區(qū)的大小,以字為單位。例如,如果要允許modbus主站訪問2000個(gè)字節(jié)的從站V存儲(chǔ)區(qū),則MaxHold應(yīng)設(shè)置為1000;
4)MBUS_INIT僅在CPU啟動(dòng)后的第一個(gè)掃描周期執(zhí)行一次即可;如果更改通信參數(shù),則重新再執(zhí)行一次;
MBUS_INIT指令的完整代碼如下圖:

接下來我們將MBUS_SLAVE指令添加到主程序塊中,并設(shè)置其參數(shù)如下圖:

調(diào)用STEP 7 - Mciro/WIN SMART Instruction Library(指令庫)需要分配庫指令數(shù)據(jù)區(qū)(Library Memory)。庫指令數(shù)據(jù)區(qū)是相應(yīng)庫的子程序和中斷程序所要用到的變量存儲(chǔ)空間。
MBUS_SLAVE指令庫需要一個(gè)781個(gè)字節(jié)的全局 V 存儲(chǔ)區(qū)。 分配方法如下:
右鍵單擊“程序塊”,在彈出的菜單中單擊“庫存儲(chǔ)器”,如下圖:

在彈出的庫存儲(chǔ)器分配對話框中,選擇“Modbus RTU Slave”,如下圖:

點(diǎn)擊“建議地址”,系統(tǒng)會(huì)自動(dòng)分配可用的V存儲(chǔ)區(qū)作為庫存儲(chǔ)區(qū)。
好了,關(guān)于Modbus RTU通信的最后一步也介紹完了
相關(guān)參考文章:
Modbus RTU通信教程連載(1)-原理及網(wǎng)絡(luò)拓?fù)?/p>
Modbus RTU通信教程連載(2)-主站的配置
Modbus RTU通信教程連載(3)-主站的編程
小程序【李工談工控】提供方便的文章檢索功能,歡迎體驗(yàn):
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計(jì)算焓和比熱容 2020-08-31
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
