From 765dedaf93f5e20347324a47d1f76ad37f3632a6 Mon Sep 17 00:00:00 2001 From: wangsr Date: Thu, 7 Dec 2023 15:28:21 +0800 Subject: [PATCH] =?UTF-8?q?add=20-=20=E6=89=8B=E5=8A=A8=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=B7=E6=B1=82=E6=8E=A5=E6=96=99=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ManualControl/InitAction.cs | 19 ++--- .../ManualControl/ManualControlAction.cs | 69 ++++++++++++++++--- .../MCProject/nodeForm/ManualWaterControl.xml | 26 ++++++- 3 files changed, 90 insertions(+), 24 deletions(-) diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/InitAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/InitAction.cs index 851c7ae..20fe3c9 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/InitAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/InitAction.cs @@ -180,6 +180,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl LogInsertToDatabase(""); //读取停止按钮的状态 FillWaterStop(); + #region 配置文件加载 var table = FreeSqlUnit.Instance.Select().Where("1 = 1").ToList(); @@ -250,9 +251,9 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl private void FillWaterStop() { - var query= GetAllDbMCControlsByOption(DbOptionTypes.Query); + var query = GetAllDbMCControlsByOption(DbOptionTypes.Query); - MCButton WaterStop1= query.Where(t => t.BaseControl.MCKey != null + MCButton WaterStop1 = query.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "WaterStop1").FirstOrDefault().BaseControl as MCButton; var plc = PlcConnect.Instance; var waterStopBool1 = plc.ReadBool("DB2119.28.5").Content; @@ -266,7 +267,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl WaterStop1.Text = "冷水称A停止"; } - MCButton WaterStop2= query.Where(t => t.BaseControl.MCKey != null + MCButton WaterStop2 = query.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "WaterStop2").FirstOrDefault().BaseControl as MCButton; @@ -282,7 +283,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl } - MCButton WaterStop3= query.Where(t => t.BaseControl.MCKey != null + MCButton WaterStop3 = query.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "WaterStop3").FirstOrDefault().BaseControl as MCButton; @@ -297,7 +298,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl WaterStop3.Text = "冷水称B停止"; } - MCButton WaterStop4= query.Where(t => t.BaseControl.MCKey != null + MCButton WaterStop4 = query.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "WaterStop4").FirstOrDefault().BaseControl as MCButton; @@ -315,9 +316,6 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl } - - - #region 单选变色控制 private void Wet1_CheckedChanged(object sender, EventArgs e) @@ -384,9 +382,6 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl #endregion - - - #region 返回数据读取 private void Timer1_Tick() @@ -504,7 +499,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl } if (DB2119.Hotwater_A.Dos_End) { - if(PlcControl("DB2119.8.3", false)) + if (PlcControl("DB2119.8.3", false)) { ManualLogControl("热水称A称量结束", DB2119.Hotwater_A.Value_Initial, 2, 1, 1); } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/ManualControlAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/ManualControlAction.cs index 85329b7..ea23475 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/ManualControlAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/ManualControl/ManualControlAction.cs @@ -26,6 +26,7 @@ using Mesnac.Action.ChemicalWeighing.MinAn; using System.Xml.Serialization; using System.Threading; using DataBlockHelper.DBHelpers; +using System.Diagnostics; namespace Mesnac.Action.ChemicalWeighing.ManualControl { @@ -133,6 +134,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl MCButton Focus; MCButton SaveSetting; MCButton LoadSetting; + MCButton DownloadRequest; #endregion @@ -142,10 +144,6 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl IBaseControl keywords; - - DB2119Helper DB2119; - - public void Run(RuntimeParameter runtime) { base.RunIni(runtime); //必须要调用 @@ -157,8 +155,6 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl SingleSelect(); BottomSelect(runtime); - DB2119 = new DB2119Helper(); - } #region 控件获取导入 @@ -259,6 +255,8 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl SaveSetting = GetButtonControl("SaveSetting"); LoadSetting = GetButtonControl("LoadSetting"); + + DownloadRequest = GetButtonControl("DownloadRequest"); } #endregion @@ -365,6 +363,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl Focus.Focus(); DB2119Helper DB2119 = new DB2119Helper(); + Db3000Helper DB3000 = new Db3000Helper(); #region 消除报警 if (EliAlarms == runtime.Sender) @@ -373,11 +372,11 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl Thread.Sleep(2000); PlcControl("DB2107.10.7", false); } - #endregion + #endregion - #region 水称称量按钮 + #region 水称称量按钮 - if (StartMetage1 == runtime.Sender) + if (StartMetage1 == runtime.Sender) { if (DB2119.Coolwater_A.Dos_Status) { @@ -859,7 +858,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl // return; //} - + WaterStopAction("DB2119.28.5", WaterStop1, "冷", "A"); //MessageBox.Show("冷水称A已停止排水"); @@ -1011,7 +1010,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl { var record = FreeSqlUnit.Instance.Select() .Where(x => x.valuekind == 3 && x.devicekind == 2 && x.deviceno == 1 && x.value > 350).ToList().LastOrDefault(); - if(record == null) { return; } + if (record == null) { return; } if ((DateTime.Now - record.logtime).Value.TotalMinutes < 15) { if (MessageBox.Show("距离上次下料大于350KG不足15分钟 确认下料?", "螺旋启动确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) @@ -1447,6 +1446,54 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl #endregion + #region 下发请求 + + if(DownloadRequest == runtime.Sender) + { + bool mixok1 = PlcConnect.Instance.ReadBool("DB3000.0.0").Content; + Time(1, mixok1 ? 1 : 0); + bool mixok2 = PlcConnect.Instance.ReadBool("DB3000.0.1").Content; + Time(2, mixok2 ? 1 : 0); + bool mixok3 = PlcConnect.Instance.ReadBool("DB3000.0.2").Content; + Time(3, mixok3 ? 1 : 0); + bool mixok4 = PlcConnect.Instance.ReadBool("DB3000.0.3").Content; + Time(4, mixok4 ? 1 : 0); + bool mixok5 = PlcConnect.Instance.ReadBool("DB3000.0.4").Content; + Time(5, mixok5 ? 1 : 0); + bool mixok6 = PlcConnect.Instance.ReadBool("DB3000.0.5").Content; + Time(6, mixok6 ? 1 : 0); + bool mixok7 = PlcConnect.Instance.ReadBool("DB3000.0.6").Content; + Trace.WriteLine("7号信号:" + mixok7); + Time(7, mixok7 ? 1 : 0); + bool mixok8 = PlcConnect.Instance.ReadBool("DB3000.0.7").Content; + Trace.WriteLine("8号信号:" + mixok8); + Time(8, mixok8 ? 1 : 0); + } + + #endregion + } + + /// + /// 下发请求 + /// + /// + /// + private void Time(int deviceNo, int statu) + { + TankIsDischargedSyncEntity tankIsDischargedSyncEntity = new TankIsDischargedSyncEntity() + { + reqCode = System.Guid.NewGuid().ToString(), + reqTime = DateTime.Now, + deviceNo = deviceNo.ToString(), + state = statu.ToString(), + }; + //即使网络不同 也不会影响上位机的使用 + ThreadPool.QueueUserWorkItem(delegate + { + HttpResponse httpResponse = new HttpResponse(); + string returnTest = httpResponse.PostResponse(tankIsDischargedSyncEntity); + MesnacServiceManager.Instance.LoggingService.Info($"湿混机{deviceNo}返回数据" + returnTest); + }); } #endregion diff --git a/Main/MCEdit/Data/MCProject/nodeForm/ManualWaterControl.xml b/Main/MCEdit/Data/MCProject/nodeForm/ManualWaterControl.xml index 9972659..118f6df 100644 --- a/Main/MCEdit/Data/MCProject/nodeForm/ManualWaterControl.xml +++ b/Main/MCEdit/Data/MCProject/nodeForm/ManualWaterControl.xml @@ -1,5 +1,29 @@ + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAIAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDhBNkE3NzM4OTg2NDRFQjlBQ0FGQkRDOEZENjZERjNDBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== + + DownloadRequest + + False + + + + Query + True + True + False + + + Red + DarkGray + 下发送料请求 + 702, 356 + DownloadRequest + 148, 44 + 39 + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDhBNkE3NzM4OTg2NDRFQjlBQ0FGQkRDOEZENjZERjNDBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== @@ -19,7 +43,7 @@ Red DarkGray 消除报警 - 702, 317 + 702, 276 EliAlarms 148, 44 30