CS機器人modbusRtu通訊
1.簡介
本片文檔適用于CS系列使用modbus_rtu通訊,本篇以機器人與電腦端通訊助手建立配置連接及讀取和發(fā)送數(shù)據(jù)示列。目前CS系列支持modbus_rtu做主站。
2.modbus_rtu接線說明
控制柜modbus_rtu硬件接線說明,使用 RS-485 串行通信接口。
串口連接器引腳圖如下所示:Pin3:RS485-,Pin4:RS485+

通過485 轉(zhuǎn) USB通訊線用于電腦端與機器人模擬通訊,實際接線可直接接入設(shè)備 RS-485 正負(fù)端。

3.腳本解析
3.1 控制柜modbus_rtu通訊配置
serial_config(True, 115200, 0, 1, 8, True)
功能: 該指令用于打開或關(guān)閉機器人控制柜 RS-485 通信功能,并對其進(jìn)行配置。
? 注意內(nèi)參
True:打開串口通訊
115200:波特率
0:串口奇偶校驗為不校驗
1:串口停止位
8:串口的位寬 ,modbus_rtu則必須為8
True 時為 Modbus-rtu 模式, 指定為 False 時為 RS485 模式,不指定時使用默認(rèn) 參數(shù) False,
返回值: 如果配置成功,返回 True,如果配置失敗,返回 False,
serial_mode() 該指令用于查詢機器人控制柜 RS-485 處于何種模式下。 返回值: “MODBUS-RTU”或“RS485”,若二者均未使能,則為“CLOSE”。
serial_modbus_read_registers(1,5,2,0)指令,該指令用于讀取機器人控制柜modbus_rtu通信的數(shù)據(jù)。
? 注意內(nèi)參
1:從站地址
5:寄存器地址
1:待讀取數(shù)據(jù)長度
0:超時時間,小于等于1等待時間無限長
返回值:[0,0]
serial_modbus_write_registers(1,1,[18])指令,該指令用于發(fā)送機器人控制柜modbus_rtu通信的數(shù)據(jù)。
? 注意內(nèi)參
1:從站地址
1:寄存器地址
18:寫入的數(shù)據(jù)
返回值:1 成功寫入寄存器的數(shù)量,小于等于0視為寫入失敗。
? 更多腳本指令及內(nèi)填寫參數(shù)可參考 CS 腳本手冊。
4.建立連接
打開串口調(diào)試助手Modbus slave,連接參數(shù)需要設(shè)置 com 號、選擇與機器人設(shè)置對應(yīng)的波特率、數(shù)據(jù)位長度、校驗方式和停止位長度,填寫完成后確認(rèn)打開串口建立連接。

無 NO connection為連接成功。

寫入控制柜modbus_rtu通信配置及查詢模式腳本運行

在監(jiān)控里查看返回值,ret 返回值是 true 為配置成功,如果配置失敗,返回 False,mode為modbus rtu模式。

5. 數(shù)據(jù)發(fā)送和讀取

運行腳本后可在調(diào)試助手端接收到機器人發(fā)送的數(shù)值

隨后運用調(diào)試助手向寄存器5寫入2,運行讀取寄存器腳本。

通過監(jiān)視查看讀取的值

6. 程序示例
global ret 定義變量
global mode 定義變量
global read_data 定義變量
global read_data1 定義變量
ret=serial_config(True,115200,0,1,8,True)打開機器人控制柜 RS-485 通信功能
mode=serial_mode() 查詢機器人控制柜 RS-485 處于何種模式下
read_data1=serial_modbus_read_registers(1,5,1,0)讀取從站寄存器5數(shù)值
read_data=serial_modbus_write_registers(1,1,[18]) 從站寄存器地址1寫入18