From 93588129a1872bfcdf79d82eaab00666ef8b09c2 Mon Sep 17 00:00:00 2001 From: "liulb@mesnac.com" Date: Mon, 15 Jan 2024 21:23:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9PLC=20=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E5=99=A8=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Debug/net6.0/Admin.Core.Api.assets.cache | Bin 142985 -> 141027 bytes Admin.Core.Extensions/Middlewares/PlcMildd.cs | 3 +- Aucma.Core.RunPlc/IRunPlcService.cs | 5 +- Aucma.Core.RunPlc/RunPlcService.cs | 46 +++++++++--------- .../Business/SyncModelHandle.cs | 18 +++++-- 5 files changed, 42 insertions(+), 30 deletions(-) diff --git a/Admin.Core.Api/obj/Debug/net6.0/Admin.Core.Api.assets.cache b/Admin.Core.Api/obj/Debug/net6.0/Admin.Core.Api.assets.cache index 7d002f4194dfcab13a44327dc79d90c4918bde3c..015cf9d952a68cc02fe1670c8ddef6a56ad596ca 100644 GIT binary patch delta 17980 zcmai+2~<@_(ty(#6@18j51&4ehZhkyKo$iNK?K|YSryy>MRCCe#4Q?klNh68qF7?9 zam#Nq{*Fs@9OD?rM6;Qg#3hr-V$4LNSv5xgOfs1)I@R~yhtk#0Kj&~f=T>#!>h9|5 z>hIRe%1?c-yz4utaPXiE{|6p;pyju9n;+_t(CYXDkIioO%Yc1nYWn>c)bxwWtD7^j z=5`xXdX_WPGXMK4{!`kocUj4-2{UJvjU8V-xdujF%d4w*YyBEOt~*&|U&-WWL9p<8 zC2V7EZ59=!e3u8YK5lJ@ENTt4K7;K$NpIqLGpM~WAA9tL$xWQv(8f*S!1_!$+eFuL zrRTSsjMBzP&ysHz!O;iZT9)+u%+21QH+7Rfo~loQ$D8W*HIiL$t9~&gG*b#X!SM|v z;Cq`5zH8>R*U^@pAglSq_D5BMsExT$?5o?is)YgYrte&8jAKh@DBRo}^q+>pz81dl zjh~bDU@A>83_IMysZE!rz_BF~nmwHWNj9A zlMdQcXbw^T(;wam)a}dU5nSHc17cg1*`KC@1UT1f4qf)kI~T+IPTjs;)#BK*qaZrW z23uP@?SD`x@PY?fHuP=dwl9~Zj?hm0<)*9^1pP4uF169=Y+D+$3~xK=aw_|PF}w01 zCrGCwir*axcXm}6uBZh&?I2r#3Ov@AmBP_rH?=-~_k5^mOMM5ef}eM%!IC%|+-~c% zKP7i76tY7eB2MQB?FO-Xk{}@725D|5ooPpC4E$|Rp|QHxQGqO;BXkWN#lg^Ls1xt& z%%cL>K)BS-tyN2Ic57cZ*t{Sb#1=XNUX&uJNCGw+!xMlM&Ub1~BE&0NB=1Cv%0H7QXISp?c1HyKqoPI=Qu}#DZ2( zd$={&Iv2@@6F5SJtN_k*))o7|71+Cs(Tb%0Dqcv3m%Hd%vGhFtNEifk&D184=f&`s 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 public class RunPlcService : IRunPlcService { - System.Timers.Timer timer = new System.Timers.Timer(3000);//创建定时器,设置间隔时间为1000毫秒; - System.Timers.Timer timer1 = new System.Timers.Timer(3000); #region 构造函数 public RunPlcService() { - StartMelsecMcPlcServer(); - StartSiemensPlcServer(); + //StartMelsecMcPlcServer(); + //StartSiemensPlcServer(); } #endregion #region 心跳 - public Task StartPlcAsync() + public async Task StartMelsecPlcAsync() { + System.Timers.Timer timer = new System.Timers.Timer(3000); timer.Elapsed += new System.Timers.ElapsedEventHandler(ExecMelsecMcHeartTask); //到达时间的时候执行事件; timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true); timer.Enabled = true;//需要调用 timer.Start()或者timer.Enabled = true来启动它, timer.Start();//timer.Start()的内部原理还是设置timer.Enabled = true; - timer1.Elapsed += new System.Timers.ElapsedEventHandler(ExecSiemensHeartTask); - timer1.AutoReset = true;//设置是执行一次(false)还是一直执行(true); - timer1.Enabled = true;//需要调用 timer.Start()或者timer.Enabled = true来启动它, - timer1.Start();//timer.Start()的内部原理还是设置timer.Enabled = true; - - return Task.CompletedTask; + await Task.CompletedTask; + } + public async Task StartSiemensPlcAsync() + { + System.Timers.Timer timer = new System.Timers.Timer(3000);//创建定时器,设置间隔时间为1000毫秒 + timer.Elapsed += new System.Timers.ElapsedEventHandler(ExecSiemensHeartTask); + timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true); + timer.Enabled = true;//需要调用 timer.Start()或者timer.Enabled = true来启动它, + timer.Start();//timer.Start()的内部原理还是设置timer.Enabled = true; + await Task.CompletedTask; } - private static void StartMelsecMcPlcServer() { var allPlcServices = Appsettings.app("PLCServer").ToList(); - if (allPlcServices == null) return ; + if (allPlcServices == null) return; var list = allPlcServices.FindAll(d => d.PlcType == "Melsec" && d.Enabled == true); for (int i = 1; i <= list.Count; i++) { PlcModel model = new PlcModel(); - model.Id = list[i-1].Id; + model.Id = list[i - 1].Id; model.EquipName = list[i - 1].EquipName; model.IP = list[i - 1].IP; model.Port = list[i - 1].Port; @@ -54,15 +56,15 @@ namespace Aucma.Core.RunPlc model.plc = new MelsecPlc(list[i - 1].IP, list[i - 1].Port); PlcHelper.melsecList.Add(model); } - // return Task.CompletedTask; + // return Task.CompletedTask; } private static void StartSiemensPlcServer() { List allPlcServices = Appsettings.app("PLCServer").ToList(); - if (allPlcServices == null) return ; - var list = allPlcServices.FindAll(d => d.PlcType=="Siemens" && d.Enabled == true); - + if (allPlcServices == null) return; + var list = allPlcServices.FindAll(d => d.PlcType == "Siemens" && d.Enabled == true); + foreach (var item in list) { PlcModel model = new PlcModel(); @@ -74,7 +76,7 @@ namespace Aucma.Core.RunPlc model.plc = new SiemensPlc(item.IP, item.Port); PlcHelper.siemensList.Add(model); } - + } #endregion @@ -87,8 +89,8 @@ namespace Aucma.Core.RunPlc { var item = PlcHelper.melsecList.Where(c => c.Id == i).FirstOrDefault(); if (item == null) continue; - - if (item.plc.Read("D6050").Result) + var test = item.plc.ReadInt16("D6050"); + if (item.plc.Read("M100").Result) { item.IsConnect = true; item.plc.IsConnected = true; @@ -126,7 +128,7 @@ namespace Aucma.Core.RunPlc { var item = PlcHelper.siemensList.Where(c => c.Id == i).FirstOrDefault(); if (item == null) continue; - + if (await item.plc.Read("M100")) { item.IsConnect = true; diff --git a/Aucma.Core.SheetMetal/Business/SyncModelHandle.cs b/Aucma.Core.SheetMetal/Business/SyncModelHandle.cs index 1006436b..b7151c07 100644 --- a/Aucma.Core.SheetMetal/Business/SyncModelHandle.cs +++ b/Aucma.Core.SheetMetal/Business/SyncModelHandle.cs @@ -1,4 +1,6 @@ -using Admin.Core.IService; +using Admin.Core.Common; +using Admin.Core.IService; +using Admin.Core.Model; using Aucma.Core.HwPLc; using Microsoft.Extensions.DependencyInjection; using NetTaste; @@ -26,10 +28,9 @@ namespace Aucma.Core.SheetMetal.Business { if (PlcHelper.melsecList!=null) { - melsecPlc = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("BackPanelPLC")); - do { + melsecPlc = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("BackPanelPLC")); if (melsecPlc.plc.IsConnected) { byte[] info = melsecPlc.plc.Read("D6030", 100); @@ -39,9 +40,16 @@ namespace Aucma.Core.SheetMetal.Business continue; } //读取 - string planCode = Encoding.ASCII.GetString(info.Skip(0).Take(20).ToArray()).Replace("\0", "").Trim(); + //string model = Encoding.ASCII.GetString(info.Skip(0).Take(20).ToArray()).Replace("\0", "").Trim(); + //string productId = Encoding.ASCII.GetString(info.Skip(20).Take(20).ToArray()).Replace("\0", "").Trim(); //int complateAmount = short.Parse(bytesToHexStr(info.Skip(40).Take(1).ToArray(), 1), System.Globalization.NumberStyles.HexNumber); - + //SmSyncModel syncModel = new SmSyncModel(); + //SmSyncModel smSyncModel = _smSyncModelServices.FirstAsync(d => d.SmProductId == productId).Result; + //if (smSyncModel.IsNotEmptyOrNull()) + //{ + // _smSyncModelServices.AddAsync(model); + //} + //_smSyncModelServices.AddAsync(model); } } while (true); }