From 3163fec4985ebc87ea859087cdedacad749096d9 Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期五, 28 二月 2025 19:15:39 +0800 Subject: [PATCH] 1 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 291 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 222 insertions(+), 69 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" index babb09a..f5b350f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; +using System.Diagnostics.Eventing.Reader; using System.Linq; using System.Reflection.Metadata; using System.Text; @@ -100,6 +101,7 @@ { if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) { + wcs_PLCto07("浠诲姟瀹屾垚", $"浠诲姟鍙凤細{e.TaskNum}", $"璇诲彇鍒板爢鍨涙満瀹屾垚淇″彿锛屼换鍔″畬鎴愶紝瀹屾垚鏃堕棿锛歿DateTime.Now}"); Console.Out.WriteLine("TaskCompleted" + e.TaskNum); _taskService.StackCraneTaskCompleted(e.TaskNum); commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); @@ -115,25 +117,6 @@ private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane) { Dt_Task task; - /*if (commonStackerCrane.LastTaskType == null) - { - task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode); - } - else - { - if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) - { - task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); - if (task == null) - { - task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); - } - } - else - { - task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); - } - }*/ task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode); if (task != null && task.TaskType== (int)TaskOutboundTypeEnum.Outbound) @@ -142,31 +125,51 @@ if (targetCodes[4] == "02") { - task = OutTaskMovelibrary(task); - if (task != null) + Dt_Task taskst = OutTaskMovelibrary(task); + if (taskst != null) { - return task; + if(taskst.TaskType == (int)TaskRelocationTypeEnum.Relocation) + { + return taskst; + } + else + { + if(taskst.TargetAddress== "R02-001-021-001-02" || taskst.TargetAddress == "R02-001-022-001-02") + { + return taskst; + } + else + { + if (OutTaskStationIsOccupied(taskst) != null) + { + return taskst; + } + } + + } + } - } - if (OutTaskStationIsOccupied(task) != null) - { - return task; + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); } else { - List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); - List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); - foreach (var item in tasks) + if (task.TargetAddress == "R02-001-021-001-02" || task.TargetAddress == "R02-001-022-001-02") + { + return task; + } + else { if (OutTaskStationIsOccupied(task) != null) { return task; } } - //task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); } - } + + } return task; } @@ -188,6 +191,10 @@ if (B_Event_Test == 1) { return task; + } + else + { + wcs_PLCto08("鍑哄簱浠诲姟", $"浠诲姟鍙凤細{task.TaskNum}锛岃繘琛屽嚭搴�", $"璇诲彇鍒拌緭閫佺嚎涓嶅彲鏀捐揣淇″彿锛屼笉鍙繘琛屼换鍔′笅鍙�"); } } } @@ -219,10 +226,10 @@ } targetCodes[4] = "01"; string SourceAddress = string.Join("-", targetCodes); //缁勮娴呭簱浣嶅湴鍧� - Dt_Task? tasks = _taskService.QueryStationIsOccupiedOutTasks(task.Roadway, SourceAddress).FirstOrDefault(); + Dt_Task? tasks = _taskService.QueryStationIsOccupiedOutTasks(task.Roadway, SourceAddress).FirstOrDefault(); //鎵炬祬搴撲綅鏄惁鏈変换鍔� if (tasks != null) { - return task; + return tasks; } else { @@ -247,7 +254,7 @@ if (Applyrelease(commonStackerCrane)) //璇诲彇鍫嗗灈鏈烘斁璐х敵璇� { Dt_Task task = _taskService.IngStackerCraneTask2(commonStackerCrane.DeviceCode); - if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) + if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && (task.TargetAddress != "R02-001-021-001-02" && task.TargetAddress != "R02-001-022-001-02")) { IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceProDTOs.Exists(x => x.DeviceChildCode == task.TargetAddress)); if (device != null) @@ -259,24 +266,27 @@ int B_Event_Test = GetLine(conveyorLine, deviceProDTO.DeviceProDataBlock); //鍒ゆ柇杈撻�佺嚎鏄惁鍏佽鏀捐揣淇″彿 if (B_Event_Test == 1) { + if (Releasespermitted(commonStackerCrane, task.TargetAddress,true)) //鍐欏叆鍫嗗灈鏈哄厑璁告斁璐т俊 { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鏀捐揣淇″彿鎴愬姛锛歵rue", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈哄厑璁告斁璐т俊鍙锋垚鍔燂細true"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鏀捐揣淇″彿澶辫触", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈哄厑璁告斁璐т俊鍙峰け璐�"); } } else { if (Releasespermitted(commonStackerCrane, task.TargetAddress,false)) //鍐欏叆鍫嗗灈鏈轰笉鍏佽鏀捐揣淇� { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙锋垚鍔燂細false", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈轰笉鍏佽鏀捐揣淇″彿鎴愬姛锛歠alse"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈轰笉鍏佽鏀捐揣淇″彿澶辫触"); } } } @@ -286,7 +296,7 @@ else { Dt_Task task = _taskService.IngStackerCraneTask2(commonStackerCrane.DeviceCode); - if (task !=null && task.TaskType == (int)TaskOutboundTypeEnum.Outbound) + if (task !=null && task.TaskType == (int)TaskOutboundTypeEnum.Outbound &&(task.TargetAddress != "R02-001-021-001-02" && task.TargetAddress != "R02-001-022-001-02")) { if (Completesignal(commonStackerCrane, task.TargetAddress)) //璇诲彇鍒版斁璐у畬鎴愪俊鍙� { @@ -294,47 +304,126 @@ if (device != null) { CommonConveyorLine conveyorLine = (CommonConveyorLine)device; - if (PLCSignal(conveyorLine, task.TargetAddress, 1)) //鍐欏叆杈撻�佺嚎 鍫嗗灈鏈烘斁璐� 淇″彿 + if (task.TargetAddress == "R02-002-027-011-01" || task.TargetAddress == "R01-002-041-011-01") //鍐欏叆杈撻�佺嚎鍘诲悜 + { + byte PLCtost = (byte)task.PLCTo; + if (PLCSignal2(conveyorLine, task.TargetAddress, "W_Destination", PLCtost)) + { + + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍘诲悜鎴愬姛锛屽幓鍚戜负锛歿PLCtost}"); + } + else + { + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍘诲悜澶辫触锛屽幓鍚戜负锛歿PLCtost}"); + } + } + + if (PLCSignal(conveyorLine, task.TargetAddress, (byte)1)) //鍐欏叆杈撻�佺嚎 鍫嗗灈鏈烘斁璐� 淇″彿 { //璇诲彇杈撻�佺嚎鍙嶉 鍫嗗灈鏈烘斁涓嬩俊鍙� DeviceProDTO? deviceProDTO2 = GetDeviceProDTO(conveyorLine, task.TargetAddress, "R_StackerCraneLowered"); //杈撻�佺嚎鍗忚鎵捐鍙栦俊鍙� if (deviceProDTO2 != null) { int B_TAKE = GetLine(conveyorLine, deviceProDTO2.DeviceProDataBlock); //璇诲彇杈撻�佺嚎鐨� 鍫嗗灈鏈烘斁涓� 淇″彿 - WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氳鍙栧埌杈撻�佺嚎-鍫嗗灈鏈烘斁涓嬩俊鍙凤細{B_TAKE}", $"锛堟斁璐э級璇诲彇{task.TargetAddress}"); + WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氳鍙栧埌杈撻�佺嚎-鍫嗗灈鏈烘斁涓嬩俊鍙凤細{B_TAKE}", $"锛堟斁璐э級璇诲彇{task.TargetAddress}"); if (B_TAKE == 1) { - //鍫嗗灈鏈哄啓瀹屾垚 - if (Releasespermitted4(commonStackerCrane, task.TargetAddress, true)) + if (task.TargetAddress == "R02-002-027-011-01" || task.TargetAddress == "R01-002-041-011-01") { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿鎴愬姛锛歵rue", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + DeviceProDTO? deviceProDTO3 = GetDeviceProDTO(conveyorLine, task.TargetAddress, "R_Destination"); + if (deviceProDTO3 != null) + { + int PLCwcstost = GetLine(conveyorLine, deviceProDTO3.DeviceProDataBlock); + if (PLCwcstost == task.PLCTo) + { + byte PLCtost2 = 0; + if (PLCSignal2(conveyorLine, task.TargetAddress, "W_Destination", PLCtost2)) + { + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"娓呴櫎鍘诲悜鎴愬姛"); + } + else + { + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"娓呴櫎鍘诲悜澶辫触"); + } + // 娓呴櫎杈撻�佺嚎 + if (PLCSignal(conveyorLine, task.TargetAddress, (byte)0)) + { + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�"); + } + else + { + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�"); + } + //鍫嗗灈鏈哄啓瀹屾垚 + if (Releasespermitted4(commonStackerCrane, task.TargetAddress, true)) + { + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔燂細true"); + } + else + { + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�:true"); + } + + } + else + { + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍘诲悜姣斿涓嶄竴鑷达紝杈撻�佺嚎鍘诲悜涓猴細{PLCwcstost}锛寃cs鍐欏叆鍘诲悜涓猴細{task.PLCTo}"); + } + } } - else + + if (task.TargetAddress != "R02-002-027-011-01" && task.TargetAddress != "R01-002-041-011-01") { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿澶辫触:true", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + // 娓呴櫎杈撻�佺嚎 + if (PLCSignal(conveyorLine, task.TargetAddress, 0)) + { + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�"); + } + else + { + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�"); + } + + //鍫嗗灈鏈哄啓瀹屾垚 + if (Releasespermitted4(commonStackerCrane, task.TargetAddress, true)) + { + + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔燂細true"); + } + else + { + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�:true"); + + } } + + + } + else + { // 娓呴櫎杈撻�佺嚎 if (PLCSignal(conveyorLine, task.TargetAddress, 0)) { - WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}"); + wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0"); } else { - WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}"); + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0澶辫触"); } } } } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ヨ緭閫佺嚎0-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎0-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�"); + } } } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氭湭璇诲彇鍒板爢鍨涙満鏀捐揣瀹屾垚淇″彿", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}"); + wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌鍫嗗灈鏈烘斁璐у畬鎴愪俊鍙�"); } } } @@ -357,22 +446,23 @@ { if (Releasespermitted2(commonStackerCrane, task.SourceAddress,true)) //鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙� { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿鎴愬姛:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress+"锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙锋垚鍔�:true"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿澶辫触", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙锋垚鍔�:true"); } } else { if (Releasespermitted2(commonStackerCrane, task.SourceAddress,false)) //鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙� { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿鎴愬姛:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿鎴愬姛:false"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿澶辫触", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + + wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿澶辫触"); } } @@ -382,6 +472,7 @@ { if(PLCSignal2(conveyorLine, task.SourceAddress, "W_StackerCranePicked", 1)) //鍐欏叆杈撻�佺嚎鍙栬揣瀹屾垚淇″彿 { + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎鍙栬揣瀹屾垚淇″彿锛屽湴鍧�锛歿conveyorLine}"); DeviceProDTO? deviceProDTO2 = GetDeviceProDTO(conveyorLine, task.SourceAddress, "R_StackerCranePicked"); //杈撻�佺嚎鍗忚鎵捐鍙栦俊鍙� if (deviceProDTO != null) { @@ -391,31 +482,36 @@ //鍐欏叆缁欏爢鍨涙満锛岃緭閫佺嚎鐨� 鍫嗗灈鏈哄彇璧� 淇″彿 if(Releasespermitted3(commonStackerCrane, task.SourceAddress,true)) { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙锋垚鍔�:true"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙峰け璐�:true"); } } else { if (Releasespermitted3(commonStackerCrane, task.SourceAddress,false)) { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false"); } } } + } + else + { + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎鍙栬揣瀹屾垚淇″彿澶辫触锛屽湴鍧�锛歿conveyorLine}"); } } else { if (PLCSignal2(conveyorLine, task.SourceAddress, "W_StackerCranePicked", 0)) //鍐欏叆杈撻�佺嚎娓呴櫎淇″彿 { + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎淇″彿鎴愬姛锛屽湴鍧�锛歿conveyorLine}"); DeviceProDTO? deviceProDTO2 = GetDeviceProDTO(conveyorLine, task.SourceAddress, "R_StackerCranePicked"); //杈撻�佺嚎鍗忚鎵捐鍙栦俊鍙� if (deviceProDTO != null) { @@ -425,25 +521,29 @@ //鍐欏叆缁欏爢鍨涙満锛岃緭閫佺嚎鐨� 鍫嗗灈鏈哄彇璧� 淇″彿 if (Releasespermitted3(commonStackerCrane, task.SourceAddress, false)) { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙锋垚鍔�:true"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙峰け璐�:true"); } } else { if (Releasespermitted3(commonStackerCrane, task.SourceAddress, false)) { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false"); } else { - WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}"); + wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false"); } } } + } + else + { + wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎淇″彿澶辫触锛屽湴鍧�锛歿conveyorLine}"); } } } @@ -511,7 +611,14 @@ { return true; } - + } + DeviceProDTO? deviceProDTO6 = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryRequest_A2in"); //绌烘墭鍑哄叆搴� + if (deviceProDTO6 != null) + { + if (GetStacker(commonStackerCrane, deviceProDTO6.DeviceProAddress).Status) + { + return true; + } } } return false; @@ -546,7 +653,7 @@ if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; } } } - if (Destinationaddress == "R01-003-041-011-01") + if (Destinationaddress == "R01-002-041-011-01") { DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryPermission_Dout"); if (deviceProDTO != null) @@ -561,6 +668,15 @@ if (deviceProDTO != null) { if(SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; } + } + } + + if (Destinationaddress == "R01-002-043-001-01") + { + DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryPermission_A2in"); + if (deviceProDTO != null) + { + if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; } } } @@ -628,7 +744,17 @@ } } } - + if (Destinationaddress == "R01-002-043-001-01") + { + DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryCompleted_A2in"); + if (deviceProDTO != null) + { + if (GetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress).Status) + { + return true; + } + } + } return false; } @@ -646,7 +772,7 @@ } if (Destinationaddress == "R02-002-027-011-01") { - DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryCompletion_Din"); + DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryCompletion_Dout"); if (deviceProDTO != null) { if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; } @@ -669,7 +795,7 @@ if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; } } } - if (Destinationaddress == "R01-002-043-001-01") + if (Destinationaddress == "R01-002-044-001-01") { DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryCompletion_Aout"); if (deviceProDTO != null) @@ -677,7 +803,14 @@ if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; } } } - + if (Destinationaddress == "R01-002-043-001-01") + { + DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryCompletion_A2in"); + if (deviceProDTO != null) + { + if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; } + } + } return false; } @@ -977,7 +1110,7 @@ { StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); - stackerCraneTaskCommand.Barcode = task.PalletCode; + stackerCraneTaskCommand.Barcode = ""; /*task.PalletCode;*/ stackerCraneTaskCommand.TaskNum = task.TaskNum; stackerCraneTaskCommand.WorkType = 1; stackerCraneTaskCommand.TrayType = 0; @@ -1070,5 +1203,25 @@ } return stackerCraneTaskCommand; } + + + public void wcs_PLCto05(string SCLLinStack, string Logtype, string Magessadd) + { + WriteLog.Write_Log("鍏ュ簱浜や簰淇℃伅", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd }); + } + public void wcs_PLCto06(string SCLLinStack, string Logtype, string Magessadd) + { + WriteLog.Write_Log("鍑哄簱浜や簰淇℃伅", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd }); + } + + public void wcs_PLCto07(string SCLLinStack, string Logtype, string Magessadd) + { + WriteLog.Write_Log("浠诲姟淇℃伅瀹屾垚璁板綍", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd }); + } + + public void wcs_PLCto08(string SCLLinStack, string Logtype, string Magessadd) + { + WriteLog.Write_Log("鍑哄簱绔欏彴淇℃伅", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd }); + } } } -- Gitblit v1.9.3