添加项目文件。

This commit is contained in:
17860779768
2023-02-23 14:52:43 +08:00
parent 1db01eda58
commit 157613603c
508 changed files with 94132 additions and 0 deletions

View File

@ -0,0 +1,878 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
namespace BRS.Common.Model.Helper
{
public static class EnumHelper
{
/// <summary>
/// 根据枚举的代码名称获取枚举列表信息
/// </summary>
/// <param name="enumName"></param>
/// <returns></returns>
public static List<dynamic> GetEnumListByName(string enumName, string assemblyName = "Common.Model.Helper.EnumHelper+")
{
List<dynamic> list = new List<dynamic>();
string fullName = assemblyName + enumName;
Type t = typeof(EnumHelper).Assembly.GetType(fullName);
t.GetEnumNames().ToList().ForEach(e =>
{
int value = Convert.ToInt32(Enum.Parse(t, e));
string desc = ((Enum)Enum.Parse(t, e)).GetEnumDescription();
var item = new { Value = value, Desc = desc, Code = e };
list.Add(item);
});
return list;
}
/// <summary>
/// 获取枚举的列表信息,一般供下拉列表使用
/// </summary>
/// <param name="enumType">枚举类型</param>
/// <returns>Desc中文描述 Value整形值 Code枚举值</returns>
public static List<dynamic> GetEnumListByType(Type enumType)
{
List<dynamic> list = new List<dynamic>();
enumType.GetEnumNames().ToList().ForEach(e =>
{
int value = Convert.ToInt32(Enum.Parse(enumType, e));
string desc = ((Enum)Enum.Parse(enumType, e)).GetEnumDescription();
var item = new { Value = value, Desc = desc, Code = e };
list.Add(item);
});
return list;
}
/// <summary>
/// 获取具体某一枚举的中文描述
/// </summary>
/// <param name="enumObj"></param>
/// <returns></returns>
public static string GetEnumDescription(this Enum enumObj)
{
Type t = enumObj.GetType();
FieldInfo f = t.GetField(enumObj.ToString());
if (f == null)
{
return enumObj.ToString();
}
DescriptionAttribute attr = f.GetCustomAttribute<DescriptionAttribute>();
if (attr != null)
{
return attr.Description;
}
else
{
return enumObj.ToString();
}
}
public static System.Windows.Media.Color GetEnumSelectedMediaColor(this Enum enumObj)
{
Type t = enumObj.GetType();
FieldInfo f = t.GetField(enumObj.ToString());
ColorSelectAttribute attr = f.GetCustomAttribute<ColorSelectAttribute>();
if (attr != null)
{
var prop = typeof(System.Windows.Media.Colors).GetProperties().FirstOrDefault(p => p.Name == attr.SelectedColor);
if (prop != null)
{
return (System.Windows.Media.Color)prop.GetValue(null);
}
}
return System.Windows.Media.Colors.Transparent;
}
public static System.Drawing.Color GetEnumSelectedColor(this Enum enumObj)
{
Type t = enumObj.GetType();
FieldInfo f = t.GetField(enumObj.ToString());
ColorSelectAttribute attr = f.GetCustomAttribute<ColorSelectAttribute>();
if (attr != null)
{
return System.Drawing.Color.FromName(attr.SelectedColor);
}
else
{
return System.Drawing.Color.Transparent;
}
}
public static System.Drawing.Color GetEnumSelectedFontColor(this Enum enumObj)
{
Type t = enumObj.GetType();
FieldInfo f = t.GetField(enumObj.ToString());
var attr = f.GetCustomAttribute<FontColorSelectAttribute>();
if (attr != null)
{
return System.Drawing.Color.FromName(attr.SelectedColor);
}
else
{
return System.Drawing.Color.Transparent;
}
}
public static string GetEnumSelectedColorString(this Enum enumObj)
{
Type t = enumObj.GetType();
FieldInfo f = t.GetField(enumObj.ToString());
ColorSelectAttribute attr = f.GetCustomAttribute<ColorSelectAttribute>();
if (attr != null)
{
return attr.SelectedColor;
}
else
{
return "Transparent";
}
}
/// <summary>
/// 当枚举牵涉到状态变换,检查现状态是否满足待转换的状态的前置状态要求
/// </summary>
/// <param name="stateToBe"></param>
/// <param name="currentState"></param>
/// <returns></returns>
public static bool CheckPreStateValid(this Enum stateToBe, int currentState)
{
Type t = stateToBe.GetType();
FieldInfo f = t.GetField(stateToBe.ToString());
PreStateAttribute attr = f.GetCustomAttribute<PreStateAttribute>();
if (attr == null)
{
return true;
}
else
{
return attr.CheckPreStateValid(currentState);
}
}
/// <summary>
/// 设备状态定义
/// 未初始化和异常状态无前置状态要求
/// 初始化操作前置状态必须是未初始化、关闭状态和异常状态
/// 打开前置必须是初始化和暂停
/// 关闭前置必须是打开和暂停和异常
/// 暂停前置必须是打开
/// </summary>
public enum DeviceState
{
TBD = -1,
[ColorSelect("Gray")]
[FontColorSelect("Black")]
[Description("未初始化")]
DSUninit = 1,
[ColorSelect("Gold")]
[FontColorSelect("White")]
[PreState(1 + 2 + 4 + 8 + 32)]
[Description("初始化")]
DSInit = 2,
[ColorSelect("Lime")]
[FontColorSelect("Black")]
[PreState(2 + 4 + 16)]
[Description("运行中")]
DSOpen = 4,
[ColorSelect("Gray")]
[FontColorSelect("White")]
[PreState(1 + 4 + 8 + 16 + 32)]
[Description("关闭")]
DSClose = 8,
[ColorSelect("Gold")]
[FontColorSelect("White")]
[PreState(4 + 16)]
[Description("暂停")]
DSPause = 16,
[ColorSelect("Red")]
[FontColorSelect("White")]
[Description("异常")]
DSExcept = 32
}
/// <summary>
/// 工序状态
/// </summary>
public enum RunState
{
[ColorSelect("Gold")]
[Description("空闲")]
Idle = 1,
[ColorSelect("Lime")]
[Description("运行中")]
Running = 2,
[ColorSelect("Gray")]
[Description("停止")]
Stop = 3,
[ColorSelect("Red")]
[Description("宕机")]
Down = 99,
}
[Flags]
public enum DeviceAttributeType
{
[Description("设备驱动")]
Device = 1,
[Description("初始配置")]
InitialConfig = 2,
[Description("操作配置")]
OperationConfig = 4,
[Description("设备配置")]
DeviceConfig = 8,
[Description("输入配置")]
InputConfig = 16,
[Description("初始配置控件")]
InitialConfigCtrl = 32,
[Description("操作配置控件")]
OperationConfigCtrl = 64,
[Description("设备配置控件")]
DeviceConfigCtrl = 128,
[Description("输入配置控件")]
InputConfigCtrl = 256,
[Description("运行控件")]
RunCtrl = 512,
[Description("操作配置面板")]
OperationConfigPanel = 1024,
}
public enum EnableState
{
[Description("启用")]
Enabled = 0,
[Description("禁用")]
Disabled = 1,
}
public enum EnableStateFilter
{
[Description("全部")]
All = -1,
[Description("启用")]
Enabled = 0,
[Description("禁用")]
Disabled = 1,
}
public enum OutputResult
{
[Description("OK")]
OK = 1,
[Description("NG")]
NG = 2,
}
/// <summary>
/// PLC项目的值的类型
/// </summary>
public enum PLCItemType
{
[Description("布尔类型")]
Bool = 0,
[Description("整型")]
Integer = 1,
[Description("字符串型")]
String = 2,
}
/// <summary>
/// 对PLC项目的操作类型
/// </summary>
public enum PLCOpType
{
[Description("读取")]
Read = 1,
[Description("写入")]
Write = 2,
[Description("监控")]
Monitor = 4,
/// <summary>
/// 报警监控 1+8
/// </summary>
[Description("报警监控")]
WarningMonitor = 9,
/// <summary>
/// CT监控 1+16
/// </summary>
[Description("CT监控")]
CTMonitor = 17,
}
/// <summary>
/// 相机运行模式
/// </summary>
public enum CameraOpMode
{
[Description("单次拍照")]
SingleSnapShot = 1,
[Description("连续模式")]
ContinuousMode = 2,
}
/// <summary>
/// 日志类型
/// </summary>
public enum LogType
{
[Description("警告信息")]
Exception_Warning = 1,
[Description("错误信息")]
Exception_Error = 2,
[Description("致命信息")]
Exception_Fatal = 3,
[Description("设备信息")]
Info_Device = 11,
[Description("工序信息")]
Info_Process = 12,
[Description("操作信息")]
Info_Operation = 13,
[Description("用户操作信息")]
User_Operation = 21,
[Description("测量结果")]
MeasureResult = 31,
}
//public enum CameraDriverType
//{
// Halcon,
// //HalconPlugIn,
// Hik,
//}
//public enum ImageType
//{
// Bmp,
// Png,
// Jpeg,
//}
//public enum ReplyValue
//{
// OK = 1,
// NG = -1,
// IGNORE = -999,
//}
public enum PriorityDirection
{
X,
Y,
}
public enum ElementState
{
New = 1,
MouseHover = 2,
MouseInSide = 3,
Selected = 4,
Moving = 5,
Editing = 6,
Normal = 11,
Measuring = 21,
MeasureDoneOK = 22,
MeasureDoneNG = 23,
CanStretchLeft = 41,
CanStretchRight = 42,
CanStretchTop = 43,
CanStretchBottom = 44,
CanStretchLeftUpperCorner = 45,
CanStretchLeftLowerCorner = 46,
CanStretchRightUpperCorner = 47,
CanStretchRightLowerCorner = 48,
StretchingLeft = 31,
StretchingRight = 32,
StretchingTop = 33,
StretchingBottom = 34,
StretchingLeftUpperCorner = 35,
StretchingLeftLowerCorner = 36,
StretchingRightUpperCorner = 37,
StretchingRightLowerCorner = 38,
}
public enum MouseState
{
Normal = 1,
HoverElement = 2,
InSideElement = 3,
MoveElement = 4,
StretchingLeft = 11,
StretchingRight = 12,
StretchingTop = 13,
StretchingBottom = 14,
StretchingLeftUpperCorner = 15,
StretchingLeftLowerCorner = 16,
StretchingRightUpperCorner = 17,
StretchingRightLowerCorner = 18,
New = 21,
Editing = 22,
//SelectedElement = 23,
MovingAll = 31,
SelectionZone = 41,
SelectionZoneDoing = 42,
}
public enum RunMode
{
[Description("调试模式")]
DebugMode = 0,
[Description("正常运行模式")]
NormalMode = 1,
[Description("模拟模式")]
DemoMode = 2,
}
public enum MoveType
{
[Description("绝对运动")]
AbsoluteMove = 1,
[Description("机器人坐标系相对运动")]
RobotRelativeMove = 2,
[Description("相对某个基准点位的相对运动")]
BasedPointRelativeMove = 3,
[Description("回原点")]
Origin = 4,
[Description("左侧姿势")]
LeftPose = 6,
[Description("右侧姿势")]
RightPose = 5,
[Description("前侧姿势")]
FrontPose = 7,
[Description("相机坐标系相对运动")]
CameraRelativeMove = 12,
}
/// <summary>
/// 马达/运动板卡运行模式
/// </summary>
public enum MotionMode
{
/// <summary>
/// 普通点位运动
/// </summary>
[Description("普通点位运动")]
P2P = 1,
/// <summary>
/// 找正限位运动
/// </summary>
[Description("找正限位运动")]
FindPositive = 4,
/// <summary>
/// 离开正限位
/// </summary>
[Description("离开正限位")]
LeavePositive = 5,
/// <summary>
/// 找负限位运动
/// </summary>
[Description("找负限位运动")]
FindNegative = 6,
/// <summary>
/// 离开负限位
/// </summary>
[Description("离开负限位")]
LeaveNegative = 7,
/// <summary>
/// 找原点运动
/// </summary>
[Description("回原点运动")]
GoHome = 8,
/// <summary>
/// Jog模式
/// </summary>
[Description("Jog模式")]
Jog = 9,
///// <summary>
///// 读数头找原点方式
///// </summary>
//[Description("找原点inde")]
//FindOriIndex = 10,
///// <summary>
///// 插补模式
///// </summary>
//[Description("插补模式")]
//Coordinate = 11
}
/// <summary>
/// IO预定义类型 主要针对输出
/// </summary>
public enum IOPrestatement
{
[Description("自定义")]
Customized = 0,
[Description("指示灯-黄")]
Light_Yellow = 1,
[Description("指示灯-绿")]
Light_Green = 2,
[Description("指示灯-红")]
Light_Red = 3,
[Description("蜂鸣器")]
Beep = 4,
[Description("照明灯")]
Light = 5,
[Description("急停")]
EmergencyStop = 99,
}
/// <summary>
/// GTS运动板卡控制返回控制码
/// </summary>
public enum GTSRetCode
{
[Description("指令执行成功")]
GRCRunOK = 0, // 指令执行成功
[Description("指令执行错误")]
GRCRunErr = 1, // 指令执行错误
[Description("icense不支持")]
GRCNotSupport = 2, // icense不支持
[Description("指令参数错误")]
GRCInvalidParam = 7, // 指令参数错误
[Description("主机和运动控制器通讯失败")]
GRCCommErr = -1, // 主机和运动控制器通讯失败
[Description("打开控制器失败")]
GRCOpenErr = -6, // 打开控制器失败
[Description("运动控制器没有响应")]
GRCNotAck = -7 // 运动控制器没有响应
}
/// <summary>
/// 运动板卡 IO 类型IN OUT
/// </summary>
public enum IOType
{
[Description("INPUT")]
INPUT = 0,
[Description("OUTPUT")]
OUTPUT = 1
}
public enum IOValue
{
[Description("关闭")]
FALSE = 0,
[Description("开启")]
TRUE = 1,
[Description("反转")]
REVERSE = 2,
}
/// <summary>
/// PubSubCenter事件中心的消息类型
/// </summary>
public enum PubSubCenterMessageType
{
/// <summary>
/// 运行界面更新产品下拉
/// </summary>
[Description("更新产品下拉")]
UpdateProductionCodes,
/// <summary>
/// 流程是否关闭
/// </summary>
[Description("流程是否打开")]
IsProcessOpened,
/// <summary>
/// 清除数据
/// </summary>
[Description("清除数据")]
ClearData,
/// <summary>
/// 更新批次信息
/// </summary>
[Description("更新批次信息")]
UpdateBatchNO,
/// <summary>
/// 请求批次信息
/// </summary>
[Description("更新批次信息")]
RequestBatchNO,
}
public enum MachineState
{
Unknown = 0,
Ready = 1,
Running = 2,
Alarm = 3,
Pause = 4,
Resetting = 5,
Closing = 6,
ClearProduct = 7,
}
public enum WhoolSize
{
Size17=0,
Size16,
Size18,
}
public enum MachineStateStep
{
Unknown = 0,
Ready ,//上电就绪
inflation,//充气气
Running ,//硫化
Bleeding,//放气
Alarm ,
Pause ,
Resetting ,
Closing ,
ClearProduct ,
}
public enum RobotsStatus
{
Unknown = 0,
Inplace ,
Claming,
Relasing,
Moving ,
Wating ,
Pweroff,
Reset ,
}
public enum ProcessStatus
{
Unknown = 0,
/// <summary>
/// 初始化点
/// </summary>
Init,
MesureingInit,
MesureingInitPLC,
Mesureing ,
MesureingPLC,
Claim ,
ClaimPLC,
Runing ,
RunFinish,
Loosen,
LoosenPLC,
TakeOffMove,
TakeOffMovePLC,
TakeOffMovePLC_2,
TakeOff,/// <summary>
/// 取出轮胎
/// </summary>
///
TakeOffCaim,
TakeOffPLC,
TakeOffPoint,
TakeOffPointCaim,
TakeOffPointCaimFlag,
TakeOffWhool,
Resetting ,
Closing ,
ClearProduct ,
}
public enum ResultState
{
[Description("NA")]
NA = -5,
//[Description("尺寸NG")]
//SizeNG = -4,
[Description("检测NG")]
NG = -1,
//[Description("A类NG")]
//A_NG = -3,
//[Description("C类NG")]
//C_NG = -2,
//[Description("B类NG")]
//B_NG = -1,
[Description("OK")]
OK = 1,
}
public enum HikCameraType
{
[Description("HikCamera-Gige")]
Gige = 0,
[Description("HikCamera-USB")]
USB = 1
}
/// <summary>
/// 光源操作
/// </summary>
public enum LightOperation
{
[Description("打开")]
Open = 1,
[Description("关闭")]
Close = 2,
[Description("写入")]
Write = 3,
[Description("读取")]
Read = 4,
[Description("频闪")]
Flash = 5,
}
/// <summary>
/// 监听反馈数据值
/// </summary>
public enum ReturnValue
{
OKVALUE = 1,
NGVALUE = -1,
EXCEPTIONVALUE = -2,
UNAUTHORIZATION = -10,
IGNORE = -999,
}
public enum LogLevel
{
[Description("辅助")]
[ColorSelect("White")]
[FontColorSelect("Blue")]
Assist = 1,
[Description("详细")]
[ColorSelect("White")]
[FontColorSelect("Green")]
Detail = 2,
[Description("信息")]
[ColorSelect("White")]
[FontColorSelect("Dark")]
Information = 3,
[Description("动作")]
[ColorSelect("DarkGreen")]
[FontColorSelect("Yellow")]
Action = 4,
[Description("错误")]
[ColorSelect("Orange")]
[FontColorSelect("White")]
Error = 5,
[Description("警报")]
[ColorSelect("Brown")]
[FontColorSelect("White")]
Warning = 6,
[Description("异常")]
[ColorSelect("Red")]
[FontColorSelect("White")]
Exception = 7,
}
public enum DetectionDeviceTypeDef
{
[Description("CPU")]
CPU = 0,
[Description("GPU")]
GPU,
[Description("VPU")]
VPU,
}
//public enum DetectImageFormat
//{
// [Description("所有格式")]
// ALL = 0,
// [Description("JPEG")]
// JPEG = 1,
// [Description("PNG")]
// PNG = 2,
// [Description("TIFF")]
// TIFF = 3,
//}
}
}