| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | using Aitex.Core.RT.Fsm;using MECF.Framework.Common.Equipment;using MECF.Framework.Common.SubstrateTrackings;using MECF.Framework.Common.ToolLayout;using CyberX8_Core;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CyberX8_RT.Modules.Dummy{    public class DummyEntity : Entity, IEntity, IModuleEntity    {        public enum MSG        {            Home        }        #region 内部变量        DummyCassetteItem _dummyItem;        #endregion        #region 属性        public ModuleName Module { get; private set; }        /// <summary>        /// 初始化状态        /// </summary>        public bool IsInit        {            get { return false; }        }        /// <summary>        /// 空闲状态        /// </summary>        public bool IsIdle        {            get            {                return true;            }        }        /// <summary>        /// 是否发生错误        /// </summary>        public bool IsError        {            get { return false; }        }        /// <summary>        /// 是否正在作业        /// </summary>        public bool IsBusy        {            get { return false; }        }        public bool IsAuto { get; } = true;        /// <summary>        /// 是否为工程模式        /// </summary>        public bool IsEngineering { get; } = false;        /// <summary>        /// 是否为产品模式        /// </summary>        public bool IsProduction { get; } = true;        /// <summary>        /// 是否禁用        /// </summary>        public bool IsDisable { get; internal set; } = false;        /// <summary>        /// 最大Slot数量        /// </summary>        public int MaxSlotNumber { get; internal set; }        #endregion        /// <summary>        /// 构造函数        /// </summary>        /// <param name="module"></param>        public DummyEntity(ModuleName module)        {            this.Module = module;            _dummyItem = DummyCasseteItemManager.Instance.GetDummyCassetteItem(module.ToString());            WaferManager.Instance.SubscribeLocation(Module, _dummyItem.MaxNumberOfSlots);            MaxSlotNumber = _dummyItem.MaxNumberOfSlots;        }        public bool Check(int msg, out string reason, params object[] args)        {            reason = "";            return false;        }        public bool CheckAcked(int msg)        {            return false;        }        public int Invoke(string function, params object[] args)        {            switch (function)            {                case "HomeAll":                    return (int)MSG.Home;            }            return (int)FSM_MSG.NONE;        }    }}
 |