using Prism.Mvvm;
using System;
using System.Collections.Generic;
using static TeamAAS_VP.Core.ScrewDriver.XYD_ScrewDriver;
namespace TeamAAS_VP.Models
{
public class LockResult : BindableBase
{
private int __Number;
///
/// 螺丝编号
///
public int Number
{
get { return __Number; }
set { SetProperty(ref __Number, value); }
}
private string __ProductNumber;
///
/// 产品编号
///
public string ProductNumber
{
get { return __ProductNumber; }
set { SetProperty(ref __ProductNumber, value); }
}
private DateTime __Timestamp;
///
/// 时间戳
///
public DateTime Timestamp
{
get { return __Timestamp; }
set { SetProperty(ref __Timestamp, value); }
}
private float __LockTurns;
///
/// 锁付圈数
///
public float LockTurns
{
get { return __LockTurns; }
set { SetProperty(ref __LockTurns, value); }
}
private float __LockTorque;
///
/// 锁付扭矩
///
public float LockTorque
{
get { return __LockTorque; }
set { SetProperty(ref __LockTorque, value); }
}
private float __LockDuration;
///
/// 锁付用时
///
public float LockDuration
{
get { return __LockDuration; }
set { SetProperty(ref __LockDuration, value); }
}
private bool __LockPassed;
///
/// 锁付结果(是否通过)
///
public bool LockPassed
{
get { return __LockPassed; }
set { SetProperty(ref __LockPassed, value); }
}
//
private string _ResultDetails;
///
/// 结果详情
///
public string ResultDetails
{
get { return _ResultDetails; }
set { SetProperty(ref _ResultDetails, value); }
}
private int __ScrewdriverProgramNumber;
///
/// 电批程序号
///
public int ScrewdriverProgramNumber
{
get { return __ScrewdriverProgramNumber; }
set { SetProperty(ref __ScrewdriverProgramNumber, value); }
}
private float __Pressure;
///
/// 压力值
///
public float Pressure
{
get { return __Pressure; }
set { SetProperty(ref __Pressure, value); }
}
private float __TargetTorque;
///
/// 目标扭矩
///
public float TargetTorque
{
get { return __TargetTorque; }
set { SetProperty(ref __TargetTorque, value); }
}
private float __TargetTurnsUpperLimit;
///
/// 目标圈数上限
///
public float TargetTurnsUpperLimit
{
get { return __TargetTurnsUpperLimit; }
set { SetProperty(ref __TargetTurnsUpperLimit, value); }
}
private float __TargetTurnsLowerLimit;
///
/// 目标圈数下限
///
public float TargetTurnsLowerLimit
{
get { return __TargetTurnsLowerLimit; }
set { SetProperty(ref __TargetTurnsLowerLimit, value); }
}
private float __TargetLockSpeed;
///
/// 目标锁付速度
///
public float TargetLockSpeed
{
get { return __TargetLockSpeed; }
set { SetProperty(ref __TargetLockSpeed, value); }
}
private float __StartPositionX;
///
/// 锁付位置坐标 X 起始值
///
public float StartPositionX
{
get { return __StartPositionX; }
set { SetProperty(ref __StartPositionX, value); }
}
private float __StartPositionY;
///
/// 锁付位置坐标 Y 起始值
///
public float StartPositionY
{
get { return __StartPositionY; }
set { SetProperty(ref __StartPositionY, value); }
}
private float __StartPositionZ;
///
/// 锁付位置坐标 Z 起始值
///
public float StartPositionZ
{
get { return __StartPositionZ; }
set { SetProperty(ref __StartPositionZ, value); }
}
private float __EndPositionZ;
///
/// Z 终点值
///
public float EndPositionZ
{
get { return __EndPositionZ; }
set { SetProperty(ref __EndPositionZ, value); }
}
private float __LockDescentSpeed;
///
/// 锁付下降速度
///
public float LockDescentSpeed
{
get { return __LockDescentSpeed; }
set { SetProperty(ref __LockDescentSpeed, value); }
}
private int __FeederNumber;
///
/// 供料器编号
///
public int FeederNumber
{
get { return __FeederNumber; }
set { SetProperty(ref __FeederNumber, value); }
}
private string __NozzleNumber;
///
/// 披头编号
///
public string NozzleNumber
{
get { return __NozzleNumber; }
set { SetProperty(ref __NozzleNumber, value); }
}
//当前的操作员名称
private string _OperatorName;
public string OperatorName
{
get { return _OperatorName; }
set { SetProperty(ref _OperatorName, value); }
}
///
/// 锁付曲线数据列表
///
public List WaveDatas { get; set; } = new List();
public LockResult()
{
// 默认构造函数
Timestamp = DateTime.Now;
}
public LockResult(int number, string productNumber, float lockTurns, float lockTorque,bool lockPassed)
{
Number = number;
ProductNumber = productNumber;
Timestamp = DateTime.Now;
LockTurns = lockTurns;
LockTorque = lockTorque;
LockPassed = lockPassed;
}
public LockResult Clone()
{
return new LockResult
{
Number = this.Number,
ProductNumber = this.ProductNumber,
Timestamp = this.Timestamp,
LockTurns = this.LockTurns,
LockTorque = this.LockTorque,
LockDuration = this.LockDuration,
LockPassed = this.LockPassed,
ScrewdriverProgramNumber = this.ScrewdriverProgramNumber,
Pressure = this.Pressure,
TargetTorque = this.TargetTorque,
TargetTurnsUpperLimit = this.TargetTurnsUpperLimit,
TargetTurnsLowerLimit = this.TargetTurnsLowerLimit,
TargetLockSpeed = this.TargetLockSpeed,
StartPositionX = this.StartPositionX,
StartPositionY = this.StartPositionY,
StartPositionZ = this.StartPositionZ,
EndPositionZ = this.EndPositionZ,
LockDescentSpeed = this.LockDescentSpeed,
FeederNumber = this.FeederNumber,
NozzleNumber= this.NozzleNumber,
WaveDatas = new List(this.WaveDatas)
};
}
}
}