From 1e414dac65915133e5474b6f811fd782be36a17f Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期四, 29 五月 2025 13:30:15 +0800
Subject: [PATCH] 修改plc读写

---
 project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs |  131 +++++++++++++++++++++++++++----------------
 1 files changed, 81 insertions(+), 50 deletions(-)

diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs
index 80f6882..7e96004 100644
--- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs
+++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs
@@ -15,15 +15,7 @@
 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: 椤圭洰浠g爜 / 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:椤圭洰浠g爜 / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs
+
 
 namespace WIDESEAWCS_Tasks
 {
@@ -34,14 +26,15 @@
         private readonly IAlarmResetHsyServer _alarmResetHsyServer;
         private readonly ISys_UserService _UserService;
         WebSocketServer _webSocketServer;
+        private readonly Idt_ErrormsginfoService _ErrormsginfoService;
 
 
-
-        public AlarmResetJob(WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService)
+        public AlarmResetJob(Idt_ErrormsginfoService errormsginfoService, WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService)
         {
             _webSocketServer = webSocketServer;
             _alarmResetHsyServer = alarmResetHsyServer;
             _UserService = UserService;
+            _ErrormsginfoService = errormsginfoService;
         }
 
 
@@ -62,58 +55,95 @@
                 {
                     //棣栧厛瑕佷竴鐩磋锛屽鏋滃彂鐢熶簡鏁呴殰瑕佸啓鍒癬alarmResetHsyServer涓褰曚笅鏉ュ苟涓旂粰鍒板墠绔暟鎹�
                     //宸lc
-                    var leftPLcstuck1 = devices.Value.left.Communicator.Read<bool>("M109"); //鍗′綇鎶ヨ
-                    var leftPLcOher1 = devices.Value.left.Communicator.Read<bool>("M111");  //鍏朵粬鎶ヨ //榛樿鏄痜alse
-                    Console.WriteLine($"{devices.Value.left.DeviceName}:鍗′綇鎶ヨ{leftPLcstuck1}锛屽叾浠栨姤璀leftPLcOher1}");
-                    if (leftPLcstuck1 == true && leftPLcOher1 == false)
-                    //if (leftPLcOher == false)
+                    try
                     {
-                        string text = $"杞ㄩ亾{deid}锛氫几缂╁崱浣忔姤璀�";
-                        //鎶ヨ浜嗗湪杩欒皟鐢ㄦ坊鍔犳柟娉曪紝骞朵紶缁欏墠绔�
-                        var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1);
+                        if (devices.Value.left.IsConnected)
+                        {
+                            var leftPLcstuck1 = devices.Value.left.Communicator.Read<bool>("M109"); //鍗′綇鎶ヨ
+                            var leftPLcOher1 = devices.Value.left.Communicator.Read<bool>("M111");  //鍏朵粬鎶ヨ //榛樿鏄痜alse
+                            var leftPLcNowAdd = devices.Value.left.Communicator.Read<float>("D80");
+                            Console.WriteLine($"{devices.Value.left.DeviceName}:鍗′綇鎶ヨ{leftPLcstuck1}锛屽叾浠栨姤璀leftPLcOher1}");
+                            if (leftPLcstuck1 == true && leftPLcOher1 == false)
+                            //if (leftPLcOher == false)
+                            {
+                                string text = $"杞ㄩ亾{deid}锛氫几缂╁崱浣忔姤璀�";
+                                //鎶ヨ浜嗗湪杩欒皟鐢ㄦ坊鍔犳柟娉曪紝骞朵紶缁欏墠绔�
+                                var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1);
 
-                    }
-                    if (leftPLcstuck1 == true && leftPLcOher1 == false)
-                    {
-                        string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�";
-                        var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1);
 
-                    }
-                    if (leftPLcstuck1 == true && leftPLcOher1 == true)//濡傛灉鎶ヨ浜�
-                    {
-                        string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ";
-                        var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1);
-                    }
+                            }
+                            if (leftPLcstuck1 == false && leftPLcOher1 == true)
+                            {
+                                string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�";
+                                var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1);
 
-                    //鍙硃lc
-                    var rightPLcSuck = devices.Value.right.Communicator.Read<bool>("M109"); //鍗′綇鎶ヨ
-                    var rightPLcOher = devices.Value.left.Communicator.Read<bool>("M110");//鍏朵粬鎶ヨ
-                    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 (leftPLcstuck1 == true && leftPLcOher1 == true)//濡傛灉鎶ヨ浜�
+                            {
+                                string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ";
+                                var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1);
+                            }
+                            _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new
+                            {
+                                device = "宸lc",
+                                Liftvalue = leftPLcNowAdd
+                            }));//鎶奃80缁欏墠绔�
+                        }
                     }
-                    if (rightPLcOher == true && rightPLcSuck == false)
+                    catch (Exception)
                     {
-                        string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�";
-                        var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);
+                        string text = $"杞ㄩ亾{deid}锛氬乏PLC鏈繛鎺�";
+                        var reslut = _alarmResetHsyServer.AddAlarmHsy(text, false);//娣诲姞鏁版嵁
                     }
-                    if (rightPLcSuck == true && rightPLcOher == true)//濡傛灉鎶ヨ浜�
+                    
+                    try
                     {
-                        string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ";
-                        var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);//娣诲姞鏁版嵁
+                        if (devices.Value.right.IsConnected)//鏄惁杩炴帴涓�
+                        {
+                            //鍙硃lc
+                            var rightPLcSuck = devices.Value.right.Communicator.Read<bool>("M109"); //鍗′綇鎶ヨ
+                            var rightPLcOher = devices.Value.right.Communicator.Read<bool>("M110");//鍏朵粬鎶ヨ
+                            var rightPLcNowAdd = devices.Value.right.Communicator.Read<float>("D80");
+                            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 == false && rightPLcSuck == true)
+                            {
+                                string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�";
+                                var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);
+                            }
+                            if (rightPLcSuck == true && rightPLcOher == true)//濡傛灉鎶ヨ浜�
+                            {
+                                string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ";
+                                var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);//娣诲姞鏁版嵁
+                            }
+                            _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new {
+                                device="鍙砅lc",
+                                Rightvalue= rightPLcNowAdd
+                            }));//鎶奃80缁欏墠绔�
+
+                        }
+                    }
+                    catch (Exception)
+                    {
+                        string text = $"杞ㄩ亾{deid}锛氬彸PLC鏈繛鎺�";
+                        var reslut = _alarmResetHsyServer.AddAlarmHsy(text, false);//娣诲姞鏁版嵁
                     }
                     var alrt = _alarmResetHsyServer.GetWebSocketInfo();
                     _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt));
+                    
                 }
-
             }
+
+                       
             catch (Exception ex)
             {
-
+                _ErrormsginfoService.UpdateErrorMsg(ex.Message, 1);
                 Console.WriteLine("閿欒淇℃伅锛�" + ex.Message);
                 Console.WriteLine(ex.StackTrace);
             }
@@ -129,8 +159,9 @@
             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;
+            
+            //if (left == null || right == null)
+            //    return null;
 
             return (left, right);
         }

--
Gitblit v1.9.3