public SignalsDefinedPage() { InitializeComponent(); #region 界面赋值 DeviceDemarcate_Dt = MySQL_client.Getdataset("devicedemarcate", "applydevicedemarcate", "").Tables[0]; outputP_Source_K(DeviceDemarcate_Dt.Rows[0]["demarcatevalue"].ToString()); outputP_Source_B(DeviceDemarcate_Dt.Rows[1]["demarcatevalue"].ToString()); outputP_TCC_K(DeviceDemarcate_Dt.Rows[2]["demarcatevalue"].ToString()); outputP_TCC_B(DeviceDemarcate_Dt.Rows[3]["demarcatevalue"].ToString()); outputP_Line_K(DeviceDemarcate_Dt.Rows[4]["demarcatevalue"].ToString()); outputP_Line_B(DeviceDemarcate_Dt.Rows[5]["demarcatevalue"].ToString()); outputP_Shift_K(DeviceDemarcate_Dt.Rows[6]["demarcatevalue"].ToString()); outputP_Shift_B(DeviceDemarcate_Dt.Rows[7]["demarcatevalue"].ToString()); outputP_C1234_K(DeviceDemarcate_Dt.Rows[8]["demarcatevalue"].ToString()); outputP_C1234_B(DeviceDemarcate_Dt.Rows[9]["demarcatevalue"].ToString()); outputP_CB26_K(DeviceDemarcate_Dt.Rows[10]["demarcatevalue"].ToString()); outputP_CB26_B(DeviceDemarcate_Dt.Rows[11]["demarcatevalue"].ToString()); outputP_C35R_K(DeviceDemarcate_Dt.Rows[12]["demarcatevalue"].ToString()); outputP_C35R_B(DeviceDemarcate_Dt.Rows[13]["demarcatevalue"].ToString()); outputP_C456_K(DeviceDemarcate_Dt.Rows[14]["demarcatevalue"].ToString()); outputP_C456_B(DeviceDemarcate_Dt.Rows[15]["demarcatevalue"].ToString()); outputTemperature_K(DeviceDemarcate_Dt.Rows[16]["demarcatevalue"].ToString()); outputTemperature_B(DeviceDemarcate_Dt.Rows[17]["demarcatevalue"].ToString()); outputInputSpeed_K(DeviceDemarcate_Dt.Rows[18]["demarcatevalue"].ToString()); outputOutputSpeed_K(DeviceDemarcate_Dt.Rows[20]["demarcatevalue"].ToString()); #endregion }
/// <summary> /// 重置设备标定值 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ResetButton_Click(object sender, RoutedEventArgs e) { string[] lastDemarcateValue = new string[22]; string[] initDemarcateValue = new string[22]; formatError = false; #region 获取界面标定值 lastDemarcateValue[0] = ValueFilter(P_Source_K.Text); lastDemarcateValue[1] = ValueFilter(P_Source_B.Text); lastDemarcateValue[2] = ValueFilter(P_TCC_K.Text); lastDemarcateValue[3] = ValueFilter(P_TCC_B.Text); lastDemarcateValue[4] = ValueFilter(P_Line_K.Text); lastDemarcateValue[5] = ValueFilter(P_Line_B.Text); lastDemarcateValue[6] = ValueFilter(P_Shift_K.Text); lastDemarcateValue[7] = ValueFilter(P_Shift_B.Text); lastDemarcateValue[8] = ValueFilter(P_C1234_K.Text); lastDemarcateValue[9] = ValueFilter(P_C1234_B.Text); lastDemarcateValue[10] = ValueFilter(P_CB26_K.Text); lastDemarcateValue[11] = ValueFilter(P_CB26_B.Text); lastDemarcateValue[12] = ValueFilter(P_C35R_K.Text); lastDemarcateValue[13] = ValueFilter(P_C35R_B.Text); lastDemarcateValue[14] = ValueFilter(P_C456_K.Text); lastDemarcateValue[15] = ValueFilter(P_C456_B.Text); lastDemarcateValue[16] = ValueFilter(Temperature_K.Text); lastDemarcateValue[17] = ValueFilter(Temperature_B.Text); lastDemarcateValue[18] = ValueFilter(InputSpeed_K.Text); lastDemarcateValue[19] = ValueFilter("0"); lastDemarcateValue[20] = ValueFilter(OutputSpeed_K.Text); lastDemarcateValue[21] = ValueFilter("0"); #endregion #region 获取重置值 DeviceDemarcate_Dt = MySQL_client.Getdataset("devicedemarcate", "initdevicedemarcate", "").Tables[0]; initDemarcateValue[0] = (DeviceDemarcate_Dt.Rows[0]["demarcatevalue"].ToString()); initDemarcateValue[1] = (DeviceDemarcate_Dt.Rows[1]["demarcatevalue"].ToString()); initDemarcateValue[2] = (DeviceDemarcate_Dt.Rows[2]["demarcatevalue"].ToString()); initDemarcateValue[3] = (DeviceDemarcate_Dt.Rows[3]["demarcatevalue"].ToString()); initDemarcateValue[4] = (DeviceDemarcate_Dt.Rows[4]["demarcatevalue"].ToString()); initDemarcateValue[5] = (DeviceDemarcate_Dt.Rows[5]["demarcatevalue"].ToString()); initDemarcateValue[6] = (DeviceDemarcate_Dt.Rows[6]["demarcatevalue"].ToString()); initDemarcateValue[7] = (DeviceDemarcate_Dt.Rows[7]["demarcatevalue"].ToString()); initDemarcateValue[8] = (DeviceDemarcate_Dt.Rows[8]["demarcatevalue"].ToString()); initDemarcateValue[9] = (DeviceDemarcate_Dt.Rows[9]["demarcatevalue"].ToString()); initDemarcateValue[10] = (DeviceDemarcate_Dt.Rows[10]["demarcatevalue"].ToString()); initDemarcateValue[11] = (DeviceDemarcate_Dt.Rows[11]["demarcatevalue"].ToString()); initDemarcateValue[12] = (DeviceDemarcate_Dt.Rows[12]["demarcatevalue"].ToString()); initDemarcateValue[13] = (DeviceDemarcate_Dt.Rows[13]["demarcatevalue"].ToString()); initDemarcateValue[14] = (DeviceDemarcate_Dt.Rows[14]["demarcatevalue"].ToString()); initDemarcateValue[15] = (DeviceDemarcate_Dt.Rows[15]["demarcatevalue"].ToString()); initDemarcateValue[16] = (DeviceDemarcate_Dt.Rows[16]["demarcatevalue"].ToString()); initDemarcateValue[17] = (DeviceDemarcate_Dt.Rows[17]["demarcatevalue"].ToString()); initDemarcateValue[18] = (DeviceDemarcate_Dt.Rows[18]["demarcatevalue"].ToString()); initDemarcateValue[19] = (DeviceDemarcate_Dt.Rows[19]["demarcatevalue"].ToString()); initDemarcateValue[20] = (DeviceDemarcate_Dt.Rows[20]["demarcatevalue"].ToString()); initDemarcateValue[21] = (DeviceDemarcate_Dt.Rows[21]["demarcatevalue"].ToString()); #endregion #region 将重置值显示到界面上 outputP_Source_K(initDemarcateValue[0]); outputP_Source_B(initDemarcateValue[1]); outputP_TCC_K(initDemarcateValue[2]); outputP_TCC_B(initDemarcateValue[3]); outputP_Line_K(initDemarcateValue[4]); outputP_Line_B(initDemarcateValue[5]); outputP_Shift_K(initDemarcateValue[6]); outputP_Shift_B(initDemarcateValue[7]); outputP_C1234_K(initDemarcateValue[8]); outputP_C1234_B(initDemarcateValue[9]); outputP_CB26_K(initDemarcateValue[10]); outputP_CB26_B(initDemarcateValue[11]); outputP_C35R_K(initDemarcateValue[12]); outputP_C35R_B(initDemarcateValue[13]); outputP_C456_K(initDemarcateValue[14]); outputP_C456_B(initDemarcateValue[15]); outputTemperature_K(initDemarcateValue[16]); outputTemperature_B(initDemarcateValue[17]); outputInputSpeed_K(initDemarcateValue[18]); outputOutputSpeed_K(initDemarcateValue[20]); #endregion if (!formatError) { //从数据库读取上次标定值 DeviceDemarcateValueCompare(lastDemarcateValue, initDemarcateValue); //向数据库存储目前标定值 } else { MessageBox.Show("输入格式错误,请输入正确数值,再进行标定!"); } }
/// <summary> /// 应用更改的设备标定值 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Button_Click(object sender, RoutedEventArgs e) { string[] demarcateValue = new string[22]; string[] LastDemarcateValue = new string[22]; formatError = false; demarcateValue = new string[22]; demarcateValue[0] = ValueFilter(P_Source_K.Text); demarcateValue[1] = ValueFilter(P_Source_B.Text); demarcateValue[2] = ValueFilter(P_TCC_K.Text); demarcateValue[3] = ValueFilter(P_TCC_B.Text); demarcateValue[4] = ValueFilter(P_Line_K.Text); demarcateValue[5] = ValueFilter(P_Line_B.Text); demarcateValue[6] = ValueFilter(P_Shift_K.Text); demarcateValue[7] = ValueFilter(P_Shift_B.Text); demarcateValue[8] = ValueFilter(P_C1234_K.Text); demarcateValue[9] = ValueFilter(P_C1234_B.Text); demarcateValue[10] = ValueFilter(P_CB26_K.Text); demarcateValue[11] = ValueFilter(P_CB26_B.Text); demarcateValue[12] = ValueFilter(P_C35R_K.Text); demarcateValue[13] = ValueFilter(P_C35R_B.Text); demarcateValue[14] = ValueFilter(P_C456_K.Text); demarcateValue[15] = ValueFilter(P_C456_B.Text); demarcateValue[16] = ValueFilter(Temperature_K.Text); demarcateValue[17] = ValueFilter(Temperature_B.Text); demarcateValue[18] = ValueFilter(InputSpeed_K.Text); demarcateValue[19] = ValueFilter("0"); demarcateValue[20] = ValueFilter(OutputSpeed_K.Text); demarcateValue[21] = ValueFilter("0"); DeviceDemarcate_Dt = MySQL_client.Getdataset("devicedemarcate", "applydevicedemarcate", "").Tables[0]; LastDemarcateValue[0] = (DeviceDemarcate_Dt.Rows[0]["demarcatevalue"].ToString()); LastDemarcateValue[1] = (DeviceDemarcate_Dt.Rows[1]["demarcatevalue"].ToString()); LastDemarcateValue[2] = (DeviceDemarcate_Dt.Rows[2]["demarcatevalue"].ToString()); LastDemarcateValue[3] = (DeviceDemarcate_Dt.Rows[3]["demarcatevalue"].ToString()); LastDemarcateValue[4] = (DeviceDemarcate_Dt.Rows[4]["demarcatevalue"].ToString()); LastDemarcateValue[5] = (DeviceDemarcate_Dt.Rows[5]["demarcatevalue"].ToString()); LastDemarcateValue[6] = (DeviceDemarcate_Dt.Rows[6]["demarcatevalue"].ToString()); LastDemarcateValue[7] = (DeviceDemarcate_Dt.Rows[7]["demarcatevalue"].ToString()); LastDemarcateValue[8] = (DeviceDemarcate_Dt.Rows[8]["demarcatevalue"].ToString()); LastDemarcateValue[9] = (DeviceDemarcate_Dt.Rows[9]["demarcatevalue"].ToString()); LastDemarcateValue[10] = (DeviceDemarcate_Dt.Rows[10]["demarcatevalue"].ToString()); LastDemarcateValue[11] = (DeviceDemarcate_Dt.Rows[11]["demarcatevalue"].ToString()); LastDemarcateValue[12] = (DeviceDemarcate_Dt.Rows[12]["demarcatevalue"].ToString()); LastDemarcateValue[13] = (DeviceDemarcate_Dt.Rows[13]["demarcatevalue"].ToString()); LastDemarcateValue[14] = (DeviceDemarcate_Dt.Rows[14]["demarcatevalue"].ToString()); LastDemarcateValue[15] = (DeviceDemarcate_Dt.Rows[15]["demarcatevalue"].ToString()); LastDemarcateValue[16] = (DeviceDemarcate_Dt.Rows[16]["demarcatevalue"].ToString()); LastDemarcateValue[17] = (DeviceDemarcate_Dt.Rows[17]["demarcatevalue"].ToString()); LastDemarcateValue[18] = (DeviceDemarcate_Dt.Rows[18]["demarcatevalue"].ToString()); LastDemarcateValue[19] = (DeviceDemarcate_Dt.Rows[19]["demarcatevalue"].ToString()); LastDemarcateValue[20] = (DeviceDemarcate_Dt.Rows[20]["demarcatevalue"].ToString()); LastDemarcateValue[21] = (DeviceDemarcate_Dt.Rows[21]["demarcatevalue"].ToString()); if (!formatError) { //从数据库读取上次标定值 DeviceDemarcateValueCompare(LastDemarcateValue, demarcateValue); //向数据库存储目前标定值 } else { MessageBox.Show("输入格式错误,请输入正确数值,再进行标定!"); } }
/// <summary> /// 标定值比较 /// </summary> /// <param name="str1"></param> /// <param name="str2"></param> private void DeviceDemarcateValueCompare(string[] str1, string[] str2) { var diffStr = new string[22]; var diffCount = 0; string[] data1 = str1; string[] data2 = str2; for (int j = 0; j < 22; j++) { if (j == 18 || j == 20) { data1[j] = (Convert.ToDouble(data1[j])).ToString(); data2[j] = (Convert.ToDouble(data2[j])).ToString(); } else { data1[j] = (Convert.ToDouble(data1[j]) * 10).ToString(); data2[j] = (Convert.ToDouble(data2[j]) * 10).ToString(); } } for (var i = 0; i < 22; i++) { if (data1[i] != data2[i]) { diffStr[diffCount] = "02 " + ((i + 2) / 2).ToString("X2") + " "; if (i % 2 == 0) { if (Convert.ToInt32(data2[i]) >= 0) { diffStr[diffCount] = diffStr[diffCount] + "00 ff " + (Convert.ToInt32(data2[i]) % 256).ToString("X2") + " " + (Convert.ToInt32(data2[i]) / 256).ToString("X2") + " ff ff"; } else { data2[i] = data2[i].Substring(1, data2[i].Length - 1); diffStr[diffCount] = diffStr[diffCount] + "01 ff " + (Convert.ToInt32(data2[i]) % 256).ToString("X2") + " " + (Convert.ToInt32(data2[i]) / 256).ToString("X2") + " ff ff"; } } else { if (Convert.ToInt32(data2[i]) >= 0) { diffStr[diffCount] = diffStr[diffCount] + "02 ff " + (Convert.ToInt32(data2[i]) % 256).ToString("X2") + " " + (Convert.ToInt32(data2[i]) / 256).ToString("X2") + " ff ff"; } else { data2[i] = data2[i].Substring(1, data2[i].Length - 1); diffStr[diffCount] = diffStr[diffCount] + "03 ff " + (Convert.ToInt32(data2[i]) % 256).ToString("X2") + " " + (Convert.ToInt32(data2[i]) / 256).ToString("X2") + " ff ff"; } } diffCount++; } } var sendDiffStr = new string[diffCount]; for (int k = 0; k < diffCount; k++) { sendDiffStr[k] = diffStr[k]; DemarcateKey(sendDiffStr[k]); DemarcateValue(sendDiffStr[k]); MySQL_client._updata("devicedemarcate", DemarcateKey(sendDiffStr[k]), DemarcateValue(sendDiffStr[k])); } if (diffCount > 0) { ((App)Application.Current).dataPro.DeviceDemarcate(sendDiffStr); } }