Browse Source

寄存器更新逻辑修改

master
sc 3 months ago
parent
commit
1a9a4fea62
  1. 287
      ViewModel/MainWindowViewModel.cs

287
ViewModel/MainWindowViewModel.cs

@ -73,6 +73,103 @@ namespace DyeingComputer.ViewModel
public static string SYSKEY; public static string SYSKEY;
public static UInt32 RX = 0; public static UInt32 RX = 0;
public static UInt32 TX = 0; public static UInt32 TX = 0;
public ICommand ProgramgroupView_stop { get; }
bool _isInteractive;
public bool IsInteractive//步骤表交互选择
{
get => _isInteractive;
set
{
_isInteractive = value;
OnPropertyChanged("IsInteractive");
}
}
bool _UserButton;
public bool UserButton//步骤按钮交互选择
{
get => _UserButton;
set
{
_UserButton = value;
OnPropertyChanged("UserButton");
}
}
public static bool _Lock_bool;
Visibility _Lock_bool_xml;
public Visibility Lock_bool//锁图标
{
get => _Lock_bool_xml;
set
{
_Lock_bool_xml = value;
OnPropertyChanged("Lock_bool");
}
}
bool _Link_bool;
Visibility _Link_bool_xml;
public Visibility Link_bool//连接图标
{
get => _Link_bool_xml;
set
{
_Link_bool_xml = value;
OnPropertyChanged("Link_bool");
}
}
public string work_Temp; //显示温度
public string Work_Temp //通知UI控件参数改变
{
get { return work_Temp; }
set { work_Temp = value; OnPropertyChanged("Work_Temp"); }
}
public string work_Numder; //显示工单号
public string Work_Numder //通知UI控件参数改变
{
get { return work_Numder; }
set { work_Numder = value; OnPropertyChanged("Work_Numder"); }
}
public string status_Str = "-"; //显示状态
public string Status_Str //通知UI控件参数改变
{
get { return status_Str; }
set { status_Str = value; OnPropertyChanged("Status_Str"); }
}
public string sys_Time; //显示系统时间
public string Sys_Time //通知UI控件参数改变
{
get { return sys_Time; }
set { sys_Time = value; OnPropertyChanged("Sys_Time"); }
}
public int sys_workSTEPID; //
public int Sys_workSTEPID //通知UI控件参数改变
{
get { return sys_workSTEPID; }
set { sys_workSTEPID = value; OnPropertyChanged("Sys_workSTEPID"); }
}
public string sys_log; //
public string Sys_log //通知UI控件参数改变
{
get { return sys_log; }
set { sys_log = value; OnPropertyChanged("Sys_log"); }
}
public string program_Name;
public string Program_Name //通知UI控件参数改变
{
get { return program_Name; }
set { program_Name = value; OnPropertyChanged("Program_Name"); }
}
public static int ViewID = 0;//页面id
public static object Name_err = "";
public static object SYSTime = "-----";
public static object WorkNumder = "-----";
public static object StatusStr = "-----";
public static object Process_step = "-----";
public static string ProgramName = "-----";//工艺名
public static Int32 DIDETime; //空闲计时器
bool ERR_JOG;//故障状态
private int timer1s_ = 0;
private int timer5s_ = 0;
public MainWindowViewModel() public MainWindowViewModel()
{ {
SYSKEY = MD5check.MD5Encrypt16(HardwareSN.GetCPUSerialNumber()+HardwareSN.GetBIOSSerialNumber()); SYSKEY = MD5check.MD5Encrypt16(HardwareSN.GetCPUSerialNumber()+HardwareSN.GetBIOSSerialNumber());
@ -90,9 +187,7 @@ namespace DyeingComputer.ViewModel
if (messageBoxResult == MessageBoxResult.Yes) if (messageBoxResult == MessageBoxResult.Yes)
{ {
DataRow drEmployee = dt_TP.Select("RUN=1").First(); DataRow drEmployee = dt_TP.Select("RUN=1").First();
RUN_STEPID = drEmployee.Field<int>("Step"); RUN_STEPID = drEmployee.Field<int>("Step");
STEP_START(drEmployee.Field<string>("StepID"), STEP_START(drEmployee.Field<string>("StepID"),
drEmployee.Field<double>("Parameter1"), drEmployee.Field<double>("Parameter1"),
drEmployee.Field<double>("Parameter2"), drEmployee.Field<double>("Parameter2"),
@ -100,6 +195,8 @@ namespace DyeingComputer.ViewModel
drEmployee.Field<double>("Parameter4"), drEmployee.Field<double>("Parameter4"),
drEmployee.Field<double>("Parameter5") drEmployee.Field<double>("Parameter5")
); );
WORK_RUN = 2;
} }
else else
{ {
@ -292,103 +389,7 @@ namespace DyeingComputer.ViewModel
WorkNumder = "----------"; WorkNumder = "----------";
} }
} }
public ICommand ProgramgroupView_stop { get; }
bool _isInteractive;
public bool IsInteractive//步骤表交互选择
{
get => _isInteractive;
set
{
_isInteractive = value;
OnPropertyChanged("IsInteractive");
}
}
bool _UserButton;
public bool UserButton//步骤按钮交互选择
{
get => _UserButton;
set
{
_UserButton = value;
OnPropertyChanged("UserButton");
}
}
public static bool _Lock_bool;
Visibility _Lock_bool_xml;
public Visibility Lock_bool//锁图标
{
get => _Lock_bool_xml;
set
{
_Lock_bool_xml = value;
OnPropertyChanged("Lock_bool");
}
}
bool _Link_bool;
Visibility _Link_bool_xml;
public Visibility Link_bool//连接图标
{
get => _Link_bool_xml;
set
{
_Link_bool_xml = value;
OnPropertyChanged("Link_bool");
}
}
public string work_Temp; //显示温度
public string Work_Temp //通知UI控件参数改变
{
get { return work_Temp; }
set { work_Temp = value; OnPropertyChanged("Work_Temp"); }
}
public string work_Numder; //显示工单号
public string Work_Numder //通知UI控件参数改变
{
get { return work_Numder; }
set { work_Numder = value; OnPropertyChanged("Work_Numder"); }
}
public string status_Str ="-"; //显示状态
public string Status_Str //通知UI控件参数改变
{
get { return status_Str; }
set { status_Str = value; OnPropertyChanged("Status_Str"); }
}
public string sys_Time; //显示系统时间
public string Sys_Time //通知UI控件参数改变
{
get { return sys_Time; }
set { sys_Time = value; OnPropertyChanged("Sys_Time"); }
}
public int sys_workSTEPID; //
public int Sys_workSTEPID //通知UI控件参数改变
{
get { return sys_workSTEPID; }
set { sys_workSTEPID = value; OnPropertyChanged("Sys_workSTEPID"); }
}
public string sys_log; //
public string Sys_log //通知UI控件参数改变
{
get { return sys_log; }
set { sys_log = value; OnPropertyChanged("Sys_log"); }
}
public string program_Name;
public string Program_Name //通知UI控件参数改变
{
get { return program_Name; }
set { program_Name = value; OnPropertyChanged("Program_Name"); }
}
public static int ViewID = 0;//页面id
public static object Name_err = "";
public static object SYSTime = "-----";
public static object WorkNumder ="-----";
public static object StatusStr = "-----";
public static object Process_step = "-----";
public static string ProgramName = "-----";//工艺名
public static Int32 DIDETime; //空闲计时器
bool ERR_JOG;//故障状态
private int timer1s_ = 0;
private int timer5s_ = 0;
public void CountDown() public void CountDown()
{ {
//设置定时器 //设置定时器
@ -784,11 +785,9 @@ namespace DyeingComputer.ViewModel
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库 SQLiteHelpers.Open(); //打开数据库
updata_RUN.Clear(); updata_RUN.Clear();
updata_RUN.Add("RUN", 0); updata_RUN.Add("RUN", 0);
SQLiteHelpers.Update("RUN", updata_RUN, "RUN ='1'", null);//更新 SQLiteHelpers.Update("RUN", updata_RUN, "RUN ='1'", null);//更新
updata_RUN.Clear(); updata_RUN.Clear();
updata_RUN.Add("RUN", 1); updata_RUN.Add("RUN", 1);
SQLiteHelpers.Update("RUN", updata_RUN, "Step ='"+ RUN_STEPID + "'", null);//更新 SQLiteHelpers.Update("RUN", updata_RUN, "Step ='"+ RUN_STEPID + "'", null);//更新
@ -930,43 +929,31 @@ namespace DyeingComputer.ViewModel
case "007": case "007":
if (STEP_P1.ToString() == "1") if (STEP_P1.ToString() == "1")
{ {
Updata_dtd("3012", true); Updata_dtd("3013", true);
Updata_dtd("3013", false);
Updata_dtd("3014", false);
Updata_dtd("3015", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "1"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "1";
} }
else if (STEP_P1.ToString() == "2") else if (STEP_P1.ToString() == "2")
{ {
Updata_dtd("3012", false); Updata_dtd("3014", true);
Updata_dtd("3013", true);
Updata_dtd("3014", false);
Updata_dtd("3015", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "2"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "2";
} }
else if (STEP_P1.ToString() == "3") else if (STEP_P1.ToString() == "3")
{ {
Updata_dtd("3012", false); Updata_dtd("3015", true);
Updata_dtd("3013", false);
Updata_dtd("3014", true);
Updata_dtd("3015", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "3"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "3";
} }
else if (STEP_P1.ToString() == "4") else if (STEP_P1.ToString() == "4")
{ {
Updata_dtd("3012", false); Updata_dtd("3016", true);
Updata_dtd("3013", false);
Updata_dtd("3014", false);
Updata_dtd("3015", true);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4";
} }
if (Selet_dtm("1015") >= STEP_P2) //到达水位 if (Selet_dtm("1015") >= STEP_P2) //到达水位
{ {
Updata_dtd("3012", false);
Updata_dtd("3013", false); Updata_dtd("3013", false);
Updata_dtd("3014", false); Updata_dtd("3014", false);
Updata_dtd("3015", false); Updata_dtd("3015", false);
Updata_dtd("3016", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.Finish; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.Finish;
STEP_finish = true; STEP_finish = true;
} }
@ -974,44 +961,32 @@ namespace DyeingComputer.ViewModel
case "008": case "008":
if (STEP_P1.ToString() == "1") if (STEP_P1.ToString() == "1")
{ {
Updata_dtd("3012", true); Updata_dtd("3013", true);
Updata_dtd("3013", false);
Updata_dtd("3014", false);
Updata_dtd("3015", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "1"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "1";
} }
else if (STEP_P1.ToString() == "2") else if (STEP_P1.ToString() == "2")
{ {
Updata_dtd("3012", false); Updata_dtd("3014", true);
Updata_dtd("3013", true);
Updata_dtd("3014", false);
Updata_dtd("3015", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "2"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "2";
} }
else if (STEP_P1.ToString() == "3") else if (STEP_P1.ToString() == "3")
{ {
Updata_dtd("3012", false); Updata_dtd("3015", true);
Updata_dtd("3013", false);
Updata_dtd("3014", true);
Updata_dtd("3015", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "3"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "3";
} }
else if (STEP_P1.ToString() == "4") else if (STEP_P1.ToString() == "4")
{ {
Updata_dtd("3012", false); Updata_dtd("3016", true);
Updata_dtd("3013", false);
Updata_dtd("3014", false);
Updata_dtd("3015", true);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4"; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.AddWater + "4";
} }
if (Selet_dtm("1016") >= STEP_P2) //到达水量 if (Selet_dtm("1016") >= STEP_P2) //到达水量
{ {
Updata_dtd("3012", false);
Updata_dtd("3013", false); Updata_dtd("3013", false);
Updata_dtd("3014", false); Updata_dtd("3014", false);
Updata_dtd("3015", false); Updata_dtd("3015", false);
Updata_dtd("3016", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.Finish; if (errTabler.Rows.Count == 0) Status_Str = Resources.AddWater + ":" + Resources.Finish;
STEP_finish = true; STEP_finish = true;
} }
@ -1028,24 +1003,18 @@ namespace DyeingComputer.ViewModel
case "020": case "020":
if (STEP_P1.ToString() == "1") if (STEP_P1.ToString() == "1")
{ {
Updata_dtd("3016", true); Updata_dtd("3017", true);
Updata_dtd("3017", false);
Updata_dtd("3018", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "1"; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "1";
} }
else if (STEP_P1.ToString() == "2") else if (STEP_P1.ToString() == "2")
{ {
Updata_dtd("3016", false); Updata_dtd("3018", true);
Updata_dtd("3017", true);
Updata_dtd("3018", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "2"; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "2";
} }
else if (STEP_P1.ToString() == "3") else if (STEP_P1.ToString() == "3")
{ {
Updata_dtd("3016", false); Updata_dtd("3019", true);
Updata_dtd("3017", false);
Updata_dtd("3018", true);
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3"; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3";
} }
@ -1053,9 +1022,9 @@ namespace DyeingComputer.ViewModel
{ {
if (STEP_TIME <= 0)//排水延时 if (STEP_TIME <= 0)//排水延时
{ {
Updata_dtd("3016", false);
Updata_dtd("3017", false); Updata_dtd("3017", false);
Updata_dtd("3018", false); Updata_dtd("3018", false);
Updata_dtd("3019", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Finish; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Finish;
STEP_finish = true; STEP_finish = true;
} }
@ -1069,36 +1038,30 @@ namespace DyeingComputer.ViewModel
case "022": case "022":
if (STEP_P1.ToString() == "1") if (STEP_P1.ToString() == "1")
{ {
Updata_dtd("3016", true); Updata_dtd("3017", true);
Updata_dtd("3017", false);
Updata_dtd("3018", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "1"; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "1";
} }
else if (STEP_P1.ToString() == "2") else if (STEP_P1.ToString() == "2")
{ {
Updata_dtd("3016", false); Updata_dtd("3018", true);
Updata_dtd("3017", true);
Updata_dtd("3018", false);
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "2"; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "2";
} }
else if (STEP_P1.ToString() == "3") else if (STEP_P1.ToString() == "3")
{ {
Updata_dtd("3016", false); Updata_dtd("3019", true);
Updata_dtd("3017", false);
Updata_dtd("3018", true);
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3"; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Drainage + "3";
} }
Updata_dtd("3019", true);//开排水泵 Updata_dtd("3020", true);//开排水泵
if (Selet_dtm("1015") <= STEP_P2) //排水状态完成 if (Selet_dtm("1015") <= STEP_P2) //排水状态完成
{ {
if (STEP_TIME <= 0)//排水延时 if (STEP_TIME <= 0)//排水延时
{ {
Updata_dtd("3016", false);
Updata_dtd("3017", false); Updata_dtd("3017", false);
Updata_dtd("3018", false); Updata_dtd("3018", false);
Updata_dtd("3019", false);//开排水泵 Updata_dtd("3019", false);
Updata_dtd("3020", false);//开排水泵
if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Finish; if (errTabler.Rows.Count == 0) Status_Str = Resources.Drainage + ":" + Resources.Finish;
STEP_finish = true; STEP_finish = true;
} }
@ -2033,13 +1996,15 @@ namespace DyeingComputer.ViewModel
lock (dt_m) lock (dt_m)
{ {
DataRow drEmployee = dt_m.Rows.Find(key); DataRow drEmployee = dt_m.Rows.Find(key);
if (drEmployee.Field<double>("value") != Value)
{
drEmployee.BeginEdit(); drEmployee.BeginEdit();
drEmployee["Value"] = Value; drEmployee["Value"] = Value;
drEmployee.EndEdit(); drEmployee.EndEdit();
drEmployee.AcceptChanges();
drEmployee.ClearErrors(); drEmployee.ClearErrors();
} }
} }
}
catch (Exception ex) catch (Exception ex)
{ {
LogGing.LogGingDATA("UDTM:" + ex.ToString()); LogGing.LogGingDATA("UDTM:" + ex.ToString());
@ -2053,13 +2018,15 @@ namespace DyeingComputer.ViewModel
lock (dt_d)//锁 lock (dt_d)//锁
{ {
DataRow drEmployee = dt_d.Rows.Find(key); DataRow drEmployee = dt_d.Rows.Find(key);
if (drEmployee.Field<bool>("DIO") != Value)
{
drEmployee.BeginEdit(); drEmployee.BeginEdit();
drEmployee["DIO"] = Value; drEmployee["DIO"] = Value;
drEmployee.EndEdit(); drEmployee.EndEdit();
drEmployee.AcceptChanges();
drEmployee.ClearErrors(); drEmployee.ClearErrors();
} }
} }
}
catch (Exception ex) catch (Exception ex)
{ {
LogGing.LogGingDATA("UDTD:" + ex.ToString()); LogGing.LogGingDATA("UDTD:" + ex.ToString());
@ -2072,13 +2039,15 @@ namespace DyeingComputer.ViewModel
lock (dt_a) lock (dt_a)
{ {
DataRow drEmployee = dt_a.Rows.Find(key); DataRow drEmployee = dt_a.Rows.Find(key);
if (drEmployee.Field<int>("AIO") != Value)
{
drEmployee.BeginEdit(); drEmployee.BeginEdit();
drEmployee["AIO"] = Value; drEmployee["AIO"] = Value;
drEmployee.EndEdit(); drEmployee.EndEdit();
drEmployee.AcceptChanges();
drEmployee.ClearErrors(); drEmployee.ClearErrors();
} }
} }
}
catch (Exception ex) catch (Exception ex)
{ {
LogGing.LogGingDATA("UDTA:" + ex.ToString()); LogGing.LogGingDATA("UDTA:" + ex.ToString());

Loading…
Cancel
Save