RS485测试
一、控制柜接口板透传RS485测试
接口板透传RS485指将RS485接到了接口板可以由软件进行配置,具有统一的映射端口号:ttyIfaceBrd
注意:接口板透传485功能需要ARCS:0.31.0分支搭配固件:v1.1.1版本以上进行测试,v1.1.1以下版本不具备接口板透传485功能
1. 准备工具
USB转RS485串口线、XCOM V2.3、杜邦线(两根)
XCOM V2.3: https://download.aubo-robotics.cn/3rd-party/XCOM_V2.3.zip
2. 连接线缆
将一根九针的USB转485线通过杜邦线连接至控制柜,iS接线方式为引脚1连485_A,引脚2连485_B,新C控制柜引脚1连A2,引脚2连B2,如下图所示。
目前只有iS控制柜与新C控制柜支持接口板透传RS485功能,其他型号暂不支持,如需使用RS485功能可使用原生RS485(接到工控机上的RS485)与USB转RS485
iS控制柜 | 新C控制柜 | |
---|---|---|
485 IO 丝印 | 485_A, 485_B | A2, B2 |
映射端口号 | ttyIfaceBrd | ttyIfaceBrd |
3. 配置串口信息
在/root/arcs_ws/aubo_control.conf
中[[RobotHw]]
下的[RobotHw.options]
项中增加如下配置,如不增加默认为波特率115200、停⽌位1和⽆校验。
[ifacebrd_serial]
baudrate = "115200" # 控制柜接口板透传RS485串口支持的波特率 "4800" "9600" "19200" "38400" "57600" "115200"
stopbits = "1" # 控制柜接口板RS485串口支持的停止位 "1" "0.5" "1.5" "2"
parity = "none" # 控制柜接口板透传RS485串口支持的校验位 "none" "even" "odd"
在/root/arcs_ws/aubo_control.conf
中配置位置如下所示。
[[RobotHw]]
location = "extensions/hardware_interface/hardware_interface.so"
bundle = "robot_driver"
alias = "robot_driver1"
[RobotHw.options]
friction_model_version = 3
port_mac = "01:01:01:01:01:01"
joints = [ 1, 2, 3, 4, 5, 6 ]
slave_joints = [ 11, 12, 13, 14, 15, 16 ]
tool = 9
base = 8
master_board = 1
slave_board = 2
sync_period = 5000
can_port_mode = "DUAL_CAN_INV"
tool_bus_type = 1 # 末端串⼝类型 0-modbus 1-485串⼝ 2-⼒传感器
baudrate = "115200" # 末端串⼝⽀持的波特率 "4800" "9600" "19200" "38400" "57600" "115200"
stopbits = "1" # 末端串⼝⽀持的停⽌位 "1" "0.5" "1.5" "2"
parity = "none" # 末端串⼝⽀持的校验位 "none" "even" "odd"
[ifacebrd_serial]
baudrate = "115200" # 控制柜接口板透传RS485串口支持的波特率 "4800" "9600" "19200" "38400" "57600" "115200"
stopbits = "1" # 控制柜接口板RS485串口支持的停止位 "1" "0.5" "1.5" "2"
parity = "none" # 控制柜接口板透传RS485串口支持的校验位 "none" "even" "odd"
4. 进行测试
- 配置完成后需要重启
aubo_control
。
systemctl restart aubo_control
- 使用
ls /dev/tty*
指令,在设备列表中会多出一项:ttyIfaceBrd如下图所示。
终端输入
cutecom
回车打开cutecom
工具,若无法打开则需要输入下列指令进行安装后在打开。也可使用指令
echo "test" > /dev/ttyIfaceBrd
直接向电脑的XCOM v2.3
串口助手发送数据,cat /dev/ttyIfaceBrd
查看串口助手发送的数据
sudo apt-get install cutecom
- 笔记本双击打开串口助手
XCOM V2.3
,选择串口(如果没有说明未通讯或线缆连接错误),波特率、停止位、数据位、校验位如图所示。点击打开串口
。
- 笔记本(Windows系统)使用
XCOM V2.3
发送信息,另一端的调试助手cutecom
可以打印对应信息;同样,使用调试助手cutecom
发送信息,XCOM V2.3
也打印信息。
二、控制柜原生485测试
控制原生485指RS485串口接到了工控机上,不同控制柜RS485串口号不一致
1. 准备工具
USB转RS485串口线、XCOM V2.3、杜邦线(两根)。
XCOM V2.3: https://download.aubo-robotics.cn/3rd-party/XCOM_V2.3.zip
2. 连接线缆
以iS控制柜为例,将一根九针的USB转RS485线通过杜邦线连接至控制柜,接线方式为引脚1连引角1,引脚2连引脚2,如下图所示。
其它控制柜RS485串口信息如下表所示。
IS | 改进型控制柜 | 新C | S/ES3/ES5 | Mini控制盒 | |
---|---|---|---|---|---|
485 IO 丝印 | RS485 | Modbus RTU | A1 B1 | 485+ 485- | COM2 |
端口号 | ttyS2 | ttyS2 | ttyS0 | ttyS7 | ttyS2 |
UI 展示 | RS485 | Modbus RTU | [I/O] A1, B1 | [I/O] 485+, 485- | COM2 |
3. 配置参数
进入控制柜的终端,设置串口的波特率、数据位、奇偶校验和停止位。
默认设置波特率:115200、数据位8位、无奇偶校验位、停止位为1位
stty -F /dev/ttyS2 115200 cs8 -parenb -cstopb
/dev/ttyS2
表示ttyS2
串口设备文件的路径115200
表示波特率的大小cs8
表示数据位8位-parenb
表示无奇偶校验位 #parenb-parodd
为偶校验,parodd parodd
:奇校验-cstopb
表示停止位为1位 #cstopb
停止为2打开控制柜的终端,查询串口参数。
stty -F /dev/ttyUSB0 -a
4. 进行测试
- 终端输入
cutecom
回车打开cutecom
工具,若无法打开则需要输入下列指令进行安装后在打开。
也可使用指令
echo "test" > /dev/ttyIfaceBrd
直接向电脑的XCOM v2.3
串口助手发送数据,cat /dev/ttyIfaceBrd
查看串口助手发送的数据
sudo apt-get install cutecom
- 笔记本双击打开串口助手
XCOM V2.3
,选择串口(如果没有说明未通讯或线缆连接错误),波特率、停止位、数据位、校验位如图所示。点击打开串口
。
- 笔记本(Windows系统)使用
XCOM V2.3
发送信息,另一端的调试助手cutecom
可以打印对应信息;同样,使用调试助手cutecom
发送信息,XCOM V2.3
也打印信息。
三、末端RS485测试
末端485指机械臂末端上的RS485串口,具备末端RS485的机械臂在末端一般有两个IO口,其中四芯的为末端RS485通讯接口
1. 准备工具
四芯485末端线、USB转RS485串口线、XCOM V2.3、cutecom
笔记本(Windows系统)下载的串口助手:XCOM V2.3 https://download.aubo-robotics.cn/3rd-party/XCOM_V2.3.zip
控制柜(Ubuntu系统)下载:cutecom
sudo apt-get install cutecom
2. 连接线缆
四芯末端线缆线序说明:
网络定义 | 线缆颜色 |
---|---|
VCC | 棕色 |
GND | 黑色 |
T/R+ | 白色 |
T/R- | 蓝色 |
485转usb线可能出自不同厂商,正负极丝印可能为485+/485-,或是A/B,亦或是TR+/TR-,甚至部分叫作D+/D-。以实际情况接线即可
3. 配置参数
修改/root/arcs_ws/aubo_control.conf
如下⾯配置:末端为485、波特率115200、停⽌位1和⽆校验。
tool_bus_type = 1 # 末端串⼝类型 0-modbus 1-485串⼝ 2-⼒传感器
baudrate = "115200" # 末端串⼝⽀持的波特率 "4800" "9600" "19200" "38400" "57600" "115200"
stopbits = "1" # 末端串⼝⽀持的停⽌位 "1" "0.5" "1.5" "2"
parity = "none" # 末端串⼝⽀持的校验位 "none" "even" "odd"
示例:
[[RobotHw]]
location = "extensions/hardware_interface/hardware_interface.so"
bundle = "robot_driver"
alias = "robot_driver1"
[RobotHw.options]
friction_model_version = 3
bus_driver = "pcap:enp2s0"
port_mac = "01:01:01:01:01:01"
joints = [ 1, 2, 3, 4, 5, 6 ]
slave_joints = [ 11, 12, 13, 14, 15, 16 ]
tool = 9
base = 8
master_board = 1
slave_board = 2
sync_period = 5000
can_port_mode = "DUAL_CAN_INV"
tool_bus_type = 1 # 末端串⼝类型 0-modbus 1-485串⼝ 2-⼒传感器
baudrate = "115200" # 末端串⼝⽀持的波特率 "4800" "9600" "19200" "38400" "57600" "115
200" "230400" "460800"
stopbits = "1" # 末端串⼝⽀持的停⽌位 "1" "0.5" "1.5" "2"
parity = "none" # 末端串⼝⽀持的校验位 "none" "even" "odd"
4. 进行测试
- 配置完成后,重启
aubo_control
。
systemctl restart aubo_control
- 待上电松刹⻋后,在 /dev 设备列表⾥⾯会多出⼀项:
ttyRobotToo
l。
ls /dev/tty*
通讯线组装后,一头连接机械臂末端,另一头连接笔记本。
控制柜打开
cutecom
,终端输入 cutecom 敲击回车即可打开。
cutecom
- 笔记本双击打开串口助手
XCOM V2.3
,选择串口(如果没有说明未通讯或线缆连接错误),波特率、停止位、数据位、校验位如图所示。点击打开串口
。
- 笔记本(Windows系统)使用
XCOM V2.3
发送信息,另一端的调试助手cutecom
可以打印对应信息;同样,使用调试助手cutecom
发送信息,XCOM V2.3
也打印信息。