From 1e38f44af86775a341e4d0e4411d24ad35e417d3 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期五, 28 六月 2024 07:49:36 +0800 Subject: [PATCH] 调整平面图调用接口时间 --- 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/equipment/GetWheelDate.cs | 359 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 347 insertions(+), 12 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/equipment/GetWheelDate.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/equipment/GetWheelDate.cs" index 75c32e3..25dbade 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/equipment/GetWheelDate.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/equipment/GetWheelDate.cs" @@ -3,8 +3,10 @@ using System.Linq; using System.Reflection; using System.Text; +using System.Text.RegularExpressions; using System.Threading.Tasks; using WIDESEA_Comm; +using WIDESEA_Core.Extensions; using WIDESEA_WCS.WCSClient; namespace WIDESEA_WCS @@ -12,12 +14,13 @@ public class GetDate { /// <summary> - /// 鑾峰彇杞﹁疆鏁版嵁 + /// 鑾峰彇杞﹁疆鏁版嵁淇℃伅 /// </summary> - public static void GetWheelDate(PLCClient client) + public static List<WheelDBItem> GetWheelDate(PLCClient client) { + List<WheelDBItem> wheelDBItems = new List<WheelDBItem>(); PropertyInfo[] propertyInfos = typeof(WheelDBItem).GetProperties(); - var groups = client.itemGroups.OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); + var groups = client.itemGroups.Where(x => x.opratortype == "wheel").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); foreach (var key in groups) { WheelDBItem StackerDBItem = new WheelDBItem(); @@ -51,16 +54,348 @@ } } } - switch (client.PLCName) - { - case "VK4": - WheelDBItem.VK4WheelDBItem.Add(StackerDBItem); - break; - case "VK5": - WheelDBItem.VK5WheelDBItem.Add(StackerDBItem); - break; - } + wheelDBItems.Add(StackerDBItem); } + return wheelDBItems; + } + /// <summary> + /// 鑾峰彇VK鐘舵�佷俊鎭� + /// </summary> + /// <param name="client"></param> + /// <returns></returns> + public static List<VKDBItem> GetVKDate(PLCClient client) + { + List<VKDBItem> vKDBItems = new List<VKDBItem>(); + PropertyInfo[] propertyInfos = typeof(VKDBItem).GetProperties(); + var groups = client.itemGroups.Where(x => x.opratortype == "VK").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); + foreach (var key in groups) + { + VKDBItem StackerDBItem = new VKDBItem(); + foreach (var propertyInfo in propertyInfos) + { + if (propertyInfo.Name == "Name") + { + StackerDBItem.Name = key.Key; + } + else + { + DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfo.Name); + if (group != null) + { + var readData = DBExtension.Read(group, client); + switch (propertyInfo.Name) + { + case "power_on": + StackerDBItem.power_on = Convert.ToBoolean(readData); + break; + case "ready_for_operate": + StackerDBItem.ready_for_operate = Convert.ToBoolean(readData); + break; + case "ready_for_auto_start": + StackerDBItem.ready_for_auto_start = Convert.ToBoolean(readData); + break; + case "VK_Fault": + StackerDBItem.VK_Fault = Convert.ToBoolean(readData); + break; + case "bag_out_1_Fault": + StackerDBItem.bag_out_1_Fault = Convert.ToBoolean(readData); + break; + case "bag_in_1_Fault": + StackerDBItem.bag_in_1_Fault = Convert.ToBoolean(readData); + break; + case "bag_out_2_Fault": + StackerDBItem.bag_out_2_Fault = Convert.ToBoolean(readData); + break; + case "bag_in_2_Fault": + StackerDBItem.bag_in_2_Fault = Convert.ToBoolean(readData); + break; + case "safety_OK": + StackerDBItem.safety_OK = Convert.ToBoolean(readData); + break; + case "state_JOG_bag1": + StackerDBItem.state_JOG_bag1 = Convert.ToBoolean(readData); + break; + case "state_AUTO_bag1": + StackerDBItem.state_AUTO_bag1 = Convert.ToBoolean(readData); + break; + case "state_JOG_bag2": + StackerDBItem.state_JOG_bag2 = Convert.ToBoolean(readData); + break; + case "state_AUTO_bag2": + StackerDBItem.state_AUTO_bag2 = Convert.ToBoolean(readData); + break; + case "state_JOG_bag3": + StackerDBItem.state_JOG_bag3 = Convert.ToBoolean(readData); + break; + case "state_AUTO_bag3": + StackerDBItem.state_AUTO_bag3 = Convert.ToBoolean(readData); + break; + case "state_JOG_bag4": + StackerDBItem.state_JOG_bag4 = Convert.ToBoolean(readData); + break; + case "state_AUTO_bag4": + StackerDBItem.state_AUTO_bag4 = Convert.ToBoolean(readData); + break; + case "safetydoor_1_closed": + StackerDBItem.safetydoor_1_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_2_closed": + StackerDBItem.safetydoor_2_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_3_closed": + StackerDBItem.safetydoor_3_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_4_closed": + StackerDBItem.safetydoor_4_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_5_closed": + StackerDBItem.safetydoor_5_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_6_closed": + StackerDBItem.safetydoor_6_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_7_closed": + StackerDBItem.safetydoor_7_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_8_closed": + StackerDBItem.safetydoor_8_closed = Convert.ToBoolean(readData); + break; + case "safetydoor_9_closed": + StackerDBItem.safetydoor_9_closed = Convert.ToBoolean(readData); + break; + case "vk_state": + StackerDBItem.vk_state = Convert.ToInt16(readData); + break; + } + } + } + } + vKDBItems.Add(StackerDBItem); + } + return vKDBItems; + } + /// <summary> + /// 鑾峰彇鏈哄簥鐘舵�佷俊鎭� + /// </summary> + /// <param name="client"></param> + /// <returns></returns> + public static List<MachineDBItem> GetMachineDate(PLCClient client) + { + List<MachineDBItem> machineDBItems = new List<MachineDBItem>(); + PropertyInfo[] propertyInfos = typeof(MachineDBItem).GetProperties(); + var groups = client.itemGroups.Where(x => x.opratortype == "machine").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); + foreach (var key in groups) + { + MachineDBItem StackerDBItem = new MachineDBItem(); + foreach (var propertyInfo in propertyInfos) + { + if (propertyInfo.Name == "Name") + { + StackerDBItem.Name = key.Key; + } + else + { + DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfo.Name); + if (group != null) + { + var readData = DBExtension.Read(group, client); + switch (propertyInfo.Name) + { + case "Power_on": + StackerDBItem.Power_on = Convert.ToBoolean(readData); + break; + case "Ready_for_operate": + StackerDBItem.Ready_for_operate = Convert.ToBoolean(readData); + break; + case "Ready_for_Auto_start": + StackerDBItem.Ready_for_Auto_start = Convert.ToBoolean(readData); + break; + case "state_JOG": + StackerDBItem.state_JOG = Convert.ToBoolean(readData); + break; + case "state_MDA": + StackerDBItem.state_MDA = Convert.ToBoolean(readData); + break; + case "state_AUTO": + StackerDBItem.state_AUTO = Convert.ToBoolean(readData); + break; + case "Safetydoors_closed": + StackerDBItem.Safetydoors_closed = Convert.ToBoolean(readData); + break; + case "Spindel_running": + StackerDBItem.Spindel_running = Convert.ToBoolean(readData); + break; + case "Kommunikation_IO": + StackerDBItem.Kommunikation_IO = Convert.ToBoolean(readData); + break; + case "Hydraulik_fault": + StackerDBItem.Hydraulik_fault = Convert.ToBoolean(readData); + break; + case "feeddrive_fault": + StackerDBItem.feeddrive_fault = Convert.ToBoolean(readData); + break; + case "Maindrive_fault": + StackerDBItem.Maindrive_fault = Convert.ToBoolean(readData); + break; + case "Machine_fault": + StackerDBItem.Machine_fault = Convert.ToBoolean(readData); + break; + case "Coolant_fault": + StackerDBItem.Coolant_fault = Convert.ToBoolean(readData); + break; + case "Chipremoval_fault": + StackerDBItem.Chipremoval_fault = Convert.ToBoolean(readData); + break; + case "Coolant_ready_operate": + StackerDBItem.Coolant_ready_operate = Convert.ToBoolean(readData); + break; + case "Chipremoval_ready_operat": + StackerDBItem.Chipremoval_ready_operat = Convert.ToBoolean(readData); + break; + case "Emergency_Stop_machine": + StackerDBItem.Emergency_Stop_machine = Convert.ToBoolean(readData); + break; + case "Breakdown_repair": + StackerDBItem.Breakdown_repair = Convert.ToBoolean(readData); + break; + case "Breakdown_maintenance": + StackerDBItem.Breakdown_maintenance = Convert.ToBoolean(readData); + break; + case "Breakdown_Toolchange": + StackerDBItem.Breakdown_Toolchange = Convert.ToBoolean(readData); + break; + case "Breakdown_changeover": + StackerDBItem.Breakdown_changeover = Convert.ToBoolean(readData); + break; + case "Programm_running": + StackerDBItem.Programm_running = Convert.ToBoolean(readData); + break; + case "Prog_sel_side_1": + StackerDBItem.Prog_sel_side_1 = Convert.ToBoolean(readData); + break; + case "Prog_sel_side_2": + StackerDBItem.Prog_sel_side_2 = Convert.ToBoolean(readData); + break; + case "programm_side_1_finished": + StackerDBItem.programm_side_1_finished = Convert.ToBoolean(readData); + break; + case "load_side_1_finished": + StackerDBItem.load_side_1_finished = Convert.ToBoolean(readData); + break; + case "programm_side_2_finished": + StackerDBItem.programm_side_2_finished = Convert.ToBoolean(readData); + break; + case "load_side_2_finished": + StackerDBItem.load_side_2_finished = Convert.ToBoolean(readData); + break; + case "Toolchange_magazine_1": + StackerDBItem.Toolchange_magazine_1 = Convert.ToBoolean(readData); + break; + case "Toolchange_magazine_2": + StackerDBItem.Toolchange_magazine_2 = Convert.ToBoolean(readData); + break; + case "Changed_tool_mag_1": + StackerDBItem.Changed_tool_mag_1 = Convert.ToInt16(readData); + break; + case "Dupl_tool_mag_1": + StackerDBItem.Dupl_tool_mag_1 = Convert.ToInt16(readData); + break; + case "Changed_tool_mag_2": + StackerDBItem.Changed_tool_mag_2 = Convert.ToInt16(readData); + break; + case "Dupl_tool_mag_2": + StackerDBItem.Dupl_tool_mag_2 = Convert.ToInt16(readData); + break; + case "Parttype": + StackerDBItem.Parttype = Convert.ToInt16(readData); + break; + case "partcounter": + StackerDBItem.partcounter = Convert.ToInt32(readData); + break; + case "operator_ID": + StackerDBItem.operator_ID = Convert.ToInt16(readData); + break; + case "machine_state": + StackerDBItem.machine_state = Convert.ToInt16(readData); + break; + } + } + } + } + machineDBItems.Add(StackerDBItem); + } + return machineDBItems; + } + /// <summary> + /// 鑾峰彇妗佹灦鏈烘鎵嬬姸鎬佷俊鎭� + /// </summary> + /// <param name="client"></param> + /// <returns></returns> + public static List<GantryDBItem> GetGantryDate(PLCClient client) + { + List<GantryDBItem> gantryDBItems = new List<GantryDBItem>(); + PropertyInfo[] propertyInfos = typeof(GantryDBItem).GetProperties(); + var groups = client.itemGroups.Where(x => x.opratortype == "Gantry").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); + foreach (var key in groups) + { + GantryDBItem StackerDBItem = new GantryDBItem(); + foreach (var propertyInfo in propertyInfos) + { + if (propertyInfo.Name == "Name") + { + StackerDBItem.Name = key.Key; + } + else + { + DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfo.Name); + if (group != null) + { + var readData = DBExtension.Read(group, client); + switch (propertyInfo.Name) + { + case "power_on": + StackerDBItem.power_on = Convert.ToBoolean(readData); + break; + case "ready_for_operate": + StackerDBItem.ready_for_operate = Convert.ToBoolean(readData); + break; + case "ready_for_auto_start": + StackerDBItem.ready_for_auto_start = Convert.ToBoolean(readData); + break; + case "state_JOG": + StackerDBItem.state_JOG = Convert.ToBoolean(readData); + break; + case "state_MDA": + StackerDBItem.state_MDA = Convert.ToBoolean(readData); + break; + case "state_AUTO": + StackerDBItem.state_AUTO = Convert.ToBoolean(readData); + break; + case "communication_IO": + StackerDBItem.communication_IO = Convert.ToBoolean(readData); + break; + case "drive_fault": + StackerDBItem.drive_fault = Convert.ToBoolean(readData); + break; + case "portal_fault": + StackerDBItem.portal_fault = Convert.ToBoolean(readData); + break; + case "emergency_stop_portal": + StackerDBItem.emergency_stop_portal = Convert.ToBoolean(readData); + break; + case "programm_running": + StackerDBItem.programm_running = Convert.ToBoolean(readData); + break; + case "gantry_state": + StackerDBItem.gantry_state = Convert.ToInt16(readData); + break; + } + } + } + } + gantryDBItems.Add(StackerDBItem); + } + return gantryDBItems; } } } -- Gitblit v1.9.3