添加 MX-PD-盘古 项目文件
将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
using MainShell.Filewritable;
|
||||
using MXJM.FileWritable;
|
||||
using Stylet;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MainShell.ParaSetting.Model
|
||||
{
|
||||
public class AxisSoftLimitSetting : JsonFileWritableBase
|
||||
{
|
||||
private List<AxisSoftLimitItem> _axisSoftLimitItems = new List<AxisSoftLimitItem>();
|
||||
|
||||
public override string Dir => Paths.CalibSettingPath;
|
||||
|
||||
public override string FileName => "AxisSoftLimitSetting.json";
|
||||
|
||||
public List<AxisSoftLimitItem> AxisSoftLimitItems
|
||||
{
|
||||
get
|
||||
{
|
||||
return _axisSoftLimitItems;
|
||||
}
|
||||
set
|
||||
{
|
||||
_axisSoftLimitItems = value ?? new List<AxisSoftLimitItem>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class AxisSoftLimitItem : PropertyChangedBase
|
||||
{
|
||||
private string _axisName;
|
||||
private string _cardName;
|
||||
private int _cardNum;
|
||||
private int _axisNum;
|
||||
private double _negativeSoftLimit;
|
||||
private double _positiveSoftLimit;
|
||||
|
||||
public string AxisName
|
||||
{
|
||||
get
|
||||
{
|
||||
return _axisName;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _axisName, value);
|
||||
}
|
||||
}
|
||||
|
||||
public string CardName
|
||||
{
|
||||
get
|
||||
{
|
||||
return _cardName;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _cardName, value);
|
||||
}
|
||||
}
|
||||
|
||||
public int CardNum
|
||||
{
|
||||
get
|
||||
{
|
||||
return _cardNum;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _cardNum, value);
|
||||
}
|
||||
}
|
||||
|
||||
public int AxisNum
|
||||
{
|
||||
get
|
||||
{
|
||||
return _axisNum;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _axisNum, value);
|
||||
}
|
||||
}
|
||||
|
||||
public double NegativeSoftLimit
|
||||
{
|
||||
get
|
||||
{
|
||||
return _negativeSoftLimit;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _negativeSoftLimit, value);
|
||||
}
|
||||
}
|
||||
|
||||
public double PositiveSoftLimit
|
||||
{
|
||||
get
|
||||
{
|
||||
return _positiveSoftLimit;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _positiveSoftLimit, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,447 @@
|
||||
using MwFramework.Controls.UIControl;
|
||||
using MwFramework.ManagerService;
|
||||
using Stylet;
|
||||
using System.ComponentModel.Composition;
|
||||
|
||||
namespace MainShell.ParaSetting.Model
|
||||
{
|
||||
[Export(typeof(IParameter))]
|
||||
public class DeviceFoundationSetting : ParameterBase
|
||||
{
|
||||
public DeviceFoundationSetting()
|
||||
{
|
||||
SaveSettingItem = new DeviceSaveSettingItem();
|
||||
CameraSettingItem = new DeviceCameraSettingItem();
|
||||
}
|
||||
|
||||
public DeviceSaveSettingItem SaveSettingItem { get; set; }
|
||||
|
||||
public DeviceCameraSettingItem CameraSettingItem { get; set; }
|
||||
|
||||
public override void Copy(IParameter source)
|
||||
{
|
||||
DeviceFoundationSetting setting = source as DeviceFoundationSetting;
|
||||
if (setting == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (SaveSettingItem == null)
|
||||
{
|
||||
SaveSettingItem = new DeviceSaveSettingItem();
|
||||
}
|
||||
|
||||
if (CameraSettingItem == null)
|
||||
{
|
||||
CameraSettingItem = new DeviceCameraSettingItem();
|
||||
}
|
||||
|
||||
SaveSettingItem.CopyFrom(setting.SaveSettingItem);
|
||||
CameraSettingItem.CopyFrom(setting.CameraSettingItem);
|
||||
}
|
||||
}
|
||||
|
||||
public class DeviceSaveSettingItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private FileSaveSettingItem _fileSaveSetting = new FileSaveSettingItem();
|
||||
|
||||
public FileSaveSettingItem FileSaveSetting
|
||||
{
|
||||
get
|
||||
{
|
||||
return _fileSaveSetting;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _fileSaveSetting, value);
|
||||
}
|
||||
}
|
||||
|
||||
private ImageSaveSettingItem _imageSaveSetting = new ImageSaveSettingItem();
|
||||
|
||||
public ImageSaveSettingItem ImageSaveSetting
|
||||
{
|
||||
get
|
||||
{
|
||||
return _imageSaveSetting;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _imageSaveSetting, value);
|
||||
}
|
||||
}
|
||||
|
||||
public void CopyFrom(DeviceSaveSettingItem source)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (FileSaveSetting == null)
|
||||
{
|
||||
FileSaveSetting = new FileSaveSettingItem();
|
||||
}
|
||||
|
||||
if (ImageSaveSetting == null)
|
||||
{
|
||||
ImageSaveSetting = new ImageSaveSettingItem();
|
||||
}
|
||||
|
||||
FileSaveSetting.CopyFrom(source.FileSaveSetting);
|
||||
ImageSaveSetting.CopyFrom(source.ImageSaveSetting);
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
DeviceSaveSettingItem item = new DeviceSaveSettingItem();
|
||||
item.CopyFrom(this);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
public class FileSaveSettingItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private bool _isSaveEnabled = true;
|
||||
|
||||
public bool IsSaveEnabled
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isSaveEnabled;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _isSaveEnabled, value);
|
||||
}
|
||||
}
|
||||
|
||||
private string _saveFolder = @"D:\RecordData\File\";
|
||||
|
||||
public string SaveFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
return _saveFolder;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _saveFolder, value);
|
||||
}
|
||||
}
|
||||
|
||||
private bool _isCreateDateFolder = true;
|
||||
|
||||
public bool IsCreateDateFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isCreateDateFolder;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _isCreateDateFolder, value);
|
||||
}
|
||||
}
|
||||
|
||||
public void CopyFrom(FileSaveSettingItem source)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
IsSaveEnabled = source.IsSaveEnabled;
|
||||
SaveFolder = source.SaveFolder;
|
||||
IsCreateDateFolder = source.IsCreateDateFolder;
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
FileSaveSettingItem item = new FileSaveSettingItem();
|
||||
item.CopyFrom(this);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
public class ImageSaveSettingItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private bool _isSaveEnabled = true;
|
||||
|
||||
public bool IsSaveEnabled
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isSaveEnabled;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _isSaveEnabled, value);
|
||||
}
|
||||
}
|
||||
|
||||
private string _saveFolder = @"D:\RecordData\Image\";
|
||||
|
||||
public string SaveFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
return _saveFolder;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _saveFolder, value);
|
||||
}
|
||||
}
|
||||
|
||||
private bool _isCreateDateFolder = true;
|
||||
|
||||
public bool IsCreateDateFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isCreateDateFolder;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _isCreateDateFolder, value);
|
||||
}
|
||||
}
|
||||
|
||||
private bool _isSaveUpCameraImage = true;
|
||||
|
||||
public bool IsSaveUpCameraImage
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isSaveUpCameraImage;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _isSaveUpCameraImage, value);
|
||||
}
|
||||
}
|
||||
|
||||
private bool _isSaveDownCameraImage = true;
|
||||
|
||||
public bool IsSaveDownCameraImage
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isSaveDownCameraImage;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _isSaveDownCameraImage, value);
|
||||
}
|
||||
}
|
||||
|
||||
private bool _isSaveMapCameraImage = true;
|
||||
|
||||
public bool IsSaveMapCameraImage
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isSaveMapCameraImage;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _isSaveMapCameraImage, value);
|
||||
}
|
||||
}
|
||||
|
||||
public void CopyFrom(ImageSaveSettingItem source)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
IsSaveEnabled = source.IsSaveEnabled;
|
||||
SaveFolder = source.SaveFolder;
|
||||
IsCreateDateFolder = source.IsCreateDateFolder;
|
||||
IsSaveUpCameraImage = source.IsSaveUpCameraImage;
|
||||
IsSaveDownCameraImage = source.IsSaveDownCameraImage;
|
||||
IsSaveMapCameraImage = source.IsSaveMapCameraImage;
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
ImageSaveSettingItem item = new ImageSaveSettingItem();
|
||||
item.CopyFrom(this);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
public class DeviceCameraSettingItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private CameraFovSettingItem _upCamera = new CameraFovSettingItem("上相机");
|
||||
|
||||
public CameraFovSettingItem UpCamera
|
||||
{
|
||||
get
|
||||
{
|
||||
return _upCamera;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _upCamera, value);
|
||||
}
|
||||
}
|
||||
|
||||
private CameraFovSettingItem _downCamera = new CameraFovSettingItem("下相机");
|
||||
|
||||
public CameraFovSettingItem DownCamera
|
||||
{
|
||||
get
|
||||
{
|
||||
return _downCamera;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _downCamera, value);
|
||||
}
|
||||
}
|
||||
|
||||
private CameraFovSettingItem _mapCamera = new CameraFovSettingItem("Map相机");
|
||||
|
||||
public CameraFovSettingItem MapCamera
|
||||
{
|
||||
get
|
||||
{
|
||||
return _mapCamera;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _mapCamera, value);
|
||||
}
|
||||
}
|
||||
|
||||
public void EnsureDefaultCameras()
|
||||
{
|
||||
if (UpCamera == null)
|
||||
{
|
||||
UpCamera = new CameraFovSettingItem("上相机");
|
||||
}
|
||||
else if (string.IsNullOrWhiteSpace(UpCamera.CameraName))
|
||||
{
|
||||
UpCamera.CameraName = "上相机";
|
||||
}
|
||||
|
||||
if (DownCamera == null)
|
||||
{
|
||||
DownCamera = new CameraFovSettingItem("下相机");
|
||||
}
|
||||
else if (string.IsNullOrWhiteSpace(DownCamera.CameraName))
|
||||
{
|
||||
DownCamera.CameraName = "下相机";
|
||||
}
|
||||
|
||||
if (MapCamera == null)
|
||||
{
|
||||
MapCamera = new CameraFovSettingItem("Map相机");
|
||||
}
|
||||
else if (string.IsNullOrWhiteSpace(MapCamera.CameraName))
|
||||
{
|
||||
MapCamera.CameraName = "Map相机";
|
||||
}
|
||||
}
|
||||
|
||||
public void CopyFrom(DeviceCameraSettingItem source)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EnsureDefaultCameras();
|
||||
source.EnsureDefaultCameras();
|
||||
|
||||
UpCamera.CopyFrom(source.UpCamera);
|
||||
DownCamera.CopyFrom(source.DownCamera);
|
||||
MapCamera.CopyFrom(source.MapCamera);
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
DeviceCameraSettingItem item = new DeviceCameraSettingItem();
|
||||
item.CopyFrom(this);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
public class CameraFovSettingItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
public CameraFovSettingItem()
|
||||
{
|
||||
}
|
||||
|
||||
public CameraFovSettingItem(string cameraName)
|
||||
{
|
||||
_cameraName = cameraName;
|
||||
_fovX = 1.0;
|
||||
_fovY = 1.0;
|
||||
}
|
||||
|
||||
private string _cameraName;
|
||||
|
||||
public string CameraName
|
||||
{
|
||||
get
|
||||
{
|
||||
return _cameraName;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _cameraName, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _fovX;
|
||||
|
||||
public double FovX
|
||||
{
|
||||
get
|
||||
{
|
||||
return _fovX;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _fovX, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _fovY;
|
||||
|
||||
public double FovY
|
||||
{
|
||||
get
|
||||
{
|
||||
return _fovY;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _fovY, value);
|
||||
}
|
||||
}
|
||||
|
||||
public void CopyFrom(CameraFovSettingItem source)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CameraName = source.CameraName;
|
||||
FovX = source.FovX;
|
||||
FovY = source.FovY;
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
CameraFovSettingItem item = new CameraFovSettingItem();
|
||||
item.CopyFrom(this);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,245 @@
|
||||
using MwFramework.Controls.UIControl;
|
||||
using MwFramework.ManagerService;
|
||||
using Stylet;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MainShell.ParaSetting.Model
|
||||
{
|
||||
[Export(typeof(IParameter))]
|
||||
public class EquipmentParaSysSetting : ParameterBase
|
||||
{
|
||||
public SafeParaSysItem SafeParaSysItem { get; set; }=new SafeParaSysItem();
|
||||
|
||||
public override void Copy(IParameter source)
|
||||
{
|
||||
if(source is EquipmentParaSysSetting equipmentParaSys)
|
||||
{
|
||||
ReflectionExtension.Copy(this.SafeParaSysItem, equipmentParaSys.SafeParaSysItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class SafeParaSysItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private double _z1GeneralSafeHeight = 200.0;
|
||||
[WatchValue("Z1通用安全高度")]
|
||||
public double Z1GeneralSafeHeight
|
||||
{
|
||||
get { return _z1GeneralSafeHeight; }
|
||||
set { SetAndNotify(ref _z1GeneralSafeHeight, value); }
|
||||
}
|
||||
|
||||
private double _z3GeneralSafeHeight = 200.0;
|
||||
[WatchValue("Z3通用安全高度")]
|
||||
public double Z3GeneralSafeHeight
|
||||
{
|
||||
get { return _z3GeneralSafeHeight; }
|
||||
set { SetAndNotify(ref _z3GeneralSafeHeight, value); }
|
||||
}
|
||||
|
||||
private double _z4GeneralSafeHeight = 200.0;
|
||||
[WatchValue("Z4通用安全高度")]
|
||||
public double Z4GeneralSafeHeight
|
||||
{
|
||||
get { return _z4GeneralSafeHeight; }
|
||||
set { SetAndNotify(ref _z4GeneralSafeHeight, value); }
|
||||
}
|
||||
|
||||
private double _z5GeneralSafeHeight = 200.0;
|
||||
[WatchValue("Z5通用安全高度")]
|
||||
public double Z5GeneralSafeHeight
|
||||
{
|
||||
get { return _z5GeneralSafeHeight; }
|
||||
set { SetAndNotify(ref _z5GeneralSafeHeight, value); }
|
||||
}
|
||||
|
||||
private double _z6GeneralSafeHeight = 200.0;
|
||||
[WatchValue("Z6通用安全高度")]
|
||||
public double Z6GeneralSafeHeight
|
||||
{
|
||||
get { return _z6GeneralSafeHeight; }
|
||||
set { SetAndNotify(ref _z6GeneralSafeHeight, value); }
|
||||
}
|
||||
|
||||
private double _z1InRingSafeHeight = 200.0;
|
||||
[WatchValue("Z1环内最低安全高度")]
|
||||
public double Z1InRingSafeHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return _z1InRingSafeHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _z1InRingSafeHeight, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _z1OutRingSafeHeight = 100.0;
|
||||
[WatchValue("Z1环外最低安全高度")]
|
||||
public double Z1OutRingSafeHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return _z1OutRingSafeHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _z1OutRingSafeHeight, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _z1OnRingSafeHeight = 100.0;
|
||||
[WatchValue("Z1环上最低安全高度")]
|
||||
public double Z1OnRingSafeHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return _z1OnRingSafeHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _z1OnRingSafeHeight, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _z3OutRingSafeHeight = 100.0;
|
||||
[WatchValue("Z3环外最低安全高度")]
|
||||
public double Z3OutRingSafeHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return _z3OutRingSafeHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _z3OutRingSafeHeight, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _z4OutRingSafeHeight = 100.0;
|
||||
[WatchValue("Z4环外最低安全高度")]
|
||||
public double Z4OutRingSafeHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return _z4OutRingSafeHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _z4OutRingSafeHeight, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _z5OutRingSafeHeight = 100.0;
|
||||
[WatchValue("Z5环外最低安全高度")]
|
||||
public double Z5OutRingSafeHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return _z5OutRingSafeHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _z5OutRingSafeHeight, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _z6OutRingSafeHeight = 100.0;
|
||||
[WatchValue("Z6环外最低安全高度")]
|
||||
public double Z6OutRingSafeHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return _z6OutRingSafeHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _z6OutRingSafeHeight, value);
|
||||
}
|
||||
}
|
||||
|
||||
private double _needleReferenceX1X3Max = 100.0;
|
||||
[WatchValue("刺晶头基准X1-X3最大值")]
|
||||
public double NeedleReferenceX1X3Max
|
||||
{
|
||||
get { return _needleReferenceX1X3Max; }
|
||||
set { SetAndNotify(ref _needleReferenceX1X3Max, value); }
|
||||
}
|
||||
|
||||
private double _needleReferenceX1X3Min = 0.0;
|
||||
[WatchValue("刺晶头基准X1-X3最小值")]
|
||||
public double NeedleReferenceX1X3Min
|
||||
{
|
||||
get { return _needleReferenceX1X3Min; }
|
||||
set { SetAndNotify(ref _needleReferenceX1X3Min, value); }
|
||||
}
|
||||
|
||||
private double _positionLightReferenceX1X3Max = 100.0;
|
||||
[WatchValue("定位光源基准X1-X3最大值")]
|
||||
public double PositionLightReferenceX1X3Max
|
||||
{
|
||||
get { return _positionLightReferenceX1X3Max; }
|
||||
set { SetAndNotify(ref _positionLightReferenceX1X3Max, value); }
|
||||
}
|
||||
|
||||
private double _positionLightReferenceX1X3Min = 0.0;
|
||||
[WatchValue("定位光源基准X1-X3最小值")]
|
||||
public double PositionLightReferenceX1X3Min
|
||||
{
|
||||
get { return _positionLightReferenceX1X3Min; }
|
||||
set { SetAndNotify(ref _positionLightReferenceX1X3Min, value); }
|
||||
}
|
||||
|
||||
private double _wideFieldLightX2X3Max = 100.0;
|
||||
[WatchValue("大视野光源X2-X3最大值")]
|
||||
public double WideFieldLightX2X3Max
|
||||
{
|
||||
get { return _wideFieldLightX2X3Max; }
|
||||
set { SetAndNotify(ref _wideFieldLightX2X3Max, value); }
|
||||
}
|
||||
|
||||
private double _wideFieldLightX2X3Min = 0.0;
|
||||
[WatchValue("大视野光源X2-X3最小值")]
|
||||
public double WideFieldLightX2X3Min
|
||||
{
|
||||
get { return _wideFieldLightX2X3Min; }
|
||||
set { SetAndNotify(ref _wideFieldLightX2X3Min, value); }
|
||||
}
|
||||
|
||||
private double _wsInnerRingRadius = 0.0;
|
||||
[WatchValue("WS内环半径")]
|
||||
public double WsInnerRingRadius
|
||||
{
|
||||
get { return _wsInnerRingRadius; }
|
||||
set { SetAndNotify(ref _wsInnerRingRadius, value); }
|
||||
}
|
||||
|
||||
private double _needleRadius = 0.0;
|
||||
[WatchValue("刺晶头半径")]
|
||||
public double NeedleRadius
|
||||
{
|
||||
get { return _needleRadius; }
|
||||
set { SetAndNotify(ref _needleRadius, value); }
|
||||
}
|
||||
|
||||
private double _needleCalibSafeHeight;
|
||||
[WatchValue("刺晶头对刀安全高度")]
|
||||
public double NeedleCalibSafeHeight
|
||||
{
|
||||
get { return _needleCalibSafeHeight; }
|
||||
set { SetAndNotify(ref _needleCalibSafeHeight, value); }
|
||||
}
|
||||
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
return this.MemberwiseClone() as IParameterItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using MainShell.Models;
|
||||
using MwFramework.ManagerService;
|
||||
using Stylet;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MainShell.ParaSetting.Model
|
||||
{
|
||||
public class EquipmentPointSetting : ParameterBase
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class EquipmentPointItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private double _substrateLoadY1;
|
||||
|
||||
public double SubstrateLoadY1
|
||||
{
|
||||
get { return _substrateLoadY1; }
|
||||
set { SetAndNotify(ref _substrateLoadY1, value); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
return (IParameterItem)this.MemberwiseClone();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
using MainShell.Common;
|
||||
using MwFramework.Controls.UIControl;
|
||||
using MwFramework.ManagerService;
|
||||
using Stylet;
|
||||
|
||||
namespace MainShell.ParaSetting.Model
|
||||
{
|
||||
public abstract class RunProcessParameterItemBase : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private bool _enableProcess;
|
||||
|
||||
public bool EnableProcess
|
||||
{
|
||||
get { return _enableProcess; }
|
||||
set { SetAndNotify(ref _enableProcess, value); }
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
return this.MemberwiseClone() as IParameterItem;
|
||||
}
|
||||
}
|
||||
|
||||
public class ProductLoadProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
}
|
||||
|
||||
public class ProductUnloadProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
}
|
||||
|
||||
public class ProductPositionProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
|
||||
private double _glassMarkDisMaxOffset = 0.01;
|
||||
[WatchValue("<22><>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>")]
|
||||
public double GlassMarkDisMaxOffset
|
||||
{
|
||||
get { return _glassMarkDisMaxOffset; }
|
||||
set { SetAndNotify(ref _glassMarkDisMaxOffset, value); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
private double _pcbLimitAngle = 0.5;
|
||||
|
||||
public double PcbLimitAngle
|
||||
{
|
||||
get { return _pcbLimitAngle; }
|
||||
set { SetAndNotify(ref _pcbLimitAngle, value); }
|
||||
}
|
||||
}
|
||||
|
||||
public class ProductHeightMeasureProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
private double _heightMeasureLimit = 0.04;
|
||||
public double HeightMeasureLimit
|
||||
{
|
||||
get { return _heightMeasureLimit; }
|
||||
set { SetAndNotify(ref _heightMeasureLimit, value); }
|
||||
}
|
||||
|
||||
private bool _useHeightOffset = true;
|
||||
[WatchValue("ʹ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>")]
|
||||
public bool UseHeightOffset
|
||||
{
|
||||
get { return _useHeightOffset; }
|
||||
set { SetAndNotify(ref _useHeightOffset, value); }
|
||||
}
|
||||
}
|
||||
|
||||
public class WaferLoadProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
}
|
||||
|
||||
public class WaferUnloadProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
}
|
||||
|
||||
public class WaferStraightenProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
private bool _useSingleStraighten;
|
||||
[WatchValue("ʹ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ֱ")]
|
||||
public bool UseSingleStraighten
|
||||
{
|
||||
get { return _useSingleStraighten; }
|
||||
set { SetAndNotify(ref _useSingleStraighten, value); }
|
||||
}
|
||||
|
||||
|
||||
private bool _straightAngleDirX = true;
|
||||
[WatchValue("<22><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>X")]
|
||||
public bool StraightAngleDirX
|
||||
{
|
||||
get { return _straightAngleDirX; }
|
||||
set { SetAndNotify(ref _straightAngleDirX, value); }
|
||||
}
|
||||
|
||||
private int _maxBadDieCount = 100;
|
||||
|
||||
public int MaxBadDieCount
|
||||
{
|
||||
get { return _maxBadDieCount; }
|
||||
set { SetAndNotify(ref _maxBadDieCount, value); }
|
||||
}
|
||||
}
|
||||
|
||||
public class DieRecognizeProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
private bool _useSingleWaferPosition;
|
||||
[WatchValue("ʹ<>õ<EFBFBD><C3B5><EFBFBD>оƬ<D0BE><C6AC>λ")]
|
||||
public bool UseSingleWaferPosition
|
||||
{
|
||||
get { return _useSingleWaferPosition; }
|
||||
set { SetAndNotify(ref _useSingleWaferPosition, value); }
|
||||
}
|
||||
|
||||
private bool _useWaferWaveCheck;
|
||||
public bool UseWaferWaveCheck
|
||||
{
|
||||
get { return _useWaferWaveCheck; }
|
||||
set { SetAndNotify(ref _useWaferWaveCheck, value); }
|
||||
}
|
||||
|
||||
private bool _changePid = true;
|
||||
[WatchValue("PID<49>л<EFBFBD>")]
|
||||
public bool ChangePid
|
||||
{
|
||||
get { return _changePid; }
|
||||
set { SetAndNotify(ref _changePid, value); }
|
||||
}
|
||||
|
||||
private double _dieAngleThreshold = 3;
|
||||
[WatchValue("<22><><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>ֵ")]
|
||||
public double DieAngleThreshold
|
||||
{
|
||||
get { return _dieAngleThreshold; }
|
||||
set { SetAndNotify(ref _dieAngleThreshold, value); }
|
||||
}
|
||||
|
||||
private WaferScanMode _waferScanMode = WaferScanMode.FullScan;
|
||||
[WatchValue("оƬɨ<C6AC><C9A8>ģʽ")]
|
||||
public WaferScanMode WaferScanMode
|
||||
{
|
||||
get { return _waferScanMode; }
|
||||
set { SetAndNotify(ref _waferScanMode, value); }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class BondingProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
|
||||
|
||||
private bool _isNeedleUpWhenBonding;
|
||||
[WatchValue("<22><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>̧<EFBFBD><CCA7>")]
|
||||
public bool IsNeedleUpWhenBonding
|
||||
{
|
||||
get { return _isNeedleUpWhenBonding; }
|
||||
set { SetAndNotify(ref _isNeedleUpWhenBonding, value); }
|
||||
}
|
||||
|
||||
|
||||
private bool _useAllDie;
|
||||
[WatchValue("<22><><EFBFBD><EFBFBD>100%<25><><EFBFBD><EFBFBD>")]
|
||||
public bool UseAllDie
|
||||
{
|
||||
get { return _useAllDie; }
|
||||
set { SetAndNotify(ref _useAllDie, value); }
|
||||
}
|
||||
|
||||
private bool _useAirCoolAllProduce = true;
|
||||
[WatchValue("ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")]
|
||||
public bool UseAirCoolAllProduce
|
||||
{
|
||||
get { return _useAirCoolAllProduce; }
|
||||
set { SetAndNotify(ref _useAirCoolAllProduce, value); }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class RecheckProcessParameter : RunProcessParameterItemBase
|
||||
{
|
||||
private bool _useIrregularRecheck;
|
||||
[WatchValue("<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>")]
|
||||
public bool UseIrregularRecheck
|
||||
{
|
||||
get { return _useIrregularRecheck; }
|
||||
set { SetAndNotify(ref _useIrregularRecheck, value); }
|
||||
}
|
||||
}
|
||||
|
||||
public class GlobalRunParameter : RunProcessParameterItemBase
|
||||
{
|
||||
private int _needleCheckBondingGlassNum;
|
||||
[WatchValue("<22>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪBonding<6E><67><EFBFBD><EFBFBD>")]
|
||||
public int NeedleCheckBondingGlassNum
|
||||
{
|
||||
get { return _needleCheckBondingGlassNum; }
|
||||
set { SetAndNotify(ref _needleCheckBondingGlassNum, value); }
|
||||
}
|
||||
|
||||
private bool _isUseMesLeiMan;
|
||||
[WatchValue("<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>MES-<2D><><EFBFBD><EFBFBD>")]
|
||||
public bool IsUseMesLeiMan
|
||||
{
|
||||
get { return _isUseMesLeiMan; }
|
||||
set { SetAndNotify(ref _isUseMesLeiMan, value); }
|
||||
}
|
||||
|
||||
private RunningMode _runningMode = RunningMode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
[WatchValue("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")]
|
||||
public RunningMode RunningMode
|
||||
{
|
||||
get { return _runningMode; }
|
||||
set { SetAndNotify(ref _runningMode, value); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
using MainShell.Common;
|
||||
using MwFramework.Controls.UIControl;
|
||||
using MwFramework.ManagerService;
|
||||
using Newtonsoft.Json;
|
||||
using Stylet;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Serialization;
|
||||
using static MainShell.ParaSetting.Model.SpeedSetting;
|
||||
|
||||
namespace MainShell.ParaSetting.Model
|
||||
{
|
||||
[Export(typeof(IParameter))]
|
||||
public class RunSetting : ParameterBase
|
||||
{
|
||||
public ProductLoadProcessParameter ProductLoadProcessParameter { get; set; } = new ProductLoadProcessParameter();
|
||||
public ProductUnloadProcessParameter ProductUnloadProcessParameter { get; set; } = new ProductUnloadProcessParameter();
|
||||
public ProductPositionProcessParameter ProductPositionProcessParameter { get; set; } = new ProductPositionProcessParameter();
|
||||
public ProductHeightMeasureProcessParameter ProductHeightMeasureProcessParameter { get; set; } = new ProductHeightMeasureProcessParameter();
|
||||
public WaferLoadProcessParameter WaferLoadProcessParameter { get; set; } = new WaferLoadProcessParameter();
|
||||
public WaferUnloadProcessParameter WaferUnloadProcessParameter { get; set; } = new WaferUnloadProcessParameter();
|
||||
public WaferStraightenProcessParameter WaferStraightenProcessParameter { get; set; } = new WaferStraightenProcessParameter();
|
||||
public DieRecognizeProcessParameter DieRecognizeProcessParameter { get; set; } = new DieRecognizeProcessParameter();
|
||||
public BondingProcessParameter BondingProcessParameter { get; set; } = new BondingProcessParameter();
|
||||
public RecheckProcessParameter RecheckProcessParameter { get; set; } = new RecheckProcessParameter();
|
||||
public GlobalRunParameter GlobalRunParameter { get; set; } = new GlobalRunParameter();
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlIgnore]
|
||||
public FlowControlItem FlowControlItem
|
||||
{
|
||||
get
|
||||
{
|
||||
FlowControlItem item = new FlowControlItem();
|
||||
item.SubStrateLoadEnable = ProductLoadProcessParameter.EnableProcess;
|
||||
item.SubStrateUnLoadEnable = ProductUnloadProcessParameter.EnableProcess;
|
||||
item.SubstratePositionEnable = ProductPositionProcessParameter.EnableProcess;
|
||||
item.SubstrateHeightMeasureEnable = ProductHeightMeasureProcessParameter.EnableProcess;
|
||||
item.WaferLoadEnable = WaferLoadProcessParameter.EnableProcess;
|
||||
item.WaferUnLoadEnable = WaferUnloadProcessParameter.EnableProcess;
|
||||
item.WaferStraightenEnable = WaferStraightenProcessParameter.EnableProcess;
|
||||
item.WaferPositionEnable = DieRecognizeProcessParameter.EnableProcess;
|
||||
item.BondingEnable = BondingProcessParameter.EnableProcess;
|
||||
item.SubstrateRecheckEnable = RecheckProcessParameter.EnableProcess;
|
||||
return item;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ProductLoadProcessParameter.EnableProcess = value.SubStrateLoadEnable;
|
||||
ProductUnloadProcessParameter.EnableProcess = value.SubStrateUnLoadEnable;
|
||||
ProductPositionProcessParameter.EnableProcess = value.SubstratePositionEnable;
|
||||
ProductHeightMeasureProcessParameter.EnableProcess = value.SubstrateHeightMeasureEnable;
|
||||
WaferLoadProcessParameter.EnableProcess = value.WaferLoadEnable;
|
||||
WaferUnloadProcessParameter.EnableProcess = value.WaferUnLoadEnable;
|
||||
WaferStraightenProcessParameter.EnableProcess = value.WaferStraightenEnable;
|
||||
DieRecognizeProcessParameter.EnableProcess = value.WaferPositionEnable;
|
||||
BondingProcessParameter.EnableProcess = value.BondingEnable;
|
||||
RecheckProcessParameter.EnableProcess = value.SubstrateRecheckEnable;
|
||||
}
|
||||
}
|
||||
|
||||
public override void Copy(IParameter source)
|
||||
{
|
||||
if (source is RunSetting setting)
|
||||
{
|
||||
ReflectionExtension.Copy(ProductLoadProcessParameter, setting.ProductLoadProcessParameter);
|
||||
ReflectionExtension.Copy(ProductUnloadProcessParameter, setting.ProductUnloadProcessParameter);
|
||||
ReflectionExtension.Copy(ProductPositionProcessParameter, setting.ProductPositionProcessParameter);
|
||||
ReflectionExtension.Copy(ProductHeightMeasureProcessParameter, setting.ProductHeightMeasureProcessParameter);
|
||||
ReflectionExtension.Copy(WaferLoadProcessParameter, setting.WaferLoadProcessParameter);
|
||||
ReflectionExtension.Copy(WaferUnloadProcessParameter, setting.WaferUnloadProcessParameter);
|
||||
ReflectionExtension.Copy(WaferStraightenProcessParameter, setting.WaferStraightenProcessParameter);
|
||||
ReflectionExtension.Copy(DieRecognizeProcessParameter, setting.DieRecognizeProcessParameter);
|
||||
ReflectionExtension.Copy(BondingProcessParameter, setting.BondingProcessParameter);
|
||||
ReflectionExtension.Copy(RecheckProcessParameter, setting.RecheckProcessParameter);
|
||||
ReflectionExtension.Copy(GlobalRunParameter, setting.GlobalRunParameter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class FlowControlItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
private bool _substrateLoadEnable;
|
||||
|
||||
public bool SubStrateLoadEnable
|
||||
{
|
||||
get { return _substrateLoadEnable; }
|
||||
set { SetAndNotify(ref _substrateLoadEnable, value); }
|
||||
}
|
||||
|
||||
private bool _substrateUnLoadEnable;
|
||||
|
||||
public bool SubStrateUnLoadEnable
|
||||
{
|
||||
get { return _substrateUnLoadEnable; }
|
||||
set { SetAndNotify(ref _substrateUnLoadEnable, value); }
|
||||
}
|
||||
|
||||
private bool _substratePositionEnable;
|
||||
|
||||
public bool SubstratePositionEnable
|
||||
{
|
||||
get { return _substratePositionEnable; }
|
||||
set { SetAndNotify(ref _substratePositionEnable, value); }
|
||||
}
|
||||
|
||||
private bool _substrateHeightMeasureEnable;
|
||||
|
||||
public bool SubstrateHeightMeasureEnable
|
||||
{
|
||||
get { return _substrateHeightMeasureEnable; }
|
||||
set { SetAndNotify(ref _substrateHeightMeasureEnable, value); }
|
||||
}
|
||||
|
||||
private bool _waferLoadEnable;
|
||||
|
||||
public bool WaferLoadEnable
|
||||
{
|
||||
get { return _waferLoadEnable; }
|
||||
set { SetAndNotify(ref _waferLoadEnable, value); }
|
||||
}
|
||||
|
||||
private bool _waferUnLoadEnable;
|
||||
|
||||
public bool WaferUnLoadEnable
|
||||
{
|
||||
get { return _waferUnLoadEnable; }
|
||||
set { SetAndNotify(ref _waferUnLoadEnable, value); }
|
||||
}
|
||||
|
||||
private bool _waferStraightenEnable;
|
||||
|
||||
public bool WaferStraightenEnable
|
||||
{
|
||||
get { return _waferStraightenEnable; }
|
||||
set { SetAndNotify(ref _waferStraightenEnable, value); }
|
||||
}
|
||||
|
||||
private bool _waferPositionEnable;
|
||||
|
||||
public bool WaferPositionEnable
|
||||
{
|
||||
get { return _waferPositionEnable; }
|
||||
set { SetAndNotify(ref _waferPositionEnable, value); }
|
||||
}
|
||||
|
||||
private bool _bondingEnable;
|
||||
|
||||
public bool BondingEnable
|
||||
{
|
||||
get { return _bondingEnable; }
|
||||
set { SetAndNotify(ref _bondingEnable, value); }
|
||||
}
|
||||
|
||||
private bool _substrateRecheckEnable;
|
||||
|
||||
public bool SubstrateRecheckEnable
|
||||
{
|
||||
get { return _substrateRecheckEnable; }
|
||||
set { SetAndNotify(ref _substrateRecheckEnable, value); }
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
return this.MemberwiseClone() as IParameterItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
using MainShell.Common;
|
||||
using MainShell.Hardware;
|
||||
using MwFramework.Controls.UIControl;
|
||||
using MwFramework.Device;
|
||||
using MwFramework.ManagerService;
|
||||
using Stylet;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MainShell.ParaSetting.Model
|
||||
{
|
||||
[Export(typeof(IParameter))]
|
||||
public class SpeedSetting : ParameterBase
|
||||
{
|
||||
[Export(typeof(IParameter))]
|
||||
public class SpeedParaSysSetting : ParameterBase
|
||||
{
|
||||
[WatchValue("速度参数")]
|
||||
public SpeedTypeItemCollection SpeedTypeItemCollection { get; set; } = new SpeedTypeItemCollection();
|
||||
public SpeedType CurrentSpeedType { get; set; } = SpeedType.Low;
|
||||
public override void Copy(IParameter source)
|
||||
{
|
||||
if (source is SpeedParaSysSetting setting)
|
||||
{
|
||||
ReflectionExtension.Copy(SpeedTypeItemCollection, setting.SpeedTypeItemCollection);
|
||||
CurrentSpeedType = setting.CurrentSpeedType;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class SpeedTypeItemCollection : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
|
||||
private ObservableCollection<SpeedTypeItem> _speedTypeItemList = new ObservableCollection<SpeedTypeItem>();
|
||||
[WatchValue("SpeedTypeItemList")]
|
||||
public ObservableCollection<SpeedTypeItem> SpeedTypeItemList
|
||||
{
|
||||
get { return _speedTypeItemList; }
|
||||
set { if (_speedTypeItemList != value) { _speedTypeItemList = value; OnPropertyChanged(nameof(SpeedTypeItemList)); } }
|
||||
}
|
||||
|
||||
private SpeedTypeItem _currentSelectSpeedTypeItemList = new SpeedTypeItem();
|
||||
public SpeedTypeItem CurrentSelectSpeedTypeItemList
|
||||
{
|
||||
get { return _currentSelectSpeedTypeItemList; }
|
||||
set { if (_currentSelectSpeedTypeItemList != value) { _currentSelectSpeedTypeItemList = value; OnPropertyChanged(nameof(CurrentSelectSpeedTypeItemList)); } }
|
||||
}
|
||||
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
return this.MemberwiseClone() as IParameterItem;
|
||||
}
|
||||
}
|
||||
public class SpeedTypeItem : PropertyChangedBase, IParameterItem
|
||||
{
|
||||
|
||||
private string _axisName;
|
||||
[WatchValue("轴名称")]
|
||||
public string AxisName
|
||||
{
|
||||
get { return _axisName; }
|
||||
set { SetAndNotify(ref _axisName, value); }
|
||||
}
|
||||
|
||||
private double _speed = 10.0;
|
||||
[WatchValue("速度")]
|
||||
public double Speed
|
||||
{
|
||||
get { return _speed; }
|
||||
set { if (_speed != value) { _speed = value; OnPropertyChanged(nameof(Speed)); } }
|
||||
}
|
||||
private double _acc = 100.0;
|
||||
[WatchValue("加速度")]
|
||||
public double Acc
|
||||
{
|
||||
get { return _acc; }
|
||||
set { if (_acc != value) { _acc = value; OnPropertyChanged(nameof(Acc)); } }
|
||||
}
|
||||
private double _dec = 100.0;
|
||||
[WatchValue("减速度")]
|
||||
public double Dec
|
||||
{
|
||||
get { return _dec; }
|
||||
set { if (_dec != value) { _dec = value; OnPropertyChanged(nameof(Dec)); } }
|
||||
}
|
||||
private double _jerk = 1000.0;
|
||||
[WatchValue("加加速度")]
|
||||
public double Jerk
|
||||
{
|
||||
get { return _jerk; }
|
||||
set { if (_jerk != value) { _jerk = value; OnPropertyChanged(nameof(Jerk)); } }
|
||||
}
|
||||
private double _lowPercent = 20;
|
||||
[WatchValue("低速")]
|
||||
public double LowPercent
|
||||
{
|
||||
get { return _lowPercent; }
|
||||
set { LimitPercent(ref value); SetAndNotify(ref _lowPercent, value); }
|
||||
}
|
||||
|
||||
private double _medianPercent = 50;
|
||||
[WatchValue("中速")]
|
||||
public double MedianPercent
|
||||
{
|
||||
get { return _medianPercent; }
|
||||
set { LimitPercent(ref value); SetAndNotify(ref _medianPercent, value); }
|
||||
}
|
||||
|
||||
private double _highPercent = 100;
|
||||
[WatchValue("高速")]
|
||||
public double HighPercent
|
||||
{
|
||||
get { return _highPercent; }
|
||||
set { LimitPercent(ref value); SetAndNotify(ref _highPercent, value); }
|
||||
}
|
||||
|
||||
private void LimitPercent(ref double percent)
|
||||
{
|
||||
if (percent < 0) percent = 1;
|
||||
else if (percent > 100) percent = 100;
|
||||
|
||||
}
|
||||
public IParameterItem Clone()
|
||||
{
|
||||
return this.MemberwiseClone() as IParameterItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user