From f8f31ede7a7d550cf0cea943226bd521bd4274a8 Mon Sep 17 00:00:00 2001 From: Zhang-Hong-Lin <a3219986988@163.com> Date: 星期二, 04 三月 2025 20:24:52 +0800 Subject: [PATCH] a --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs | 106 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 86 insertions(+), 20 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs" index 4be4e95..ea90c33 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs" @@ -17,6 +17,7 @@ using System.Threading.Tasks; using WIDESEAWCS_Communicator; using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_ISystemServices; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; @@ -29,12 +30,15 @@ [DisallowConcurrentExecution] public class ZXJJob : JobBase, IJob { + public static bool W_ZXJ_Heat = true; private readonly ITaskService _taskService; WebSocketServer _webSocketServer; - public ZXJJob(ITaskService taskService, WebSocketServer webSocketServer) + private readonly Idt_ErrormsginfoService _ErrormsginfoService; + public ZXJJob(ITaskService taskService, WebSocketServer webSocketServer,Idt_ErrormsginfoService errormsginfoService) { _taskService = taskService;//娉ㄥ叆 _webSocketServer = webSocketServer; + _ErrormsginfoService = errormsginfoService; } public Task Execute(IJobExecutionContext context) @@ -43,32 +47,94 @@ bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); if (flag && value != null) { - OtherDevice device = (OtherDevice)value; + try { - //Example - //device.GetValue 璇诲彇 - //device.SetValue 鍐欏叆 - //_taskService.Repository; //浠撳偍灞傦紝杩涜鏁版嵁搴撹闂� - OHTReadData oHTReadData = new OHTReadData(); - //todo:璇诲彇璁惧鏁版嵁锛� - - - //todo:璁惧鐘舵�佹暟鎹彂閫佺粰鍓嶇 - - - - //WriteInfo(device.DeviceName, "infoLog"); - - //WriteDebug(device.DeviceName, "debugLog"); + //澶╄溅PLC瀵硅薄 + OtherDevice TCevice = (OtherDevice)Storage.Devices.Find(v => v.DeviceName == "澶╄溅"); + if (TCevice.Communicator.IsConnected) + { + #region 璇诲彇澶╄溅璁惧鏁版嵁 + OHTJob.oHTReadData.R_HeartBeat = TCevice.GetValue<DeviceDBName, bool>(DeviceDBName.R_HeartBeat); + OHTJob.oHTReadData.R_RunMode = TCevice.GetValue<DeviceDBName, short>(DeviceDBName.R_RunMode); + OHTJob.oHTReadData.R_RunState = TCevice.GetValue<DeviceDBName, short>(DeviceDBName.R_RunState); + OHTJob.oHTReadData.R_AlarmCode = TCevice.GetValue<DeviceDBName, short>(DeviceDBName.R_AlarmCode); + OHTJob.oHTReadData.R_TaskState = TCevice.GetValue<DeviceDBName, short>(DeviceDBName.R_TaskState); + OHTJob.oHTReadData.R_CurrentLine = TCevice.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentLine); + OHTJob.oHTReadData.R_CurrentColumn = TCevice.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentColumn); + OHTJob.oHTReadData.R_RiseUp_Position = TCevice.GetValue<DeviceDBName, int>(DeviceDBName.R_RiseUp_Position); + OHTJob.oHTReadData.R_TaskNumber = TCevice.GetValue<DeviceDBName, int>(DeviceDBName.R_TaskNumber); + OHTJob.oHTReadData.R_Loaded_1 = TCevice.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_1); + OHTJob.oHTReadData.R_Loaded_2 = TCevice.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_2); + OHTJob.oHTReadData.weight = TCevice.GetValue<DeviceDBName, float>(DeviceDBName.weight); + #endregion + } + else + { + throw new Exception($"澶╄溅PLC杩炴帴澶辫触"); + } + //鏁村舰鏈篜LC瀵硅薄 + OtherDevice device = (OtherDevice)value; + if (device.Communicator.IsConnected) + { + #region 璇诲彇鏁村舰鏈鸿澶囨暟鎹� + OHTJob.oHTReadData.R_ZXJ_HeartBeat = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_ZXJ_HeartBeat); + OHTJob.oHTReadData.R_ZXJ_isWork = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_ZXJ_isWork); + OHTJob.oHTReadData.R_ZXJ_RGVMode = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_ZXJ_RGVMode); + OHTJob.oHTReadData.R_ZXJ_TCMode = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_ZXJ_TCMode); + OHTJob.oHTReadData.R_ZXJ_TC_isready = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_ZXJ_TC_isready); + OHTJob.oHTReadData.R_TCMode_TC = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_TCMode_TC); + OHTJob.oHTReadData.R_TCMode_CC = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_TCMode_CC); + OHTJob.oHTReadData.R_HC_isReady = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_HC_isReady); + OHTJob.oHTReadData.R_HC_isReadyWork = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_HC_isReadyWork); + OHTJob.oHTReadData.R_issafe = device.GetValue<ZXJDBName, bool>(ZXJDBName.R_issafe); + #endregion + if (W_ZXJ_Heat) + { + W_ZXJ_Heat = false; + device.SetValue(ZXJDBName.W_ZXJ_HeartBeat, W_ZXJ_Heat); + } + else + { + W_ZXJ_Heat = true; + device.SetValue(ZXJDBName.W_ZXJ_HeartBeat, W_ZXJ_Heat); + } + } + else + { + throw new Exception($"鏁村舰鏈篜LC杩炴帴澶辫触"); + } + //瑙勬暣鏈篜LC瀵硅薄 + OtherDevice GZJevice = (OtherDevice)Storage.Devices.Find(v => v.DeviceName == "闃虫瀬瑙勬暣鏈�"); + if (GZJevice.Communicator.IsConnected) + { + #region 璇诲彇瑙勬暣鏈鸿澶囨暟鎹� + OHTJob.oHTReadData.R_ZXJ_HeartBeat = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_GZJ_HeartBeat); + OHTJob.oHTReadData.R_GZJ_isWork = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_GZJ_isWork); + OHTJob.oHTReadData.R_RGVMode = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_RGVMode); + OHTJob.oHTReadData.R_CCMode = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_CCMode); + OHTJob.oHTReadData.R_TCMode = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_TCMode); + OHTJob.oHTReadData.R_DK_isready = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_DK_isready); + OHTJob.oHTReadData.R_XK_isready = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_XK_isready); + OHTJob.oHTReadData.R_TC_isready = GZJevice.GetValue<GZJDBName, bool>(GZJDBName.R_TC_isready); + #endregion + } + else + { + throw new Exception($"瑙勬暣鏈篜LC杩炴帴澶辫触"); + } + //鐘舵�佹暟鎹彂閫佺粰鍓嶇 + string ohtData = JsonConvert.SerializeObject(OHTJob.oHTReadData); + _webSocketServer.PublishAllClientPayload(ohtData); } catch (Exception ex) { - WriteError(device.DeviceName, "閿欒", ex); + //鐘舵�佹暟鎹彂閫佺粰鍓嶇 + string ohtData = JsonConvert.SerializeObject(OHTJob.oHTReadData); + _webSocketServer.PublishAllClientPayload(ohtData); + _ErrormsginfoService.UpdateErrorMsg(ex.Message, 1); } } - - return Task.CompletedTask; } -- Gitblit v1.9.3