using Cognex.VisionPro.ToolBlock; using Newtonsoft.Json; using Prism.Mvvm; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using TeamAAS_VP.Enums; namespace TeamAAS_VP.Models { /// /// 流程模型 /// [JsonObject(MemberSerialization.OptOut)] public class ProcedureModel : BindableBase { public Guid Id { get; set; } /// /// 流程名称 /// public string Name { get; set; } public string CameraName { get; set; } /// /// 视觉图像处理模式 /// public VisionModel VisionModel { get; set; } /// /// 触发相机命令 /// public string TriggerCommand { get; set; } /// /// 机器人 /// public Guid RobotId { get; set; } /// /// Feeder /// public Guid FeederId { get; set; } /// /// Camera /// public Guid CameraId { get; set; } /// /// 校准 /// public Guid CalibrationId { get; set; } private ObservableCollection _ProcedureOutputs; /// /// 视觉流程输出集合 /// public ObservableCollection ProcedureOutputs { get { return _ProcedureOutputs; } set { SetProperty(ref _ProcedureOutputs,value); } } private ObservableCollection _ProcedureOutputsOpcAdrs; /// /// OPc回复输出集合 /// public ObservableCollection ProcedureOutputsOpcAdrs { get { return _ProcedureOutputsOpcAdrs; } set { SetProperty(ref _ProcedureOutputsOpcAdrs, value); } } private FeederWorks _FeederWorks; /// /// Feeder振动集合 /// public FeederWorks FeederWorks { get { return _FeederWorks; } set { SetProperty(ref _FeederWorks,value); } } private FeederStockWorks _FeederStockWorks; /// /// Feeder料仓振动集合 /// public FeederStockWorks FeederStockWorks { get { return _FeederStockWorks; } set { SetProperty(ref _FeederStockWorks, value); } } private double _MinArea; /// /// Blob最小面积 /// public double MinArea { get { return _MinArea; } set { SetProperty(ref _MinArea, value); } } private int _LightValue; /// /// 亮度 /// public int LightValue { get { return _LightValue; } set { SetProperty(ref _LightValue, value); } } private float _ExposureTime; /// /// 相机曝光时间 /// public float ExposureTime { get { return _ExposureTime; } set { SetProperty(ref _ExposureTime, value);} } private float _Gain; /// /// 相机增益 /// public float Gain { get { return _Gain; } set { SetProperty(ref _Gain, value); } } private CogToolBlock _ToolBlock; /// /// 工具组 /// [JsonIgnore] public CogToolBlock ToolBlock { get { return _ToolBlock; } set { SetProperty(ref _ToolBlock,value); } } private ObservableCollection _ToolInfo = new ObservableCollection(); /// /// 工具末端的补偿 /// public ObservableCollection ToolInfo { get { return _ToolInfo; } set { SetProperty(ref _ToolInfo, value); } } private int _WaitPhoto; /// /// 延时拍照时长(ms) /// public int WaitPhoto { get { return _WaitPhoto; } set { SetProperty(ref _WaitPhoto, value); } } private int _WaitFeederStop; /// /// 等待震动盘静止时长(ms) /// public int WaitFeederStop { get { return _WaitFeederStop; } set { SetProperty(ref _WaitFeederStop, value); } } private int _WaitSuction; /// /// 吸真空延时(ms) /// public int WaitSuction { get { return _WaitSuction; } set { SetProperty(ref _WaitSuction, value); } } private VibrationModel _VibrationModel; /// /// 振动模式 /// public VibrationModel VibrationModel { get { return _VibrationModel; } set { SetProperty(ref _VibrationModel, value); } } private int _WaitBlow; /// /// 破真空延时(ms) /// public int WaitBlow { get { return _WaitBlow; } set { SetProperty(ref _WaitBlow, value); } } private int _FeederFailLimit; /// /// 拍照失败Feeder振动最大次数 /// public int FeederFailLimit { get { return _FeederFailLimit; } set { SetProperty(ref _FeederFailLimit, value); } } private int _OutputPointCountMax=100; /// /// 每次发送给机器人的点数最大值 /// public int OutputPointCountMax { get { return _OutputPointCountMax; } set { SetProperty(ref _OutputPointCountMax, value); } } private bool _IsSaveImage; /// /// 保存图像 /// public bool IsSaveImage { get { return _IsSaveImage; } set { SetProperty(ref _IsSaveImage, value); } } private ProcedureSaveImageModel _SaveImageModel; /// /// 存图模式 /// public ProcedureSaveImageModel SaveImageModel { get { return _SaveImageModel; } set { SetProperty(ref _SaveImageModel, value); } } private ProcedureSaveImagePathModel _SaveImagePathModel; /// /// 存图路径模式 /// public ProcedureSaveImagePathModel SaveImagePathModel { get { return _SaveImagePathModel; } set { SetProperty(ref _SaveImagePathModel, value); } } private string _SavePath; /// /// 存图路径 /// public string SavePath { get { return _SavePath; } set { SetProperty(ref _SavePath, value); } } private bool _IsCompress; /// /// 是否压缩图片 /// public bool IsCompress { get { return _IsCompress; } set { SetProperty(ref _IsCompress, value); } } private FeederFrequencyModel _FeederFindFrequency; /// /// Feeder自动寻频配置 /// public FeederFrequencyModel FeederFindFrequency { get { return _FeederFindFrequency; } set { SetProperty(ref _FeederFindFrequency, value); } } public ProcedureModel Clone() { return JsonConvert.DeserializeObject(JsonConvert.SerializeObject(this)); ; } } }