|
|
|
@ -105,12 +105,12 @@ namespace Aucam.Core.PerfusionService.Business
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
static void ReadEquipSystem(Aucma.Core.HwPLc.PlcModel obj, Perfusion_Record record, Perfusion_DeviceStatus deviceStatus, Perfusion_Alarm alarmInfo)
|
|
|
|
|
{
|
|
|
|
|
byte[] info = obj.plc.Read("DB55.0", 50);
|
|
|
|
|
byte[] info = obj.plc.Read("DB55.0", 84);
|
|
|
|
|
if (info == null) return;
|
|
|
|
|
#region 灌注记录赋值
|
|
|
|
|
record.PerfusionActualVolume=byteToDouble(info.Skip(0).Take(8).ToArray()).ToString();
|
|
|
|
|
record.PerfusionR = byteToDouble(info.Skip(8).Take(4).ToArray()).ToString().ToString();
|
|
|
|
|
record.PerfusionL = byteToFloat(info.Skip(50).Take(4).ToArray()).ToString();
|
|
|
|
|
record.PerfusionL = byteToFloat(info.Skip(55).Take(4).ToArray()).ToString();
|
|
|
|
|
record.PerfusionDuration = int.Parse(StringChange.bytesToHexStr(info.Skip(12).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber).ToString();
|
|
|
|
|
record.Yield = int.Parse(StringChange.bytesToHexStr(info.Skip(16).Take(4).ToArray(), 4), System.Globalization.NumberStyles.HexNumber).ToString();
|
|
|
|
|
record.PerfusionBoxCode = asciiEncoding.GetString(info.Skip(20).Take(24).ToArray()).Replace("\0", "").Trim('\n');
|
|
|
|
@ -119,8 +119,8 @@ namespace Aucam.Core.PerfusionService.Business
|
|
|
|
|
record.PerfusionSetVolume = byteToFloat(info.Skip(78).Take(4).ToArray()).ToString();
|
|
|
|
|
record.PerfusionSystem =short.Parse(StringChange.bytesToHexStr(info.Skip(82).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber).ToString();
|
|
|
|
|
///灌注完成状态字
|
|
|
|
|
record.PerfusionFinishStatus = short.Parse(StringChange.bytesToHexStr(info.Skip(42).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber).ToString();
|
|
|
|
|
record.PerfusionResult = short.Parse(StringChange.bytesToHexStr(info.Skip(44).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber);
|
|
|
|
|
record.PerfusionFinishStatus = short.Parse(StringChange.bytesToHexStr(info.Skip(46).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber).ToString();
|
|
|
|
|
record.PerfusionResult = short.Parse(StringChange.bytesToHexStr(info.Skip(48).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber);
|
|
|
|
|
record.CreatedBy = "equip";
|
|
|
|
|
record.CreatedTime = DateTime.Now;
|
|
|
|
|
record.UpdatedBy = "equip";
|
|
|
|
@ -129,7 +129,7 @@ namespace Aucam.Core.PerfusionService.Business
|
|
|
|
|
|
|
|
|
|
#region 设备状态赋值
|
|
|
|
|
deviceStatus.PerfusionDevicetype = "灌注";
|
|
|
|
|
deviceStatus.PerfusionStatus = short.Parse(StringChange.bytesToHexStr(info.Skip(46).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber);
|
|
|
|
|
deviceStatus.PerfusionStatus = short.Parse(StringChange.bytesToHexStr(info.Skip(50).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber);
|
|
|
|
|
deviceStatus.CreatedBy = "equip";
|
|
|
|
|
deviceStatus.CreatedTime = DateTime.Now;
|
|
|
|
|
deviceStatus.UpdatedBy = "equip";
|
|
|
|
@ -138,7 +138,7 @@ namespace Aucam.Core.PerfusionService.Business
|
|
|
|
|
|
|
|
|
|
#region 设备报警赋值
|
|
|
|
|
alarmInfo.PerfusionBoxcode = record.PerfusionBoxCode;
|
|
|
|
|
alarmInfo.PerfusionStatus = short.Parse(StringChange.bytesToHexStr(info.Skip(48).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber);
|
|
|
|
|
alarmInfo.PerfusionStatus = short.Parse(StringChange.bytesToHexStr(info.Skip(52).Take(2).ToArray(), 2), System.Globalization.NumberStyles.HexNumber);
|
|
|
|
|
alarmInfo.PerfusionAlarm = AlarmTrans(alarmInfo.PerfusionStatus);
|
|
|
|
|
alarmInfo.PerfusionCompleted = "1";
|
|
|
|
|
alarmInfo.CreatedBy = "equip";
|
|
|
|
|