You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

398 lines
10 KiB
C#

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<IAxis> GetAllAxis()
{
List<IAxis> allAxis = new List<IAxis>();
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 固高
/// <summary>
/// 上料X轴
/// </summary>
public static IAxis LoadX
{
get
{
return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(LoadX));
}
}
/// <summary>
/// 上料Y轴
/// </summary>
public static IAxis LoadY
{
get
{
return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(LoadY));
}
}
/// <summary>
/// 周转Y轴
/// </summary>
public static IAxis TurnoverY
{
get
{
return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(TurnoverY));
}
}
/// <summary>
/// 周转Z轴
/// </summary>
public static IAxis TurnoverZ
{
get
{
return GugaoPulseCardManager.Instance.GetCard(0).GetAxis(nameof(TurnoverZ));
}
}
/// <summary>
/// 测试Z
/// </summary>
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 全部使能
/// <summary>
/// 全部使能
/// </summary>
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 全部轴去使能
/// <summary>
/// 全部轴去使能
/// </summary>
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);
}
}
/// <summary>
/// 全部停止
/// </summary>
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();
}
}
}
}