From ad3ffbde0e5fe97151c465b48cc2b8e82f61c2de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=91=E5=8F=AB=E9=94=84=E5=A4=B4?= Date: Tue, 16 Apr 2024 13:15:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=9D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProductionSystem/Forms/HomeFormInfo.cs | 198 ++++++------------ .../Untils/EquipmentCacheManager.cs | 2 +- ProductionSystem/Untils/PWMDeviceHelper.cs | 5 + ProductionSystem/Untils/Tool/TmTool.cs | 2 +- 4 files changed, 71 insertions(+), 136 deletions(-) diff --git a/ProductionSystem/Forms/HomeFormInfo.cs b/ProductionSystem/Forms/HomeFormInfo.cs index e691867..c1319db 100644 --- a/ProductionSystem/Forms/HomeFormInfo.cs +++ b/ProductionSystem/Forms/HomeFormInfo.cs @@ -606,107 +606,7 @@ namespace ProductionSystem.Forms } })); - //if (M249.Val != "0.000" && M249.Val != "10.000") - //{ - // /*获取步序名称================2023-11-7注释===================================*/ - // //decimal.TryParse(M249.Val, out var result); - // //var intResult = Convert.ToInt32(result); - // //var stepName = EnumHelper.GetEnumDescription((StepEnum)intResult); - // /*获取步序名称===================================================*/ - - // float.TryParse(val, out float floatVal); - // // 把数据新增到每一个数组里,并指定最大3000个数,再多就覆盖之前的 - // switch (testValPoint?.Key) - // { - // case "M1"://进口压力 - // SoftBasic.AddArrayData(ref Program.Times, new DateTime[] { DateTime.Now }, 3000); - // SoftBasic.AddArrayData(ref Program.InPressData, new float[] { floatVal }, 3000); - // break; - // case "M2"://出口压力 - // SoftBasic.AddArrayData(ref Program.OutPressData, new float[] { floatVal }, 3000); - // break; - // case "M3"://罐压力 - // SoftBasic.AddArrayData(ref Program.GastankPressData, new float[] { floatVal }, 3000); - // break; - // case "M4"://电压值 - // SoftBasic.AddArrayData(ref Program.VoltageData, new float[] { floatVal }, 3000); - // break; - // case "M5"://电流值 - // SoftBasic.AddArrayData(ref Program.CurrentData, new float[] { floatVal }, 3000); - // break; - // case "M9"://X轴震动值 - // SoftBasic.AddArrayData(ref Program.XVibrateData, new float[] { floatVal }, 3000); - // break; - // case "M10"://Y轴振动值 - // SoftBasic.AddArrayData(ref Program.YVibrateData, new float[] { floatVal }, 3000); - // break; - // case "M11"://Z轴振动值 - // SoftBasic.AddArrayData(ref Program.ZVibrateData, new float[] { floatVal }, 3000); - // break; - // case "M12"://噪音 - // SoftBasic.AddArrayData(ref Program.NoiseData, new float[] { floatVal }, 3000); - // break; - // default: - // break; - // } - - // #region 2023-11-7注释 曲线区域用不到 - // //if (intResult != tempStepNum) - // //{ - // // tempStepNum = intResult; - // // stepChangeCount++; - // // switch (stepChangeCount) - // // { - // // case 1: - // // stepName1 = stepName; - // // sectionStartIndex1 = 0; - // // break; - // // case 2: - // // stepName2 = stepName; - // // sectionEndIndex1 = Program.InPressData.Length; - // // sectionStartIndex2 = Program.InPressData.Length + 1; - // // break; - // // case 3: - // // stepName3 = stepName; - // // sectionEndIndex2 = Program.InPressData.Length; - // // sectionStartIndex3 = Program.InPressData.Length + 1; - // // break; - // // case 4: - // // stepName4 = stepName; - // // sectionEndIndex3 = Program.InPressData.Length; - // // sectionStartIndex4 = Program.InPressData.Length + 1; - // // break; - // // case 5: - // // stepName5 = stepName; - // // sectionEndIndex4 = Program.InPressData.Length; - // // sectionStartIndex5 = Program.InPressData.Length + 1; - // // break; - // // case 6: - // // stepName6 = stepName; - // // sectionEndIndex5 = Program.InPressData.Length; - // // sectionStartIndex6 = Program.InPressData.Length + 1; - // // break; - // // case 7: - // // stepName7 = stepName; - // // sectionEndIndex6 = Program.InPressData.Length; - // // sectionStartIndex7 = Program.InPressData.Length + 1; - // // break; - // // case 8: - // // stepName8 = stepName; - // // sectionEndIndex7 = Program.InPressData.Length; - // // sectionStartIndex8 = Program.InPressData.Length + 1; - // // break; - // // case 9: - // // stepName9 = stepName; - // // sectionEndIndex8 = Program.InPressData.Length; - // // sectionStartIndex9 = Program.InPressData.Length + 1; - // // break; - // // default: - // // break; - // // } - // //} - // #endregion - //} + } } } @@ -736,21 +636,7 @@ namespace ProductionSystem.Forms middleIsCanRound = false; Thread.Sleep(Program.ReadPlcRate); - - - - TmTool.SiTong(ModeTypeEnum.BZ1_DB, 1); - // Thread.Sleep(1000); - // TmTool.SbUx(ModeTypeEnum.BZ1_DB); - // Thread.Sleep(1000); - - // TmTool.WritePlc(TmTool.SiTong1, 1); - TmTool.SbUx(ModeTypeEnum.BZ1_DB); - TmTool.Dzpy(ModeTypeEnum.BZ1_DB, 1); - return; - - - + //自动模式 如果是手动模式就是false if (D1004) { @@ -859,26 +745,30 @@ namespace ProductionSystem.Forms //上位机将四通阀运行到模式1,启动水泵1运行致设定转速,反馈PLC=1或2(可以/不可以测试) EquipmentCacheManager.Init(GetCode()); + + var ba = ModeTypeEnum.BZ1_DB; + XTrace.WriteLine("开始运行四通1"); - TmTool.SiTong(ModeTypeEnum.BZ1_DB, 1); + TmTool.SiTong(ba, 1); TmTool.WritePlc(TmTool.SiTong1, 1); XTrace.WriteLine("开始运行四通2"); - TmTool.SiTong(ModeTypeEnum.BZ1_DB, 2); + TmTool.SiTong(ba, 2); TmTool.WritePlc(TmTool.SiTong2, 1); XTrace.WriteLine("开始膨胀阀"); - TmTool.Dzpy(ModeTypeEnum.BZ1_DB, 1); + TmTool.Dzpy(ba, 1); TmTool.WritePlc(TmTool.PengZhang1, 1); + XTrace.WriteLine("开始水泵1"); - TmTool.SbUy(ModeTypeEnum.BZ1_DB); + TmTool.SbUy(ba); TmTool.WritePlc(TmTool.ShuiBeng1, 1); @@ -886,6 +776,9 @@ namespace ProductionSystem.Forms + /// + /// 高压模式 + /// private void Step4() { @@ -893,8 +786,11 @@ namespace ProductionSystem.Forms TmTool.CleanStatus(); //上位机检测电子膨胀阀1,电子膨胀阀2在常开状态,不在最大值状态时,膨胀阀运行致常开状态,并反馈PLC=1或2(可以/不可以测试) - TmTool.SiTong(ModeTypeEnum.BZ4_DB, 1); - TmTool.SiTong(ModeTypeEnum.BZ4_DB, 2); + var ba = ModeTypeEnum.BZ4_DB; + + XTrace.WriteLine("开始膨胀阀"); + TmTool.Dzpy(ba, 1); + TmTool.WritePlc(TmTool.PengZhang1, 1); } @@ -904,13 +800,31 @@ namespace ProductionSystem.Forms private void Step2() { + + var ba = ModeTypeEnum.BZ2_DB; - XTrace.WriteLine("开始水泵2"); - TmTool.SbUy(ModeTypeEnum.BZ2_DB,true); + XTrace.WriteLine("开始运行四通1"); + TmTool.SiTong(ba, 1); + TmTool.WritePlc(TmTool.SiTong1, 1); + + + + XTrace.WriteLine("开始运行四通2"); + TmTool.SiTong(ba, 2); + TmTool.WritePlc(TmTool.SiTong2, 1); + + + + + XTrace.WriteLine("停止水泵1"); + //停止水泵1 + TmTool.SbUy(ba,true); TmTool.WritePlc(TmTool.ShuiBeng1, 0); - Thread.Sleep(1000); - TmTool.SbUx(ModeTypeEnum.BZ2_DB); + XTrace.WriteLine("开始水泵2"); + + Thread.Sleep(100); + TmTool.SbUx(ba); TmTool.WritePlc(TmTool.ShuiBeng2, 1); @@ -921,9 +835,23 @@ namespace ProductionSystem.Forms private void Step3() { - // 上位机将四通阀运行到模式1,停止水泵2;启动水泵3运行致设定转速,反馈PLC=1或2(可以/不可以测试) - TmTool.SiTong(ModeTypeEnum.BZ3_DB, 1); - TmTool.SiTong(ModeTypeEnum.BZ3_DB, 2); + var ba = ModeTypeEnum.BZ3_DB; + + + XTrace.WriteLine("开始运行四通1"); + TmTool.SiTong(ba, 1); + TmTool.WritePlc(TmTool.SiTong1, 1); + + + + XTrace.WriteLine("开始运行四通2"); + TmTool.SiTong(ba, 2); + TmTool.WritePlc(TmTool.SiTong2, 1); + + TmTool.SbUx(ba,true); + TmTool.WritePlc(TmTool.ShuiBeng2, 1); + + } @@ -940,10 +868,10 @@ namespace ProductionSystem.Forms private void Step5() { - + var ba = ModeTypeEnum.BZ5_DB; //上位机将四通阀1运行到模式1,四通阀2运行到模式1,;反馈模式与设定模式相同时,反馈PLC=1或2(可以/不可以测试) - TmTool.SiTong(ModeTypeEnum.BZ5_DB, 1); - TmTool.SiTong(ModeTypeEnum.BZ5_DB, 2); + TmTool.SiTong(ba, 1); + TmTool.SiTong(ba, 2); } @@ -954,8 +882,10 @@ namespace ProductionSystem.Forms { //上位机将四通阀1运行到模式6,四通阀2运行到模式6,;反馈模式与设定模式相同时,反馈PLC=1或2(可以/不可以测试) - TmTool.SiTong(ModeTypeEnum.BZ6_DB, 1); - TmTool.SiTong(ModeTypeEnum.BZ6_DB, 2); + var ba = ModeTypeEnum.BZ6_DB; + //上位机将四通阀1运行到模式1,四通阀2运行到模式1,;反馈模式与设定模式相同时,反馈PLC=1或2(可以/不可以测试) + TmTool.SiTong(ba, 1); + TmTool.SiTong(ba, 2); } diff --git a/ProductionSystem/Untils/EquipmentCacheManager.cs b/ProductionSystem/Untils/EquipmentCacheManager.cs index 98ccade..4ff9e31 100644 --- a/ProductionSystem/Untils/EquipmentCacheManager.cs +++ b/ProductionSystem/Untils/EquipmentCacheManager.cs @@ -22,7 +22,7 @@ namespace ProductionSystem.Untils public static void Init(string code) { cache.Remove(code); - cache.Set>(code, new Dictionary(), TimeSpan.FromMinutes(20)); + cache.Set(code, new Dictionary(), TimeSpan.FromMinutes(20)); } public static void Add(string code,EquipmentEnum equipmentEnum, string value) diff --git a/ProductionSystem/Untils/PWMDeviceHelper.cs b/ProductionSystem/Untils/PWMDeviceHelper.cs index 3997af7..ac28750 100644 --- a/ProductionSystem/Untils/PWMDeviceHelper.cs +++ b/ProductionSystem/Untils/PWMDeviceHelper.cs @@ -148,6 +148,7 @@ namespace ProductionSystem.Untils { return (false, $"将{sendString}字符串转成字节数组时,异常"); } + _serialPort.Write(sendBytes, 0, sendBytes.Length); Thread.Sleep(500); return (true, ""); @@ -157,6 +158,10 @@ namespace ProductionSystem.Untils var msg = ex == null ? "writeData异常" : $"writeData异常,{ex.Message}"; return (false, msg); } + finally + { + _serialPort.Close(); + } } /// diff --git a/ProductionSystem/Untils/Tool/TmTool.cs b/ProductionSystem/Untils/Tool/TmTool.cs index 3528395..16ee7cc 100644 --- a/ProductionSystem/Untils/Tool/TmTool.cs +++ b/ProductionSystem/Untils/Tool/TmTool.cs @@ -284,7 +284,7 @@ namespace ProductionSystem.Untils.Tool UxTool exv = new UxTool(pzf1.Com,val); var exv1 = exv.ToAction(); - exv.TryDispose(); + exv.Dispose(); stopwatch.Stop(); step.Id = Guid.NewGuid().ToString("N"); step.ReturnValue = exv.Val;