using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Reflection;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Comm;
|
using WIDESEA_WCS.WCSClient;
|
|
namespace WIDESEA_WCS
|
{
|
public class GetDate
|
{
|
/// <summary>
|
/// 获取车轮数据
|
/// </summary>
|
public static void GetWheelDate(PLCClient client)
|
{
|
PropertyInfo[] propertyInfos = typeof(WheelDBItem).GetProperties();
|
var groups = client.itemGroups.OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList();
|
foreach (var key in groups)
|
{
|
WheelDBItem StackerDBItem = new WheelDBItem();
|
foreach (var propertyInfo in propertyInfos)
|
{
|
if (propertyInfo.Name == "StackerNo")
|
{
|
StackerDBItem.StackerNo = 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_wheel_SN":
|
StackerDBItem.R_wheel_SN = readData.ToString();
|
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;
|
}
|
}
|
}
|
}
|
switch (client.PLCName)
|
{
|
case "VK4":
|
WheelDBItem.VK4WheelDBItem.Add(StackerDBItem);
|
break;
|
case "VK5":
|
WheelDBItem.VK5WheelDBItem.Add(StackerDBItem);
|
break;
|
}
|
}
|
}
|
}
|
}
|