using Rs.MotionPlat.Commom; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Rs.MotionPlat.Flow { public enum EMachineStatus { /// /// 未初始化 /// NotInit, /// /// 未回原 /// NotHomed, /// /// 回原中 /// Homing, /// /// 回零失败 /// HomeFail, /// /// 回原完成 /// Homed, /// /// 工作中 /// Working, /// /// 暂停 /// Stop, /// /// 报警中 /// Warning, /// /// 急停中 /// EStop } public class MachineManage { private static MachineManage instace; public static MachineManage Instance { get { if (instace == null) instace = new MachineManage(); return instace; } } private MachineManage() { } public EMachineStatus MachineStatus = EMachineStatus.NotInit; /// /// 上下料状态(Waiting,Busying,Unloading,Error,Interrupt,) /// public ERunState RunState { get; set; } = ERunState.Interrupt; /// /// 设备运行状态(Started,Stopped,InAlarm,EMGStop) /// public ERunStatus RunStatus { get; set; } = ERunStatus.Stopped; /// /// 运行模式(Manual,Automatic) /// public ERunMode RunMode { get; set; } = ERunMode.Manual; /// /// 初始化状态(Uninitialized,Initializing,Initialized) /// public EInitializeState InitializeState { get; set; } = EInitializeState.Uninitialized; /// /// 物料分配模式(正常或空跑) /// public EAssignMode AssignMode { get; set; } = EAssignMode.Normal; public bool NeedRestoreMove { get; set; } = false; } }