发布时间: 2026-01-21
3.9.2 RTSI 协议
RTSI 全称为实时数据交互 (Real-Time Synchronization Interface),该协议提供了标准的 TCP/IP 链接,用于与外部程序进行实时的数据交互。
交互的数据内容例如: * 输出:机器人输出整型寄存器的值、末端负载等; * 输入:机器人浮点输入寄存器、数字输入 I/O 的状态设置。
RTSI 分为协议检查、设置、同步循环三个步骤。因为协议会迭代更新的,所以当 RTSI 客户端接入时需要首先进行协议版本的校验,以确定是否可以继续进行通信。注意:目前为第一版协议。在版本校验可以通信后,需要设置所需要订阅的变量。最后发送启动信号就可以开始通信。
当链接到 RTSI 服务端时,客户端负责设置要订阅的变量。客户端可以订阅输入或输出可订阅项的任意组合。为此,客户端需要向服务端发送需要订阅的变量名,这些变量名必须是下文中“订阅项”章节所列举的名称。在接收到客户端所发送的订阅请求后,服务端将会回复变量类型的列表。当完成设置后,发送开始信号,服务端就会开始同步循环,需要暂停同步循环时,发送暂停信号即可。
当开始同步循环后,服务端将会按照客户端请求的顺序发送数据。如果需要改变值时,客户端按照订阅时的顺序,将数据进行二进制序列化后发送。
所有的数据包都有统一的结构,都为报文头 + 报文内容的形式(有的数据包不需要报文内容)。在“协议检查”和“设置”这两个步骤中,存在回复报文,而“同步循环”步骤中却没有回复报文。注意在所有数据包中“消息数据包”可在任意时刻发送和接收。RTSI 的网络端口为 30004。有关 RTSI 的使用说明,请登陆官网:www.elibot.com,进入“服务与支持 > 技术资料”板块,选择“CS_ 用户手册 V2.14.5 附件”进行查询。