西門子200SMART主站輪詢MODBUS通信指令案例


該案例是西門子PLC 200Smart與200Smart通信程序。

一、實現的功能:

(1) 主站讀取從站的VW10---VW20六個字,存入主站的VW0—VW10。

(2) 主站讀取從站的MB4MB5存入主站的MB4MB5。

(3) 主站把VD30寫到從站的VD50

分析說明

1、該案例有3個讀寫功能要完成,由於MODBUS通信某一時間只能有一條 MBUS_MSG 指令處於激活狀態,因此需要輪詢通信。

2、由於MBUS_MSG指令不能使用M存儲器,因此需先在從站編寫M區傳送到V區程序,再通過通信把V區數據讀入到主站,主站再編寫V區傳送到M區指令,完成從站的M區數據到主站的M區。

3、VD傳送是4個字節,2個字

從站程序

輪詢MODBUS通信指令案例

 

輪詢MODBUS通信指令案例

MB4\5先傳送到時V區,才能實現通信

由於從站是以VB10為起始地址,因此VB40VB41對應的MODBUS

地址為[(40-10)+2]/2=16,為40016。

從站的VD50(VB50-VB54)對應的MODBUS地址為40021

從站編寫完程序后,注意要分配庫存儲器

主站程序

輪詢MODBUS通信指令案例

定義參數

輪詢MODBUS通信指令案例

初始化復位各通信標志

輪詢MODBUS通信指令案例

按I0.0開始通信

輪詢MODBUS通信指令案例

讀從站的6個字VW10-VW20到主站VW0-VW10

從站起始地址是VW10,對應40001地址

輪詢MODBUS通信指令案例

完成后置位下一指令復位上通信標志

輪詢MODBUS通信指令案例

讀一個字

40016地址對應VW40,讀到VW200

輪詢MODBUS通信指令案例

讀完傳到MW4,完成M區傳送

輪詢MODBUS通信指令案例

再輪詢下一個

輪詢MODBUS通信指令案例

寫一個字VD30到從站VD50

輪詢MODBUS通信指令案例

又返回第一輪詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM