Modbus RTU通訊淺談Modbus RTU通訊淺談
在現(xiàn)代化高度集成工業(yè)中,經(jīng)常用到PLC和PLC之間的通訊,常見的通訊modbus,profibus DP,profinet ,CANOPEN等等通訊,今天我們以西門子TIA博途平臺講解兩臺PLC如何做Modbus RTU通訊。
在做通訊前,我們必須滿足以下軟硬件要求:
1.)一臺裝有TIA V16博途軟件電腦;
2.)兩臺西門子系列PLC,必須滿足博途V16版本使用;
3.)一個DP9針公頭(1200端使用),一個DP15針公頭(1500
端使用)及一條兩芯帶屏蔽線(規(guī)格0.5平方的);
4.)今天實驗的通訊模塊型號規(guī)格如下:
CM1241RS422/485 訂貨號:6ES7 241-1CH320XB0;
CMPtP RS422/485HF 訂貨號:6ES7 541-1AB00-0AB0;
下面圖片展示今天所需要的通訊模塊及DP頭;
1200端通訊模塊
1500端通訊模塊
1200端DP9針公頭
1500端DB15針公頭
1200和1500 modbus連線:
1200 PLC端 1500PLC端
3+ 11+
8- 4-
組態(tài)主站(1200端):
1.)建立一個項目,并添加CPU和RS485模塊如下圖所示:
2.)硬件我們添加完畢,這里設(shè)置CM1241-R485模塊參數(shù):
3.)建立一個供1200PLC端(主站)存儲數(shù)據(jù)的DB塊:
修改DB塊“優(yōu)化進行訪問”。
4.)建立需要的數(shù)據(jù):
5.)添加一個FC函數(shù)塊:
6.)我們把程序?qū)懙紽B程序段里面,設(shè)置Modbus_Comm_Load管腳參數(shù):
7.)因為Modbus_Comm_Load塊默認工作模式時RS232,我們這里需要修改成RS485模式,修改有兩種方式,第一種是Modbus_Comm_Load背景DB塊里面修改“MODE”參數(shù)由16#00修改成16#04,如下圖所示:
第二種是利用“move”指令傳遞一個4給到Modbus_Comm_Load_MODE里,如下圖所示:
設(shè)置Modbus_Mastr功能塊管腳參數(shù):
8.)測試程序:
寫入從站1500Q區(qū):
讀取從站1500Q區(qū):
編寫完成主站程序,接著組態(tài)從站PLC
10.)建立一個項目,并添加CPU和通訊模塊等如下圖所示:
11.)設(shè)置PtP-RS422/485通訊模塊參數(shù)如下圖所示:
12.添加一個全局數(shù)據(jù)背景DB塊:
13.)建立存儲數(shù)據(jù):
14.)我們開始寫入程序,給FB程序段添加一個“Modbus_comm_Load”通信初始化指令塊,并設(shè)置相應(yīng)的管腳參數(shù):
由于Modbus_comm_Load”功能塊默認是RS232,而我們啟用RS485,所以的修改。第一種是直接修改 Modbus_comm_Load如下圖所示:
第二種和前面講修改1200通信數(shù)據(jù)塊的方法一致如下圖:
15,添加從站指令塊:
16.測試程序:
主站1200寫入從站1500的Q0.0,Q0.1;
從站1500寫入主站1200的Q0.2,Q0.3, Q0.4;
監(jiān)控程序:
以上文章簡單的介紹西門子1200PLC和西門子1500PLC的ModbusRTU通訊,經(jīng)過真機測試,讀寫正確。由于時間倉促和自己水平有限,難免文章種介紹不清楚甚至錯誤,望大神提出寶貴意見或建議,小的在此感謝了!
審核編輯:湯梓紅
-
plc
+關(guān)注
關(guān)注
5001文章
12935瀏覽量
459179 -
西門子
+關(guān)注
關(guān)注
93文章
2958瀏覽量
114808 -
通訊
+關(guān)注
關(guān)注
9文章
875瀏覽量
34667 -
Profinet
+關(guān)注
關(guān)注
6文章
1000瀏覽量
23164 -
modbusRTU
+關(guān)注
關(guān)注
0文章
39瀏覽量
8317
原文標題:西門子PLC 1200和1500的ModbusRTU通訊測試、讀寫
文章出處:【微信號:電子技術(shù)控,微信公眾號:電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論