using log4net.Util; using Rs.Motion.Base; using Rs.Motion.GugaoEcat; using Rs.Motion.GugaoPulse; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Rs.MotionPlat.Flow { public class AxisControl { public static IAxis GetAxis(string axisname) { Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(System.Reflection.BindingFlags.Static | BindingFlags.Public); foreach (var item in pis) { if (item.Name == axisname) { IAxis axis =(IAxis) item.GetValue(null); return axis; } } return null; } public static List GetAllAxis() { List allAxis = new List(); Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(System.Reflection.BindingFlags.Static | BindingFlags.Public); foreach (var item in pis) { IAxis axis = (IAxis)item.GetValue(null); allAxis.Add(axis); } return allAxis; } #region 固高 /// /// 上料X轴 /// public static IAxis LoadX { get { return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(LoadX)); } } /// /// 上料Y轴 /// public static IAxis LoadY { get { return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(LoadY)); } } /// /// 周转Y轴 /// public static IAxis TurnoverY { get { return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(TurnoverY)); } } /// /// 周转Z轴 /// public static IAxis TurnoverZ { get { return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(TurnoverZ)); } } /// /// 测试Z /// public static IAxis PressZ { get { return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(PressZ)); } } #endregion #region 料仓 public static IAxis StockZ1 { get { return ZtmCardManager.Instance.GetCard(2).GetAxis(nameof(StockZ1)); } } public static IAxis StockFlow1 { get { return ZtmCardManager.Instance.GetCard(2).GetAxis(nameof(StockFlow1)); } } public static IAxis StockZ2 { get { return ZtmCardManager.Instance.GetCard(2).GetAxis(nameof(StockZ2)); } } public static IAxis StockFlow2 { get { return ZtmCardManager.Instance.GetCard(2).GetAxis(nameof(StockFlow2)); } } public static IAxis StockZ3 { get { return ZtmCardManager.Instance.GetCard(2).GetAxis(nameof(StockZ3)); } } public static IAxis StockFlow3 { get { return ZtmCardManager.Instance.GetCard(2).GetAxis(nameof(StockFlow3)); } } public static IAxis StockZ4 { get { return ZtmCardManager.Instance.GetCard(3).GetAxis(nameof(StockZ4)); } } public static IAxis StockFlow4 { get { return ZtmCardManager.Instance.GetCard(3).GetAxis(nameof(StockFlow4)); } } public static IAxis StockZ5 { get { return ZtmCardManager.Instance.GetCard(3).GetAxis(nameof(StockZ5)); } } public static IAxis StockFlow5 { get { return ZtmCardManager.Instance.GetCard(3).GetAxis(nameof(StockFlow5)); } } public static IAxis StockZ6 { get { return ZtmCardManager.Instance.GetCard(3).GetAxis(nameof(StockZ6)); } } public static IAxis StockFlow6 { get { return ZtmCardManager.Instance.GetCard(3).GetAxis(nameof(StockFlow6)); } } #endregion #region 吸嘴Z public static IAxis NozzleZ1 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ1)); } } public static IAxis NozzleZ2 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ2)); } } public static IAxis NozzleZ3 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ3)); } } public static IAxis NozzleZ4 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ4)); } } public static IAxis NozzleZ5 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ5)); } } public static IAxis NozzleZ6 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ6)); } } public static IAxis NozzleZ7 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ7)); } } public static IAxis NozzleZ8 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ8)); } } public static IAxis NozzleZ9 { get { return ZtmCardManager.Instance.GetCard(0).GetAxis(nameof(NozzleZ9)); } } #endregion #region 吸嘴R public static IAxis NozzleR1 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR1)); } } public static IAxis NozzleR2 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR2)); } } public static IAxis NozzleR3 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR3)); } } public static IAxis NozzleR4 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR4)); } } public static IAxis NozzleR5 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR5)); } } public static IAxis NozzleR6 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR6)); } } public static IAxis NozzleR7 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR7)); } } public static IAxis NozzleR8 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR8)); } } public static IAxis NozzleR9 { get { return ZtmCardManager.Instance.GetCard(1).GetAxis(nameof(NozzleR9)); } } #endregion #region 全部使能 /// /// 全部使能 /// public static void AllEnable() { Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(System.Reflection.BindingFlags.Static | BindingFlags.Public); foreach (var item in pis) { IAxis axis = ((IAxis)item.GetValue(null)); axis.Stop(); axis.Enable(); } } #endregion #region 全部轴去使能 /// /// 全部轴去使能 /// public static void AllDisable() { Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(System.Reflection.BindingFlags.Static | BindingFlags.Public); foreach (var item in pis) { IAxis axis = ((IAxis)item.GetValue(null)); axis.Stop(); Thread.Sleep(10); axis.Disable(); } } #endregion public static void AllAbortHome() { Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(System.Reflection.BindingFlags.Static | BindingFlags.Public); foreach (var item in pis) { IAxis axis = ((IAxis)item.GetValue(null)); axis.Abort_Go_Home(); Thread.Sleep(10); } } /// /// 全部停止 /// public static void AllStop() { Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(System.Reflection.BindingFlags.Static | BindingFlags.Public); foreach (var item in pis) { IAxis axis = ((IAxis)item.GetValue(null)); axis.Stop(); } } } }