From 5a74f82a7885b47fb33d7d3768a0ce45ca5fd634 Mon Sep 17 00:00:00 2001 From: "liulb@mesnac.com" Date: Wed, 3 Jan 2024 18:19:11 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=92=A3=E9=87=91?= =?UTF-8?q?=E4=B8=8A=E4=BD=8D=E6=9C=BA=E6=95=B0=E6=8D=AE=E9=87=87=E9=9B=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Admin.Core.Api/Admin.Core.Model.xml | 44 +- .../IRepository_New/ISysUserInfoRepository.cs | 6 + .../IService_New/ISysUserInfoServices.cs | 6 + .../Repository_New/SysUserInfoRepository.cs | 21 + Admin.Core.Service/BASE/BaseServices.cs | 1 + .../Service_New/SysUserInfoServices.cs | 9 + .../Business/CollectionFoamLine.cs | 3 +- Aucma.Core.DoorFoam/Views/IndexPageView.xaml | 2 +- Aucma.Core.HwPLc/Impl/MelsecPlc.cs | 2 +- Aucma.Core.OldBoxFoam/Business/Collection.cs | 185 ++--- .../ViewModels/OldBoxFoamPageViewModel.cs | 684 ++++++++++++------ .../Business/SheetMetalPlanTaskHandle.cs | 85 ++- .../Models/MaterialComplateInfoModel.cs | 14 +- Aucma.Core.SheetMetal/Startup.cs | 8 +- .../ViewModels/IndexPageViewModel.cs | 100 ++- .../ViewModels/LogPageViewModel.cs | 5 +- .../ViewModels/MainWindowViewModel.cs | 19 +- .../ViewModels/SplitPlanViewModel.cs | 2 +- .../ViewModels/StatisticsPageViewModel.cs | 70 +- Aucma.Core.SheetMetal/Views/LogPageView.xaml | 2 +- .../Views/StatisticsPageView.xaml | 8 +- Aucma.Core.SheetMetal/appsettings.json | 4 +- 22 files changed, 853 insertions(+), 427 deletions(-) diff --git a/Admin.Core.Api/Admin.Core.Model.xml b/Admin.Core.Api/Admin.Core.Model.xml index 21906d97..627bd715 100644 --- a/Admin.Core.Api/Admin.Core.Model.xml +++ b/Admin.Core.Api/Admin.Core.Model.xml @@ -2067,7 +2067,7 @@ - + 灌注 @@ -2121,44 +2121,49 @@ 主键 - + - 箱体吗 + 实际灌注量 - + - 冷媒类型;左侧冷媒型号 + 灌注压力_R - + - 冷媒类型;右侧侧冷媒型号 + 灌注压力_L - + - 设置灌注量 + 灌注时长 - + - 实际灌注量 + 产量 - + - 灌注压力_R + 箱体码 - + - 灌注压力_L + 冷媒类型;左侧冷媒型号 - + - 灌注时长 + 冷媒类型;右侧侧冷媒型号 + + + + + 设置灌注量 @@ -2171,6 +2176,11 @@ 灌注结果 + + + 灌注完成状态字 + + 创建人 diff --git a/Admin.Core.IRepository/IRepository_New/ISysUserInfoRepository.cs b/Admin.Core.IRepository/IRepository_New/ISysUserInfoRepository.cs index b426642a..3c074a5c 100644 --- a/Admin.Core.IRepository/IRepository_New/ISysUserInfoRepository.cs +++ b/Admin.Core.IRepository/IRepository_New/ISysUserInfoRepository.cs @@ -27,5 +27,11 @@ namespace Admin.Core.IRepository /// /// Task> GetProductLineInfo(string productLineCode); + /// + /// 根据工位查询时间 + /// + /// + /// + List GetStationHourAmountAsync(string stationCode); } } \ No newline at end of file diff --git a/Admin.Core.IService/IService_New/ISysUserInfoServices.cs b/Admin.Core.IService/IService_New/ISysUserInfoServices.cs index 3e72c33d..3d770376 100644 --- a/Admin.Core.IService/IService_New/ISysUserInfoServices.cs +++ b/Admin.Core.IService/IService_New/ISysUserInfoServices.cs @@ -36,5 +36,11 @@ namespace Admin.Core.IService /// /// Task GetProductLineInfo(string productLineCode); + /// + /// 根据工位查询小时 + /// + /// + /// + List GetStationHourAmountAsync(string stationCode); } } \ No newline at end of file diff --git a/Admin.Core.Repository/Repository_New/SysUserInfoRepository.cs b/Admin.Core.Repository/Repository_New/SysUserInfoRepository.cs index bf5a845c..6d35c4ae 100644 --- a/Admin.Core.Repository/Repository_New/SysUserInfoRepository.cs +++ b/Admin.Core.Repository/Repository_New/SysUserInfoRepository.cs @@ -5,6 +5,7 @@ using Admin.Core.Model.ViewModels; using Admin.Core.Model.Model_New; using System.Collections.Generic; using System; +using Microsoft.IdentityModel.Logging; namespace Admin.Core.Repository { @@ -54,5 +55,25 @@ namespace Admin.Core.Repository } #endregion + + /// + /// 获取班组小时数 + /// + /// + /// + public List GetStationHourAmountAsync(string stationCode) + { + List result = null; + try + { + result = Db.Queryable().AS("GET_STATION_HOURAMOUNT").Where("PRODUCTLINE_CODE = @stationCode", new { stationCode = stationCode }).ToList(); + + } + catch (Exception ex) + { + + } + return result; + } } } \ No newline at end of file diff --git a/Admin.Core.Service/BASE/BaseServices.cs b/Admin.Core.Service/BASE/BaseServices.cs index c90d8f72..c9097655 100644 --- a/Admin.Core.Service/BASE/BaseServices.cs +++ b/Admin.Core.Service/BASE/BaseServices.cs @@ -366,6 +366,7 @@ namespace Admin.Core.Service /// /// /// + public List Query(Expression> whereExpression) { return BaseDal.Query(whereExpression); diff --git a/Admin.Core.Service/Service_New/SysUserInfoServices.cs b/Admin.Core.Service/Service_New/SysUserInfoServices.cs index e2e7537e..47a49b81 100644 --- a/Admin.Core.Service/Service_New/SysUserInfoServices.cs +++ b/Admin.Core.Service/Service_New/SysUserInfoServices.cs @@ -67,5 +67,14 @@ namespace Admin.Core.IService var obj = list.SingleOrDefault(d => d.ProductlineCode == productLineCode); return obj; } + /// + /// 根据工位查询小时 + /// + /// + /// + public List GetStationHourAmountAsync(string stationCode) + { + return _sysUserInfoRepository.GetStationHourAmountAsync(stationCode); + } } } \ No newline at end of file diff --git a/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs b/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs index 96a17064..478faf03 100644 --- a/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs +++ b/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs @@ -34,6 +34,7 @@ namespace Aucma.Core.BoxFoam.Business public static List MoldTemperatureList = new List(); public static List ProductionCycleList = new List(); Semaphore semaphore = new Semaphore(1, 1); + public CollectionFoamLine() { startCollect(); @@ -49,8 +50,6 @@ namespace Aucma.Core.BoxFoam.Business try { Thread.Sleep(3000); - - var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("foamLine1Plc")); if (obj != null) diff --git a/Aucma.Core.DoorFoam/Views/IndexPageView.xaml b/Aucma.Core.DoorFoam/Views/IndexPageView.xaml index 056ac187..e5009527 100644 --- a/Aucma.Core.DoorFoam/Views/IndexPageView.xaml +++ b/Aucma.Core.DoorFoam/Views/IndexPageView.xaml @@ -42,7 +42,7 @@ - + diff --git a/Aucma.Core.HwPLc/Impl/MelsecPlc.cs b/Aucma.Core.HwPLc/Impl/MelsecPlc.cs index a6648ecc..4ac238a4 100644 --- a/Aucma.Core.HwPLc/Impl/MelsecPlc.cs +++ b/Aucma.Core.HwPLc/Impl/MelsecPlc.cs @@ -76,7 +76,7 @@ namespace Aucma.Core.HwPLc /// public bool Connect(string iP, int port) { - //melsecMcNet.IpAddress = iP;//正式环境开启 + melsecMcNet.IpAddress = iP;//正式环境开启 melsecMcNet.Port = port; // 如果网络不太理想,配置了两个端口,一个有问题,立即切换另一个的话,可以配置如下的代码 diff --git a/Aucma.Core.OldBoxFoam/Business/Collection.cs b/Aucma.Core.OldBoxFoam/Business/Collection.cs index c3f6ddfd..bff64f5f 100644 --- a/Aucma.Core.OldBoxFoam/Business/Collection.cs +++ b/Aucma.Core.OldBoxFoam/Business/Collection.cs @@ -2,6 +2,7 @@ using Admin.Core.IService; using Aucma.Core.HwPLc; using Aucma.Core.OldBoxFoam.Models; +using Consul; using Microsoft.Extensions.DependencyInjection; using NetTaste; using System; @@ -20,8 +21,8 @@ namespace Aucma.Core.OldBoxFoam.Business public HwPLc.PlcModel plc2 = null; public HwPLc.PlcModel plc3 = null; public HwPLc.PlcModel plc4 = null; - public List listFixtureStatus = new List(); - public List spaceDetailModel = new List(); + public static List listFixtureStatus = new List(); + public static List spaceDetailModel = new List(); public static List BoxTypeList = new List(); public static List HolderStatusList = new List(); @@ -29,15 +30,16 @@ namespace Aucma.Core.OldBoxFoam.Business public static List SolidifyTimeList = new List(); public static List StoreTypeList = new List(); public static List StoreAmountList = new List(); - + System.Threading.Semaphore semaphore = new System.Threading.Semaphore(1, 1); public Collection() { + startCollect(); } public async void startCollect() { try { - //await ExecTaskMethod(); + await ExecTaskMethod(); return; } catch (Exception ex) @@ -52,94 +54,107 @@ namespace Aucma.Core.OldBoxFoam.Business { while (true) { - Thread.Sleep(3000); - plc1 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1")); - plc2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2")); - plc3 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc3")); - plc4 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc4")); - - BoxTypeList.Clear(); - HolderStatusList.Clear(); - HolderOutPutList.Clear(); - SolidifyTimeList.Clear(); - listFixtureStatus.Clear();//夹具集合 - spaceDetailModel.Clear();//货道集合 - //夹具箱型 - - ReadBoxType(plc1, BoxTypeList); - ReadBoxType(plc2, BoxTypeList); - ReadBoxType(plc3, BoxTypeList); - ReadBoxType(plc4, BoxTypeList); - - ReadHolderStatus(plc1, HolderStatusList); - ReadHolderStatus(plc2, HolderStatusList); - ReadHolderStatus(plc3, HolderStatusList); - ReadHolderStatus(plc4, HolderStatusList); - - ReadHolderOutPut(plc1, HolderOutPutList); - ReadHolderOutPut(plc2, HolderOutPutList); - ReadHolderOutPut(plc3, HolderOutPutList); - ReadHolderOutPut(plc4, HolderOutPutList); - - ReadSolidifyTime(plc1, SolidifyTimeList); - ReadSolidifyTime(plc2, SolidifyTimeList); - ReadSolidifyTime(plc3, SolidifyTimeList); - ReadSolidifyTime(plc4, SolidifyTimeList); - - ReadStoreType(plc1, StoreTypeList); - ReadStoreType(plc2, StoreTypeList); - ReadStoreType(plc3, StoreTypeList); - ReadStoreType(plc4, StoreTypeList); - - ReadStoreAmount(plc1, StoreAmountList); - ReadStoreAmount(plc2, StoreAmountList); - ReadStoreAmount(plc3, StoreAmountList); - ReadStoreAmount(plc4, StoreAmountList); - for (int i = 0; i < 24; i++) + semaphore.WaitOne(); + try { - FixtureStatus model = new FixtureStatus(); - model.ObjId = i + 1; - if (BoxTypeList.Count > 0 && BoxTypeList != null) + Thread.Sleep(3000); + plc1 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1")); + plc2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2")); + plc3 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc3")); + plc4 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc4")); + + BoxTypeList.Clear(); + HolderStatusList.Clear(); + HolderOutPutList.Clear(); + SolidifyTimeList.Clear(); + listFixtureStatus.Clear();//夹具集合 + spaceDetailModel.Clear();//货道集合 + //夹具箱型 + + ReadBoxType(plc1, BoxTypeList); + ReadBoxType(plc2, BoxTypeList); + ReadBoxType(plc3, BoxTypeList); + ReadBoxType(plc4, BoxTypeList); + + ReadHolderStatus(plc1, HolderStatusList); + ReadHolderStatus(plc2, HolderStatusList); + ReadHolderStatus(plc3, HolderStatusList); + ReadHolderStatus(plc4, HolderStatusList); + + ReadHolderOutPut(plc1, HolderOutPutList); + ReadHolderOutPut(plc2, HolderOutPutList); + ReadHolderOutPut(plc3, HolderOutPutList); + ReadHolderOutPut(plc4, HolderOutPutList); + + ReadSolidifyTime(plc1, SolidifyTimeList); + ReadSolidifyTime(plc2, SolidifyTimeList); + ReadSolidifyTime(plc3, SolidifyTimeList); + ReadSolidifyTime(plc4, SolidifyTimeList); + + ReadStoreType(plc1, StoreTypeList); + ReadStoreType(plc2, StoreTypeList); + ReadStoreType(plc3, StoreTypeList); + ReadStoreType(plc4, StoreTypeList); + + ReadStoreAmount(plc1, StoreAmountList); + ReadStoreAmount(plc2, StoreAmountList); + ReadStoreAmount(plc3, StoreAmountList); + ReadStoreAmount(plc4, StoreAmountList); + for (int i = 0; i < 24; i++) { - model.FixtureBoxType = BoxTypeList[i].ToString(); + FixtureStatus model = new FixtureStatus(); + model.ObjId = i + 1; + if (BoxTypeList.Count > 0 && BoxTypeList != null) + { + model.FixtureBoxType = BoxTypeList[i].ToString(); + } + else + { + model.FixtureBoxType = ""; + } + if (HolderStatusList.Count > 0 && HolderStatusList != null) + { + model.Status = HolderStatusList[i]; + } + else + { + model.Status = 0; + } + if (HolderOutPutList.Count > 0 && HolderOutPutList != null) + { + model.Yield = HolderOutPutList[i]; + } + else + { + model.Yield = 0; + } + if (SolidifyTimeList.Count > 0 && HolderOutPutList != null) + { + model.PlanCuringTime = SolidifyTimeList[i]; + } + else + { + model.PlanCuringTime = 0; + } + listFixtureStatus.Add(model); } - else + for (int i = 0; i < 8; i++) { - model.FixtureBoxType = ""; + SpaceDetailModel model = new SpaceDetailModel(); + model.ObjId = i + 1; + if (StoreTypeList.Count > 0) model.StoreType = StoreTypeList[i].ToString(); + if (StoreAmountList.Count > 0) model.StoreAmount = Convert.ToInt32(StoreAmountList[i]); + spaceDetailModel.Add(model); } - if (HolderStatusList.Count > 0 && HolderStatusList != null) - { - model.Status = HolderStatusList[i]; - } - else - { - model.Status = 0; - } - if (HolderOutPutList.Count > 0 && HolderOutPutList != null) - { - model.Yield = HolderOutPutList[i]; - } - else - { - model.Yield = 0; - } - if (SolidifyTimeList.Count > 0 && HolderOutPutList != null) - { - model.PlanCuringTime = SolidifyTimeList[i]; - } - else - { - model.PlanCuringTime = 0; - } - listFixtureStatus.Add(model); } - for (int i = 0; i < 8; i++) + catch (Exception) + { + + throw; + } + finally { - SpaceDetailModel model = new SpaceDetailModel(); - model.ObjId = i + 1; - if (StoreTypeList.Count > 0) model.StoreType = StoreTypeList[i].ToString(); - if (StoreAmountList.Count > 0) model.StoreAmount = Convert.ToInt32(StoreAmountList[i]); - spaceDetailModel.Add(model); + semaphore.Release(); } } }); diff --git a/Aucma.Core.OldBoxFoam/ViewModels/OldBoxFoamPageViewModel.cs b/Aucma.Core.OldBoxFoam/ViewModels/OldBoxFoamPageViewModel.cs index e96ec5f1..ef097755 100644 --- a/Aucma.Core.OldBoxFoam/ViewModels/OldBoxFoamPageViewModel.cs +++ b/Aucma.Core.OldBoxFoam/ViewModels/OldBoxFoamPageViewModel.cs @@ -37,6 +37,9 @@ namespace Aucma.Core.OldBoxFoam.ViewModels private readonly ISysUserInfoServices _sysUserInfoServices; private readonly ICurrentTeamTimeServices _currentTeamTimeServices; private readonly IBoxFoamDataRecordServices _boxFoamDataRecordServices; + private readonly IBoxFoamDataRealTimeServices? _boxFoamDataRealTimeServices; + private readonly IBoxFoamDataRealTimeHistoryServices _boxFoamDataRealTimeHistoryServices; + private static readonly log4net.ILog log = LogManager.GetLogger(typeof(OldBoxFoamPageViewModel)); Collection collection = new Collection(); System.Timers.Timer timer2 = new System.Timers.Timer(3000); @@ -49,8 +52,9 @@ namespace Aucma.Core.OldBoxFoam.ViewModels _boxFoamPlanServices = App.ServiceProvider.GetService(); _sysUserInfoServices = App.ServiceProvider.GetService(); _currentTeamTimeServices = App.ServiceProvider.GetService(); - // _currentTeamTimeServices = App.ServiceProvider.GetService(); + _boxFoamDataRealTimeServices = App.ServiceProvider.GetService(); _boxFoamDataRecordServices = App.ServiceProvider.GetService(); + _boxFoamDataRealTimeHistoryServices = App.ServiceProvider.GetService(); //AucamTaskService.RefreshOldBoxFoamDataDelegateEvent += OldBoxFoamOnLoad3; //timer2.Elapsed += new System.Timers.ElapsedEventHandler(RealTimeFoamingTask); //到达时间的时候执行事件; @@ -102,9 +106,9 @@ namespace Aucma.Core.OldBoxFoam.ViewModels { try { - collection.startCollect(); - if (collection.listFixtureStatus == null) return; - var prderList = collection.listFixtureStatus; + //Collection.startCollect(); + if (Collection.listFixtureStatus == null) return; + var prderList = Collection.listFixtureStatus; int num = prderList.Sum(d => d.Yield); if (prderList.Count==0) return; totalAmount = 0; @@ -238,298 +242,496 @@ namespace Aucma.Core.OldBoxFoam.ViewModels } #endregion - + Semaphore semaphore = new Semaphore(1, 1); + + #region 将采集到的数据保存 /// /// 将采集到的数据保存 /// /// + public async void RealTimeFoamingTask(object? sender, ElapsedEventArgs e) { semaphore.WaitOne(); try { string productLineCode = Appsettings.app("StationInfo", "ProductLineCode"); - if (collection.listFixtureStatus == null) return; + DateTime now = DateTime.Now; - CurrentTeamTime time = await _currentTeamTimeServices.FirstAsync(d => d.StartTime <= now && d.EndTime >= now); - if (time != null) + List timeList = await _currentTeamTimeServices.QueryAsync(d => d.StartTime <= now && d.EndTime >= now); + + if (timeList.Count > 0) { - ExecHourData(productLineCode); + ExecHourDataAsync(productLineCode); } else { - ShiftChange(productLineCode); + ShiftChangeAsync(productLineCode); } + } catch (Exception ex) { - Console.WriteLine(ex.Message.ToString()); + Console.WriteLine(ex.Message); } finally { semaphore.Release(); } - } - - private async void ShiftChange(string productLineCode) - { - //切换班组计划 - var list = await _oldBoxFoamDataServices.QueryAsync(d => d.ProductLineCode == productLineCode); - List recordList = new List(); - var currentTeamTimeList = await _sysUserInfoServices.GetTeamData(); - if (currentTeamTimeList.Count == 0) return; - //更新计划表操作 - CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync(); - currentTeamTime.TeamName = currentTeamTimeList.FirstOrDefault().TeamName; - currentTeamTime.StartTime = currentTeamTimeList.Min(d => d.StartTime); - currentTeamTime.EndTime = currentTeamTimeList.Max(d => d.EndTime); - await _currentTeamTimeServices.UpdateAsync(currentTeamTime); - //可以使用Mapping 映射 - list.ForEach(d => - { - BoxFoamDataRecord record = new BoxFoamDataRecord(); - record.OrderCode = d.OrderCode; - record.ProductLineCode = d.ProductLineCode; - record.Fixturestatus = d.Production; - record.CuringTimeSettingValue = d.CuringTimeSettingValue; - record.ActualValue = d.ActualValue; - record.AnHour = d.AnHour; - record.TwoHour = d.TwoHour; - record.ThreeHour = d.ThreeHour; - record.FourHour = d.FourHour; - record.FiveHour = d.FiveHour; - record.SixHour = d.SixHour; - record.SevenHour = d.SevenHour; - record.EightHour = d.EightHour; - record.NineHour = d.NineHour; - record.TenHour = d.TenHour; - record.ElevenHour = d.ElevenHour; - record.TwelveHour = d.TwelveHour; - record.BoxFixturesideplate = d.BoxFixturesideplate; - record.BoxClosebetatemperature = d.BoxClosebetatemperature; - record.BoxBeat = d.BoxBeat; - record.CreateTime = DateTime.Now; - }); - int result = await _boxFoamDataRecordServices.AddAsync(recordList); - if (result > 0) - { - var obj2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1")); - if (obj2 == null) { return; } - obj2.plc.WriteInt16("M216", "1");//换班 数据清空 - //清空 当班计划 - await _oldBoxFoamDataServices.DeletesAsync(list); - } - } - Semaphore semaphore = new Semaphore(1, 1); + } + #endregion - private async void ExecHourData(string productLineCode) + #region 获取小时数据 + public async void ExecHourDataAsync(string productLineCode) { - try + List bLis = Collection.listFixtureStatus; + if (bLis.Count == 0) return; + List planList = await _boxFoamPlanServices.QueryAsync(); + List bfds = await _boxFoamDataRealTimeServices.QueryAsync(); + for (int j = 0; j < bLis.Count; j++) { - List bList = new List(); - - - var collectionList = collection.listFixtureStatus; - if (collectionList.Count == 0) return; - bList.AddRange(collectionList); - List bfds = await _oldBoxFoamDataServices.QueryAsync(); - List spaceList = await _oldBoxFoamTypeServices.QueryAsync(); - List planList = await _boxFoamPlanServices.QueryAsync(); - for (int j = 0; j < bList.Count; j++) + try { - try + if (string.IsNullOrEmpty(bLis[j].FixtureBoxType)) continue; + BoxFoamPlan plan = planList.FirstOrDefault(d => d.MaterialCode == bLis[j].FixtureBoxType && d.PlanAmount > d.CompleteAmount); + if (plan != null) { - - OldBoxFoamType space = spaceList.FirstOrDefault(d => d.Boxtype == bList[j].FixtureBoxType); - //根据夹具找货道,根据货道找物料 - if (spaceList != null) + int complateAmount = 0; + BoxFoamDataRealTime bfd = bfds.SingleOrDefault(d => d.FixtureBoxtype == bLis[j].FixtureBoxType && d.SerialNumber == bLis[j].ObjId); + if (bfd != null) { - BoxFoamPlan plan = planList.FirstOrDefault(d => d.MaterialCode == space.MaterialCode && d.PlanAmount > d.CompleteAmount); - if (plan != null) - { - int complateAmount = 0; - //更新小时数据 - BoxFoamData bfd = bfds.FirstOrDefault(d => d.Fixtureboxtype == bList[j].FixtureBoxType && d.MainId == bList[j].ObjId); - if (bfd != null) - { - //更新计划数量 - complateAmount = bList[j].Yield - bfd.Production; - UpdateBoxData(bList[j], bfd); - } - else - { - SaveBoxData(productLineCode, bList[j]); - } - plan.CompleteAmount = plan.CompleteAmount + complateAmount; - await _boxFoamPlanServices.UpdateAsync(plan); - } - else - { - //更新小时数据 - BoxFoamData bfd = bfds.FirstOrDefault(d => d.Fixtureboxtype == bList[j].FixtureBoxType && d.MainId == bList[j].ObjId); - if (bfd != null) - { - UpdateBoxData(bList[j], bfd); - } - else - { - SaveBoxData(productLineCode, bList[j]); - } - } + + //更新计划数量 + complateAmount = bLis[j].Yield - bfd.FixtureProductioncapacity; + UpdateClampData(bLis[j], bfd); } else { - //更新小时数据 - BoxFoamData bfd = bfds.FirstOrDefault(d => d.Fixtureboxtype == bList[j].FixtureBoxType && d.MainId == bList[j].ObjId); - if (bfd != null) - { - UpdateBoxData(bList[j], bfd); - } - else - { - SaveBoxData(productLineCode, bList[j]); - } + FixtureStatus fixtureStatus = bLis[j]; + SaveClampData(productLineCode, fixtureStatus); } - } - catch { } + plan.CompleteAmount = plan.CompleteAmount + complateAmount; + if (complateAmount > 0) + { + //保存历史记录 + BoxFoamDataRealTimeHistory history = new BoxFoamDataRealTimeHistory(); + history.PlantCode = bfd.PlantCode; + history.ProductlineCode = bfd.ProductlineCode; + history.ProcessCode = bfd.ProcessCode; + history.StationCode = bfd.StationCode; + history.FixtureProductioncapacity = bLis[j].Yield; + history.FixtureCuringtimesettingvalue = bLis[j].PlanCuringTime.ToString(); + history.FixtureActualtime = bLis[j].RealCuringTime.ToString(); + history.UpdatedTime = DateTime.Now; + //事务合并 + await _boxFoamDataRealTimeHistoryServices.AddAsync(history); + await _boxFoamPlanServices.UpdateAsync(plan); + } + } + else + { + //更新小时数据 + BoxFoamDataRealTime bfd = bfds.SingleOrDefault(d => d.FixtureBoxtype == bLis[j].FixtureBoxType && d.SerialNumber == bLis[j].ObjId); + if (bfd != null) + { + UpdateClampData(bLis[j], bfd); + } + else + { + SaveClampData(productLineCode, bLis[j]); + } + } } - - OldBoxFoamOnLoad(bList); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); + catch { } } - } + } + #endregion - private async void UpdateBoxData(FixtureStatus item, BoxFoamData bfd) + #region 切换班组 + private async void ShiftChangeAsync(string productLineCode) { - int hour = GetTeamHour(DateTime.Now).Seq; - switch (hour) + try { - case 1: - bfd.AnHour = item.Yield - bfd.Production; - break; - case 2: - bfd.TwoHour = item.Yield - bfd.Production; - break; - case 3: - bfd.ThreeHour = item.Yield - bfd.Production; - break; - case 4: - bfd.FourHour = item.Yield - bfd.Production; - break; - case 5: - bfd.FiveHour = item.Yield - bfd.Production; - break; - case 6: - bfd.SixHour = item.Yield - bfd.Production; - break; - case 7: - bfd.SevenHour = item.Yield - bfd.Production; - break; - case 8: - bfd.EightHour = item.Yield - bfd.Production; - break; - case 9: - bfd.NineHour = item.Yield - bfd.Production; - break; - case 10: - bfd.TenHour = item.Yield - bfd.Production; - break; - case 11: - bfd.ElevenHour = item.Yield - bfd.Production; - break; - case 12: - bfd.TwelveHour = item.Yield - bfd.Production; - break; - default: - break; - } + //切换班组计划 + var currentTeamTimeList = await _sysUserInfoServices.GetTeamData(); + if (currentTeamTimeList.Count == 0) return; + var list = await _boxFoamDataRealTimeServices.QueryAsync(d => d.ProductlineCode == productLineCode); + //更新计划表操作 + CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync(); + currentTeamTime.TeamName = currentTeamTimeList.FirstOrDefault().TeamName; + currentTeamTime.StartTime = currentTeamTimeList.Min(d => d.StartTime); + currentTeamTime.EndTime = currentTeamTimeList.Max(d => d.EndTime); - bfd.Production = item.Yield; + bool result = await _currentTeamTimeServices.UpdateAsync(currentTeamTime); + if (result) + { + var obj2 = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("foamLine1Plc")); + if (obj2 == null) { return; } - await _oldBoxFoamDataServices.UpdateAsync(bfd); - } + //清空 当班计划 + var realTimeList = await _boxFoamDataRealTimeHistoryServices.QueryAsync(d => d.ProductlineCode == productLineCode); + await _boxFoamDataRealTimeHistoryServices.DeletesAsync(realTimeList); - private async void SaveBoxData(string productLineCode, FixtureStatus item) - { - BoxFoamData bfdata = new BoxFoamData(); - bfdata.MainId = item.ObjId; - bfdata.ProductLineCode = productLineCode; - bfdata.Fixtureboxtype = item.FixtureBoxType; - bfdata.Fixturestatus = item.Status; - bfdata.Production = item.Yield; - bfdata.CuringTimeSettingValue = item.PlanCuringTime.ToString(); - bfdata.ActualValue = item.RealCuringTime.ToString(); - int hour = GetTeamHour(DateTime.Now).Seq; - switch (hour) - { - case 1: - bfdata.AnHour = item.Yield = bfdata.Production; - break; - case 2: - bfdata.TwoHour = item.Yield = bfdata.Production; - break; - case 3: - bfdata.ThreeHour = item.Yield = bfdata.Production; - break; - case 4: - bfdata.FourHour = item.Yield = bfdata.Production; - break; - case 5: - bfdata.FiveHour = item.Yield = bfdata.Production; - break; - case 6: - bfdata.SixHour = item.Yield = bfdata.Production; - break; - case 7: - bfdata.SevenHour = item.Yield = bfdata.Production; - break; - case 8: - bfdata.EightHour = item.Yield = bfdata.Production; - break; - case 9: - bfdata.NineHour = item.Yield = bfdata.Production; - break; - case 10: - bfdata.TenHour = item.Yield = bfdata.Production; - break; - case 11: - bfdata.ElevenHour = item.Yield = bfdata.Production; - break; - case 12: - bfdata.TwelveHour = item.Yield = bfdata.Production; - break; - default: - break; + var plan = await _boxFoamPlanServices.QueryAsync(d => d.ProductLineCode == productLineCode); + await _boxFoamPlanServices.DeletesAsync(plan); + } } - bfdata.MainId = item.ObjId; - await _oldBoxFoamDataServices.AddAsync(bfdata); + catch { } } - public CurrentTeamTimeView GetTeamHour() + #endregion + + #region 更新夹具型号 + /// + /// 更新夹具型号 + /// + public async void UpdateClampData(FixtureStatus fixtureStatus, BoxFoamDataRealTime bfd) { - DateTime now = DateTime.Now; - var list = _sysUserInfoServices.GetTeamData().Result; - if (list != null) + + try { - //var obj = list.FirstOrDefault().EndTime.ToString("HH:mm"); - var view = list.FirstOrDefault(); - return view; + bfd.FixtureBoxtype = fixtureStatus.FixtureBoxType; + bfd.FixtureStatus = fixtureStatus.Status.ToString(); + bfd.FixtureProductioncapacity = fixtureStatus.Yield; + bfd.FixtureCuringtimesettingvalue = fixtureStatus.PlanCuringTime.ToString(); + bfd.FixtureActualtime = fixtureStatus.RealCuringTime.ToString(); + bfd.UpdatedTime = DateTime.Now; + + await _boxFoamDataRealTimeServices.UpdateAsync(bfd); } - return null; + catch { } } + #endregion - public CurrentTeamTimeView GetTeamHour(DateTime now) + #region 新增夹具型号 + /// + /// 更新夹具型号 + /// + public async void SaveClampData(string productLineCode, FixtureStatus fixtureStatus) { - var obj = _sysUserInfoServices.GetTeamData(now).Result; + var obj = await _sysUserInfoServices.GetProductLineInfo(productLineCode); if (obj != null) { - return obj; + BoxFoamDataRealTime bfd = new BoxFoamDataRealTime(); + + bfd.PlantCode = obj.PlantCode; + bfd.ProductlineCode = productLineCode; + bfd.ProcessCode = obj.ProcessCode; + bfd.StationCode = obj.StationCode; + bfd.SerialNumber = fixtureStatus.ObjId; + bfd.FixtureBoxtype = fixtureStatus.FixtureBoxType; + bfd.FixtureStatus = fixtureStatus.Status.ToString(); + bfd.FixtureProductioncapacity = fixtureStatus.Yield; + bfd.FixtureCuringtimesettingvalue = fixtureStatus.PlanCuringTime.ToString(); + bfd.FixtureActualtime = fixtureStatus.RealCuringTime.ToString(); + + bfd.CreatedTime = DateTime.Now; + bfd.UpdatedTime = DateTime.Now; + + await _boxFoamDataRealTimeServices.AddAsync(bfd); } - return null; + } + #endregion + + #region 原数据采集方法 + /// + /// 将采集到的数据保存 + /// + /// + //public async void RealTimeFoamingTask(object? sender, ElapsedEventArgs e) + //{ + // semaphore.WaitOne(); + // try + // { + // string productLineCode = Appsettings.app("StationInfo", "ProductLineCode"); + // if (Collection.listFixtureStatus == null|| Collection.listFixtureStatus.Count==0) return; + // DateTime now = DateTime.Now; + // CurrentTeamTime time = await _currentTeamTimeServices.FirstAsync(d => d.StartTime <= now && d.EndTime >= now); + // if (time != null) + // { + // ExecHourData(productLineCode); + // } + // else + // { + // ShiftChange(productLineCode); + // } + // } + // catch (Exception ex) + // { + // Console.WriteLine(ex.Message.ToString()); + // } + // finally + // { + // semaphore.Release(); + // } + //} + + //private async void ShiftChange(string productLineCode) + //{ + // //切换班组计划 + // var list = await _oldBoxFoamDataServices.QueryAsync(d => d.ProductLineCode == productLineCode); + // List recordList = new List(); + // var currentTeamTimeList = await _sysUserInfoServices.GetTeamData(); + // if (currentTeamTimeList.Count == 0) return; + // //更新计划表操作 + // CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync(); + // currentTeamTime.TeamName = currentTeamTimeList.FirstOrDefault().TeamName; + // currentTeamTime.StartTime = currentTeamTimeList.Min(d => d.StartTime); + // currentTeamTime.EndTime = currentTeamTimeList.Max(d => d.EndTime); + // await _currentTeamTimeServices.UpdateAsync(currentTeamTime); + // //可以使用Mapping 映射 + // list.ForEach(d => + // { + // BoxFoamDataRecord record = new BoxFoamDataRecord(); + // record.OrderCode = d.OrderCode; + // record.ProductLineCode = d.ProductLineCode; + // record.Fixturestatus = d.Production; + // record.CuringTimeSettingValue = d.CuringTimeSettingValue; + // record.ActualValue = d.ActualValue; + // record.AnHour = d.AnHour; + // record.TwoHour = d.TwoHour; + // record.ThreeHour = d.ThreeHour; + // record.FourHour = d.FourHour; + // record.FiveHour = d.FiveHour; + // record.SixHour = d.SixHour; + // record.SevenHour = d.SevenHour; + // record.EightHour = d.EightHour; + // record.NineHour = d.NineHour; + // record.TenHour = d.TenHour; + // record.ElevenHour = d.ElevenHour; + // record.TwelveHour = d.TwelveHour; + // record.BoxFixturesideplate = d.BoxFixturesideplate; + // record.BoxClosebetatemperature = d.BoxClosebetatemperature; + // record.BoxBeat = d.BoxBeat; + // record.CreateTime = DateTime.Now; + // }); + // int result = await _boxFoamDataRecordServices.AddAsync(recordList); + // if (result > 0) + // { + // var obj2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1")); + // if (obj2 == null) { return; } + // obj2.plc.WriteInt16("M216", "1");//换班 数据清空 + // //清空 当班计划 + // await _oldBoxFoamDataServices.DeletesAsync(list); + // } + //} + //Semaphore semaphore = new Semaphore(1, 1); + + //private async void ExecHourData(string productLineCode) + //{ + // try + // { + // List bList = new List(); + + + // var collectionList = collection.listFixtureStatus; + // if (collectionList.Count == 0) return; + // bList.AddRange(collectionList); + // List bfds = await _oldBoxFoamDataServices.QueryAsync(); + // List spaceList = await _oldBoxFoamTypeServices.QueryAsync(); + // List planList = await _boxFoamPlanServices.QueryAsync(); + // for (int j = 0; j < bList.Count; j++) + // { + // try + // { + + // OldBoxFoamType space = spaceList.FirstOrDefault(d => d.Boxtype == bList[j].FixtureBoxType); + // //根据夹具找货道,根据货道找物料 + // if (spaceList != null) + // { + // BoxFoamPlan plan = planList.FirstOrDefault(d => d.MaterialCode == space.MaterialCode && d.PlanAmount > d.CompleteAmount); + // if (plan != null) + // { + // int complateAmount = 0; + // //更新小时数据 + // BoxFoamData bfd = bfds.FirstOrDefault(d => d.Fixtureboxtype == bList[j].FixtureBoxType && d.MainId == bList[j].ObjId); + // if (bfd != null) + // { + // //更新计划数量 + // complateAmount = bList[j].Yield - bfd.Production; + // UpdateBoxData(bList[j], bfd); + // } + // else + // { + // SaveBoxData(productLineCode, bList[j]); + // } + // plan.CompleteAmount = plan.CompleteAmount + complateAmount; + // await _boxFoamPlanServices.UpdateAsync(plan); + // } + // else + // { + // //更新小时数据 + // BoxFoamData bfd = bfds.FirstOrDefault(d => d.Fixtureboxtype == bList[j].FixtureBoxType && d.MainId == bList[j].ObjId); + // if (bfd != null) + // { + // UpdateBoxData(bList[j], bfd); + // } + // else + // { + // SaveBoxData(productLineCode, bList[j]); + // } + // } + // } + // else + // { + // //更新小时数据 + // BoxFoamData bfd = bfds.FirstOrDefault(d => d.Fixtureboxtype == bList[j].FixtureBoxType && d.MainId == bList[j].ObjId); + // if (bfd != null) + // { + // UpdateBoxData(bList[j], bfd); + // } + // else + // { + // SaveBoxData(productLineCode, bList[j]); + // } + // } + // } + // catch { } + + // } + + // OldBoxFoamOnLoad(bList); + // } + // catch (Exception ex) + // { + // Console.WriteLine(ex.Message); + // } + //} + + //private async void UpdateBoxData(FixtureStatus item, BoxFoamData bfd) + //{ + // int hour = GetTeamHour(DateTime.Now).Seq; + // switch (hour) + // { + // case 1: + // bfd.AnHour = item.Yield - bfd.Production; + // break; + // case 2: + // bfd.TwoHour = item.Yield - bfd.Production; + // break; + // case 3: + // bfd.ThreeHour = item.Yield - bfd.Production; + // break; + // case 4: + // bfd.FourHour = item.Yield - bfd.Production; + // break; + // case 5: + // bfd.FiveHour = item.Yield - bfd.Production; + // break; + // case 6: + // bfd.SixHour = item.Yield - bfd.Production; + // break; + // case 7: + // bfd.SevenHour = item.Yield - bfd.Production; + // break; + // case 8: + // bfd.EightHour = item.Yield - bfd.Production; + // break; + // case 9: + // bfd.NineHour = item.Yield - bfd.Production; + // break; + // case 10: + // bfd.TenHour = item.Yield - bfd.Production; + // break; + // case 11: + // bfd.ElevenHour = item.Yield - bfd.Production; + // break; + // case 12: + // bfd.TwelveHour = item.Yield - bfd.Production; + // break; + // default: + // break; + // } + + // bfd.Production = item.Yield; + + // await _oldBoxFoamDataServices.UpdateAsync(bfd); + //} + + //private async void SaveBoxData(string productLineCode, FixtureStatus item) + //{ + // BoxFoamData bfdata = new BoxFoamData(); + // bfdata.MainId = item.ObjId; + // bfdata.ProductLineCode = productLineCode; + // bfdata.Fixtureboxtype = item.FixtureBoxType; + // bfdata.Fixturestatus = item.Status; + // bfdata.Production = item.Yield; + // bfdata.CuringTimeSettingValue = item.PlanCuringTime.ToString(); + // bfdata.ActualValue = item.RealCuringTime.ToString(); + // int hour = GetTeamHour(DateTime.Now).Seq; + // switch (hour) + // { + // case 1: + // bfdata.AnHour = item.Yield = bfdata.Production; + // break; + // case 2: + // bfdata.TwoHour = item.Yield = bfdata.Production; + // break; + // case 3: + // bfdata.ThreeHour = item.Yield = bfdata.Production; + // break; + // case 4: + // bfdata.FourHour = item.Yield = bfdata.Production; + // break; + // case 5: + // bfdata.FiveHour = item.Yield = bfdata.Production; + // break; + // case 6: + // bfdata.SixHour = item.Yield = bfdata.Production; + // break; + // case 7: + // bfdata.SevenHour = item.Yield = bfdata.Production; + // break; + // case 8: + // bfdata.EightHour = item.Yield = bfdata.Production; + // break; + // case 9: + // bfdata.NineHour = item.Yield = bfdata.Production; + // break; + // case 10: + // bfdata.TenHour = item.Yield = bfdata.Production; + // break; + // case 11: + // bfdata.ElevenHour = item.Yield = bfdata.Production; + // break; + // case 12: + // bfdata.TwelveHour = item.Yield = bfdata.Production; + // break; + // default: + // break; + // } + // bfdata.MainId = item.ObjId; + // await _oldBoxFoamDataServices.AddAsync(bfdata); + //} + + //public CurrentTeamTimeView GetTeamHour() + //{ + // DateTime now = DateTime.Now; + // var list = _sysUserInfoServices.GetTeamData().Result; + // if (list != null) + // { + // //var obj = list.FirstOrDefault().EndTime.ToString("HH:mm"); + // var view = list.FirstOrDefault(); + // return view; + // } + // return null; + //} + + //public CurrentTeamTimeView GetTeamHour(DateTime now) + //{ + // var obj = _sysUserInfoServices.GetTeamData(now).Result; + // if (obj != null) + // { + // return obj; + // } + // return null; + //} + + + #endregion + + } } diff --git a/Aucma.Core.SheetMetal/Business/SheetMetalPlanTaskHandle.cs b/Aucma.Core.SheetMetal/Business/SheetMetalPlanTaskHandle.cs index cb6b9d57..3540cfe8 100644 --- a/Aucma.Core.SheetMetal/Business/SheetMetalPlanTaskHandle.cs +++ b/Aucma.Core.SheetMetal/Business/SheetMetalPlanTaskHandle.cs @@ -13,6 +13,7 @@ using Admin.Core.Model; using Aucma.Core.HwPLc; using Microsoft.Extensions.DependencyInjection; using NetTaste; +using SqlSugar; namespace Aucma.Core.SheetMetal.Business; @@ -21,12 +22,24 @@ namespace Aucma.Core.SheetMetal.Business; /// public class SheetMetalPlanTaskHandle { - + #region 刷新当前正在执行的计划 /// /// 刷新当前正在执行的计划 /// public delegate void RefreshCurrentPlanInfo(ExecutePlanInfo planInfo); - public event RefreshCurrentPlanInfo RefreshCurrentPlanInfoEvent; + public static event RefreshCurrentPlanInfo RefreshCurrentPlanInfoEvent; + + #endregion + + #region 给设备监控模块显示 + /// + /// 刷新当前正在执行的计划 + /// + public delegate void RefreshExecInfo(string message); + public static event RefreshExecInfo RefreshExecInfoEvent; + + #endregion + protected readonly IExecutePlanInfoServices? _executePlanInfoServices; protected readonly IRecordSidePanelComplateServices _sidePanelComplateServices; @@ -52,13 +65,14 @@ public class SheetMetalPlanTaskHandle while (true) { - var planInfos = _executePlanInfoServices.Query(d => d.ProductLineCode.Equals("1001") && d.ExecuteStatus == 1); + var planInfos = _executePlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals("1001") && d.ExecuteStatus == 1).Result; if (planInfos != null) { if (planInfos.Count > 0) { ExecutePlanInfo planInfo = planInfos.First(); + //planInfo.PlanAmount = planInfo.PlanAmount - planInfo.CompleteAmount; if (planInfo.PlanType == 1) //联合下发 { SendPlanTask(planInfo, obj_sidePanel, obj_backPanel); @@ -83,6 +97,7 @@ public class SheetMetalPlanTaskHandle else { Console.WriteLine("未获取到需要下发的任务"); + RefreshExecInfoEvent?.Invoke("未获取到需要下发的任务"); } } @@ -105,14 +120,14 @@ public class SheetMetalPlanTaskHandle do { //等待计划执行完成 - List sidePanelComplates = _sidePanelComplateServices.Query(x => x.ProductlineCode == "1001" && x.PlanCode == planInfo.TaskCode); + List sidePanelComplates = _sidePanelComplateServices.QueryAsync(x => x.ProductlineCode == "1001" && x.PlanCode == planInfo.TaskCode).Result; int sumSidePanelAmount = sidePanelComplates.Sum(x => x.OutPutAmount); - List backPanelComplates = _backPanelComplateServices.Query(x => x.ProductlineCode == "1001" && x.PlanCode == planInfo.TaskCode); + List backPanelComplates = _backPanelComplateServices.QueryAsync(x => x.ProductlineCode == "1001" && x.PlanCode == planInfo.TaskCode).Result; int sumBackPanelAmount = backPanelComplates.Sum(x => x.OutPutAmount); Console.WriteLine($"当前计划:{planInfo.TaskCode};计划产量:{planInfo.PlanAmount};围板完成:{sumSidePanelAmount};背板完成:{sumBackPanelAmount}"); - + RefreshExecInfoEvent?.Invoke($"当前计划:{planInfo.TaskCode};计划产量:{planInfo.PlanAmount};围板完成:{sumSidePanelAmount};背板完成:{sumBackPanelAmount}"); int sumAmount = 0; if (planInfo.PlanType == 1) @@ -153,6 +168,7 @@ public class SheetMetalPlanTaskHandle catch (Exception ex) { Console.WriteLine($"计划任务信息更新异常:{ex.Message}"); + RefreshExecInfoEvent?.Invoke($"计划任务信息更新异常:{ex.Message}"); } } @@ -171,13 +187,16 @@ public class SheetMetalPlanTaskHandle if (obj_sidePanel != null) { //计划编号10个字:D6000-D6009、物料编号10个字:D6010-D6019、计划数量1个字:D6020、应答字1个字D6021 - obj_sidePanel.plc.WriteString("D6030", planInfo.TaskCode); + obj_sidePanel.plc.WriteString("D6000", planInfo.TaskCode); string processNumber = GetProcessNumberBy(planInfo.MaterialCode); obj_sidePanel.plc.WriteString("D6010", "BCD/310NF"); obj_sidePanel.plc.WriteInt32("D6020", planInfo.PlanAmount); obj_sidePanel.plc.WriteInt32("D6021", 1); + + Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>等待围板设备应答。。。。。。"); + RefreshExecInfoEvent?.Invoke("等待围板设备应答"); //下发完成后读取PLC应答,应答后复位应答信号 #region PLC反馈信号逻辑处理 @@ -189,6 +208,7 @@ public class SheetMetalPlanTaskHandle { obj_sidePanel.plc.WriteInt32("D6021", 0); Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>收到围板设备应答信号,复位应答地址"); + RefreshExecInfoEvent?.Invoke("收到围板设备应答信号,复位应答地址"); isFlag = false; } Thread.Sleep(2000); @@ -210,13 +230,14 @@ public class SheetMetalPlanTaskHandle if (obj_backPanel != null) { //计划编号10个字:D6000-D6009、物料编号10个字:D6010-D6019、计划数量1个字:D6020、应答字1个字D6021 - obj_backPanel.plc.WriteString("D6030", planInfo.TaskCode); + obj_backPanel.plc.WriteString("D4000", planInfo.TaskCode); string processNumber = GetProcessNumberBy(planInfo.MaterialCode); - obj_backPanel.plc.WriteString("D6010", "BCD/310NF"); - obj_backPanel.plc.WriteInt32("D6020", planInfo.PlanAmount); - obj_backPanel.plc.WriteInt32("D6021", 1); + obj_backPanel.plc.WriteString("D4010", "BCD/310NF"); + obj_backPanel.plc.WriteInt32("D4020", planInfo.PlanAmount); + obj_backPanel.plc.WriteInt32("D4021", 1); Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>等待背板设备应答。。。。。。"); + RefreshExecInfoEvent?.Invoke("等待背板设备应答......"); #region PLC反馈信号逻辑处理 //循环读取PLC应答信号,PLC应答后复位应答信号、更新计划状态为执行中 @@ -224,10 +245,11 @@ public class SheetMetalPlanTaskHandle do { - if (obj_backPanel.plc.ReadInt32("D6021") == 2) + if (obj_backPanel.plc.ReadInt32("D4021") == 2) { - obj_backPanel.plc.WriteInt32("D6021", 0); + obj_backPanel.plc.WriteInt32("D4021", 0); Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>收到背板板设备应答信号,复位应答地址"); + RefreshExecInfoEvent?.Invoke("收到背板板设备应答信号,复位应答地址"); isFlag = false; } Thread.Sleep(2000); @@ -265,13 +287,14 @@ public class SheetMetalPlanTaskHandle if (obj_sidePanel != null) { //计划编号10个字:D6000-D6009、物料编号10个字:D6010-D6019、计划数量1个字:D6020、应答字1个字D6021 - obj_sidePanel.plc.WriteString("D6030", planInfo.TaskCode); + obj_sidePanel.plc.WriteString("D6000", planInfo.TaskCode); string processNumber = GetProcessNumberBy(planInfo.MaterialCode); obj_sidePanel.plc.WriteString("D6010", "BCD/310NF"); obj_sidePanel.plc.WriteInt32("D6020", planInfo.PlanAmount); obj_sidePanel.plc.WriteInt32("D6021", 1); Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>等待围板设备应答。。。。。。"); + RefreshExecInfoEvent?.Invoke("等待围板设备应答......"); //下发完成后读取PLC应答,应答后复位应答信号 #region PLC反馈信号逻辑处理 @@ -283,6 +306,7 @@ public class SheetMetalPlanTaskHandle { obj_sidePanel.plc.WriteInt32("D6021", 0); Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>收到围板设备应答信号,复位应答地址"); + RefreshExecInfoEvent?.Invoke("收到围板设备应答信号......"); isFlag = false; } Thread.Sleep(2000); @@ -303,6 +327,7 @@ public class SheetMetalPlanTaskHandle { MessageBox.Show($"围板⽣产计划下发异常:{ex.Message}", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); + RefreshExecInfoEvent?.Invoke("产计划下发异常"); } } @@ -342,7 +367,9 @@ public class SheetMetalPlanTaskHandle int productionBeat = short.Parse(bytesToHexStr(info.Skip(51).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); Console.WriteLine($"围板设备数据读取====>>>>当前计划:{planCode},物料编号:{materialCode},完成数量:{complateAmount},下线数量:{offLineAmount},设备状态:{deviceStatus},生产节拍:{productionBeat}"); - + Console.WriteLine($"===>收到围板设备应答信号,复位应答地址"); + RefreshExecInfoEvent?.Invoke($"围板设备数据读取====>>>>当前计划:{planCode},物料编号:{materialCode},完成数量:{complateAmount},下线数量:{offLineAmount},设备状态:{deviceStatus},生产节拍:{productionBeat}"); + RefreshExecInfoEvent?.Invoke($"收到围板设备应答信号,复位应答地址"); //添加完工记录 RecordSidePanelComplate sidePanelComplate = new RecordSidePanelComplate() { @@ -385,7 +412,7 @@ public class SheetMetalPlanTaskHandle } else { - List planInfos = _executePlanInfoServices.Query(x => x.TaskCode.Equals(planCode.Substring(0, 16)) && x.ExecuteStatus == 2); + List planInfos = _executePlanInfoServices.QueryAsync(x => x.TaskCode.Equals(planCode.Substring(0, 16)) && x.ExecuteStatus == 2).Result; if (planInfos != null) { if (planInfos.Count > 0) @@ -397,6 +424,7 @@ public class SheetMetalPlanTaskHandle { isFlag = false; Console.WriteLine($"围板计划执行完成,计划数量:{planInfo.PlanAmount};实际产量:{sumComplateAmount};差异值:{planInfo.PlanAmount - sumComplateAmount}"); + RefreshExecInfoEvent?.Invoke($"围板计划执行完成,计划数量:{planInfo.PlanAmount};实际产量:{sumComplateAmount};差异值:{planInfo.PlanAmount - sumComplateAmount}"); } } } @@ -414,6 +442,7 @@ public class SheetMetalPlanTaskHandle catch (Exception e) { Console.WriteLine($"读取围板设备完成数据异常:{e.Message}"); + RefreshExecInfoEvent?.Invoke($"读取围板设备完成数据异常:{e.Message}"); } } @@ -433,24 +462,25 @@ public class SheetMetalPlanTaskHandle if (obj_backPanel != null) { //计划编号10个字:D6000-D6009、物料编号10个字:D6010-D6019、计划数量1个字:D6020、应答字1个字D6021 - obj_backPanel.plc.WriteString("D6030", planInfo.TaskCode); + obj_backPanel.plc.WriteString("D4000", planInfo.TaskCode); string processNumber = GetProcessNumberBy(planInfo.MaterialCode); - obj_backPanel.plc.WriteString("D6010", "BCD/310NF"); - obj_backPanel.plc.WriteInt32("D6020", planInfo.PlanAmount); - obj_backPanel.plc.WriteInt32("D6021", 1); + obj_backPanel.plc.WriteString("D4010", "BCD/310NF"); + obj_backPanel.plc.WriteInt32("D4020", planInfo.PlanAmount); + obj_backPanel.plc.WriteInt32("D4021", 1); Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>等待背板设备应答。。。。。。"); - + RefreshExecInfoEvent?.Invoke($"等待背板设备应答....."); #region PLC反馈信号逻辑处理 //循环读取PLC应答信号,PLC应答后复位应答信号、更新计划状态为执行中 bool isFlag = true; do { - if (obj_backPanel.plc.ReadInt32("D6021") == 2) + if (obj_backPanel.plc.ReadInt32("D4021") == 2) { - obj_backPanel.plc.WriteInt32("D6021", 0); + obj_backPanel.plc.WriteInt32("D4021", 0); Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>收到背板板设备应答信号,复位应答地址"); + RefreshExecInfoEvent?.Invoke($"收到背板板设备应答信号,复位应答地址"); isFlag = false; } Thread.Sleep(2000); @@ -471,6 +501,7 @@ public class SheetMetalPlanTaskHandle { MessageBox.Show($"背板⽣产计划下发异常:{ex.Message}", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); + RefreshExecInfoEvent?.Invoke($"背板⽣产计划下发异常:{ex.Message}"); } } @@ -487,7 +518,7 @@ public class SheetMetalPlanTaskHandle do { //计划编号:D6030-D6039,物料编号:D6040-D6049,计划完成数:D6050,计划下线数:D6051,设备状态:D6052-D6056,生产节拍:D6057-D6058 - byte[] info = obj.plc.Read("D6030", 59); + byte[] info = obj.plc.Read("D4030", 59); if (info == null) { @@ -509,7 +540,7 @@ public class SheetMetalPlanTaskHandle int productionBeat = short.Parse(bytesToHexStr(info.Skip(51).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); Console.WriteLine($"背板设备数据读取====>>>>当前计划:{planCode},物料编号:{materialCode},完成数量:{complateAmount},下线数量:{offLineAmount},设备状态:{deviceStatus},生产节拍:{productionBeat}"); - + RefreshExecInfoEvent?.Invoke($"当前计划:{planCode},物料编号:{materialCode},完成数量:{complateAmount},下线数量:{offLineAmount},设备状态:{deviceStatus},生产节拍:{productionBeat}"); //添加完工记录 RecordBackPanelComplate backPanelComplate = new RecordBackPanelComplate() { @@ -563,6 +594,7 @@ public class SheetMetalPlanTaskHandle { isFlag = false; Console.WriteLine($"背板计划执行完成,计划数量:{planInfo.PlanAmount};实际产量:{sumComplateAmount};差异值:{planInfo.PlanAmount - sumComplateAmount}"); + RefreshExecInfoEvent?.Invoke($"背板计划执行完成,计划数量:{planInfo.PlanAmount};实际产量:{sumComplateAmount};差异值:{planInfo.PlanAmount - sumComplateAmount}"); } } } @@ -579,11 +611,10 @@ public class SheetMetalPlanTaskHandle catch (Exception e) { Console.WriteLine($"读取背板设备完成数据异常:{e.Message}"); + RefreshExecInfoEvent?.Invoke($"读取背板设备完成数据异常:{e.Message}"); } } - - /// /// 通过物料编号获取工艺编号 /// diff --git a/Aucma.Core.SheetMetal/Models/MaterialComplateInfoModel.cs b/Aucma.Core.SheetMetal/Models/MaterialComplateInfoModel.cs index 8eb4ab4f..c7ee73ed 100644 --- a/Aucma.Core.SheetMetal/Models/MaterialComplateInfoModel.cs +++ b/Aucma.Core.SheetMetal/Models/MaterialComplateInfoModel.cs @@ -33,7 +33,19 @@ namespace Aucma.Core.SheetMetal.Models /// public int CompleteAmount { get; set; } /// - /// + /// 前板完成数量 + /// + public int SidePanelComplete { get; set; } + /// + /// 后板完成数量 + /// + public int BackPanelComplete { get; set; } + /// + /// 状态 + /// + public string Status { get; set; } + /// + /// 完成时间 /// public string BeginTime { get; set; } /// diff --git a/Aucma.Core.SheetMetal/Startup.cs b/Aucma.Core.SheetMetal/Startup.cs index 0372fbbf..559d4643 100644 --- a/Aucma.Core.SheetMetal/Startup.cs +++ b/Aucma.Core.SheetMetal/Startup.cs @@ -61,9 +61,10 @@ namespace Aucma.Core.SheetMetal //עҵ AddServices(services); // - services.AddJobSetup(); + //services.AddJobSetup(); //PLC services.AddPlcSetup(); + // services.AddAucmaTaskSetup(); //ֱ֧ȫ :֧ System.Text.Encoding.GetEncoding("GB2312") System.Text.Encoding.GetEncoding("GB18030") Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); } @@ -84,13 +85,12 @@ namespace Aucma.Core.SheetMetal /// /// /// - public void Configure(IApplicationBuilder app, ISysTasksQzService tasksQzService, - ISchedulerCenter schedulerCenter, IRunPlcService runPlcService) + public void Configure(IApplicationBuilder app, IRunPlcService runPlcService) { // ʹþ̬ļ app.UseStaticFiles(); // QuartzNetJobȷ - app.UseQuartzJobMildd(tasksQzService, schedulerCenter); + //app.UseQuartzJobMildd(tasksQzService, schedulerCenter); //PLC app.UsePlcMildd(runPlcService); } diff --git a/Aucma.Core.SheetMetal/ViewModels/IndexPageViewModel.cs b/Aucma.Core.SheetMetal/ViewModels/IndexPageViewModel.cs index a83faea0..5f99734f 100644 --- a/Aucma.Core.SheetMetal/ViewModels/IndexPageViewModel.cs +++ b/Aucma.Core.SheetMetal/ViewModels/IndexPageViewModel.cs @@ -25,6 +25,7 @@ using static Aucma.Core.SheetMetal.Business.SheetMetalPlanTaskHandle; using System.Threading; using NetTaste; using Aucma.Core.HwPLc; +using Admin.Core.Model.ViewModels; /* * 首页信息 */ @@ -33,7 +34,8 @@ namespace Aucma.Core.SheetMetal.ViewModels public partial class IndexPageViewModel : ObservableObject { protected readonly IExecutePlanInfoServices? _taskExecutionPlanInfoServices; - private SheetMetalPlanTaskHandle _taskHandle = new SheetMetalPlanTaskHandle(); + protected readonly ISysUserInfoServices? _sysUserInfoServices; + //private SheetMetalPlanTaskHandle _taskHandle = new SheetMetalPlanTaskHandle(); private AppConfigHelper appConfig = new AppConfigHelper(); List list = new List() { new SelectModel() @@ -51,22 +53,31 @@ namespace Aucma.Core.SheetMetal.ViewModels #region 构造函数 public IndexPageViewModel() { + _stationName = Appsettings.app("StationInfo", "StationName");//工位名称 _taskExecutionPlanInfoServices = App.ServiceProvider.GetService(); - _stationName = Appsettings.app("StationInfo", "StationName"); - Job_SheetMetalTask_Quartz.SmEverDayDelegateEvent += InitEveryDayMethod; - Job_SheetMetalTask_Quartz.SmTaskDelegateEvent += UpdatePlanSHow;//计划内容展示 - WeakReferenceMessenger.Default.Register(this, Recive); - Task.WaitAll(LoadData(), InitExecMethod()); - InitEveryDayMethod(); + _sysUserInfoServices = App.ServiceProvider.GetService(); + //Job_SheetMetalTask_Quartz.SmEverDayDelegateEvent += InitEveryDayMethod; + //Job_SheetMetalTask_Quartz.SmTaskDelegateEvent += UpdatePlanSHow;//计划内容展示 + //WeakReferenceMessenger.Default.Register(this, Recive); + Task.WaitAll(LoadData()); + //InitEveryDayMethod(); + AddSelectData();//添加下拉菜单 + //RefreshHourAmount();//小时产量 + SheetMetalPlanTaskHandle.RefreshCurrentPlanInfoEvent += RefreshCurrentPlanInfo; + + } + #endregion + #region 下拉 + public void AddSelectData() + { foreach (var item in list) { LocationSource.Add(item); } SelectLocation = ReadFile(); - _taskHandle.RefreshCurrentPlanInfoEvent += RefreshCurrentPlanInfo; - } + #endregion #region 订单统计 @@ -125,7 +136,7 @@ namespace Aucma.Core.SheetMetal.ViewModels ProductionHourList = new List() { - "7:30", "8:80", "9:30", "10:30", "11:30", "12:30", "13:30", "14:30", "15:30", "16:30", "17:30", "18:30" + "8:00", "9:00", "9:30", "10:30", "11:30", "12:30", "13:30", "14:30", "15:30", "16:30", "17:30", "18:30" }; //Formatter = value => value.ToString("N"); Achievement.Add(column); @@ -135,10 +146,10 @@ namespace Aucma.Core.SheetMetal.ViewModels DataLabels = true, Title = "后板", Values = achievement, - Fill = new SolidColorBrush(Color.FromRgb(15,209,226)), + Fill = new SolidColorBrush(Color.FromRgb(15, 209, 226)), Foreground = Brushes.CadetBlue, FontSize = 18 - }); + }); #endregion @@ -182,15 +193,12 @@ namespace Aucma.Core.SheetMetal.ViewModels #region 计划列表 #region 加载DataGrid数据 - private async Task LoadData() + private Task LoadData() { - string productLineCode = Appsettings.app("StationInfo", "ProductLineCode"); string stationCode = Appsettings.app("StationInfo", "StationCode"); - //stationCode = "1001"; - //var list = await _taskExecutionPlanInfoServices.QueryAsync(d => d.ProductLineCode.Contains(stationCode)); - var list = _taskExecutionPlanInfoServices.Query(x => x.ProductLineCode == stationCode); - if (list == null) return; - var execList = list.OrderBy(d => d.ExecuteOrder); + var list = _taskExecutionPlanInfoServices.QueryAsync(x => x.ProductLineCode == stationCode).Result; + if (list == null) return Task.CompletedTask; + var execList = list.OrderByDescending(d => d.ExecuteOrder); int i = 1; string planType = string.Empty; foreach (var item in execList) @@ -224,6 +232,23 @@ namespace Aucma.Core.SheetMetal.ViewModels PlanInfoDataGrid.Add(task); i++; } + + //更新首页显示信息 + ExecutePlanInfo execPlan = execList.SingleOrDefault(d => d.ExecuteStatus == 2); + if (execPlan!=null) + { + _orderCode = execPlan.OrderCode; + _mesMOrderCode = execPlan.ProductPlanCode; + _productModel = execPlan.MaterialName; + _beginTime = execPlan.BeginTime.ToString(); + + _planMaxNum= _planNum = execPlan.PlanAmount; + _realQuantity = execPlan.CompleteAmount; + _diffQuantity =_planMaxNum- _realQuantity; + _completionRate = _realQuantity / _planMaxNum; + } + + return Task.CompletedTask; } #endregion @@ -619,17 +644,52 @@ namespace Aucma.Core.SheetMetal.ViewModels } #endregion + #region 刷新当前执行的计划进度 /// /// 刷新当前执行的计划进度 /// /// private void RefreshCurrentPlanInfo(ExecutePlanInfo planInfo) { - _ = App.Current.Dispatcher.BeginInvoke((Action)(() => + App.Current.Dispatcher.BeginInvoke((Action)(() => { PlanInfoDataGrid.Clear(); LoadData(); })); } + #endregion + + + #region 刷新小时产量统计 + /// + /// 刷新小时产量统计 + /// + private void RefreshHourAmount() + { + App.Current.Dispatcher.Invoke((Action)(() => + { + //获取小时产量 + string stationCode = Appsettings.app("StoreInfo", "StationCode"); + List hourAmount = _sysUserInfoServices.GetStationHourAmountAsync(stationCode); + if (hourAmount != null) + { + Achievement.Clear(); + ProductionHourList = new List(); + ChartValues hourAchievement = new ChartValues(); + foreach (var item in hourAmount) + { + ProductionHourList.Add(item.PRODUCT_HOUR); + hourAchievement.Add(Convert.ToDouble(item.PRODUCT_AMOUNT)); + } + var houeColumn = new ColumnSeries(); + houeColumn.DataLabels = true; + houeColumn.Title = "小时产量"; + houeColumn.Values = hourAchievement; + houeColumn.Foreground = Brushes.White; + Achievement.Add(houeColumn); + } + })); + } + #endregion } } diff --git a/Aucma.Core.SheetMetal/ViewModels/LogPageViewModel.cs b/Aucma.Core.SheetMetal/ViewModels/LogPageViewModel.cs index 05459b03..bc312a5d 100644 --- a/Aucma.Core.SheetMetal/ViewModels/LogPageViewModel.cs +++ b/Aucma.Core.SheetMetal/ViewModels/LogPageViewModel.cs @@ -11,6 +11,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Documents; using Admin.Core.Tasks; +using Aucma.Core.SheetMetal.Business; namespace Aucma.Core.SheetMetal.ViewModels { @@ -21,9 +22,9 @@ namespace Aucma.Core.SheetMetal.ViewModels public LogPageViewModel() { - //Job_Admin_Quartz.LogDelegateEvent += PrintMessageToListBox; + SheetMetalPlanTaskHandle.RefreshExecInfoEvent += PrintMessageToListBox; } - + /// /// LisBox数据模板 /// diff --git a/Aucma.Core.SheetMetal/ViewModels/MainWindowViewModel.cs b/Aucma.Core.SheetMetal/ViewModels/MainWindowViewModel.cs index 65a99b7c..8aa09389 100644 --- a/Aucma.Core.SheetMetal/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.SheetMetal/ViewModels/MainWindowViewModel.cs @@ -79,7 +79,7 @@ namespace Aucma.Core.SheetMetal.ViewModels public void RefreshPlc() { // 后板plc - var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("后板Plc")); + var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("BackPanelPLC")); if (obj != null) { if (obj.plc.IsConnected) @@ -96,7 +96,7 @@ namespace Aucma.Core.SheetMetal.ViewModels PlcState(false); } // u壳plc - var obj2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("U壳PLC")); + var obj2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("SidePanelPlc")); if (obj2 != null) { if (obj2.plc.IsConnected) @@ -116,6 +116,7 @@ namespace Aucma.Core.SheetMetal.ViewModels } #endregion + #region 更换界面 public System.Windows.Controls.UserControl _content; @@ -222,6 +223,7 @@ namespace Aucma.Core.SheetMetal.ViewModels } } #endregion + #region MES数据库状态 /// /// MES数据库-文字 @@ -261,13 +263,13 @@ namespace Aucma.Core.SheetMetal.ViewModels { if (type) { - MesDbUIStatusWb = "MES数据库连接成功"; + MesDbUIStatusWb = "MES数据库"; MesDbUIColor = "Green"; MesUIIcon = "Assets/Images/Green.png"; } else { - MesDbUIStatusWb = "MES数据库异常"; + MesDbUIStatusWb = "MES数据库"; MesDbUIColor = "Red"; MesUIIcon = "Assets/Images/Red.png"; } @@ -314,13 +316,13 @@ namespace Aucma.Core.SheetMetal.ViewModels { if (type) { - PlcUIStatusWb = "后板PLC连接成功"; + PlcUIStatusWb = "后板PLC"; PlcUIColor = "Green"; PlcUIIcon = "Assets/Images/Green.png"; } else { - PlcUIStatusWb = "后板PLC状态异常"; + PlcUIStatusWb = "后板PLC"; PlcUIColor = "Red"; PlcUIIcon = "Assets/Images/Red.png"; } @@ -328,7 +330,6 @@ namespace Aucma.Core.SheetMetal.ViewModels } #endregion - #region U壳PLC状态 /// /// UI plc 展示状态-文字 @@ -368,13 +369,13 @@ namespace Aucma.Core.SheetMetal.ViewModels { if (type) { - Plc2UIStatusWb = "U壳PLC连接成功"; + Plc2UIStatusWb = "U壳PLC"; Plc2UIColor = "Green"; Plc2UIIcon = "Assets/Images/Green.png"; } else { - Plc2UIStatusWb = "U壳PLC状态异常"; + Plc2UIStatusWb = "U壳PLC"; Plc2UIColor = "Red"; Plc2UIIcon = "Assets/Images/Red.png"; } diff --git a/Aucma.Core.SheetMetal/ViewModels/SplitPlanViewModel.cs b/Aucma.Core.SheetMetal/ViewModels/SplitPlanViewModel.cs index 15ef315a..f2e801ee 100644 --- a/Aucma.Core.SheetMetal/ViewModels/SplitPlanViewModel.cs +++ b/Aucma.Core.SheetMetal/ViewModels/SplitPlanViewModel.cs @@ -49,7 +49,7 @@ namespace Aucma.Core.SheetMetal.ViewModels MaterialDataGrid.Clear(); int i = 1; string station = Appsettings.app("StationInfo", "StationCode"); - var planlist = _productPlanInfoServices.Query(d => d.ProductLineCode.Equals(station)); + var planlist = _productPlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(station)).Result; if (planlist == null) return ; var execList = await _executePlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(station)); if (execList == null) return; diff --git a/Aucma.Core.SheetMetal/ViewModels/StatisticsPageViewModel.cs b/Aucma.Core.SheetMetal/ViewModels/StatisticsPageViewModel.cs index 579a33bf..9a548c4c 100644 --- a/Aucma.Core.SheetMetal/ViewModels/StatisticsPageViewModel.cs +++ b/Aucma.Core.SheetMetal/ViewModels/StatisticsPageViewModel.cs @@ -11,6 +11,9 @@ using System.Windows; using Admin.Core.IService; using Admin.Core.Service; using Microsoft.Extensions.DependencyInjection; +using Admin.Core.Model; +using StackExchange.Profiling.Internal; +using Admin.Core.Common; namespace Aucma.Core.SheetMetal.ViewModels { @@ -18,23 +21,30 @@ namespace Aucma.Core.SheetMetal.ViewModels { List materialComplateInfos = new List(); protected readonly IProductPlanInfoServices? _productPlanInfoServices; - + protected readonly IRecordSidePanelComplateServices _sidePanelComplateServices; + protected readonly IRecordBackPanelComplateServices _backPanelComplateServices; + protected readonly IExecutePlanInfoServices? _executePlanInfoServices; public StatisticsPageViewModel() { _productPlanInfoServices = App.ServiceProvider.GetService(); - Task.Run(async () => - { - await LoadData(); - }); + _sidePanelComplateServices = App.ServiceProvider.GetService(); + _backPanelComplateServices = App.ServiceProvider.GetService(); + _executePlanInfoServices = App.ServiceProvider.GetService(); + + Task.WaitAll(LoadData()); } #region 加载DataGrid数据 private async Task LoadData() { - var list = (await _productPlanInfoServices.QueryAsync(d=>d.ProductLineCode=="1001")).Take(1000); + string station = Appsettings.app("StationInfo", "StationCode"); + var list = _productPlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(station)).Result; + var sidePanelComplateList = _sidePanelComplateServices.QueryAsync(d => d.ProductlineCode == "1001").Result; int i = 1; foreach (var item in list) { + int sidePanelComplete = GetSidePanelCompleteData(sidePanelComplateList, item.OrderCode, "1001"); + int backPanelComplete = GetBackPanelCompleteData(sidePanelComplateList, item.OrderCode, "1001"); MaterialDataGrid.Add(new MaterialComplateInfo() { No = i, ProductPlanCode = item.PlanCode, @@ -42,9 +52,12 @@ namespace Aucma.Core.SheetMetal.ViewModels MaterialName = item.MaterialName, PlanAmount = item.PlanAmount, CompleteAmount = item.CompleteAmount, + SidePanelComplete = sidePanelComplete, + BackPanelComplete = backPanelComplete, BeginTime = item.BeginTime.ToString(), EndTime = item.EndTime.ToString(), - }); + Status= item.CompleteAmount== item.PlanAmount?"完成":"未完成" + }); i++; } } @@ -90,7 +103,8 @@ namespace Aucma.Core.SheetMetal.ViewModels var beginTime =DateTime.Parse(result.BeginTime); var endTime = DateTime.Parse(result.EndTime); MaterialDataGrid.Clear(); - var list = await _productPlanInfoServices.QueryAsync(d => d.ProductLineCode == "1001"); + string station = Appsettings.app("StationInfo", "StationCode"); + var list = _productPlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(station)).Result; foreach (var item in list.Where(d=>d.BeginTime> beginTime&& d.EndTime < endTime)) { MaterialDataGrid.Add(new MaterialComplateInfo() @@ -111,6 +125,44 @@ namespace Aucma.Core.SheetMetal.ViewModels LoadData(); } } - #endregion + #endregion + + + /// + /// 围板完成数量 + /// + /// + /// 订单 + /// 工位 + /// + public int GetSidePanelCompleteData(List sidePanelComplate, string orderCode, string productLineCode) + { + try + { + var execList = _executePlanInfoServices.QueryAsync(d => d.OrderCode == orderCode && d.ProductPlanCode == productLineCode).Result; + List taskCodeList = execList.Select(x => x.TaskCode).ToList(); + var list = _sidePanelComplateServices.QueryAsync(d => taskCodeList.Contains(d.PlanCode)).Result; + return list.Count; + } + catch (Exception) + { + return 0; + } + } + + public int GetBackPanelCompleteData(List sidePanelComplate, string orderCode, string productLineCode) + { + try + { + var execList = _executePlanInfoServices.QueryAsync(d => d.OrderCode == orderCode && d.ProductPlanCode == productLineCode).Result; + List taskCodeList = execList.Select(x => x.TaskCode).ToList(); + var list = _backPanelComplateServices.QueryAsync(d => taskCodeList.Contains(d.PlanCode)).Result; + return list.Count; + } + catch (Exception) + { + return 0; + } + } } } diff --git a/Aucma.Core.SheetMetal/Views/LogPageView.xaml b/Aucma.Core.SheetMetal/Views/LogPageView.xaml index 6f48d38a..11d82007 100644 --- a/Aucma.Core.SheetMetal/Views/LogPageView.xaml +++ b/Aucma.Core.SheetMetal/Views/LogPageView.xaml @@ -18,7 +18,7 @@ - + diff --git a/Aucma.Core.SheetMetal/Views/StatisticsPageView.xaml b/Aucma.Core.SheetMetal/Views/StatisticsPageView.xaml index 65a9b98c..0f150dcb 100644 --- a/Aucma.Core.SheetMetal/Views/StatisticsPageView.xaml +++ b/Aucma.Core.SheetMetal/Views/StatisticsPageView.xaml @@ -121,7 +121,7 @@ + + + 门体发泡记录 + + + + + 主键 + + + + + 台车编号 + + + + + 枪号 + + + + + 模位状态;0=>不工作,1=>A门工作;2=>B门工作;3=>AB门工作 + + + + + 模位类型 + + + + + 模具产量A + + + + + 模具产量B + + + + + 创建时间 + + 门体发泡记录 @@ -2067,7 +2112,7 @@ - + 灌注 @@ -2121,44 +2166,49 @@ 主键 - + - 箱体吗 + 实际灌注量 - + - 冷媒类型;左侧冷媒型号 + 灌注压力_R - + - 冷媒类型;右侧侧冷媒型号 + 灌注压力_L - + - 设置灌注量 + 灌注时长 - + - 实际灌注量 + 产量 - + - 灌注压力_R + 箱体码 - + - 灌注压力_L + 冷媒类型;左侧冷媒型号 - + - 灌注时长 + 冷媒类型;右侧侧冷媒型号 + + + + + 设置灌注量 @@ -2171,6 +2221,11 @@ 灌注结果 + + + 灌注完成状态字 + + 创建人 diff --git a/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.dgspec.json b/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.dgspec.json index 0a98b80a..fe5e8758 100644 --- a/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.dgspec.json +++ b/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.dgspec.json @@ -1,41 +1,46 @@ { "format": 1, "restore": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj": {} + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj": {} }, "projects": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj", "projectName": "Admin.Core.Api", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Api\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj" } } } @@ -78,36 +83,41 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj", "projectName": "Admin.Core.Common", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj" } } } @@ -263,36 +273,41 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj", "projectName": "Admin.Core.EventBus", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.EventBus\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" } } } @@ -332,60 +347,65 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj", "projectName": "Admin.Core.Extensions", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Extensions\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj" } } } @@ -421,39 +441,44 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj", "projectName": "Admin.Core.IRepository", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj" } } } @@ -483,39 +508,44 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj", "projectName": "Admin.Core.IService", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj" } } } @@ -545,36 +575,41 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj", "projectName": "Admin.Core.Model", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" } } } @@ -604,36 +639,41 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj", "projectName": "Admin.Core.Repository", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Repository\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj" } } } @@ -663,29 +703,34 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj", "projectName": "Admin.Core.Serilog.Es", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Serilog.Es\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { @@ -748,42 +793,47 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj", "projectName": "Admin.Core.Service", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj" } } } @@ -813,48 +863,53 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj", "projectName": "Admin.Core.Tasks", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Tasks\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj" } } } @@ -890,29 +945,34 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj", "projectName": "Aucma.Core.HwPLc", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "netstandard2.1" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "netstandard2.1": { @@ -951,29 +1011,34 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj", "projectName": "Aucma.Core.PLc", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.PLc\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "netstandard2.1" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "netstandard2.1": { @@ -1012,39 +1077,44 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj", "projectName": "Aucma.Core.RunPlc", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.RunPlc\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj" } } } @@ -1074,36 +1144,41 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj", "projectName": "Aucma.Core.ScannerGun", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.ScannerGun\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" } } } @@ -1139,36 +1214,41 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj", "projectName": "Aucma.Core.Scanner", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Scanner\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" } } } @@ -1204,42 +1284,47 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj": { + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj", "projectName": "Aucma.Core.Tasks", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.Tasks\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj" + "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj" }, - "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj" + "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj": { + "projectPath": "E:\\桌面\\AUCMA_SCADA\\Aucma.Core.HwPLc\\Aucma.Core.HwPLc.csproj" } } } @@ -1269,7 +1354,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } } diff --git a/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.g.props b/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.g.props index a5a55588..15920027 100644 --- a/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.g.props +++ b/Admin.Core.Api/obj/Admin.Core.Api.csproj.nuget.g.props @@ -5,18 +5,20 @@ NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\admin\.nuget\packages\ + C:\Users\Lenovo\.nuget\packages\;D:\开发工具\Visual Studio 2019\Shared\NuGetPackages;C:\Program Files\dotnet\sdk\NuGetFallbackFolder PackageReference - 6.7.0 + 6.5.0 - + + + - C:\Users\admin\.nuget\packages\microsoft.extensions.apidescription.server\3.0.0 + C:\Users\Lenovo\.nuget\packages\microsoft.extensions.apidescription.server\3.0.0 \ No newline at end of file diff --git a/Admin.Core.Api/obj/Debug/net6.0/Admin.Core.Api.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.Api/obj/Debug/net6.0/Admin.Core.Api.GeneratedMSBuildEditorConfig.editorconfig index 601c80d9..d1d06cea 100644 --- a/Admin.Core.Api/obj/Debug/net6.0/Admin.Core.Api.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.Api/obj/Debug/net6.0/Admin.Core.Api.GeneratedMSBuildEditorConfig.editorconfig @@ -9,9 +9,9 @@ build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.Api build_property.RootNamespace = Admin.Core.Api -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Api\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.Api\ build_property.RazorLangVersion = 6.0 build_property.SupportLocalizedComponentNames = build_property.GenerateRazorMetadataSourceChecksumAttributes = -build_property.MSBuildProjectDirectory = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Api +build_property.MSBuildProjectDirectory = E:\桌面\AUCMA_SCADA\Admin.Core.Api build_property._RazorSourceGeneratorDebug = 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 d57995efc7954aaf5f62c45db37abc2783259951..d8850da534819b613f49f14b373f108fc9d2c5c0 100644 GIT binary patch delta 20387 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 + /// IDoorMateHistoryServices + /// + public interface IDoorFoamMachineServices : IBaseServices + { + } +} \ No newline at end of file diff --git a/Admin.Core.IService/obj/Debug/net6.0/Admin.Core.IService.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.IService/obj/Debug/net6.0/Admin.Core.IService.GeneratedMSBuildEditorConfig.editorconfig index ba998751..1e7c9f10 100644 --- a/Admin.Core.IService/obj/Debug/net6.0/Admin.Core.IService.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.IService/obj/Debug/net6.0/Admin.Core.IService.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.IService -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.IService\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.IService\ diff --git a/Admin.Core.Model/Model_New/DoorFoamMachine.cs b/Admin.Core.Model/Model_New/DoorFoamMachine.cs new file mode 100644 index 00000000..1bb0eb5f --- /dev/null +++ b/Admin.Core.Model/Model_New/DoorFoamMachine.cs @@ -0,0 +1,81 @@ +using NPOI.SS.Formula.Functions; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.Model +{ + /// + /// 门体发泡记录 + /// + [SugarTable("DOOR_FOAMREMACHINE", "AUCMA_SCADA")] + public class DoorFoamMachine + { + /// + /// 主键 + /// + [SugarColumn(ColumnName = "OBJ_ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_DOOR_FOAMREMACHINE")] + public int ObjId { get; set; } + + /// + /// 台车编号 + /// + [SugarColumn(ColumnName = "STATIONTROLLEYNUMBER")] + public int StationTrolleyNumber { get; set; } + + /// + /// 枪号 + /// + [SugarColumn(ColumnName = "GUNNUMBER")] + public int GunNumber { get; set; } + + /// + /// 模位状态;0=>不工作,1=>A门工作;2=>B门工作;3=>AB门工作 + /// + [SugarColumn(ColumnName = "MOLDSTATUS")] + public string MoldStatus { get; set; } + + [SugarColumn(ColumnName = "MOLDTYPEA")] + public string MoldType_A { get; set; } + + /// + /// 模位类型 + /// + [SugarColumn(ColumnName = "MOLDTYPEB")] + public string MoldType_B { get; set; } + + + /// + /// 模具产量A + /// + [SugarColumn(ColumnName = "MOLDPRODUCTIONA")] + public string MoldProdutionA { get; set; } + + /// + /// 模具产量B + /// + [SugarColumn(ColumnName = "MOLDPRODUCTIONB")] + public string MoldProdutionB { get; set; } + + [SugarColumn(ColumnName = "DEVICESTATUS")] + public int DeviceStatus { get;set; } + + [SugarColumn(ColumnName = "DEVICEALARM")] + public int DeviceAlarm { get; set; } + + [SugarColumn(ColumnName = "PRODUCTTAKT")] + public double ProductTakt { get; set; } + + [SugarColumn(ColumnName = "TAKT")] + public double Takt { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "CREATED_TIME")] + public DateTime? CreateTime { get; set; } + } +} diff --git a/Admin.Core.Model/obj/Debug/net6.0/Admin.Core.Model.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.Model/obj/Debug/net6.0/Admin.Core.Model.GeneratedMSBuildEditorConfig.editorconfig index f17e3fdc..173f98e4 100644 --- a/Admin.Core.Model/obj/Debug/net6.0/Admin.Core.Model.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.Model/obj/Debug/net6.0/Admin.Core.Model.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.Model -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Model\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.Model\ diff --git a/Admin.Core.RealTimeService/obj/Debug/net6.0/Admin.Core.RealTimeService.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.RealTimeService/obj/Debug/net6.0/Admin.Core.RealTimeService.GeneratedMSBuildEditorConfig.editorconfig index ce84cb9f..abc27d01 100644 --- a/Admin.Core.RealTimeService/obj/Debug/net6.0/Admin.Core.RealTimeService.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.RealTimeService/obj/Debug/net6.0/Admin.Core.RealTimeService.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.RealTimeService -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.RealTimeService\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.RealTimeService\ diff --git a/Admin.Core.Repository/obj/Debug/net6.0/Admin.Core.Repository.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.Repository/obj/Debug/net6.0/Admin.Core.Repository.GeneratedMSBuildEditorConfig.editorconfig index 41538400..67886d71 100644 --- a/Admin.Core.Repository/obj/Debug/net6.0/Admin.Core.Repository.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.Repository/obj/Debug/net6.0/Admin.Core.Repository.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.Repository -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Repository\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.Repository\ diff --git a/Admin.Core.Serilog.Es/obj/Debug/net6.0/Admin.Core.Serilog.Es.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.Serilog.Es/obj/Debug/net6.0/Admin.Core.Serilog.Es.GeneratedMSBuildEditorConfig.editorconfig index a581a844..a3d7d5ba 100644 --- a/Admin.Core.Serilog.Es/obj/Debug/net6.0/Admin.Core.Serilog.Es.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.Serilog.Es/obj/Debug/net6.0/Admin.Core.Serilog.Es.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.Serilog.Es -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Serilog.Es\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.Serilog.Es\ diff --git a/Admin.Core.Service/Service_New/DoorFoamMachineServices.cs b/Admin.Core.Service/Service_New/DoorFoamMachineServices.cs new file mode 100644 index 00000000..df469186 --- /dev/null +++ b/Admin.Core.Service/Service_New/DoorFoamMachineServices.cs @@ -0,0 +1,16 @@ +using Admin.Core.IRepository; +using Admin.Core.IService; +using Admin.Core.Model; + +namespace Admin.Core.Service +{ + public class DoorFoamMachineServices : BaseServices, IDoorFoamMachineServices + { + private readonly IBaseRepository _dal; + public DoorFoamMachineServices(IBaseRepository dal) + { + this._dal = dal; + base.BaseDal = dal; + } + } +} diff --git a/Admin.Core.Service/obj/Debug/net6.0/Admin.Core.Service.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.Service/obj/Debug/net6.0/Admin.Core.Service.GeneratedMSBuildEditorConfig.editorconfig index 19486c3e..9c6bffa2 100644 --- a/Admin.Core.Service/obj/Debug/net6.0/Admin.Core.Service.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.Service/obj/Debug/net6.0/Admin.Core.Service.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.Service -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Service\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.Service\ diff --git a/Admin.Core.Tasks/obj/Debug/net6.0/Admin.Core.Tasks.GeneratedMSBuildEditorConfig.editorconfig b/Admin.Core.Tasks/obj/Debug/net6.0/Admin.Core.Tasks.GeneratedMSBuildEditorConfig.editorconfig index d114eba8..48679c0e 100644 --- a/Admin.Core.Tasks/obj/Debug/net6.0/Admin.Core.Tasks.GeneratedMSBuildEditorConfig.editorconfig +++ b/Admin.Core.Tasks/obj/Debug/net6.0/Admin.Core.Tasks.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Admin.Core.Tasks -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Tasks\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\Admin.Core.Tasks\ diff --git a/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj b/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj index 18b7ed36..a97a48e9 100644 --- a/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj +++ b/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj @@ -1,7 +1,7 @@  - WinExe + Exe net6.0-windows enable true diff --git a/Aucma.Core.DoorFoam/Business/DoorCollection.cs b/Aucma.Core.DoorFoam/Business/DoorCollection.cs index 5504026e..a5d4ccdb 100644 --- a/Aucma.Core.DoorFoam/Business/DoorCollection.cs +++ b/Aucma.Core.DoorFoam/Business/DoorCollection.cs @@ -1,7 +1,13 @@ -using Admin.Core.Common.Helper; +using Admin.Core.Common; +using Admin.Core.Common.Helper; +using Admin.Core.IService; +using Admin.Core.Model; using Aucma.Core.HwPLc; +using Microsoft.Extensions.DependencyInjection; using NetTaste; +using NPOI.SS.Formula.Functions; using NPOI.Util; +using SqlSugar; using System; using System.Collections.Generic; using System.DirectoryServices.Protocols; @@ -19,163 +25,607 @@ namespace Aucma.Core.DoorFoam.Business /// public class DoorCollection { - // public delegate Task RefreshBoxFoamDataDelegate(List list); - - private static System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); - // public static List listFixtureStatus = new List(); + private IDoorFoamMachineServices _doorFoamMachineServices; + + /// + /// 刷新门体发泡数据 + /// + /// + public delegate void RefreshDoorFoamMachine(List doorFoams); + public event RefreshDoorFoamMachine RefreshDoorFoamMachineEvent; - public static List BoxTypeList = new List(); - public static List HolderStatusList = new List(); - public static List HolderOutPutList = new List(); - public static List SolidifyTimeList = new List(); - public static List ActualTimeList = new List(); - public static List MoldTemperatureList = new List(); - public static List ProductionCycleList = new List(); - Semaphore semaphore = new Semaphore(1, 1); public DoorCollection() { - startCollect(); + + _doorFoamMachineServices = App.ServiceProvider.GetService(); } public void startCollect() { - Task.Run(() => + while (true) { - while (true) + //semaphore.WaitOne(); + try { - semaphore.WaitOne(); - try + Thread.Sleep(5000); + + var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("DoorPlc")); + + if (obj != null) { - Thread.Sleep(3000); - - var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("门体发泡Plc")); - - if (obj != null) - { - //BoxTypeList.Clear(); - ReadModeStatus(obj, BoxTypeList); - // 1-5 6-10 11-15 16-20 21-25 25-30 - ReadModeType(obj, "DB4.142", BoxTypeList); - ReadModeType(obj, "DB4.342", BoxTypeList); - ReadModeType(obj, "DB4.542", BoxTypeList); - ReadModeType(obj, "DB4.742", BoxTypeList); - ReadModeType(obj, "DB4.942", BoxTypeList); - ReadModeType(obj, "DB4.1142", BoxTypeList); - // 31-34 - ReadModeTypeLast(obj, "DB4.1342", BoxTypeList); - - ReadModeProduct(obj, "DB4.1542", BoxTypeList); - ReadModeProduct(obj, "DB4.1702", BoxTypeList); - ReadModeProduct(obj, "DB4.1862", BoxTypeList); - // 31-34 - ReadModeProductLast(obj, "DB4.2022", BoxTypeList); - - ReadEquipStatusAndCycle(obj,BoxTypeList); - ReadWarnInfo(obj, BoxTypeList); + //读取所有模具状态 + List moldStatusList = ReadModeStatus(obj); + //读取所有模具型号 + List moldTypeList = ReadModeType(obj); + //读取所有模具产量 + List moldOutPutList = ReadModeProduct(obj); + + + #region 读取设备状态(1运行 2停机 3故障)、生产节拍、节拍、设备报警 + byte[] info = obj.plc.Read("DB4.2086", 10); + int deviceStatus = 0; + float productTakt = 0; + float taktNum = 0; + if (info != null) + { + //设备状态1运行 2停机 3故障 + deviceStatus = judgeStatus(ByteArrayToBinary(info.Skip(0).Take(1).ToArray())); + // 生产节拍 + productTakt = byteToFloat(info.Skip(2).Take(4).ToArray()); + //节拍 + taktNum = byteToFloat(info.Skip(6).Take(4).ToArray()); } - } - catch (Exception) - { - throw; - } - finally - { - semaphore.Release(); + int deviceAlarm = obj.plc.ReadInt32("DB4.2136"); + #endregion + + List result = new List(); + + var mergedCollection = from moldStatus in moldStatusList + join moldType in moldTypeList on new { moldStatus.StationTrolleyNumber, moldStatus.GunNumber } equals new { moldType.StationTrolleyNumber, moldType.GunNumber } + join moldOutPut in moldOutPutList on new { moldStatus.StationTrolleyNumber, moldStatus.GunNumber } equals new { moldOutPut.StationTrolleyNumber, moldOutPut.GunNumber } + select new DoorFoamMachine + { + StationTrolleyNumber = moldStatus.StationTrolleyNumber, + GunNumber = moldStatus.GunNumber, + MoldType_A = moldType.MoldType_A, + MoldType_B = moldType.MoldType_B, + MoldProdutionA = moldOutPut.MoldProdutionA, + MoldProdutionB = moldOutPut.MoldProdutionB, + DeviceStatus = deviceStatus, + DeviceAlarm = deviceAlarm, + ProductTakt = productTakt, + Takt = taktNum, + CreateTime = DateTime.Now + }; + result = mergedCollection.ToList(); + if(result != null) + { + RefreshDoorFoamMachineEvent?.Invoke(result); + + var addFlag = _doorFoamMachineServices.AddAsync(result).Result; + } + } } - }); + catch (Exception ex) + { + + Console.WriteLine($"门体发泡数据采集异常:{ex.Message}"); + } + } } /// /// 读取模位状态 /// - static void ReadModeStatus(HwPLc.PlcModel obj, List boxTypeList) + static List ReadModeStatus(HwPLc.PlcModel obj) { - if (obj == null) return; + if (obj == null) return null; else { + List doorFoams = new List(); if (obj.plc.IsConnected) { + byte[] info = obj.plc.Read("DB4.0", 142); - if (info == null) return; - ///出模工位台车号,上料工位台车号,注料工位台车号 - short tempNo1 = short.Parse(StringChange.bytesToHexStr(info.Skip(0).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short tempNo2 = short.Parse(StringChange.bytesToHexStr(info.Skip(2).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short tempNo3 = short.Parse(StringChange.bytesToHexStr(info.Skip(4).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - //模位状态,台车1#枪模式:0,不工作;1,A门工作;2,B门工作;3,AB门工作 - short temp1 = short.Parse(StringChange.bytesToHexStr(info.Skip(6).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp2 = short.Parse(StringChange.bytesToHexStr(info.Skip(8).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp3 = short.Parse(StringChange.bytesToHexStr(info.Skip(10).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp4 = short.Parse(StringChange.bytesToHexStr(info.Skip(12).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp5 = short.Parse(StringChange.bytesToHexStr(info.Skip(14).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp6 = short.Parse(StringChange.bytesToHexStr(info.Skip(16).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp7 = short.Parse(StringChange.bytesToHexStr(info.Skip(18).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp8 = short.Parse(StringChange.bytesToHexStr(info.Skip(20).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp9 = short.Parse(StringChange.bytesToHexStr(info.Skip(22).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp10 = short.Parse(StringChange.bytesToHexStr(info.Skip(24).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp11 = short.Parse(StringChange.bytesToHexStr(info.Skip(26).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp12 = short.Parse(StringChange.bytesToHexStr(info.Skip(28).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp13 = short.Parse(StringChange.bytesToHexStr(info.Skip(30).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp14 = short.Parse(StringChange.bytesToHexStr(info.Skip(32).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp15 = short.Parse(StringChange.bytesToHexStr(info.Skip(34).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp16 = short.Parse(StringChange.bytesToHexStr(info.Skip(36).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp17 = short.Parse(StringChange.bytesToHexStr(info.Skip(38).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp18 = short.Parse(StringChange.bytesToHexStr(info.Skip(40).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp19 = short.Parse(StringChange.bytesToHexStr(info.Skip(42).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp20 = short.Parse(StringChange.bytesToHexStr(info.Skip(44).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp21 = short.Parse(StringChange.bytesToHexStr(info.Skip(46).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp22 = short.Parse(StringChange.bytesToHexStr(info.Skip(48).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp23 = short.Parse(StringChange.bytesToHexStr(info.Skip(50).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp24 = short.Parse(StringChange.bytesToHexStr(info.Skip(52).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp25 = short.Parse(StringChange.bytesToHexStr(info.Skip(54).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp26 = short.Parse(StringChange.bytesToHexStr(info.Skip(56).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp27 = short.Parse(StringChange.bytesToHexStr(info.Skip(58).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp28 = short.Parse(StringChange.bytesToHexStr(info.Skip(60).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp29 = short.Parse(StringChange.bytesToHexStr(info.Skip(62).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp30 = short.Parse(StringChange.bytesToHexStr(info.Skip(64).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp31 = short.Parse(StringChange.bytesToHexStr(info.Skip(66).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp32 = short.Parse(StringChange.bytesToHexStr(info.Skip(68).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp33 = short.Parse(StringChange.bytesToHexStr(info.Skip(70).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp34 = short.Parse(StringChange.bytesToHexStr(info.Skip(72).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp35 = short.Parse(StringChange.bytesToHexStr(info.Skip(74).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp36 = short.Parse(StringChange.bytesToHexStr(info.Skip(76).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp37 = short.Parse(StringChange.bytesToHexStr(info.Skip(78).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp38 = short.Parse(StringChange.bytesToHexStr(info.Skip(80).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp39 = short.Parse(StringChange.bytesToHexStr(info.Skip(82).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp40 = short.Parse(StringChange.bytesToHexStr(info.Skip(84).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp41 = short.Parse(StringChange.bytesToHexStr(info.Skip(86).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp42 = short.Parse(StringChange.bytesToHexStr(info.Skip(88).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp43 = short.Parse(StringChange.bytesToHexStr(info.Skip(90).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp44 = short.Parse(StringChange.bytesToHexStr(info.Skip(92).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp45 = short.Parse(StringChange.bytesToHexStr(info.Skip(94).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp46 = short.Parse(StringChange.bytesToHexStr(info.Skip(96).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp47 = short.Parse(StringChange.bytesToHexStr(info.Skip(98).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp48 = short.Parse(StringChange.bytesToHexStr(info.Skip(100).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp49 = short.Parse(StringChange.bytesToHexStr(info.Skip(102).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp50 = short.Parse(StringChange.bytesToHexStr(info.Skip(104).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp51 = short.Parse(StringChange.bytesToHexStr(info.Skip(106).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp52 = short.Parse(StringChange.bytesToHexStr(info.Skip(108).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp53 = short.Parse(StringChange.bytesToHexStr(info.Skip(110).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp54 = short.Parse(StringChange.bytesToHexStr(info.Skip(112).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp55 = short.Parse(StringChange.bytesToHexStr(info.Skip(114).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp56 = short.Parse(StringChange.bytesToHexStr(info.Skip(116).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp57 = short.Parse(StringChange.bytesToHexStr(info.Skip(118).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp58 = short.Parse(StringChange.bytesToHexStr(info.Skip(120).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp59 = short.Parse(StringChange.bytesToHexStr(info.Skip(122).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp60 = short.Parse(StringChange.bytesToHexStr(info.Skip(124).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp61 = short.Parse(StringChange.bytesToHexStr(info.Skip(126).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp62 = short.Parse(StringChange.bytesToHexStr(info.Skip(128).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp63 = short.Parse(StringChange.bytesToHexStr(info.Skip(130).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp64 = short.Parse(StringChange.bytesToHexStr(info.Skip(132).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp65 = short.Parse(StringChange.bytesToHexStr(info.Skip(134).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp66 = short.Parse(StringChange.bytesToHexStr(info.Skip(136).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp67 = short.Parse(StringChange.bytesToHexStr(info.Skip(138).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - short temp68 = short.Parse(StringChange.bytesToHexStr(info.Skip(140).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - Console.WriteLine(temp68); + if(info != null) + { + ///出模工位台车号,上料工位台车号,注料工位台车号 + short tempNo1 = short.Parse(StringChange.bytesToHexStr(info.Skip(0).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + + short tempNo2 = short.Parse(StringChange.bytesToHexStr(info.Skip(2).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + + short tempNo3 = short.Parse(StringChange.bytesToHexStr(info.Skip(4).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + + //模位状态,台车1#枪模式:0,不工作;1,A门工作;2,B门工作;3,AB门工作 + #region 读取模具状态 + short temp1 = short.Parse(StringChange.bytesToHexStr(info.Skip(6).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =1, + GunNumber =1, + MoldStatus = temp1.ToString(), + }); + + short temp2 = short.Parse(StringChange.bytesToHexStr(info.Skip(8).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =1, + GunNumber =2, + MoldStatus = temp2.ToString(), + }); + short temp3 = short.Parse(StringChange.bytesToHexStr(info.Skip(10).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =2, + GunNumber =1, + MoldStatus = temp3.ToString(), + }); + short temp4 = short.Parse(StringChange.bytesToHexStr(info.Skip(12).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =2, + GunNumber =2, + MoldStatus = temp4.ToString(), + }); + short temp5 = short.Parse(StringChange.bytesToHexStr(info.Skip(14).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =3, + GunNumber =1, + MoldStatus = temp5.ToString(), + }); + short temp6 = short.Parse(StringChange.bytesToHexStr(info.Skip(16).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =3, + GunNumber =2, + MoldStatus = temp6.ToString(), + }); + short temp7 = short.Parse(StringChange.bytesToHexStr(info.Skip(18).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =4, + GunNumber =1, + MoldStatus = temp7.ToString(), + }); + short temp8 = short.Parse(StringChange.bytesToHexStr(info.Skip(20).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =4, + GunNumber =2, + MoldStatus = temp8.ToString(), + }); + short temp9 = short.Parse(StringChange.bytesToHexStr(info.Skip(22).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =5, + GunNumber =1, + MoldStatus = temp9.ToString(), + }); + short temp10 = short.Parse(StringChange.bytesToHexStr(info.Skip(24).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =5, + GunNumber =2, + MoldStatus = temp10.ToString(), + }); + short temp11 = short.Parse(StringChange.bytesToHexStr(info.Skip(26).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =6, + GunNumber =1, + MoldStatus = temp11.ToString(), + }); + short temp12 = short.Parse(StringChange.bytesToHexStr(info.Skip(28).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =6, + GunNumber =2, + MoldStatus = temp12.ToString(), + }); + short temp13 = short.Parse(StringChange.bytesToHexStr(info.Skip(30).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =7, + GunNumber =1, + MoldStatus = temp13.ToString(), + }); + short temp14 = short.Parse(StringChange.bytesToHexStr(info.Skip(32).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =7, + GunNumber =2, + MoldStatus = temp14.ToString(), + }); + short temp15 = short.Parse(StringChange.bytesToHexStr(info.Skip(34).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =8, + GunNumber =1, + MoldStatus = temp15.ToString(), + }); + short temp16 = short.Parse(StringChange.bytesToHexStr(info.Skip(36).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =8, + GunNumber =2, + MoldStatus = temp16.ToString(), + }); + short temp17 = short.Parse(StringChange.bytesToHexStr(info.Skip(38).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =9, + GunNumber =1, + MoldStatus = temp17.ToString(), + }); + short temp18 = short.Parse(StringChange.bytesToHexStr(info.Skip(40).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =9, + GunNumber =2, + MoldStatus = temp18.ToString(), + }); + short temp19 = short.Parse(StringChange.bytesToHexStr(info.Skip(42).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =10, + GunNumber =1, + MoldStatus = temp19.ToString(), + }); + short temp20 = short.Parse(StringChange.bytesToHexStr(info.Skip(44).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =10, + GunNumber =2, + MoldStatus = temp20.ToString(), + }); + short temp21 = short.Parse(StringChange.bytesToHexStr(info.Skip(46).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =11, + GunNumber =1, + MoldStatus = temp21.ToString(), + }); + short temp22 = short.Parse(StringChange.bytesToHexStr(info.Skip(48).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =11, + GunNumber =2, + MoldStatus = temp22.ToString(), + }); + short temp23 = short.Parse(StringChange.bytesToHexStr(info.Skip(50).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =12, + GunNumber =1, + MoldStatus = temp23.ToString(), + }); + short temp24 = short.Parse(StringChange.bytesToHexStr(info.Skip(52).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =12, + GunNumber =2, + MoldStatus = temp24.ToString(), + }); + short temp25 = short.Parse(StringChange.bytesToHexStr(info.Skip(54).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =13, + GunNumber =1, + MoldStatus = temp25.ToString(), + }); + short temp26 = short.Parse(StringChange.bytesToHexStr(info.Skip(56).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =13, + GunNumber =2, + MoldStatus = temp26.ToString(), + }); + short temp27 = short.Parse(StringChange.bytesToHexStr(info.Skip(58).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =14, + GunNumber =1, + MoldStatus = temp27.ToString(), + }); + short temp28 = short.Parse(StringChange.bytesToHexStr(info.Skip(60).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =14, + GunNumber =2, + MoldStatus = temp28.ToString(), + }); + short temp29 = short.Parse(StringChange.bytesToHexStr(info.Skip(62).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =15, + GunNumber =1, + MoldStatus = temp29.ToString(), + }); + short temp30 = short.Parse(StringChange.bytesToHexStr(info.Skip(64).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =15, + GunNumber =2, + MoldStatus = temp30.ToString(), + }); + short temp31 = short.Parse(StringChange.bytesToHexStr(info.Skip(66).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =16, + GunNumber =1, + MoldStatus = temp31.ToString(), + }); + short temp32 = short.Parse(StringChange.bytesToHexStr(info.Skip(68).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =16, + GunNumber =2, + MoldStatus = temp32.ToString(), + }); + short temp33 = short.Parse(StringChange.bytesToHexStr(info.Skip(70).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =17, + GunNumber =1, + MoldStatus = temp33.ToString(), + }); + short temp34 = short.Parse(StringChange.bytesToHexStr(info.Skip(72).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =17, + GunNumber =2, + MoldStatus = temp34.ToString(), + }); + short temp35 = short.Parse(StringChange.bytesToHexStr(info.Skip(74).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =18, + GunNumber =1, + MoldStatus = temp35.ToString(), + }); + short temp36 = short.Parse(StringChange.bytesToHexStr(info.Skip(76).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =18, + GunNumber =2, + MoldStatus = temp36.ToString(), + }); + short temp37 = short.Parse(StringChange.bytesToHexStr(info.Skip(78).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =19, + GunNumber =1, + MoldStatus = temp37.ToString(), + }); + short temp38 = short.Parse(StringChange.bytesToHexStr(info.Skip(80).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =19, + GunNumber =2, + MoldStatus = temp38.ToString(), + }); + short temp39 = short.Parse(StringChange.bytesToHexStr(info.Skip(82).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =20, + GunNumber =1, + MoldStatus = temp39.ToString(), + }); + short temp40 = short.Parse(StringChange.bytesToHexStr(info.Skip(84).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =20, + GunNumber =2, + MoldStatus = temp40.ToString(), + }); + short temp41 = short.Parse(StringChange.bytesToHexStr(info.Skip(86).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =21, + GunNumber =1, + MoldStatus = temp41.ToString(), + }); + short temp42 = short.Parse(StringChange.bytesToHexStr(info.Skip(88).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =21, + GunNumber =2, + MoldStatus = temp42.ToString(), + }); + short temp43 = short.Parse(StringChange.bytesToHexStr(info.Skip(90).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =22, + GunNumber =1, + MoldStatus = temp43.ToString(), + }); + short temp44 = short.Parse(StringChange.bytesToHexStr(info.Skip(92).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =22, + GunNumber =2, + MoldStatus = temp44.ToString(), + }); + short temp45 = short.Parse(StringChange.bytesToHexStr(info.Skip(94).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =23, + GunNumber =1, + MoldStatus = temp45.ToString(), + }); + short temp46 = short.Parse(StringChange.bytesToHexStr(info.Skip(96).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =23, + GunNumber =2, + MoldStatus = temp46.ToString(), + }); + short temp47 = short.Parse(StringChange.bytesToHexStr(info.Skip(98).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =24, + GunNumber =1, + MoldStatus = temp47.ToString(), + }); + short temp48 = short.Parse(StringChange.bytesToHexStr(info.Skip(100).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =24, + GunNumber =2, + MoldStatus = temp48.ToString(), + }); + short temp49 = short.Parse(StringChange.bytesToHexStr(info.Skip(102).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =25, + GunNumber =1, + MoldStatus = temp49.ToString(), + }); + short temp50 = short.Parse(StringChange.bytesToHexStr(info.Skip(104).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =25, + GunNumber =2, + MoldStatus = temp50.ToString(), + }); + short temp51 = short.Parse(StringChange.bytesToHexStr(info.Skip(106).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =26, + GunNumber =1, + MoldStatus = temp51.ToString(), + }); + short temp52 = short.Parse(StringChange.bytesToHexStr(info.Skip(108).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =26, + GunNumber =2, + MoldStatus = temp52.ToString(), + }); + short temp53 = short.Parse(StringChange.bytesToHexStr(info.Skip(110).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =27, + GunNumber =1, + MoldStatus = temp53.ToString(), + }); + short temp54 = short.Parse(StringChange.bytesToHexStr(info.Skip(112).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =27, + GunNumber =2, + MoldStatus = temp54.ToString(), + }); + short temp55 = short.Parse(StringChange.bytesToHexStr(info.Skip(114).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =28, + GunNumber =1, + MoldStatus = temp55.ToString(), + }); + short temp56 = short.Parse(StringChange.bytesToHexStr(info.Skip(116).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =28, + GunNumber =2, + MoldStatus = temp56.ToString(), + }); + short temp57 = short.Parse(StringChange.bytesToHexStr(info.Skip(118).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =29, + GunNumber =1, + MoldStatus = temp57.ToString(), + }); + short temp58 = short.Parse(StringChange.bytesToHexStr(info.Skip(120).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =29, + GunNumber =2, + MoldStatus = temp58.ToString(), + }); + short temp59 = short.Parse(StringChange.bytesToHexStr(info.Skip(122).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =30, + GunNumber =1, + MoldStatus = temp59.ToString(), + }); + short temp60 = short.Parse(StringChange.bytesToHexStr(info.Skip(124).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =30, + GunNumber =2, + MoldStatus = temp60.ToString(), + }); + short temp61 = short.Parse(StringChange.bytesToHexStr(info.Skip(126).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =31, + GunNumber =1, + MoldStatus = temp61.ToString(), + }); + short temp62 = short.Parse(StringChange.bytesToHexStr(info.Skip(128).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =31, + GunNumber =2, + MoldStatus = temp62.ToString(), + }); + short temp63 = short.Parse(StringChange.bytesToHexStr(info.Skip(130).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =32, + GunNumber =1, + MoldStatus = temp63.ToString(), + }); + short temp64 = short.Parse(StringChange.bytesToHexStr(info.Skip(132).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =32, + GunNumber =2, + MoldStatus = temp64.ToString(), + }); + short temp65 = short.Parse(StringChange.bytesToHexStr(info.Skip(134).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =33, + GunNumber =1, + MoldStatus = temp65.ToString(), + }); + short temp66 = short.Parse(StringChange.bytesToHexStr(info.Skip(136).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =33, + GunNumber =2, + MoldStatus = temp66.ToString(), + }); + short temp67 = short.Parse(StringChange.bytesToHexStr(info.Skip(138).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =34, + GunNumber =1, + MoldStatus = temp67.ToString(), + }); + short temp68 = short.Parse(StringChange.bytesToHexStr(info.Skip(140).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =34, + GunNumber =2, + MoldStatus = temp68.ToString(), + }); + #endregion + + + } } + + return doorFoams; } } @@ -184,40 +634,699 @@ namespace Aucma.Core.DoorFoam.Business /// /// 读取模位型号,读5台,1-5,6-10... /// - static void ReadModeType(HwPLc.PlcModel obj, string startStr, List boxTypeList) + static List ReadModeType(HwPLc.PlcModel obj) { - if (obj == null) return; + if (obj == null) return null; else { + List doorFoams = new List(); if (obj.plc.IsConnected) { - byte[] info = obj.plc.Read(startStr, 200); - if (info == null) return; + byte[] info1 = obj.plc.Read("DB4.142", 200); //1#台车1#枪A门,1#台车1#枪B门,1#台车2#枪A门,1#台车2#枪B门 - string temp1 = asciiEncoding.GetString(info.Skip(0).Take(10).ToArray()).Trim('\n'); - string temp2 = asciiEncoding.GetString(info.Skip(10).Take(10).ToArray()).Trim('\n'); - string temp3 = asciiEncoding.GetString(info.Skip(20).Take(10).ToArray()).Trim('\n'); - string temp4 = asciiEncoding.GetString(info.Skip(30).Take(10).ToArray()).Trim('\n'); - string temp5 = asciiEncoding.GetString(info.Skip(40).Take(10).ToArray()).Trim('\n'); - string temp6 = asciiEncoding.GetString(info.Skip(50).Take(10).ToArray()).Trim('\n'); - string temp7 = asciiEncoding.GetString(info.Skip(60).Take(10).ToArray()).Trim('\n'); - string temp8 = asciiEncoding.GetString(info.Skip(70).Take(10).ToArray()).Trim('\n'); - string temp9 = asciiEncoding.GetString(info.Skip(80).Take(10).ToArray()).Trim('\n'); - string temp10 = asciiEncoding.GetString(info.Skip(90).Take(10).ToArray()).Trim('\n'); - string temp11 = asciiEncoding.GetString(info.Skip(100).Take(10).ToArray()).Trim('\n'); - string temp12 = asciiEncoding.GetString(info.Skip(110).Take(10).ToArray()).Trim('\n'); - string temp13 = asciiEncoding.GetString(info.Skip(120).Take(10).ToArray()).Trim('\n'); - string temp14 = asciiEncoding.GetString(info.Skip(130).Take(10).ToArray()).Trim('\n'); - string temp15 = asciiEncoding.GetString(info.Skip(140).Take(10).ToArray()).Trim('\n'); - string temp16 = asciiEncoding.GetString(info.Skip(150).Take(10).ToArray()).Trim('\n'); - string temp17 = asciiEncoding.GetString(info.Skip(160).Take(10).ToArray()).Trim('\n'); - string temp18 = asciiEncoding.GetString(info.Skip(170).Take(10).ToArray()).Trim('\n'); - string temp19 = asciiEncoding.GetString(info.Skip(180).Take(10).ToArray()).Trim('\n'); - string temp20 = asciiEncoding.GetString(info.Skip(190).Take(10).ToArray()).Trim('\n'); - Console.WriteLine(temp20); + #region 1-5台车 + if (info1 != null) + { + string trolley_1_1_A = asciiEncoding.GetString(info1.Skip(0).Take(10).ToArray()).Trim('\n'); + string trolley_1_1_B = asciiEncoding.GetString(info1.Skip(10).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =1, + GunNumber =1, + MoldType_A = trolley_1_1_A, + MoldType_B = trolley_1_1_B + }); + + string trolley_1_2_A = asciiEncoding.GetString(info1.Skip(20).Take(10).ToArray()).Trim('\n'); + string trolley_1_2_B = asciiEncoding.GetString(info1.Skip(30).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =1, + GunNumber =2, + MoldType_A = trolley_1_2_A, + MoldType_B = trolley_1_2_B + }); + string trolley_2_1_A = asciiEncoding.GetString(info1.Skip(40).Take(10).ToArray()).Trim('\n'); + string trolley_2_1_B = asciiEncoding.GetString(info1.Skip(50).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =2, + GunNumber =1, + MoldType_A = trolley_2_1_A, + MoldType_B = trolley_2_1_B + }); + string trolley_2_2_A = asciiEncoding.GetString(info1.Skip(60).Take(10).ToArray()).Trim('\n'); + string trolley_2_2_B = asciiEncoding.GetString(info1.Skip(70).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =2, + GunNumber =2, + MoldType_A = trolley_2_2_A, + MoldType_B = trolley_2_2_B + }); + + string trolley_3_1_A = asciiEncoding.GetString(info1.Skip(80).Take(10).ToArray()).Trim('\n'); + string trolley_3_1_B = asciiEncoding.GetString(info1.Skip(90).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =3, + GunNumber =1, + MoldType_A = trolley_3_1_A, + MoldType_B = trolley_3_1_B + }); + string trolley_3_2_A = asciiEncoding.GetString(info1.Skip(100).Take(10).ToArray()).Trim('\n'); + string trolley_3_2_B = asciiEncoding.GetString(info1.Skip(110).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =3, + GunNumber =2, + MoldType_A = trolley_3_2_A, + MoldType_B = trolley_3_2_B + }); + string trolley_4_1_A = asciiEncoding.GetString(info1.Skip(120).Take(10).ToArray()).Trim('\n'); + string trolley_4_1_B = asciiEncoding.GetString(info1.Skip(130).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =4, + GunNumber =1, + MoldType_A = trolley_4_1_A, + MoldType_B = trolley_4_1_B + }); + string trolley_4_2_A = asciiEncoding.GetString(info1.Skip(140).Take(10).ToArray()).Trim('\n'); + string trolley_4_2_B = asciiEncoding.GetString(info1.Skip(150).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =4, + GunNumber =2, + MoldType_A = trolley_4_2_A, + MoldType_B = trolley_4_2_B + }); + string trolley_5_1_A = asciiEncoding.GetString(info1.Skip(160).Take(10).ToArray()).Trim('\n'); + string trolley_5_1_B = asciiEncoding.GetString(info1.Skip(170).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =5, + GunNumber =1, + MoldType_A = trolley_5_1_A, + MoldType_B = trolley_5_1_B + }); + string trolley_5_2_A = asciiEncoding.GetString(info1.Skip(180).Take(10).ToArray()).Trim('\n'); + string trolley_5_2_B = asciiEncoding.GetString(info1.Skip(190).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =5, + GunNumber =2, + MoldType_A = trolley_5_2_A, + MoldType_B = trolley_5_2_B + }); + } + #endregion + + byte[] info2 = obj.plc.Read("DB4.342", 200); + + #region 6-10台车 + if(info2 != null) + { + string trolley_6_1_A = asciiEncoding.GetString(info2.Skip(0).Take(10).ToArray()).Trim('\n'); + string trolley_6_1_B = asciiEncoding.GetString(info2.Skip(10).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =6, + GunNumber =1, + MoldType_A = trolley_6_1_A, + MoldType_B = trolley_6_1_B + }); + + string trolley_6_2_A = asciiEncoding.GetString(info2.Skip(20).Take(10).ToArray()).Trim('\n'); + string trolley_6_2_B = asciiEncoding.GetString(info2.Skip(30).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =6, + GunNumber =2, + MoldType_A = trolley_6_2_A, + MoldType_B = trolley_6_2_B + }); + string trolley_7_1_A = asciiEncoding.GetString(info2.Skip(40).Take(10).ToArray()).Trim('\n'); + string trolley_7_1_B = asciiEncoding.GetString(info2.Skip(50).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =7, + GunNumber =1, + MoldType_A = trolley_7_1_A, + MoldType_B = trolley_7_1_B + }); + string trolley_7_2_A = asciiEncoding.GetString(info2.Skip(60).Take(10).ToArray()).Trim('\n'); + string trolley_7_2_B = asciiEncoding.GetString(info2.Skip(70).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =7, + GunNumber =2, + MoldType_A = trolley_7_2_A, + MoldType_B = trolley_7_2_B + }); + + string trolley_8_1_A = asciiEncoding.GetString(info2.Skip(80).Take(10).ToArray()).Trim('\n'); + string trolley_8_1_B = asciiEncoding.GetString(info2.Skip(90).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =8, + GunNumber =1, + MoldType_A = trolley_8_1_A, + MoldType_B = trolley_8_1_B + }); + string trolley_8_2_A = asciiEncoding.GetString(info2.Skip(100).Take(10).ToArray()).Trim('\n'); + string trolley_8_2_B = asciiEncoding.GetString(info2.Skip(110).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =8, + GunNumber =2, + MoldType_A = trolley_8_2_A, + MoldType_B = trolley_8_2_B + }); + string trolley_9_1_A = asciiEncoding.GetString(info2.Skip(120).Take(10).ToArray()).Trim('\n'); + string trolley_9_1_B = asciiEncoding.GetString(info2.Skip(130).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =9, + GunNumber =1, + MoldType_A = trolley_9_1_A, + MoldType_B = trolley_9_1_B + }); + string trolley_9_2_A = asciiEncoding.GetString(info2.Skip(140).Take(10).ToArray()).Trim('\n'); + string trolley_9_2_B = asciiEncoding.GetString(info2.Skip(150).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =9, + GunNumber =2, + MoldType_A = trolley_9_2_A, + MoldType_B = trolley_9_2_B + }); + string trolley_10_1_A = asciiEncoding.GetString(info2.Skip(160).Take(10).ToArray()).Trim('\n'); + string trolley_10_1_B = asciiEncoding.GetString(info2.Skip(170).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =10, + GunNumber =1, + MoldType_A = trolley_10_1_A, + MoldType_B = trolley_10_1_B + }); + string trolley_10_2_A = asciiEncoding.GetString(info2.Skip(180).Take(10).ToArray()).Trim('\n'); + string trolley_10_2_B = asciiEncoding.GetString(info2.Skip(190).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =10, + GunNumber =2, + MoldType_A = trolley_10_2_A, + MoldType_B = trolley_10_2_B + }); + } + #endregion + + byte[] info3 = obj.plc.Read("DB4.542", 200); + + #region 11-15台车 + if(info3 != null) + { + string trolley_11_1_A = asciiEncoding.GetString(info3.Skip(0).Take(10).ToArray()).Trim('\n'); + string trolley_11_1_B = asciiEncoding.GetString(info3.Skip(10).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =11, + GunNumber =1, + MoldType_A = trolley_11_1_A, + MoldType_B = trolley_11_1_B + }); + + string trolley_11_2_A = asciiEncoding.GetString(info3.Skip(20).Take(10).ToArray()).Trim('\n'); + string trolley_11_2_B = asciiEncoding.GetString(info3.Skip(30).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =11, + GunNumber =2, + MoldType_A = trolley_11_2_A, + MoldType_B = trolley_11_2_B + }); + string trolley_12_1_A = asciiEncoding.GetString(info3.Skip(40).Take(10).ToArray()).Trim('\n'); + string trolley_12_1_B = asciiEncoding.GetString(info3.Skip(50).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =12, + GunNumber =1, + MoldType_A = trolley_12_1_A, + MoldType_B = trolley_12_1_B + }); + string trolley_12_2_A = asciiEncoding.GetString(info3.Skip(60).Take(10).ToArray()).Trim('\n'); + string trolley_12_2_B = asciiEncoding.GetString(info3.Skip(70).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =12, + GunNumber =2, + MoldType_A = trolley_12_2_A, + MoldType_B = trolley_12_2_B + }); + + string trolley_13_1_A = asciiEncoding.GetString(info3.Skip(80).Take(10).ToArray()).Trim('\n'); + string trolley_13_1_B = asciiEncoding.GetString(info3.Skip(90).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =13, + GunNumber =1, + MoldType_A = trolley_13_1_A, + MoldType_B = trolley_13_1_B + }); + string trolley_13_2_A = asciiEncoding.GetString(info3.Skip(100).Take(10).ToArray()).Trim('\n'); + string trolley_13_2_B = asciiEncoding.GetString(info3.Skip(110).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =13, + GunNumber =2, + MoldType_A = trolley_13_2_A, + MoldType_B = trolley_13_2_B + }); + string trolley_14_1_A = asciiEncoding.GetString(info3.Skip(120).Take(10).ToArray()).Trim('\n'); + string trolley_14_1_B = asciiEncoding.GetString(info3.Skip(130).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =14, + GunNumber =1, + MoldType_A = trolley_14_1_A, + MoldType_B = trolley_14_1_B + }); + string trolley_14_2_A = asciiEncoding.GetString(info3.Skip(140).Take(10).ToArray()).Trim('\n'); + string trolley_14_2_B = asciiEncoding.GetString(info3.Skip(150).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =14, + GunNumber =2, + MoldType_A = trolley_14_2_A, + MoldType_B = trolley_14_2_B + }); + string trolley_15_1_A = asciiEncoding.GetString(info3.Skip(160).Take(10).ToArray()).Trim('\n'); + string trolley_15_1_B = asciiEncoding.GetString(info3.Skip(170).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =15, + GunNumber =1, + MoldType_A = trolley_15_1_A, + MoldType_B = trolley_15_1_B + }); + string trolley_15_2_A = asciiEncoding.GetString(info3.Skip(180).Take(10).ToArray()).Trim('\n'); + string trolley_15_2_B = asciiEncoding.GetString(info3.Skip(190).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =15, + GunNumber =2, + MoldType_A = trolley_15_2_A, + MoldType_B = trolley_15_2_B + }); + } + #endregion + + byte[] info4 = obj.plc.Read("DB4.742", 200); + #region 16-20台车 + if(info4 != null) + { + string trolley_16_1_A = asciiEncoding.GetString(info4.Skip(0).Take(10).ToArray()).Trim('\n'); + string trolley_16_1_B = asciiEncoding.GetString(info4.Skip(10).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =16, + GunNumber =1, + MoldType_A = trolley_16_1_A, + MoldType_B = trolley_16_1_B + }); + + string trolley_16_2_A = asciiEncoding.GetString(info4.Skip(20).Take(10).ToArray()).Trim('\n'); + string trolley_16_2_B = asciiEncoding.GetString(info4.Skip(30).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =16, + GunNumber =2, + MoldType_A = trolley_16_2_A, + MoldType_B = trolley_16_2_B + }); + string trolley_17_1_A = asciiEncoding.GetString(info4.Skip(40).Take(10).ToArray()).Trim('\n'); + string trolley_17_1_B = asciiEncoding.GetString(info4.Skip(50).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =17, + GunNumber =1, + MoldType_A = trolley_17_1_A, + MoldType_B = trolley_17_1_B + }); + string trolley_17_2_A = asciiEncoding.GetString(info4.Skip(60).Take(10).ToArray()).Trim('\n'); + string trolley_17_2_B = asciiEncoding.GetString(info4.Skip(70).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =17, + GunNumber =2, + MoldType_A = trolley_17_2_A, + MoldType_B = trolley_17_2_B + }); + + string trolley_18_1_A = asciiEncoding.GetString(info4.Skip(80).Take(10).ToArray()).Trim('\n'); + string trolley_18_1_B = asciiEncoding.GetString(info4.Skip(90).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =18, + GunNumber =1, + MoldType_A = trolley_18_1_A, + MoldType_B = trolley_18_1_B + }); + string trolley_18_2_A = asciiEncoding.GetString(info4.Skip(100).Take(10).ToArray()).Trim('\n'); + string trolley_18_2_B = asciiEncoding.GetString(info4.Skip(110).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =18, + GunNumber =2, + MoldType_A = trolley_18_2_A, + MoldType_B = trolley_18_2_B + }); + string trolley_19_1_A = asciiEncoding.GetString(info4.Skip(120).Take(10).ToArray()).Trim('\n'); + string trolley_19_1_B = asciiEncoding.GetString(info4.Skip(130).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =19, + GunNumber =1, + MoldType_A = trolley_19_1_A, + MoldType_B = trolley_19_1_B + }); + string trolley_19_2_A = asciiEncoding.GetString(info4.Skip(140).Take(10).ToArray()).Trim('\n'); + string trolley_19_2_B = asciiEncoding.GetString(info4.Skip(150).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =19, + GunNumber =2, + MoldType_A = trolley_19_2_A, + MoldType_B = trolley_19_2_B + }); + string trolley_20_1_A = asciiEncoding.GetString(info4.Skip(160).Take(10).ToArray()).Trim('\n'); + string trolley_20_1_B = asciiEncoding.GetString(info4.Skip(170).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =20, + GunNumber =1, + MoldType_A = trolley_20_1_A, + MoldType_B = trolley_20_1_B + }); + string trolley_20_2_A = asciiEncoding.GetString(info4.Skip(180).Take(10).ToArray()).Trim('\n'); + string trolley_20_2_B = asciiEncoding.GetString(info4.Skip(190).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =20, + GunNumber =2, + MoldType_A = trolley_20_2_A, + MoldType_B = trolley_20_2_B + }); + } + #endregion + + byte[] info5 = obj.plc.Read("DB4.942", 200); + + #region 21-25台车 + if(info5 != null) + { + string trolley_21_1_A = asciiEncoding.GetString(info5.Skip(0).Take(10).ToArray()).Trim('\n'); + string trolley_21_1_B = asciiEncoding.GetString(info5.Skip(10).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =21, + GunNumber =1, + MoldType_A = trolley_21_1_A, + MoldType_B = trolley_21_1_B + }); + + string trolley_21_2_A = asciiEncoding.GetString(info5.Skip(20).Take(10).ToArray()).Trim('\n'); + string trolley_21_2_B = asciiEncoding.GetString(info5.Skip(30).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =21, + GunNumber =2, + MoldType_A = trolley_21_2_A, + MoldType_B = trolley_21_2_B + }); + string trolley_22_1_A = asciiEncoding.GetString(info5.Skip(40).Take(10).ToArray()).Trim('\n'); + string trolley_22_1_B = asciiEncoding.GetString(info5.Skip(50).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =22, + GunNumber =1, + MoldType_A = trolley_22_1_A, + MoldType_B = trolley_22_1_B + }); + string trolley_22_2_A = asciiEncoding.GetString(info5.Skip(60).Take(10).ToArray()).Trim('\n'); + string trolley_22_2_B = asciiEncoding.GetString(info5.Skip(70).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =22, + GunNumber =2, + MoldType_A = trolley_22_2_A, + MoldType_B = trolley_22_2_B + }); + + string trolley_23_1_A = asciiEncoding.GetString(info5.Skip(80).Take(10).ToArray()).Trim('\n'); + string trolley_23_1_B = asciiEncoding.GetString(info5.Skip(90).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =23, + GunNumber =1, + MoldType_A = trolley_23_1_A, + MoldType_B = trolley_23_1_B + }); + string trolley_23_2_A = asciiEncoding.GetString(info5.Skip(100).Take(10).ToArray()).Trim('\n'); + string trolley_23_2_B = asciiEncoding.GetString(info5.Skip(110).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =23, + GunNumber =2, + MoldType_A = trolley_23_2_A, + MoldType_B = trolley_23_2_B + }); + string trolley_24_1_A = asciiEncoding.GetString(info5.Skip(120).Take(10).ToArray()).Trim('\n'); + string trolley_24_1_B = asciiEncoding.GetString(info5.Skip(130).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =24, + GunNumber =1, + MoldType_A = trolley_24_1_A, + MoldType_B = trolley_24_1_B + }); + string trolley_24_2_A = asciiEncoding.GetString(info5.Skip(140).Take(10).ToArray()).Trim('\n'); + string trolley_24_2_B = asciiEncoding.GetString(info5.Skip(150).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =24, + GunNumber =2, + MoldType_A = trolley_24_2_A, + MoldType_B = trolley_24_2_B + }); + string trolley_25_1_A = asciiEncoding.GetString(info5.Skip(160).Take(10).ToArray()).Trim('\n'); + string trolley_25_1_B = asciiEncoding.GetString(info5.Skip(170).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =25, + GunNumber =1, + MoldType_A = trolley_25_1_A, + MoldType_B = trolley_25_1_B + }); + string trolley_25_2_A = asciiEncoding.GetString(info5.Skip(180).Take(10).ToArray()).Trim('\n'); + string trolley_25_2_B = asciiEncoding.GetString(info5.Skip(190).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =25, + GunNumber =2, + MoldType_A = trolley_25_2_A, + MoldType_B = trolley_25_2_B + }); + } + #endregion + + byte[] info6 = obj.plc.Read("DB4.1142", 200); + + #region 26-30 台车 + if(info6 != null) + { + string trolley_26_1_A = asciiEncoding.GetString(info6.Skip(0).Take(10).ToArray()).Trim('\n'); + string trolley_26_1_B = asciiEncoding.GetString(info6.Skip(10).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =26, + GunNumber =1, + MoldType_A = trolley_26_1_A, + MoldType_B = trolley_26_1_B + }); + + string trolley_26_2_A = asciiEncoding.GetString(info6.Skip(20).Take(10).ToArray()).Trim('\n'); + string trolley_26_2_B = asciiEncoding.GetString(info6.Skip(30).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =26, + GunNumber =2, + MoldType_A = trolley_26_2_A, + MoldType_B = trolley_26_2_B + }); + string trolley_27_1_A = asciiEncoding.GetString(info6.Skip(40).Take(10).ToArray()).Trim('\n'); + string trolley_27_1_B = asciiEncoding.GetString(info6.Skip(50).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =27, + GunNumber =1, + MoldType_A = trolley_27_1_A, + MoldType_B = trolley_27_1_B + }); + string trolley_27_2_A = asciiEncoding.GetString(info6.Skip(60).Take(10).ToArray()).Trim('\n'); + string trolley_27_2_B = asciiEncoding.GetString(info6.Skip(70).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =27, + GunNumber =2, + MoldType_A = trolley_27_2_A, + MoldType_B = trolley_27_2_B + }); + + string trolley_28_1_A = asciiEncoding.GetString(info6.Skip(80).Take(10).ToArray()).Trim('\n'); + string trolley_28_1_B = asciiEncoding.GetString(info6.Skip(90).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =28, + GunNumber =1, + MoldType_A = trolley_28_1_A, + MoldType_B = trolley_28_1_B + }); + string trolley_28_2_A = asciiEncoding.GetString(info6.Skip(100).Take(10).ToArray()).Trim('\n'); + string trolley_28_2_B = asciiEncoding.GetString(info6.Skip(110).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =28, + GunNumber =2, + MoldType_A = trolley_28_2_A, + MoldType_B = trolley_28_2_B + }); + string trolley_29_1_A = asciiEncoding.GetString(info6.Skip(120).Take(10).ToArray()).Trim('\n'); + string trolley_29_1_B = asciiEncoding.GetString(info6.Skip(130).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =29, + GunNumber =1, + MoldType_A = trolley_29_1_A, + MoldType_B = trolley_29_1_B + }); + string trolley_29_2_A = asciiEncoding.GetString(info6.Skip(140).Take(10).ToArray()).Trim('\n'); + string trolley_29_2_B = asciiEncoding.GetString(info6.Skip(150).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =29, + GunNumber =2, + MoldType_A = trolley_29_2_A, + MoldType_B = trolley_29_2_B + }); + string trolley_30_1_A = asciiEncoding.GetString(info6.Skip(160).Take(10).ToArray()).Trim('\n'); + string trolley_30_1_B = asciiEncoding.GetString(info6.Skip(170).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =30, + GunNumber =1, + MoldType_A = trolley_30_1_A, + MoldType_B = trolley_30_1_B + }); + string trolley_30_2_A = asciiEncoding.GetString(info6.Skip(180).Take(10).ToArray()).Trim('\n'); + string trolley_30_2_B = asciiEncoding.GetString(info6.Skip(190).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =30, + GunNumber =2, + MoldType_A = trolley_30_2_A, + MoldType_B = trolley_30_2_B + }); + } + #endregion + + byte[] info7 = obj.plc.Read("DB4.1342", 200); + + #region 31-34 台车 + if (info7 != null) + { + string trolley_31_1_A = asciiEncoding.GetString(info7.Skip(0).Take(10).ToArray()).Trim('\n'); + string trolley_31_1_B = asciiEncoding.GetString(info7.Skip(10).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =31, + GunNumber =1, + MoldType_A = trolley_31_1_A, + MoldType_B = trolley_31_1_B + }); + + string trolley_31_2_A = asciiEncoding.GetString(info7.Skip(20).Take(10).ToArray()).Trim('\n'); + string trolley_31_2_B = asciiEncoding.GetString(info7.Skip(30).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =31, + GunNumber =2, + MoldType_A = trolley_31_2_A, + MoldType_B = trolley_31_2_B + }); + string trolley_32_1_A = asciiEncoding.GetString(info7.Skip(40).Take(10).ToArray()).Trim('\n'); + string trolley_32_1_B = asciiEncoding.GetString(info7.Skip(50).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =32, + GunNumber =1, + MoldType_A = trolley_32_1_A, + MoldType_B = trolley_32_1_B + }); + string trolley_32_2_A = asciiEncoding.GetString(info7.Skip(60).Take(10).ToArray()).Trim('\n'); + string trolley_32_2_B = asciiEncoding.GetString(info7.Skip(70).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =32, + GunNumber =2, + MoldType_A = trolley_32_2_A, + MoldType_B = trolley_32_2_B + }); + + string trolley_33_1_A = asciiEncoding.GetString(info7.Skip(80).Take(10).ToArray()).Trim('\n'); + string trolley_33_1_B = asciiEncoding.GetString(info7.Skip(90).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =33, + GunNumber =1, + MoldType_A = trolley_33_1_A, + MoldType_B = trolley_33_1_B + }); + string trolley_33_2_A = asciiEncoding.GetString(info7.Skip(100).Take(10).ToArray()).Trim('\n'); + string trolley_33_2_B = asciiEncoding.GetString(info7.Skip(110).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =33, + GunNumber =2, + MoldType_A = trolley_33_2_A, + MoldType_B = trolley_33_2_B + }); + string trolley_34_1_A = asciiEncoding.GetString(info7.Skip(120).Take(10).ToArray()).Trim('\n'); + string trolley_34_1_B = asciiEncoding.GetString(info7.Skip(130).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =34, + GunNumber =1, + MoldType_A = trolley_34_1_A, + MoldType_B = trolley_34_1_B + }); + string trolley_34_2_A = asciiEncoding.GetString(info7.Skip(140).Take(10).ToArray()).Trim('\n'); + string trolley_34_2_B = asciiEncoding.GetString(info7.Skip(150).Take(10).ToArray()).Trim('\n'); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =34, + GunNumber =2, + MoldType_A = trolley_34_2_A, + MoldType_B = trolley_34_2_B + }); + } + #endregion } + + return doorFoams; } } /// @@ -260,60 +1369,661 @@ namespace Aucma.Core.DoorFoam.Business /// /// 读取模位产量1-10 ,10-20,20-30 /// - static void ReadModeProduct(HwPLc.PlcModel obj, string startStr, List boxTypeList) + static List ReadModeProduct(HwPLc.PlcModel obj) { - if (obj == null) return; + if (obj == null) return null; else { + List doorFoams = new List(); if (obj.plc.IsConnected) { - byte[] info = obj.plc.Read(startStr, 160); - if (info == null) return; - //1#台车1#枪A门,1#台车1#枪B门,1#台车2#枪A门,1#台车2#枪B门 - int temp1 = int.Parse(StringChange.bytesToHexStr(info.Skip(0).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp2 = int.Parse(StringChange.bytesToHexStr(info.Skip(4).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp3 = int.Parse(StringChange.bytesToHexStr(info.Skip(8).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp4 = int.Parse(StringChange.bytesToHexStr(info.Skip(12).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp5 = int.Parse(StringChange.bytesToHexStr(info.Skip(16).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp6 = int.Parse(StringChange.bytesToHexStr(info.Skip(20).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp7 = int.Parse(StringChange.bytesToHexStr(info.Skip(24).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp8 = int.Parse(StringChange.bytesToHexStr(info.Skip(28).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp9 = int.Parse(StringChange.bytesToHexStr(info.Skip(32).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp10 = int.Parse(StringChange.bytesToHexStr(info.Skip(36).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp11 = int.Parse(StringChange.bytesToHexStr(info.Skip(40).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp12 = int.Parse(StringChange.bytesToHexStr(info.Skip(44).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp13 = int.Parse(StringChange.bytesToHexStr(info.Skip(48).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp14 = int.Parse(StringChange.bytesToHexStr(info.Skip(52).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp15 = int.Parse(StringChange.bytesToHexStr(info.Skip(56).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp16 = int.Parse(StringChange.bytesToHexStr(info.Skip(60).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp17 = int.Parse(StringChange.bytesToHexStr(info.Skip(64).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp18 = int.Parse(StringChange.bytesToHexStr(info.Skip(68).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp19 = int.Parse(StringChange.bytesToHexStr(info.Skip(72).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp20 = int.Parse(StringChange.bytesToHexStr(info.Skip(76).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp21 = int.Parse(StringChange.bytesToHexStr(info.Skip(80).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp22 = int.Parse(StringChange.bytesToHexStr(info.Skip(84).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp23 = int.Parse(StringChange.bytesToHexStr(info.Skip(88).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp24 = int.Parse(StringChange.bytesToHexStr(info.Skip(92).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp25 = int.Parse(StringChange.bytesToHexStr(info.Skip(96).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp26 = int.Parse(StringChange.bytesToHexStr(info.Skip(100).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp27 = int.Parse(StringChange.bytesToHexStr(info.Skip(104).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp28 = int.Parse(StringChange.bytesToHexStr(info.Skip(108).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp29 = int.Parse(StringChange.bytesToHexStr(info.Skip(112).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp30 = int.Parse(StringChange.bytesToHexStr(info.Skip(116).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp31 = int.Parse(StringChange.bytesToHexStr(info.Skip(120).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp32 = int.Parse(StringChange.bytesToHexStr(info.Skip(124).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp33 = int.Parse(StringChange.bytesToHexStr(info.Skip(128).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp34 = int.Parse(StringChange.bytesToHexStr(info.Skip(132).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp35 = int.Parse(StringChange.bytesToHexStr(info.Skip(136).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp36 = int.Parse(StringChange.bytesToHexStr(info.Skip(140).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp37 = int.Parse(StringChange.bytesToHexStr(info.Skip(144).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp38 = int.Parse(StringChange.bytesToHexStr(info.Skip(148).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp39 = int.Parse(StringChange.bytesToHexStr(info.Skip(152).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - int temp40 = int.Parse(StringChange.bytesToHexStr(info.Skip(156).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); - - Console.WriteLine(temp16); + byte[] info = obj.plc.Read("DB4.1542", 160); + #region 1-10台车产量 + if (info != null) + { + //1#台车1#枪A门,1#台车1#枪B门,1#台车2#枪A门,1#台车2#枪B门 + int temp1 = int.Parse(StringChange.bytesToHexStr(info.Skip(0).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp2 = int.Parse(StringChange.bytesToHexStr(info.Skip(4).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =1, + GunNumber =1, + MoldProdutionA = temp1.ToString(), + MoldProdutionB = temp2.ToString() + }); + int temp3 = int.Parse(StringChange.bytesToHexStr(info.Skip(8).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp4 = int.Parse(StringChange.bytesToHexStr(info.Skip(12).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =1, + GunNumber =2, + MoldProdutionA = temp3.ToString(), + MoldProdutionB = temp4.ToString() + }); + int temp5 = int.Parse(StringChange.bytesToHexStr(info.Skip(16).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp6 = int.Parse(StringChange.bytesToHexStr(info.Skip(20).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =2, + GunNumber =1, + MoldProdutionA = temp5.ToString(), + MoldProdutionB = temp6.ToString() + }); + int temp7 = int.Parse(StringChange.bytesToHexStr(info.Skip(24).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp8 = int.Parse(StringChange.bytesToHexStr(info.Skip(28).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =2, + GunNumber =2, + MoldProdutionA = temp7.ToString(), + MoldProdutionB = temp8.ToString() + }); + int temp9 = int.Parse(StringChange.bytesToHexStr(info.Skip(32).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp10 = int.Parse(StringChange.bytesToHexStr(info.Skip(36).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =3, + GunNumber =1, + MoldProdutionA = temp9.ToString(), + MoldProdutionB = temp10.ToString() + }); + int temp11 = int.Parse(StringChange.bytesToHexStr(info.Skip(40).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp12 = int.Parse(StringChange.bytesToHexStr(info.Skip(44).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =3, + GunNumber =2, + MoldProdutionA = temp11.ToString(), + MoldProdutionB = temp12.ToString() + }); + int temp13 = int.Parse(StringChange.bytesToHexStr(info.Skip(48).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp14 = int.Parse(StringChange.bytesToHexStr(info.Skip(52).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =4, + GunNumber =1, + MoldProdutionA = temp13.ToString(), + MoldProdutionB = temp14.ToString() + }); + int temp15 = int.Parse(StringChange.bytesToHexStr(info.Skip(56).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp16 = int.Parse(StringChange.bytesToHexStr(info.Skip(60).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =4, + GunNumber =2, + MoldProdutionA = temp15.ToString(), + MoldProdutionB = temp16.ToString() + }); + int temp17 = int.Parse(StringChange.bytesToHexStr(info.Skip(64).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp18 = int.Parse(StringChange.bytesToHexStr(info.Skip(68).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =5, + GunNumber =1, + MoldProdutionA = temp17.ToString(), + MoldProdutionB = temp18.ToString() + }); + int temp19 = int.Parse(StringChange.bytesToHexStr(info.Skip(72).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp20 = int.Parse(StringChange.bytesToHexStr(info.Skip(76).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =5, + GunNumber =2, + MoldProdutionA = temp19.ToString(), + MoldProdutionB = temp20.ToString() + }); + int temp21 = int.Parse(StringChange.bytesToHexStr(info.Skip(80).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp22 = int.Parse(StringChange.bytesToHexStr(info.Skip(84).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =6, + GunNumber =1, + MoldProdutionA = temp21.ToString(), + MoldProdutionB = temp22.ToString() + }); + int temp23 = int.Parse(StringChange.bytesToHexStr(info.Skip(88).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp24 = int.Parse(StringChange.bytesToHexStr(info.Skip(92).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =6, + GunNumber =2, + MoldProdutionA = temp23.ToString(), + MoldProdutionB = temp24.ToString() + }); + int temp25 = int.Parse(StringChange.bytesToHexStr(info.Skip(96).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp26 = int.Parse(StringChange.bytesToHexStr(info.Skip(100).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =7, + GunNumber =1, + MoldProdutionA = temp25.ToString(), + MoldProdutionB = temp26.ToString() + }); + int temp27 = int.Parse(StringChange.bytesToHexStr(info.Skip(104).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp28 = int.Parse(StringChange.bytesToHexStr(info.Skip(108).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =7, + GunNumber =2, + MoldProdutionA = temp27.ToString(), + MoldProdutionB = temp28.ToString() + }); + int temp29 = int.Parse(StringChange.bytesToHexStr(info.Skip(112).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp30 = int.Parse(StringChange.bytesToHexStr(info.Skip(116).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =8, + GunNumber =1, + MoldProdutionA = temp29.ToString(), + MoldProdutionB = temp30.ToString() + }); + int temp31 = int.Parse(StringChange.bytesToHexStr(info.Skip(120).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp32 = int.Parse(StringChange.bytesToHexStr(info.Skip(124).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =8, + GunNumber =2, + MoldProdutionA = temp31.ToString(), + MoldProdutionB = temp32.ToString() + }); + int temp33 = int.Parse(StringChange.bytesToHexStr(info.Skip(128).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp34 = int.Parse(StringChange.bytesToHexStr(info.Skip(132).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =9, + GunNumber =1, + MoldProdutionA = temp33.ToString(), + MoldProdutionB = temp34.ToString() + }); + int temp35 = int.Parse(StringChange.bytesToHexStr(info.Skip(136).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp36 = int.Parse(StringChange.bytesToHexStr(info.Skip(140).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =9, + GunNumber =2, + MoldProdutionA = temp35.ToString(), + MoldProdutionB = temp36.ToString() + }); + int temp37 = int.Parse(StringChange.bytesToHexStr(info.Skip(144).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp38 = int.Parse(StringChange.bytesToHexStr(info.Skip(148).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =10, + GunNumber =1, + MoldProdutionA = temp37.ToString(), + MoldProdutionB = temp38.ToString() + }); + int temp39 = int.Parse(StringChange.bytesToHexStr(info.Skip(152).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp40 = int.Parse(StringChange.bytesToHexStr(info.Skip(156).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =10, + GunNumber =2, + MoldProdutionA = temp39.ToString(), + MoldProdutionB = temp40.ToString() + }); + } + #endregion + + byte[] info2 = obj.plc.Read("DB4.1702", 160); + #region 11-20台车产量 + if (info2 != null) + { + int temp1 = int.Parse(StringChange.bytesToHexStr(info2.Skip(0).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp2 = int.Parse(StringChange.bytesToHexStr(info2.Skip(4).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =11, + GunNumber =1, + MoldProdutionA = temp1.ToString(), + MoldProdutionB = temp2.ToString() + }); + int temp3 = int.Parse(StringChange.bytesToHexStr(info2.Skip(8).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp4 = int.Parse(StringChange.bytesToHexStr(info2.Skip(12).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =11, + GunNumber =2, + MoldProdutionA = temp3.ToString(), + MoldProdutionB = temp4.ToString() + }); + int temp5 = int.Parse(StringChange.bytesToHexStr(info2.Skip(16).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp6 = int.Parse(StringChange.bytesToHexStr(info2.Skip(20).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =12, + GunNumber =1, + MoldProdutionA = temp5.ToString(), + MoldProdutionB = temp6.ToString() + }); + int temp7 = int.Parse(StringChange.bytesToHexStr(info2.Skip(24).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp8 = int.Parse(StringChange.bytesToHexStr(info2.Skip(28).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =12, + GunNumber =2, + MoldProdutionA = temp7.ToString(), + MoldProdutionB = temp8.ToString() + }); + int temp9 = int.Parse(StringChange.bytesToHexStr(info2.Skip(32).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp10 = int.Parse(StringChange.bytesToHexStr(info2.Skip(36).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =13, + GunNumber =1, + MoldProdutionA = temp9.ToString(), + MoldProdutionB = temp10.ToString() + }); + int temp11 = int.Parse(StringChange.bytesToHexStr(info2.Skip(40).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp12 = int.Parse(StringChange.bytesToHexStr(info2.Skip(44).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =13, + GunNumber =2, + MoldProdutionA = temp11.ToString(), + MoldProdutionB = temp12.ToString() + }); + int temp13 = int.Parse(StringChange.bytesToHexStr(info2.Skip(48).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp14 = int.Parse(StringChange.bytesToHexStr(info2.Skip(52).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =14, + GunNumber =1, + MoldProdutionA = temp13.ToString(), + MoldProdutionB = temp14.ToString() + }); + int temp15 = int.Parse(StringChange.bytesToHexStr(info2.Skip(56).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp16 = int.Parse(StringChange.bytesToHexStr(info2.Skip(60).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =14, + GunNumber =2, + MoldProdutionA = temp15.ToString(), + MoldProdutionB = temp16.ToString() + }); + int temp17 = int.Parse(StringChange.bytesToHexStr(info2.Skip(64).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp18 = int.Parse(StringChange.bytesToHexStr(info2.Skip(68).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =15, + GunNumber =1, + MoldProdutionA = temp17.ToString(), + MoldProdutionB = temp18.ToString() + }); + int temp19 = int.Parse(StringChange.bytesToHexStr(info2.Skip(72).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp20 = int.Parse(StringChange.bytesToHexStr(info2.Skip(76).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =15, + GunNumber =2, + MoldProdutionA = temp19.ToString(), + MoldProdutionB = temp20.ToString() + }); + int temp21 = int.Parse(StringChange.bytesToHexStr(info2.Skip(80).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp22 = int.Parse(StringChange.bytesToHexStr(info2.Skip(84).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =16, + GunNumber =1, + MoldProdutionA = temp21.ToString(), + MoldProdutionB = temp22.ToString() + }); + int temp23 = int.Parse(StringChange.bytesToHexStr(info2.Skip(88).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp24 = int.Parse(StringChange.bytesToHexStr(info2.Skip(92).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =16, + GunNumber =2, + MoldProdutionA = temp23.ToString(), + MoldProdutionB = temp24.ToString() + }); + int temp25 = int.Parse(StringChange.bytesToHexStr(info2.Skip(96).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp26 = int.Parse(StringChange.bytesToHexStr(info2.Skip(100).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =17, + GunNumber =1, + MoldProdutionA = temp25.ToString(), + MoldProdutionB = temp26.ToString() + }); + int temp27 = int.Parse(StringChange.bytesToHexStr(info2.Skip(104).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp28 = int.Parse(StringChange.bytesToHexStr(info2.Skip(108).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =17, + GunNumber =2, + MoldProdutionA = temp27.ToString(), + MoldProdutionB = temp28.ToString() + }); + int temp29 = int.Parse(StringChange.bytesToHexStr(info2.Skip(112).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp30 = int.Parse(StringChange.bytesToHexStr(info2.Skip(116).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =18, + GunNumber =1, + MoldProdutionA = temp29.ToString(), + MoldProdutionB = temp30.ToString() + }); + int temp31 = int.Parse(StringChange.bytesToHexStr(info2.Skip(120).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp32 = int.Parse(StringChange.bytesToHexStr(info2.Skip(124).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =18, + GunNumber =2, + MoldProdutionA = temp31.ToString(), + MoldProdutionB = temp32.ToString() + }); + int temp33 = int.Parse(StringChange.bytesToHexStr(info2.Skip(128).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp34 = int.Parse(StringChange.bytesToHexStr(info2.Skip(132).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =19, + GunNumber =1, + MoldProdutionA = temp33.ToString(), + MoldProdutionB = temp34.ToString() + }); + int temp35 = int.Parse(StringChange.bytesToHexStr(info2.Skip(136).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp36 = int.Parse(StringChange.bytesToHexStr(info2.Skip(140).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =19, + GunNumber =2, + MoldProdutionA = temp35.ToString(), + MoldProdutionB = temp36.ToString() + }); + int temp37 = int.Parse(StringChange.bytesToHexStr(info2.Skip(144).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp38 = int.Parse(StringChange.bytesToHexStr(info2.Skip(148).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =20, + GunNumber =1, + MoldProdutionA = temp37.ToString(), + MoldProdutionB = temp38.ToString() + }); + int temp39 = int.Parse(StringChange.bytesToHexStr(info2.Skip(152).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp40 = int.Parse(StringChange.bytesToHexStr(info2.Skip(156).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =20, + GunNumber =2, + MoldProdutionA = temp39.ToString(), + MoldProdutionB = temp40.ToString() + }); + } + #endregion + byte[] info3 = obj.plc.Read("DB4.1862", 160); + #region 21-30台车产量 + if (info3 != null) + { + int temp1 = int.Parse(StringChange.bytesToHexStr(info3.Skip(0).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp2 = int.Parse(StringChange.bytesToHexStr(info3.Skip(4).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =21, + GunNumber =1, + MoldProdutionA = temp1.ToString(), + MoldProdutionB = temp2.ToString() + }); + int temp3 = int.Parse(StringChange.bytesToHexStr(info3.Skip(8).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp4 = int.Parse(StringChange.bytesToHexStr(info3.Skip(12).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =21, + GunNumber =2, + MoldProdutionA = temp3.ToString(), + MoldProdutionB = temp4.ToString() + }); + int temp5 = int.Parse(StringChange.bytesToHexStr(info3.Skip(16).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp6 = int.Parse(StringChange.bytesToHexStr(info3.Skip(20).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =22, + GunNumber =1, + MoldProdutionA = temp5.ToString(), + MoldProdutionB = temp6.ToString() + }); + int temp7 = int.Parse(StringChange.bytesToHexStr(info3.Skip(24).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp8 = int.Parse(StringChange.bytesToHexStr(info3.Skip(28).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =22, + GunNumber =2, + MoldProdutionA = temp7.ToString(), + MoldProdutionB = temp8.ToString() + }); + int temp9 = int.Parse(StringChange.bytesToHexStr(info3.Skip(32).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp10 = int.Parse(StringChange.bytesToHexStr(info3.Skip(36).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =23, + GunNumber =1, + MoldProdutionA = temp9.ToString(), + MoldProdutionB = temp10.ToString() + }); + int temp11 = int.Parse(StringChange.bytesToHexStr(info3.Skip(40).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp12 = int.Parse(StringChange.bytesToHexStr(info3.Skip(44).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =23, + GunNumber =2, + MoldProdutionA = temp11.ToString(), + MoldProdutionB = temp12.ToString() + }); + int temp13 = int.Parse(StringChange.bytesToHexStr(info3.Skip(48).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp14 = int.Parse(StringChange.bytesToHexStr(info3.Skip(52).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =24, + GunNumber =1, + MoldProdutionA = temp13.ToString(), + MoldProdutionB = temp14.ToString() + }); + int temp15 = int.Parse(StringChange.bytesToHexStr(info3.Skip(56).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp16 = int.Parse(StringChange.bytesToHexStr(info3.Skip(60).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =24, + GunNumber =2, + MoldProdutionA = temp15.ToString(), + MoldProdutionB = temp16.ToString() + }); + int temp17 = int.Parse(StringChange.bytesToHexStr(info3.Skip(64).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp18 = int.Parse(StringChange.bytesToHexStr(info3.Skip(68).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =25, + GunNumber =1, + MoldProdutionA = temp17.ToString(), + MoldProdutionB = temp18.ToString() + }); + int temp19 = int.Parse(StringChange.bytesToHexStr(info3.Skip(72).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp20 = int.Parse(StringChange.bytesToHexStr(info3.Skip(76).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =25, + GunNumber =2, + MoldProdutionA = temp19.ToString(), + MoldProdutionB = temp20.ToString() + }); + int temp21 = int.Parse(StringChange.bytesToHexStr(info3.Skip(80).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp22 = int.Parse(StringChange.bytesToHexStr(info3.Skip(84).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =26, + GunNumber =1, + MoldProdutionA = temp21.ToString(), + MoldProdutionB = temp22.ToString() + }); + int temp23 = int.Parse(StringChange.bytesToHexStr(info3.Skip(88).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp24 = int.Parse(StringChange.bytesToHexStr(info3.Skip(92).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =26, + GunNumber =2, + MoldProdutionA = temp23.ToString(), + MoldProdutionB = temp24.ToString() + }); + int temp25 = int.Parse(StringChange.bytesToHexStr(info3.Skip(96).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp26 = int.Parse(StringChange.bytesToHexStr(info3.Skip(100).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =27, + GunNumber =1, + MoldProdutionA = temp25.ToString(), + MoldProdutionB = temp26.ToString() + }); + int temp27 = int.Parse(StringChange.bytesToHexStr(info3.Skip(104).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp28 = int.Parse(StringChange.bytesToHexStr(info3.Skip(108).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =27, + GunNumber =2, + MoldProdutionA = temp27.ToString(), + MoldProdutionB = temp28.ToString() + }); + int temp29 = int.Parse(StringChange.bytesToHexStr(info3.Skip(112).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp30 = int.Parse(StringChange.bytesToHexStr(info3.Skip(116).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =28, + GunNumber =1, + MoldProdutionA = temp29.ToString(), + MoldProdutionB = temp30.ToString() + }); + int temp31 = int.Parse(StringChange.bytesToHexStr(info3.Skip(120).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp32 = int.Parse(StringChange.bytesToHexStr(info3.Skip(124).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =28, + GunNumber =2, + MoldProdutionA = temp31.ToString(), + MoldProdutionB = temp32.ToString() + }); + int temp33 = int.Parse(StringChange.bytesToHexStr(info3.Skip(128).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp34 = int.Parse(StringChange.bytesToHexStr(info3.Skip(132).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =29, + GunNumber =1, + MoldProdutionA = temp33.ToString(), + MoldProdutionB = temp34.ToString() + }); + int temp35 = int.Parse(StringChange.bytesToHexStr(info3.Skip(136).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp36 = int.Parse(StringChange.bytesToHexStr(info3.Skip(140).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =29, + GunNumber =2, + MoldProdutionA = temp35.ToString(), + MoldProdutionB = temp36.ToString() + }); + int temp37 = int.Parse(StringChange.bytesToHexStr(info3.Skip(144).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp38 = int.Parse(StringChange.bytesToHexStr(info3.Skip(148).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =30, + GunNumber =1, + MoldProdutionA = temp37.ToString(), + MoldProdutionB = temp38.ToString() + }); + int temp39 = int.Parse(StringChange.bytesToHexStr(info3.Skip(152).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp40 = int.Parse(StringChange.bytesToHexStr(info3.Skip(156).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =30, + GunNumber =2, + MoldProdutionA = temp39.ToString(), + MoldProdutionB = temp40.ToString() + }); + } + #endregion + + byte[] info4 = obj.plc.Read("DB4.2022", 160); + #region 31-34台车产量 + if (info4 != null) + { + int temp1 = int.Parse(StringChange.bytesToHexStr(info4.Skip(0).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp2 = int.Parse(StringChange.bytesToHexStr(info4.Skip(4).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =31, + GunNumber =1, + MoldProdutionA = temp1.ToString(), + MoldProdutionB = temp2.ToString() + }); + int temp3 = int.Parse(StringChange.bytesToHexStr(info4.Skip(8).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp4 = int.Parse(StringChange.bytesToHexStr(info4.Skip(12).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =31, + GunNumber =2, + MoldProdutionA = temp3.ToString(), + MoldProdutionB = temp4.ToString() + }); + int temp5 = int.Parse(StringChange.bytesToHexStr(info4.Skip(16).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp6 = int.Parse(StringChange.bytesToHexStr(info4.Skip(20).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =32, + GunNumber =1, + MoldProdutionA = temp5.ToString(), + MoldProdutionB = temp6.ToString() + }); + int temp7 = int.Parse(StringChange.bytesToHexStr(info4.Skip(24).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp8 = int.Parse(StringChange.bytesToHexStr(info4.Skip(28).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =32, + GunNumber =2, + MoldProdutionA = temp7.ToString(), + MoldProdutionB = temp8.ToString() + }); + int temp9 = int.Parse(StringChange.bytesToHexStr(info4.Skip(32).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp10 = int.Parse(StringChange.bytesToHexStr(info4.Skip(36).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =33, + GunNumber =1, + MoldProdutionA = temp9.ToString(), + MoldProdutionB = temp10.ToString() + }); + int temp11 = int.Parse(StringChange.bytesToHexStr(info4.Skip(40).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp12 = int.Parse(StringChange.bytesToHexStr(info4.Skip(44).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =33, + GunNumber =2, + MoldProdutionA = temp11.ToString(), + MoldProdutionB = temp12.ToString() + }); + int temp13 = int.Parse(StringChange.bytesToHexStr(info4.Skip(48).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp14 = int.Parse(StringChange.bytesToHexStr(info4.Skip(52).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =34, + GunNumber =1, + MoldProdutionA = temp13.ToString(), + MoldProdutionB = temp14.ToString() + }); + int temp15 = int.Parse(StringChange.bytesToHexStr(info4.Skip(56).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + int temp16 = int.Parse(StringChange.bytesToHexStr(info4.Skip(60).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber); + doorFoams.Add(new DoorFoamMachine() + { + StationTrolleyNumber =34, + GunNumber =2, + MoldProdutionA = temp15.ToString(), + MoldProdutionB = temp16.ToString() + }); + } + #endregion } + + return doorFoams; } } @@ -444,31 +2154,31 @@ namespace Aucma.Core.DoorFoam.Business { item1 = 1; // } - else if (str1.Substring(1, 1) == "1") + else if (str1.Substring(1, 1) =="1") { item1 = 2; // } - else if (str1.Substring(2, 1) == "1") + else if (str1.Substring(2, 1) =="1") { item1 = 3; // } - else if (str1.Substring(3, 1) == "1") + else if (str1.Substring(3, 1) =="1") { item1 = 4; // } - else if (str1.Substring(4, 1) == "1") + else if (str1.Substring(4, 1) =="1") { item1 = 5; // } - else if (str1.Substring(5, 1) == "1") + else if (str1.Substring(5, 1) =="1") { item1 = 6; // } - else if (str1.Substring(6, 1) == "1") + else if (str1.Substring(6, 1) =="1") { item1 = 7; // } - else if (str1.Substring(7, 1) == "1") + else if (str1.Substring(7, 1) =="1") { item1 = 8; // } diff --git a/Aucma.Core.DoorFoam/ConvertTo/DeviceCodeConverter.cs b/Aucma.Core.DoorFoam/ConvertTo/DeviceCodeConverter.cs new file mode 100644 index 00000000..d4969f86 --- /dev/null +++ b/Aucma.Core.DoorFoam/ConvertTo/DeviceCodeConverter.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace Aucma.Core.DoorFoam.ConvertTo +{ + public class DeviceCodeConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + { + return false; + } + else + { + int info = (int)value; + return $"{info}#"; + } + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Aucma.Core.DoorFoam/ViewModels/IndexPageViewModel.cs b/Aucma.Core.DoorFoam/ViewModels/IndexPageViewModel.cs index 1d71e222..516ffd23 100644 --- a/Aucma.Core.DoorFoam/ViewModels/IndexPageViewModel.cs +++ b/Aucma.Core.DoorFoam/ViewModels/IndexPageViewModel.cs @@ -16,6 +16,12 @@ using Admin.Core.Model.ViewModels; using Pipelines.Sockets.Unofficial.Arenas; using NPOI.SS.Formula.Functions; using Aucma.Core.DoorFoam.Models; +using Aucma.Core.DoorFoam.Business; +using System.Threading; +using System.Collections; +using NPOI.Util; +using SqlSugar; +using System.Linq; /* * 首页信息 */ @@ -24,9 +30,20 @@ namespace Aucma.Core.DoorFoam.ViewModels public partial class IndexPageViewModel : ObservableObject { private static readonly log4net.ILog log = LogManager.GetLogger(typeof(IndexPageViewModel)); + + private DoorCollection doorCollection = new DoorCollection(); public IndexPageViewModel() { + doorCollection.RefreshDoorFoamMachineEvent += info => + { + RefreshDoorFoamMachineDataGrid(info); + }; + Task.Run(() => + { + Thread.Sleep(30000); + doorCollection.startCollect(); + }); } #region 获取今天的数据 @@ -96,5 +113,45 @@ namespace Aucma.Core.DoorFoam.ViewModels SetProperty(ref _stationName, value); } } + + private ObservableCollection dataGridItemLeft = new ObservableCollection(); + + private IEnumerable doorFoamMachineDataGrid_Left; + + public IEnumerable DoorFoamMachineDataGrid_Left + { + get { return doorFoamMachineDataGrid_Left; } + set { doorFoamMachineDataGrid_Left = value; OnPropertyChanged(); } + + } + + private ObservableCollection dataGridItemRight = new ObservableCollection(); + + private IEnumerable doorFoamMachineDataGrid_Right; + + public IEnumerable DoorFoamMachineDataGrid_Right + { + get { return doorFoamMachineDataGrid_Right; } + set { doorFoamMachineDataGrid_Right = value; OnPropertyChanged(); } + + } + + private void RefreshDoorFoamMachineDataGrid(List data) + { + dataGridItemLeft = new ObservableCollection(); + + int totalItems = data.Count; + int half = totalItems / 2; + + List doorFoamMachineLeft = data.Take(half).ToList(); + List doorFoamMachineRight = data.Skip(half).ToList(); + + + doorFoamMachineLeft.ForEach(x=> dataGridItemLeft.Add(x)); + DoorFoamMachineDataGrid_Left = dataGridItemLeft; + + doorFoamMachineRight.ForEach(x=>dataGridItemRight.Add(x)); + DoorFoamMachineDataGrid_Right = doorFoamMachineRight; + } } } diff --git a/Aucma.Core.DoorFoam/Views/IndexPageView.xaml b/Aucma.Core.DoorFoam/Views/IndexPageView.xaml index 056ac187..4676f9a5 100644 --- a/Aucma.Core.DoorFoam/Views/IndexPageView.xaml +++ b/Aucma.Core.DoorFoam/Views/IndexPageView.xaml @@ -5,13 +5,15 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:local="clr-namespace:Aucma.Core.DoorFoam.Views" + xmlns:local1="clr-namespace:Aucma.Core.DoorFoam.ConvertTo" mc:Ignorable="d" d:DesignHeight="800" d:DesignWidth="1000" > + @@ -57,7 +59,7 @@ - + @@ -85,42 +87,49 @@ --> - - - - - - + + + + + + + + - + - - + + - - - - - + + + + + + + + diff --git a/Aucma.Core.DoorFoam/appsettings.json b/Aucma.Core.DoorFoam/appsettings.json index e1789de9..03a7fd33 100644 --- a/Aucma.Core.DoorFoam/appsettings.json +++ b/Aucma.Core.DoorFoam/appsettings.json @@ -209,7 +209,7 @@ "Id": 2, "EquipName": "DoorPlc", "PlcType": "Siemens", - "Enabled": false, + "Enabled": true, "IP": "127.0.0.1", "Port": 102 } diff --git a/HwControlLib/bin/Debug/net6.0-windows/HwControlLib.dll b/HwControlLib/bin/Debug/net6.0-windows/HwControlLib.dll index bb9cc79816e3e0cb9a42d48b4fa1782a75992697..914b0885220137fd8ea66901f92f94b913e84470 100644 GIT binary patch delta 211 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 delta 8057 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 diff --git a/HwControlLib/obj/Debug/net6.0-windows/GeneratedInternalTypeHelper.g.i.cs b/HwControlLib/obj/Debug/net6.0-windows/GeneratedInternalTypeHelper.g.i.cs index 36288f46..57f88858 100644 --- a/HwControlLib/obj/Debug/net6.0-windows/GeneratedInternalTypeHelper.g.i.cs +++ b/HwControlLib/obj/Debug/net6.0-windows/GeneratedInternalTypeHelper.g.i.cs @@ -15,7 +15,7 @@ namespace XamlGeneratedNamespace { /// GeneratedInternalTypeHelper /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.12.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.4.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { diff --git a/HwControlLib/obj/Debug/net6.0-windows/HwControlLib.GeneratedMSBuildEditorConfig.editorconfig b/HwControlLib/obj/Debug/net6.0-windows/HwControlLib.GeneratedMSBuildEditorConfig.editorconfig index a4db58d9..54fddce2 100644 --- a/HwControlLib/obj/Debug/net6.0-windows/HwControlLib.GeneratedMSBuildEditorConfig.editorconfig +++ b/HwControlLib/obj/Debug/net6.0-windows/HwControlLib.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = HwControlLib -build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\HwControlLib\ +build_property.ProjectDir = E:\桌面\AUCMA_SCADA\HwControlLib\ diff --git a/HwControlLib/obj/Debug/net6.0-windows/HwControlLib.assets.cache b/HwControlLib/obj/Debug/net6.0-windows/HwControlLib.assets.cache index a056af0d3f9dc463157ec9d2f3a3a69d49f71e33..decde3af09d0c22125e131bf62df934b15aa51db 100644 GIT binary patch literal 265 zcmWIWc6a1qU|?8kDfadCLeXf^57!-a7k0l+zAeJyz9g1&wdn2p^RFHF#mWd&L?mDa zs#9>biU}=FEh>)jNzKbI%a75^D@{)=i77}-&Q45EEsg=1W$t1X^K?(c)BcH1w=aF# zx;-W=v$!-dMpwIl$l8KhSqXhA?xetJ=2u7X=; j4$#Du{E|GN4aF(h5Y=vpIXOu{9d7wKDXB#uJ@^0sWw1zb literal 152 zcmWIWc6a1qU|?Xq@9Jg9SCTDi6U!hcgGHs#b-%!P^sj>5aOaZDP7BB)8 n$~#-dgche36~`o|NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\admin\.nuget\packages\ + C:\Users\Lenovo\.nuget\packages\;D:\开发工具\Visual Studio 2019\Shared\NuGetPackages;C:\Program Files\dotnet\sdk\NuGetFallbackFolder PackageReference - 6.7.0 + 6.5.0 - + + + \ No newline at end of file diff --git a/HwControlLib/obj/project.assets.json b/HwControlLib/obj/project.assets.json index 57c51ab1..1558f2be 100644 --- a/HwControlLib/obj/project.assets.json +++ b/HwControlLib/obj/project.assets.json @@ -8,27 +8,34 @@ "net6.0-windows7.0": [] }, "packageFolders": { - "C:\\Users\\admin\\.nuget\\packages\\": {} + "C:\\Users\\Lenovo\\.nuget\\packages\\": {}, + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages": {}, + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {} }, "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj", + "projectUniqueName": "E:\\桌面\\AUCMA_SCADA\\HwControlLib\\HwControlLib.csproj", "projectName": "HwControlLib", - "projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj", - "packagesPath": "C:\\Users\\admin\\.nuget\\packages\\", - "outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\obj\\", + "projectPath": "E:\\桌面\\AUCMA_SCADA\\HwControlLib\\HwControlLib.csproj", + "packagesPath": "C:\\Users\\Lenovo\\.nuget\\packages\\", + "outputPath": "E:\\桌面\\AUCMA_SCADA\\HwControlLib\\obj\\", "projectStyle": "PackageReference", + "fallbackFolders": [ + "D:\\开发工具\\Visual Studio 2019\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], "configFilePaths": [ - "C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net6.0-windows" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} + "https://api.nuget.org/v3/index.json": {}, + "https://nuget.cnblogs.com/v3/index.json": {} }, "frameworks": { "net6.0-windows7.0": { @@ -64,7 +71,7 @@ "privateAssets": "none" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json" } } } diff --git a/HwControlLib/obj/project.nuget.cache b/HwControlLib/obj/project.nuget.cache index 7ca2e0be..248dc48c 100644 --- a/HwControlLib/obj/project.nuget.cache +++ b/HwControlLib/obj/project.nuget.cache @@ -1,8 +1,8 @@ { "version": 2, - "dgSpecHash": "vdyWe2SVons+Y6get5R5Z1bsudk/C2JG+/yY8r3PrvTCQlFwmP/yYc/iedeQUqhixJt2UKO0GhNSvd1iLTRIlw==", + "dgSpecHash": "ybnvfUshvvKIc46usGVB7kox/SCKkseLBijIGbMXdvJYCOdNE/0WN/DZO6u3XNrg5fccw9Qd0IkJ00WdmrPlEg==", "success": true, - "projectFilePath": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj", + "projectFilePath": "E:\\桌面\\AUCMA_SCADA\\HwControlLib\\HwControlLib.csproj", "expectedPackageFiles": [], "logs": [] } \ No newline at end of file From 4d0768337d01e33615273cf90471092625ad2936 Mon Sep 17 00:00:00 2001 From: wenjy Date: Wed, 3 Jan 2024 19:23:52 +0800 Subject: [PATCH 3/4] =?UTF-8?q?change=20-=20=E9=97=A8=E4=BD=93=E5=8F=91?= =?UTF-8?q?=E6=B3=A1=E5=9E=8B=E5=8F=B7=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/RealTimePageViewModel.cs | 89 ++++++++++++++----- .../Views/RealTimePageView.xaml | 17 ++-- 2 files changed, 79 insertions(+), 27 deletions(-) diff --git a/Aucma.Core.DoorFoam/ViewModels/RealTimePageViewModel.cs b/Aucma.Core.DoorFoam/ViewModels/RealTimePageViewModel.cs index 90079006..31bbd5c7 100644 --- a/Aucma.Core.DoorFoam/ViewModels/RealTimePageViewModel.cs +++ b/Aucma.Core.DoorFoam/ViewModels/RealTimePageViewModel.cs @@ -23,6 +23,9 @@ using log4net; using System.Collections; using System.Windows.Documents; using NPOI.SS.Formula.Functions; +using Microsoft.Extensions.FileSystemGlobbing.Internal; +using System.Text.RegularExpressions; +using System.Windows.Controls; namespace Aucma.Core.DoorFoam.ViewModels { @@ -52,27 +55,41 @@ namespace Aucma.Core.DoorFoam.ViewModels /// private void InitEveryDayMethodAsync() { + ChartValues achievement = new ChartValues(); - Random random = new Random(); - for (int i = 0; i < 2; i++) - { - achievement.Add(random.Next(0, 50)); - } - ModelStatistics.Add(new ColumnSeries() - { - DataLabels = true, - Title = "型号", - Values = achievement, - Fill = new SolidColorBrush(Color.FromRgb(15, 209, 226)), - Foreground = Brushes.White, - FontSize = 18 - }); - - MaterialNameList = new List() + MaterialNameList = new List(); + + var info = _doorMateHistoryServices.Query(x => x.ScanTime.ToString("yyyy-MM-dd").Contains(DateTime.Now.ToString("yyyy-MM-dd"))); + + App.Current.Dispatcher.BeginInvoke((Action)(() => { - "BCD-287CHN", - "BCD-287CHN" - }; + ModelStatistics.Clear(); + + if (info != null) + { + var groupResult = from p in info + group p by p.MaterialName into g + select new { MaterialName = g.Key, Count = g.Count() }; + foreach (var groupItem in groupResult) + { + achievement.Add(groupItem.Count); + + MaterialNameList.Add(FormatMaterialType(groupItem.MaterialName)); + } + } + + ModelStatistics.Add(new ColumnSeries() + { + DataLabels = true, + Title = "型号", + Values = achievement, + Fill = new SolidColorBrush(Color.FromRgb(15, 209, 226)), + Foreground = Brushes.White, + FontSize = 18 + }); + })); + + } @@ -190,6 +207,8 @@ namespace Aucma.Core.DoorFoam.ViewModels #endregion #region 门体匹配队列 + + private int i = 0; /// /// 门体匹配队列 /// @@ -210,15 +229,20 @@ namespace Aucma.Core.DoorFoam.ViewModels DoorMateHistory model = new DoorMateHistory(); if (planInfoDataGrid.Count() == 0) model.ObjId = 1; else model.ObjId = planInfoDataGrid.Count() + 1; - + model.PlanCode = stationPlan.PlanCode; model.OrderCode = stationPlan.OrderCode; model.MaterialCode = stationPlan.MaterialCode; model.MaterialName = stationPlan.MaterialName; model.ScanTime = DateTime.Now; - planInfoDataGrid.Insert(0, model); SaveMateHistory(code,obj, productLineCode, plan, model); + model.MaterialName = this.FormatMaterialType(stationPlan.MaterialName); + model.ObjId = i+1; + planInfoDataGrid.Insert(0, model); + + InitEveryDayMethodAsync();//刷新型号统计图表 + } #region 记录历史 @@ -311,5 +335,28 @@ namespace Aucma.Core.DoorFoam.ViewModels return result; } #endregion + + + /// + /// 格式化物料类型 + /// + /// + /// + private string FormatMaterialType(string materialType) + { + string result = ""; + System.Text.RegularExpressions.Match match = Regex.Match(materialType, @".*?,(.*?),"); + + if (match.Success && match.Groups.Count > 1) + { + result = match.Groups[1].Value; + } + else + { + result = materialType; + } + + return result; + } } } diff --git a/Aucma.Core.DoorFoam/Views/RealTimePageView.xaml b/Aucma.Core.DoorFoam/Views/RealTimePageView.xaml index 1632227e..56294d26 100644 --- a/Aucma.Core.DoorFoam/Views/RealTimePageView.xaml +++ b/Aucma.Core.DoorFoam/Views/RealTimePageView.xaml @@ -10,6 +10,7 @@ @@ -107,7 +108,11 @@ - + + + + + @@ -133,12 +138,12 @@ RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0" FontSize="20" GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True" - Foreground="White"> + Foreground="White" > - - - + + + @@ -174,7 +179,7 @@ - + From a67041557236dd9d2b0efd1ff9e045adf2d328a5 Mon Sep 17 00:00:00 2001 From: wenjy Date: Wed, 3 Jan 2024 19:27:17 +0800 Subject: [PATCH 4/4] =?UTF-8?q?change=20-=20=E7=AE=B1=E9=97=A8=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E6=89=AB=E6=8F=8F=E7=9B=91=E6=8E=A7=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj b/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj index a97a48e9..18b7ed36 100644 --- a/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj +++ b/Aucma.Core.DoorFoam/Aucma.Core.DoorFoam.csproj @@ -1,7 +1,7 @@  - Exe + WinExe net6.0-windows enable true