UFACTORY机械臂 - 私有TCP协议

部署运行你感兴趣的模型镜像

通信格式

单位定义

下面介绍了示例和表格中使用的一些符号:

U8: 1 Byte, 8位无符号整型
U16: 2 Bytes,16位无符号整型
FP32: 4 Bytes, 浮点数
str: 字符串

系统重置: 用户刚刚进入模式切换后的状态或更改了一些设置(如 TCP 偏移、灵敏度等)。它将终止机器人正在进行的移动并清除所有缓存命令,这与 STOP 状态相同。

TCP私有协议格式

tcp私有协议:

私有协议是一种应用层消息传输协议,包括 ASCII、RTU 和 TCP 三种消息类型。标准 Modbus 协议物理层接口包括 RS232、RS422、RS485 和以太网接口,采用主/从通信。
私有协议流程:
(1)建立 TCP 连接
(2)准备 modbus 报文
(3)使用 send 命令发送报文
(4)在同一连接下等待应答
(5)使用 recv 命令读取报文,完成一次数据交换
(6)通信任务结束时,关闭 TCP 连接

参数

默认 TCP 端口:502
协议:0x00 0x02 控制(当前只有这一个)

请求指令格式:

格式事务标识 (u16)协议 (u16)长度 (u16)寄存器 (u8)参数 (参照各指令说明)
长度2 Bytes2 Bytes2 Bytes1 Byten Bytes
示例(使能伺服)0x00 0x010x00 0x020x00 0x030x0B0x08 0x01

响应命令格式

格式事务标识 (u16)协议 (u16)长度 (u16)寄存器(u8)状态位(u8)回复参数 (参照各指令说明)
长度2 Bytes2 Bytes2 Bytes1 Byte1 Byten Bytes
示例(使能伺服)0x00 0x010x00 0x020x00 0x020x0B0x00none

响应指令格式的状态位

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
保留1存在错误0 正常1 存在警告0 正常1不可执行运动0正常保留保留保留保留

注意

(1) 事务标识:一般每次通信之后就要加1以区别不同的通信数据报文。
(2) 协议标识符:0x00 0x02表示ModbusTCP协议。
(3) 长度:表示接下来的数据长度,单位为字节。
(4) 寄存器:设备地址

关于用户使用通信协议组织数据的大小端问题:

Modbus-TCP 控制协议:

  1. 报文头区的事务标识 (u16 )按大端序解析。
  2. 报文头区的协议标识 (u16)按大端序解析。
  3. 报文头区的长度 (u16) 按大端序解析。
  4. 参数区 32 位数据类型 (fp32, int32) 按小端序解析。
  5. 参数区涉及 GPIO 操作的 (u16 )按大端序解析。

自动上报数据解析:

  1. 整型数据 (16/32 位 ) 按大端序解析。
  2. 浮点型 (fp32) 数据按小端序解析。

示例

假设变量 x 的类型为 int,位于地址 0x100 处,有一个十六进制的数 0x12345678(高
位为 0x12,低位为 0x78),地址范围为 0x100-0x103 的字节顺序依赖于机器的类型:

大端法:

0x1000x1010x1020x103
0x120x340x560x78

小端法:

0x1000x1010x1020x103
0x780x560x340x12

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值