发布时间: 2026-01-12

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. 示例

程序订阅输出和输入订阅如下

运行打印如下

机器人数据

5. 附录

python程序实例 RTSI订阅内容表

RTSI.md

30004.py

 

 

提交反馈