using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
namespace TeamAAS_VP.Core.Robots
{
///
/// Represents command node names for an axis.
///
public class AxisCommand
{
///
/// 使能,Bool类型
///
public string PowerNode { get; set; }
///
/// 停止,Bool类型
///
public string StopNode { get; set; }
///
/// 手动回原,Bool类型
///
public string ManuToHomeNode { get; set; }
///
/// 自动回原,Bool类型
///
public string AutoToHomeNode { get; set; }
///
/// 手动J0G+,Bool类型
///
public string ManuJogFowardNode { get; set; }
///
/// 手动J0G-,Bool类型
///
public string ManuJogBackwardNode { get; set; }
///
/// 速度模式控制,Bool类型
///
public string VelocityControlNode { get; set; }
///
/// 速度模式变速,Bool类型
///
public string VelocityChangeNode { get; set; }
///
/// 自动相对运动,Int类型
///
public string AutoINCNode { get; set; }
///
/// 自动绝对运动,Int类型
///
public string AutoABSNode { get; set; }
///
/// 转矩控制运动,Int类型
///
public string TorqueNode { get; set; }
///
/// 点位选择,Int类型
///
public string PointSelectNode { get; set; }
///
/// 示教使能,Bool类型
///
public string TeachOnNode { get; set; }
///
/// 示教位置,Bool类型
///
public string TeachNode { get; set; }
///
/// 手动绝对运动点位,Bool类型
///
public string ManuPointNode { get; set; }
///
/// 手动绝对运动指定位置,Bool类型
///
public string ManuPositionNode { get; set; }
}
///
/// Represents parameter node names for an axis.
///
public class AxisParameter
{
///
/// 手动定位点位,Real类型
///
public string ManuPositionNode { get; set; }
///
/// 手动定位速度,Real类型
///
public string ManuVelocityNode { get; set; }
///
/// 速度模式定位速度,Real类型
///
public string VelModeVelocityNode { get; set; }
///
/// 轴名称,String类型
///
public string CommentNode { get; set; }
}
///
/// Represents state node names for an axis.
///
public class AxisState
{
///
/// 轴已使能,Bool类型
///
public string PowerOnNode { get; set; }
///
/// 运转中,Bool类型
///
public string BusyNode { get; set; }
///
/// 定位完成,Bool类型
///
public string PosOKNode { get; set; }
///
/// 回原完成,Bool类型
///
public string InitialedNode { get; set; }
///
/// 轴暂停中,Bool类型
///
public string PausedNode { get; set; }
///
/// 轴正转中,Bool类型
///
public string PosiNode { get; set; }
///
/// 轴反转中,Bool类型
///
public string NegaNode { get; set; }
///
/// 错误,Bool类型
///
public string ErrorNode { get; set; }
///
/// 错误代码,Int类型
///
public string ErrorIdNode { get; set; }
///
/// 实际位置,Real类型
///
public string ActPositionNode { get; set; }
///
/// 实际速度,Real类型
///
public string ActVelocityNode { get; set; }
///
/// 实际扭矩,Real类型
///
public string ActTorqueNode { get; set; }
///
/// 停止位置,Real类型
///
public string StopPositionNode { get; set; }
///
/// 绝对位置点位,Real类型
///
public string HmiPositionNode { get; set; }
///
/// 运动时间,Int类型
///
public string SpTimeNode { get; set; }
///
/// 轴状态,Int类型
///
public string StateNode { get; set; }
}
///
/// Axis model that groups command, parameter and state node names.
///
public class Axis
{
public Axis()
{
Command = new AxisCommand();
Parameter = new AxisParameter();
State = new AxisState();
}
public Axis(string name, int index) : this()
{
Name = name;
Index = index;
}
///
/// Logical name of the axis, e.g. "X","Y","Z","U" or "A1".
///
public string Name { get; set; }
///
/// Axis index (1-based) when applicable.
///
public int Index { get; set; }
public AxisCommand Command { get; set; }
public AxisParameter Parameter { get; set; }
public AxisState State { get; set; }
}
}