RM新时代赚钱项目

EC機器人MODBUS_RTU

2025-09-08

1.  簡(jiǎn)介

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

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

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

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

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


2.接線(xiàn)方法

在控制柜接口處我們可以看到RS485接口,該接口就是我們的485接口,modbus_rtu時(shí)用到該接口,其中針腳3對應485-,針腳4對應485+,如下圖。

詳細接線(xiàn)方法參考以下流程:

1、焊接對應針腳

2、將針腳之間用絕緣膠帶或者熱縮管進(jìn)行隔離開(kāi),防止粘連。

3、  插回控制柜。


3.modbus_rtu主站使用方法

3-1.指令介紹

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

以下為讀取寫(xiě)入相關(guān)指令

modbus_read_bits 讀取線(xiàn)圈指令,功能碼01

modbus_write_bit 寫(xiě)單個(gè)線(xiàn)圈指令,功能碼05

modbus_write_bits 寫(xiě)多個(gè)線(xiàn)圈指令,功能碼15

modbus_read_register 讀單個(gè)寄存器數值。功能碼03

modbus_write_register 寫(xiě)單個(gè)寄存區數值,功能碼06


3-2.操作流程

本文以機器人作為主站與網(wǎng)絡(luò )助手進(jìn)行ModBus_RTU通訊為示例,進(jìn)行詳細操作講解


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

將機器人端485線(xiàn)接好,目前設置波特率為115200,將機器人腳本配置好,如下圖所示


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


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


3-2-4.讀取線(xiàn)圈

讀取600開(kāi)始的5個(gè)線(xiàn)圈,分別將線(xiàn)圈數值存入虛擬輸入M920-M924中

助手中將線(xiàn)圈600、602、604分別置為1

示教器中查看對應的M920、M922、M924分別狀態(tài)為1

讀取線(xiàn)圈功能及指令正常


3-2-5.寫(xiě)入線(xiàn)圈

寫(xiě)入線(xiàn)圈指令及定義如下腳本所示

寫(xiě)入單個(gè)和多個(gè)線(xiàn)圈指令,定義將M530數值寫(xiě)入到線(xiàn)圈530,M531-M534數值分別寫(xiě)入線(xiàn)圈531-534中

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

助手中可以查看到線(xiàn)圈530、531、533、534狀態(tài)都為1

寫(xiě)入線(xiàn)圈功能及指令正常


3-2-6.讀取寄存器

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

讀取400開(kāi)始的5個(gè)寄存器,分別將寄存器數值存入全局變量I000-I004中

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

機器人端可在全局變量中查看I000-I004與寄存器400-404數值一致

讀取寄存器功能及指令正常


3-2-7.寫(xiě)入寄存器

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

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

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

助手端可查看500-504的寄存器數值,同時(shí)與全局變量I010-I014數值一致

寫(xiě)入寄存器功能及指令正常


4.  modbus_rtu從站使用方法

4-1.modbus_rtu從站介紹

艾利特機器人支持ModBus TCP從站以及ModBus RTU從站,均可通過(guò)示教器界面直接進(jìn)行配置。

目前Elite機器人支持對虛擬變量M的操作,M為BIT型變量。單個(gè)M變量為線(xiàn)圈,多個(gè)連續的M變量可為寄存器 。

其中M變量支持的功能碼如下圖:

ModBus RTU物理層接口為串口形式。

艾利特控制器 485 端口為特殊的接插件,針腳定義為:2 為 GND,4 為 485+,3 為 485-,連接參數上需要設置從站號、波特率、數據位長(cháng)度、校驗方式和停止位長(cháng)度,以上參數可通過(guò)示教器界面進(jìn)行配置??赏ㄟ^(guò)示教器擴展-Modbus從站中進(jìn)行配置選擇,如下圖所示

4-2.使用技巧

1. M0-M527,M1472-M1535為系統使用,只能讀取狀態(tài),通過(guò)示教器可

輸入的 M 變量范圍為 528-799。

2. M 變量的線(xiàn)圈地址即為變量的序號地址。

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

4. ModBus 協(xié)議中一個(gè)寄存器為 16 位變量,因此對 M 變量的一個(gè)寄存

器地址進(jìn)行操作,實(shí)際操作的是連續的 16 個(gè) M 變量。

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


4-3.操作流程

本文以機器人作為從站與網(wǎng)絡(luò )助手進(jìn)行ModBus RTU通訊為示例,進(jìn)行詳細操作講解


4-3-1.助手配置、通訊

將機器人端485線(xiàn)接好,目前波特率為115200,助手端連接對應設置參數即可,如下圖所示

連接成功后,如下圖所示


4-3-2.虛擬M變量讀寫(xiě)

通訊成功后進(jìn)行M變量的讀寫(xiě),無(wú)需其他設置,可直接通過(guò)對應線(xiàn)圈地址讀取寫(xiě)入

示例1:機器人M變量寫(xiě)入,助手線(xiàn)圈讀取

定義機器人虛擬輸出M528及M534寫(xiě)入為1

網(wǎng)絡(luò )助手端直接讀取528及534當前狀態(tài)為1

示例2:機器人M變量讀取,助手線(xiàn)圈寫(xiě)入

定義網(wǎng)絡(luò )助手端線(xiàn)圈912-917寫(xiě)入為1

機器人端虛擬輸入M912-M917此時(shí)狀態(tài)都為1


4-3-3.寄存器讀寫(xiě)

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

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


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


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


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

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

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



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

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


5.  常見(jiàn)問(wèn)題解答

5-1.問(wèn):通訊收發(fā)數值不正確或者連接不上

答:檢查一下485接頭是否接好,焊接地方有沒(méi)有粘連,使用環(huán)境是否存在電磁干擾?;蛘甙?85線(xiàn)纜調換一下。

5-2.問(wèn):寄存器能否支持帶小數點(diǎn)位數值

答:modbus協(xié)議寄存器都是整數類(lèi)型的,需要進(jìn)行帶小數點(diǎn)的數據傳輸可以先將數值乘以一個(gè)倍數,傳輸后再進(jìn)行整除。

6.附錄

modbus_slave.lua

modbus_master.lua




download-669.svg comicon14.svg

電話(huà)咨詢(xún)

download-397.svg comicon15.svg

免費試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準備好體驗輪式人形機器人帶來(lái)的效率飛躍了嗎?開(kāi)啟智能制造之旅
了解我們的機器人如何幫助您的業(yè)務(wù)增長(cháng)
歡迎下載艾利特機器人資料

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

我已知曉并同意艾利特通過(guò)電子郵件發(fā)送相關(guān)資料

提交
RM新时代赚钱项目