跳转到内容

RS485 测试

1 控制柜接口板透传 RS485 测试

接口板透传 RS485 指将 RS485 接到了接口板可以由软件进行配置,具有统一的映射端口号:ttyIfaceBrd

注意:接口板透传 485 功能需要 ARCS:0.31.0 分支搭配固件:v1.1.1 版本以上进行测试,v1.1.1 以下版本不具备接口板透传485功能

1.1 准备工具

USB 转 RS485 串口线、XCOM V2.3、杜邦线(两根)

XCOM V2.3: https://download.aubo-robotics.cn/3rd-party/XCOM_V2.3.zip

1.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_BA2, B2
映射端口号ttyIfaceBrdttyIfaceBrd

1.3 配置串口信息

接口板透传 RS485 参数默认为波特率:115200、停⽌位:1、⽆校验,如需修改可以在 aubo_control.conf 文件中添加配置进行修改或通过上位机实时配置两种方法进行修改参数配置。

1.3.1 配置方法 1

/root/arcs_ws/aubo_control.conf[[RobotHw]] 下的 [RobotHw.options] 项中增加如下配置,如不增加默认为波特率 115200、停⽌位 1和⽆校验。

[RobotHw.options.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"
     [RobotHw.options.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"

配置完成后需要重启 aubo_control

systemctl restart aubo_control

1.3.2 配置方法 2

通过上位机进行实时配置,使用浏览器和 TCP 调试助手发送脚本,使用方法参考27 使用浏览器和 TCP 调试助手发送脚本 · AUBO 应用笔记

服务器地址: ws://192.168.10.150:9012 使用此端口发送脚本,192.168.10.150 为当前设备的 IP 地址。

{"jsonrpc": "2.0", "id": "ri1godwu", "method": "rob1.RobotConfig.setHardwareCustomParameters", "params":["[ifacebrd_serial]\nbaudrate = \"115200\"\nstopbits = \"1\"\nparity = \"none\"\n"]}

1.4 进行测试

  1. 使用 ls /dev/tty* 指令,在设备列表中会多出一项:ttyIfaceBrd,如下图所示。

  2. 终端输入 cutecom 回车打开 cutecom 工具,若无法打开则需要输入下列指令进行安装后再打开。

    也可使用指令 echo "test" > /dev/ttyIfaceBrd直接向电脑的 XCOM V2.3串口助手发送数据,cat /dev/ttyIfaceBrd 查看串口助手发送的数据 注:16.04 系统的 cutecom 工具与本文档一致,可正常测试使用;若系统版本为22.04,则无法在 cutecom 中选择 /dev/ttyIfaceBrd 串口进行测试,只能使用指令进行测试。

    sudo apt-get install cutecom
  3. 笔记本双击打开串口助手 XCOM V2.3,选择串口(如果没有说明未通讯或线缆连接错误),波特率、停止位、数据位、校验位如图所示。点击打开串口

    chicken_breas
  4. 笔记本(Windows 系统)使用XCOM V2.3发送信息,另一端的调试助手 cutecom可以打印对应信息;同样,使用调试助手 cutecom发送信息,XCOM V2.3也打印信息。

    chicken_breaschicken_breas

2 控制柜原生 RS485 测试

控制柜原生 485 指 RS485 串口接到了工控机上,不同控制柜 RS485 串口号不一致

2.1 准备工具

USB 转 RS485 串口线、XCOM V2.3、杜邦线(两根)。

XCOM V2.3: https://download.aubo-robotics.cn/3rd-party/XCOM_V2.3.zip

2.2 连接线缆

以 iS 控制柜为例,将一根九针的 USB 转 RS485 线通过杜邦线连接至控制柜,接线方式为引脚 1 连引脚 1,引脚 2 连引脚 2,如下图所示。

其他控制柜 RS485 串口信息如下表所示。

IS改进型控制柜新 CS/ES3/ES5Mini 控制盒
485 IO 丝印RS485Modbus RTUA1 B1485+ 485-COM2
端口号ttyS2ttyS2ttyS0ttyS7ttyS2
UI 展示RS485Modbus RTU[I/O] A1, B1[I/O] 485+, 485-COM2

2.3 配置参数

  1. 进入控制柜的终端,设置串口的波特率、数据位、奇偶校验和停止位。

    默认设置波特率: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
  1. 打开控制柜的终端,查询串口参数。
stty -F /dev/ttyUSB0 -a

2.4 进行测试

  1. 终端输入 cutecom 回车打开 cutecom 工具,若无法打开则需要输入下列指令进行安装后再打开。

也可使用指令 echo "test" > /dev/ttyS2直接向电脑的 XCOM V2.3串口助手发送数据,cat /dev/ttyS2查看串口助手发送的数据

sudo apt-get install cutecom
  1. 笔记本双击打开串口助手 XCOM V2.3,选择串口(如果没有说明未通讯或线缆连接错误),波特率、停止位、数据位、校验位如图所示。点击打开串口
chicken_breas
  1. 笔记本(Windows 系统)使用XCOM V2.3发送信息,另一端的调试助手 cutecom可以打印对应信息;同样,使用调试助手 cutecom发送信息,XCOM V2.3也打印信息。
chicken_breaschicken_breas

3 末端 RS485 测试

末端 485 指机械臂末端上的 RS485 串口,具备末端 RS485 的机械臂在末端一般有两个 I/O 口,其中四芯的为末端 RS485 通讯接口

3.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

3.2 连接线缆

四芯末端线缆线序说明:

网络定义线缆颜色
VCC棕色
GND黑色
T/R+白色
T/R-蓝色

485 转 USB 线可能出自不同厂商,正负极丝印可能为485+/485-,或是A/B,亦或是TR+/TR-,甚至部分叫作D+/D-。以实际情况接线即可

chicken_breas

3.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"

3.4 进行测试

  1. 配置完成后,重启 aubo_control
systemctl restart aubo_control
  1. 待上电松刹⻋后,在 /dev 设备列表⾥⾯会多出⼀项: ttyRobotTool
ls /dev/tty*
chicken_breas
  1. 通讯线组装后,一头连接机械臂末端,另一头连接笔记本。

  2. 控制柜打开 cutecom,终端输入 cutecom 并按回车即可打开。 注:16.04 系统的 cutecom 工具与本文档一致,可正常测试使用;若系统版本为22.04,则无法在 cutecom 中选择 /dev/ttyRobotTool 串口进行测试,只能使用指令进行测试。

cutecom
chicken_breas
  1. 笔记本双击打开串口助手 XCOM V2.3,选择串口(如果没有说明未通讯或线缆连接错误),波特率、停止位、数据位、校验位如图所示。点击打开串口
chicken_breas
  1. 笔记本(Windows 系统)使用XCOM V2.3发送信息,另一端的调试助手 cutecom可以打印对应信息;同样,使用调试助手 cutecom发送信息,XCOM V2.3也打印信息。
chicken_breaschicken_breas