|
|
|
@ -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; |
|
|
|
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; |
|
|
|
} |
|
|
|
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; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
PH_start = true; |
|
|
|
STEP_TIMEp--; |
|
|
|
} |
|
|
|
if (errTabler.Rows.Count == 0) Status_Str = "PH" + Resources.PHControl + "(" + STEP_TIMEp + "S)"; |
|
|
|
break;//PH控制(时间)
|
|
|
|
default: |
|
|
|
break; |
|
|
|
|