From 35d5943504b7ea0793cf09571829134a997529ed Mon Sep 17 00:00:00 2001 From: liuwf Date: Mon, 8 Jan 2024 16:18:19 +0800 Subject: [PATCH] =?UTF-8?q?CHANGE-=E6=96=B0=E5=8F=91=E6=B3=A1=E9=87=87?= =?UTF-8?q?=E9=9B=86=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/CollectionFoamLine.cs | 1045 +++++++++++------ .../ViewModels/FoamMonitorPageViewModel.cs | 4 +- Aucma.Core.BoxFoam/appsettings.json | 12 +- 3 files changed, 682 insertions(+), 379 deletions(-) diff --git a/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs b/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs index 478faf03..c2ff274b 100644 --- a/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs +++ b/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs @@ -1,7 +1,12 @@ using Admin.Core.Common.Helper; +using Admin.Core.IService.IService_New; +using Admin.Core.Model.Model_New; using Aucma.Core.BoxFoam.Models; using Aucma.Core.HwPLc; +using Aucma.Core.Tasks.Models; +using Microsoft.Extensions.DependencyInjection; using NetTaste; +using NPOI.HPSF; using NPOI.Util; using System; using System.Collections.Generic; @@ -11,6 +16,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Documents; +using Array = System.Array; namespace Aucma.Core.BoxFoam.Business { @@ -24,19 +30,14 @@ namespace Aucma.Core.BoxFoam.Business private static System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); + public static List spaceDetailModel = new List(); public static List listFixtureStatus = new List(); - - 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(); + private readonly IRecordBoxFoamFixtureComplateServices _fixtureComplateServices; Semaphore semaphore = new Semaphore(1, 1); public CollectionFoamLine() { + _fixtureComplateServices = App.ServiceProvider.GetService(); startCollect(); } @@ -44,421 +45,561 @@ namespace Aucma.Core.BoxFoam.Business { Task.Run(() => { + Thread.Sleep(3000); while (true) - { - semaphore.WaitOne(); + { try - { - Thread.Sleep(3000); - var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("foamLine1Plc")); + { + // 1-6夹具 + var plc1 = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("foamLine2Plc")); + //7-12夹具 + var plc2 = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("foamLine1Plc")); + // 泡前库箱型和数量 + var plc3 = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("泡前库Plc")); + + spaceDetailModel = ReadStoreTypeAndCount(plc3); + //RefreshSpaceEvent?.Invoke(spaceDetailModel); + + List boxTypeList = ReadBoxType(plc1, plc2); + + List holderStatusList = ReadFixtureStatus(plc1, plc2); + + List holderOutPutList = ReadFixtureProduction(plc1, plc2); + + List planCuringTimeList = ReadPlanCuringTime(plc1, plc2); + + + var mergedCollection = from boxType in boxTypeList + join holderStatus in holderStatusList on new { boxType.ObjId } equals new { holderStatus.ObjId } + join holderOutPut in holderOutPutList on new { boxType.ObjId } equals new { holderOutPut.ObjId } + join planCuringTime in planCuringTimeList on new { boxType.ObjId } equals new { planCuringTime.ObjId } + select new FixtureStatus + { + ObjId = boxType.ObjId, + FixtureBoxType = boxType.FixtureBoxType, + Status = holderStatus.Status, + Yield = holderOutPut.Yield, + PlanCuringTime = planCuringTime.PlanCuringTime + }; - if (obj != null) + listFixtureStatus = mergedCollection.ToList(); + if (listFixtureStatus != null) { - if (obj.plc.IsConnected == false) return; - BoxTypeList.Clear(); - HolderStatusList.Clear(); - HolderOutPutList.Clear(); - SolidifyTimeList.Clear(); - ActualTimeList.Clear(); - listFixtureStatus.Clear(); - MoldTemperatureList.Clear(); - ProductionCycleList.Clear(); - ReadProductionCycle(obj, ProductionCycleList); - ReadMoldTemperature(obj, MoldTemperatureList); - ReadBoxType(obj, BoxTypeList); - ReadFixtureStatus(obj, HolderStatusList); - ReadFixtureProduction(obj, HolderOutPutList); - ReadPlanCuringTime(obj, SolidifyTimeList); - ReadDisplayCuringTime(obj, ActualTimeList); - - - for (int i = 0; i < 12; i++) + RefreshBoxFoamDataDelegateEvent?.Invoke(listFixtureStatus); + + List fixtureComplates = new List(); + listFixtureStatus.ForEach(x => { - 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 = HolderStatusList[i]; - } - 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 + fixtureComplates.Add(new RecordBoxFoamFixtureComplate() { - model.PlanCuringTime = 0; - } - if (MoldTemperatureList.Count > 0 && MoldTemperatureList != null) - { - model.InternalTemperature = MoldTemperatureList[i].ToString(); - model.OutsideTemperature = MoldTemperatureList[i + 12].ToString(); - } - else - { - model.InternalTemperature = ""; - model.OutsideTemperature = ""; - } - if (ProductionCycleList.Count > 0 && ProductionCycleList != null) - { - model.ProductionCycle = ProductionCycleList[i]; - } - else - { - model.ProductionCycle = 0; - } - - listFixtureStatus.Add(model); - } - RefreshBoxFoamDataDelegateEvent?.Invoke(listFixtureStatus); + ProductionLine = "CX_02", + StationCode = "1005", + FixtureCode = x.ObjId, + FixtureBoxType = x.FixtureBoxType, + FixtureStatus = x.Status, + FixtureOutPut = x.Yield, + PlanCuringTime = x.PlanCuringTime, + RealCuringTime = x.RealCuringTime, + RecordTime = DateTime.Now, + }); + }); + var info = _fixtureComplateServices.SaveFixtureComplate(fixtureComplates, "CX_02", "1005"); } } - catch (Exception) - { - - throw; - } - finally + catch (Exception ex) { - semaphore.Release(); - } + Console.WriteLine(ex.ToString()); + } + Thread.Sleep(2000); } }); } + /// - /// 读取夹具箱型 + /// 读取泡前库箱型和数量 /// - static void ReadBoxType(HwPLc.PlcModel obj, List boxTypeList) + static List ReadStoreTypeAndCount(HwPLc.PlcModel obj) { - if (obj == null) return; - else + List spaceDetailModels = new List(); + + if (obj != null && obj.plc.IsConnected) { - if (obj.plc.IsConnected) + byte[] info = obj.plc.Read("DB200.0", 100); + string str1 = asciiEncoding.GetString(info.Skip(6).Take(10).ToArray()).Replace("\0","").Trim('\n'); + string str2 = asciiEncoding.GetString(info.Skip(18).Take(10).ToArray()).Replace("\0", "").Trim('\n'); + string str3 = asciiEncoding.GetString(info.Skip(30).Take(10).ToArray()).Replace("\0", "").Trim('\n'); + string str4 = asciiEncoding.GetString(info.Skip(42).Take(10).ToArray()).Replace("\0", "").Trim('\n'); + string str5 = asciiEncoding.GetString(info.Skip(54).Take(10).ToArray()).Replace("\0", "").Trim('\n'); + string str6 = asciiEncoding.GetString(info.Skip(66).Take(10).ToArray()).Replace("\0", "").Trim('\n'); + Console.WriteLine($"读取泡前库箱型,1#:{str1};2#{str2};3#:{str3};4#:{str4};5#:{str5};6#:{str6}"); + + short temp1 = short.Parse(StringChange.bytesToHexStr(info.Skip(88).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp2 = short.Parse(StringChange.bytesToHexStr(info.Skip(90).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp3 = short.Parse(StringChange.bytesToHexStr(info.Skip(92).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp4 = short.Parse(StringChange.bytesToHexStr(info.Skip(94).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp5 = short.Parse(StringChange.bytesToHexStr(info.Skip(96).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp6 = short.Parse(StringChange.bytesToHexStr(info.Skip(98).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + Console.WriteLine($"读取泡前库数量,1#:{temp1};2#{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); + spaceDetailModels.Add(new SpaceDetailModel() { - byte[] result = obj.plc.Read("DB8.0", 124); - byte[] info = result; - - if (result == null) return; - int str0 = int.Parse(StringChange.bytesToHexStr(info.Skip(0).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); - string str1 = asciiEncoding.GetString(result.Skip(4).Take(10).ToArray()).Trim('\n'); - string str2 = asciiEncoding.GetString(result.Skip(14).Take(10).ToArray()).Trim('\n'); - string str3 = asciiEncoding.GetString(result.Skip(24).Take(10).ToArray()).Trim('\n'); - string str4 = asciiEncoding.GetString(result.Skip(34).Take(10).ToArray()).Trim('\n'); - string str5 = asciiEncoding.GetString(result.Skip(44).Take(10).ToArray()).Trim('\n'); - string str6 = asciiEncoding.GetString(result.Skip(54).Take(10).ToArray()).Trim('\n'); - string str7 = asciiEncoding.GetString(result.Skip(64).Take(10).ToArray()).Trim('\n'); - string str8 = asciiEncoding.GetString(result.Skip(74).Take(10).ToArray()).Trim('\n'); - string str9 = asciiEncoding.GetString(result.Skip(84).Take(10).ToArray()).Trim('\n'); - string str10 = asciiEncoding.GetString(result.Skip(94).Take(10).ToArray()).Trim('\n'); - string str11 = asciiEncoding.GetString(result.Skip(104).Take(10).ToArray()).Trim('\n'); - string str12 = asciiEncoding.GetString(result.Skip(114).Take(10).ToArray()).Trim('\n'); - boxTypeList.Add(str1); - boxTypeList.Add(str2); - boxTypeList.Add(str3); - boxTypeList.Add(str4); - boxTypeList.Add(str5); - boxTypeList.Add(str6); - boxTypeList.Add(str7); - boxTypeList.Add(str8); - boxTypeList.Add(str9); - boxTypeList.Add(str10); - boxTypeList.Add(str11); - boxTypeList.Add(str12); - } + ObjId = 1, + StoreType = str1.ToString(), + StoreAmount = temp1 + }); + spaceDetailModels.Add(new SpaceDetailModel() + { + ObjId = 2, + StoreType = str2.ToString(), + StoreAmount = temp2 + }); + spaceDetailModels.Add(new SpaceDetailModel() + { + ObjId = 3, + StoreType = str3.ToString(), + StoreAmount = temp3 + }); + spaceDetailModels.Add(new SpaceDetailModel() + { + ObjId = 4, + StoreType = str4.ToString(), + StoreAmount = temp4 + }); + spaceDetailModels.Add(new SpaceDetailModel() + { + ObjId = 5, + StoreType = str5.ToString(), + StoreAmount = temp5 + }); + spaceDetailModels.Add(new SpaceDetailModel() + { + ObjId = 6, + StoreType = str6.ToString(), + StoreAmount = temp6 + }); } - + return spaceDetailModels; } - + /// - /// 读取夹具状态 + /// 读取夹具箱型 /// - static void ReadFixtureStatus(HwPLc.PlcModel obj, List HolderStatusList) + static List ReadBoxType(HwPLc.PlcModel obj, HwPLc.PlcModel obj2) { - byte[] result = obj.plc.Read("DB8.122", 23); - byte[] info = result; - int temp1 = judgeStatus(ByteArrayToBinary(info.Skip(0).Take(1).ToArray())); - int temp2 = judgeStatus(ByteArrayToBinary(info.Skip(2).Take(1).ToArray())); - int temp3 = judgeStatus(ByteArrayToBinary(info.Skip(4).Take(1).ToArray())); - int temp4 = judgeStatus(ByteArrayToBinary(info.Skip(6).Take(1).ToArray())); - int temp5 = judgeStatus(ByteArrayToBinary(info.Skip(8).Take(1).ToArray())); - int temp6 = judgeStatus(ByteArrayToBinary(info.Skip(10).Take(1).ToArray())); - int temp7 = judgeStatus(ByteArrayToBinary(info.Skip(12).Take(1).ToArray())); - int temp8 = judgeStatus(ByteArrayToBinary(info.Skip(14).Take(1).ToArray())); - int temp9 = judgeStatus(ByteArrayToBinary(info.Skip(16).Take(1).ToArray())); - int temp10 = judgeStatus(ByteArrayToBinary(info.Skip(18).Take(1).ToArray())); - int temp11 = judgeStatus(ByteArrayToBinary(info.Skip(20).Take(1).ToArray())); - int temp12 = judgeStatus(ByteArrayToBinary(info.Skip(22).Take(1).ToArray())); - - HolderStatusList.Add(temp1); - HolderStatusList.Add(temp2); - HolderStatusList.Add(temp3); - HolderStatusList.Add(temp4); - HolderStatusList.Add(temp5); - HolderStatusList.Add(temp6); - HolderStatusList.Add(temp7); - HolderStatusList.Add(temp8); - HolderStatusList.Add(temp9); - HolderStatusList.Add(temp10); - HolderStatusList.Add(temp11); - HolderStatusList.Add(temp11); - Console.WriteLine($"读取夹具状态,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); - Console.WriteLine($"读取夹具状态,7#:{temp7};8#:{temp8};9#:{temp9};10#:{temp10};11#:{temp11};12#:{temp12}"); + List fixtureStatuses = new List(); + #region 1-6夹具 + if (obj != null && obj.plc.IsConnected) + { - } + byte[] result = obj.plc.Read("DB8.0", 12); + if (result != null) + { + short str1 = short.Parse(StringChange.bytesToHexStr(result.Skip(0).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 1, + FixtureBoxType = str1.ToString() + }); + short str2 = short.Parse(StringChange.bytesToHexStr(result.Skip(2).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 2, + FixtureBoxType = str2.ToString() + }); + short str3 = short.Parse(StringChange.bytesToHexStr(result.Skip(4).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 3, + FixtureBoxType = str3.ToString() + }); + short str4 = short.Parse(StringChange.bytesToHexStr(result.Skip(6).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 4, + FixtureBoxType = str4.ToString() + }); + short str5 = short.Parse(StringChange.bytesToHexStr(result.Skip(8).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 5, + FixtureBoxType = str5.ToString() + }); + short str6= short.Parse(StringChange.bytesToHexStr(result.Skip(10).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 6, + FixtureBoxType = str6.ToString() + }); + Console.WriteLine($"读取夹具箱型,1#:{str1};2#{str2};3#:{str3};4#:{str4};5#:{str5};6#:{str6}"); + } + } + #endregion - /// - /// 读取夹具产量 - /// - static void ReadFixtureProduction(HwPLc.PlcModel obj, List HolderOutPutList) - { - if (obj == null) return; - if (obj.plc.IsConnected) + #region 7-12夹具 + if (obj2 != null && obj2.plc.IsConnected) { - byte[] result = obj.plc.Read("DB8.146", 48); - byte[] info = result; - 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); - - HolderOutPutList.Add(temp1); - HolderOutPutList.Add(temp2); - HolderOutPutList.Add(temp3); - HolderOutPutList.Add(temp4); - HolderOutPutList.Add(temp5); - HolderOutPutList.Add(temp6); - HolderOutPutList.Add(temp7); - HolderOutPutList.Add(temp8); - HolderOutPutList.Add(temp9); - HolderOutPutList.Add(temp10); - HolderOutPutList.Add(temp11); - HolderOutPutList.Add(temp12); - Console.WriteLine($"读取夹具产量,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); - Console.WriteLine($"读取夹具产量,7#:{temp7};8#:{temp8};9#:{temp9};10#:{temp10};11#:{temp11};12#:{temp12}"); + + byte[] result = obj2.plc.Read("DB8.0",12 ); + if (result != null) + { + short str1 = short.Parse(StringChange.bytesToHexStr(result.Skip(0).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 7, + FixtureBoxType = str1.ToString() + }); + short str2 = short.Parse(StringChange.bytesToHexStr(result.Skip(2).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 8, + FixtureBoxType = str2.ToString() + }); + short str3 = short.Parse(StringChange.bytesToHexStr(result.Skip(4).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId =9, + FixtureBoxType = str3.ToString() + }); + short str4 = short.Parse(StringChange.bytesToHexStr(result.Skip(6).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 10, + FixtureBoxType = str4.ToString() + }); + short str5 = short.Parse(StringChange.bytesToHexStr(result.Skip(8).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 11, + FixtureBoxType = str5.ToString() + }); + short str6 = short.Parse(StringChange.bytesToHexStr(result.Skip(10).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 12, + FixtureBoxType = str6.ToString() + }); + Console.WriteLine($"读取夹具箱型,1#:{str1};2#{str2};3#:{str3};4#:{str4};5#:{str5};6#:{str6}"); + } } + #endregion + + return fixtureStatuses; } + /// - /// 固化时间设定值 + /// 读取夹具状态 /// - static void ReadPlanCuringTime(HwPLc.PlcModel obj, List SolidifyTimeList) + static List ReadFixtureStatus(HwPLc.PlcModel obj, HwPLc.PlcModel obj2) { - if (obj == null) return; - if (obj.plc.IsConnected) + List fixtureStatuses = new List(); + #region 1-6夹具 + if (obj != null && obj.plc.IsConnected) + { + byte[] info = obj.plc.Read("DB8.12", 13); + if (info != null) + { + int temp1 = judgeStatus(ByteArrayToBinary(info.Skip(0).Take(1).ToArray())); + int temp2 = judgeStatus(ByteArrayToBinary(info.Skip(2).Take(1).ToArray())); + int temp3 = judgeStatus(ByteArrayToBinary(info.Skip(4).Take(1).ToArray())); + int temp4 = judgeStatus(ByteArrayToBinary(info.Skip(6).Take(1).ToArray())); + int temp5 = judgeStatus(ByteArrayToBinary(info.Skip(8).Take(1).ToArray())); + int temp6 = judgeStatus(ByteArrayToBinary(info.Skip(10).Take(1).ToArray())); + Console.WriteLine($"读取夹具状态,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 1, + Status = temp1, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 2, + Status = temp2, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 3, + Status = temp3, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 4, + Status = temp4, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 5, + Status = temp5, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 6, + Status = temp6, + }); + } + } + #endregion + + #region 7-12夹具 + if (obj2 != null && obj2.plc.IsConnected) { - byte[] result = obj.plc.Read("DB8.194", 48); - byte[] info = result; - 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); - - - SolidifyTimeList.Add(temp1); - SolidifyTimeList.Add(temp2); - SolidifyTimeList.Add(temp3); - SolidifyTimeList.Add(temp4); - SolidifyTimeList.Add(temp5); - SolidifyTimeList.Add(temp6); - SolidifyTimeList.Add(temp7); - SolidifyTimeList.Add(temp8); - SolidifyTimeList.Add(temp9); - SolidifyTimeList.Add(temp10); - SolidifyTimeList.Add(temp11); - SolidifyTimeList.Add(temp12); - Console.WriteLine($"读取固化时间设定值,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); - Console.WriteLine($"读取固化时间设定值,7#:{temp7};8#:{temp8};9#:{temp9};10#:{temp10};11#:{temp11};12#:{temp12}"); + byte[] info2 = obj2.plc.Read("DB8.12", 13); + if (info2 != null) + { + int temp7 = judgeStatus(ByteArrayToBinary(info2.Skip(0).Take(1).ToArray())); + int temp8 = judgeStatus(ByteArrayToBinary(info2.Skip(2).Take(1).ToArray())); + int temp9 = judgeStatus(ByteArrayToBinary(info2.Skip(4).Take(1).ToArray())); + int temp10 = judgeStatus(ByteArrayToBinary(info2.Skip(6).Take(1).ToArray())); + int temp11 = judgeStatus(ByteArrayToBinary(info2.Skip(8).Take(1).ToArray())); + int temp12 = judgeStatus(ByteArrayToBinary(info2.Skip(10).Take(1).ToArray())); + Console.WriteLine($"读取夹具状态,7#:{temp7};8#:{temp8};9#:{temp9};10#:{temp10};11#:{temp11};12#:{temp12}"); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 7, + Status = temp7, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 8, + Status = temp8, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 9, + Status = temp9, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 10, + Status = temp10, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 11, + Status = temp11, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 12, + Status = temp12, + }); + } } + #endregion + + return fixtureStatuses; + } /// - /// 固化时间显示值 + /// 读取夹具产量 /// - static void ReadDisplayCuringTime(HwPLc.PlcModel obj, List ActualTimeList) + static List ReadFixtureProduction(HwPLc.PlcModel obj, HwPLc.PlcModel obj2) { - if (obj == null) return; - if (obj.plc.IsConnected) + List fixtureStatuses = new List(); + #region 1-6夹具产量 + if (obj != null && obj.plc.IsConnected) { - byte[] result = obj.plc.Read("DB8.242", 48); - byte[] info = result; - 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); - - ActualTimeList.Add(temp1); - ActualTimeList.Add(temp2); - ActualTimeList.Add(temp3); - ActualTimeList.Add(temp4); - ActualTimeList.Add(temp5); - ActualTimeList.Add(temp6); - ActualTimeList.Add(temp7); - ActualTimeList.Add(temp8); - ActualTimeList.Add(temp9); - ActualTimeList.Add(temp10); - ActualTimeList.Add(temp11); - ActualTimeList.Add(temp12); - - Console.WriteLine($"读取固化时间显示值,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); - Console.WriteLine($"读取固化时间显示值,7#:{temp7};8#:{temp8};9#:{temp9};10#:{temp10};11#:{temp11};12#:{temp12}"); + byte[] info = obj.plc.Read("DB8.24", 48); + if (info != null) + { + 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); + Console.WriteLine($"读取夹具产量,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 1, + Yield = temp1, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 2, + Yield = temp2, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 3, + Yield = temp3, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 4, + Yield = temp4, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 5, + Yield = temp5, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 6, + Yield = temp6, + }); + } + } - } + #endregion + #region 7-12夹具产量 + if (obj2 != null && obj2.plc.IsConnected) + { + byte[] info = obj2.plc.Read("DB8.24", 48); + if (info != null) + { + 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); + Console.WriteLine($"读取夹具产量,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 7, + Yield = temp1, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 8, + Yield = temp2, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 9, + Yield = temp3, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 10, + Yield = temp4, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 11, + Yield = temp5, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 12, + Yield = temp6, + }); + } + + + } + #endregion + return fixtureStatuses; + } /// - /// 模具内外温度 + /// 固化时间设定值 /// - static void ReadMoldTemperature(HwPLc.PlcModel obj, List MoldTemperatureList) + static List ReadPlanCuringTime(HwPLc.PlcModel obj, HwPLc.PlcModel obj2) { - if (obj == null) return; - if (obj.plc.IsConnected) + List fixtureStatuses = new List(); + #region 1-6夹具 + if (obj != null && obj.plc.IsConnected) { - byte[] info = obj.plc.Read("DB8.294", 284); - float temp1 = byteToFloat(info.Skip(0).Take(4).ToArray()); - float temp2 = byteToFloat(info.Skip(16).Take(4).ToArray()); - float temp3 = byteToFloat(info.Skip(24).Take(4).ToArray()); - float temp4 = byteToFloat(info.Skip(40).Take(4).ToArray()); - float temp5 = byteToFloat(info.Skip(48).Take(4).ToArray()); - float temp6 = byteToFloat(info.Skip(64).Take(4).ToArray()); - float temp7 = byteToFloat(info.Skip(72).Take(4).ToArray()); - float temp8 = byteToFloat(info.Skip(88).Take(4).ToArray()); - - float temp9 = byteToFloat(info.Skip(96).Take(4).ToArray()); - float temp10 = byteToFloat(info.Skip(112).Take(4).ToArray()); - float temp11 = byteToFloat(info.Skip(120).Take(4).ToArray()); - float temp12 = byteToFloat(info.Skip(136).Take(4).ToArray()); - float temp13 = byteToFloat(info.Skip(144).Take(4).ToArray()); - float temp14 = byteToFloat(info.Skip(160).Take(4).ToArray()); - - float temp15 = byteToFloat(info.Skip(168).Take(4).ToArray()); - float temp16 = byteToFloat(info.Skip(184).Take(4).ToArray()); - - float temp17 = byteToFloat(info.Skip(192).Take(4).ToArray()); - float temp18 = byteToFloat(info.Skip(208).Take(4).ToArray()); - - float temp19 = byteToFloat(info.Skip(216).Take(4).ToArray()); - float temp20 = byteToFloat(info.Skip(232).Take(4).ToArray()); - - float temp21 = byteToFloat(info.Skip(240).Take(4).ToArray()); - float temp22 = byteToFloat(info.Skip(256).Take(4).ToArray()); - float temp23 = byteToFloat(info.Skip(264).Take(4).ToArray()); - float temp24 = byteToFloat(info.Skip(280).Take(4).ToArray()); - - - - MoldTemperatureList.Add(temp1); - MoldTemperatureList.Add(temp3); - MoldTemperatureList.Add(temp5); - MoldTemperatureList.Add(temp7); - MoldTemperatureList.Add(temp9); - MoldTemperatureList.Add(temp11); - MoldTemperatureList.Add(temp13); - MoldTemperatureList.Add(temp15); - MoldTemperatureList.Add(temp17); - MoldTemperatureList.Add(temp19); - MoldTemperatureList.Add(temp21); - MoldTemperatureList.Add(temp23); - MoldTemperatureList.Add(temp2); - MoldTemperatureList.Add(temp4); - MoldTemperatureList.Add(temp6); - MoldTemperatureList.Add(temp8); - MoldTemperatureList.Add(temp10); - MoldTemperatureList.Add(temp12); - MoldTemperatureList.Add(temp14); - MoldTemperatureList.Add(temp16); - MoldTemperatureList.Add(temp18); - MoldTemperatureList.Add(temp20); - MoldTemperatureList.Add(temp22); - MoldTemperatureList.Add(temp24); - + byte[] info = obj.plc.Read("DB8.48", 12); + if (info != null) + { + short temp1 = short.Parse(StringChange.bytesToHexStr(info.Skip(0).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp2 = short.Parse(StringChange.bytesToHexStr(info.Skip(2).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp3 = short.Parse(StringChange.bytesToHexStr(info.Skip(4).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp4 = short.Parse(StringChange.bytesToHexStr(info.Skip(6).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp5 = short.Parse(StringChange.bytesToHexStr(info.Skip(8).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp6 = short.Parse(StringChange.bytesToHexStr(info.Skip(10).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + Console.WriteLine($"读取固化时间,1#:{temp1};2#{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 1, + PlanCuringTime = temp1, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 2, + PlanCuringTime = temp2, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 3, + PlanCuringTime = temp3, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 4, + PlanCuringTime = temp4, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 5, + PlanCuringTime = temp5, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 6, + PlanCuringTime = temp6, + }); + } } - } - - - - /// - /// 生产节拍 - /// - static void ReadProductionCycle(HwPLc.PlcModel obj, List ProductionCycleList) - { - if (obj == null) return; - if (obj.plc.IsConnected) + #endregion + #region 7-12夹具 + if (obj2 != null && obj2.plc.IsConnected) { + byte[] info = obj2.plc.Read("DB8.48", 12); + if (info != null) + { + short temp1 = short.Parse(StringChange.bytesToHexStr(info.Skip(0).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp2 = short.Parse(StringChange.bytesToHexStr(info.Skip(2).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp3 = short.Parse(StringChange.bytesToHexStr(info.Skip(4).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp4 = short.Parse(StringChange.bytesToHexStr(info.Skip(6).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp5 = short.Parse(StringChange.bytesToHexStr(info.Skip(8).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + short temp6 = short.Parse(StringChange.bytesToHexStr(info.Skip(10).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber); + Console.WriteLine($"读取固化时间,1#:{temp1};2#{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 7, + PlanCuringTime = temp1, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 8, + PlanCuringTime = temp2, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 9, + PlanCuringTime = temp3, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 10, + PlanCuringTime = temp4, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 11, + PlanCuringTime = temp5, + }); + fixtureStatuses.Add(new FixtureStatus() + { + ObjId = 12, + PlanCuringTime = temp6, + }); + } - byte[] info = obj.plc.Read("DB8.578", 52); - float temp1 = byteToFloat(info.Skip(0).Take(4).ToArray()); - float temp2 = byteToFloat(info.Skip(4).Take(4).ToArray()); - float temp3 = byteToFloat(info.Skip(8).Take(4).ToArray()); - float temp4 = byteToFloat(info.Skip(12).Take(4).ToArray()); - float temp5 = byteToFloat(info.Skip(16).Take(4).ToArray()); - float temp6 = byteToFloat(info.Skip(20).Take(4).ToArray()); - float temp7 = byteToFloat(info.Skip(24).Take(4).ToArray()); - float temp8 = byteToFloat(info.Skip(28).Take(4).ToArray()); - float temp9 = byteToFloat(info.Skip(32).Take(4).ToArray()); - float temp10 = byteToFloat(info.Skip(36).Take(4).ToArray()); - float temp11 = byteToFloat(info.Skip(40).Take(4).ToArray()); - float temp12 = byteToFloat(info.Skip(44).Take(4).ToArray()); - // 平均节拍 - float temp13 = byteToFloat(info.Skip(48).Take(4).ToArray()); - ProductionCycleList.Add(temp1); - ProductionCycleList.Add(temp2); - ProductionCycleList.Add(temp3); - ProductionCycleList.Add(temp4); - ProductionCycleList.Add(temp5); - ProductionCycleList.Add(temp6); - ProductionCycleList.Add(temp7); - ProductionCycleList.Add(temp8); - ProductionCycleList.Add(temp9); - ProductionCycleList.Add(temp10); - ProductionCycleList.Add(temp11); - ProductionCycleList.Add(temp12); } + #endregion + return fixtureStatuses; } - + /// @@ -476,10 +617,6 @@ namespace Aucma.Core.BoxFoam.Business } - - - - #region 字符工具转换方法 /// /// byte数组转换为float @@ -532,6 +669,164 @@ namespace Aucma.Core.BoxFoam.Business } #endregion + + #region 注释方法 + ///// + ///// 固化时间显示值 + ///// + //static void ReadDisplayCuringTime(HwPLc.PlcModel obj, List ActualTimeList) + //{ + // if (obj == null) return; + // if (obj.plc.IsConnected) + // { + // byte[] result = obj.plc.Read("DB8.242", 48); + // byte[] info = result; + // 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); + + // ActualTimeList.Add(temp1); + // ActualTimeList.Add(temp2); + // ActualTimeList.Add(temp3); + // ActualTimeList.Add(temp4); + // ActualTimeList.Add(temp5); + // ActualTimeList.Add(temp6); + // ActualTimeList.Add(temp7); + // ActualTimeList.Add(temp8); + // ActualTimeList.Add(temp9); + // ActualTimeList.Add(temp10); + // ActualTimeList.Add(temp11); + // ActualTimeList.Add(temp12); + + // Console.WriteLine($"读取固化时间显示值,1#:{temp1};2#:{temp2};3#:{temp3};4#:{temp4};5#:{temp5};6#:{temp6}"); + // Console.WriteLine($"读取固化时间显示值,7#:{temp7};8#:{temp8};9#:{temp9};10#:{temp10};11#:{temp11};12#:{temp12}"); + // } + //} + + + ///// + ///// 模具内外温度 + ///// + //static void ReadMoldTemperature(HwPLc.PlcModel obj, List MoldTemperatureList) + //{ + // if (obj == null) return; + // if (obj.plc.IsConnected) + // { + // byte[] info = obj.plc.Read("DB8.294", 284); + // float temp1 = byteToFloat(info.Skip(0).Take(4).ToArray()); + // float temp2 = byteToFloat(info.Skip(16).Take(4).ToArray()); + // float temp3 = byteToFloat(info.Skip(24).Take(4).ToArray()); + // float temp4 = byteToFloat(info.Skip(40).Take(4).ToArray()); + // float temp5 = byteToFloat(info.Skip(48).Take(4).ToArray()); + // float temp6 = byteToFloat(info.Skip(64).Take(4).ToArray()); + // float temp7 = byteToFloat(info.Skip(72).Take(4).ToArray()); + // float temp8 = byteToFloat(info.Skip(88).Take(4).ToArray()); + + // float temp9 = byteToFloat(info.Skip(96).Take(4).ToArray()); + // float temp10 = byteToFloat(info.Skip(112).Take(4).ToArray()); + // float temp11 = byteToFloat(info.Skip(120).Take(4).ToArray()); + // float temp12 = byteToFloat(info.Skip(136).Take(4).ToArray()); + // float temp13 = byteToFloat(info.Skip(144).Take(4).ToArray()); + // float temp14 = byteToFloat(info.Skip(160).Take(4).ToArray()); + + // float temp15 = byteToFloat(info.Skip(168).Take(4).ToArray()); + // float temp16 = byteToFloat(info.Skip(184).Take(4).ToArray()); + + // float temp17 = byteToFloat(info.Skip(192).Take(4).ToArray()); + // float temp18 = byteToFloat(info.Skip(208).Take(4).ToArray()); + + // float temp19 = byteToFloat(info.Skip(216).Take(4).ToArray()); + // float temp20 = byteToFloat(info.Skip(232).Take(4).ToArray()); + + // float temp21 = byteToFloat(info.Skip(240).Take(4).ToArray()); + // float temp22 = byteToFloat(info.Skip(256).Take(4).ToArray()); + // float temp23 = byteToFloat(info.Skip(264).Take(4).ToArray()); + // float temp24 = byteToFloat(info.Skip(280).Take(4).ToArray()); + + + + // MoldTemperatureList.Add(temp1); + // MoldTemperatureList.Add(temp3); + // MoldTemperatureList.Add(temp5); + // MoldTemperatureList.Add(temp7); + // MoldTemperatureList.Add(temp9); + // MoldTemperatureList.Add(temp11); + // MoldTemperatureList.Add(temp13); + // MoldTemperatureList.Add(temp15); + // MoldTemperatureList.Add(temp17); + // MoldTemperatureList.Add(temp19); + // MoldTemperatureList.Add(temp21); + // MoldTemperatureList.Add(temp23); + // MoldTemperatureList.Add(temp2); + // MoldTemperatureList.Add(temp4); + // MoldTemperatureList.Add(temp6); + // MoldTemperatureList.Add(temp8); + // MoldTemperatureList.Add(temp10); + // MoldTemperatureList.Add(temp12); + // MoldTemperatureList.Add(temp14); + // MoldTemperatureList.Add(temp16); + // MoldTemperatureList.Add(temp18); + // MoldTemperatureList.Add(temp20); + // MoldTemperatureList.Add(temp22); + // MoldTemperatureList.Add(temp24); + + + // } + //} + + + + ///// + ///// 生产节拍 + ///// + //static void ReadProductionCycle(HwPLc.PlcModel obj, List ProductionCycleList) + //{ + // if (obj == null) return; + // if (obj.plc.IsConnected) + // { + + // byte[] info = obj.plc.Read("DB8.578", 52); + // float temp1 = byteToFloat(info.Skip(0).Take(4).ToArray()); + // float temp2 = byteToFloat(info.Skip(4).Take(4).ToArray()); + // float temp3 = byteToFloat(info.Skip(8).Take(4).ToArray()); + // float temp4 = byteToFloat(info.Skip(12).Take(4).ToArray()); + // float temp5 = byteToFloat(info.Skip(16).Take(4).ToArray()); + // float temp6 = byteToFloat(info.Skip(20).Take(4).ToArray()); + // float temp7 = byteToFloat(info.Skip(24).Take(4).ToArray()); + // float temp8 = byteToFloat(info.Skip(28).Take(4).ToArray()); + // float temp9 = byteToFloat(info.Skip(32).Take(4).ToArray()); + // float temp10 = byteToFloat(info.Skip(36).Take(4).ToArray()); + // float temp11 = byteToFloat(info.Skip(40).Take(4).ToArray()); + // float temp12 = byteToFloat(info.Skip(44).Take(4).ToArray()); + // // 平均节拍 + // float temp13 = byteToFloat(info.Skip(48).Take(4).ToArray()); + // ProductionCycleList.Add(temp1); + // ProductionCycleList.Add(temp2); + // ProductionCycleList.Add(temp3); + // ProductionCycleList.Add(temp4); + // ProductionCycleList.Add(temp5); + // ProductionCycleList.Add(temp6); + // ProductionCycleList.Add(temp7); + // ProductionCycleList.Add(temp8); + // ProductionCycleList.Add(temp9); + // ProductionCycleList.Add(temp10); + // ProductionCycleList.Add(temp11); + // ProductionCycleList.Add(temp12); + // } + //} + + + + #endregion } diff --git a/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs index f6bcb366..de08b374 100644 --- a/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs @@ -302,8 +302,8 @@ namespace Aucma.Core.BoxFoam.ViewModels if (item.Status == 0) StatusColor.Add("Red"); if (!string.IsNullOrEmpty(item.FixtureBoxType)) FixtureName.Add(item.FixtureBoxType); if (!string.IsNullOrEmpty(item.Yield.ToString())) Production.Add(item.Yield.ToString()); - if (!string.IsNullOrEmpty(item.InternalTemperature.ToString())) InternalTemperature.Add(item.InternalTemperature.ToString()); - if (!string.IsNullOrEmpty(item.OutsideTemperature.ToString())) OutsideTemperature.Add(item.OutsideTemperature.ToString()); + // if (!string.IsNullOrEmpty(item.InternalTemperature.ToString())) InternalTemperature.Add(item.InternalTemperature.ToString()); + // if (!string.IsNullOrEmpty(item.OutsideTemperature.ToString())) OutsideTemperature.Add(item.OutsideTemperature.ToString()); if (!string.IsNullOrEmpty(item.ProductionCycle.ToString())) Beat.Add(item.ProductionCycle.ToString()); totalAmount = totalAmount + item.Yield; diff --git a/Aucma.Core.BoxFoam/appsettings.json b/Aucma.Core.BoxFoam/appsettings.json index 4e863d71..18c9ccaa 100644 --- a/Aucma.Core.BoxFoam/appsettings.json +++ b/Aucma.Core.BoxFoam/appsettings.json @@ -210,11 +210,19 @@ "EquipName": "foamLine1Plc", "PlcType": "Siemens", "Enabled": true, - "IP": "10.10.93.1", - "Port": 102 + "IP": "127.0.0.1", + "Port": 103 }, { "Id": 3, + "EquipName": "foamLine2Plc", + "PlcType": "Siemens", + "Enabled": true, + "IP": "127.0.0.1", + "Port": 104 + }, + { + "Id": 4, "EquipName": "foamMachinePlc", "PlcType": "Siemens", "Enabled": true,