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 属性 /// /// 模块名称 /// public string Module { get { return _axis.Module; } } /// /// 子模块名称 /// public string Name { get { return _axis.Name; } } #endregion /// /// 栣函数 /// /// /// public LoaderTransPorterElevatorAxisInterLock(JetAxisBase axis) { _axis = axis; } /// /// GotoPosition条件检验 /// /// /// /// public bool CheckGotoPosition(string station) { if (!AxisManager.Instance.CheckModuleAxisSwitchOn(Module, Name)) { return false; } JetAxisBase gantryAxis = DEVICE.GetDevice($"{Module}.Gantry"); if (gantryAxis != null) { if (gantryAxis.IsRun) { LOG.WriteLog(eEvent.ERR_AXIS, Module, "Gantry Axis is Run"); return false; } } return true; } } }