| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | using Aitex.Core.RT.DataCenter;using Aitex.Core.RT.Device;using Aitex.Core.RT.Log;using CyberX8_Core;using CyberX8_RT.Devices.AXIS;using CyberX8_RT.Devices.AXIS.Yaskawa;using MECF.Framework.Common.Utilities;using MECF.Framework.Common.WaferHolder;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CyberX8_RT.Devices.TransPorter{    public class LoaderTransPorterElevatorAxisInterLock : IAxisInterLock    {        #region 内部变量        private JetAxisBase _axis;        #endregion        #region 属性        /// <summary>        /// 模块名称        /// </summary>        public string Module { get { return _axis.Module; } }        /// <summary>        /// 子模块名称        /// </summary>        public string Name { get { return _axis.Name; } }        #endregion        /// <summary>        /// 栣函数        /// </summary>        /// <param name="moduleName"></param>        /// <param name="name"></param>        public LoaderTransPorterElevatorAxisInterLock(JetAxisBase axis)        {            _axis = axis;        }        /// <summary>        /// GotoPosition条件检验        /// </summary>        /// <param name="station"></param>        /// <returns></returns>        /// <exception cref="NotImplementedException"></exception>        public bool CheckGotoPosition(string station)        {            if (!AxisManager.Instance.CheckModuleAxisSwitchOn(Module, Name))            {                return false;            }            JetAxisBase gantryAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.Gantry");            if (gantryAxis != null)            {                if (gantryAxis.IsRun)                {                    LOG.WriteLog(eEvent.ERR_AXIS, Module, "Gantry Axis is Run");                    return false;                }            }            return true;        }    }}
 |