From b9f8212946fde1af1216b972996c32b8c8ed6363 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期三, 27 十一月 2024 10:07:34 +0800
Subject: [PATCH] Revert "Stop tracking D:\widesea\尖山立库\JianShanLiKu\代码管理\WCS\WIDESEAWCS_Server\WIDESEAWCS_BasicInfoRepository\bin"

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 100 insertions(+), 19 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..e536cc1 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;
@@ -145,7 +146,10 @@
                     task = OutTaskMovelibrary(task);
                     if (task != null)
                     {
-                        return task;
+                        if (OutTaskStationIsOccupied(task) != null)
+                        {
+                            return task;
+                        }
                     }
                 }
                 if (OutTaskStationIsOccupied(task) != null)
@@ -259,24 +263,25 @@
                             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}");
+                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鏀捐揣淇″彿鎴愬姛锛歵rue", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
                                 }
                                 else
                                 {
-                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鏀捐揣淇″彿澶辫触", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鏀捐揣淇″彿澶辫触", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
                                 }
                             }
                             else
                             {
                                 if (Releasespermitted(commonStackerCrane, task.TargetAddress,false))  //鍐欏叆鍫嗗灈鏈轰笉鍏佽鏀捐揣淇�
                                 {
-                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙锋垚鍔燂細false", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙锋垚鍔燂細false", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
                                 }
                                 else
                                 {
-                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
                                 }
                             }
                         }
@@ -294,47 +299,123 @@
                         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))
+                                {
+                                    WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ幓鍚戞垚鍔燂紝鍘诲悜涓猴細{PLCtost}", $"鍑烘枡鍙e幓鍚�");
+                                }
+                                else
+                                {
+                                    WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ幓鍚戝け璐ワ紝鍘诲悜涓猴細{PLCtost}", $"鍑烘枡鍙e幓鍚�");
+                                }
+                            }
+
+                            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))
+                                                    {
+                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭竻闄ゅ幓鍚戞垚鍔�", $"鍑烘枡鍙e幓鍚�");
+
+                                                    }
+                                                    else
+                                                    {
+                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭竻闄ゅ幓鍚戝け璐�", $"鍑烘枡鍙e幓鍚�");
+                                                    }
+                                                    // 娓呴櫎杈撻�佺嚎
+                                                    if (PLCSignal(conveyorLine, task.TargetAddress, (byte)0))
+                                                    {
+                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�", $"鍑烘枡鍙e幓鍚�");
+                                                    }
+                                                    else
+                                                    {
+                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"鍑烘枡鍙e幓鍚�");
+                                                    }
+                                                    //鍫嗗灈鏈哄啓瀹屾垚
+                                                    if (Releasespermitted4(commonStackerCrane, task.TargetAddress, true))
+                                                    {
+                                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿鎴愬姛锛歵rue", $"鍑烘枡鍙e幓鍚�");
+                                                    }
+                                                    else
+                                                    {
+                                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿澶辫触:true", $"鍑烘枡鍙e幓鍚�");
+                                                    }
+
+                                                }
+                                                else
+                                                {
+                                                    WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬幓鍚戞瘮瀵逛笉涓�鑷达紝杈撻�佺嚎鍘诲悜涓猴細{PLCwcstost}锛寃cs鍐欏叆鍘诲悜涓猴細{task.PLCTo}", $"鍑烘枡鍙e幓鍚�");
+                                                }
+                                            }
                                         }
-                                        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))
+                                            {
+                                                WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                            }
+                                            else
+                                            {
+                                                WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                            }
+
+                                            //鍫嗗灈鏈哄啓瀹屾垚
+                                            if (Releasespermitted4(commonStackerCrane, task.TargetAddress, true))
+                                            {
+                                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿鎴愬姛锛歵rue", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                            }
+                                            else
+                                            {
+                                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿澶辫触:true", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                            }
                                         }
+
+                                            
+                                    }
+                                    else
+                                    {
                                         // 娓呴櫎杈撻�佺嚎
                                         if (PLCSignal(conveyorLine, task.TargetAddress, 0))
                                         {
-                                            WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                            WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
                                         }
                                         else
                                         {
-                                            WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                            WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
                                         }
                                     }
                                 }
                             }
                             else
                             {
-                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氬啓鍏ヨ緭閫佺嚎0-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎0-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
                             }
                         }
                     }
                     else
                     {
-                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},淇℃伅锛氭湭璇诲彇鍒板爢鍨涙満鏀捐揣瀹屾垚淇″彿", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭湭璇诲彇鍒板爢鍨涙満鏀捐揣瀹屾垚淇″彿", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
                     }
                 }
             }
@@ -546,7 +627,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)
@@ -646,7 +727,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 +750,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)

--
Gitblit v1.9.3