分支自 SuZhouGuanHong/TaiYuanTaiZhong

huanghongfeng
2024-07-04 08dd2afd7a9614dad029e94918516b068d413cac
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Common/equipment/GetWheelDate.cs
@@ -6,6 +6,7 @@
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using WIDESEA_Comm;
using WIDESEA_Comm.PLCDBItem;
using WIDESEA_Core.Extensions;
using WIDESEA_WCS.WCSClient;
@@ -397,5 +398,87 @@
            }
            return gantryDBItems;
        }
        /// <summary>
        /// èŽ·å–æ¶‚æ²¹æœºä¿¡æ¯
        /// </summary>
        /// <param name="client"></param>
        /// <returns></returns>
        public static List<Oiling_machine> GetOiling_machine(PLCClient client)
        {
            List<Oiling_machine> gantryDBItems = new List<Oiling_machine>();
            PropertyInfo[] propertyInfos = typeof(Oiling_machine).GetProperties();
            var groups = client.itemGroups.Where(x => x.opratortype == "oiler").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList();
            foreach (var key in groups)
            {
                try
                {
                    Oiling_machine StackerDBItem = new Oiling_machine();
                    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 "R_Automatic_mode":
                                        StackerDBItem.R_Automatic_mode = Convert.ToBoolean(readData);
                                        break;
                                    case "R_Manual_mode":
                                        StackerDBItem.R_Manual_mode = Convert.ToBoolean(readData);
                                        break;
                                    case "R_AutoRunning":
                                        StackerDBItem.R_AutoRunning = Convert.ToBoolean(readData);
                                        break;
                                    case "R_NO_FAULT":
                                        StackerDBItem.R_NO_FAULT = Convert.ToBoolean(readData);
                                        break;
                                    case "R_state_power_on":
                                        StackerDBItem.R_state_power_on = Convert.ToBoolean(readData);
                                        break;
                                    case "R_state_automatic_se_lected":
                                        StackerDBItem.R_state_automatic_se_lected = Convert.ToBoolean(readData);
                                        break;
                                    case "R_EstopOK":
                                        StackerDBItem.R_EstopOK = Convert.ToBoolean(readData);
                                        break;
                                    case "R_WheelOnPosition":
                                        StackerDBItem.R_WheelOnPosition = Convert.ToBoolean(readData);
                                        break;
                                    case "R_Wheel_SN":
                                        StackerDBItem.R_Wheel_SN = Convert.ToString(readData);
                                        break;
                                    case "R_Wheel_Type":
                                        StackerDBItem.R_Wheel_Type = Convert.ToInt16(readData);
                                        break;
                                    case "R_Part_Status":
                                        StackerDBItem.R_Part_Status = Convert.ToByte(readData);
                                        break;
                                    case "R_Part_Process":
                                        StackerDBItem.R_Part_Process = Convert.ToByte(readData);
                                        break;
                                }
                            }
                        }
                    }
                    gantryDBItems.Add(StackerDBItem);
                }
                catch (Exception ex)
                {
                }
            }
            return gantryDBItems;
        }
    }
}