日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

兩臺plc的主從站通訊_西門子200SMART Modbus RTU通訊實例

作者:佚名    文章來源:網絡    點擊數:    更新時間:2023/7/23

通訊材料:1)、PLC2臺,分別是200SMART 的CR60和SR20;2)、2個DP插頭(6ES7972-0BX12-0XA0)3)、連接導線若干(plc電源及通訊)

驗證內容:令:CR60 PLC為主站,發送PLC系統時鐘(8個字節的信息)給SR20從站;SR20從站發送一個雙字的循環移位數據給主站,并由通訊數據VD100接收輸出到QD0。

主站程序:
 

在驗證過程中曾經出現一個錯誤,使MSG指令始終顯示為6,表示從站無響應。我驗證時,由于連接2臺plc之間的3+、8-沒有確認,造成接線錯誤,使MSG的error錯誤信息為6,檢查后找到原因,重新接線后仍然報警6。最后檢查為控制程序不完整,主要原因是沒有給MB0一個初始化操作,造成錯誤值沒有得到有效的刷新。于是,在程序段1中加入初始化操作得到解決。
 
 

主站MSG指令主要理解Addr地址的應用,下面有描述。
 

從站程序:從站通訊地址設置為1#

 

 

從站自VB31開始為讀取主站VB11開始的8個字節主站系統時鐘數據,指定VB31的起始地址是由Addr地址40011定義的,從站循環指令VD11運行結果,將由Mbus_init的Holdstart定義的起始地址發送和接收。

編寫小結:自簡而深進行編寫Modbus RTU通訊程序,相對從站通訊程序比較簡單,僅僅只是指定通訊種類由
Mbus_init
管腳指定maxIQ/maxAI/maxHOLD/Holdstart定義,其它管腳根據主站定義匹配進行,相對主站需要根據從站地址偏移量來確定。

通訊數據:

 

Modbus通訊程序相對的難點是通訊映射的地址關系。
主站讀取從站的數據,起始地址是根據從站Holdstart管腳定義的起始地址開始算,而不是指從站的V區物理地址。在驗證程序中,從站的Mbus_init起始地址為VB11,那么,主站MSG指令的Addr 40001,應該是指從站的VB11地址。

同理,從站讀取主站系統時鐘,主站的MSG指令的Addr 40011,對應到從站的地址相當于偏移了10個字(偏移量10word + 11byte = 31byte) ,即為VB31開始的8個字節中存放,Modbus通訊地址計算是40001開始的。

來源:西門子工業技術論壇,版權歸原作者所有,侵刪

Tags:主站,從站,modbus,200Smart  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢