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#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|