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.
66 lines
1.4 KiB
C#
66 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Rs.Motion.Base
|
|
{
|
|
public class BaseAxisControl
|
|
{
|
|
List<IAxis> axes= new List<IAxis>();
|
|
|
|
private bool bLoadAxis = false;
|
|
private void LoadAxis()
|
|
{
|
|
if(!bLoadAxis)
|
|
{
|
|
PropertyInfo[] pis = this.GetType().GetProperties(System.Reflection.BindingFlags.Instance | BindingFlags.Public);
|
|
foreach (var item in pis)
|
|
{
|
|
IAxis axis = (IAxis)item.GetValue(this, null);
|
|
axes.Add(axis);
|
|
}
|
|
bLoadAxis = true;
|
|
}
|
|
}
|
|
|
|
public void AllEnable()
|
|
{
|
|
LoadAxis();
|
|
foreach (IAxis axis in axes)
|
|
{
|
|
axis.Enable();
|
|
}
|
|
}
|
|
|
|
public void AllDisEnable()
|
|
{
|
|
LoadAxis();
|
|
foreach (IAxis axis in axes)
|
|
{
|
|
axis.Enable();
|
|
}
|
|
}
|
|
|
|
public void AllStop()
|
|
{
|
|
LoadAxis();
|
|
foreach (IAxis axis in axes)
|
|
{
|
|
axis.Stop();
|
|
}
|
|
}
|
|
|
|
public void Restore()
|
|
{
|
|
LoadAxis();
|
|
foreach (IAxis axis in axes)
|
|
{
|
|
axis.Restore();
|
|
}
|
|
}
|
|
}
|
|
}
|