| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- using Aitex.Core.RT.Device;
 
- using Aitex.Core.RT.Log;
 
- using PunkHPX8_RT.Devices.AXIS;
 
- using PunkHPX8_RT.Devices.AXIS.CANOpen;
 
- using PunkHPX8_RT.Devices.Facilities;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace PunkHPX8_RT.Devices.SRD
 
- {
 
-     public class SrdArmAxisInterLock : 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="Module"></param>
 
-         /// <param name="name"></param>
 
-         public SrdArmAxisInterLock(JetAxisBase axis) 
 
-         {
 
-             _axis = axis;
 
-         }
 
-         /// <summary>
 
-         /// GotoPosition判定前置条件
 
-         /// </summary>
 
-         /// <param name="station"></param>
 
-         /// <returns></returns>
 
-         public bool CheckGotoPosition(string station)
 
-         {
 
-             if (!_axis.IsHomed)
 
-             {
 
-                 LOG.WriteLog(eEvent.ERR_PUF, Module, "axis is not home, Cannot execute GotoSavedPosition");
 
-                 return false;
 
-             }
 
-             if (!_axis.IsSwitchOn)
 
-             {
 
-                 LOG.WriteLog(eEvent.ERR_PUF, Module, "axis is switch off, Cannot execute GotoSavedPosition");
 
-                 return false;
 
-             }
 
-             
 
-             SystemFacilities systemFacilities = DEVICE.GetDevice<SystemFacilities>("System.Facilities");
 
-             var result= systemFacilities.CheckCDAN2();
 
-             if(!result.result)
 
-             {
 
-                 LOG.WriteLog(eEvent.ERR_SRD, Module, $"{result.reason},Arm can not position");
 
-                 return false;
 
-             }
 
-             return true;
 
-         }
 
-     }
 
- }
 
 
  |