From 114ffafeeb20ef7066cb2e2882bb58b96f791ab5 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 20 十月 2025 11:33:11 +0800
Subject: [PATCH] 提交数据
---
项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs | 329 ++++++++++++++++++++++++++++++------------------------
1 files changed, 180 insertions(+), 149 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs"
index 4fc54c3..6673b39 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs"
@@ -15,6 +15,10 @@
using WIDESEAWCS_TelescopicService;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_Core.Helper;
+using Microsoft.AspNetCore.Http;
+using System.Collections.Concurrent;
+using Microsoft.AspNetCore.Hosting.Server;
+using static System.Collections.Specialized.BitVector32;
namespace WIDESEAWCS_Tasks
{
@@ -26,6 +30,7 @@
WebSocketServer _webSocketServer;
private readonly Idt_ErrormsginfoService _ErrormsginfoService;
private readonly AlarmResetHsyServer _alarmResetHsy;
+ private readonly IIPaddressServer _cunstomipService;
//private static readonly object _lockObj = new object(); //鍔犻攣
@@ -45,182 +50,208 @@
["M120"] = false,//闅滅鎶ヨ
};
- public AlarmResetJob(Idt_ErrormsginfoService errormsginfoService, WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService)
+ public AlarmResetJob(Idt_ErrormsginfoService errormsginfoService, WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService, IIPaddressServer cunstomipService)
{
_webSocketServer = webSocketServer;
_alarmResetHsyServer = alarmResetHsyServer;
_UserService = UserService;
_ErrormsginfoService = errormsginfoService;
+ _cunstomipService = cunstomipService;
}
+
+
public Task Execute(IJobExecutionContext context)
{
try
{
- if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ WebSocketSession[] webSocketSessions = _webSocketServer.OnlineSessions;//灏嗘墍鏈夌殑杩炴帴淇℃伅瀛樺埌杩欓噷
+ //string clientIp = webSocketSessions[0].Remote.Address.ToString().Replace("::ffff", ""); //鑾峰彇涓�涓猧p鍦板潃
+
+ foreach (var session in webSocketSessions)
{
- Console.WriteLine("閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�");
- }
- var devices = GetDevicesByDeptId(deid);
- if (devices != null)
- {
- // Left PLC processing
- try
+ string clientIp = session.Remote.Address.ToString().Replace("::ffff:", "");
+ var customip = _cunstomipService.GetStandid(clientIp);
+ if (customip.Status && customip.Data != null)
{
- if (devices.Value.left.IsConnected)
+ //var deid = customip.Data.StationID;
+ var deid = Convert.ToInt32(customip.Data);
+ var devices = GetDevicesByDeptId(deid);
+
+
+
+ //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ //{
+ // Console.WriteLine("閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�");
+ //}
+ //var devices = GetDevicesByDeptId(deid);
+
+
+ if (devices != null)
{
- var leftPLcstuck1 = devices.Value.left.Communicator.Read<bool>("M109"); // Servo alarm
- var leftPLcOher1 = devices.Value.left.Communicator.Read<bool>("M111"); // Other alarm
- var leftscram = devices.Value.left.Communicator.Read<bool>("M110"); // Emergency stop
- var leftstop = devices.Value.left.Communicator.Read<bool>("M120"); // Obstacle stop
-
- var leftPLcNowAdd = devices.Value.left.Communicator.Read<float>("D80");
- Console.WriteLine($"{devices.Value.left.DeviceName}:鍗′綇鎶ヨ{leftPLcstuck1}锛屽叾浠栨姤璀leftPLcOher1}");
-
-
- // Check and record alarms only when state changes from false to true
- if (leftPLcstuck1 && !_leftAlarmStates["M109"])
- {
- string text = $"妫�8閬撳乏渚ц鎯曟満鏋勶細浼哥缉鍗′綇鎶ヨ";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcstuck1);
- _leftAlarmStates["M109"] = true;
- }
- else if (!leftPLcstuck1)
- {
- _leftAlarmStates["M109"] = false;
- }
-
- if (leftPLcOher1 && !_leftAlarmStates["M111"])
- {
- string text = $"妫�8閬撳乏渚ц鎯曟満鏋勶細鍏朵粬鏁呴殰鎶ヨ";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcOher1);
- _leftAlarmStates["M111"] = true;
- }
- else if (!leftPLcOher1)
- {
- _leftAlarmStates["M111"] = false;
- }
-
- if (leftscram && !_leftAlarmStates["M110"])
- {
- string text = $"妫�8閬撳乏渚ц鎯曟満鏋勶細鎬ュ仠鎶ヨ";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftscram);
- _leftAlarmStates["M110"] = true;
- }
- else if (!leftscram)
- {
- _leftAlarmStates["M110"] = false;
- }
-
- if (leftstop && !_leftAlarmStates["M120"])
- {
- string text = $"妫�8閬撳乏渚ц鎯曟満鏋勶細閬囬殰纰嶅仠姝㈡姤璀�";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftstop);
- _leftAlarmStates["M120"] = true;
- }
- else if (!leftstop)
- {
- _leftAlarmStates["M120"] = false;
- }
-
-
- _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new
+ // Left PLC processing
+ try
{
- device = "宸lc",
- Liftvalue = leftPLcNowAdd
- }));
+ if (devices.Value.left.IsConnected)
+ {
+ var leftPLcstuck1 = devices.Value.left.Communicator.Read<bool>("M109"); // Servo alarm
+ var leftPLcOher1 = devices.Value.left.Communicator.Read<bool>("M111"); // Other alarm
+ var leftscram = devices.Value.left.Communicator.Read<bool>("M110"); // Emergency stop
+ var leftstop = devices.Value.left.Communicator.Read<bool>("M120"); // Obstacle stop
+
+ var leftPLcNowAdd = devices.Value.left.Communicator.Read<float>("D80"); //褰撳墠浣嶇疆
+ Console.WriteLine($"{devices.Value.left.DeviceName}:鍗′綇鎶ヨ{leftPLcstuck1}锛屽叾浠栨姤璀leftPLcOher1}");
+
+
+ // Check and record alarms only when state changes from false to true
+ if (leftPLcstuck1 && !_leftAlarmStates["M109"])
+ {
+ string text = $"妫�{deid}閬撳乏渚ц鎯曟満鏋勶細浼哥缉鍗′綇鎶ヨ";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcstuck1);
+ _leftAlarmStates["M109"] = true;
+ }
+ else if (!leftPLcstuck1)
+ {
+ _leftAlarmStates["M109"] = false;
+ }
+
+ if (leftPLcOher1 && !_leftAlarmStates["M111"])
+ {
+ string text = $"妫�{deid}閬撳乏渚ц鎯曟満鏋勶細鍏朵粬鏁呴殰鎶ヨ";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcOher1);
+ _leftAlarmStates["M111"] = true;
+ }
+ else if (!leftPLcOher1)
+ {
+ _leftAlarmStates["M111"] = false;
+ }
+
+ if (leftscram && !_leftAlarmStates["M110"])
+ {
+ string text = $"妫�{deid}閬撳乏渚ц鎯曟満鏋勶細鎬ュ仠鎶ヨ";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftscram);
+ _leftAlarmStates["M110"] = true;
+ }
+ else if (!leftscram)
+ {
+ _leftAlarmStates["M110"] = false;
+ }
+
+ if (leftstop && !_leftAlarmStates["M120"])
+ {
+ string text = $"妫�{deid}閬撳乏渚ц鎯曟満鏋勶細閬囬殰纰嶅仠姝㈡姤璀�";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftstop);
+ _leftAlarmStates["M120"] = true;
+ }
+ else if (!leftstop)
+ {
+ _leftAlarmStates["M120"] = false;
+ }
+
+
+ _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new
+ {
+ device = "宸lc",
+ Liftvalue = leftPLcNowAdd
+ })); //杩斿洖褰撳墠plc浣嶇疆
+ }
+ }
+ catch (Exception)
+ {
+ string text = $"杞ㄩ亾{deid}锛氬乏PLC鏈繛鎺�";
+ //var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, false);
+ }
+
+ // Right PLC processing
+ try
+ {
+ if (devices.Value.right.IsConnected)
+ {
+ var rightPLcSuck = devices.Value.right.Communicator.Read<bool>("M109"); // Servo alarm
+ var rightPLcOher = devices.Value.right.Communicator.Read<bool>("M111"); // Other alarm
+ var rightscram = devices.Value.right.Communicator.Read<bool>("M110"); // Emergency stop
+ var rightstop = devices.Value.right.Communicator.Read<bool>("M120"); // Obstacle stop
+
+
+ var rightPLcNowAdd = devices.Value.right.Communicator.Read<float>("D80");
+ Console.WriteLine($"{devices.Value.right.DeviceName}:鍗′綇鎶ヨ{rightPLcSuck}锛屽叾浠栨姤璀rightPLcOher}");
+
+
+ // Check and record alarms only when state changes from false to true
+ if (rightPLcSuck && !_rightAlarmStates["M109"])
+ {
+ string text = $"妫�{deid}閬撳彸渚ц鎯曟満鏋勶細鎶ヨ浼哥缉鍗′綇鎶ヨ";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcSuck);
+ _rightAlarmStates["M109"] = true;
+ }
+ else if (!rightPLcSuck)
+ {
+ _rightAlarmStates["M109"] = false;
+ }
+
+ if (rightPLcOher && !_rightAlarmStates["M111"])
+ {
+ string text = $"妫�{deid}閬撳彸渚ц鎯曟満鏋勶細鍏朵粬鏁呴殰鎶ヨ";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcOher);
+ _rightAlarmStates["M111"] = true;
+ }
+ else if (!rightPLcOher)
+ {
+ _rightAlarmStates["M111"] = false;
+ }
+
+ if (rightscram && !_rightAlarmStates["M110"])
+ {
+ string text = $"妫�{deid}閬撳彸渚ц鎯曟満鏋勶細鎬ュ仠鎶ヨ";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightscram);
+ _rightAlarmStates["M110"] = true;
+ }
+ else if (!rightscram)
+ {
+ _rightAlarmStates["M110"] = false;
+ }
+
+ if (rightstop && !_rightAlarmStates["M120"])
+ {
+ string text = $"妫�{deid}閬撳彸渚ц鎯曟満鏋勶細閬囬殰纰嶅仠姝㈡姤璀�";
+ var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightstop);
+ _rightAlarmStates["M120"] = true;
+ }
+ else if (!rightstop)
+ {
+ _rightAlarmStates["M120"] = false;
+ }
+
+ _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new
+ {
+ device = "鍙砅lc",
+ Rightvalue = rightPLcNowAdd
+ }));
+ }
+ }
+ catch (Exception)
+ {
+ string text = $"杞ㄩ亾{deid}锛氬彸PLC鏈繛鎺�";
+ //var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, false);
+ }
+
+ var alrt = _alarmResetHsyServer.GetWebSocketInfo(deid);
+ _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt)); //杩斿洖鎵�鏈夌殑鎶ヨ琛ㄧ殑淇℃伅
}
}
- catch (Exception)
- {
- string text = $"杞ㄩ亾{deid}锛氬乏PLC鏈繛鎺�";
- //var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, false);
}
-
- // Right PLC processing
- try
- {
- if (devices.Value.right.IsConnected)
- {
- var rightPLcSuck = devices.Value.right.Communicator.Read<bool>("M109"); // Servo alarm
- var rightPLcOher = devices.Value.right.Communicator.Read<bool>("M111"); // Other alarm
- var rightscram = devices.Value.right.Communicator.Read<bool>("M110"); // Emergency stop
- var rightstop = devices.Value.right.Communicator.Read<bool>("M120"); // Obstacle stop
-
- var rightPLcNowAdd = devices.Value.right.Communicator.Read<float>("D80");
- Console.WriteLine($"{devices.Value.right.DeviceName}:鍗′綇鎶ヨ{rightPLcSuck}锛屽叾浠栨姤璀rightPLcOher}");
-
-
- // Check and record alarms only when state changes from false to true
- if (rightPLcSuck && !_rightAlarmStates["M109"])
- {
- string text = $"妫�8閬撳彸渚ц鎯曟満鏋勶細鎶ヨ浼哥缉鍗′綇鎶ヨ";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcSuck);
- _rightAlarmStates["M109"] = true;
- }
- else if (!rightPLcSuck)
- {
- _rightAlarmStates["M109"] = false;
- }
-
- if (rightPLcOher && !_rightAlarmStates["M111"])
- {
- string text = $"妫�8閬撳彸渚ц鎯曟満鏋勶細鍏朵粬鏁呴殰鎶ヨ";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcOher);
- _rightAlarmStates["M111"] = true;
- }
- else if (!rightPLcOher)
- {
- _rightAlarmStates["M111"] = false;
- }
-
- if (rightscram && !_rightAlarmStates["M110"])
- {
- string text = $"妫�8閬撳彸渚ц鎯曟満鏋勶細鎬ュ仠鎶ヨ";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightscram);
- _rightAlarmStates["M110"] = true;
- }
- else if (!rightscram)
- {
- _rightAlarmStates["M110"] = false;
- }
-
- if (rightstop && !_rightAlarmStates["M120"])
- {
- string text = $"妫�8閬撳彸渚ц鎯曟満鏋勶細閬囬殰纰嶅仠姝㈡姤璀�";
- var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightstop);
- _rightAlarmStates["M120"] = true;
- }
- else if (!rightstop)
- {
- _rightAlarmStates["M120"] = false;
- }
-
- _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new
- {
- device = "鍙砅lc",
- Rightvalue = rightPLcNowAdd
- }));
- }
- }
- catch (Exception)
- {
- string text = $"杞ㄩ亾{deid}锛氬彸PLC鏈繛鎺�";
- //var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, false);
- }
-
- var alrt = _alarmResetHsyServer.GetWebSocketInfo(deid);
- _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt));
}
- }
catch (Exception ex)
{
_ErrormsginfoService.UpdateErrorMsg(ex.Message, 1);
Console.WriteLine("閿欒淇℃伅锛�" + ex.Message);
Console.WriteLine(ex.StackTrace);
}
+
return Task.CompletedTask;
+
}
+
public (OtherDevice left, OtherDevice right)? GetDevicesByDeptId(int deptId)
{
--
Gitblit v1.9.3