using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text;
using System.Windows.Input;
using Aitex.Core.UI.MVVM;
using MECF.Framework.Common.CommonData;
namespace Aitex.Core.Common.DeviceData
{
[DataContract]
public enum ServoState
{
[EnumMember]
Unknown,
[EnumMember]
NotInitial,
[EnumMember]
Idle,
[EnumMember]
Moving,
[EnumMember]
Error,
}
[DataContract]
[Serializable]
public class AITServoMotorData : NotifiableItem, IDeviceData
{
[DataMember]
public string Module { get; set; }
[DataMember]
public string DeviceName { get; set; }
///
/// 显示在界面上的名称
///
[DataMember]
public string DisplayName { get; set; }
///
/// IO 表中定义的物理编号,物理追溯使用 比如: V122
///
[DataMember]
public string DeviceSchematicId { get; set; }
[DataMember]
public bool IsServoOn { get; set; }
[DataMember]
public bool IsStopped { get; set; }
[DataMember]
public bool IsError { get; set; }
[DataMember]
public bool IsRunning { get; set; }
[DataMember]
public bool IsEmo { get; set; }
[DataMember]
public bool IsAuto { get; set; }
[DataMember]
public bool IsManual { get; set; }
[DataMember]
public bool IsServoNormal { get; set; }
[DataMember]
public bool IsServoNoWarning { get; set; }
[DataMember]
public bool IsServoNoAlarm { get; set; }
[DataMember]
public bool IsNop { get; set; }
[DataMember]
public bool IsPositionComplete { get; set; }
[DataMember]
public bool IsNLimit { get; set; }
[DataMember]
public bool IsPLimit { get; set; }
#region Boffotto
[DataMember]
public bool DiPosFeedBack1 { get; set; }
[DataMember]
public bool DiPosFeedBack2 { get; set; }
[DataMember]
public bool DiPosFeedBack3 { get; set; }
[DataMember]
public bool DiReady { get; set; }
[DataMember]
public bool DiOnTarget { get; set; }
[DataMember]
public bool DiOnError { get; set; }
[DataMember]
public bool DiOnLeftLimit { get; set; }
[DataMember]
public bool DiOnRightLimit { get; set; }
[DataMember]
public bool DiOnHomeSensor { get; set; }
[DataMember]
public bool DoStart { get; set; }
[DataMember]
public bool DoPos1 { get; set; }
[DataMember]
public bool DoPos2 { get; set; }
[DataMember]
public bool DoPos3 { get; set; }
[DataMember]
public bool DoHomeOn { get; set; }
[DataMember]
public bool DoFreeOn { get; set; }
[DataMember]
public bool DoStop { get; set; }
[DataMember]
public bool DoReset { get; set; }
[DataMember]
public bool DoJogFwd { get; set; }
[DataMember]
public bool DoJogRev { get; set; }
#endregion
[DataMember]
public int ErrorCode { get; set; }
[DataMember]
public float CurrentPosition { get; set; }
[DataMember]
public float CurrentSpeed { get; set; }
[DataMember]
public string CurrentStatus { get; set; }
[DataMember]
public float JogSpeedSetPoint { get; set; }
[DataMember]
public float AutoSpeedSetPoint { get; set; }
[DataMember]
public float AccSpeedSetPoint { get; set; }
[DataMember]
public ServoState State { get; set; }
public AITServoMotorData()
{
DisplayName = "Undefined Servo Motor";
}
public void Update(IDeviceData data)
{
}
}
public class AITServoMotorOperation
{
public const string Home = "Home";
public const string SetServoOn = "SetServoOn";
public const string SetServoOff = "SetServoOff";
public const string MoveTo = "MoveTo";
public const string MoveBy = "MoveBy";
public const string Reset = "Reset";
public const string Stop = "Stop";
}
public class AITServoMotorProperty
{
public const string IsServoOn = "IsServoOn";
public const string IsStopped = "IsStopped";
public const string IsError = "IsError";
public const string CurrentPosition = "CurrentPosition";
public const string CurrentStatus = "CurrentStatus";
public const string IsWalkingShaftStart = "IsWalkingShaftStart";
public const string IsWalkingShaftIn1 = "IsWalkingShaftIn1";
public const string IsWalkingShaftIn2 = "IsWalkingShaftIn2";
public const string IsWalkingShaftIn3 = "IsWalkingShaftIn3";
public const string IsWalkingShaftHome = "IsWalkingShaftHome";
public const string IsWalkingShaftFree = "IsWalkingShaftFree";
public const string IsWalkingShafStop = "IsWalkingShafStop";
public const string IsWalkingShaftReset = "IsWalkingShaftReset";
public const string IsWalkingShaftJogFwd = "IsWalkingShaftJogFwd";
public const string IsWalkingShaftJogRev = "IsWalkingShaftJogRev";
}
}