亚洲aⅴ精品,亚洲精品日本,国产精品97色综合国产精品,欧美日韩国产一二三区

EC機器人ModbusTCP通訊

2024-10-31

1.  簡介

ModBus是一種串行通信協議,一種標準的工業通信協議,同時是目前工業電子設備之間常用的連接方式。

艾利特機器人分別支持ModBus主、從站功能,從通訊的形式上分為MoBus TCP和ModBus RTU,其中ModBus從站功能通過配置即可。

通過ModBus主站功能,機器人可以向外部設備讀取寫入數據,已達到數據交互和邏輯控制的用途。

艾利特機器人的ModBus主站同時也支持ModBus RTU 和 ModBus TCP,其中ModBus TCP功能需要連接以太網接口,而ModBus RTU的硬件接口形式分為控制器485口,工具末端485口。

ModBus主站功能通過lua腳本實現,可以參考EC-lua手冊進行使用。其中MODBUS MASTER為已經封裝的接口,用戶只需傳入相應參數即可;如有其他特殊協議要求,可以使用TCP/UDP通訊、485通訊、TCI通訊(工具末端485)和232通訊等。

2.  操作流程

2-1. 配置機器人MODBUS_TCP

2-1-1. 接入控制柜網口,如下圖。

2-1-2. 配置機器人IP地址:

登錄管理員模式:密碼333333--------點擊系統-----系統配置-------網絡配置-----設置IP--點設置

2-1-3. 配置電腦IP

2-1-4. 啟用示教器中modbusTCP設置

2-2. modbus_TCP從站使用方法

2-2-1. 作為從站并通過以太網連接各種 Modbus TCP 主站設備進行通信,協議的幀

規格如下圖所示:

modbus功能碼:

2-2-2. 機器人與通訊助手通訊

配置通訊助手

2-2-3. 讀寫線圈操作:

機器人M400變量的數據

2-2-4. 讀寫機器人寄存器操作:

1).機器人作為從站可通過腳本直接讀取寫入寄存器數值,可將數值轉化為全局變量,在示教器上進行顯示或者調用

2).腳本指令分為兩種,第1種是對應獲取接口0-191,設置接口66-191,此接口可控制虛擬輸入輸出M變量,如下圖所示

3).第2種讀取額外接口192-575,設置接口300-477,具體寄存器地址可參考通訊手冊

4).第1種指令和第2種指令,建議用戶使用第2種指令更方便快捷,第1種指令可直接控制M變量,艾利特modbus寄存器分為8位和16位,需要在兼容模式下更改,否則容易將機器人寄存器地址和網絡助手地址混淆。第2種指令本身設置就是16位寄存器,無需考慮兼容模式下的更改情況

5).下面以第2種寄存器為示例腳本進行數據的讀寫

機器人讀取寄存器300-304寄存器數值同時存入到I0-I4寄存器中,腳本如下

通過助手向寄存器300-304賦值,可通過示教器查看I0-I4數值,確實數值是否正確,如下圖所示

6).機器人通過全局變量I10-I14,將數據寫入寄存器320-324,腳本如下所示

通過機器人向I10-I14全局變量賦值,可將數值存入到320-324寄存器中,網絡助手可直接在此寄存器直接讀取,如下圖所示

2-3. modbus_TCP主站使用方法

2-3-1.指令介紹

ModBus Master接口常用獲取modbus、連接modbus、關閉modbus、設置slave、讀取單個線圈、寫入單個/多個線圈、讀取單個寄存器、寫入單個寄存器等指令,本文主要講解以上指令,具體指令詳解如下圖所示,其他指令也可參考EC-lua手冊ModBus Master章節

以下為讀取寫入相關指令

modbus_read_bits 讀取線圈指令,功能碼01

modbus_write_bit 寫單個線圈指令,功能碼05

modbus_write_bits 寫多個線圈指令,功能碼15

modbus_read_register 讀單個寄存器數值。功能碼03

modbus_write_register 寫單個寄存區數值,功能碼06

2-3-2.操作流程

本文以機器人作為主站與網絡助手進行ModBus_TCP通訊為示例,進行詳細操作講解

2-3-2-1.機器人端配置

將機器人腳本配置好,如下圖所示

2-3-2-2.助手配置連接

2-3-2-3.連接成功提示

2-3-3-4.讀取線圈

讀取600開始的5個線圈,分別將線圈數值存入虛擬輸入M920-M924中

助手中將線圈600、602、604分別置為1

示教器中查看對應的M920、M922、M924分別狀態為1,讀取線圈功能及指令正常

2-3-2-5.寫入線圈

寫入線圈指令及定義如下腳本所示

寫入單個和多個線圈指令,定義將M530數值寫入到線圈530,M531-M534數值分別寫入線圈531-534中

機器人端將虛擬輸出M530、M531、M533、M534置為1

助手中可以查看到線圈530、531、533、534狀態都為1,寫入線圈功能及指令正常

2-3-2-6.讀取寄存器

讀取寄存器指令及定義如下腳本所示

讀取400開始的5個寄存器,分別將寄存器數值存入全局變量I000-I004中

助手端將400寄存器設置為123,401寄存器設置為23,402寄存器設置為-345,403寄存器設置為-876,404寄存器設置為2345

機器人端可在全局變量中查看I000-I004與寄存器400-404數值一致,讀取寄存器功能及指令正常

2-3-2-7.寫入寄存器

寫入寄存器指令及定義如下腳本所示

機器人端I010-I014的5個全局變量,分別將數值寫入到寄存器500-504中

機器人端分別將I010-I014全局變量設置為:236,-659,589,489,-3528

助手端可查看500-504的寄存器數值,同時與全局變量I010-I014數值一致,寫入寄存器功能及指令正常

3.  常見問題解答

1. M0-M527,M1472-M1535為系統使用,只能讀取狀態,通過示教器可輸入的 M 變量范圍為 528-799。

2. M 變量的線圈地址即為變量的序號地址。

3. 兼容模式中勾選ModBus:M 變量的寄存器地址從M0 開始,每連續 的16個 M 變量形成一個寄存器地址,例如M0-M15,寄存器地址為 0x0000;M16-M31,寄存器地址為0x0001,以此類推; 兼容模式中不勾選ModBus:M 變量的寄存器地址從M0 開始,每連 續的 8個 M 變量形成一個寄存器地址,例如M0-M7,寄存器地址為0x0000;M8-M15,寄存器地址為 0x0001,以此類推。

4. ModBus 協議中一個寄存器為 16 位變量,因此對 M 變量的一個寄存器地址進行操作,實際操作的是連續的 16 個 M 變量。

5.在數據多為小數時,為方便數據的處理,可以將數據進行整體擴大一定倍數后進行傳輸


download-669.svg comicon14.svg

電話咨詢

download-397.svg comicon15.svg

免費試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準備好突破增長瓶頸,開啟智能制造了嗎?
了解我們的機器人如何幫助您的業務增長
歡迎下載艾利特機器人資料

我已閱讀并同意艾利特《隱私政策》《法律聲明》

我已知曉并同意艾利特通過電子郵件發送相關資料

提交