
很久以來使用EPSON機械手和PLC交互,都是直接購買對應的通訊板卡,這樣一來GSD文件一導入對應的通訊地址也就有了,編程方便,通訊可靠。

但是甲方有時候就是那么死摳,為了省那么一點,反正工程師寫程序又不花錢,不方便又不是不能用,不穩定又不是干不了。于是開啟了這次的modbus之旅。
首先說明一點,modbus TCP不是modbus RTU.這次采用的時TCP的方式,直接接網線的那種。
首先來看下硬件EPSON LS6-B602S,對應的控制器為RC90-B.支持Modbus tcp的通訊方式

介紹了機械手然后說一下PLC,這個沒有什么特別的,就是普通西門子plc,這次使用的是一個1515的雙網口plc,不要以為很高端,要帶13個伺服軸,你就可以想象怎么個極限使用了。
1】機械手設置,首先打開機械手軟件RC+7.0,設置IP地址及對應的通訊


設置對應的控制信號地址,打開輸入輸出可以看到起始地址都是512


如此設置完畢,機械手這邊的輸入和輸出就設置好了。至于機械手程序,很簡單了拿到這些交互點,還是不是隨便寫。
2】介紹PLC這邊的設置及程序
說實話找Modbus對應和PLC通訊地址,很多地方都沒有說,即使寫了的也是很模糊的一張圖片。但是足夠了。
畢竟只要能通訊上,剩下的自己試試就知道了。
---通訊地址
這張模糊的地址分布,大致給我們說清了 機械手512開始的地址,對應40032/30032開始的寄存器,而且是以word的形式,這特么不是modbus RTU嗎就是?不管了反正不是串口是網口而且是需要設置IP地址,不需要寫03,06這類指令,,哈哈哈

于是我們需要在PLC端建立對應的通訊地址

這里我只是需要7個字,如果需要多的繼續設置就好。
3】PLC的modbus指令

這塊就不過多寫這個指令每個引腳的功能了,大家自己去看。總之指令需要指定通訊對象的IP地址及端口號
然后指定是讀還是寫的模式。讀就是讀取對方發送的內容,寫就是對對象發送控制指令。ok簡短解說看程序
--指定IP地址和端口

--讀模式,讀取需要的7個word

這里主要注意:mode=0讀取,modbus通訊30032輸入地址--對應機械手輸出第32個word,第64個byte,從512開始的16個位變量。塊上對應的數字7代表需要讀取的長度。MB_DATA_PTR需要使用P#開頭指定的地址,去掉P#直接拖拽DB地址不可以。具體怎么寫可以通過指令幫助查看。
---寫指令

這個指令和上面的讀注意事項一樣。
這樣把程序下載進去,就可以查看雙方發送和接收的數據了。
本來準備想寫很多的,真的動手了反而就只想寫這些注意點了,自己踩了幾個坑,1是P#開頭的地址,最后看了幫助文檔很久才發現這個問題。2是發送和接收指令的切換條件,開始用1HZ指令切換的,會出現發送沒有完成,寫又開始的狀況,最后干脆兩個互鎖,交替發送就可以了。
差不多就這樣了,大家隨便看看,稍微點啟發然后試試肯定能弄起來,若有不明白的在留言把。很久沒有弄PLC了,寫的不正確的請指正海涵。
聯系郵箱:[email protected]
聯系地址:深圳市寶安區新橋街道新二社區東環路新二電廠第二棟1層
掃一掃 微信咨詢
版權所有 ? 深圳市知新智能設備有限公司 粵ICP備2022099007號-1 XML
電話
微信掃一掃