近期在研究通過外部通信指令讀寫三菱FX5U內部軟元件的功能,現把研究過程中遇到的一些問題及解決方法分享出來。根據三菱官方的手冊《MELSEC iQ-F FX5 用戶手冊(SLMP篇)》,用戶可以通過以太網連接,使用3E幀或1E幀對PLC進行遠程操作,這里使用的是3E幀。
1、報文的格式
3E幀報文格式如下:
1.png (83.02 KB, 下載次數: 41)
下載附件
2023-10-29 00:06 上傳
使用ASCII碼或16進制都是可以的
2.png (65.93 KB, 下載次數: 32)
下載附件
2023-10-29 00:07 上傳
如果出現錯誤,PLC會回復錯誤碼
3.png (36.42 KB, 下載次數: 34)
下載附件
2023-10-29 00:08 上傳
2、PLC內部設置
在創建新工程之前,一定要先關閉<安全性強化模式>!!!
在上方標簽欄的<視圖>下,點擊<安全性強化模式切換>,選擇【禁用】!!!
然后關閉GX WORKS 3,再重新打開。
4.png (12.6 KB, 下載次數: 35)
下載附件
2023-10-29 00:08 上傳
如果在新建工程前不禁用<安全性強化模式>,那么在每次打開在線監視和下載程序到PLC時,都會強制輸入用戶認證的口令和密碼。
而且,在打開了<安全性強化模式>下,好像PLC與外部的通信會失效???PLC始終都只會返回錯誤碼 !
想要使用SLMP通信,就必須先在PLC工程配置以太網相關信息。
首先新建一個FX5U空白工程,在<參數><FX5UCPU><模塊參數><以太網端口>頁面下,配置好IP地址與通信數據代碼。
5.png (205.03 KB, 下載次數: 41)
下載附件
2023-10-29 00:08 上傳
再雙擊<對象設備連接配置設置>,打開配置頁面。在右邊的<以太網設備(通用)>列表中找到SLMP設備,按住鼠標左鍵將其拖入左邊的表格里。
這時,左下方的連接示意圖里就會多出一個SLMP設備。
6.png (43.89 KB, 下載次數: 42)
下載附件
2023-10-29 00:09 上傳
在上方的表格里,將協議選擇為TCP,端口號自由設置,但是要避免三菱官方已經占用的特殊端口號。
設置完成后,點擊上方的<反映設置并關閉>,然后會回到剛才的<以太網端口>頁面,點擊右下角的<應用>。
到此,有關以太網的設置已經完成了,點擊<在線><寫入>,將當前程序寫入PLC,注意寫入時要點擊<全選>。
7.png (130.66 KB, 下載次數: 35)
下載附件
2023-10-29 00:09 上傳
3、通信測試
以下是讀寫內部軟元件的報文格式
8.png (55.54 KB, 下載次數: 44)
下載附件
2023-10-29 00:09 上傳
9.png (59.71 KB, 下載次數: 31)
下載附件
2023-10-29 00:10 上傳
以下是通信助手的實測截圖
10.png (39.33 KB, 下載次數: 37)
下載附件
2023-10-29 00:10 上傳
也可以使用PLC的在線批量監視軟元件功能來驗證。
讀取:
ASCII發送:500000FF03FF000018000004010000D*0001000003
ASCII接收:D00000FF03FF0000100000000100010001
寫入:
ASCII發送:500000FF03FF000024000014010000D*0001000003000100010001
ASCII接收:D00000FF03FF0000040000
這里寫入和讀取到的數據都是16進制,占4位,表示16位2進制數。
寫入的位數,也是從左往右,從低到高。
如果ERR亮紅燈,原因是發送了錯誤的命,此時PLC會回復錯誤代碼。但紅燈亮起似乎也不影響SLMP通信。
D200后的寄存器默認掉電保持!但可以修改設置。
4、結束語
以上就是我測試FX5U的SLMP通信的信過,這個通信方式還是比較方便的,省去了額外的PLC編程。
因為時間倉促的原因,寫的比較簡陋,希望對大家有幫助。如有疏漏,請大家批評指正。
|