From febcd0c73b51b17f484ff9a9a189b1f85130c2f7 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 17 三月 2026 13:52:06 +0800
Subject: [PATCH] 更新自动门,新增切卷卷绕缓存架
---
wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TSJ_DownTask.cs | 143 ++++++++++++++++++++++++-----------------------
1 files changed, 73 insertions(+), 70 deletions(-)
diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TSJ_DownTask.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TSJ_DownTask.cs
index 73fda88..2798198 100644
--- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TSJ_DownTask.cs
+++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TSJ_DownTask.cs
@@ -1,6 +1,7 @@
锘縰sing HslCommunication;
using System;
using System.Threading;
+using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Common.LoctionEnum;
using WIDESEA_Common.Tools;
@@ -28,87 +29,89 @@
if (Interlocked.Exchange(ref _readTSJDOWNSignalsoZTSJ, 1) == 0)
{
-
- try
+ Task.Run(() =>
{
- VOLContext Context = new VOLContext();
- WebResponseContent responseContent = new WebResponseContent();
- Idt_task_numberRepository tasknumberRep = new dt_task_numberRepository(Context);
- dt_task_numberService tasknumber = new dt_task_numberService(tasknumberRep);
- Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
- Ibase_routing_tableRepository routingRepository = new base_routing_tableRepository(Context);
- Ibill_pda_groupdiskRepository pdaRepository = new bill_pda_groupdiskRepository(Context);
- Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
- Idt_agvtask_htyRepository agvhtyRepository = new dt_agvtask_htyRepository(Context);
- Ibill_group_stockRepository groupRepository = new bill_group_stockRepository(Context);
-
- PLCClient plc = WCSService.Clients.Find(v => v.PLCName == "姝f瀬绠旀潗鎻愬崌鏈�");
- if (plc == null)
+ try
{
- //WriteLog.GetLog("TSJ涓嬫枡鍛煎彨").Write($"璁惧锛氭鏋佺當鏉愭彁鍗囨満 鍐呭锛氭湭杩炴帴PLC 鏃堕棿璁板綍:{DateTime.Now}", "TSJ涓嬫枡鍛煎彨");
- return;
- }
- //褰撳墠璁惧鏈夋病鏈変笅鏂欒姹�
- //bool TSJ_CL = Convert.ToBoolean(plc.ReadValue("R_Feedingrequest".ToString(), plc.PLCDescroption));
- OperateResult<bool> TSJ_CL = plc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB51.93");
- if (TSJ_CL.Content)
- {
- //鏌ョ湅褰撳墠杈婂垎鏈鸿澶囨槸鍚︽湁AGV浠诲姟
- var SBtask = agvRepository.FindFirst(f => f.agv_fromaddress == plc.PLCDescroption);
- //鏈夌粨鏉熸湰娆″惊鐜�
- if (SBtask != null) { return; }
+ VOLContext Context = new VOLContext();
+ WebResponseContent responseContent = new WebResponseContent();
+ Idt_task_numberRepository tasknumberRep = new dt_task_numberRepository(Context);
+ dt_task_numberService tasknumber = new dt_task_numberService(tasknumberRep);
+ Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
+ Ibase_routing_tableRepository routingRepository = new base_routing_tableRepository(Context);
+ Ibill_pda_groupdiskRepository pdaRepository = new bill_pda_groupdiskRepository(Context);
+ Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
+ Idt_agvtask_htyRepository agvhtyRepository = new dt_agvtask_htyRepository(Context);
+ Ibill_group_stockRepository groupRepository = new bill_group_stockRepository(Context);
-
- base_ware_location ware_Locations = locRepository.FindFirst(d => d.upper_code == "ZJ-BCHCJ35" && d.location_state == LoctionStateEnum.LocationState_Empty.ToString() && d.tpgd == 0 && d.status == 1 && d.task == 2);
- if (ware_Locations != null)
+ PLCClient plc = WCSService.Clients.Find(v => v.PLCName == "姝f瀬绠旀潗鎻愬崌鏈�");
+ if (plc == null)
{
- //鐢熸垚鎻愬崌鏈烘満涓嬫枡浠诲姟
- dt_agvtask agvtask = new dt_agvtask()
+ //WriteLog.GetLog("TSJ涓嬫枡鍛煎彨").Write($"璁惧锛氭鏋佺當鏉愭彁鍗囨満 鍐呭锛氭湭杩炴帴PLC 鏃堕棿璁板綍:{DateTime.Now}", "TSJ涓嬫枡鍛煎彨");
+ return;
+ }
+ //褰撳墠璁惧鏈夋病鏈変笅鏂欒姹�
+ //bool TSJ_CL = Convert.ToBoolean(plc.ReadValue("R_Feedingrequest".ToString(), plc.PLCDescroption));
+ OperateResult<bool> TSJ_CL = plc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB51.93");
+ if (TSJ_CL.Content)
+ {
+ //鏌ョ湅褰撳墠杈婂垎鏈鸿澶囨槸鍚︽湁AGV浠诲姟
+ var SBtask = agvRepository.FindFirst(f => f.agv_fromaddress == plc.PLCDescroption);
+ //鏈夌粨鏉熸湰娆″惊鐜�
+ if (SBtask != null) { return; }
+
+
+ base_ware_location ware_Locations = locRepository.FindFirst(d => d.upper_code == "ZJ-BCHCJ35" && d.location_state == LoctionStateEnum.LocationState_Empty.ToString() && d.tpgd == 0 && d.status == 1 && d.task == 2);
+ if (ware_Locations != null)
{
- agv_id = Guid.NewGuid(),
- agv_tasknum = "KH-" + IdenxManager.GetTaskNo(),
- agv_fromaddress = plc.PLCDescroption,
- agv_toaddress = ware_Locations.upper_code,
- agv_code = "姝f瀬AGV璋冨害",
- agv_remark = "姝f瀬鎻愬崌鏈轰笅鏂�",
- agv_taskstate = AGVTaskStateEnum.Create.ToString(),
- agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(),
- agv_worktype = 1,//宸ヤ綔绫诲瀷
- agv_materielid = "",
- agv_qty = 1,
- agv_createtime = DateTime.Now,
- agv_grade = 0,//浠诲姟浼樺厛绾�
- agv_userid = "WCS",
- agv_barcode = "",
- };
-
- ware_Locations.update_time = DateTime.Now;
- ware_Locations.task = 1;
- int a= locRepository.Update(ware_Locations, d => new { d.task, d.update_time }, true);
- if (a==1)
- {
- agvRepository.Add(agvtask, true);
- WriteDBLog.Info($"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum},缁堢偣璐т綅銆恵ware_Locations.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{ware_Locations.tpgd},鐘舵�侊細{ware_Locations.location_state},鏇存柊鏃堕棿锛歿ware_Locations.wireless_time}", $"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�");
- WriteDBLog.Info($"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�");
+ //鐢熸垚鎻愬崌鏈烘満涓嬫枡浠诲姟
+ dt_agvtask agvtask = new dt_agvtask()
+ {
+ agv_id = Guid.NewGuid(),
+ agv_tasknum = "KH-" + IdenxManager.GetTaskNo(),
+ agv_fromaddress = plc.PLCDescroption,
+ agv_toaddress = ware_Locations.upper_code,
+ agv_code = "姝f瀬AGV璋冨害",
+ agv_remark = "姝f瀬鎻愬崌鏈轰笅鏂�",
+ agv_taskstate = AGVTaskStateEnum.Create.ToString(),
+ agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(),
+ agv_worktype = 1,//宸ヤ綔绫诲瀷
+ agv_materielid = "",
+ agv_qty = 1,
+ agv_createtime = DateTime.Now,
+ agv_grade = 0,//浠诲姟浼樺厛绾�
+ agv_userid = "WCS",
+ agv_barcode = "",
+ };
+
+ ware_Locations.update_time = DateTime.Now;
+ ware_Locations.task = 1;
+ int a = locRepository.Update(ware_Locations, d => new { d.task, d.update_time }, true);
+ if (a == 1)
+ {
+ agvRepository.Add(agvtask, true);
+ //WriteDBLog.Info($"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum},缁堢偣璐т綅銆恵ware_Locations.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{ware_Locations.tpgd},鐘舵�侊細{ware_Locations.location_state},鏇存柊鏃堕棿锛歿ware_Locations.wireless_time}", $"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�");
+ //WriteDBLog.Info($"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"姝f瀬鎻愬崌鏈轰笅鏂欎换鍔$敓鎴�");
+ }
+ //WriteLog.GetLog("璁惧鍛煎彨").Write($"璁惧{plc.PLCName}鍛煎彨鎴愬姛锛屼换鍔agvtask.agv_tasknum}鐢熸垚", "璁惧鍛煎彨");
}
- //WriteLog.GetLog("璁惧鍛煎彨").Write($"璁惧{plc.PLCName}鍛煎彨鎴愬姛锛屼换鍔agvtask.agv_tasknum}鐢熸垚", "璁惧鍛煎彨");
+
+
}
}
+ catch (Exception ex)
+ {
+ WriteLog.GetLog().Write($"姝f瀬鎻愬崌鏈轰笅鏂欙細{DateTime.Now} --------------{ex}", $"姝f瀬鎻愬崌鏈轰笅鏂�");
+ }
+ finally
+ {
-
- }
- catch (Exception)
- {
-
- throw;
- }
- finally
- {
-
- Interlocked.Exchange(ref _readTSJDOWNSignalsoZTSJ, 0);
- }
+ Interlocked.Exchange(ref _readTSJDOWNSignalsoZTSJ, 0);
+ }
+ });
+
}
}
--
Gitblit v1.9.3