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

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

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

無 NO connection為連接成功。

寫入控制柜modbus_rtu通信配置及查詢模式腳本運(yùn)行

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

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

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

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

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

6. 程序示例
global ret 定義變量
global mode 定義變量
global read_data 定義變量
global read_data1 定義變量
ret=serial_config(True,115200,0,1,8,True)打開機(jī)器人控制柜 RS-485 通信功能
mode=serial_mode() 查詢機(jī)器人控制柜 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