yanjinhui
7 天以前 b9c76ce85e533250cd36de670146530f970859e7
ÏîÄ¿´úÂë/ºó¶Ë/ºǫ́¹ÜÀí/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs
@@ -34,38 +34,54 @@
            _UserService = UserService;
        }
        // å¢žæ·»çš„字典跟踪报警为每个装置 Quartz é»˜è®¤æ¯æ¬¡è°ƒåº¦ä»»åŠ¡æ—¶ä¼šé‡æ–°åˆ›å»º
        private static readonly Dictionary<string, bool> _leftAlarmStates = new Dictionary<string, bool>() //加锁
        {
            ["M109"] = false,//伺服报警
            ["M111"] = false,//其他报警
            ["M110"] = false,//急停报警
            ["M120"] = false,//障碍报警
        };
        private static readonly Dictionary<string, bool> _rightAlarmStates = new Dictionary<string, bool>()
        {
            ["M109"] = false,//伺服报警
            ["M111"] = false,//其他报警
            ["M110"] = false,//急停报警
            ["M120"] = false,//障碍报警
        };
        public Task Execute(IJobExecutionContext context)
        {
            //try
            //{
            try
            {
            //    //获取设备号
            //    // èŽ·å–å…¨éƒ¨è®¾å¤‡é…ç½®
            //    OtherDevice serialPortDevice = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams");
                //获取设备号
                // èŽ·å–å…¨éƒ¨è®¾å¤‡é…ç½®
                //OtherDevice serialPortDevice = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams");
            //    if (serialPortDevice!=null)
            //    {
            //        HandleAlarm(serialPortDevice);
            //    }
                //if (serialPortDevice != null)
                //{
                //    HandleAlarm(serialPortDevice);
                //}
            //    var alarmInfo = _alarmResetHsyServer.GetWebSocketInfo();
            //    _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alarmInfo));
                //只读
                var alarmInfo = _alarmResetHsyServer.GetWebSocketInfo();
                _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alarmInfo));
            //}
            //catch (Exception ex)
            //{
            }
            catch (Exception ex)
            {
            //    Console.WriteLine("错误信息:" + ex.Message);
            //    Console.WriteLine(ex.StackTrace);
            //}
                Console.WriteLine("错误信息:" + ex.Message);
                Console.WriteLine(ex.StackTrace);
            }
            return Task.CompletedTask;
        }
        private void HandleAlarm(OtherDevice device)
        {
            try
            {
                var stuck = device.Communicator.Read<bool>("M109"); //伸缩杆报警//默认是false
                var stuck = device.Communicator.Read<bool>("M109"); //伸缩杆伺服报警//默认是false
                var other = device.Communicator.Read<bool>("M111"); //其他报警 //默认是false
                var scram = device.Communicator.Read<bool>("M110");//急停报警//默认是false
                var stop = device.Communicator.Read<bool>("M120");//遇到障碍停止报警
@@ -95,22 +111,19 @@
                    return;
                }
                if (stuck && !other)
                if (stuck && !_leftAlarmStates["M109"])
                {
                    var alarm = _alarmResetHsyServer.AddAlarmHsy(deptId, $"{location}:伸缩杆伺服报警", stuck);
                    Console.WriteLine($"{location}:伸缩杆伺服报警", stuck);
                    var alarm = _alarmResetHsyServer.AddAlarmHsy(deptId, $"{location}:卡住报警", stuck);
                    Console.WriteLine($"{location}:卡住报警", stuck);
                }
                if (!stuck && other)
                if (other)
                {
                    var alarm = _alarmResetHsyServer.AddAlarmHsy(deptId, $"{location}:其他报警", other);
                    Console.WriteLine($"{location}:其他报警", other);
                }
                if (stuck && other)
                {
                    var alarm = _alarmResetHsyServer.AddAlarmHsy(deptId, $"{location}:伸缩杆伺服报警和其他报警", other);
                    Console.WriteLine($"{location}:伸缩杆伺服报警和其他报警", other);
                }
                 if (scram&& !stuck && !other)
                 if (scram)
                {
                    var alarm = _alarmResetHsyServer.AddAlarmHsy(deptId, $"{location}:急停报警", scram);
                }