
很久以來使用EPSON機(jī)械手和PLC交互,都是直接購(gòu)買對(duì)應(yīng)的通訊板卡,這樣一來GSD文件一導(dǎo)入對(duì)應(yīng)的通訊地址也就有了,編程方便,通訊可靠。

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

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


設(shè)置對(duì)應(yīng)的控制信號(hào)地址,打開輸入輸出可以看到起始地址都是512


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

于是我們需要在PLC端建立對(duì)應(yīng)的通訊地址

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

這塊就不過多寫這個(gè)指令每個(gè)引腳的功能了,大家自己去看??傊噶钚枰付ㄍㄓ崒?duì)象的IP地址及端口號(hào)
然后指定是讀還是寫的模式。讀就是讀取對(duì)方發(fā)送的內(nèi)容,寫就是對(duì)對(duì)象發(fā)送控制指令。ok簡(jiǎn)短解說看程序
--指定IP地址和端口

--讀模式,讀取需要的7個(gè)word

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

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