西門子串口通訊05-CP441-2在Step7環境中做Modbus主站通訊

西門子串口通訊05-CP441-2在Step7環境中做Modbus主站通訊
v—x---公–衆--號:工控自動化老王
1.安裝Dongle
Dongle的安裝位置參考下圖 :
在這裏插入圖片描述
2 組態和配置
1、打開創建好的項目ptp,插入一個新的SIMATIC 400 Station,更改站名爲CP441-2 modbus Master,雙擊Hardware進入硬件組態畫面,插入RACK、PS、CPU、CP441-2,具體步驟如下圖:
在這裏插入圖片描述
2、CP441-2模板,點擊Parameter配置CP441-2參數,在Protocol 中選擇MODBUS Master。
在這裏插入圖片描述
3、Protocol 下的信封圖標,配置Modbus master參數,點擊Modbus-master 按鈕,設置通訊速率、報文信息等基本參數,其它可選擇默認參數配置。
在這裏插入圖片描述
4、配置完成後點擊OK並保存,關閉對話框,和用CP441-2做ASCII,通訊時一樣,要爲所使用的接口新建PtP,連接並記錄Local ID(Hex) 連接號。
在這裏插入圖片描述
5、通過“保存編譯”保存編譯組態信息,如果沒有錯誤,選中CPU進行組態信息的整體下載,並使用“激活連接狀態”在線查看連接狀態,直到“connection status” 的顯示綠色三角形,說明連接正確建立。
6、CP441做MODBUS通訊時,還要更改CPU屬性中的“Startup”參數。
在這裏插入圖片描述
“Monitoring Time for”à“Transfer of parameters to modules(100ms)” 設置爲最小爲3000(=300s)的值,這樣做是爲了保證有足夠長的時間將使用的加載協議驅動下載到CP卡中。
3 編寫通信程序
1、打開OB1,與做ASCII通訊時一樣從庫中調用SFB12、SFB13,並分配背景數據塊,SFB12 背景數據塊爲DB12,發送數據的數據塊爲DB1。
在這裏插入圖片描述
2、調用發送功能塊。使用的從站地址爲5,功能碼爲FC01,起始地址爲0,讀16個輸出位的狀態。當使用不同的功能碼進行通訊時請求報文的定義請參考MODBUS MASTER手冊第五章節Function code 的相關說明。
在這裏插入圖片描述
3、Modbus RTU通訊中使用SFB12 的補充說明如下,其餘參數與CP441 ASCII通訊時含義相同,可參考上文設置。
R_ID
用於在同一連接中不同塊的區分,使用Modbus RTU通訊時此值的取值範圍是0-255,本例使用的是DW#16#1。
LEN
取值範圍取決於所使用的功能碼,可參考下表。
功能碼 16 長度(以字節爲單位)
01 6
02 6
03 6
04 6
05 6
06 6
07 2
08 6
11 2
12 2
15 〉6
16 〉6
4、FB13背景數據塊爲DB13,並創建接收數據的DB塊DB2。
在這裏插入圖片描述
5、調用接收功能塊
在這裏插入圖片描述
SFB13中“R_ID”的設置必須與成對調用的SFB12中的“R_ID”一致,用來激活接收信息的程序,所以此處必須設置爲DW#16#1。可在MW20中查看接收數據的長度信息。
4 設備連接
本文檔使用的CP441-2的接口是RS232C,因此需要通過標準的RS232C電纜來連接CP441-2和計算機的串口,具體的電纜連接方法請查看CP441手冊附錄B Connnecting cables。
如果使用的CP441-2是RS485接口的模塊,需要使用RS232C/RS485轉換器。
5 通信測試
前面使用Step7 V5.5軟件已經將通信CP341的通信工作做完,下面進行通信測試。這裏使用串口通訊測試軟件modbus slave軟件來測試CP341和計算機的通信,步驟如下
1、同樣使用Modbus slave 測試軟件,連接設置請參考上文CP341測試的操作步驟,從站的設置如下圖所示。
在這裏插入圖片描述
2、在Step7變量表中設置M8.0爲TRUE,使能接收,手動觸發M0.0以產生上升沿,使能發送,可看到數據通訊結果如下圖所示。
在這裏插入圖片描述
3、測試不同的功能碼時相應的修改主站發送的數據請求報文即可。
在這裏插入圖片描述
在這裏插入圖片描述

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