337 lines
17 KiB
Go
337 lines
17 KiB
Go
package constants
|
||||
|
|
|
|||
|
|
// ============================================================================
|
|||
|
|
// 本文件为磨床自动化单元新项目的常量定义。
|
|||
|
|
// ============================================================================
|
|||
|
|
|
|||
|
|
// === 工件分类(WorkpieceCategory) ===
|
|||
|
|
// TODO: 根据实际工件类型补充,当前仅占位
|
|||
|
|
type WorkpieceCategory string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
// TODO: 替换为实际工件分类(如方形件、圆形件等)
|
|||
|
|
WorkpieceCategory_General WorkpieceCategory = "GENERAL"
|
|||
|
|
// 方形件:需要在转台上换向
|
|||
|
|
WorkpieceCategory_Square WorkpieceCategory = "SQUARE"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 设备类型编码(EquipmentTypeCode) ===
|
|||
|
|
// 磨床自动化单元设备清单:
|
|||
|
|
// - DOCK: 接驳台(左42+右42共84工位,AGV暂不对接,预留HTTP接口)
|
|||
|
|
// - GRINDER: 磨床(1台,1工位,支持换料exchange)
|
|||
|
|
// - TURN_TABLE: 换向机构(1工位,用于方形件换向)
|
|||
|
|
// - AIR_BLOW: 清洗(复用Wash信号M2130-M2139,机器人放料→启动清洗→等待完成→取回)
|
|||
|
|
// - FULL_CHECK: 全检台(6工位,纯人工检测,输出"该位置处理完成"通用Done信号)
|
|||
|
|
// - CACHE: 缓存台(6工位,全检台满时暂存,等全检台有空位后回流)
|
|||
|
|
//
|
|||
|
|
// 注意:抽检台即全检台,文档中的"抽检台"是全检台的别名,不单独建模
|
|||
|
|
type EquipmentTypeCode string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
// EquipmentTypeCode_Dock - 接驳台(Dock),工件入线/出线位置,每个接驳台42工位
|
|||
|
|
EquipmentTypeCode_Dock EquipmentTypeCode = "DOCK"
|
|||
|
|
// EquipmentTypeCode_Grinder - 磨床(Grinder),核心加工设备,1工位,支持换料
|
|||
|
|
// 有料用GrinderExchangeReq,无料用GrinderPlaceReq,有料判断由EquipmentSlot.status决定
|
|||
|
|
EquipmentTypeCode_Grinder EquipmentTypeCode = "GRINDER"
|
|||
|
|
// EquipmentTypeCode_TurnTable - 换向机构(TurnTable),单工位,用于方形工件换向
|
|||
|
|
// 流程:放换向机构→PLC自动旋转→收到TurnTablePlaceDone信号→取回放入磨床
|
|||
|
|
EquipmentTypeCode_TurnTable EquipmentTypeCode = "TURN_TABLE"
|
|||
|
|
// EquipmentTypeCode_AirBlow - 清洗(AirBlow)
|
|||
|
|
// 流程:机器人放料→发WashStartReq→等待WashCompleteDone→机器人取回
|
|||
|
|
EquipmentTypeCode_AirBlow EquipmentTypeCode = "AIR_BLOW"
|
|||
|
|
// EquipmentTypeCode_Cache - 缓存台(Cache),6工位暂存缓冲位
|
|||
|
|
// 全检台放满时临时放置已磨削未检测工件。
|
|||
|
|
// 缓存台无独立PLC信号,回流由软件逻辑触发:全检台检测完成后,机器人取走已检工件,
|
|||
|
|
// 全检台出现空位,调度器将缓存台上的工件重新调度到全检台。
|
|||
|
|
EquipmentTypeCode_Cache EquipmentTypeCode = "CACHE"
|
|||
|
|
// EquipmentTypeCode_FullCheck - 全检台(FullCheck),6工位,纯人工检测
|
|||
|
|
// 机器人放料后发 FullCheckPlaceDoneRequestInspect (M2102) 通知PLC可开始检测,
|
|||
|
|
// 检测完成后 PLC 发 FullCheckInspectDone (M2098) 通知软件取料。
|
|||
|
|
EquipmentTypeCode_FullCheck EquipmentTypeCode = "FULL_CHECK"
|
|||
|
|
// EquipmentTypeCode_Robot - 搬运机器人,串行互斥执行工件搬运,slotCount=0 无加工槽位
|
|||
|
|
EquipmentTypeCode_Robot EquipmentTypeCode = "ROBOT"
|
|||
|
|
// EquipmentTypeCode_TempSlot - 夹爪(TempSlot),机器人的持料虚拟位置,
|
|||
|
|
// 非物理设备:工件被机器人夹持期间归属此位置,slotCount=0
|
|||
|
|
EquipmentTypeCode_TempSlot EquipmentTypeCode = "TEMP_SLOT"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 槽位状态(SlotStatus) ===
|
|||
|
|
// 设备/接驳台/缓存台上每个槽位的占用状态。
|
|||
|
|
// 状态机:EMPTY → OCCUPIED(上料/搬运中)→ PROCESSING(加工中,如磨床/全检)→ DONE(完成待取)→ EMPTY
|
|||
|
|
type SlotStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
SlotStatus_Empty SlotStatus = "EMPTY" // 空槽位
|
|||
|
|
SlotStatus_Occupied SlotStatus = "OCCUPIED" // 已占用,工件在槽位上等待/已到位
|
|||
|
|
SlotStatus_Processing SlotStatus = "PROCESSING" // 正在加工/检测中(磨床磨削中、全检检测中、清洗中)
|
|||
|
|
SlotStatus_Done SlotStatus = "DONE" // 本工位加工完成,等待机器人取走
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 产线状态(LineStatus,前端 systemStatus.lineStatus 枚举) ===
|
|||
|
|
type LineStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
LineStatus_Idle LineStatus = "idle" // 空闲:无运行中工单
|
|||
|
|
LineStatus_Emergency LineStatus = "emergency" // 紧急:有 PROCESSING 槽位(加工/检测中)
|
|||
|
|
LineStatus_Paused LineStatus = "paused" // 暂停:有未确认报警或暂停工单
|
|||
|
|
LineStatus_Running LineStatus = "running" // 运行中:有活跃工单
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 旧引擎 job_step 快照状态(新蓝图不复刻,仅终态清理/防御用) ===
|
|||
|
|
type JobStepStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
JobStepStatus_Error JobStepStatus = "error"
|
|||
|
|
JobStepStatus_Completed JobStepStatus = "completed"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 设备占用标识(OccupiedBy) ===
|
|||
|
|
// 仅接驳台使用,ROBOT/AGV/MANUAL 互斥占用
|
|||
|
|
type OccupiedBy string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
OccupiedBy_Robot OccupiedBy = "ROBOT" // 机器人正在取放接驳台工件
|
|||
|
|
OccupiedBy_AGV OccupiedBy = "AGV" // AGV 正在进线
|
|||
|
|
OccupiedBy_Manual OccupiedBy = "MANUAL" // 人工占用(故障排查/维护)
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 工序类型(StepType) ===
|
|||
|
|
// 磨床单元新工艺路线(新流程版):
|
|||
|
|
//
|
|||
|
|
// OP10 DOCK_LOAD 接驳台上料(机器人取毛坯)
|
|||
|
|
// 有料判断由EquipmentSlot.status决定
|
|||
|
|
// OP20 GRIND 磨床磨削
|
|||
|
|
// 有料用GrinderExchangeReq,无料用GrinderPlaceReq
|
|||
|
|
// OP30 AIR_BLOW 清洗(机器人放料→发WashStartReq→等WashCompleteDone→取回)
|
|||
|
|
// 复用Wash信号M2130-M2139
|
|||
|
|
// OP40 FULL_CHECK 全检台检测(机器人放料→等待检测完成→取回)
|
|||
|
|
// 纯人工检测,不区分OK/NG;全检台满时先放缓存台
|
|||
|
|
// OP50 CACHE_STAGE 缓存台暂存(全检台满时暂存,等全检台有空位后软件调度回流)
|
|||
|
|
// 缓存台无独立PLC信号,回流由调度器运行时判断
|
|||
|
|
// OP60 DOCK_UNLOAD 接驳台下料(成品放回接驳台)
|
|||
|
|
type StepType string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
// StepType_Operation - 设备加工工序(磨削、清洗、全检等需要设备执行的步骤)
|
|||
|
|
StepType_Operation StepType = "OPERATION"
|
|||
|
|
// StepType_BufferStage - 缓存台暂存步骤,工件在缓存台等待
|
|||
|
|
StepType_BufferStage StepType = "BUFFER_STAGE"
|
|||
|
|
// StepType_Decision - 决策步骤,根据条件分支选择下一工序
|
|||
|
|
StepType_Decision StepType = "DECISION"
|
|||
|
|
// StepType_AirBlow - 机器人末端气吹清洁步骤,占用机器人,无设备信号握手
|
|||
|
|
StepType_AirBlow StepType = "AIR_BLOW"
|
|||
|
|
// StepType_LoadDock - 从接驳台上料(取毛坯)
|
|||
|
|
StepType_LoadDock StepType = "LOAD_DOCK"
|
|||
|
|
// StepType_UnloadDock - 下料到接驳台(放回成品)
|
|||
|
|
StepType_UnloadDock StepType = "UNLOAD_DOCK"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 工件状态(JobStatus) ===
|
|||
|
|
// 工件(job)生命周期状态,EventLoop是唯一状态写路径。
|
|||
|
|
type JobStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
JobStatus_Created JobStatus = "CREATED" // 已创建,尚未上线
|
|||
|
|
JobStatus_InHandling JobStatus = "IN_HANDLING" // 机器人/PLC正在搬运
|
|||
|
|
JobStatus_Processing JobStatus = "PROCESSING" // 设备加工/检测中
|
|||
|
|
JobStatus_WaitingUnload JobStatus = "WAITING_UNLOAD" // 本工序完成,等待取走
|
|||
|
|
JobStatus_OnBuffer JobStatus = "ON_BUFFER" // 在缓存台暂存
|
|||
|
|
|
|||
|
|
JobStatus_WaitingDecision JobStatus = "WAITING_DECISION" // 等待检测判定
|
|||
|
|
JobStatus_WaitingReorient JobStatus = "WAITING_REORIENT" // 等待转台换向
|
|||
|
|
JobStatus_Completed JobStatus = "COMPLETED" // 已完成下线
|
|||
|
|
JobStatus_Scrapped JobStatus = "SCRAPPED" // 已报废/不合格
|
|||
|
|
JobStatus_Suspended JobStatus = "SUSPENDED" // 已暂停
|
|||
|
|
// 以下三个为防御性常量:现行代码不写这些状态,仅用于识别历史数据残留
|
|||
|
|
// (如旧引擎取消工单/异常终态的 job),终态判定时统一拦截防误推进。
|
|||
|
|
JobStatus_Error JobStatus = "ERROR" // 异常终态(历史数据防御)
|
|||
|
|
JobStatus_Failed JobStatus = "FAILED" // 失败终态(历史数据防御)
|
|||
|
|
JobStatus_Cancelled JobStatus = "CANCELLED" // 取消终态(历史数据防御)
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 工单状态(WorkOrderStatus) ===
|
|||
|
|
type WorkOrderStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
WorkOrderStatus_Created WorkOrderStatus = "CREATED" // 已创建,尚未启动
|
|||
|
|
WorkOrderStatus_InProgress WorkOrderStatus = "IN_PROGRESS" // 生产中,有活跃Job在运行
|
|||
|
|
WorkOrderStatus_Paused WorkOrderStatus = "PAUSED" // 已暂停,所有Job挂起
|
|||
|
|
WorkOrderStatus_Completed WorkOrderStatus = "COMPLETED" // 已完成,所有Job终态
|
|||
|
|
WorkOrderStatus_Cancelled WorkOrderStatus = "CANCELLED" // 已取消,非终态Job全部报废
|
|||
|
|
WorkOrderStatus_Error WorkOrderStatus = "ERROR" // 异常,需人工介入
|
|||
|
|
WorkOrderStatus_Reported WorkOrderStatus = "REPORTED" // MOM业务:已向MOM报工完成,工单完全结束
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 设备状态(EquipmentStatus) ===
|
|||
|
|
type EquipmentStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
EquipmentStatus_Idle EquipmentStatus = "IDLE" // 空闲,无工件在加工
|
|||
|
|
EquipmentStatus_Loading EquipmentStatus = "LOADING" // 机器人正在上料(PLC握手阶段)
|
|||
|
|
EquipmentStatus_Processing EquipmentStatus = "PROCESSING" // 设备加工中(磨床磨削中、全检检测中)
|
|||
|
|
EquipmentStatus_Unloading EquipmentStatus = "UNLOADING" // 机器人正在下料
|
|||
|
|
EquipmentStatus_Fault EquipmentStatus = "FAULT" // 设备故障,需人工排查
|
|||
|
|
EquipmentStatus_Offline EquipmentStatus = "OFFLINE" // 设备离线,PLC通讯中断
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 位置类型(PositionType) ===
|
|||
|
|
type PositionType string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
PositionType_OnEquipment PositionType = "ON_EQUIPMENT" // 设备槽位(磨床/转台/全检/缓存)
|
|||
|
|
PositionType_OnDock PositionType = "ON_DOCK" // 接驳台
|
|||
|
|
PositionType_OnCache PositionType = "ON_CACHE" // 缓存台(从ON_BUFFER独立出来)
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 任务状态(TaskStatus) ===
|
|||
|
|
// PLC动作任务状态(发Req→等Done→清信号)
|
|||
|
|
type TaskStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
TaskStatus_Created TaskStatus = "CREATED" // 任务已创建,等待调度
|
|||
|
|
TaskStatus_Dispatched TaskStatus = "DISPATCHED" // 任务已下发到Worker,等待执行
|
|||
|
|
TaskStatus_Running TaskStatus = "RUNNING" // PLC动作执行中(已写Req,等待Done)
|
|||
|
|
TaskStatus_Success TaskStatus = "SUCCESS" // 任务执行成功
|
|||
|
|
TaskStatus_Failed TaskStatus = "FAILED" // 任务执行失败
|
|||
|
|
TaskStatus_Timeout TaskStatus = "TIMEOUT" // 任务执行超时
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 工站状态(StationStatus) ===
|
|||
|
|
type StationStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
StationStatus_Idle StationStatus = "IDLE" // 工站空闲,可接收新工件
|
|||
|
|
StationStatus_Busy StationStatus = "BUSY" // 工站忙碌,所有槽位已占用/加工中
|
|||
|
|
StationStatus_Waiting StationStatus = "WAITING" // 工站等待,等待机器人或PLC信号
|
|||
|
|
StationStatus_Fault StationStatus = "FAULT" // 工站故障,需人工介入
|
|||
|
|
StationStatus_Offline StationStatus = "OFFLINE" // 工站离线,通讯中断
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 报警等级(AlarmLevel) ===
|
|||
|
|
type AlarmLevel string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
AlarmLevel_INFO AlarmLevel = "INFO" //普通信息级报警,仅记录无停机风险
|
|||
|
|
AlarmLevel_WARN AlarmLevel = "WARN" // 警告级报警,轻微异常,产线可继续运行
|
|||
|
|
AlarmLevel_ERROR AlarmLevel = "ERROR" // 错误级报警,设备局部故障,需干预
|
|||
|
|
AlarmLevel_CRITICAL AlarmLevel = "CRITICAL" // 严重故障级报警,整机紧急停机
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 报警状态(AlarmStatus) ===
|
|||
|
|
type AlarmStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
AlarmStatus_ACTIVE AlarmStatus = "ACTIVE" // 报警当前持续触发中
|
|||
|
|
AlarmStatus_ACKED AlarmStatus = "ACKED" // 报警已人工确认,但故障未消除
|
|||
|
|
AlarmStatus_CLEARED AlarmStatus = "CLEARED" // 报警故障已消除
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 人工交互类型(ManualActionType) ===
|
|||
|
|
// 磨床单元需要人工介入的场景
|
|||
|
|
type ManualActionType string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
// ManualActionType_InspectionDecision - 全检NG,需要人工判定放行/报废
|
|||
|
|
ManualActionType_InspectionDecision ManualActionType = "INSPECTION_DECISION"
|
|||
|
|
// ManualActionType_RecoveryRequired - 异常恢复(断电重启后状态不一致)
|
|||
|
|
ManualActionType_RecoveryRequired ManualActionType = "RECOVERY_REQUIRED"
|
|||
|
|
// ManualActionType_FaultConfirm - 设备故障确认
|
|||
|
|
ManualActionType_FaultConfirm ManualActionType = "FAULT_CONFIRM"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 人工交互状态(ManualActionStatus) ===
|
|||
|
|
type ManualActionStatus string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
ManualActionStatus_PENDING ManualActionStatus = "PENDING" // 等待人工处理
|
|||
|
|
ManualActionStatus_RESOLVED ManualActionStatus = "RESOLVED" // 人工操作已完成处置
|
|||
|
|
ManualActionStatus_EXPIRED ManualActionStatus = "EXPIRED" // 人工操作超时未处理
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 恢复决策(RecoveryDecision) ===
|
|||
|
|
type RecoveryDecision string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
RecoveryDecision_RESUME RecoveryDecision = "RESUME" // 故障处理完成,恢复自动生产
|
|||
|
|
RecoveryDecision_WAIT_UNLOAD RecoveryDecision = "WAIT_UNLOAD" // 等待取走当前工件后再恢复
|
|||
|
|
RecoveryDecision_SUSPEND RecoveryDecision = "SUSPEND" // 长期暂停产线,等待人工介入
|
|||
|
|
RecoveryDecision_SCRAP RecoveryDecision = "SCRAP" // 当前工件判定报废,清空后重启
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === 工单来源(WorkOrderSource) ===
|
|||
|
|
type WorkOrderSource string
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
WorkOrderSource_Manual WorkOrderSource = "MANUAL" // 工单由操作人员手动创建
|
|||
|
|
WorkOrderSource_MOM WorkOrderSource = "MOM" // 工单由上层 MOM 制造管理系统下发
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// === PLC信号名称常量(Signal Names) ===
|
|||
|
|
// 所有PLC信号名称集中在此,避免魔法字符串散落在代码中。
|
|||
|
|
// 信号名称必须与DB signal表中的name字段完全一致。
|
|||
|
|
const (
|
|||
|
|
// --- 相机 Camera (M2020-M2029) ---
|
|||
|
|
SigCameraShootReq = "CameraShootReq"
|
|||
|
|
SigCameraShootDone = "CameraShootDone"
|
|||
|
|
SigCameraShootTray = "CameraShootTray"
|
|||
|
|
SigCameraWorkType = "CameraWorkType" // 工件类型(product_type.id),每组动作前必写
|
|||
|
|
|
|||
|
|
// --- 接驳台 Dock (M2000-M2029) ---
|
|||
|
|
SigDockFetchReq = "DockFetchReq"
|
|||
|
|
SigDockFetchDone = "DockFetchDone"
|
|||
|
|
SigDockFetchPos = "DockFetchPos"
|
|||
|
|
SigDockFetchTray = "DockFetchTray"
|
|||
|
|
SigDockPlaceReq = "DockPlaceReq"
|
|||
|
|
SigDockPlaceDone = "DockPlaceDone"
|
|||
|
|
SigDockPlacePos = "DockPlacePos"
|
|||
|
|
SigDockPlaceTray = "DockPlaceTray"
|
|||
|
|
|
|||
|
|
// --- 磨床 Grinder (M2030-M2059) ---
|
|||
|
|
SigGrinderFetchReq = "GrinderFetchReq"
|
|||
|
|
SigGrinderFetchDone = "GrinderFetchDone"
|
|||
|
|
SigGrinderPlaceReq = "GrinderPlaceReq"
|
|||
|
|
SigGrinderPlaceDone = "GrinderPlaceDone"
|
|||
|
|
SigGrinderExchangeReq = "GrinderExchangeReq"
|
|||
|
|
SigGrinderExchangeDone = "GrinderExchangeDone"
|
|||
|
|
SigGrinderMachiningDone = "GrinderMachiningDone" // PLC→PC 磨削完成信号
|
|||
|
|
|
|||
|
|
// --- 换向机构 TurnTable (M2060-M2079) ---
|
|||
|
|
SigTurnTableFetchReq = "TurnTableFetchReq"
|
|||
|
|
SigTurnTableFetchDone = "TurnTableFetchDone"
|
|||
|
|
SigTurnTablePlaceReq = "TurnTablePlaceReq"
|
|||
|
|
SigTurnTablePlaceDone = "TurnTablePlaceDone"
|
|||
|
|
// 换向机构用于方形件换向:放换向机构→PLC自动旋转→TurnTablePlaceDone→取回
|
|||
|
|
|
|||
|
|
// --- 全检台 FullCheck (M2090-M2109) ---
|
|||
|
|
SigFullCheckFetchReq = "FullCheckFetchReq"
|
|||
|
|
SigFullCheckFetchPos = "FullCheckFetchPos"
|
|||
|
|
SigFullCheckInspectDone = "FullCheckInspectDone" // PLC→PC 检测完成在取放料位
|
|||
|
|
SigFullCheckFetchDone = "FullCheckFetchDone"
|
|||
|
|
SigFullCheckPlaceReq = "FullCheckPlaceReq"
|
|||
|
|
SigFullCheckPlacePos = "FullCheckPlacePos"
|
|||
|
|
SigFullCheckPlaceDoneRequestInspect = "FullCheckPlaceDoneRequestInspect" // PC→PLC 放料完成请求人工检验
|
|||
|
|
SigFullCheckDetecting = "FullCheckDetecting" // PLC→PC 人工检验中
|
|||
|
|
SigFullCheckPlaceDone = "FullCheckPlaceDone"
|
|||
|
|
// 全检一步换料(PLC M2081 取位置 → M2082 放位置 → M2080 请求 → M2089 完成)
|
|||
|
|
SigFullCheckExchangeFetchPos = "FullCheckExchangeFetchPos"
|
|||
|
|
SigFullCheckExchangePlacePos = "FullCheckExchangePlacePos"
|
|||
|
|
SigFullCheckExchangeReq = "FullCheckExchangeReq"
|
|||
|
|
SigFullCheckExchangeDone = "FullCheckExchangeDone"
|
|||
|
|
|
|||
|
|
// --- 缓存台 Cache (M2110-M2129) ---
|
|||
|
|
SigCacheFetchReq = "CacheFetchReq"
|
|||
|
|
SigCacheFetchPos = "CacheFetchPos"
|
|||
|
|
SigCacheFetchDone = "CacheFetchDone"
|
|||
|
|
SigCachePlaceReq = "CachePlaceReq"
|
|||
|
|
SigCachePlacePos = "CachePlacePos"
|
|||
|
|
SigCachePlaceDone = "CachePlaceDone"
|
|||
|
|
// 缓存台无独立PLC信号,回流由软件调度触发:全检台有空位时从缓存台取料
|
|||
|
|
|
|||
|
|
// --- 气吹清洁 AirBlow (复用Wash信号地址 M2130-M2139) ---
|
|||
|
|
// 新流程:气吹清洁机构复用原Wash信号地址,机器人放料→发WashStartReq→等待AirBlowCompleteDone→机器人取回
|
|||
|
|
// 等待信号名必须与 signal 表 name 一致(AirBlowCompleteDone,PLC_清洗完成 M2139),
|
|||
|
|
// 信号轮询器按 name 匹配任务等待,旧名 WashCompleteDone 已不在信号表中。
|
|||
|
|
SigAirBlowStartReq = "WashStartReq" // 复用WashStartReq信号(软件_工件清洗 M2130)
|
|||
|
|
SigAirBlowCompleteDone = "AirBlowCompleteDone" // 等待信号名,与 signal 表 name 一致(M2139)
|
|||
|
|
)
|