using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Configuration; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DoWhatPlc { public class MessageText { /// /// Source|Cmd|OpName|TagValue /// /// /// public static List GetCmdStringList(string cmd) { List list = new List(); string item; int index; try { index = cmd.IndexOf('|'); item = cmd.Substring(0, index); list.Add(item); cmd = cmd.Substring(index + 1); index = cmd.IndexOf('|'); item = cmd.Substring(0, index); list.Add(item); cmd = cmd.Substring(index + 1); index = cmd.IndexOf('|'); item = cmd.Substring(0, index); list.Add(item); item = cmd.Substring(index + 1); list.Add(item); } catch { } return list; } public string CmdType { get; set; } public string Command { get; set; } public string OpName { get; set; } public string Value { get; set; } } public class ReturnResult { public bool success { get; set; } public ReturnResult(bool success, string ResponseMessage) { this.success = success; this.ResponseMessage = ResponseMessage; } public string ResponseMessage { get; set; } } public class EngineValue { public string OpName { set; get; } public string EngineID { set; get; } public string EngineType { set; get; } public int EngineTypeID { set; get; } public int PalletCode { set; get; } public int ProcessCode { set; get; } public int PartPalletCode { set; get; } public string PalletInfo { set; get; } /// /// 显示返修标志 /// public int RepairPartStatusPLC { set; get; } /// /// 1 合格;2 不合格 /// public int QualityMask { set; get; } public string OrderForm { set; get; } } public class DoWhat { public const string ReadPLC_TagID = "ReadPLC_TagID"; public const string WritePLC_TagID = "WritePLC_TagID"; public const string ReadPLC_TagTypeCodeID = "ReadPLC_TagTypeCodeID"; public const string WritePLC_TagTypeCodeID = "WritePLC_TagTypeCodeID"; public const string ReadPLC_Cmd = "ReadPLC_Cmd"; public const string WritePLC_Cmd = "WritePLC_Cmd"; public const string ReadPLC_GroupData = "ReadPLC_GroupData"; public const string ReadPLC_GroupMonitor = "ReadPLC_GroupMonitor"; public const string ReadPLC_IpTag = "ReadPLC_IpTag"; public const string ReadPLC_IpMonitorTag = "ReadPLC_IpMonitorTag"; public const string ReadQualityDataList = "ReadQualityDataList"; public const string ReadByteData_Op = "ReadByteData_Op"; public const string ReadByteData_Ip = "ReadByteData_Ip"; public const string WritePLC_Bytes_Op = "WritePLC_Bytes_Op"; public const string WritePLC_Bytes_Ip = "WritePLC_Bytes_Ip"; public const string IpAllTag = "IpAllTag"; public const string IpMonitorTag = "IpMonitorTag"; public const string RegionRead = "RegionRead"; public const string ReadBytes = "ReadBytes"; public const string WriteBytes = "WriteBytes"; } /// /// object 类型数据转换成字符串变量表达 /// public class ReturnValueString { public string TagID { set; get; } public string TagValue { set; get; } public string ValueType { set; get; } public string OpName { set; get; } public string TimeStamp { set; get; } public string TagTypeCodeID { set; get; } public string TagTypeID { set; get; } /// /// 测量项目 TEXT1 报警的 工步内容 /// public string ItemName { set; get; } /// /// 测量位置 TEXT2 报警的 工步号 /// public string ShaftID { set; get; } /// /// 列位置 工步 工位工步分类 /// public string TagOrderBy { set; get; } public string TagValueBefore { get; set; } public string TimeStampBefore { get; set; } public string TagName { get; set; } /// /// 变量变化的持续时间,单位 毫秒 /// public string TagKeepTime; public string FunName; public string FunCmd; public string MesServerCode; public string CmdPlcReadWrite; public ReturnValueString() { } public ReturnValueString(string tagID, object tagValue, string opName = "", string tagTypeCodeID = "", string tagTypeID = "", string tagKeepTime = "", string funName = "", string funCmd = "", string mesServerCode = "", string timeStamp = "", string timeStampBefore = "", string tagValueBefore = "", string tagName = "",string itemName="", string shaftID = "", string tagOrderBy = "") { TagTypeCodeID = tagTypeCodeID; TagTypeID = tagTypeID; TagValue = tagValue.ToString(); ValueType = tagValue.GetType().Name; TagID = tagID; OpName = opName; TagKeepTime = tagKeepTime; FunName = funName; FunCmd = funCmd; MesServerCode = mesServerCode; TimeStamp = timeStamp; TimeStampBefore = timeStampBefore; TagName = tagName; TagValueBefore = tagValueBefore; ItemName = itemName; ShaftID = shaftID; TagOrderBy = tagOrderBy; } public ReturnValueObject ReturnValueToObject() { ReturnValueObject ro = new ReturnValueObject(TagID, TagValue, OpName, TagTypeCodeID, ValueType, TimeStamp, TimeStampBefore, TagKeepTime, TagValueBefore, TagName, ItemName, ShaftID); return ro; } } /// /// 字符串变量转变成object类型变量 /// public class ReturnValueObject { public string TagID { set; get; } public object TagValue { set; get; } public string ValueType { set; get; } public string OpName { set; get; } public DateTime TimeStamp { set; get; } public string TagTypeCodeID { set; get; } /// /// 变量变化的持续时间,单位 毫秒 /// public int TagKeepTime; public object TagValueBefore { get; set; } public DateTime TimeStampBefore { get; set; } /// /// /// public string TagName { get; set; } /// /// 测量项目 TEXT2 报警的 工步内容 /// public string ItemName { set; get; } /// /// /// public string ShaftID { set; get; } public string TagOrderBy { set; get; } public ReturnValueObject(string tagID, string tagValue, string opName = "", string tagTypeCodeID = "", string valueType = "", string timeStamp = "", string timeStampBefore = "", string tagKeepTime="", string tagValueBefore = "", string tagName = "", string itemName = "", string shaftID = "", string tagOrderBy = "") { TagValue = GetTypeValue(valueType, tagValue); if (tagValueBefore != null) { TagValueBefore = GetTypeValue(valueType, tagValueBefore); } ValueType = valueType; TagID = tagID; OpName = opName; try { TimeStamp = Convert.ToDateTime(timeStamp); } catch { TimeStamp = DateTime.Now; } try { TimeStampBefore = Convert.ToDateTime(timeStampBefore); } catch { TimeStampBefore = DateTime.Now; } TagTypeCodeID = tagTypeCodeID; TagName = tagName; ItemName = itemName; ShaftID = shaftID; TagOrderBy = tagOrderBy; TagKeepTime = Convert.ToInt32( tagKeepTime); } public ReturnValueString ReturnValueToString() { ReturnValueString rs = new ReturnValueString(TagID, TagValue, OpName, TagTypeCodeID); return rs; } public static object GetTypeValue(string type, string tagValue) { object tagV = "-1"; if (type == null) { tagV = tagValue; } switch (type.ToLower()) { case "bool": case "boolean": tagV = false; switch (tagValue.ToLower()) { case "1": case "true": tagV = true; break; case "0": case "false": tagV = false; break; } return tagV; //return Type.GetType(" System.Boolean ", true, true); case "byte ": return Convert.ToByte(tagValue); case "sbyte": return Convert.ToSByte(tagValue); case "char": return Convert.ToChar(tagValue); case "decimal": return Convert.ToDecimal(tagValue); case "double": return Convert.ToDouble(tagValue); case "float": return Convert.ToSingle(tagValue); case "int": return Convert.ToInt32(tagValue); case "int16": return Convert.ToInt32(tagValue); case "uint": return Convert.ToUInt32(tagValue); case "long": return Convert.ToInt64(tagValue); case "ulong": return Convert.ToUInt64(tagValue); case "object": return tagValue; case "short": return Convert.ToInt16(tagValue); case "ushort": return Convert.ToUInt16(tagValue); case "string": return tagValue; case "date": case "datetime": return Convert.ToDateTime(tagValue); case "guid": return tagValue; default: return tagValue; } } } public class TagIDTagFormat { public string TagID; public TagFormat TF; public TagIDTagFormat(string tagID, TagFormat tF) { TagID = tagID; TF = tF; } } public class QualityDataSaveList { public Hashtable valuList; public DataTable BasicDataTagValue; public DataTable BasicDataTagValueUpDown; public Hashtable hashtable_EngineTypeID; public Hashtable hashtable_tagTable_OpName_SaveData; } public struct ControlData { public int TagType; public string opName; public Control btn; public ControlData(Control Ctrl, string OpName) { string[] Array_NameSplit; Array_NameSplit = Ctrl.Name.Split('_'); TagType = Convert.ToInt32(Array_NameSplit[2]); opName = OpName; btn = Ctrl; } } public struct ControlChangeByTagType { public ControlChangeByTagType(int tagType, string value) { TagType = tagType; Value = value; } public int TagType; public string Value; } /// /// tag格式化结构 /// public struct TagFormat { /// /// TagID /// public string TagID; /// /// TagID /// public string TagName; /// /// 工位号 /// public string OpName; /// /// 数据来源 /// public string DataSources; /// /// IP /// public string IP; /// /// OPC的URL /// public string OpcIpPort; /// /// 组 /// public string Group; /// /// 监控时间间隔 /// public string MonitorInterval; /// /// DB号加起始地址,DB1001.30 /// public string TagDbAndStartAdr; /// /// DB号加起始地址,DB1001.30.1,为了bool写入专用 /// public string TagDbAndStartAdrWrite; /// /// OPC协议地址 /// 例如:S7:[192.168.1.211|VFD1|S7ONLINE|01.00,192.168.1.211,02.02,1]DB1001,DINT154 /// public string TagOPCAdrStr; /// /// DB地址位置 /// 变量起始地址,例如 0,1,2,56,80... /// public int Index; /// /// 变量字节长度 /// 变量字节长度,l例如 1,2,4... /// public int Length; /// /// X 0,1,2,3,4,5,6,7 /// 例如 X 0,1,2,3,4,5,6,7 /// public int BitIndex; /// /// 以连续Byte数组方式读取的DB地址实际位置 /// 变量起始地址,例如 0,1,2,56,80... /// public int IndexBytes; /// /// 绝对地址差分,应用区域读取的拆分20200101_LLX /// public int AbsAddrDiff; /// /// 点类型代码 /// 比如bool是11,String是8 /// public int TagTypeID; /// /// 点类型 /// 比如Bool,INT,STRING等 /// public string TagType; /// /// 变量类型代码 /// 比如:允许保存是19 /// public int TagTypeCodeID; /// /// Value /// public object TagValue; /// /// 是否监控 /// public int IsMonitor; /// /// 时间戳 /// public DateTime TimeStamp; /// /// 标签质量 192 , -1 /// public string TagQuality; /// /// 测量位置 /// public string ShaftID; /// /// 测量项目 /// public string ItemName; /// /// 测量单位 /// public string Unit; /// /// 上限值 /// public string TagValueUp; /// /// 下限值 /// public string TagValueDown; /// /// 理论值 /// public string TagValeNormal; /// /// 合格标志 /// public string IsGoodBad; /// /// 列位置 /// public string TagOrderBy; /// /// 变量排序 /// public string TagItemOrderBy; /// /// 是保存到数据库 /// public int IsSaveToSql; /// /// 是发送到WebSocket /// public int IsWebSocket; /// /// 是程序启动时候的值 /// public int IsFirstValue; /// /// 变量特点 /// public int TagProperty; /// /// 变量变化的持续时间,单位 毫秒 /// public int TagKeepTime; /// /// 变量变化前的值 /// public object TagValueBefore; } public class CustomeEvetnArgs : EventArgs { public int TagKeepTime { get; set; } public object TagProperty { get; set; } public object TagItemOrderBy { get; set; } public object TagOrderBy { get; set; } public object IsGoodBad { get; set; } public object TagValeNormal { get; set; } public object TagValueDown { get; set; } public object TagValueUp { get; set; } public object Unit { get; set; } public object ItemName { get; set; } public object ShaftID { get; set; } public object IsMonitor { get; set; } public object TagTypeActual { get; set; } public object TagValueBefore { get; set; } public object IsFirstValue { get; set; } public object IsSaveToSql { get; set; } public object DataDources { get; set; } public object TagTypeID { get; set; } public object TagTypeCodeID { get; set; } public object TagID { get; set; } public string TimeStamp { get; set; } public object TagQuality { get; set; } public object OpName { get; set; } public object TagValue { get; set; } public object TagValueType { get; set; } public object TagType { get; set; } public object TagName { get; set; } public object TagKey { get; set; } public object IsWebSocket { get; set; } public string TimeStampBefore { get; set; } } public class QualityDataType { public int tagValueType; public int tagTypeID; public string opName; public string tagID; public object tagValue; public int tagQuality; public int tagOrderBy; public int tagItemOrderBy; public int tagProperty; public int isGoodBad; } public class HashtableList { /// /// MesServerCode /// static public Hashtable hashtable_MesServerCode_Temp; /// /// MesDll /// static public Hashtable hashtable_MesDll_Temp; static public NameValueCollection hashtable_TagTypeDataType_Temp; static public NameValueCollection hashtable_TagType_Temp; static public Hashtable hashtable_TagTypeTagName_Temp; static public Hashtable hashtable_EngineGetOver_EngineTypeID_Temp; static public Hashtable hashtable_EngineGetOver_EngineType_Temp; static public Hashtable hashtable_EngineGetOver_EngineID_Temp; static public Hashtable hashtable_EngineGetOver_OrderForm_Temp; static public Hashtable hashtable_OpNameRepair_Temp; static public Hashtable hashtable_WorkGroupIndex_Temp; static public Hashtable hashtable_workStepProperty_Temp; static public Hashtable hashtable_QualityMesRead_Temp; static public Hashtable hashtable_IsAllowWork_Temp; /// /// 工位号与工位上下线类型 /// (0普通工位)(1正常上线)(2正常下线)(3返修上线)(4返修下线) /// 5 分线上线(总线) 6 分线上线(分线) /// static public Hashtable hashtableOpName_OpType_Temp; static public Hashtable hashtable_tagTable_OpName_SaveData_Temp; public Hashtable hashtable_tagTable_OpName_SaveData; /// /// /// 工位号与工位上下线类型 /// (0普通工位)(1正常上线)(2正常下线)(3返修上线)(4返修下线) /// 5 分线上线(总线) 6 分线上线(分线) /// public Hashtable hashtableOpName_OpType; public Hashtable hashtable_IsAllowWork; public Hashtable hashtable_QualityMesRead; public Hashtable hashtable_workStepProperty; public Hashtable hashtable_OpNameRepair; /// /// MesServerCode /// public Hashtable hashtable_MesServerCode; public Hashtable hashtable_TagTypeTagName; /// /// MesDll /// public Hashtable hashtable_MesDll; public NameValueCollection hashtable_TagTypeDataType; public NameValueCollection hashtable_TagType; public Hashtable hashtable_EngineGetOver_EngineTypeID; public Hashtable hashtable_EngineGetOver_EngineType; public Hashtable hashtable_EngineGetOver_EngineID; public Hashtable hashtable_EngineGetOver_OrderForm; public Hashtable hashtable_WorkGroupIndex; public DataTable BasicDataTagValue; public DataTable BasicDataTagValueUpDown; public Hashtable hashtable_EngineTypeID; } public struct QualityDataQueryStruct { public QualityDataQueryStruct(string opName, Control ctrl) { OpName = opName; Ctrl = ctrl; tagType = 0; tagValue = ""; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string opName, int TagType) { OpName = opName; Ctrl = null; tagType = TagType; tagValue = ""; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string opName, int TagType, Control ctrl) { OpName = opName; Ctrl = ctrl; tagType = TagType; tagValue = ""; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string opName, int TagType, object TagValue) { OpName = opName; Ctrl = null; tagType = TagType; tagValue = TagValue; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string TagID, int TagTypeID, object TagValue, object TagValue2, Form TempForm) { OpName = ""; Ctrl = null; tagType = 0; tagValue = TagValue; tagID = TagID; tagTypeID = TagTypeID; tempForm = TempForm; tagValue2 = TagValue2; } public string OpName; public Control Ctrl; public int tagType; public object tagValue; public object tagValue2; public string tagID; public int tagTypeID; public Form tempForm; } } namespace DoWhatPlc1 { public class EngineValue { public string OpName { set; get; } public string EngineID { set; get; } public string EngineType { set; get; } public int EngineTypeID { set; get; } public int PalletCode { set; get; } public int ProcessCode { set; get; } public int PartPalletCode { set; get; } public string PalletInfo { set; get; } /// /// 显示返修标志 /// public int RepairPartStatusPLC { set; get; } /// /// 1 合格;2 不合格 /// public int QualityMask { set; get; } public string OrderForm { set; get; } } public class DoWhat { public const string ReadPLC_TagID = "ReadPLC_TagID"; public const string WritePLC_TagID = "WritePLC_TagID"; public const string ReadPLC_TagTypeCodeID = "ReadPLC_TagTypeCodeID"; public const string WritePLC_TagTypeCodeID = "WritePLC_TagTypeCodeID"; public const string ReadPLC_Cmd = "ReadPLC_Cmd"; public const string WritePLC_Cmd = "WritePLC_Cmd"; public const string ReadPLC_GroupData = "ReadPLC_GroupData"; public const string ReadPLC_GroupMonitor = "ReadPLC_GroupMonitor"; public const string ReadPLC_IpTag = "ReadPLC_IpTag"; public const string ReadPLC_IpMonitorTag = "ReadPLC_IpMonitorTag"; public const string ReadQualityDataList = "ReadQualityDataList"; public const string ReadByteData_Op = "ReadByteData_Op"; public const string ReadByteData_Ip = "ReadByteData_Ip"; public const string WritePLC_Bytes_Op = "WritePLC_Bytes_Op"; public const string WritePLC_Bytes_Ip = "WritePLC_Bytes_Ip"; public const string IpAllTag = "IpAllTag"; public const string IpMonitorTag = "IpMonitorTag"; public const string RegionRead = "RegionRead"; public const string ReadBytes = "ReadBytes"; public const string WriteBytes = "WriteBytes"; } /// /// object 类型数据转换成字符串变量表达 /// public class ReturnValueString { public string TagID { set; get; } public string TagValue { set; get; } public string ValueType { set; get; } public string OpName { set; get; } public string TimeStamp { set; get; } public string TagTypeCodeID { set; get; } public string TagTypeID { set; get; } /// /// 变量变化的持续时间,单位 毫秒 /// public string TagKeepTime; public string FunName; public string FunCmd; public string MesServerCode; public string CmdPlcReadWrite; public ReturnValueString() { } public ReturnValueString(string tagID, object tagValue, string opName = "", string tagTypeCodeID = "", string tagTypeID = "", string tagKeepTime = "", string funName = "", string funCmd = "", string mesServerCode = "") { TagTypeCodeID = tagTypeCodeID; TagTypeID = tagTypeID; TagValue = tagValue.ToString(); ValueType = tagValue.GetType().Name; TagID = tagID; OpName = opName; TagKeepTime = tagKeepTime; FunName = funName; FunCmd = funCmd; MesServerCode = mesServerCode; TimeStamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"); } public ReturnValueObject ReturnValueToObject() { ReturnValueObject ro = new ReturnValueObject(TagID, TagValue, OpName, TagTypeCodeID, ValueType, TimeStamp); return ro; } } /// /// 字符串变量转变成object类型变量 /// public class ReturnValueObject { public string TagID { set; get; } public object TagValue { set; get; } public string ValueType { set; get; } public string OpName { set; get; } public DateTime TimeStamp { set; get; } public string TagTypeCodeID { set; get; } /// /// 变量变化的持续时间,单位 毫秒 /// public int TagKeepTime; public ReturnValueObject(string tagID, string tagValue, string opName = "", string tagTypeCodeID = "", string valueType = "", string timeStamp = "") { TagValue = GetTypeValue(valueType, tagValue); ValueType = valueType; TagID = tagID; OpName = opName; try { TimeStamp = Convert.ToDateTime(timeStamp); } catch { TimeStamp = DateTime.Now; } TagTypeCodeID = tagTypeCodeID; } public ReturnValueString ReturnValueToString() { ReturnValueString rs = new ReturnValueString(TagID, TagValue, OpName, TagTypeCodeID); return rs; } public static object GetTypeValue(string type, string tagValue) { object tagV = "-1"; if (type == null) { tagV = tagValue; } switch (type.ToLower()) { case "bool": case "boolean": tagV = false; switch (tagValue.ToLower()) { case "1": case "true": tagV = true; break; case "0": case "false": tagV = false; break; } return tagV; //return Type.GetType(" System.Boolean ", true, true); case "byte ": return Convert.ToByte(tagValue); case "sbyte": return Convert.ToSByte(tagValue); case "char": return Convert.ToChar(tagValue); case "decimal": return Convert.ToDecimal(tagValue); case "double": return Convert.ToDouble(tagValue); case "float": return Convert.ToSingle(tagValue); case "int": return Convert.ToInt32(tagValue); case "int16": return Convert.ToInt32(tagValue); case "uint": return Convert.ToUInt32(tagValue); case "long": return Convert.ToInt64(tagValue); case "ulong": return Convert.ToUInt64(tagValue); case "object": return tagValue; case "short": return Convert.ToInt16(tagValue); case "ushort": return Convert.ToUInt16(tagValue); case "string": return tagValue; case "date": case "datetime": return Convert.ToDateTime(tagValue); case "guid": return tagValue; default: return tagValue; } } } public class TagIDTagFormat { public string TagID; public TagFormat TF; public TagIDTagFormat(string tagID, TagFormat tF) { TagID = tagID; TF = tF; } } public class QualityDataSaveList { public Hashtable valuList; public DataTable BasicDataTagValue; public DataTable BasicDataTagValueUpDown; public Hashtable hashtable_EngineTypeID; public Hashtable hashtable_tagTable_OpName_SaveData; } public struct ControlData { public int TagType; public string opName; public Control btn; public ControlData(Control Ctrl, string OpName) { string[] Array_NameSplit; Array_NameSplit = Ctrl.Name.Split('_'); TagType = Convert.ToInt32(Array_NameSplit[2]); opName = OpName; btn = Ctrl; } } public struct ControlChangeByTagType { public ControlChangeByTagType(int tagType, string value) { TagType = tagType; Value = value; } public int TagType; public string Value; } /// /// tag格式化结构 /// public struct TagFormat { /// /// TagID /// public string TagID; /// /// TagID /// public string TagName; /// /// 工位号 /// public string OpName; /// /// 数据来源 /// public string DataSources; /// /// IP /// public string IP; /// /// OPC的URL /// public string OpcIpPort; /// /// 组 /// public string Group; /// /// 监控时间间隔 /// public string MonitorInterval; /// /// DB号加起始地址,DB1001.30 /// public string TagDbAndStartAdr; /// /// DB号加起始地址,DB1001.30.1,为了bool写入专用 /// public string TagDbAndStartAdrWrite; /// /// OPC协议地址 /// 例如:S7:[192.168.1.211|VFD1|S7ONLINE|01.00,192.168.1.211,02.02,1]DB1001,DINT154 /// public string TagOPCAdrStr; /// /// DB地址位置 /// 变量起始地址,例如 0,1,2,56,80... /// public int Index; /// /// 变量字节长度 /// 变量字节长度,l例如 1,2,4... /// public int Length; /// /// X 0,1,2,3,4,5,6,7 /// 例如 X 0,1,2,3,4,5,6,7 /// public int BitIndex; /// /// 以连续Byte数组方式读取的DB地址实际位置 /// 变量起始地址,例如 0,1,2,56,80... /// public int IndexBytes; /// /// 绝对地址差分,应用区域读取的拆分20200101_LLX /// public int AbsAddrDiff; /// /// 点类型代码 /// 比如bool是11,String是8 /// public int TagTypeID; /// /// 点类型 /// 比如Bool,INT,STRING等 /// public string TagType; /// /// 变量类型代码 /// 比如:允许保存是19 /// public int TagTypeCodeID; /// /// Value /// public object TagValue; /// /// 是否监控 /// public int IsMonitor; /// /// 时间戳 /// public DateTime TimeStamp; /// /// 标签质量 192 , -1 /// public string TagQuality; /// /// 测量位置 /// public string ShaftID; /// /// 测量项目 /// public string ItemName; /// /// 测量单位 /// public string Unit; /// /// 上限值 /// public string TagValueUp; /// /// 下限值 /// public string TagValueDown; /// /// 理论值 /// public string TagValeNormal; /// /// 合格标志 /// public string IsGoodBad; /// /// 列位置 /// public string TagOrderBy; /// /// 变量排序 /// public string TagItemOrderBy; /// /// 是保存到数据库 /// public int IsSaveToSql; /// /// 是发送到WebSocket /// public int IsWebSocket; /// /// 是程序启动时候的值 /// public int IsFirstValue; /// /// 变量特点 /// public int TagProperty; /// /// 变量变化的持续时间,单位 毫秒 /// public int TagKeepTime; /// /// 变量变化前的值 /// public object TagValueBefore; } public class CustomeEvetnArgs : EventArgs { public int TagKeepTime { get; set; } public object TagProperty { get; set; } public object TagItemOrderBy { get; set; } public object TagOrderBy { get; set; } public object IsGoodBad { get; set; } public object TagValeNormal { get; set; } public object TagValueDown { get; set; } public object TagValueUp { get; set; } public object Unit { get; set; } public object ItemName { get; set; } public object ShaftID { get; set; } public object IsMonitor { get; set; } public object TagTypeActual { get; set; } public object TagValueBefore { get; set; } public object IsFirstValue { get; set; } public object IsSaveToSql { get; set; } public object DataDources { get; set; } public object TagTypeID { get; set; } public object TagTypeCodeID { get; set; } public object TagID { get; set; } public string TimeStamp { get; set; } public object TagQuality { get; set; } public object OpName { get; set; } public object TagValue { get; set; } public object TagValueType { get; set; } public object TagType { get; set; } public object TagName { get; set; } public object TagKey { get; set; } public object IsWebSocket { get; set; } public string TimeStampBefore { get; set; } } public class QualityDataType { public int tagValueType; public int tagTypeID; public string opName; public string tagID; public object tagValue; public int tagQuality; public int tagOrderBy; public int tagItemOrderBy; public int tagProperty; public int isGoodBad; } public class HashtableList { /// /// MesServerCode /// static public Hashtable hashtable_MesServerCode_Temp; /// /// MesDll /// static public Hashtable hashtable_MesDll_Temp; static public Hashtable hashtable_TagTypeDataType_Temp; static public Hashtable hashtable_TagType_Temp; static public Hashtable hashtable_EngineGetOver_EngineTypeID_Temp; static public Hashtable hashtable_EngineGetOver_EngineType_Temp; static public Hashtable hashtable_EngineGetOver_EngineID_Temp; static public Hashtable hashtable_EngineGetOver_OrderForm_Temp; static public Hashtable hashtable_OpNameRepair_Temp; static public Hashtable hashtable_WorkGroupIndex_Temp; static public Hashtable hashtable_workStepProperty_Temp; static public Hashtable hashtable_QualityMesRead_Temp; static public Hashtable hashtable_IsAllowWork_Temp; /// /// 工位号与工位上下线类型 /// (0普通工位)(1正常上线)(2正常下线)(3返修上线)(4返修下线) /// 5 分线上线(总线) 6 分线上线(分线) /// static public Hashtable hashtableOpName_OpType_Temp; /// /// /// 工位号与工位上下线类型 /// (0普通工位)(1正常上线)(2正常下线)(3返修上线)(4返修下线) /// 5 分线上线(总线) 6 分线上线(分线) /// public Hashtable hashtableOpName_OpType; public Hashtable hashtable_IsAllowWork; public Hashtable hashtable_QualityMesRead; public Hashtable hashtable_workStepProperty; public Hashtable hashtable_OpNameRepair; /// /// MesServerCode /// public Hashtable hashtable_MesServerCode; /// /// MesDll /// public Hashtable hashtable_MesDll; public Hashtable hashtable_TagTypeDataType; public Hashtable hashtable_TagType; public Hashtable hashtable_EngineGetOver_EngineTypeID; public Hashtable hashtable_EngineGetOver_EngineType; public Hashtable hashtable_EngineGetOver_EngineID; public Hashtable hashtable_EngineGetOver_OrderForm; public Hashtable hashtable_WorkGroupIndex; public DataTable BasicDataTagValue; public DataTable BasicDataTagValueUpDown; public Hashtable hashtable_EngineTypeID; } public struct QualityDataQueryStruct { public QualityDataQueryStruct(string opName, Control ctrl) { OpName = opName; Ctrl = ctrl; tagType = 0; tagValue = ""; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string opName, int TagType) { OpName = opName; Ctrl = null; tagType = TagType; tagValue = ""; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string opName, int TagType, Control ctrl) { OpName = opName; Ctrl = ctrl; tagType = TagType; tagValue = ""; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string opName, int TagType, object TagValue) { OpName = opName; Ctrl = null; tagType = TagType; tagValue = TagValue; tagID = ""; tagTypeID = 0; tempForm = null; tagValue2 = null; } public QualityDataQueryStruct(string TagID, int TagTypeID, object TagValue, object TagValue2, Form TempForm) { OpName = ""; Ctrl = null; tagType = 0; tagValue = TagValue; tagID = TagID; tagTypeID = TagTypeID; tempForm = TempForm; tagValue2 = TagValue2; } public string OpName; public Control Ctrl; public int tagType; public object tagValue; public object tagValue2; public string tagID; public int tagTypeID; public Form tempForm; } }