西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

通訊測試

Modbus RTU格式通訊協議是以主從的方式進行資料傳輸的,在傳輸的過程中主站是主動方,即主站傳送資料請求報文到從站,從站返回響應報文。Modbus 系統間的資料交換是透過功能碼來控制的,以下對現場常用的功能碼進行分類測試,關於功能碼的詳細資訊請參考手冊。

5。1 FC01/05/15功能碼

CP341從站的通訊區域配置

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖14 FC01/05/15 引數組態介面

FC01、FC05、FC15對應的資料區為位輸出,資料的傳遞以位為單位,可以讀寫操作,使用者地址區為0xxxx,Modbus地址在資訊傳遞中從0開始。如上圖,左邊為資訊傳遞地址(地址區不能衝突),右邊對應的是S7-300的資料區。例如左邊資訊傳遞地址從0 ~ 7對應使用者地址區為00001 ~ 00008,對應S7-300的M10。0 ~ M10。7,並且以此為例說明FC01功能碼的通訊。

S7-200主站程式呼叫

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖15 功能碼FC01使用

S7-200主站,用功能碼FC01讀取從站8點數字量輸出,接收的資料存放在VB2000開始的區域,測試截圖結果如下。

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖16 FC01功能碼資料交換

5。2 FC02功能碼

CP341從站的通訊區域配置

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖17 FC02 引數組態介面

FC02對應的資料區為位輸出,資料的傳遞以位為單位,只讀操作,使用者地址區為1xxxx,Modbus地址在資訊傳遞中從0開始,如上圖,左邊為資訊傳遞地址(地址區不能衝突),右邊對應的是S7-300的資料區。例如左邊資訊傳遞地址從0 ~ 7對應使用者地址區為10001 ~ 10008,對應S7-300的M20。0 ~ M20。7,並且以此為例說明FC02功能碼的通訊。

S7-200主站程式呼叫

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖18 功能碼FC02使用

S7-200主站,用功能碼FC02讀取從站8點數字量輸入,接收的資料存放在VB2000開始的區域,測試截圖結果如下。

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖19 FC02功能碼資料交換

5。3 FC03/06/16 功能碼

CP341從站的通訊區域配置

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖20 FC03/06/16引數組態介面

FC03/06/16 對應的資料區為暫存器,資料的傳遞以字為單位,可以讀寫操作,使用者地址區為4xxxx,Modbus地址在資訊傳遞中從0開始。如上圖,左邊為資訊傳遞地址,右邊對應的是S7-300的資料區,左邊傳輸地址不可改,右邊只對應一個數據區。例如使用者地址

區為40001 ~ 40004,對應S7-300資料區為DB1。DBW0 ~ DB1。DBW6,並且以此為例說明

FC03功能碼的通訊。

S7-200主站程式呼叫

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖21功能碼FC03使用

S7-200主站,用功能碼FC03讀取從站4個字暫存器,接收的資料存放在VB2000開始的區域,測試截圖結果如下。

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖22 FC03功能碼資料交換

5。4 FC04 功能碼

CP341從站的通訊區域配置

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖23 FC04引數組態介面

FC04對應的資料區為暫存器輸入,資料的傳遞也以字為單位,只讀操作,使用者地址區3xxxx,Modbus地址在資訊傳送中從0開始。如上圖,左邊為資訊傳遞地址,右邊對應的是S7-300的資料區,左邊傳輸地址不可改,右邊只對應一個數據區。例如使用者地址區為30001 ~ 30004,對應S7-300資料區為DB1。DBW0 ~ DB1。DBW6,並且以此為例說明FC04功能碼的通訊。

S7-200主站程式呼叫

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖24功能碼FC04使用

S7-200主站,用功能碼FC04讀取從站4個字輸入暫存器,接收的資料存放在VB2000開始的區域,測試截圖結果如下。

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖25 FC04功能碼資料交換

5。5 Limits 欄

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

圖26 Limits 引數組態介面

對於寫功能碼FC05、06、15、16,可以禁用或限制訪問相關S7-300儲存區,即使用這些功能碼時,S7-300儲存區需要在設定的最小和最大的範圍之間,如果訪問的區域超出這個範圍,則訪問會被拒絕,同時輸出報錯誤資訊。

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試

西門子S7-200做主站S7-300 CP341做從站的Modbus RTU通訊通訊測試