|  | @@ -106,12 +106,223 @@ namespace WCS_Client
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  switch (proname)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    default:
 | 
	
		
			
				|  |  | +                    case "Alarm":
 | 
	
		
			
				|  |  | +                        describle = "警报";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Col_1":
 | 
	
		
			
				|  |  | +                        describle = "当前列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Col_2":
 | 
	
		
			
				|  |  | +                        describle = "当前列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ECol_1":
 | 
	
		
			
				|  |  | +                        describle = "目标列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ECol_2":
 | 
	
		
			
				|  |  | +                        describle = "目标列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "EDepth_1":
 | 
	
		
			
				|  |  | +                        describle = "目标深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "EDepth_2":
 | 
	
		
			
				|  |  | +                        describle = "目标深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELayer_1":
 | 
	
		
			
				|  |  | +                        describle = "目标层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELayer_2":
 | 
	
		
			
				|  |  | +                        describle = "目标层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELine_1":
 | 
	
		
			
				|  |  | +                        describle = "目标行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELine_2":
 | 
	
		
			
				|  |  | +                        describle = "目标行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ENALBLE":
 | 
	
		
			
				|  |  | +                        describle = "是否可用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FinishedTask_1":
 | 
	
		
			
				|  |  | +                        describle = "已完成任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FinishedTask_2":
 | 
	
		
			
				|  |  | +                        describle = "已完成任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ForkPos_1":
 | 
	
		
			
				|  |  | +                        describle = "Z轴位置 货叉";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ForkPos_2":
 | 
	
		
			
				|  |  | +                        describle = "Z轴位置 货叉";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ForkStatus_1":
 | 
	
		
			
				|  |  | +                        describle = "货叉状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ForkStatus_2":
 | 
	
		
			
				|  |  | +                        describle = "货叉状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "GoodsType_1":
 | 
	
		
			
				|  |  | +                        describle = "货物类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "GoodsType_2":
 | 
	
		
			
				|  |  | +                        describle = "货物类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Layer_1":
 | 
	
		
			
				|  |  | +                        describle = "当前层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Layer_2":
 | 
	
		
			
				|  |  | +                        describle = "当前层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "LiftPos_1":
 | 
	
		
			
				|  |  | +                        describle = "Y轴位置 提升";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "LiftPos_2":
 | 
	
		
			
				|  |  | +                        describle = "Y轴位置 提升";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Line_1":
 | 
	
		
			
				|  |  | +                        describle = "当前行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Line_2":
 | 
	
		
			
				|  |  | +                        describle = "当前行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Mode_1":
 | 
	
		
			
				|  |  | +                        describle = "模式";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Mode_2":
 | 
	
		
			
				|  |  | +                        describle = "模式";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES9_1":
 | 
	
		
			
				|  |  | +                        describle = "备用 PLCname=Start_number1";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES9_2":
 | 
	
		
			
				|  |  | +                        describle = "备用 PLCname=Start_number2";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES10_1":
 | 
	
		
			
				|  |  | +                        describle = "备用 PLCname=End_number1";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES10_2":
 | 
	
		
			
				|  |  | +                        describle = "备用 PLCname=End_number2";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES11_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES11_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES12_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES12_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES13_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES13_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES14_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES14_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RunTime":
 | 
	
		
			
				|  |  | +                        describle = "运行时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RunTime_1":
 | 
	
		
			
				|  |  | +                        describle = "运行时长";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RunTime_2":
 | 
	
		
			
				|  |  | +                        describle = "运行时长";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SCol_1":
 | 
	
		
			
				|  |  | +                        describle = "起始列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SCol_2":
 | 
	
		
			
				|  |  | +                        describle = "起始列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SDepth_1":
 | 
	
		
			
				|  |  | +                        describle = "起始深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SDepth_2":
 | 
	
		
			
				|  |  | +                        describle = "起始深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SLayer_1":
 | 
	
		
			
				|  |  | +                        describle = "起始层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SLayer_2":
 | 
	
		
			
				|  |  | +                        describle = "起始层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SLine_1":
 | 
	
		
			
				|  |  | +                        describle = "起始行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SLine_2":
 | 
	
		
			
				|  |  | +                        describle = "起始行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SRMMode":
 | 
	
		
			
				|  |  | +                        describle = "模式";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SRMStatus":
 | 
	
		
			
				|  |  | +                        describle = "状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status_1":
 | 
	
		
			
				|  |  | +                        describle = "2状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status_2":
 | 
	
		
			
				|  |  | +                        describle = "1状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_1":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_2":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TotalKM_1":
 | 
	
		
			
				|  |  | +                        describle = "总里程";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TotalKM_2":
 | 
	
		
			
				|  |  | +                        describle = "总里程";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TralelPos_1":
 | 
	
		
			
				|  |  | +                        describle = "X轴位置(0.1毫米) 行走";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TralelPos_2":
 | 
	
		
			
				|  |  | +                        describle = "X轴位置(0.1毫米) 行走";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VoucherNo_1":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VoucherNo_2":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  var values = new object[3];
 | 
	
		
			
				|  |  |                  values[0] = describle;
 | 
	
		
			
				|  |  | -                values[1] = proname;
 | 
	
		
			
				|  |  | +                values[1] = "DB521_" + proname;
 | 
	
		
			
				|  |  |                  values[2] = abc;
 | 
	
		
			
				|  |  |                  tb.Rows.Add(values);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -124,13 +335,152 @@ namespace WCS_Client
 | 
	
		
			
				|  |  |                  var abc = pi.GetValue(obj.D520, null);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  switch (proname)
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    default:
 | 
	
		
			
				|  |  | +                {                    
 | 
	
		
			
				|  |  | +                    case "SLine_1":
 | 
	
		
			
				|  |  | +                        describle = "起始行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SLine_2":
 | 
	
		
			
				|  |  | +                        describle = "起始行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SCol_1":
 | 
	
		
			
				|  |  | +                        describle = "起始列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SCol_2":
 | 
	
		
			
				|  |  | +                        describle = "起始列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SLayer_1":
 | 
	
		
			
				|  |  | +                        describle = "起始层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SLayer_2":
 | 
	
		
			
				|  |  | +                        describle = "起始层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SDepth_1":
 | 
	
		
			
				|  |  | +                        describle = "起始深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SDepth_2":
 | 
	
		
			
				|  |  | +                        describle = "起始深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Col_1":
 | 
	
		
			
				|  |  | +                        describle = "当前列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Col_2":
 | 
	
		
			
				|  |  | +                        describle = "当前列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELine_1":
 | 
	
		
			
				|  |  | +                        describle = "目标行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELine_2":
 | 
	
		
			
				|  |  | +                        describle = "目标行";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ECol_1":
 | 
	
		
			
				|  |  | +                        describle = "目标列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ECol_2":
 | 
	
		
			
				|  |  | +                        describle = "目标列";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELayer_1":
 | 
	
		
			
				|  |  | +                        describle = "目标层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ELayer_2":
 | 
	
		
			
				|  |  | +                        describle = "目标层";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "EDepth_1":
 | 
	
		
			
				|  |  | +                        describle = "目标深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "EDepth_2":
 | 
	
		
			
				|  |  | +                        describle = "目标深度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;                    
 | 
	
		
			
				|  |  | +                    case "ENALBLE":
 | 
	
		
			
				|  |  | +                        describle = "是否可用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FinishedACK_1":
 | 
	
		
			
				|  |  | +                        describle = "完成任务触发";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FinishedACK_2":
 | 
	
		
			
				|  |  | +                        describle = "完成任务触发";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "GoodsType_1":
 | 
	
		
			
				|  |  | +                        describle = "货物类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "GoodsType_2":
 | 
	
		
			
				|  |  | +                        describle = "货物类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Handshake_1":
 | 
	
		
			
				|  |  | +                        describle = "WCS心跳信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Handshake_2":
 | 
	
		
			
				|  |  | +                        describle = "WCS心跳信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "ID";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES1_1":
 | 
	
		
			
				|  |  | +                        describle = "货物数量";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES1_2":
 | 
	
		
			
				|  |  | +                        describle = "货物数量";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES2_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES2_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES3_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES3_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES4_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES4_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SCSpeedMode_1":
 | 
	
		
			
				|  |  | +                        describle = "行驶速度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SCSpeedMode_2":
 | 
	
		
			
				|  |  | +                        describle = "行驶速度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_1":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_2":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VoucherNo_1":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VoucherNo_2":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  var values = new object[3];
 | 
	
		
			
				|  |  |                  values[0] = describle;
 | 
	
		
			
				|  |  | -                values[1] = proname;
 | 
	
		
			
				|  |  | +                values[1] = "DB520_" + proname;
 | 
	
		
			
				|  |  |                  values[2] = abc;
 | 
	
		
			
				|  |  |                  tb.Rows.Add(values);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -139,14 +489,548 @@ namespace WCS_Client
 | 
	
		
			
				|  |  |                  AttributeCollection attributes = TypeDescriptor.GetProperties(obj.D537.GetType())[pi.Name].Attributes;
 | 
	
		
			
				|  |  |                  DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 | 
	
		
			
				|  |  |                  string describle = myAttribute.Description;
 | 
	
		
			
				|  |  | -                string proname = "DB537" + pi.Name;
 | 
	
		
			
				|  |  | +                string proname = "DB537_" + pi.Name;
 | 
	
		
			
				|  |  |                  var abc = pi.GetValue(obj.D537, null);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  switch (pi.Name)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    case "TASKNUM":
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ENALBLE":
 | 
	
		
			
				|  |  | +                        describle = "是否可用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "时间";
 | 
	
		
			
				|  |  | +                        break;                  
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "ID";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SCAlarm":
 | 
	
		
			
				|  |  | +                        describle = "警报";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "版本";
 | 
	
		
			
				|  |  | +                        break;                 
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                var values = new object[3];
 | 
	
		
			
				|  |  | +                values[0] = describle;
 | 
	
		
			
				|  |  | +                values[1] = proname;
 | 
	
		
			
				|  |  | +                values[2] = abc;
 | 
	
		
			
				|  |  | +                tb.Rows.Add(values);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //属性遍历
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            return tb;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        public static DataTable GetAttributesDataTable(this StationData obj)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            var tb = new DataTable(obj.GetType().Name);
 | 
	
		
			
				|  |  | +            tb.Columns.Add("信号说明", typeof(string));
 | 
	
		
			
				|  |  | +            tb.Columns.Add("信号名称", typeof(string));
 | 
	
		
			
				|  |  | +            tb.Columns.Add("信号值", typeof(string));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            foreach (PropertyInfo pi in obj.D521.GetType().GetProperties())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                AttributeCollection attributes = TypeDescriptor.GetProperties(obj.D521.GetType())[pi.Name].Attributes;
 | 
	
		
			
				|  |  | +                DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 | 
	
		
			
				|  |  | +                string describle = myAttribute.Description;
 | 
	
		
			
				|  |  | +                string proname = pi.Name;
 | 
	
		
			
				|  |  | +                var abc = pi.GetValue(obj.D521, null);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                switch (proname)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    case "Tasknum":
 | 
	
		
			
				|  |  |                          describle = "任务号";
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  | +                    case "CmdType":
 | 
	
		
			
				|  |  | +                        describle = "命令类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ENABLED":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "GoodsSize":
 | 
	
		
			
				|  |  | +                        describle = "货物高度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Goodscode":
 | 
	
		
			
				|  |  | +                        describle = "货物数条码";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Goodsend":
 | 
	
		
			
				|  |  | +                        describle = "目标地址";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    case "Goodsnum":
 | 
	
		
			
				|  |  | +                        describle = "货物数量(1.两个位置放1个货物,2.两个位置放2个货物)";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Goodsstart":
 | 
	
		
			
				|  |  | +                        describle = "起始地址";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Request":
 | 
	
		
			
				|  |  | +                        describle = "请求";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status":
 | 
	
		
			
				|  |  | +                        describle = "输送机状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPTATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VoucherNo":
 | 
	
		
			
				|  |  | +                        describle = "凭证号 每次累加";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                var values = new object[3];
 | 
	
		
			
				|  |  | +                values[0] = describle;
 | 
	
		
			
				|  |  | +                values[1] = "DB521_" + proname;
 | 
	
		
			
				|  |  | +                values[2] = abc;
 | 
	
		
			
				|  |  | +                tb.Rows.Add(values);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            foreach (PropertyInfo pi in obj.D520.GetType().GetProperties())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                AttributeCollection attributes = TypeDescriptor.GetProperties(obj.D520.GetType())[pi.Name].Attributes;
 | 
	
		
			
				|  |  | +                DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 | 
	
		
			
				|  |  | +                string describle = myAttribute.Description;
 | 
	
		
			
				|  |  | +                string proname = pi.Name;
 | 
	
		
			
				|  |  | +                var abc = pi.GetValue(obj.D520, null);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                switch (proname)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    case "Tasknum":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "CmdType":
 | 
	
		
			
				|  |  | +                        describle = "命令类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ENABLED":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "GoodsSize":
 | 
	
		
			
				|  |  | +                        describle = "货物高度";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Goodscode":
 | 
	
		
			
				|  |  | +                        describle = "货物数条码";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Goodsend":
 | 
	
		
			
				|  |  | +                        describle = "目标地址";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    case "Goodsnum":
 | 
	
		
			
				|  |  | +                        describle = "货物数量(1.两个位置放1个货物,2.两个位置放2个货物)";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Goodsstart":
 | 
	
		
			
				|  |  | +                        describle = "起始地址";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Request":
 | 
	
		
			
				|  |  | +                        describle = "请求";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Istation521Status":
 | 
	
		
			
				|  |  | +                        describle = "输送机状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPTATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VoucherNo":
 | 
	
		
			
				|  |  | +                        describle = "凭证号 每次累加";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                var values = new object[3];
 | 
	
		
			
				|  |  | +                values[0] = describle;
 | 
	
		
			
				|  |  | +                values[1] = "DB520_" + proname;
 | 
	
		
			
				|  |  | +                values[2] = abc;
 | 
	
		
			
				|  |  | +                tb.Rows.Add(values);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            foreach (PropertyInfo pi in obj.D523.GetType().GetProperties())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                AttributeCollection attributes = TypeDescriptor.GetProperties(obj.D523.GetType())[pi.Name].Attributes;
 | 
	
		
			
				|  |  | +                DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 | 
	
		
			
				|  |  | +                string describle = myAttribute.Description;
 | 
	
		
			
				|  |  | +                string proname = "DB523_" + pi.Name;
 | 
	
		
			
				|  |  | +                var abc = pi.GetValue(obj.D523, null);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                switch (pi.Name)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    case "Alarm":
 | 
	
		
			
				|  |  | +                        describle = "警报";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ENABLED":
 | 
	
		
			
				|  |  | +                        describle = "是否可用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "编码";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    case "RES":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RunTime":
 | 
	
		
			
				|  |  | +                        describle = "运行时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status":
 | 
	
		
			
				|  |  | +                        describle = "输送机状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                var values = new object[3];
 | 
	
		
			
				|  |  | +                values[0] = describle;
 | 
	
		
			
				|  |  | +                values[1] = proname;
 | 
	
		
			
				|  |  | +                values[2] = abc;
 | 
	
		
			
				|  |  | +                tb.Rows.Add(values);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //属性遍历
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            return tb;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        public static DataTable GetAttributesDataTable(this RGVData obj)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            var tb = new DataTable(obj.GetType().Name);
 | 
	
		
			
				|  |  | +            tb.Columns.Add("信号说明", typeof(string));
 | 
	
		
			
				|  |  | +            tb.Columns.Add("信号名称", typeof(string));
 | 
	
		
			
				|  |  | +            tb.Columns.Add("信号值", typeof(string));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            foreach (PropertyInfo pi in obj.D521.GetType().GetProperties())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                AttributeCollection attributes = TypeDescriptor.GetProperties(obj.D521.GetType())[pi.Name].Attributes;
 | 
	
		
			
				|  |  | +                DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 | 
	
		
			
				|  |  | +                string describle = myAttribute.Description;
 | 
	
		
			
				|  |  | +                string proname = pi.Name;
 | 
	
		
			
				|  |  | +                var abc = pi.GetValue(obj.D521, null);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                switch (proname)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DestPosition_1":
 | 
	
		
			
				|  |  | +                        describle = "目标站台";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DestPosition_2":
 | 
	
		
			
				|  |  | +                        describle = "目标站台";
 | 
	
		
			
				|  |  | +                        break;                   
 | 
	
		
			
				|  |  | +                    case "ENALBLE":
 | 
	
		
			
				|  |  | +                        describle = "是否可用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "ID";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Mileage":
 | 
	
		
			
				|  |  | +                        describle = "里程";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "PRIORITY_1":
 | 
	
		
			
				|  |  | +                        describle = "优先级";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "PRIORITY_2":
 | 
	
		
			
				|  |  | +                        describle = "优先级";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Position":
 | 
	
		
			
				|  |  | +                        describle = "位置";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES1_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES1_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES2_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES2_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES_6":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RunTime":
 | 
	
		
			
				|  |  | +                        describle = "运行时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "StartPosition_1":
 | 
	
		
			
				|  |  | +                        describle = "起始站台";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "StartPosition_2":
 | 
	
		
			
				|  |  | +                        describle = "起始站台";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status_1":
 | 
	
		
			
				|  |  | +                        describle = "RGV运行状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status_2":
 | 
	
		
			
				|  |  | +                        describle = "RGV运行状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "SystemStatus":
 | 
	
		
			
				|  |  | +                        describle = "系统状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_1":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_2":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskType_1":
 | 
	
		
			
				|  |  | +                        describle = "任务类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskType_2":
 | 
	
		
			
				|  |  | +                        describle = "任务类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Trigger_1":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Trigger_2":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;                    
 | 
	
		
			
				|  |  | +                    case "UPDATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WorkMode":
 | 
	
		
			
				|  |  | +                        describle = "RGV运行模式";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                var values = new object[3];
 | 
	
		
			
				|  |  | +                values[0] = describle;
 | 
	
		
			
				|  |  | +                values[1] = "DB521_" + proname;
 | 
	
		
			
				|  |  | +                values[2] = abc;
 | 
	
		
			
				|  |  | +                tb.Rows.Add(values);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            foreach (PropertyInfo pi in obj.D520.GetType().GetProperties())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                AttributeCollection attributes = TypeDescriptor.GetProperties(obj.D520.GetType())[pi.Name].Attributes;
 | 
	
		
			
				|  |  | +                DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 | 
	
		
			
				|  |  | +                string describle = myAttribute.Description;
 | 
	
		
			
				|  |  | +                string proname = pi.Name;
 | 
	
		
			
				|  |  | +                var abc = pi.GetValue(obj.D520, null);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                switch (proname)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DestPosition_1":
 | 
	
		
			
				|  |  | +                        describle = "目标站台";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "DestPosition_2":
 | 
	
		
			
				|  |  | +                        describle = "目标站台";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ENALBLE":
 | 
	
		
			
				|  |  | +                        describle = "是否可用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "ID";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "PRIORITY_1":
 | 
	
		
			
				|  |  | +                        describle = "优先级";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "PRIORITY_2":
 | 
	
		
			
				|  |  | +                        describle = "优先级";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Position":
 | 
	
		
			
				|  |  | +                        describle = "位置";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES1_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES1_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES2_1":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "RES2_2":
 | 
	
		
			
				|  |  | +                        describle = "备用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "StartPosition_1":
 | 
	
		
			
				|  |  | +                        describle = "起始地址,环穿RGV无起始地址,只有目标地址";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "StartPosition_2":
 | 
	
		
			
				|  |  | +                        describle = "起始地址,环穿RGV无起始地址,只有目标地址";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_1":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskID_2":
 | 
	
		
			
				|  |  | +                        describle = "任务号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskType_1":
 | 
	
		
			
				|  |  | +                        describle = "任务类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "TaskType_2":
 | 
	
		
			
				|  |  | +                        describle = "任务类型";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Trigger_1":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Trigger_2":
 | 
	
		
			
				|  |  | +                        describle = "触发信号";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                var values = new object[3];
 | 
	
		
			
				|  |  | +                values[0] = describle;
 | 
	
		
			
				|  |  | +                values[1] = "DB520_" + proname;
 | 
	
		
			
				|  |  | +                values[2] = abc;
 | 
	
		
			
				|  |  | +                tb.Rows.Add(values);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            foreach (PropertyInfo pi in obj.D523.GetType().GetProperties())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                AttributeCollection attributes = TypeDescriptor.GetProperties(obj.D523.GetType())[pi.Name].Attributes;
 | 
	
		
			
				|  |  | +                DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 | 
	
		
			
				|  |  | +                string describle = myAttribute.Description;
 | 
	
		
			
				|  |  | +                string proname = "DB523_" + pi.Name;
 | 
	
		
			
				|  |  | +                var abc = pi.GetValue(obj.D523, null);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                switch (pi.Name)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    case "DEVICE":
 | 
	
		
			
				|  |  | +                        describle = "设备";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ENALBLE":
 | 
	
		
			
				|  |  | +                        describle = "是否可用";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "FRAME":
 | 
	
		
			
				|  |  | +                        describle = "时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Fault":
 | 
	
		
			
				|  |  | +                        describle = "RGV故障";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Fault_1":
 | 
	
		
			
				|  |  | +                        describle = "RGV1工位故障";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Fault_2":
 | 
	
		
			
				|  |  | +                        describle = "RGV2工位故障";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ISLAST":
 | 
	
		
			
				|  |  | +                        describle = "";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status":
 | 
	
		
			
				|  |  | +                        describle = "环穿状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status_1":
 | 
	
		
			
				|  |  | +                        describle = "1工位状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "Status_2":
 | 
	
		
			
				|  |  | +                        describle = "2工位状态";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "ID":
 | 
	
		
			
				|  |  | +                        describle = "ID";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATETIME":
 | 
	
		
			
				|  |  | +                        describle = "更新时间";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "UPDATEUSER":
 | 
	
		
			
				|  |  | +                        describle = "更新用户";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "VER":
 | 
	
		
			
				|  |  | +                        describle = "版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "WCSVERSION":
 | 
	
		
			
				|  |  | +                        describle = "WCS版本";
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  var values = new object[3];
 | 
	
		
			
				|  |  |                  values[0] = describle;
 |