diff --git a/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs b/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs
index 54557acd..ffa37c64 100644
--- a/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs
+++ b/Aucma.Core.BoxFoam/Business/CollectionFoamLine.cs
@@ -60,6 +60,7 @@ namespace Aucma.Core.BoxFoam.Business
SolidifyTimeList.Clear();
ActualTimeList.Clear();
listFixtureStatus.Clear();
+ ReadMoldTemperature(obj,MoldTemperatureList);
ReadBoxType(obj, BoxTypeList); // ok
ReadFixtureStatus(obj, HolderStatusList); //ok
ReadFixtureProduction(obj, HolderOutPutList); //ok
@@ -105,6 +106,15 @@ namespace Aucma.Core.BoxFoam.Business
{
model.PlanCuringTime = 0;
}
+ if (MoldTemperatureList.Count > 0 && MoldTemperatureList != null)
+ {
+ model.InternalTemperature = MoldTemperatureList[i].ToString();
+ model.OutsideTemperature = MoldTemperatureList[i+12].ToString();
+ }
+ else
+ {
+ model.PlanCuringTime = 0;
+ }
listFixtureStatus.Add(model);
}
RefreshBoxFoamDataDelegateEvent?.Invoke(listFixtureStatus);
@@ -334,44 +344,65 @@ namespace Aucma.Core.BoxFoam.Business
if (obj == null) return;
if (obj.plc.IsConnected)
{
- byte[] result = obj.plc.Read("DB8.294", 96);
- byte[] info = result;
-
- // float temp1 = BitConverter.ToSingle(BitConverter.GetBytes(Convert.ToInt32(StringChange.bytesToHexStr(info.Skip(0).Take(4).ToArray(), 16)), 0);
-
- //if (BitConverter.IsLittleEndian)
- //{
- // Array.Reverse(info.Skip(0).Take(4).ToArray()); // 如果系统是小端字节序,则反转字节数组的顺序
- //}
-
- float temp1 = float.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);
-
- MoldTemperatureList.Add(temp1);
- MoldTemperatureList.Add(temp2);
+ byte[] info = obj.plc.Read("DB8.294", 284);
+ float temp1 = byteToFloat(info.Skip(0).Take(4).ToArray());
+ float temp2 = byteToFloat(info.Skip(6).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(temp5);
MoldTemperatureList.Add(temp6);
- MoldTemperatureList.Add(temp7);
MoldTemperatureList.Add(temp8);
- MoldTemperatureList.Add(temp9);
MoldTemperatureList.Add(temp10);
- MoldTemperatureList.Add(temp11);
MoldTemperatureList.Add(temp12);
+ MoldTemperatureList.Add(temp14);
+ MoldTemperatureList.Add(temp16);
+ MoldTemperatureList.Add(temp18);
+ MoldTemperatureList.Add(temp20);
+ MoldTemperatureList.Add(temp22);
+ MoldTemperatureList.Add(temp24);
+
- 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}");
}
}
@@ -396,24 +427,22 @@ namespace Aucma.Core.BoxFoam.Business
#region 字符工具转换方法
- /// byte[]转十进制ascii码
+ ///
+ /// byte数组转换为float
+ ///
+ static float byteToFloat(byte[] list)
+ {
+ float result = 0.00f;
+ Array.Reverse(list);
+ result = BitConverter.ToSingle(list, 0);
+ return result;
+
+ }
+ ///
+ /// byte[]转二进制
///
///
- static string ByteArrayToString(byte[] bytes)
- {
- string result = string.Empty;
- foreach (byte b in bytes)
- {
- int decimalValue = Convert.ToInt32(b); // 将字节转换为十进制值
- result += decimalValue;
- }
- return result;
- }
- ///
- /// byte[]转二进制
- ///
- ///
- static string ByteArrayToBinary(byte[] bytes)
+ static string ByteArrayToBinary(byte[] bytes)
{
StringBuilder binaryString = new StringBuilder();
diff --git a/Aucma.Core.BoxFoam/Business/CollectionFoamMachine.cs b/Aucma.Core.BoxFoam/Business/CollectionFoamMachine.cs
index 1e624859..6ee25639 100644
--- a/Aucma.Core.BoxFoam/Business/CollectionFoamMachine.cs
+++ b/Aucma.Core.BoxFoam/Business/CollectionFoamMachine.cs
@@ -37,9 +37,9 @@ namespace Aucma.Core.BoxFoam.Business
// ReadEquipSystem(obj, "DB50.388"); //采集1系统
// ReadEquipSystem(obj, "DB50.642"); //采集2系统
// ReadGunData(obj, "DB50.896"); //A1枪数据
- ReadGunData(obj, "DB50.1084"); //A1枪数据
- ReadGunData(obj, "DB50.1272"); //A1枪数据
- ReadGunData(obj, "DB50.1460"); //A1枪数据
+ // ReadGunData(obj, "DB50.1084"); //A1枪数据
+ // ReadGunData(obj, "DB50.1272"); //A1枪数据
+ // ReadGunData(obj, "DB50.1460"); //A1枪数据
});
}
@@ -120,63 +120,63 @@ namespace Aucma.Core.BoxFoam.Business
}
}
- ///
- /// 采集最后一枪数据
- ///
- ///
- public async Task CollectLast()
- {
- var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("Plc1"));
- if (obj != null && obj.plc.IsConnected)
- {
- BoxLastShotRecord lastShotRecord = new BoxLastShotRecord();
- byte[] info = obj.plc.ReadBytes("DB50.896", (ushort)88);
- IByteTransform byteTransform = new RegularByteTransform();
-
- lastShotRecord.System = "1";
- lastShotRecord.GunCode = "A1";
- lastShotRecord.GunCode = "A1";
- #region 赋值
- lastShotRecord.PolTemp = Encoding.ASCII.GetString(info.Skip(0).Take(4).ToArray());
- lastShotRecord.PolHp = StringChange.bytesToHexStr(info.Skip(4).Take(4).ToArray(), 4);
- lastShotRecord.PolVol = StringChange.bytesToHexStr(info.Skip(8).Take(4).ToArray(), 4);
- lastShotRecord.PolUsage = StringChange.bytesToHexStr(info.Skip(12).Take(4).ToArray(), 4);
- lastShotRecord.IsoTemp = StringChange.bytesToHexStr(info.Skip(16).Take(4).ToArray(), 4);
- lastShotRecord.IsoHp = StringChange.bytesToHexStr(info.Skip(20).Take(4).ToArray(), 4);
- lastShotRecord.IsoVol = StringChange.bytesToHexStr(info.Skip(24).Take(4).ToArray(), 4);
- lastShotRecord.IsoUsage = StringChange.bytesToHexStr(info.Skip(28).Take(4).ToArray(), 4);
- lastShotRecord.PourNu = StringChange.bytesToHexStr(info.Skip(36).Take(2).ToArray(), 2);
- lastShotRecord.SetTime = StringChange.bytesToHexStr(info.Skip(38).Take(4).ToArray(), 4);
- lastShotRecord.SetWeight = StringChange.bytesToHexStr(info.Skip(42).Take(4).ToArray(), 4);
- lastShotRecord.SetRatio = StringChange.bytesToHexStr(info.Skip(46).Take(4).ToArray(), 4);
- lastShotRecord.PourWeight = StringChange.bytesToHexStr(info.Skip(50).Take(4).ToArray(), 4);
- lastShotRecord.PourRatio = StringChange.bytesToHexStr(info.Skip(54).Take(4).ToArray(), 4);
- lastShotRecord.MpTime = StringChange.bytesToHexStr(info.Skip(58).Take(4).ToArray(), 4);
- lastShotRecord.HpTime = StringChange.bytesToHexStr(info.Skip(62).Take(4).ToArray(), 4);
- lastShotRecord.HydrPress = StringChange.bytesToHexStr(info.Skip(66).Take(4).ToArray(), 4);
- lastShotRecord.HydrTemp = StringChange.bytesToHexStr(info.Skip(70).Take(4).ToArray(), 4);
- lastShotRecord.MixpistOn = StringChange.bytesToHexStr(info.Skip(74).Take(4).ToArray(), 4);
- lastShotRecord.MixpistOff = StringChange.bytesToHexStr(info.Skip(78).Take(4).ToArray(), 4);
- lastShotRecord.TotalYield = StringChange.bytesToHexStr(info.Skip(82).Take(4).ToArray(), 4);
- lastShotRecord.PourEnd = StringChange.bytesToHexStr(info.Skip(87).Take(1).ToArray(), 1);
- lastShotRecord.CreateTime = DateTime.Now;
- #endregion
-
- //if (tempLastRecord == null)
- //{
- // //数据库查
- // tempLastRecord = _lastShotRecordServices.Query(x => x.System == lastShotRecord.System && x.ProductLineCode == lastShotRecord.ProductLineCode && x.GunCode == lastShotRecord.GunCode).OrderByDescending(x => x.CreateTime).FirstOrDefault();
- //}
- //if (tempLastRecord == null || !tempLastRecord.MixpistOff.Equals(lastShotRecord.MixpistOff))
- //{
- // // 刷新页面
- // RefreshLastShotDataDelegateEvent?.Invoke(lastShotRecord);
- // //保存
- // _lastShotRecordServices.AddAsync(lastShotRecord);
- // tempLastRecord = lastShotRecord;
- //}
- }
- }
+ /////
+ ///// 采集最后一枪数据
+ /////
+ /////
+ //public async Task CollectLast()
+ //{
+ // var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("Plc1"));
+ // if (obj != null && obj.plc.IsConnected)
+ // {
+ // BoxLastShotRecord lastShotRecord = new BoxLastShotRecord();
+ // byte[] info = obj.plc.ReadBytes("DB50.896", (ushort)88);
+ // IByteTransform byteTransform = new RegularByteTransform();
+
+ // lastShotRecord.System = "1";
+ // lastShotRecord.GunCode = "A1";
+ // lastShotRecord.GunCode = "A1";
+ // #region 赋值
+ // lastShotRecord.PolTemp = Encoding.ASCII.GetString(info.Skip(0).Take(4).ToArray());
+ // lastShotRecord.PolHp = StringChange.bytesToHexStr(info.Skip(4).Take(4).ToArray(), 4);
+ // lastShotRecord.PolVol = StringChange.bytesToHexStr(info.Skip(8).Take(4).ToArray(), 4);
+ // lastShotRecord.PolUsage = StringChange.bytesToHexStr(info.Skip(12).Take(4).ToArray(), 4);
+ // lastShotRecord.IsoTemp = StringChange.bytesToHexStr(info.Skip(16).Take(4).ToArray(), 4);
+ // lastShotRecord.IsoHp = StringChange.bytesToHexStr(info.Skip(20).Take(4).ToArray(), 4);
+ // lastShotRecord.IsoVol = StringChange.bytesToHexStr(info.Skip(24).Take(4).ToArray(), 4);
+ // lastShotRecord.IsoUsage = StringChange.bytesToHexStr(info.Skip(28).Take(4).ToArray(), 4);
+ // lastShotRecord.PourNu = StringChange.bytesToHexStr(info.Skip(36).Take(2).ToArray(), 2);
+ // lastShotRecord.SetTime = StringChange.bytesToHexStr(info.Skip(38).Take(4).ToArray(), 4);
+ // lastShotRecord.SetWeight = StringChange.bytesToHexStr(info.Skip(42).Take(4).ToArray(), 4);
+ // lastShotRecord.SetRatio = StringChange.bytesToHexStr(info.Skip(46).Take(4).ToArray(), 4);
+ // lastShotRecord.PourWeight = StringChange.bytesToHexStr(info.Skip(50).Take(4).ToArray(), 4);
+ // lastShotRecord.PourRatio = StringChange.bytesToHexStr(info.Skip(54).Take(4).ToArray(), 4);
+ // lastShotRecord.MpTime = StringChange.bytesToHexStr(info.Skip(58).Take(4).ToArray(), 4);
+ // lastShotRecord.HpTime = StringChange.bytesToHexStr(info.Skip(62).Take(4).ToArray(), 4);
+ // lastShotRecord.HydrPress = StringChange.bytesToHexStr(info.Skip(66).Take(4).ToArray(), 4);
+ // lastShotRecord.HydrTemp = StringChange.bytesToHexStr(info.Skip(70).Take(4).ToArray(), 4);
+ // lastShotRecord.MixpistOn = StringChange.bytesToHexStr(info.Skip(74).Take(4).ToArray(), 4);
+ // lastShotRecord.MixpistOff = StringChange.bytesToHexStr(info.Skip(78).Take(4).ToArray(), 4);
+ // lastShotRecord.TotalYield = StringChange.bytesToHexStr(info.Skip(82).Take(4).ToArray(), 4);
+ // lastShotRecord.PourEnd = StringChange.bytesToHexStr(info.Skip(87).Take(1).ToArray(), 1);
+ // lastShotRecord.CreateTime = DateTime.Now;
+ // #endregion
+
+ // //if (tempLastRecord == null)
+ // //{
+ // // //数据库查
+ // // tempLastRecord = _lastShotRecordServices.Query(x => x.System == lastShotRecord.System && x.ProductLineCode == lastShotRecord.ProductLineCode && x.GunCode == lastShotRecord.GunCode).OrderByDescending(x => x.CreateTime).FirstOrDefault();
+ // //}
+ // //if (tempLastRecord == null || !tempLastRecord.MixpistOff.Equals(lastShotRecord.MixpistOff))
+ // //{
+ // // // 刷新页面
+ // // RefreshLastShotDataDelegateEvent?.Invoke(lastShotRecord);
+ // // //保存
+ // // _lastShotRecordServices.AddAsync(lastShotRecord);
+ // // tempLastRecord = lastShotRecord;
+ // //}
+ // }
+ //}
#region 字符工具转换方法
/// byte[]转十进制ascii码