西門子串口通訊04-CP341在TIA博途環境中做Modbus主站通訊

西門子串口通訊-CP341在TIA博途環境中做Modbus主站通訊

1.準備工作
應用CP341進行MODBUS協議通信時需要有Dongle的支持。在使用之前先將Dongle安裝在CP341模塊的背面的Dongle插槽中,Dongle和插入Dongle前後的CP341如下圖所示。
在這裏插入圖片描述
圖1

2 組態和配置

1、打開軟件TIA PORTAL STEP7 V13,點擊項目->新建…創建一新項目,項目名稱爲341_modbus_Master。

在這裏插入圖片描述

圖2

2、用鼠標點擊“添加新設備”,選擇SIMATIC S7-300->CPU->CPU 319-3PN/DP->6ES7 318-3EL00-0AB0。

在這裏插入圖片描述

圖3

3、雙擊“設備組態”進入硬件組態界面,導軌RACK和CPU 319-3PN/DP已經存在,只需要插入PS307和CP341。

在這裏插入圖片描述

圖4

4、雙擊CP341模板,進入CP341的屬性框,配置CP341參數。在這裏插入圖片描述

圖5

5、在“協議”選項中選擇“Modbus主站”。配置modbus通信參數,設定的通信參數要和通訊夥伴的相同。傳輸率(通信波特率):9600bps,數據位:8位,停止位:1位,奇偶校驗:無。

在這裏插入圖片描述

圖6

6、本示例選用的是RS422/485接口的CP341,還需要設置接口屬性,如下圖所示。
在這裏插入圖片描述
圖7

3 編寫通信程序

1、雙擊“添加新塊”,創建發送數據塊DB10和接收數據塊DB11,發送數據塊的名稱爲Send,接收數據塊的名稱爲Rev;如下圖所示,發送數據塊中新建幾個變量,從站地址爲2,功能碼爲3,起始地址爲0,讀4個寄存器數據,具體功能碼3 的使用參見手冊“S7串行通信模板Modbus RTU主站可裝載驅動的操作說明” 6.3章節的說明;如下圖所示,接受數據塊中新建1個數據類型Array的變量,數組元素的數據類型爲Byte,數量爲400。
在這裏插入圖片描述
圖8
在這裏插入圖片描述
圖9

2、進入主程序OB1,從通信->通信處理器->PtP鏈接:CP341,調用發送功能塊P_SND_RK和接收功能塊P_RCV_RK。P_SND_RK的背景數據塊爲DB1,P_RCV_RK的背景數據塊爲DB2。
在這裏插入圖片描述
圖10

CP341的發送功能塊P_SND_RK 的參數設置見下表。
SF
‘S’爲發送,此處必須爲大寫的‘S’
LADDR
硬件組態中的起始邏輯地址,本例中爲256,見圖11。
REQ
發送數據觸發位,上升沿觸發,本例中爲M0.5,爲時鐘存儲器的位,見圖12。
DB_NO
發送數據塊號,本例中爲10(DB10)
DBB_NO
發送數據的起始地址,本例中爲0(DB10.DBB0)
LEN
發送數據的長度,本例中爲6
R_TYP
‘X’爲擴展的數據塊,此處必須爲大寫的‘X’
R
取消通訊,本例中不用
DONE
發送完成位,發送完成後爲TRUE,同時沒有錯誤
ERROR
錯誤位,爲TRUE說明有錯誤
STATUS
狀態字,標識錯誤代碼,查看Modbus
Master手冊獲得相應的說明
其它參數
本例中不用
CP341的接收功能塊P_RCV_RK 的參數設置見下表。
DDR
組態中的起始邏輯地址,本例中爲256,見圖11。
DB_NO
發送數據塊號,本例中爲11(DB11)。
DBB_NO
發送數據的起始地址,本例中爲0(DB11.DBB0)。
LEN
接收數據的長度,本例中爲MW22,只顯示一個掃描週期,即:只有在接收到數據的當前週期,此值不爲0。
EN_R
使能接收位,本例中爲M20.0,常閉點,
始終保持接收狀態。
R
取消通訊,本例中不用。
NDR
接收完成位,接收完成並沒有錯誤爲TRUE,只顯示一個掃描週期。
ERROR
錯誤位,爲TRUE說明有錯誤,只顯示一個掃描週期。
TATUS
狀態字,標識錯誤代碼,只顯示一個掃描週期,查看Modbus Master手冊獲得相應的說明。
其它參數
本例中不用
在這裏插入圖片描述
圖11
在這裏插入圖片描述
圖12

4 設備連接

本文檔使用的CP341的接口是RS232C,因此需要通過標準的RS232C電纜來連接CP341和計算機的串口,具體的電纜連接方法請查看CP341手冊B章節連接電纜部分(見:手冊、文檔和軟件鏈接部分)。

如果使用的CP341是RS485接口的模塊,需要使用RS232C/RS485轉換器。

5 通信測試

前面使用 TIA Step7 軟件已經將通信CP341的通信工作做完,下面進行通信測試。這裏使用串口通訊測試軟件ModSim32軟件來測試CP341和計算機的通信,步驟如下

1、雙擊ModSim32軟件圖標,新建項目,點擊Port1,進入端口1做設置,本例計算機只有一個端口,所以就對端口1做設置,如果計算機有多個端口,要注意所選端口。
在這裏插入圖片描述
圖13

2、進入Port1設置界面,設置波特率、數據位、奇偶校驗等參數,要和CP341的參數相同。
在這裏插入圖片描述
圖14

3、點擊“OK”,選擇軟件的03功能碼界面,本例設置03功能碼的10個數據,其中前4個數據分別設置成1—4。
在這裏插入圖片描述
圖15

4、首先將硬件配置和程序下載到CPU319-3PN/DP中,時鐘脈衝信號M0.5從0跳變成1時,CP341將數據發送出去。
在這裏插入圖片描述
圖16

5、M20.0爲常閉點,程序下載完成,CPU運行後,就始終處於接收狀態。在STEP7中打開接收數據塊DB11監控接收到的數據,可以看到發送的數據被正確的接收。
在這裏插入圖片描述
圖17

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章