用PLC讀取Modbus好麻煩喔!
要設定好多東西,有沒有簡單一點的方式!!
其實在電控領域裡,有很多裝置都是用Modbus在通訊,
只是簡化到相當的程度,所以感覺不出來。
請先看這篇:HMI(人機介面)沒有的通訊協議,該怎麼使用?
其實台達HMI跟台達PLC之間,就是用Modbus在通訊,
只是簡化到看不出來。
所以:
HMI本身就把Modbus通訊協議都寫進入了!
可以利用HMI來讀取外部Modbus的數值,再寫回PLC。
這樣PLC就不需寫一堆的通訊格式了。
範例:HMI讀取外部電錶的數值
https://www.youtube.com/watch?v=N1IZDwI65TI
HMI之所以跟很多PLC連絡,可以之間讀X、Y、T、C這些值,
是因為其內部有個轉換檔,當你選擇該PLC設定檔時,
選定到X,HMI自動轉成Modbus功能碼及指令碼。
因為畢竟Modbus的裝置較多,所以HMI廠商還沒有一一建入,
但我們還是可以利用標準的Modbus功能,自已寫功能碼及位址,
還是可以跟外部的裝置做連結。
像台達HMI就還有保留,最基本的Modbus功能,可以選用。
紅框內都是試過可用。
差別在於:ASCII(RTU) nw輸入的位址是30001 或是40001,這種5位數的,已內部功能碼的位址。
位址40001 =功能碼03 + 位址0000H
位址30001=功能碼04 + 位址0000H
而ASCII Hex 是16進入的位址,預設功能碼03。
沒有留言:
張貼留言