From 8f392cc88b0768b74efca3b68785cf5aa1c38e70 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 06 十一月 2024 14:28:20 +0800 Subject: [PATCH] 代码更新 --- wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs | 358 +++++++++++++---------------------------------------------- 1 files changed, 81 insertions(+), 277 deletions(-) diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs index 2aea517..89cf2f0 100644 --- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs +++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/SendAGVTask.cs @@ -23,310 +23,114 @@ private static string name1 = ""; public static void SendAGVTask1(PLCClient plcClient) { - if (Interlocked.Exchange(ref _readSendAGVTaskSignalso, 1) == 0) + + try { - try + if (plcClient == null) { return; } + + VOLContext context = new VOLContext(); + Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); + Ibase_ware_locationRepository locationRepository = new base_ware_locationRepository(context); + int TaskInteractive = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));//1鏀跺埌 + int TaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString()));//0鍒濆/1涓嬪彂/2鍙栨秷/3鏇存敼 + int resetTaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.resetTaskInteractiveW.ToString())); + + if (TaskInteractive == 0 && TaskInteractiveW == 0) { - if (plcClient == null) { return; } - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------寮�濮嬭褰曪紝鏃堕棿锛歿DateTime.Now}------------", $"{plcClient.PLCName}SendAGVTask"); - VOLContext context = new VOLContext(); - Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); - Ibase_ware_locationRepository locationRepository = new base_ware_locationRepository(context); - int TaskInteractive = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString()));//1鏀跺埌 - int TaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString()));//0鍒濆/1涓嬪彂/2鍙栨秷/3鏇存敼 - int resetTaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.resetTaskInteractiveW.ToString())); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.114锛岃鍙栧�硷細{TaskInteractive},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}SendAGVTask"); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.112锛岃鍙栧�硷細{TaskInteractiveW},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}SendAGVTask"); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.118锛岃鍙栧�硷細{resetTaskInteractiveW},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}SendAGVTask"); - if (isTrue1 && name1 == plcClient.PLCName) + dt_agvtask agvTask = agvtaskRepository.Find(r => r.agv_taskstate == "Create" && r.agv_code == plcClient.PLCName && r.agv_tasktype.Contains("TaskType_Outbound")).OrderBy(r => r.agv_createtime).OrderByDescending(r => r.agv_grade).FirstOrDefault(); + if (null != agvTask) { - if (TaskInteractiveW != 0 || resetTaskInteractiveW != 0 || TaskInteractive != 0) - { - bool fw = plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 1); - Task.Delay(2000).Wait(); - resetTaskInteractiveW = Convert.ToInt32(plcClient.ReadValue(TaskDBName.resetTaskInteractiveW.ToString())); - if (resetTaskInteractiveW == 1) - { - plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 0); - plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - Task.Delay(2000).Wait(); - } - return; - } - else - { - isTrue1 = false; - name1 = ""; - } - } - else if (resetTaskInteractiveW == 1) - { - plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 0); - plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - Task.Delay(2000).Wait(); - return; - } - if (TaskInteractive == 0 && TaskInteractiveW == 0) - { - dt_agvtask agvTask = agvtaskRepository.Find(r => r.agv_taskstate == "Create" && r.agv_code == plcClient.PLCName && r.agv_tasktype.Contains("TaskType_Outbound")).OrderBy(r => r.agv_createtime).OrderByDescending(r => r.agv_grade).FirstOrDefault(); - if (null != agvTask) - { - //鍐欏叆浠诲姟淇℃伅 - string rel = AGVBaseInfo.TaskWrite(plcClient, agvTask, AGVJobEnum.newTaskEnum); - Thread.Sleep(1000); - string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString(); + //鍐欏叆浠诲姟淇℃伅 + string rel = AGVBaseInfo.TaskWrite(plcClient, agvTask, AGVJobEnum.newTaskEnum); - if (taskId != agvTask.agv_tasknum) + if (string.IsNullOrEmpty(rel)) + { + Thread.Sleep(500); + for (int i = 0; i < 5; i++) { - isTrue1 = true; - name1 = plcClient.PLCName; - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 缁橝GV鍐欏叆浠诲姟澶辫触,璇诲彇AGV鐨則askid:{agvTask.agv_tasknum}, AGV浠诲姟闃熷垪涓笉瀛樺湪,鏃堕棿锛歿 DateTime.Now}", $"{plcClient.PLCName}SendAGVTask"); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0},鏃堕棿锛歿 DateTime.Now}", $"{plcClient.PLCName}SendAGVTask"); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask"); - return; - //throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum)); - } - if (string.IsNullOrEmpty(rel)) - { - //鍐欏叆浠诲姟纭1 - bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 1); - Thread.Sleep(1000); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"鍐欏叆 浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:1锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW}", $"{plcClient.PLCName}SendAGVTask"); - //璇诲彇AGV淇″彿 - int ReadTask_1_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString())); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"璇诲彇 浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_1_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_1_OK)}", $"{plcClient.PLCName}SendAGVTask"); - if (ReadTask_1_OK == 1) + Thread.Sleep(200); + string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString(); + if (taskId != agvTask.agv_tasknum) { - //鍐欏叆WCS纭淇″彿0 - bool taskInteractiveW2 = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - Thread.Sleep(2000); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:0锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW2}", $"{plcClient.PLCName}SendAGVTask"); - //璇诲彇AGV淇″彿鏄惁涓�0 - int ReadTask_0_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString())); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_0_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_0_OK)}", $"{plcClient.PLCName}SendAGVTask"); - - if (ReadTask_0_OK == 0) - { - agvTask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString(); - agvTask.agv_realesstime = DateTime.Now; - int agvtsask = agvtaskRepository.Update(agvTask, true); - //if (agvtsask!=1) - //{ - // ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍐呭锛氫换鍔′慨鏀瑰け璐ワ紝鍙嶉鍊硷細{agvtsask}", $"{plcClient.PLCName}SendAGVTask"); - // ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask"); - // return; - //} - //else - //{ - // ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"浠诲姟鍙凤細{agvTask.agv_tasknum},鍐呭锛氳揣浣嶇姸鎬佸凡淇敼鏈�愬凡涓嬪彂銆戠姸鎬侊紝浠诲姟淇敼鎴愬姛锛屽弽棣堝�硷細{agvtsask}", $"{plcClient.PLCName}SendAGVTask"); - //} - } + if (i < 4) + AGVBaseInfo.TaskWrite(plcClient, agvTask, AGVJobEnum.newTaskEnum); else - { - isTrue1 = true; - name1 = plcClient.PLCName; - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"缁橝GV鍐欏叆浠诲姟纭0澶辫触 浠诲姟鍙穥agvTask.agv_tasknum}" + DateTime.Now, $"{plcClient.PLCName}SendAGVTask"); - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask"); return; - //throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟纭0澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum)); - } - } - else if (ReadTask_1_OK == 11) - { - plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - Thread.Sleep(2000); - int ReadTask_0_Error = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString())); - if (ReadTask_0_Error == 0) - { - agvTask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString(); - agvTask.agv_realesstime = DateTime.Now; - agvtaskRepository.Update(agvTask, true); - } - else - { - isTrue1 = true; - name1 = plcClient.PLCName; - throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟寮傚父纭0澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum)); - } } else { - isTrue1 = true; - name1 = plcClient.PLCName; - throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟纭1澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum)); + break; } } - else + //鍐欏叆浠诲姟纭1 + bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 1); + for (int i = 0; i < 5; i++) { - isTrue1 = true; - name1 = plcClient.PLCName; - throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0}" + "," + rel, agvTask.agv_tasknum)); + Thread.Sleep(200); + object readValue = plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString()); + if (readValue != null && readValue.ToString() == "1") + { + break; + } + else + { + plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 1); + } } + } + } + } + else if (TaskInteractive == 11 && TaskInteractiveW == 1) + { + plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); + for (int i = 0; i < 5; i++) + { + Thread.Sleep(200); + object readValue = plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString()); + if (readValue != null && readValue.ToString() == "0") + { + break; } else { - - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------寮�濮嬭褰曪紝鏃堕棿锛歿DateTime.Now}------------", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////var ddd = plcClient.SiemensPLCClient.SiemensS7NetClient.ReadString("DB1000.320", 30).Content; - OperateResult<string> TaskID = plcClient.SiemensPLCClient.SiemensS7NetClient.ReadString("DB1000.320", 30); - - if (TaskID.IsSuccess) + plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); + } + } + } + else if (1 == TaskInteractive && TaskInteractiveW == 1) + { + string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString(); + var agvTask = agvtaskRepository.FindFirst(x => x.agv_tasknum == taskId); + if (agvTask != null) + { + if (agvTask.agv_taskstate != AGVTaskStateEnum.SendOut.ToString()) + agvTask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString(); + agvTask.agv_realesstime = DateTime.Now; + agvtaskRepository.Update(agvTask, true); + plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); + for (int i = 0; i < 5; i++) + { + Thread.Sleep(200); + object readValue = plcClient.ReadValue(TaskDBName.taskInteractiveW.ToString()); + if (readValue != null && readValue.ToString() == "0") { - - TaskID.Content = TaskID.Content?.Replace("\b", "")?.Replace("\\", "")?.Replace("\0", "")?.Replace("\u0004", "")?.Replace("\u0003", "")?.Replace("\u0014", "")?.Replace("\u001e", "")?.Replace("\u0006", "")?.Replace("emptyID", "")?.Replace("mptyID", "")?.Replace("ptyID", "")?.Replace("tyID", "")?.Replace("yID", "")?.Replace("ID", "")?.Replace("\a", "")?.Replace("5-3:20:54:402025123", ""); - string result = TaskID.Content == null ? "" : TaskID.Content.Trim(); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"璇诲彇 { plcClient.PLCName},DB鍋忕Щ鍊硷細DB1000.320锛岃鍙栧�硷細{result},鏃堕棿锛歿DateTime.Now}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - - if (result != "") - { - Idt_agvtask_htyRepository agvtask_HtyRepository = new dt_agvtask_htyRepository(context); - dt_agvtask aTask = agvtaskRepository.FindFirst(d => d.agv_tasknum == result); - if (aTask != null) - { - //agvTask.agv_worktype = 2; - string rel = AGVBaseInfo.TaskWrite(plcClient, aTask, AGVJobEnum.cancelTaskEnum); - Thread.Sleep(1000); - string taskId = plcClient.ReadValue(TaskDBName.taskID.ToString()).ToString(); - if (taskId != aTask.agv_tasknum) - { - isTrue1 = true; - name1 = plcClient.PLCName; - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write("缁橝GV鍐欏叆浠诲姟澶辫触,璇诲彇AGV鐨則askid" + aTask.agv_tasknum + "AGV浠诲姟闃熷垪涓笉瀛樺湪" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - return; - } - if (string.IsNullOrEmpty(rel)) - { - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},缁橝GV鍐欏叆鍙栨秷浠诲姟鎴愬姛, 鏃堕棿锛歿 DateTime.Now}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - //鍐欏叆浠诲姟纭1 - bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 2); - Thread.Sleep(1000); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:2锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - //璇诲彇AGV淇″彿 - int ReadTask_1_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString())); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_1_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_1_OK)}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - if (ReadTask_1_OK == 1) - { - //鍐欏叆WCS纭淇″彿0 - bool taskInteractiveW2 = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - Thread.Sleep(2000); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:0锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW2}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - //璇诲彇AGV淇″彿鏄惁涓�0 - int ReadTask_0_OK = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString())); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鍋忕Щ鍊硷細DB1000.114,璇诲彇AGV淇″彿:{ReadTask_0_OK}锛岃鍙栧弽棣堢粨鏋滐細{Convert.ToBoolean(ReadTask_0_OK)}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - if (ReadTask_0_OK == 0) - { - //浠h〃鍙嶉AGV娓呮浠诲姟鎴愬姛 - updateloction(aTask, locationRepository, agvtaskRepository); - string Operate = "AGV鍙栨秷2"; - agvtask_HtyRepository.AddTaskHistory(aTask, Operate); - agvtaskRepository.Delete(aTask, true); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"浠诲姟鍙凤細{aTask.agv_tasknum},鎴愬姛鍒犻櫎娣诲姞鍘嗗彶璁板綍", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - return; - } - else - { - isTrue1 = true; - name1 = plcClient.PLCName; - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"缁橝GV鍐欏叆浠诲姟纭0澶辫触 浠诲姟鍙穥aTask.agv_tasknum}" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - return; - } - } - else if (ReadTask_1_OK == 11) - { - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"AGV鍙嶉浠诲姟11鐨勫紓甯� 浠诲姟鍙穥aTask.agv_tasknum}" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - Thread.Sleep(2000); - int ReadTask_0_Error = Convert.ToInt32(plcClient.ReadValue(TaskDBName.taskInteractiveR.ToString())); - if (ReadTask_0_Error == 0) - { - updateloction(aTask, locationRepository, agvtaskRepository); - string Operate = "AGV鍙栨秷11"; - agvtask_HtyRepository.AddTaskHistory(aTask, Operate); - agvtaskRepository.Delete(aTask, true); - } - else - { - isTrue1 = true; - name1 = plcClient.PLCName; - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"缁橝GV鍐欏叆浠诲姟寮傚父纭0澶辫触,浠诲姟鍙穥0},鏃堕棿锛�" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - return; - // throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟寮傚父纭0澶辫触,浠诲姟鍙穥0}", agvTask.agv_tasknum)); - } - } - else - { - isTrue1 = true; - name1 = plcClient.PLCName; - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"缁橝GV鍐欏叆浠诲姟纭1澶辫触,浠诲姟鍙穥0},鏃堕棿锛�" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - return; - } - - } - } - else - { - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write("AGV鍙嶉鐨勪换鍔″彿" + result + "AGV浠诲姟闃熷垪涓笉瀛樺湪锛屾椂闂达細" + DateTime.Now, $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------{Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - return; - } - } + break; } else { - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------{plcClient.PLCName}鏂紑杩炴帴 鏃堕棿锛歿DateTime.Now} -------------- {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - ////WriteLog.Info($"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}AGV鍙栨秷鏈墽琛屼换鍔�"); - return; + plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); } - - - } } - else - { - bool taskInteractiveW2 = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - } - if (TaskInteractive == 11) - { - plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - plcClient.WriteValue(TaskDBName.resetTaskInteractiveW.ToString(), 0); - } - //else if ( TaskInteractive==1 && TaskInteractiveW == 1) - // { - // isTrue1 = true; - // name1 = plcClient.PLCName; - // //鍐欏叆WCS纭淇″彿0 - // //bool taskInteractiveW= plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); - // ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"鍐欏叆 ,鍋忕Щ鍊硷細DB1000.112,鍐欏叆AGV淇″彿:0锛屽啓鍏ュ弽棣堢粨鏋滐細{taskInteractiveW}锛屾椂闂达細{ DateTime.Now}", $"{plcClient.PLCName}SendAGVTask"); - // ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write($"---------------缁撴潫璁板綍锛屾椂闂达細{DateTime.Now}------------ {Environment.NewLine}", $"{plcClient.PLCName}SendAGVTask"); - // return; - // } - //else if (TaskInteractive == 1 && TaskInteractiveW == 2) - // { - // isTrue1 = true; - // name1 = plcClient.PLCName; - // //鍐欏叆WCS纭淇″彿0 - // //bool taskInteractiveW = plcClient.WriteValue(TaskDBName.taskInteractiveW.ToString(), 0); + } - // return; - // } - - } - catch (Exception ex) - { - ////WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write(ex.Message, $"{plcClient.PLCName}SendAGVTask"); - } - finally - { - Interlocked.Exchange(ref _readSendAGVTaskSignalso, 0); - } } + catch (Exception ex) + { + //throw new Exception(ex.Message); + WriteLog.Info($"{plcClient.PLCName}SendAGVTask").Write(ex.Message, $"{plcClient.PLCName}SendAGVTask"); + } + } private static void updateloction(dt_agvtask aTask, Ibase_ware_locationRepository locationRepository, Idt_agvtaskRepository agvtaskRepository) -- Gitblit v1.9.3