From 7a4cd6cb77076f93c20d2a7e8baa5b1a1dad3b90 Mon Sep 17 00:00:00 2001 From: zby <24947@USER> Date: Sat, 21 Sep 2024 21:32:58 +0800 Subject: [PATCH] =?UTF-8?q?plc=E6=8A=A5=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Service/Execute/Step/StationReadyState.cs | 4 +- .../Plc/Handler/SummaryFailuresReqHandler.cs | 396 +++++++++--------- 2 files changed, 201 insertions(+), 199 deletions(-) diff --git a/Service/Execute/Step/StationReadyState.cs b/Service/Execute/Step/StationReadyState.cs index fb4fb50..2ae9286 100644 --- a/Service/Execute/Step/StationReadyState.cs +++ b/Service/Execute/Step/StationReadyState.cs @@ -8,6 +8,7 @@ using log4net; using Newtonsoft.Json; using Service.Execute.Api; using Service.Execute.Model; +using Service.Execute.Model.Tbox; using Service.Execute.SwapException; using Service.Execute.Utils; using Service.Init; @@ -44,7 +45,7 @@ public class StationReadyState : IState } _CommonMgr.InsertStep(InfoEnum.BusinessSwappingStep.Idel, machine); - + ////开启雷达 var beginRadar = ControlRadar(machine, 1); @@ -381,6 +382,7 @@ public class StationReadyState : IState } + private SwapOrder BuildOrder(RfidReadModel rfidReadModel) { SwapOrder swapOrder = new SwapOrder() diff --git a/Service/Plc/Handler/SummaryFailuresReqHandler.cs b/Service/Plc/Handler/SummaryFailuresReqHandler.cs index 76768e3..11aa3de 100644 --- a/Service/Plc/Handler/SummaryFailuresReqHandler.cs +++ b/Service/Plc/Handler/SummaryFailuresReqHandler.cs @@ -74,211 +74,211 @@ public class SummaryFailuresReqHandler : SimpleChannelInboundHandler i.EquipCode == "plc"); - //List lstAlarm = new List(); + lstEquipAlarmDefine = EquipAlarmDefineRepository.QueryListByClause(i => i.EquipCode == "plc"); + List lstAlarm = new List(); - //if (msg.ScreenEmergencyStop) - // Alarm("1"); - //if (msg.PassageEmergencyStop) - // Alarm("2"); - //if (msg.RobotEmergencyStop) - // Alarm("3"); - //if (msg.FaultyRelays) - // Alarm("4"); - //if (msg.TelecommFailures) - // Alarm("5"); - //if (msg.MasterFailures) - // Alarm("6"); - //if (msg.TitleFailures) - // Alarm("7"); - //if (msg.TitleXFailures) - // Alarm("8"); - //if (msg.TitleYFailures) - // Alarm("9"); - //if (msg.TitleZFailures) - // Alarm("10"); - //if (msg.TitleMFailures) - // Alarm("11"); - //if (msg.WireBroken0) - // Alarm("12"); - //if (msg.WireBroken1) - // Alarm("13"); - //if (msg.WireBroken2) - // Alarm("14"); - //if (msg.WireBroken3) - // Alarm("15"); - //if (msg.XPositiveLimit) - // Alarm("16"); - //if (msg.XNegativeLimit) - // Alarm("17"); - //if (msg.YPositiveLimit) - // Alarm("18"); - //if (msg.YNegativeLimit) - // Alarm("19"); - //if (msg.ZPositiveLimit) - // Alarm("20"); - //if (msg.ZNegativeLimit) - // Alarm("21"); - //if (msg.MPositiveLimit) - // Alarm("22"); - //if (msg.MNegativeLimit) - // Alarm("23"); - //if (msg.XDriveFailure) - // Alarm("24"); - //if (msg.YDriveFailure) - // Alarm("25"); - //if (msg.ZDriveFailure) - // Alarm("26"); - //if (msg.MDriveFailure) - // Alarm("27"); - //if (msg.DoorLeft) - // Alarm("28"); - //if (msg.DoorcloseLeft) - // Alarm("29"); - //if (msg.DoorRight) - // Alarm("30"); - //if (msg.DoorcloseRight) - // Alarm("31"); - //if (msg.DoorRepaiDhambers) - // Alarm("32"); - //if (msg.DoorcloseRepairChambers) - // Alarm("33"); - //if (msg.DoorRepaiCabinet) - // Alarm("34"); - //if (msg.DoorRowFrames) - // Alarm("35"); - //if (msg.X1RetractionFailure) - // Alarm("36"); - //if (msg.X1StickingFault) - // Alarm("37"); - //if (msg.X2RetractionFailure) - // Alarm("38"); - //if (msg.X2StickingFault) - // Alarm("39"); - //if (msg.LocalBattIncorrect) - // Alarm("40"); - //if (msg.NoLocalBattery) - // Alarm("41"); - //if (msg.LocalStorageBatteries) - // Alarm("42"); - //if (msg.RemoteBattIncorrect) - // Alarm("43"); - //if (msg.RemoteBattery) - // Alarm("44"); - //if (msg.RemoteStorageBatteries) - // Alarm("45"); - //if (msg.RemoteMoveLibraryBattery) - // Alarm("46"); - //if (msg.RemoteLibraryBatteries) - // Alarm("47"); - //if (msg.RemoteAreBatteries) - // Alarm("48"); - //if (msg.RemoteMoveElectLibrary) - // Alarm("49"); - //if (msg.RemoteelectrLibrary) - // Alarm("50"); - //if (msg.RemoteelectrAreBatteries) - // Alarm("51"); - //if (msg.RemoteStorageLibrary) - // Alarm("52"); - //if (msg.RemotStorageAreBatteries) - // Alarm("53"); - //if (msg.RemoteOutboundLibrary) - // Alarm("54"); - //if (msg.RemotOutboundAreBatteries) - // Alarm("55"); - //if (msg.RemoteBackupLibrary) - // Alarm("56"); - //if (msg.RemotBackupAreBatteries) - // Alarm("57"); - //if (msg.BatteryCompartAbnormal01) - // Alarm("58"); - //if (msg.BatteryCompartAbnormal02) - // Alarm("59"); - //if (msg.BatteryCompartAbnormal03) - // Alarm("60"); - //if (msg.BatteryCompartAbnormal04) - // Alarm("61"); - //if (msg.BatteryCompartAbnormal05) - // Alarm("62"); - //if (msg.BatteryCompartAbnormal06) - // Alarm("63"); - //if (msg.BatteryCompartAbnormal07) - // Alarm("64"); - //if (msg.BatteryCompartAbnormal08) - // Alarm("65"); - //if (msg.BatteryCompartAbnormal09) - // Alarm("66"); - //if (msg.BatteryWasDetectCompartment) - // Alarm("67"); - //if (msg.RepairWasDetectCompartment) - // Alarm("68"); - //if (msg.WasDetectCompartment214) - // Alarm("69"); - //if (msg.ZSpreaderForceSensor) - // Alarm("70"); - //if (msg.YZSafetyBitAlarm) - // Alarm("71"); - //if (msg.YZSafetyWarehouseBitAlarm) - // Alarm("72"); + if (msg.ScreenEmergencyStop) + Alarm("1"); + if (msg.PassageEmergencyStop) + Alarm("2"); + if (msg.RobotEmergencyStop) + Alarm("3"); + if (msg.FaultyRelays) + Alarm("4"); + if (msg.TelecommFailures) + Alarm("5"); + if (msg.MasterFailures) + Alarm("6"); + if (msg.TitleFailures) + Alarm("7"); + if (msg.TitleXFailures) + Alarm("8"); + if (msg.TitleYFailures) + Alarm("9"); + if (msg.TitleZFailures) + Alarm("10"); + if (msg.TitleMFailures) + Alarm("11"); + if (msg.WireBroken0) + Alarm("12"); + if (msg.WireBroken1) + Alarm("13"); + if (msg.WireBroken2) + Alarm("14"); + if (msg.WireBroken3) + Alarm("15"); + if (msg.XPositiveLimit) + Alarm("16"); + if (msg.XNegativeLimit) + Alarm("17"); + if (msg.YPositiveLimit) + Alarm("18"); + if (msg.YNegativeLimit) + Alarm("19"); + if (msg.ZPositiveLimit) + Alarm("20"); + if (msg.ZNegativeLimit) + Alarm("21"); + if (msg.MPositiveLimit) + Alarm("22"); + if (msg.MNegativeLimit) + Alarm("23"); + if (msg.XDriveFailure) + Alarm("24"); + if (msg.YDriveFailure) + Alarm("25"); + if (msg.ZDriveFailure) + Alarm("26"); + if (msg.MDriveFailure) + Alarm("27"); + if (msg.DoorLeft) + Alarm("28"); + if (msg.DoorcloseLeft) + Alarm("29"); + if (msg.DoorRight) + Alarm("30"); + if (msg.DoorcloseRight) + Alarm("31"); + if (msg.DoorRepaiDhambers) + Alarm("32"); + if (msg.DoorcloseRepairChambers) + Alarm("33"); + if (msg.DoorRepaiCabinet) + Alarm("34"); + if (msg.DoorRowFrames) + Alarm("35"); + if (msg.X1RetractionFailure) + Alarm("36"); + if (msg.X1StickingFault) + Alarm("37"); + if (msg.X2RetractionFailure) + Alarm("38"); + if (msg.X2StickingFault) + Alarm("39"); + if (msg.LocalBattIncorrect) + Alarm("40"); + if (msg.NoLocalBattery) + Alarm("41"); + if (msg.LocalStorageBatteries) + Alarm("42"); + if (msg.RemoteBattIncorrect) + Alarm("43"); + if (msg.RemoteBattery) + Alarm("44"); + if (msg.RemoteStorageBatteries) + Alarm("45"); + if (msg.RemoteMoveLibraryBattery) + Alarm("46"); + if (msg.RemoteLibraryBatteries) + Alarm("47"); + if (msg.RemoteAreBatteries) + Alarm("48"); + if (msg.RemoteMoveElectLibrary) + Alarm("49"); + if (msg.RemoteelectrLibrary) + Alarm("50"); + if (msg.RemoteelectrAreBatteries) + Alarm("51"); + if (msg.RemoteStorageLibrary) + Alarm("52"); + if (msg.RemotStorageAreBatteries) + Alarm("53"); + if (msg.RemoteOutboundLibrary) + Alarm("54"); + if (msg.RemotOutboundAreBatteries) + Alarm("55"); + if (msg.RemoteBackupLibrary) + Alarm("56"); + if (msg.RemotBackupAreBatteries) + Alarm("57"); + if (msg.BatteryCompartAbnormal01) + Alarm("58"); + if (msg.BatteryCompartAbnormal02) + Alarm("59"); + if (msg.BatteryCompartAbnormal03) + Alarm("60"); + if (msg.BatteryCompartAbnormal04) + Alarm("61"); + if (msg.BatteryCompartAbnormal05) + Alarm("62"); + if (msg.BatteryCompartAbnormal06) + Alarm("63"); + if (msg.BatteryCompartAbnormal07) + Alarm("64"); + if (msg.BatteryCompartAbnormal08) + Alarm("65"); + if (msg.BatteryCompartAbnormal09) + Alarm("66"); + if (msg.BatteryWasDetectCompartment) + Alarm("67"); + if (msg.RepairWasDetectCompartment) + Alarm("68"); + if (msg.WasDetectCompartment214) + Alarm("69"); + if (msg.ZSpreaderForceSensor) + Alarm("70"); + if (msg.YZSafetyBitAlarm) + Alarm("71"); + if (msg.YZSafetyWarehouseBitAlarm) + Alarm("72"); - ////查询当前PLC的实时报警信息 - //var lstNowEquipAlarmRecord = EquipAlarmRecordRepository.QueryListByClause(i => i.EquipCode == "plc"); - //var sqllstAlarm = lstNowEquipAlarmRecord.Select(obj => obj.ErrorCode).ToList(); //当前报警列表 + //查询当前PLC的实时报警信息 + var lstNowEquipAlarmRecord = EquipAlarmRecordRepository.QueryListByClause(i => i.EquipCode == "plc"); + var sqllstAlarm = lstNowEquipAlarmRecord.Select(obj => obj.ErrorCode).ToList(); //当前报警列表 - //// 找出实时报警中存在但数据库中不存在的元素 - //List uniqueToList1 = lstAlarm.Except(sqllstAlarm).ToList(); + // 找出实时报警中存在但数据库中不存在的元素 + List uniqueToList1 = lstAlarm.Except(sqllstAlarm).ToList(); - //// 找出数据库中存在但实时报警中不存在的元素 - //List uniqueToList2 = sqllstAlarm.Except(lstAlarm).ToList(); - //if (uniqueToList1.Count > 0) - //{ - // //这里要添加新的报警数据 - // foreach (var errorCode in uniqueToList1) - // { - // EquipAlarmDefine? alarmDefine = - // EquipAlarmDefineRepository.QueryByClause(i => i.ErrorCode == errorCode); - // if (alarmDefine != null) - // { - // EquipAlarmRecord record = new EquipAlarmRecord() - // { - // EquipTypeCode = alarmDefine.EquipTypeCode, - // EquipCode = "plc", - // ErrorCode = errorCode, - // ErrorLevel = alarmDefine.ErrorLevel, - // ErrorMsg = alarmDefine.ErrorMsg, - // ProcessMethod = alarmDefine.ProcessMethod, - // StartTime = DateTime.Now - // }; - // EquipAlarmRecordRepository.Insert(record); - // } - // } - //} - //else if (uniqueToList2.Count > 0) - //{ - // //这些是要清除实时报警,并且处理记录的。 - // // 使用LINQ找出ErrorCode在uniqueToList2中的EquipAlarmRecord对象 - // List filteredObjectList = lstNowEquipAlarmRecord - // .Where(obj => uniqueToList2.Contains(obj.ErrorCode)) - // .ToList(); - // foreach (var VARIABLE in filteredObjectList) - // { - // EquipAlarmProcessRecord EquipAlarmProcessRecord = new EquipAlarmProcessRecord(); - // EquipAlarmProcessRecord.EquipTypeCode = VARIABLE.EquipTypeCode; - // EquipAlarmProcessRecord.EquipCode = VARIABLE.EquipCode; - // EquipAlarmProcessRecord.ErrorCode = VARIABLE.ErrorCode; - // EquipAlarmProcessRecord.ErrorLevel = VARIABLE.ErrorLevel; - // EquipAlarmProcessRecord.ErrorMsg = VARIABLE.ErrorMsg; - // EquipAlarmProcessRecord.ProcessMethod = VARIABLE.ProcessMethod; - // EquipAlarmProcessRecord.StartTime = VARIABLE.StartTime; - // EquipAlarmProcessRecord.ProcessTime = DateTime.Now; + // 找出数据库中存在但实时报警中不存在的元素 + List uniqueToList2 = sqllstAlarm.Except(lstAlarm).ToList(); + if (uniqueToList1.Count > 0) + { + //这里要添加新的报警数据 + foreach (var errorCode in uniqueToList1) + { + EquipAlarmDefine? alarmDefine = + EquipAlarmDefineRepository.QueryByClause(i => i.ErrorCode == errorCode); + if (alarmDefine != null) + { + EquipAlarmRecord record = new EquipAlarmRecord() + { + EquipTypeCode = alarmDefine.EquipTypeCode, + EquipCode = "plc", + ErrorCode = errorCode, + ErrorLevel = alarmDefine.ErrorLevel, + ErrorMsg = alarmDefine.ErrorMsg, + ProcessMethod = alarmDefine.ProcessMethod, + StartTime = DateTime.Now + }; + EquipAlarmRecordRepository.Insert(record); + } + } + } + else if (uniqueToList2.Count > 0) + { + //这些是要清除实时报警,并且处理记录的。 + // 使用LINQ找出ErrorCode在uniqueToList2中的EquipAlarmRecord对象 + List filteredObjectList = lstNowEquipAlarmRecord + .Where(obj => uniqueToList2.Contains(obj.ErrorCode)) + .ToList(); + foreach (var VARIABLE in filteredObjectList) + { + EquipAlarmProcessRecord EquipAlarmProcessRecord = new EquipAlarmProcessRecord(); + EquipAlarmProcessRecord.EquipTypeCode = VARIABLE.EquipTypeCode; + EquipAlarmProcessRecord.EquipCode = VARIABLE.EquipCode; + EquipAlarmProcessRecord.ErrorCode = VARIABLE.ErrorCode; + EquipAlarmProcessRecord.ErrorLevel = VARIABLE.ErrorLevel; + EquipAlarmProcessRecord.ErrorMsg = VARIABLE.ErrorMsg; + EquipAlarmProcessRecord.ProcessMethod = VARIABLE.ProcessMethod; + EquipAlarmProcessRecord.StartTime = VARIABLE.StartTime; + EquipAlarmProcessRecord.ProcessTime = DateTime.Now; - // EquipAlarmProcessRecordRepository.Insert(EquipAlarmProcessRecord); - // } + EquipAlarmProcessRecordRepository.Insert(EquipAlarmProcessRecord); + } - // EquipAlarmRecordRepository.Delete(filteredObjectList); - //} + EquipAlarmRecordRepository.Delete(filteredObjectList); + } ClientMgr.PlcClient.Auto = msg.T3 == 1;