using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MECF.Framework.Common.Device.Galil
{
    public class GalilAxisData
    {
        public ushort Status { get; set; }
        public byte Switches { get; set; }
        public byte StopCode { get; set; }
        public int ReferencePosition { get; set; }
        public int MotorPosition { get; set;}
        public int PositionError { get; set; }
        public int AuxiliaryPosition { get; set; }
        public int Velocity { get; set; }
        public int Torque { get; set; }
        public short Res { get; set; }
        public bool IsSwitchOn { get; set; }
        public bool ForwardLimit { get; set; }
        public bool ReverseLimit { get; set; }
        /// 
        /// 克隆
        /// 
        /// 
        public GalilAxisData Clone()
        {
            GalilAxisData data=new GalilAxisData();
            data.Status= Status;
            data.Switches= Switches;
            data.StopCode= StopCode;
            data.ReferencePosition= ReferencePosition;
            data.MotorPosition= MotorPosition;
            data.PositionError= PositionError;
            data.AuxiliaryPosition= AuxiliaryPosition;
            data.Velocity= Velocity;
            data.Torque= Torque;
            data.Res= Res;
            data.IsSwitchOn= IsSwitchOn;
            data.ForwardLimit= ForwardLimit;
            data.ReverseLimit= ReverseLimit;
            return data;
        }
        /// 
        /// 拷贝
        /// 
        /// 
        public void Copy(GalilAxisData data)
        {
            Status = data.Status;
            Switches = data.Switches;
            StopCode = data.StopCode;
            ReferencePosition = data.ReferencePosition;
            MotorPosition = data.MotorPosition;
            PositionError = data.PositionError;
            AuxiliaryPosition = data.AuxiliaryPosition;
            Velocity = data.Velocity;
            Torque = data.Torque;
            Res = data.Res;
            IsSwitchOn= data.IsSwitchOn;
            ForwardLimit= data.ForwardLimit;
            ReverseLimit= data.ReverseLimit;
        }
    }
}