|
|
|
@ -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码
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// byte数组转换为float
|
|
|
|
|
/// </summary>
|
|
|
|
|
static float byteToFloat(byte[] list)
|
|
|
|
|
{
|
|
|
|
|
float result = 0.00f;
|
|
|
|
|
Array.Reverse(list);
|
|
|
|
|
result = BitConverter.ToSingle(list, 0);
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// byte[]转二进制
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="bytes"></param>
|
|
|
|
|
static string ByteArrayToString(byte[] bytes)
|
|
|
|
|
{
|
|
|
|
|
string result = string.Empty;
|
|
|
|
|
foreach (byte b in bytes)
|
|
|
|
|
{
|
|
|
|
|
int decimalValue = Convert.ToInt32(b); // 将字节转换为十进制值
|
|
|
|
|
result += decimalValue;
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// byte[]转二进制
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="bytes"></param>
|
|
|
|
|
static string ByteArrayToBinary(byte[] bytes)
|
|
|
|
|
static string ByteArrayToBinary(byte[] bytes)
|
|
|
|
|
{
|
|
|
|
|
StringBuilder binaryString = new StringBuilder();
|
|
|
|
|
|
|
|
|
|