using MECF.Framework.Common.CommonData;
using System.Runtime.Serialization;
namespace MECF.Framework.Common.Simulator
{
///
/// 电机运动阶段
///
public enum MotionPhase
{
Accelerating,
Decelerating,
ConstantSpeed
};
[DataContract]
public class SimulatorMotionData : NotifiableItem
{
#region 属性
[DataMember]
public bool SwitchSignal
{
get { return _switchSignal; }
set { _switchSignal = value; InvokePropertyChanged(nameof(SwitchSignal)); }
}
[DataMember]
public byte StopCode
{
get { return _stopCode; }
set { _stopCode = value; InvokePropertyChanged(nameof(StopCode)); }
}
[DataMember]
public int PositionError
{
get { return _positionError; }
set { _positionError = value; InvokePropertyChanged(nameof(StopCode)); }
}
[DataMember]
public int ActualPosition
{
get { return _actualPosition; }
set { _actualPosition = value; InvokePropertyChanged(nameof(ActualPosition)); }
}
[DataMember]
public int ActualVelocity
{
get { return _actualVelocity; }
set { _actualVelocity = value; InvokePropertyChanged(nameof(ActualVelocity)); }
}
[DataMember]
public int ActualAccel
{
get { return _actualAccel; }
set { _actualAccel = value; InvokePropertyChanged(nameof(ActualAccel)); }
}
[DataMember]
public int ActualDecel
{
get { return _actualDecel; }
set { _actualDecel = value; InvokePropertyChanged(nameof(ActualDecel)); }
}
[DataMember]
public short ActualTorque
{
get { return _actualTorque; }
set { _actualTorque = value; InvokePropertyChanged(nameof(ActualTorque)); }
}
[DataMember]
public int TargetPosition
{
get { return _targetPosition; }
set { _targetPosition = value; InvokePropertyChanged(nameof(TargetPosition)); }
}
[DataMember]
public int TargetVelocity
{
get { return _targetVelocity; }
set { _targetVelocity = value; InvokePropertyChanged(nameof(TargetVelocity)); }
}
[DataMember]
public int TargetAccel
{
get { return _targetAccel; }
set { _targetAccel = value; InvokePropertyChanged(nameof(TargetAccel)); }
}
[DataMember]
public int TargetDecel
{
get { return _targetDecel; }
set { _targetDecel = value; InvokePropertyChanged(nameof(TargetDecel)); }
}
[DataMember]
public short TargetTorque
{
get { return _targetTorque; }
set { _targetTorque = value; InvokePropertyChanged(nameof(TargetTorque)); }
}
[DataMember]
public int HomingVelocity
{
get { return _homingVelocity; }
set { _homingVelocity = value; InvokePropertyChanged(nameof(HomingVelocity)); }
}
[DataMember]
public int HomingOffSet
{
get { return _homingOffSet; }
set { _homingOffSet = value; InvokePropertyChanged(nameof(HomingOffSet)); }
}
[DataMember]
public int HomingTimeout
{
get { return _homingTimeOut; }
set { _homingTimeOut = value; InvokePropertyChanged(nameof(HomingTimeout)); }
}
[DataMember]
public int HomingAccel
{
get { return _homingAccel; }
set { _homingAccel = value; InvokePropertyChanged(nameof(HomingAccel)); }
}
[DataMember]
public int HomingDecel
{
get { return _homingDecel; }
set { _homingDecel = value; InvokePropertyChanged(nameof(HomingDecel)); }
}
[DataMember]
public int RevSoftLimit
{
get { return _revSoftLimit; }
set { _revSoftLimit = value; InvokePropertyChanged(nameof(RevSoftLimit)); }
}
[DataMember]
public int FwdSoftLimit
{
get { return _fwdSoftLimit; }
set { _fwdSoftLimit = value; InvokePropertyChanged(nameof(FwdSoftLimit)); }
}
[DataMember]
public int NegativeTorqueLimit
{
get { return _negativeTorqueLimit; }
set { _negativeTorqueLimit = value; InvokePropertyChanged(nameof(NegativeTorqueLimit)); }
}
[DataMember]
public int PositiveTorqueLimit
{
get { return _positiveTorqueLimit; }
set { _positiveTorqueLimit = value; InvokePropertyChanged(nameof(PositiveTorqueLimit)); }
}
[DataMember]
public bool HomingSignal
{
get { return _homingSignal; }
set { _homingSignal = value; InvokePropertyChanged(nameof(HomingSignal)); }
}
[DataMember]
public bool MotionSignal
{
get { return _motionSignal; }
set { _motionSignal = value; InvokePropertyChanged(nameof(MotionSignal)); }
}
[DataMember]
public MotionPhase MotionPhase
{
get { return _motionPhase; }
set { _motionPhase = value; InvokePropertyChanged(nameof(MotionPhase)); }
}
[DataMember]
public bool StopSignal
{
get { return _stopSignal; }
set { _stopSignal = value; InvokePropertyChanged(nameof(StopSignal)); }
}
#endregion
#region 内部变量
#region Signal
private bool _switchSignal;
private bool _homingSignal;
private bool _motionSignal;
private bool _stopSignal;
private MotionPhase _motionPhase;
#endregion
private byte _stopCode;
private int _positionError;
///
/// 实际参数
///
private int _actualPosition;
private int _actualVelocity;
private int _actualAccel;
private int _actualDecel;
private short _actualTorque;
///
/// 设定参数
///
private int _targetPosition;
private int _targetVelocity;
private int _targetAccel;
private int _targetDecel;
private short _targetTorque;
///
/// Home相关设定参数
///
private int _homingVelocity;
private int _homingOffSet;
private int _homingTimeOut;
private int _homingAccel;
private int _homingDecel;
private int _revSoftLimit;
private int _fwdSoftLimit;
private int _negativeTorqueLimit;
private int _positiveTorqueLimit;
#endregion
}
}