仙工
配置回调
目前仙工RDS Core支持4种回调。
- PostAction,动作块完成时回调
- Receiver-BlockStateChange在动作块状态变化时执行
- StatePoster,拼合单状态变化时执行
- Trigger-OrderStateChange,在运单状态变化时执行

智慧物流系统 支持了Block和Order的回调地址,用户只需在仙工RDS Core中配置对应的回调地址。
Block回调地址(废弃)

- ip: 智慧物流系统服务ip地址
- port: 智慧物流系统服务端口
- Path:
/api/seer/callback/block-state-change
Order回调地址

- condition: OrderStateChanged
- action: HttpRequest
- schemeHostPort: 智慧物流系统服务ip地址和端口
- path:
/api/seer/callback/order-state-change - expectedStatusCode: 200
- expectedResponseBody:
{"msg":"success", "code":1000}
Modbus 接入
仙工机器人同时提供 Modbus 地址映射,适合通过 PLC、HSL 或第三方上位机直接读写机器人的控制量和状态量。
地址区说明
仙工文档中的四类地址与标准 Modbus 对象类型对应如下:
| 地址区 | 类型 | 访问方式 | 说明 | 示例 |
|---|---|---|---|---|
0x | 线圈(Coils) | 读写 | 可写状态量,通常写入后机器人会自动清零 | 抢占控制权:00010 |
1x | 离散输入(Discrete Inputs) | 只读 | 只读开关量状态 | 是否急停:00004 |
3x | 输入寄存器(Input Registers) | 只读 | 只读数值状态 | 控制权是否被外部抢占:00043 |
4x | 保持寄存器(Holding Registers) | 读写 | 可写数值型命令或参数 | 导航目标站点:00001 |
结合当前项目的 HSL 使用习惯,常见写法可以先按下面理解:
| 语义 | 仙工地址 | HSL 示例 | 说明 |
|---|---|---|---|
| 抢占控制权 | 0x 00010 | x=5;10 | 写入 1,机器人收到后自动回写 0 |
| 是否急停 | 1x 00004 | x=2;4 | 0=未急停,1=急停 |
| 控制权是否被外部抢占 | 3x 00043 | x=4;43 | 0= 未被外部抢占,1=被外部抢占 |
| 导航去哪里 | 4x 00001 | x=6;1 | 写入目标站点 id,机器人收到后自动回写 0 |
如果现场驱动启用了首地址从 0 开始、地址前缀映射或自定义偏移,需要以实际驱动配置为准。
常用点位
| 功能 | 地址 | 类型 | 值说明 |
|---|---|---|---|
| 抢占控制权 | 0x 00010 | 可写状态量 | 写 1 为机器人自身抢占控制权 |
| 释放控制权 | 0x 00011 | 可写状态量 | 写 1 为释放控制权给调度系统 |
| 是否急停 | 1x 00004 | 只读状态量 | 0=未急停,1=急停 |
| 机器人定位状态 | 3x 00008 | 只读寄存器 | 0=定位失败,1=定位正确,2=正在重定位,3=定位完成 |
| 机器人当前导航状态 | 3x 00009 | 只读寄存器 | 0=无,1=等待执行,2=执行中,3=暂停,4=到达,5=失败,6=取消,7=超时 |
| 控制权是否被外部抢占 | 3x 00043 | 只读寄存器 | 0=自己抢占或未被抢占,1=被外部抢占 |
| 导航目标站点 | 4x 00001 | 可写寄存器 | 写入站点 id,大于 0 |
接入建议
- 如果需要由外部系统直接控制导航,建议先关注
0x 00010、0x 00011、3x 00043这几个控制权相关地址。 - 如果需要让机器人导航到指定站点,通常先确认控制权,再向
4x 00001写入目标站点 id。 - 如果现场要做安全联锁,至少要持续读取
1x 00004是否急停、1x 00002是否阻挡、3x 00009当前导航状态。 float32类型寄存器会占用连续两个地址,接入 PLC 或上位机时需要注意字节序和高低位顺序。