机器人程序与上位系统数据交互怎么分层

把数据分成三层
机器人系统与上位系统的数据可以分成三层:实时层传递启动、停止、急停与联锁信号,要求低延迟,通常走硬线或实时总线;状态层传递运行状态、报警、当前位置与计数,允许一定周期,可走工业以太网;管理层传递工单、配方、产量与质量记录,周期要求最松,可走数据库或消息接口。分层的好处是某一层维护时不影响其他层。
每层要约定字段含义
字段口径不清是联调中最常见的返工原因。约定时要写明数据类型、单位、取值范围与异常值含义。例如状态字中某一位代表什么报警、报警复位后该位何时清零、通信中断时上位系统按什么策略处理。把这些写进接口文档,双方按文档开发与测试。
- 三层数据是否分别定义通道与周期
- 字段单位与取值范围是否明确
- 通信中断与超时的策略是否定义
- 接口文档版本是否受控
联调按层推进
联调时先通实时层,确认基本动作与联锁正确;再通状态层,核对每一项状态变化的时机;最后通管理层,核对工单下发与数据回传。逐层验证比一次性全通更容易定位问题所在。