Modbus TCP 是 Modbus 協(xié)議的以太網(wǎng)擴(kuò)展版本,基于 TCP/IP 協(xié)議棧實(shí)現(xiàn)設(shè)備間數(shù)據(jù)交換。它采用 客戶端-服務(wù)器(主從)架構(gòu),主設(shè)備(客戶端)發(fā)起請(qǐng)求,從設(shè)備(服務(wù)器)響應(yīng)操作,適用于PLC、傳感器、執(zhí)行器等工業(yè)設(shè)備的通信。
由于現(xiàn)在行業(yè)競(jìng)爭(zhēng)激烈,很多廠子都為了節(jié)省成本,一般會(huì)先從設(shè)備方面入手,比如產(chǎn)線控制系統(tǒng)里的PLC跟下屬執(zhí)行器之間的通信,為了省一個(gè)板卡的錢,modbus tcp通訊基本就成了最優(yōu)的選擇(modbus tcp通訊一般來說都是標(biāo)配,不需要花費(fèi))
安川機(jī)器人Modbus TCP 功能介紹
機(jī)器人側(cè)設(shè)定
機(jī)器人進(jìn)入維護(hù)模式,隨后進(jìn)入安全模式。
進(jìn)入設(shè)置-選項(xiàng)功能-LAN接口設(shè)定-設(shè)置需要的IP
設(shè)置機(jī)器人LAN2口IP為192.168.1.48注意:機(jī)器人IP設(shè)定需要和PLC的IP同屬一個(gè)網(wǎng)段,插網(wǎng)線的時(shí)候LAN2口和LAN3口不要插錯(cuò)了。
進(jìn)入設(shè)置-選項(xiàng)功能-MODBUS/TCP(CPU基板)進(jìn)行參數(shù)的設(shè)置
選擇系統(tǒng)、設(shè)置、選項(xiàng)功能,找到 MODBUS/TCP(CPU 基板 。
(如果未找到此功能,則控制柜版本需要升級(jí)YAS4.71.00 00 以上,另外啟用此功能需另行開通)
需要安川加密狗的可以聯(lián)系我!?。。。。?/p>
① ST #
設(shè)定本功能分配的IO模塊的工位編號(hào)。請(qǐng)?jiān)O(shè)定1~14中還沒有分配IO模塊的編號(hào)。
②IO大小(IN/OUT)
設(shè)定IO區(qū)域保留的IO大小(單位:byte)??稍O(shè)定的最大值為506 byte(4048點(diǎn))。
③M寄存器
設(shè)定寄存器數(shù)據(jù)收發(fā)使用的M寄存器起始序號(hào)??稍O(shè)定的值為0~999。
④M寄存器大小
設(shè)定寄存器數(shù)據(jù)收發(fā)使用的M寄存器的個(gè)數(shù)。若指定為0個(gè),則不收發(fā)寄存器數(shù)據(jù)?!癕 寄存器”+“M 寄存器大小”可設(shè)定的合計(jì)值為0~1000。
⑥超時(shí)檢查
設(shè)定是否檢查PLC發(fā)出的通信指令的無通信時(shí)間。每按一次[選擇]鍵,“有效”“無效”交替切換。若要進(jìn)行檢查,請(qǐng)?jiān)O(shè)定為“有效”。
在設(shè)定為“有效”的狀態(tài)下,若無通信時(shí)間超過設(shè)定值,通信狀態(tài)的通信異常位便會(huì)變?yōu)镺N。
此后,若接收到PLC通信指令,則使通信狀態(tài)的通信異常位變?yōu)镺FF,重新開始超時(shí)檢查。
請(qǐng)?jiān)O(shè)定無通信時(shí)間的超時(shí)值(單位:msec)。
可設(shè)定值為1~65535,超時(shí)檢查的精度為2msec。
設(shè)置完成后回車確認(rèn)修改,多次按回車鍵確認(rèn)修改。
選擇分配模式自動(dòng)分配,選擇外部IO分配-詳細(xì),查看IO分配
按回車鍵,確認(rèn)修改內(nèi)容,隨后重啟機(jī)器人到在線模式。
Modbus TCP不保證通信周期恒定。在本功能的通信狀態(tài)中可以檢查通信連接的狀態(tài),但通信連接一旦確立后,只要不明確地進(jìn)行切斷或再連接,就不會(huì)變?yōu)槲创_立狀態(tài)。另外,雖然可以通過設(shè)置超時(shí)檢查有效來檢測(cè)未通信狀態(tài),但這是檢查是否在設(shè)定時(shí)間內(nèi)接收到來自上位PLC的指令,并不是檢查是否發(fā)送或接收到了預(yù)期的IO數(shù)據(jù)。
為了確認(rèn)是否正確收發(fā)了預(yù)期的IO數(shù)據(jù),請(qǐng)客戶在并行IO程序等中追加進(jìn)行檢查的處理。
關(guān)于Modbus TCP(CPU基板)的狀態(tài)
Modbus TCP(CPU基板)狀態(tài)(分配區(qū)域的前8點(diǎn))的含義如下所示。表中分配信號(hào)(輸入)的“xxx”值是與Modbus TCP(CPU基板)的起始分配編號(hào)的數(shù)值對(duì)應(yīng)的值。(在上述例子中為20060~20067,所以“xxx”為006)
PLC側(cè)設(shè)置
打開博圖軟件,新建項(xiàng)目,進(jìn)入項(xiàng)目視圖,在硬件目錄中找到對(duì)應(yīng)的 PLC添加PLC 到項(xiàng)目中(本次使用的軟件為博圖 V17)
封裝一個(gè)讀寫多個(gè)I/O,讀寫多個(gè)寄存器的FB塊
新建DB塊,儲(chǔ)存讀取寫入的數(shù)據(jù)。
新建DB塊,儲(chǔ)存連接參數(shù)
ADDR參數(shù)(服務(wù)器側(cè)IP1地址設(shè)置為192.168.1.48)
新建FB塊
接口參數(shù)如下
Main程序調(diào)用FB塊
設(shè)置PLC的IP 192.168.1.10(需要和機(jī)器人IP同網(wǎng)段即可)
修改電腦以太網(wǎng)的IP(需要和機(jī)器人IP/PLC的IP同網(wǎng)段且不能沖突)
正確連接電腦、PLC和機(jī)器人的網(wǎng)線,下載PLC程序到PLC進(jìn)行通信測(cè)試。
PLC側(cè)強(qiáng)制寫入IO信號(hào)給機(jī)器人的狀態(tài)如下:
機(jī)器人側(cè)監(jiān)視外部輸入信號(hào)的狀態(tài)如下:
機(jī)器人側(cè)強(qiáng)制輸出信號(hào)到PLC的狀態(tài)如下
PLC側(cè)監(jiān)視機(jī)器人輸入的IO信號(hào)狀態(tài)如下:
以上,西門子1500和安川YRC1000機(jī)器人進(jìn)行modbus tcp通信成功啦
如果有需要這個(gè)測(cè)試DEMO的,請(qǐng)先點(diǎn)贊,然后轉(zhuǎn)發(fā)到朋友圈或者工控相關(guān)群。然后把轉(zhuǎn)發(fā)后的截圖發(fā)送到后臺(tái),我看到截圖后會(huì)分享給您的。(如果嫌麻煩不想轉(zhuǎn)發(fā)的,可以直接打賞喔)
(人工分享,我在工作摸魚期間或者下班后看到消息就會(huì)分享資料給您,請(qǐng)不要著急?。。。?/strong>