|
|
|
@ -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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 采集最后一枪数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
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)
|
|
|
|
|
///// <summary>
|
|
|
|
|
///// 采集最后一枪数据
|
|
|
|
|
///// </summary>
|
|
|
|
|
///// <returns></returns>
|
|
|
|
|
//public async Task CollectLast()
|
|
|
|
|
//{
|
|
|
|
|
// //数据库查
|
|
|
|
|
// 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))
|
|
|
|
|
// var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("Plc1"));
|
|
|
|
|
// if (obj != null && obj.plc.IsConnected)
|
|
|
|
|
// {
|
|
|
|
|
// // 刷新页面
|
|
|
|
|
// RefreshLastShotDataDelegateEvent?.Invoke(lastShotRecord);
|
|
|
|
|
// //保存
|
|
|
|
|
// _lastShotRecordServices.AddAsync(lastShotRecord);
|
|
|
|
|
// tempLastRecord = lastShotRecord;
|
|
|
|
|
// 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码
|
|
|
|
|