產(chǎn)地類別 | 進(jìn)口 |
---|
產(chǎn)品簡介
詳細(xì)介紹
西門子S7-1200 PLC系列由于其設(shè)計(jì)緊湊、成本低廉、穩(wěn)定性好且編程簡便,被中小型自動化系統(tǒng)中廣泛使用。而雷賽作為國產(chǎn)品牌中的西門子PLC CPU S7-300模塊西門子PLC CPU S7-300模塊,其步進(jìn)驅(qū)動產(chǎn)品性價(jià)比高,而被廣泛使用。本文就介紹西門子S7-1200 PLC與雷賽步進(jìn)驅(qū)動器使用Modbus RTU通信的應(yīng)用。
關(guān)鍵詞:S7-1200;步進(jìn)驅(qū)動器;西門子;雷賽;Modbus RTU
一 硬件


二 功能描述
S7-1200 PLC做Modbus主站,步進(jìn)驅(qū)動器做從站。PLC通過輪詢的方式讀取步進(jìn)驅(qū)動器的當(dāng)前位置,并能實(shí)現(xiàn)點(diǎn)動驅(qū)動器功能。
三 功能實(shí)現(xiàn)
步驟1 步進(jìn)驅(qū)動器參數(shù)設(shè)置
波特率:38400
奇偶校驗(yàn):None
數(shù)據(jù)位:8位
停止位:1
以上參數(shù)為默認(rèn),如需修改可查看相關(guān)手冊更改。
步驟2 組態(tài)Modbus RTU通信模塊
在硬件目錄里找到“通信模塊"→“點(diǎn)對點(diǎn)"→“CM1241(RS422/485)",雙擊或拖拽此模塊至CPU左側(cè)即可,如下圖所示:

圖1 組態(tài)通信模塊
步驟3 啟用系統(tǒng)存儲器
在項(xiàng)目樹中選中PLC_1,左擊選擇“屬性",在彈出窗口找到“系統(tǒng)和時(shí)鐘存儲器",勾選啟用系統(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啟動時(shí)打開端口。通信端口的硬件標(biāo)識選擇CM422/485模塊,波特率使用38400,奇偶校驗(yàn)選擇0-無,背景數(shù)據(jù)塊使用MB_MASTER_DB。
步驟5 創(chuàng)建數(shù)據(jù)發(fā)送和接收緩存區(qū)
在項(xiàng)目樹中,依次選擇“添加新塊"→“DB數(shù)據(jù)塊"→“確定",如圖所示:

圖4 添加DB數(shù)據(jù)塊
添加數(shù)據(jù)塊之后,需要去掉“優(yōu)化的塊訪問"選項(xiàng),并添加數(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)行讀寫操作。具體如圖所示:








在這個(gè)輪詢的程序中,我們使用的是上一個(gè)參數(shù)的參數(shù)的完成或者是錯(cuò)誤信號作為下一個(gè)的啟動信號,這種方式,需要我們提前確定好通訊的框架,對一個(gè)參數(shù)執(zhí)行類似的操作。當(dāng)我們最后一個(gè)參數(shù)讀寫完成,則返回第一步進(jìn)行循環(huán)操作。