股票配资知识网推荐-加杠杆炒股的正规平台是什么软件-【东方资本】,预测明天大盘走势分析,选股票的步骤,国内正规合法配资平台

EC機器人MODBUS_RTU

2025-09-08

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.接線方法

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

詳細接線方法參考以下流程:

1、焊接對應針腳

2、將針腳之間用絕緣膠帶或者熱縮管進行隔離開,防止粘連。

3、  插回控制柜。


3.modbus_rtu主站使用方法

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


3-2.操作流程

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


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

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


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


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


3-2-4.讀取線圈

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

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

示教器中查看對應的M920、M922、M924分別狀態為1

讀取線圈功能及指令正常


3-2-5.寫入線圈

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

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

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

助手中可以查看到線圈530、531、533、534狀態都為1

寫入線圈功能及指令正常


3-2-6.讀取寄存器

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

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

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

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

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


3-2-7.寫入寄存器

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

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

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

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

寫入寄存器功能及指令正常


4.  modbus_rtu從站使用方法

4-1.modbus_rtu從站介紹

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

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

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

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

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

4-2.使用技巧

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.在數據多為小數時,為方便數據的處理,可以將數據進行整體擴大一定倍數后進行傳輸


4-3.操作流程

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


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

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

連接成功后,如下圖所示


4-3-2.虛擬M變量讀寫

通訊成功后進行M變量的讀寫,無需其他設置,可直接通過對應線圈地址讀取寫入

示例1:機器人M變量寫入,助手線圈讀取

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

網絡助手端直接讀取528及534當前狀態為1

示例2:機器人M變量讀取,助手線圈寫入

定義網絡助手端線圈912-917寫入為1

機器人端虛擬輸入M912-M917此時狀態都為1


4-3-3.寄存器讀寫

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寄存器中,網絡助手可直接在此寄存器直接讀取,如下圖所示


5.  常見問題解答

5-1.問:通訊收發數值不正確或者連接不上

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

5-2.問:寄存器能否支持帶小數點位數值

答:modbus協議寄存器都是整數類型的,需要進行帶小數點的數據傳輸可以先將數值乘以一個倍數,傳輸后再進行整除。

6.附錄

modbus_slave.lua

modbus_master.lua




download-669.svg comicon14.svg

電話咨詢

download-397.svg comicon15.svg

免費試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

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

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

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

提交