CS机器人 30004端口使用
1. 简介
RTSI 全称为实时数据交互(Real-Time Sychronization Interface), 该协议提供了标准的
TCP/IP 链接, 用于与外部程序进行实时的数据交互。RTSI 的网络端口为 30004。交互的数据内
容例如:
- 输出:机器人输出整型寄存器的值、末端负载等
- 输入:机器人浮点输入寄存器、数字输入 IO 的状态设置
2. 操作流程
RTSI 分为协议检查、设置、同步循环三个步骤。
具体流程分为:
1.校验协议版本;
2.请求控制器的主版本,次版本,bug-fix 版本,编译版本
3.设置订阅需求(这里设置输出定阅和输入订阅);
4.发送开始信号以开始同步循环;
5.循环接收控制器返回的数据包并解析出来。
2.1 校验协议版本
报文头:86(RTSI_REQUEST_PROTOCOL_VERSION)
上位机向控制柜发送数据格式:
数据总长度(2byte)+报文头(1byte)+协议版本(当前版本都为 01,2byte)
上位机收到控制柜返回的数据格式:
数据总长度(2byte)+报文头(1byte)+校验是否成功(成功为 1,失败为 0,1byte)
2.2 请求控制器的主版本,次版本,bug-fix 版本,编译版本
报文头:118(RTSI_GET_ELITECONTROL_VERSION)
上位机向控制柜发送数据格式:
数据总长度(2byte)+报文头(1byte)
上位机收到控制柜返回的数据格式:
数据总长度(2byte)+报文头(1byte)+主版本(4byte)+次版本(4byte)+ bug-fix 版本
(4byte)+编译版本(4byte)
2.3 设置订阅需求(这里设置输出定阅和输入订阅)
2.3.1 订阅输出需求
报文头:79(RTSI_CONTROL_PACKAGE_SETUP_OUTPUTS)
上位机向控制柜发送数据格式:
数据总长度(2byte)+报文头(1byte)+输出频率(8byte)+订阅变量名(string 类型)
上位机收到控制柜返回的数据格式:
数据总长度(2byte)+报文头(1byte)+订阅 ID(1byte)+订阅变量名类型(string 类型)
2.3.2 订阅输入需求
报文头:73(RTSI_CONTROL_PACKAGE_SETUP_INPUTS)
上位机向控制柜发送数据格式:
数据总长度(2byte)+报文头(1byte) +订阅变量名(string 类型)
上位机收到控制柜返回的数据格式:
数据总长度(2byte)+报文头(1byte)+订阅 ID(1byte)+订阅变量名类型(string 类型)
2.4 发送开始信号以开始”同步循环
报文头:83(RTSI_CONTROL_PACKAGE_START)
上位机向控制柜发送数据格式:
数据总长度(2byte)+报文头(1byte)
上位机收到控制柜返回的数据格式:
数据总长度(2byte)+报文头(1byte)+是否开始(1byte)
2.5 循环接收控制器返回的数据包
报文头:85(RTSI_DATA_PACKAGE)
上位机向控制柜发送数据格式(控制订阅输入时发送):
数据总长度(2byte)+报文头(1byte)+订阅 ID(1byte)+值(bytes)
上位机收到控制柜返回的数据格式(循环接收订阅输出):
数据总长度(2byte)+报文头(1byte)+订阅 ID(1byte)+值(bytes)
说明:可以同时多次订阅输出和输入,每次增加订阅,ID 号会加 1,第一次订阅时 ID 号为 1,在收取订阅输出和控制订阅输入时,可以根据 ID 来区分属于哪次的订阅。
3. 常见问题解答
4. 示例
程序订阅输出和输入订阅如下
运行打印如下
机器人数据