package tightening import ( "context" "github.com/zeromicro/go-zero/core/logx" ) // Source 拧紧枪数据源接口。 // // 真实拧紧枪(丹尼科尔)是 HID/网络输入设备:工件走到「需要拧紧枪」的工艺步骤时, // 工位终端界面聚焦到该步骤的拧紧输入框,人工操作拧紧枪把采集到的扭矩值打入输入框回车, // 前端随即 POST /api/tightening/record,按当前工件 SN + 工艺步骤落本地库并上报 MES。 // 因此拧紧数据由「工艺步骤 + 人工拧枪」驱动,不再需要后台自由产生模拟数据的源。 type Source interface { Start(ctx context.Context) } // NetSource 丹尼科尔拧紧枪网络数据源占位。 // TODO 正式协议暂放:待拿到丹尼科尔协议文档后在此实现 TCP/UDP 报文解析, // 解析出扭矩/角度后同样按当前工件的拧紧工艺步骤写入本地库(step_id 关联)。 type NetSource struct{} var _ Source = (*NetSource)(nil) func (n *NetSource) Start(ctx context.Context) { logx.Info("拧紧枪网络数据源(占位)已启动,等待丹尼科尔协议接入") <-ctx.Done() }