/// <summary> /// 给吊杆力和吊杆位移文本框赋值 /// </summary> private void RefreshSteeveText() { try { //自己加吊杆锚杆互换 Dictionary <int, Steeve> dicSteeve = adamHelper.steeveDic; //得到吊杆的字典集合,用方法得到力和位移 double[] steeveForce = new double[dicSteeve.Count]; //吊杆力数组,元素为double double[] steeveDis = new double[dicSteeve.Count]; //吊杆位移数组,元素为double double[] realSteeveDis = new double[4]; for (int i = 0; i < 4; i++) { steeveForce[i] = dicSteeve[i].GetForce(); //为吊杆力数组赋值值 realSteeveDis[i] = Math.Round(dicSteeve[i].GetDisplace(), 1); //真实距离 steeveDis[i] = dicSteeve[i].GetDisplace() - adamHelper.standardlist[i]; //升降位移 steeveDis[i] = Math.Round(steeveDis[i], 1); //保留一位小数 } double sum = 0; for (int i = 0; i < 4; i++) { sum += steeveDis[i];//求上升位移和 } double AverageOfFour = Math.Round(sum / 4, 1); //平均上升位移 SetTextValueManager.SetValueToText(steeveForce, ref txtSteeveF1, ref txtSteeveF2, ref txtSteeveF3, ref txtSteeveF4, ref txtMaxSteeveForce, ref txtMaxSteeveForceDiff); txtSteeveForceLimit.Text = steeveForceLimit.ToString(); txtSteeveForceDiffLimit.Text = steeveForceDiffLimit.ToString(); SetTextValueManager.SetValueToText(steeveDis, ref txtSteeveDis1, ref txtSteeveDis2, ref txtSteeveDis3, ref txtSteeveDis4, ref txtMaxSteeveDis, ref txtMaxSteeveDisDiff); txtSteeveDisLimit.Text = steeveDisLimit.ToString(); //吊杆位移上限 txtSteeveDisDiffLimit.Text = steeveDisDiffLimit.ToString(); //吊杆位移差上限 // txtSteeveDis9.Text = realSteeveDis[0].ToString(); //真实距离和平均位移赋值 txtSteeveDis10.Text = realSteeveDis[1].ToString(); txtSteeveDis11.Text = realSteeveDis[2].ToString(); txtSteeveDis12.Text = realSteeveDis[3].ToString(); txtAver.Text = AverageOfFour.ToString(); } catch (Exception ex) { timer1.Enabled = false; MessageBox.Show("采集吊杆力,位移数据失败,请检查硬件后重启软件。" + ex.Message); } }
/// <summary> /// 给前支点位移文本框赋值 /// </summary> private void RefreshFrontPivotText() { try { firstStandard = adamHelper.first_frontPivotDisStandard; secondStanard = adamHelper.second_frontPivotDisStandard; threeStandard = adamHelper.three_standard; fourStandard = adamHelper.four_standard; Dictionary <int, FrontPivot> dicFrontPivot = adamHelper.frontPivotDic; double[] frontPivotDis = new double[4]; //前支点沉降位移 double[] realFront = new double[4]; //真实距离 for (int i = 0; i < 4; i++) { realFront[i] = dicFrontPivot[i].GetDisplace(); realFront[i] = Math.Round(realFront[i], 1); } frontPivotDis[0] = Math.Round(firstStandard - dicFrontPivot[0].GetDisplace(), 1); frontPivotDis[1] = Math.Round(secondStanard - dicFrontPivot[1].GetDisplace(), 1); frontPivotDis[2] = Math.Round(threeStandard - dicFrontPivot[2].GetDisplace(), 1); frontPivotDis[3] = Math.Round(fourStandard - dicFrontPivot[3].GetDisplace(), 1); for (int k = 0; k < 4; k++) { frontPivotDis[k] = Math.Abs(frontPivotDis[k]); } double maxfront = frontPivotDis.Max(); txtFrontPivotDis1.Text = frontPivotDis[0].ToString(); txtFrontPivotDis2.Text = frontPivotDis[1].ToString(); txtFrontPivotDis3.Text = frontPivotDis[2].ToString(); txtFrontPivotDis4.Text = frontPivotDis[3].ToString(); SetTextValueManager.set4(realFront, ref txtReal1, ref txtReal2, ref txtReal3, ref txtReal4); txtMaxFrontDis.Text = maxfront.ToString(); txtFrontDisLimit.Text = FrontDisLimit.ToString(); } catch (Exception ex) { timer1.Enabled = false; MessageBox.Show("采集前支点位移数据失败,请检查硬件后重启软件。" + ex.Message); } }
/// <summary> /// 给锚杆力文本框赋值 /// </summary> private void RefreshAnchorText() { // Dictionary<int, Anchor> dicAnchor = adamHelper.anchorDic; try { Dictionary <int, Anchor> dicAnchor = adamHelper.anchorDic; double[] anchorForce = new double[4]; for (int i = 0; i < 4; i++) { anchorForce[i] = dicAnchor[i].GetForce(); } SetTextValueManager.SetValueToText(anchorForce, ref txtAnchorF1, ref txtAnchorF2, ref txtAnchorF3, ref txtAnchorF4, ref txtMaxAnchorForce, ref txtMaxAnchorForceDiff); txtAnchorForceLimit.Text = anchorForceLimit.ToString(); txtAnchorForceDiffLimit.Text = anchorForceDiffLimit.ToString(); } catch (Exception ex) { timer1.Enabled = false; MessageBox.Show("采集锚杆力数据失败,请检查硬件后重启软件。" + ex.Message); } }