| | |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_TelescopicService; |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_Core.Helper; |
| | | //<<<<<<< HEAD:project / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs |
| | | //using WIDESEAWCS_ISystemServices; |
| | | //======= |
| | | //<<<<<<< Updated upstream: 项目代码 / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs |
| | | //======= |
| | | //using WIDESEAWCS_ISystemServices; |
| | | //using WIDESEAWCS_Core.Helper; |
| | | //>>>>>>> Stashed changes: project / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs |
| | | //>>>>>>> qy0318:项目代码 / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | |
| | | private readonly IAlarmResetHsyServer _alarmResetHsyServer; |
| | | private readonly ISys_UserService _UserService; |
| | | WebSocketServer _webSocketServer; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public AlarmResetJob(WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService) |
| | | { |
| | | _webSocketServer = webSocketServer; |
| | |
| | | _UserService = UserService; |
| | | } |
| | | |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | try |
| | | { |
| | | |
| | | |
| | | //获取设备号 |
| | | // 获取设备配置 |
| | | OtherDevice serialPortDevice = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (serialPortDevice!=null) |
| | | //OtherDevice serialPortDevice = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid)) |
| | | { |
| | | Console.WriteLine("配置项 DepartmentID 无法转换为整数"); |
| | | } |
| | | var devices = GetDevicesByDeptId(deid); |
| | | if (devices != null) |
| | | { |
| | | //首先要一直读,如果发生了故障要写到_alarmResetHsyServer中记录下来并且给到前端数据 |
| | | //左plc |
| | | |
| | | if (serialPortDevice.DeviceCode == "SSG001") |
| | | var leftPLcstuck1 = devices.Value.left.Communicator.Read<bool>("M104"); //卡住报警 |
| | | var leftPLcOher1 = devices.Value.left.Communicator.Read<bool>("M105"); //其他报警 //默认是false |
| | | Console.WriteLine($"{devices.Value.left.DeviceName}:卡住报警{leftPLcstuck1},其他报警{leftPLcOher1}"); |
| | | if (leftPLcstuck1 == true && leftPLcOher1 == false) |
| | | //if (leftPLcOher == false) |
| | | { |
| | | var leftPLcstuck = serialPortDevice.Communicator.Read<bool>("M104"); //卡住报警 |
| | | var leftPLcOher = serialPortDevice.Communicator.Read<bool>("M105"); //其他报警 //默认是false |
| | | Console.WriteLine($"{serialPortDevice.DeviceName}:卡住报警{leftPLcstuck},其他报警{leftPLcOher}"); |
| | | if (leftPLcstuck == true && leftPLcOher == false) |
| | | //if (leftPLcOher == false) |
| | | { |
| | | string text = "轨道一:伸缩卡住报警"; |
| | | //报警了在这调用添加方法,并传给前端 |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck); |
| | | |
| | | } |
| | | if (leftPLcOher == true && leftPLcstuck == false) |
| | | { |
| | | string text = "轨道一:其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck); |
| | | |
| | | } |
| | | if (leftPLcstuck == true && leftPLcOher == true)//如果报警了 |
| | | { |
| | | string text = "轨道一:报警伸缩卡住报警和其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck); |
| | | |
| | | } |
| | | string text = $"轨道{deid}:伸缩卡住报警"; |
| | | //报警了在这调用添加方法,并传给前端 |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1); |
| | | |
| | | var alrt = _alarmResetHsyServer.GetWebSocketInfo(); |
| | | _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt));//websocketserver这种只能传给前端json格式 |
| | | } |
| | | else if (serialPortDevice.DeviceCode == "SSG002") |
| | | if (leftPLcstuck1 == true && leftPLcOher1 == false) |
| | | { |
| | | //右plc |
| | | var rightPLcSuck = serialPortDevice.Communicator.Read<bool>("M104"); //卡住报警 |
| | | var rightPLcOher = serialPortDevice.Communicator.Read<bool>("M105");//其他报警 |
| | | Console.WriteLine($"{serialPortDevice.DeviceName}:卡住报警{rightPLcSuck},其他报警{rightPLcOher}"); |
| | | if (rightPLcSuck == true && rightPLcOher == false) |
| | | { |
| | | string text = "轨道一:报警伸缩卡住报警"; |
| | | //报警了在这调用添加方法,并传给前端 |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcSuck); |
| | | // _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(reslut));//websocketserver这种只能传给前端json格式 |
| | | } |
| | | if (rightPLcOher == true && rightPLcSuck == false) |
| | | { |
| | | string text = "轨道一:其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher); |
| | | } |
| | | if (rightPLcSuck == true && rightPLcOher == true)//如果报警了 |
| | | { |
| | | string text = "轨道一:报警伸缩卡住报警和其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);//添加数据 |
| | | } |
| | | var alrt = _alarmResetHsyServer.GetWebSocketInfo(); |
| | | _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt)); |
| | | string text = $"轨道{deid}:其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1); |
| | | |
| | | } |
| | | |
| | | if (leftPLcstuck1 == true && leftPLcOher1 == true)//如果报警了 |
| | | { |
| | | string text = $"轨道{deid}:报警伸缩卡住报警和其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1); |
| | | } |
| | | |
| | | //右plc |
| | | var rightPLcSuck = devices.Value.right.Communicator.Read<bool>("M104"); //卡住报警 |
| | | var rightPLcOher = devices.Value.left.Communicator.Read<bool>("M105");//其他报警 |
| | | Console.WriteLine($"{devices.Value.right.DeviceName}:卡住报警{rightPLcSuck},其他报警{rightPLcOher}"); |
| | | if (rightPLcSuck == true && rightPLcOher == false) |
| | | { |
| | | string text = $"轨道{deid}:报警伸缩卡住报警"; |
| | | //报警了在这调用添加方法,并传给前端 |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcSuck); |
| | | // _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(reslut));//websocketserver这种只能传给前端json格式 |
| | | } |
| | | if (rightPLcOher == true && rightPLcSuck == false) |
| | | { |
| | | string text = $"轨道{deid}:其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher); |
| | | } |
| | | if (rightPLcSuck == true && rightPLcOher == true)//如果报警了 |
| | | { |
| | | string text = $"轨道{deid}:报警伸缩卡住报警和其他故障报警"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);//添加数据 |
| | | } |
| | | var alrt = _alarmResetHsyServer.GetWebSocketInfo(); |
| | | _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt)); |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | return Task.CompletedTask; |
| | | } |
| | | public (OtherDevice left, OtherDevice right)? GetDevicesByDeptId(int deptId) |
| | | { |
| | | // 左设备号:1 -> 001,2 -> 003,3 -> 005... |
| | | int baseCode = 1 + (deptId - 1) * 2; |
| | | string leftCode = $"SSG{baseCode.ToString("D3")}"; |
| | | string rightCode = $"SSG{(baseCode + 1).ToString("D3")}"; |
| | | |
| | | var left = (OtherDevice)Storage.Devices.Find(x => x.DeviceCode == leftCode); |
| | | var right = (OtherDevice)Storage.Devices.Find(x => x.DeviceCode == rightCode); |
| | | |
| | | if (left == null || right == null) |
| | | return null; |
| | | |
| | | return (left, right); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |