diff --git a/ProductionSystem/Forms/HomeForm.cs b/ProductionSystem/Forms/HomeForm.cs index ff9643e..97acd50 100644 --- a/ProductionSystem/Forms/HomeForm.cs +++ b/ProductionSystem/Forms/HomeForm.cs @@ -74,9 +74,11 @@ namespace ProductionSystem.Forms #region 各工序的采集点位 Program.BZ1 = Program.MiddlePointKeyValues.Where(m => m.ParaCategory == "BZ1").ToList(); + + Program.BZ2 = Program.MiddlePointKeyValues.Where(m => m.ParaCategory == "BZ2").ToList(); - var entity = Program.BZ2; + Program.BZ3 = Program.MiddlePointKeyValues.Where(m => m.ParaCategory == "BZ3").ToList(); Program.BZ4 = Program.MiddlePointKeyValues.Where(m => m.ParaCategory == "BZ4").ToList(); @@ -162,12 +164,17 @@ namespace ProductionSystem.Forms Task.Run(() => { ShowMiddleData(); + }, cancellationTokenSource.Token); hslCurveHistory.RemoveAllCurve(); - SetMiddleData("BZ1_DB"); + ShowMiddleData2(); + ShowMiddleData2(); + ShowMiddleData2(); + ShowMiddleData2(); + } /// @@ -519,8 +526,9 @@ namespace ProductionSystem.Forms //条码值 private PointKeyValue M248 = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D670"); - //步序 - private PointKeyValue M249 = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "M249"); + + + /// /// 顶部展示PLC采集数据 @@ -703,122 +711,122 @@ namespace ProductionSystem.Forms middleIsCanRound = false; Thread.Sleep(Program.ReadPlcRate); - //步序 - var M249 = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "M249"); - M249.Val = OmronHelper.GetPlcVal(M249.DataType, M249.Address).val; + #region 模拟一个值 - + + #endregion + var d1300Value = GetPlcValue("D1300"); + + //步骤1水泵1空载 + if(d1300Value == "1") + { + + } + //步骤2水泵2空载 + var d1302Value = GetPlcValue("D1302"); + + if (d1302Value == "1") + { + } - //var electricPoint = Program.electricTestPoints.FirstOrDefault(m => m.Key == "M44"); - //var electricStatus = OmronHelper.GetPlcVal(electricPoint.DataType, electricPoint.Address).val; - //if (electricStatus == "1.000" || electricStatus == "2.000") - //{ - // SetMiddleData(Program.electricTestPoints, "ElectricTest"); - //} - #endregion + //步骤3水泵3空载 + var d1304Value = GetPlcValue("D1304"); - M249.Val = "23234234234234"; - switch (M249.Val) + if (d1304Value == "1") { - //空载 - case "2.000": - BZ1(); - break; - //一段速 - case "3.000": - BZ1(); - break; - //二段升速 - case "4.000": - BZ1(); - break; - //二段速稳定 - case "5.000": - BZ1(); - break; - //三段升速度 - case "6.000": - BZ1(); - break; - //三段速稳定 - case "7.000": - BZ1(); - break; - //内漏 - case "8.000": - BZ1(); - break; - //单驱 - case "9.000": - BZ1(); - break; - case "0.000"://设备待机 - hasWriteStepNum = false; - Program.IsSendStop = false; - Program.isCanSend = true; - //读取配置文件 - //var tempNum = IniHelper.Read("Step", "StepNum", "", iniFilePath); - //if (tempNum == "10") - //{ - //写入配置文件 - //IniHelper.Write("Step", "StepNum", "0", iniFilePath); - ClearMiddleData(); - CurveHelper.SetArrEmpty(); - hasWriteCurveSeciont = false; - //InitCurveSectionData();//初始化曲线区域数据 - // hslCurveHistory.RemoveAllMarkForeSection();//清空曲线区域 - hslCurveHistory.RenderCurveUI(); // 这步很重要 - Program.cureManualReset.Reset();//停止曲线定时器 - Program.timerEnable = false; - break; - case "10.000"://停机 - BZ1(); - if (!hasWriteCurveSeciont) - { - //AddCurveSection(stepChangeCount); - hslCurveHistory.RenderCurveUI(); - stepChangeCount = 0;//步序变化次数 - tempStepNum = 0;//临时存储步序号 - hasWriteCurveSeciont = true; - } - if (!hasWriteStepNum) - { - //写入配置文件 - IniHelper.Write("Step", "StepNum", "10", iniFilePath); - hasWriteStepNum = true; - } - //串口停止发送报文 - Program.isCanSend = false; - //发送停止报文 - if (Program.ProtocolDeviceHelper == null) - { - Program.ProtocolDeviceHelper = new ProtocolDeviceHelper(); - } - Program.ProtocolDeviceHelper.SendStop(Program.ProtocolConigCode, (MsgFormatEnum)Enum.Parse(typeof(MsgFormatEnum), Program.MsgFormat)); - Program.sendManualReset.Reset(); - Thread.Sleep(100); - var M299 = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "M299"); - if (M299 != null) - { - //停机成功后,反馈PLC - var writeStopResult = OmronHelper.WriteToPlc(M299.DataType, M299.Address, "1"); - } - Program.cureManualReset.Reset();//停止曲线定时器 - Program.timerEnable = false; - break; - default: - break; + + } + + //步骤4外露模式 + var d1306Value = GetPlcValue("D1306"); + + if(d1306Value == "1") + { + } + + //步骤5模式1内漏 + + var d1308 = GetPlcValue("D1308"); + if(d1308 == "1") + { + + } + + + + //步骤6模式2内漏 + + + if (d1308 == "2") + { + + } + + //步骤6出厂位置 + var d1310 = GetPlcValue("D1310"); + if (d1310 == "1") + { + + } + + + //请求上位机保存数据 + var d1900 = GetPlcValue("D1900"); + if (d1900 == "8") + { + + } + + //待机模式 + if (d1900 == "1") + { + + } + + + + + + middleIsCanRound = true; } } + + + private void ShowMiddleData2() + { + Thread.Sleep(Program.ReadPlcRate); + + GetPlc(Program.BZ1, "BZ1"); + GetPlc(Program.BZ2, "BZ2"); + GetPlc(Program.BZ3, "BZ3"); + GetPlc(Program.BZ4, "BZ4"); + GetPlc(Program.BZ5, "BZ5"); + GetPlc(Program.BZ6, "BZ6"); + + } + + + public string GetPlcValue(string key) + { + var entity= Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == key); + if (entity != null) + { + return OmronHelper.GetPlcVal(entity.DataType, entity.Address).val; + } + + return ""; + + } + /// /// 添加曲线区域 /// @@ -991,60 +999,20 @@ namespace ProductionSystem.Forms - private void BZ1() - { - - GetPlc(Program.BZ1, "BZ1"); - - } - - - private void BZ2() - { - - GetPlc(Program.BZ2, "BZ2"); - - } - - private void BZ3() - { - - GetPlc(Program.BZ3, "BZ3"); - - } - - private void BZ4() - { - - GetPlc(Program.BZ4, "BZ4"); - - } - - private void BZ5() - { - - GetPlc(Program.BZ5, "BZ5"); - - } - - private void BZ6() - { - - GetPlc(Program.BZ6, "BZ6"); - - } + + private void GetPlc(List values,string txt) { - var Bz1 = values; - for (int i = 0; i < Bz1.Count; i++) + + for (int i = 0; i < values.Count; i++) { - var electricReadResult = OmronHelper.GetPlcVal(Bz1[i].DataType, Bz1[i].Address); - Bz1[i].Val = electricReadResult.val; + var electricReadResult = OmronHelper.GetPlcVal(values[i].DataType, values[i].Address); + values[i].Val = electricReadResult.val; } - SetMiddleData(Bz1,txt); + SetMiddleData(values, txt); } @@ -1221,14 +1189,16 @@ namespace ProductionSystem.Forms } this.Invoke(new Action(() => { - if (middleMyTestResultControls[j].LblItemText == "总状态") - { - result = val; - } + middleMyTestResultControls[j].TestResultText = result == "1.000" ? "OK" : (result == "2.000" ? "NG" : ""); middleMyTestResultControls[j].TestResultForeColor = Color.White; middleMyTestResultControls[j].TestResultBackColor = result == "1.000" ? Color.Green : (result == "2.000" ? Color.Red : Color.Gainsboro); - middleMyTestResultControls[j].TestValText = val; + middleMyTestResultControls[j].TestValText = result; + + + middleMyTestResultControls[j].TestResultText = "Ok"; + + middleMyTestResultControls[j].TestResultBackColor = Color.Green; })); } }