|
|
@@ -1,8 +1,10 @@
|
|
|
using CCDCount.MODEL.ConfigModel;
|
|
|
+using CCDCount.MODEL.SqlDataModel;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Collections.ObjectModel;
|
|
|
using System.ComponentModel;
|
|
|
+using System.Drawing.Text;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
@@ -220,7 +222,10 @@ namespace CCDCountWpf
|
|
|
if (MessageBus.NowSettingLoadMainThread != null && float.TryParse(value, out float newValue))
|
|
|
{
|
|
|
// 同步更新到MessageBus
|
|
|
+ float oldValue = MessageBus.NowSettingLoadMainThread.cameraConfig.ExposureTimeValue;
|
|
|
MessageBus.NowSettingLoadMainThread.cameraConfig.ExposureTimeValue = newValue;
|
|
|
+ MessageBus.NowSettingLoadMainThread.CameraConfigIsChange = true;
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"相机{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的曝光时间已从{oldValue}修改为{newValue}", 0);
|
|
|
OnPropertyChanged("ExposureTimeValue");
|
|
|
}
|
|
|
}
|
|
|
@@ -248,7 +253,10 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ float oldValue = MessageBus.NowSettingLoadMainThread.cameraConfig.AcquistionLineRateValue;
|
|
|
MessageBus.NowSettingLoadMainThread.cameraConfig.AcquistionLineRateValue = int.Parse(value);
|
|
|
+ MessageBus.NowSettingLoadMainThread.CameraConfigIsChange = true;
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"相机{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的行频从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("AcquistionLineRate");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -282,7 +290,10 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.cameraConfig.Height;
|
|
|
MessageBus.NowSettingLoadMainThread.cameraConfig.Height = int.Parse(value);
|
|
|
+ MessageBus.NowSettingLoadMainThread.CameraConfigIsChange = true;
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"相机{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的图像高从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("ImageHeight");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -316,7 +327,10 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.cameraConfig.Width;
|
|
|
MessageBus.NowSettingLoadMainThread.cameraConfig.Width = int.Parse(value);
|
|
|
+ MessageBus.NowSettingLoadMainThread.CameraConfigIsChange = true;
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"相机{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的图像宽从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("ImageWidth");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -350,7 +364,10 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ string oldValue = MessageBus.NowSettingLoadMainThread.cameraConfig.CameraName == "" ? "null" : MessageBus.NowSettingLoadMainThread.cameraConfig.CameraName;
|
|
|
MessageBus.NowSettingLoadMainThread.cameraConfig.CameraName = value;
|
|
|
+ MessageBus.NowSettingLoadMainThread.CameraConfigIsChange = true;
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"相机{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的用户自定义名从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("CamUserName");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -384,7 +401,10 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.cameraConfig.OffsetX;
|
|
|
MessageBus.NowSettingLoadMainThread.cameraConfig.OffsetX = int.Parse(value);
|
|
|
+ MessageBus.NowSettingLoadMainThread.CameraConfigIsChange = true;
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"相机{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的图像X偏移从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("CamOffsetX");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -404,8 +424,40 @@ namespace CCDCountWpf
|
|
|
/// <summary>
|
|
|
/// 当前选择的相机SN
|
|
|
/// </summary>
|
|
|
- public string SelectedCameraSN { get; set;}
|
|
|
+ public string CameraSNNum
|
|
|
+ {
|
|
|
+ get
|
|
|
+ {
|
|
|
+ if (MessageBus.NowSettingLoadMainThread != null)
|
|
|
+ {
|
|
|
+ return MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum.ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ if (MessageBus.NowSettingLoadMainThread != null)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ string oldValue = MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum;
|
|
|
+ MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum = value;
|
|
|
+ MessageBus.NowSettingLoadMainThread.shuLiConfig.CameraSN = value;
|
|
|
+ MessageBus.NowSettingLoadMainThread.CameraConfigIsChange = true;
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"相机{MessageBus.NowSettingLoadMainThread.cameraConfig.CamerNo}的SN从{oldValue}修改为{value}", 0);
|
|
|
+ OnPropertyChanged("CameraSNNum");
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ {
|
|
|
+ Console.WriteLine("CameraSNNum-SetError");
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
/// <summary>
|
|
|
/// 预处理阈值
|
|
|
/// </summary>
|
|
|
@@ -428,7 +480,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.RegionThreshold;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.RegionThreshold = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的预处理阈值从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("RegionThreshold");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -462,7 +516,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.Channel;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.Channel = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的通道数从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("Channel");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -496,7 +552,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.NoiseFilter_Threshold;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.NoiseFilter_Threshold = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的噪声滤波阈值从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("NoiseFilter");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -530,7 +588,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.MIN_OBJECT_WIDTH;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.MIN_OBJECT_WIDTH = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的异常粒最小宽从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("MIN_OBJECT_WIDTH");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -564,7 +624,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.MAX_OBJECT_WIDTH;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.MAX_OBJECT_WIDTH = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的异常粒最大宽从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("MAX_OBJECT_WIDTH");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -598,7 +660,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.MIN_OBJECT_HEIGHT;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.MIN_OBJECT_HEIGHT = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的异常粒最小高从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("MIN_OBJECT_HEIGHT");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -632,7 +696,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.MAX_OBJECT_HEIGHT;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.MAX_OBJECT_HEIGHT = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的异常粒最大高从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("MAX_OBJECT_HEIGHT");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -666,7 +732,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.MinArea;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.MinArea = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的异常粒最小面积从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("MinArea");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -700,7 +768,9 @@ namespace CCDCountWpf
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.MaxArea;
|
|
|
MessageBus.NowSettingLoadMainThread.shuLiConfig.MaxArea = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的异常粒最大面积从{oldValue}修改为{value}", 0);
|
|
|
OnPropertyChanged("MaxArea");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
@@ -712,6 +782,67 @@ namespace CCDCountWpf
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 异常粒识别码
|
|
|
+ /// </summary>
|
|
|
+ public string PandingCode
|
|
|
+ {
|
|
|
+ get
|
|
|
+ {
|
|
|
+ if (MessageBus.NowSettingLoadMainThread != null)
|
|
|
+ {
|
|
|
+ return MessageBus.NowSettingLoadMainThread.shuLiConfig.MaxArea.ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ if (MessageBus.NowSettingLoadMainThread != null)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ int oldValue = MessageBus.NowSettingLoadMainThread.shuLiConfig.PandingCode;
|
|
|
+ if(oldValue != int.Parse(value))
|
|
|
+ {
|
|
|
+ MessageBus.NowSettingLoadMainThread.shuLiConfig.PandingCode = int.Parse(value);
|
|
|
+ MessageBus.faultLogClass.RecordValueChangeMessage($"数粒识别{MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum}的判断标准识别码从{oldValue}修改为{value}", 0);
|
|
|
+ }
|
|
|
+ OnPropertyChanged("PandingCode");
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ {
|
|
|
+ Console.WriteLine("PandingCode-SetError");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<ErroeMesDataModelClass> errMessageList = new List<ErroeMesDataModelClass>();
|
|
|
+ public List<ErroeMesDataModelClass> ErrMessageShowList
|
|
|
+ {
|
|
|
+ get { return errMessageList; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ errMessageList = value;
|
|
|
+ OnPropertyChanged("errMessageList");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<UserMesDataModelClass> userMesDataModels = new List<UserMesDataModelClass>();
|
|
|
+ public List<UserMesDataModelClass> UserMesDataModels
|
|
|
+ {
|
|
|
+ get { return userMesDataModels; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ userMesDataModels = value;
|
|
|
+ OnPropertyChanged("userMesDataModels");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//数据绑定核心实现
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|