From 388c43ee7b741eebafa98cd8ef992005f1aa56f4 Mon Sep 17 00:00:00 2001 From: 陈勇 <chenyong@hnkhzn.com> Date: 星期二, 12 三月 2024 14:52:40 +0800 Subject: [PATCH] PDA源程序 --- 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs | 46 +++++++++++++++++++++++++++------------------- 1 files changed, 27 insertions(+), 19 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" index 54e0f69..7b6af49 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" @@ -221,37 +221,44 @@ if (!Request) continue; var Stations = stationinfoRepository.Find(x => x.area == PipelineJob.area_code(name)); - foreach (var station in Stations) - { - if (!station.enable) - client.WriteByOrder("W_Enabl_Load", false, name);//淇″彿涓篺alse妗佹灦鍋滄杩涘叆 - } + var NGStation = "X01001003"; if (name == "2鍗曞厓涓嬫枡鍖�") NGStation = "X02001003"; if (name == "3鍗曞厓涓嬫枡鍖�") NGStation = "X03001002"; - var Wheel_Type = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_Type").First(), client);//杞﹁疆绫诲瀷 - var Wheel_id = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_id").First(), client).ToString();//杞﹁疆SN鍙� + foreach (var station in Stations) + { + if (!station.enable || station.location_state == LocationStateEnum.Empty.ToString()) + client.WriteByOrder("W_Enabl_Load", false, name);//淇″彿涓篺alse妗佹灦鍋滄杩涘叆 + } + var Wheel_Type = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_Type").First(), client);//杞﹁疆绫诲瀷 + var Wheel_id = client.ReadByOrder<string>("R_Wheel_id", name);//杞﹁疆SN鍙� + //var Wheel_id = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_id").First(), client).ToString(); var mes_Detail = mes_DetailRepository.FindFirst(x => x.SN == Wheel_id); var mes_Head = mes_HeadRepository.FindFirst(x => x.jobID == mes_Detail.jobID); + var wheel = PipelineJob.QueryMateriel(mes_Head.drawingNo); - var PartStatus = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_PartStatus").First(), client);//1:ok;2:nok - if (PartStatus == 1) + var PartStatus = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_PartStatus").First(), client);//1:ok;2:nok + if ((Int16)PartStatus == 1) { var Stationinfo = Stations .Where(x => x.enable && x.stationCode != NGStation && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity < 5 - && x.stationType == PipelineJob.QueryMateriel(Wheel_Type) + && x.stationType == mes_Head.drawingNo + && x.tray_type == (wheel.e < 1100 ? "SmallTray" : "LargeTray") && x.Number == mes_Detail.jobID - && x.heatNumber == mes_Detail.heatID).FirstOrDefault(); + && x.heatNumber == mes_Detail.heatID) + .OrderByDescending(x => x.quantity) + .FirstOrDefault(); if (Stationinfo == null) Stationinfo = Stations.Where(x => x.enable && x.stationCode != NGStation && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity == 0).FirstOrDefault(); if (Stationinfo != null) { var Pipelinedetails = plcRepository.Find(x => x.plcdetail_iotype == Pipelineplc.plcinfo_iotyep && x.plcdetail_number == Stationinfo.stationCode).ToList(); - var PalletSignal = (Int16)DBExtension.Read(Pipelinedetails.Where(x => x.plcdetail_name == "R_PalletSignal").First(), client);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃� + var PalletSignal = (Int16)DBExtension.Read(Pipelinedetails.Where(x => x.plcdetail_name == "R_PalletSignal").First(), Pipeline_client);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃� + //var Wheel_id = client.ReadByOrder<string>("R_Wheel_id", name); if (PalletSignal == 1) { var SNS = Stationinfo.bindSN.Split(","); @@ -271,21 +278,22 @@ } var area = Convert.ToInt16(Stationinfo.stationCode.Substring(Stationinfo.stationCode.Length - 1, 1)); client.WriteByOrder("W_AreaNr", (Int16)area, name);//鍖哄煙璐т綅鍙� - client.WriteByOrder("W_IndexNr", (Int16)Stationinfo.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞� + client.WriteByOrder("W_IndexNr", (Int16)(Stationinfo.quantity + 1), name);//鎵樼洏涓婄殑绗嚑涓溅杞� client.WriteByOrder("W_Storage_Type", (Int16)1, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁(鏆傛椂鍙湁妯斁鎵樼洏) client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽 return; } } } - else if (PartStatus == 2) + else if ((Int16)PartStatus == 2) { var Stationinfo = Stations .Where(x => x.enable && x.stationCode == NGStation && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity < 5 - && x.stationType == PipelineJob.QueryMateriel(Wheel_Type) + && x.stationType == mes_Head.drawingNo + && x.tray_type == (wheel.e < 1100 ? "SmallTray" : "LargeTray") && x.Number == mes_Detail.jobID && x.heatNumber == mes_Detail.heatID).FirstOrDefault(); if (Stationinfo != null) @@ -311,7 +319,7 @@ } var area = Convert.ToInt16(Stationinfo.stationCode.Substring(Stationinfo.stationCode.Length - 1, 1)); client.WriteByOrder("W_AreaNr", (Int16)area, name);//鍖哄煙璐т綅鍙� - client.WriteByOrder("W_IndexNr", (Int16)Stationinfo.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞� + client.WriteByOrder("W_IndexNr", (Int16)(Stationinfo.quantity + 1), name);//鎵樼洏涓婄殑绗嚑涓溅杞� client.WriteByOrder("W_Storage_Type", (Int16)1, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁(鏆傛椂鍙湁妯斁鎵樼洏) client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽 return; @@ -352,9 +360,9 @@ station.bindSN = station.bindSN == string.Empty ? Wheel_id : station.bindSN + "," + Wheel_id; if (station.quantity == 0) { - station.stationType = Wheel_id; - station.Number = Wheel_id; - station.heatNumber = Wheel_id; + station.stationType = mes_Head.drawingNo; + station.Number = mes_Head.jobID; + station.heatNumber = mes_Detail.heatID; } var count = stationinfoRepository.Update(station); if (count < 1) -- Gitblit v1.9.3