diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index 4a8aecb..82fbd33 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -654,9 +654,28 @@ namespace DyeingComputer.ViewModel private static double STEP_P3 = 0; private static double STEP_P4 = 0; private static double STEP_P5 = 0; + private static string STEP_IDp1 = "0"; + private static double STEP_P1p1 = 0; + private static double STEP_P2p1 = 0; + private static double STEP_P3p1 = 0; + private static double STEP_P4p1 = 0; + private static double STEP_P5p1 = 0; + private static string STEP_IDp2 = "0"; + private static double STEP_P1p2 = 0; + private static double STEP_P2p2 = 0; + private static double STEP_P3p2 = 0; + private static double STEP_P4p2 = 0; + private static double STEP_P5p2 = 0; + private static string STEP_IDp3 = "0"; + private static double STEP_P1p3 = 0; + private static double STEP_P2p3 = 0; + private static double STEP_P3p3 = 0; + private static double STEP_P4p3 = 0; + private static double STEP_P5p3 = 0; private static bool SETP_runtime = false; //步骤开始 private static bool STEP_finish = false; //步骤结束 public static int STEP_TIME = 0; //步骤计时S + public static int STEP_TIMEp = 0; //步骤计时S public static int THL_mode = 0; //温控模式 0保温 1加热 2降 public static double TEMP_co = 0.5; //计算温度 public static double TEMP_tar = 0.5; //目标温度 @@ -1801,6 +1820,8 @@ namespace DyeingComputer.ViewModel default: break; } + + STEP_RUN_slave();//子功能 } else { @@ -1816,6 +1837,35 @@ namespace DyeingComputer.ViewModel double T_P5 = Convert.ToDouble(arrRows[0]["Parameter5"].ToString()); STEP_START(T_ID, T_P1, T_P2, T_P3, T_P4, T_P5); + STEP_RUN_slave_stop(); + if (!String.IsNullOrEmpty((string)arrRows[0]["StepID_S1"])) + { + STEP_IDp1 = (string)arrRows[0]["StepID_S1"]; + STEP_P1p1 = (double)arrRows[0]["Parameter1_S1"]; + STEP_P2p1 = (double)arrRows[0]["Parameter2_S1"]; + STEP_P3p1 = (double)arrRows[0]["Parameter3_S1"]; + STEP_P4p1 = (double)arrRows[0]["Parameter4_S1"]; + STEP_P5p1 = (double)arrRows[0]["Parameter5_S1"]; + } + if (!String.IsNullOrEmpty((string)arrRows[0]["StepID_S2"])) + { + STEP_IDp1 = (string)arrRows[0]["StepID_S2"]; + STEP_P1p1 = (double)arrRows[0]["Parameter1_S2"]; + STEP_P2p1 = (double)arrRows[0]["Parameter2_S2"]; + STEP_P3p1 = (double)arrRows[0]["Parameter3_S2"]; + STEP_P4p1 = (double)arrRows[0]["Parameter4_S2"]; + STEP_P5p1 = (double)arrRows[0]["Parameter5_S2"]; + } + if (!String.IsNullOrEmpty((string)arrRows[0]["StepID_S2"])) + { + STEP_IDp1 = (string)arrRows[0]["StepID_S3"]; + STEP_P1p1 = (double)arrRows[0]["Parameter1_S3"]; + STEP_P2p1 = (double)arrRows[0]["Parameter2_S3"]; + STEP_P3p1 = (double)arrRows[0]["Parameter3_S3"]; + STEP_P4p1 = (double)arrRows[0]["Parameter4_S3"]; + STEP_P5p1 = (double)arrRows[0]["Parameter5_S3"]; + } + APILog.LOGlog(WorkNumder.ToString(), "Process", "Next", "STEP = " + RUN_STEPID + ";StepID=" + T_ID + ";P1=" + T_P1 + ";P2=" + T_P2 + ";P3=" + T_P3 + ";P4=" + T_P4 + ";P5=" + T_P5); if (ViewID == 1) { sys_workSTEPID = RUN_STEPID; } else { sys_workSTEPID = -1; } @@ -1833,8 +1883,7 @@ namespace DyeingComputer.ViewModel Updata_dtd("3009", false); Updata_dtd("3010", false); } - else - if (WORK_RUN == 0) + else if (WORK_RUN == 0) { // if (Status_Str == Resources.Paused) // { @@ -1855,48 +1904,50 @@ namespace DyeingComputer.ViewModel } } } + /**z子功能**/ + void STEP_RUN_slave_stop() { } void STEP_RUN_slave() { if (WORK_RUN == 2) - { - switch (STEP_ID) + { + switch (STEP_IDp1) { case "017": if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + "(" + Properties.Resources.Cooling + ")"; break;//降温水洗 case "050": - if (STEP_P1 < Selet_dtm("1010")) Updata_dtd("3007", true); - if (STEP_P2 >= Selet_dtm("1042")) { STEP_finish = true; Updata_dtd("3007", false); } - if (125 <= Selet_dtm("1010")) { STEP_finish = true; Updata_dtd("3007", false); } + if (STEP_P1p1 < Selet_dtm("1010")) Updata_dtd("3007", true); + if (STEP_P2p1 >= Selet_dtm("1042")) { Updata_dtd("3007", false); } + if (125 <= Selet_dtm("1010")) { Updata_dtd("3007", false); } break;//主缸加压 case "051": - if (STEP_P1 > Selet_dtm("1010")) Updata_dtd("3008", true); - if (STEP_P2 > Selet_dtm("1042")) STEP_finish = true; + if (STEP_P1p1 > Selet_dtm("1010")) Updata_dtd("3008", true); + if (STEP_P2p1 > Selet_dtm("1042")) Updata_dtd("3008", false); break;//主缸减压 case "064": - if ((STEP_P1 == 1) || (STEP_P1 == 0)) + if ((STEP_P1p1 == 1) || (STEP_P1p1 == 0)) { - if (Selet_dtm("1017") >= STEP_P3)//水位 + if (Selet_dtm("1017") >= STEP_P3p1)//水位 { TANK1 = Resources.Ready; Updata_dtd("3036", false); Updata_dtd("3037", false); Updata_dtd("3038", false); - if (Selet_dtm("1012") >= STEP_P4)//温度 + if (Selet_dtm("1012") >= STEP_P4p1)//温度 { Updata_dtd("3039", false); if (Selet_dtd("2004"))//投料确认 { - if (STEP_TIME <= 0)//搅拌 + if (STEP_TIMEp <= 0)//搅拌 { TANK1 = Resources.Ready + Resources.Finish; Updata_dtd("3040", false); } else { - STEP_TIME--; + STEP_TIMEp--; Updata_dtd("3040", true); } Alert_yellow = false; @@ -1905,7 +1956,7 @@ namespace DyeingComputer.ViewModel else { Alert_yellow = true; - STEP_TIME = Convert.ToInt16(STEP_P5); + STEP_TIMEp = Convert.ToInt16(STEP_P5p1); Alert_bell = true; } } @@ -1917,35 +1968,35 @@ namespace DyeingComputer.ViewModel } else { - if (STEP_P2 == 0) Updata_dtd("3038", true); - else if (STEP_P2 == 1) Updata_dtd("3036", true); - else if (STEP_P2 == 2) Updata_dtd("3037", true); + if (STEP_P2p1 == 0) Updata_dtd("3038", true); + else if (STEP_P2p1 == 1) Updata_dtd("3036", true); + else if (STEP_P2p1 == 2) Updata_dtd("3037", true); } if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 1 :" + Resources.Ready; } //药缸1 - else if (STEP_P1 == 2) + else if (STEP_P1p1 == 2) { - if (Selet_dtm("1018") >= STEP_P3)//水位 + if (Selet_dtm("1018") >= STEP_P3p1)//水位 { TANK2 = Resources.Ready; Updata_dtd("3046", false); Updata_dtd("3047", false); Updata_dtd("3048", false); - if (Selet_dtm("1013") >= STEP_P4)//温度 + if (Selet_dtm("1013") >= STEP_P4p1)//温度 { Updata_dtd("3049", false); if (Selet_dtd("2004"))//投料确认 { - if (STEP_TIME <= 0)//搅拌 + if (STEP_TIMEp <= 0)//搅拌 { TANK2 = Resources.Ready + Resources.Finish; Updata_dtd("3050", false); } else { - STEP_TIME--; + STEP_TIMEp--; Updata_dtd("3050", true); } Alert_yellow = false; @@ -1954,7 +2005,7 @@ namespace DyeingComputer.ViewModel else { Alert_yellow = true; - STEP_TIME = Convert.ToInt16(STEP_P5); + STEP_TIMEp = Convert.ToInt16(STEP_P5p1); Alert_bell = true; } } @@ -1966,35 +2017,35 @@ namespace DyeingComputer.ViewModel } else { - if (STEP_P2 == 0) Updata_dtd("3048", true); - else if (STEP_P2 == 1) Updata_dtd("3046", true); - else if (STEP_P2 == 2) Updata_dtd("3047", true); + if (STEP_P2p1 == 0) Updata_dtd("3048", true); + else if (STEP_P2p1 == 1) Updata_dtd("3046", true); + else if (STEP_P2p1 == 2) Updata_dtd("3047", true); } if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 2 :" + Resources.Ready; }//药缸2 - else if (STEP_P1 == 3) + else if (STEP_P1p1 == 3) { - if (Selet_dtm("1019") >= STEP_P3)//水位 + if (Selet_dtm("1019") >= STEP_P3p1)//水位 { TANK3 = Resources.Ready; Updata_dtd("3056", false); Updata_dtd("3057", false); Updata_dtd("3058", false); - if (Selet_dtm("1014") >= STEP_P4)//温度 + if (Selet_dtm("1014") >= STEP_P4p1)//温度 { Updata_dtd("3059", false); if (Selet_dtd("2004"))//投料确认 { - if (STEP_TIME <= 0)//搅拌 + if (STEP_TIMEp <= 0)//搅拌 { TANK3 = Resources.Ready + Resources.Finish; Updata_dtd("3060", false); } else { - STEP_TIME--; + STEP_TIMEp--; Updata_dtd("3060", true); } Alert_yellow = false; @@ -2003,7 +2054,7 @@ namespace DyeingComputer.ViewModel else { Alert_yellow = true; - STEP_TIME = Convert.ToInt16(STEP_P5); + STEP_TIMEp = Convert.ToInt16(STEP_P5p1); Alert_bell = true; } } @@ -2015,51 +2066,47 @@ namespace DyeingComputer.ViewModel } else { - if (STEP_P2 == 0) Updata_dtd("3058", true); - else if (STEP_P2 == 1) Updata_dtd("3056", true); - else if (STEP_P2 == 2) Updata_dtd("3057", true); + if (STEP_P2p1 == 0) Updata_dtd("3058", true); + else if (STEP_P2p1 == 1) Updata_dtd("3056", true); + else if (STEP_P2p1 == 2) Updata_dtd("3057", true); } if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 3 :" + Resources.Ready; }//药缸3 break;//药缸备药 case "066": - if (STEP_P1 == 1) + if (STEP_P1p1 == 1) { TANK1_REDYE = SYS_REDYE; if (string.IsNullOrEmpty(TANK1_DYELOT)) TANK1_DYELOT = WorkNumder.ToString(); - TANK1_STEP = Convert.ToInt16(STEP_P3); - FeedingRecords(work_Numder, TANK1_DYELOT, Convert.ToInt16(STEP_P1), TANK1_STEP, Convert.ToInt16(STEP_P2));//调用呼叫 + TANK1_STEP = Convert.ToInt16(STEP_P3p1); + FeedingRecords(work_Numder, TANK1_DYELOT, Convert.ToInt16(STEP_P1p1), TANK1_STEP, Convert.ToInt16(STEP_P2p1));//调用呼叫 if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 1 :" + Resources.CallDistribution; - STEP_finish = true; } //药缸1 - else if (STEP_P1 == 2) + else if (STEP_P1p1 == 2) { TANK2_REDYE = SYS_REDYE; if (string.IsNullOrEmpty(TANK2_DYELOT)) TANK2_DYELOT = WorkNumder.ToString(); - TANK2_STEP = Convert.ToInt16(STEP_P3); - FeedingRecords(work_Numder, TANK2_DYELOT, Convert.ToInt16(STEP_P1), TANK2_STEP, Convert.ToInt16(STEP_P2));//调用呼叫 + TANK2_STEP = Convert.ToInt16(STEP_P3p1); + FeedingRecords(work_Numder, TANK2_DYELOT, Convert.ToInt16(STEP_P1p1), TANK2_STEP, Convert.ToInt16(STEP_P2p1));//调用呼叫 if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 2 :" + Resources.CallDistribution; - STEP_finish = true; }//药缸2 - else if (STEP_P1 == 3) + else if (STEP_P1p1 == 3) { TANK3_REDYE = SYS_REDYE; if (string.IsNullOrEmpty(TANK3_DYELOT)) TANK3_DYELOT = WorkNumder.ToString(); - TANK3_STEP = Convert.ToInt16(STEP_P3); - FeedingRecords(work_Numder, TANK3_DYELOT, Convert.ToInt16(STEP_P1), TANK3_STEP, Convert.ToInt16(STEP_P2));//调用呼叫 + TANK3_STEP = Convert.ToInt16(STEP_P3p1); + FeedingRecords(work_Numder, TANK3_DYELOT, Convert.ToInt16(STEP_P1p1), TANK3_STEP, Convert.ToInt16(STEP_P2p1));//调用呼叫 if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 3 :" + Resources.CallDistribution; - STEP_finish = true; }//药缸3 //STEP_finish = true; break;//呼叫输送 case "090": - if (((STEP_P1 - 1) < Selet_dtm("1010")) && (Selet_dtm("1010") < (STEP_P1 + 1))) PH_start = true;//达到温度开始ph控制 + if (((STEP_P1p1 - 1) < Selet_dtm("1010")) && (Selet_dtm("1010") < (STEP_P1p1 + 1))) PH_start = true;//达到温度开始ph控制 if (PH_start) { - if (STEP_P2 >= Selet_dtm("1009")) + if (STEP_P2p1 >= Selet_dtm("1009")) { PH_start = false; - STEP_finish = true; } if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + Selet_dtm("1009") + "pH)"; } @@ -2069,10 +2116,9 @@ namespace DyeingComputer.ViewModel } break;//快速加酸 case "091": - if (STEP_P2 >= Selet_dtm("1009")) + if (STEP_P2p1 >= Selet_dtm("1009")) { PH_start = false; - STEP_finish = true; } else { @@ -2081,28 +2127,508 @@ namespace DyeingComputer.ViewModel } break;//PH温度控制 case "093": - if (STEP_TIME <= 0) + if (STEP_TIMEp <= 0) { - STEP_finish = true; } else { - STEP_TIME--; + STEP_TIMEp--; } - if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHDetection + "(" + STEP_TIME + ")"; + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHDetection + "(" + STEP_TIMEp + ")"; break;//PH检测 case "094": - if (STEP_TIME <= 0)//控制时间到达结束 + if (STEP_TIMEp <= 0)//控制时间到达结束 + { + PH_start = false; + } + else + { + PH_start = true; + STEP_TIMEp--; + } + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + STEP_TIMEp + "S)"; + break;//PH控制(时间) + default: + break; + } + switch (STEP_IDp2) + { + case "017": + if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + "(" + Properties.Resources.Cooling + ")"; + break;//降温水洗 + case "050": + if (STEP_P1p2 < Selet_dtm("1010")) Updata_dtd("3007", true); + if (STEP_P2p2 >= Selet_dtm("1042")) { Updata_dtd("3007", false); } + if (125 <= Selet_dtm("1010")) { Updata_dtd("3007", false); } + break;//主缸加压 + case "051": + if (STEP_P1p2 > Selet_dtm("1010")) Updata_dtd("3008", true); + if (STEP_P2p2 > Selet_dtm("1042")) Updata_dtd("3008", false); + break;//主缸减压 + case "064": + if ((STEP_P1p2 == 1) || (STEP_P1p2 == 0)) + { + if (Selet_dtm("1017") >= STEP_P3p2)//水位 + { + TANK1 = Resources.Ready; + Updata_dtd("3036", false); + Updata_dtd("3037", false); + Updata_dtd("3038", false); + + if (Selet_dtm("1012") >= STEP_P4p2)//温度 + { + Updata_dtd("3039", false); + + if (Selet_dtd("2004"))//投料确认 + { + if (STEP_TIMEp <= 0)//搅拌 + { + TANK1 = Resources.Ready + Resources.Finish; + Updata_dtd("3040", false); + } + else + { + STEP_TIMEp--; + Updata_dtd("3040", true); + } + Alert_yellow = false; + Alert_bell = false; + } + else + { + Alert_yellow = true; + STEP_TIMEp = Convert.ToInt16(STEP_P5p2); + Alert_bell = true; + } + } + else + { + Updata_dtd("3039", true); + Updata_dtd("3040", true); + } + } + else + { + if (STEP_P2p2 == 0) Updata_dtd("3038", true); + else if (STEP_P2p2 == 1) Updata_dtd("3036", true); + else if (STEP_P2p2 == 2) Updata_dtd("3037", true); + } + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 1 :" + Resources.Ready; + } //药缸1 + else if (STEP_P1p2 == 2) + { + if (Selet_dtm("1018") >= STEP_P3p2)//水位 + { + TANK2 = Resources.Ready; + Updata_dtd("3046", false); + Updata_dtd("3047", false); + Updata_dtd("3048", false); + + if (Selet_dtm("1013") >= STEP_P4p2)//温度 + { + Updata_dtd("3049", false); + + if (Selet_dtd("2004"))//投料确认 + { + if (STEP_TIMEp <= 0)//搅拌 + { + TANK2 = Resources.Ready + Resources.Finish; + Updata_dtd("3050", false); + } + else + { + STEP_TIMEp--; + Updata_dtd("3050", true); + } + Alert_yellow = false; + Alert_bell = false; + } + else + { + Alert_yellow = true; + STEP_TIMEp = Convert.ToInt16(STEP_P5p2); + Alert_bell = true; + } + } + else + { + Updata_dtd("3049", true); + Updata_dtd("3050", true); + } + } + else + { + if (STEP_P2p2 == 0) Updata_dtd("3048", true); + else if (STEP_P2p2 == 1) Updata_dtd("3046", true); + else if (STEP_P2p2 == 2) Updata_dtd("3047", true); + } + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 2 :" + Resources.Ready; + }//药缸2 + else if (STEP_P1p2 == 3) + { + if (Selet_dtm("1019") >= STEP_P3p2)//水位 + { + TANK3 = Resources.Ready; + Updata_dtd("3056", false); + Updata_dtd("3057", false); + Updata_dtd("3058", false); + + if (Selet_dtm("1014") >= STEP_P4p2)//温度 + { + Updata_dtd("3059", false); + + if (Selet_dtd("2004"))//投料确认 + { + if (STEP_TIMEp <= 0)//搅拌 + { + TANK3 = Resources.Ready + Resources.Finish; + Updata_dtd("3060", false); + } + else + { + STEP_TIMEp--; + Updata_dtd("3060", true); + } + Alert_yellow = false; + Alert_bell = false; + } + else + { + Alert_yellow = true; + STEP_TIMEp = Convert.ToInt16(STEP_P5p2); + Alert_bell = true; + } + } + else + { + Updata_dtd("3059", true); + Updata_dtd("3060", true); + } + } + else + { + if (STEP_P2p2 == 0) Updata_dtd("3058", true); + else if (STEP_P2p2 == 1) Updata_dtd("3056", true); + else if (STEP_P2p2 == 2) Updata_dtd("3057", true); + } + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 3 :" + Resources.Ready; + }//药缸3 + break;//药缸备药 + case "066": + if (STEP_P1p2 == 1) + { + TANK1_REDYE = SYS_REDYE; + if (string.IsNullOrEmpty(TANK1_DYELOT)) TANK1_DYELOT = WorkNumder.ToString(); + TANK1_STEP = Convert.ToInt16(STEP_P3p2); + FeedingRecords(work_Numder, TANK1_DYELOT, Convert.ToInt16(STEP_P1p2), TANK1_STEP, Convert.ToInt16(STEP_P2p2));//调用呼叫 + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 1 :" + Resources.CallDistribution; + } //药缸1 + else if (STEP_P1p2 == 2) + { + TANK2_REDYE = SYS_REDYE; + if (string.IsNullOrEmpty(TANK2_DYELOT)) TANK2_DYELOT = WorkNumder.ToString(); + TANK2_STEP = Convert.ToInt16(STEP_P3p2); + FeedingRecords(work_Numder, TANK2_DYELOT, Convert.ToInt16(STEP_P1p2), TANK2_STEP, Convert.ToInt16(STEP_P2p2));//调用呼叫 + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 2 :" + Resources.CallDistribution; + }//药缸2 + else if (STEP_P1p2 == 3) + { + TANK3_REDYE = SYS_REDYE; + if (string.IsNullOrEmpty(TANK3_DYELOT)) TANK3_DYELOT = WorkNumder.ToString(); + TANK3_STEP = Convert.ToInt16(STEP_P3p2); + FeedingRecords(work_Numder, TANK3_DYELOT, Convert.ToInt16(STEP_P1p2), TANK3_STEP, Convert.ToInt16(STEP_P2p2));//调用呼叫 + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 3 :" + Resources.CallDistribution; + }//药缸3 + //STEP_finish = true; + break;//呼叫输送 + case "090": + if (((STEP_P1p2 - 1) < Selet_dtm("1010")) && (Selet_dtm("1010") < (STEP_P1p2 + 1))) PH_start = true;//达到温度开始ph控制 + if (PH_start) + { + if (STEP_P2p2 >= Selet_dtm("1009")) + { + PH_start = false; + } + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + Selet_dtm("1009") + "pH)"; + } + else + { + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + Resources.Await + Resources.Temperature + ")"; + } + break;//快速加酸 + case "091": + if (STEP_P2p2 >= Selet_dtm("1009")) + { + PH_start = false; + } + else + { + PH_start = true; + Status_Str = Status_Str + "(" + Selet_dtm("1009") + "pH)"; + } + break;//PH温度控制 + case "093": + if (STEP_TIMEp <= 0) + { + } + else + { + STEP_TIMEp--; + } + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHDetection + "(" + STEP_TIMEp + ")"; + break;//PH检测 + case "094": + if (STEP_TIMEp <= 0)//控制时间到达结束 + { + PH_start = false; + } + else + { + PH_start = true; + STEP_TIMEp--; + } + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + STEP_TIMEp + "S)"; + break;//PH控制(时间) + default: + break; + } + switch (STEP_IDp3) + { + case "017": + if (errTabler.Rows.Count == 0) Status_Str = Resources.Washing + "(" + Properties.Resources.Cooling + ")"; + break;//降温水洗 + case "050": + if (STEP_P1p3 < Selet_dtm("1010")) Updata_dtd("3007", true); + if (STEP_P2p3 >= Selet_dtm("1042")) { Updata_dtd("3007", false); } + if (125 <= Selet_dtm("1010")) { Updata_dtd("3007", false); } + break;//主缸加压 + case "051": + if (STEP_P1p3 > Selet_dtm("1010")) Updata_dtd("3008", true); + if (STEP_P2p3 > Selet_dtm("1042")) Updata_dtd("3008", false); + break;//主缸减压 + case "064": + if ((STEP_P1p3 == 1) || (STEP_P1p3 == 0)) + { + if (Selet_dtm("1017") >= STEP_P3p3)//水位 + { + TANK1 = Resources.Ready; + Updata_dtd("3036", false); + Updata_dtd("3037", false); + Updata_dtd("3038", false); + + if (Selet_dtm("1012") >= STEP_P4p3)//温度 + { + Updata_dtd("3039", false); + + if (Selet_dtd("2004"))//投料确认 + { + if (STEP_TIMEp <= 0)//搅拌 + { + TANK1 = Resources.Ready + Resources.Finish; + Updata_dtd("3040", false); + } + else + { + STEP_TIMEp--; + Updata_dtd("3040", true); + } + Alert_yellow = false; + Alert_bell = false; + } + else + { + Alert_yellow = true; + STEP_TIMEp = Convert.ToInt16(STEP_P5p3); + Alert_bell = true; + } + } + else + { + Updata_dtd("3039", true); + Updata_dtd("3040", true); + } + } + else + { + if (STEP_P2p3 == 0) Updata_dtd("3038", true); + else if (STEP_P2p3 == 1) Updata_dtd("3036", true); + else if (STEP_P2p3 == 2) Updata_dtd("3037", true); + } + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 1 :" + Resources.Ready; + } //药缸1 + else if (STEP_P1p3 == 2) + { + if (Selet_dtm("1018") >= STEP_P3p3)//水位 + { + TANK2 = Resources.Ready; + Updata_dtd("3046", false); + Updata_dtd("3047", false); + Updata_dtd("3048", false); + + if (Selet_dtm("1013") >= STEP_P4p3)//温度 + { + Updata_dtd("3049", false); + + if (Selet_dtd("2004"))//投料确认 + { + if (STEP_TIMEp <= 0)//搅拌 + { + TANK2 = Resources.Ready + Resources.Finish; + Updata_dtd("3050", false); + } + else + { + STEP_TIMEp--; + Updata_dtd("3050", true); + } + Alert_yellow = false; + Alert_bell = false; + } + else + { + Alert_yellow = true; + STEP_TIMEp = Convert.ToInt16(STEP_P5p3); + Alert_bell = true; + } + } + else + { + Updata_dtd("3049", true); + Updata_dtd("3050", true); + } + } + else + { + if (STEP_P2p3 == 0) Updata_dtd("3048", true); + else if (STEP_P2p3 == 1) Updata_dtd("3046", true); + else if (STEP_P2p3 == 2) Updata_dtd("3047", true); + } + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 2 :" + Resources.Ready; + }//药缸2 + else if (STEP_P1p3 == 3) + { + if (Selet_dtm("1019") >= STEP_P3p3)//水位 + { + TANK3 = Resources.Ready; + Updata_dtd("3056", false); + Updata_dtd("3057", false); + Updata_dtd("3058", false); + + if (Selet_dtm("1014") >= STEP_P4p3)//温度 + { + Updata_dtd("3059", false); + + if (Selet_dtd("2004"))//投料确认 + { + if (STEP_TIMEp <= 0)//搅拌 + { + TANK3 = Resources.Ready + Resources.Finish; + Updata_dtd("3060", false); + } + else + { + STEP_TIMEp--; + Updata_dtd("3060", true); + } + Alert_yellow = false; + Alert_bell = false; + } + else + { + Alert_yellow = true; + STEP_TIMEp = Convert.ToInt16(STEP_P5p3); + Alert_bell = true; + } + } + else + { + Updata_dtd("3059", true); + Updata_dtd("3060", true); + } + } + else + { + if (STEP_P2p3 == 0) Updata_dtd("3058", true); + else if (STEP_P2p3 == 1) Updata_dtd("3056", true); + else if (STEP_P2p3 == 2) Updata_dtd("3057", true); + } + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 3 :" + Resources.Ready; + }//药缸3 + break;//药缸备药 + case "066": + if (STEP_P1p3 == 1) + { + TANK1_REDYE = SYS_REDYE; + if (string.IsNullOrEmpty(TANK1_DYELOT)) TANK1_DYELOT = WorkNumder.ToString(); + TANK1_STEP = Convert.ToInt16(STEP_P3p3); + FeedingRecords(work_Numder, TANK1_DYELOT, Convert.ToInt16(STEP_P1p3), TANK1_STEP, Convert.ToInt16(STEP_P2p3));//调用呼叫 + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 1 :" + Resources.CallDistribution; + } //药缸1 + else if (STEP_P1p3 == 2) + { + TANK2_REDYE = SYS_REDYE; + if (string.IsNullOrEmpty(TANK2_DYELOT)) TANK2_DYELOT = WorkNumder.ToString(); + TANK2_STEP = Convert.ToInt16(STEP_P3p3); + FeedingRecords(work_Numder, TANK2_DYELOT, Convert.ToInt16(STEP_P1p3), TANK2_STEP, Convert.ToInt16(STEP_P2p3));//调用呼叫 + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 2 :" + Resources.CallDistribution; + }//药缸2 + else if (STEP_P1p3 == 3) + { + TANK3_REDYE = SYS_REDYE; + if (string.IsNullOrEmpty(TANK3_DYELOT)) TANK3_DYELOT = WorkNumder.ToString(); + TANK3_STEP = Convert.ToInt16(STEP_P3p3); + FeedingRecords(work_Numder, TANK3_DYELOT, Convert.ToInt16(STEP_P1p3), TANK3_STEP, Convert.ToInt16(STEP_P2p3));//调用呼叫 + if (errTabler.Rows.Count == 0) Status_Str = Resources.Tank + " 3 :" + Resources.CallDistribution; + }//药缸3 + //STEP_finish = true; + break;//呼叫输送 + case "090": + if (((STEP_P1p3 - 1) < Selet_dtm("1010")) && (Selet_dtm("1010") < (STEP_P1p3 + 1))) PH_start = true;//达到温度开始ph控制 + if (PH_start) + { + if (STEP_P2p3 >= Selet_dtm("1009")) + { + PH_start = false; + } + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + Selet_dtm("1009") + "pH)"; + } + else + { + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + Resources.Await + Resources.Temperature + ")"; + } + break;//快速加酸 + case "091": + if (STEP_P2p3 >= Selet_dtm("1009")) + { + PH_start = false; + } + else + { + PH_start = true; + Status_Str = Status_Str + "(" + Selet_dtm("1009") + "pH)"; + } + break;//PH温度控制 + case "093": + if (STEP_TIMEp <= 0) + { + } + else + { + STEP_TIMEp--; + } + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHDetection + "(" + STEP_TIMEp + ")"; + break;//PH检测 + case "094": + if (STEP_TIMEp <= 0)//控制时间到达结束 { PH_start = false; - STEP_finish = true; } else { PH_start = true; - STEP_TIME--; + STEP_TIMEp--; } - if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + STEP_TIME + "S)"; + if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + STEP_TIMEp + "S)"; break;//PH控制(时间) default: break;