S7-1200與雷賽步進(jìn)驅(qū)動器的MODBUS通信應(yīng)用
肖菲
發(fā)布于2024-04-01 16:52
664
12
標(biāo)簽:PLC,西門子PLC,S7-1200,Modbus通信應(yīng)用
摘要:
西門子S7-1200 PLC系列由于其設(shè)計緊湊、成本低廉、穩(wěn)定性好且編程簡便,被中小型自動化系統(tǒng)中廣泛使用。而雷賽作為國產(chǎn)品牌中的佼佼者,其步進(jìn)驅(qū)動產(chǎn)品性價比高,而被廣泛使用。本文就介紹西門子S7-1200 PLC與雷賽步進(jìn)驅(qū)動器使用Modbus RTU通信的應(yīng)用。 (更多PLC課程免費看,點擊即可跳轉(zhuǎn))
關(guān)鍵詞:S7-1200;步進(jìn)驅(qū)動器;西門子;雷賽;Modbus RTU
一 硬件
序號
|
名稱
|
型號
|
1
|
PLC
|
1215c
|
2
|
通信模塊
|
CM 1241 RS422_485
|
3
|
步進(jìn)驅(qū)動器
|
DM2C RS522
|
4
|
步進(jìn)電機(jī)
|
57CM23
|
5
|
串口通信線
|
RJ45轉(zhuǎn)485串口
|
6
|
網(wǎng)線
|
6類網(wǎng)線
|
7
|
軟件
|
博圖V16
|
二 功能描述
S7-1200 PLC做Modbus主站,步進(jìn)驅(qū)動器做從站。PLC通過輪詢的方式讀取步進(jìn)驅(qū)動器的當(dāng)前位置,并能實現(xiàn)點動驅(qū)動器功能。
三 功能實現(xiàn)
步驟1 步進(jìn)驅(qū)動器參數(shù)設(shè)置
波特率:38400
奇偶校驗:None
數(shù)據(jù)位:8位
停止位:1
以上參數(shù)為默認(rèn),如需修改可查看相關(guān)手冊更改。
步驟2 組態(tài)Modbus RTU通信模塊
在硬件目錄里找到“通信模塊”→“點對點”→“CM1241(RS422/485)”,雙擊或拖拽此模塊至CPU左側(cè)即可,如下圖所示:
圖1 組態(tài)通信模塊
步驟3 啟用系統(tǒng)存儲器
在項目樹中選中PLC_1,左擊選擇“屬性”,在彈出窗口找到“系統(tǒng)和時鐘存儲器”,勾選啟用系統(tǒng)給存儲器字節(jié)。
圖2 啟用系統(tǒng)存儲器
步驟4 調(diào)用MB_COMM_LOAD指令
打開Main(OB1)組織塊,依次打開“指令”→“通信”→“通信處理器”→“Modbus” ,將MB_COMM_LOAD拖拽到程序段中,如圖所示:
圖3 調(diào)用MB_COMM_LOAD指令
在MB_COMM_LOAD指令中,觸發(fā)使用系統(tǒng)存儲器位FirstScan,在PLC啟動時打開端口。通信端口的硬件標(biāo)識選擇CM422/485模塊,波特率使用38400,奇偶校驗選擇0-無,背景數(shù)據(jù)塊使用MB_MASTER_DB。
步驟5 創(chuàng)建數(shù)據(jù)發(fā)送和接收緩存區(qū)
在項目樹中,依次選擇“添加新塊”→“DB數(shù)據(jù)塊”→“確定”,如圖所示:
圖4 添加DB數(shù)據(jù)塊
添加數(shù)據(jù)塊之后,需要去掉“優(yōu)化的塊訪問”選項,并添加數(shù)據(jù)發(fā)送和接收緩存區(qū),如圖所示:
圖5 去掉“優(yōu)化的塊訪問”
圖6 添加DATA_PTR收緩存區(qū)
步驟6 調(diào)用MB_MASTER指令
打開Main(OB1)組織塊,依次打開“指令”→“通信”→“通信處理器”→“Modbus” ,將MB_MASTER拖拽到程序段中,如圖所示:
圖7 調(diào)用MB_MASTER指令
在該指令中,MB_ADDR從站地址選擇1,MODE模式選擇0,DATA_ADDR起始地址40003,DATA_LEN數(shù)據(jù)長度為2,DATA_PTR數(shù)據(jù)指針為數(shù)據(jù)塊_1的Read_DATA。
由于西門子Modbus RTU通訊的特殊性,關(guān)于MODE、DATA_ADDR、DATA_LEN規(guī)定如下表所示:
步驟7 輪詢參數(shù)程序
由于Modbus RTU通訊本身的特性,在工業(yè)領(lǐng)域中我們使用輪詢的機(jī)制對Modbus從站進(jìn)行讀寫操作。具體如圖所示:
在這個輪詢的程序中,我們使用的是上一個參數(shù)的參數(shù)的完成或者是錯誤信號作為下一個的啟動信號,這種方式,需要我們提前確定好通訊的框架,對一個參數(shù)執(zhí)行類似的操作。當(dāng)我們最后一個參數(shù)讀寫完成,則返回第一步進(jìn)行循環(huán)操作。
值得注意的是程序中,我們程序中使用的參數(shù)和地址需要各位查看相關(guān)的手冊靈活使用。
四 總結(jié)
此程序是西門子S7-1200與雷賽DM2C步進(jìn)驅(qū)動器的Modbus RTU通訊的簡單案例,為1200 PLC與第三方設(shè)備的Modbus RTU通訊提供了一種方法,對于步進(jìn)/伺服驅(qū)動器、其它第三方儀表設(shè)備Modbus RTU通訊具有參考價值,對于多個從站的Modbus RTU通訊同樣具有參考意義。
由于篇幅有限和本人水平有限,難免有錯誤和遺漏的地方,本文僅供用作參考學(xué)習(xí)使用。