36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
// Package action 定义硬件动作请求和执行器接口。
|
||
// 独立于 eventloop 和 processor 包,避免循环依赖。
|
||
package action
|
||
|
||
import "context"
|
||
|
||
// RobotAction 机器人动作请求。
|
||
// 取料 → 操作 → 放料 三段式结构:
|
||
// Src* 字段描述从哪里取工件,Dst* 字段描述放到哪里。
|
||
// SrcMachine/DstMachine 为 0 表示暂存台(此时 SrcSlot/DstSlot 为暂存台槽位号)。
|
||
type RobotAction struct {
|
||
Kind string // 八个新版 kind
|
||
JobID int
|
||
|
||
// 取料位置
|
||
SrcSlot int // 暂存台槽位 / 设备槽位
|
||
SrcMachine int // 设备 ID,0 表示暂存台
|
||
SrcDock int // 接驳台号(补料从接驳台)
|
||
|
||
// 放料位置
|
||
DstSlot int // 暂存台槽位 / 设备槽位 / 接驳台槽位
|
||
DstMachine int // 设备 ID,0 表示暂存台
|
||
DstDock int // 接驳台号(下料到接驳台)
|
||
|
||
// 工件属性
|
||
WorkpieceType int
|
||
|
||
// 额外参数(loadJobID、doneJobID、doneSlots、text、round 等)
|
||
Extra map[string]any
|
||
}
|
||
|
||
// HardwareWorker 硬件执行器接口
|
||
type HardwareWorker interface {
|
||
Execute(ctx context.Context, actions []RobotAction) error
|
||
}
|