using iWare_SCADA_Model; using iWare_SCADA_Model.MiddleModel; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading; using System.Threading.Tasks; namespace iWare_SCADA_BusinessLogical { /// /// 系统变量 /// public class SystemValue { /// /// OP20的当前检测面值 /// public static string OP20_Side_Value = ""; #region PLC链接 public static object lockPlcService = new object(); private static Dictionary plcServiceList = new Dictionary(); public static PLCService GetPLCService(DataCaptureConfig dataCaptureConfig) { PLCService plcService = null; lock (lockPlcService) { if (plcServiceList.ContainsKey(dataCaptureConfig.PLCIP)) { plcService = plcServiceList[dataCaptureConfig.PLCIP]; } else { plcService = PLCManger.GetSinglePLCService(dataCaptureConfig); plcServiceList.Add(dataCaptureConfig.PLCIP, plcService); } } return plcService; } public static void PLCServiceReconnect(PLCService plcService) { if (plcService == null) { return; } plcService.Close(); plcService.OpenService(); } #endregion /// /// 系统启动的GUID /// public static string SystemStartGuid = string.Empty; /// /// 模拟模式是否启动 /// public static bool isStartedImitateModel = false; /// /// 延迟线程执行的时间(毫秒) /// public static int DelayExcuteNumber = 2000; /// /// PLC地址分隔符 ,用于分隔 DB地址和偏移量的 /// public static char PLCDBADDRESS_SEPARATE = '|'; public static List MainList = new List(); private static object lockMainList = new object(); public static async void UpdateMainList(ThreadStatusMonitor threadinfo) { await Task.Run(() => { lock (lockMainList) { var info = MainList.Where(o => o.Threadcode == threadinfo.Threadcode).FirstOrDefault(); if (info == null) { MainList.Add(threadinfo); } else { DateTime time = DateTime.Now; info.Remarks = threadinfo.Remarks; info.Threadendtime = time;//每次都更新 info.Threadlastmodifytime = threadinfo.Threadlastmodifytime > DateTime.MinValue ? threadinfo.Threadlastmodifytime : info.Threadlastmodifytime;//如果有传参则更新 info.ThreadId = threadinfo.ThreadId; info.ThreadFrequency = threadinfo.ThreadFrequency; info.UpdatedTime = time; info.UpdatedUserName = threadinfo.Threadcode; if (info.Threadstatue == 1) { info.Threadlastmodifytime = time;//最新跑到数据 } } } }); } #region OP05工序 public static object lock5QRcodeList = new object(); private static Dictionary _qRcodeList = new Dictionary(); /// /// OP05读取的二维码列表 //注意,使用中add 和赋值都需要添加锁 lock5QRcodeList /// public static Dictionary QRcodeList { get { return _qRcodeList; } set { _qRcodeList = value; } } private static object lockOP0501Runing = new object(); private static object lockOP0502Runing = new object(); private static object lockOP0503Runing = new object(); private static object lockOP0504Runing = new object(); private static object lockOP0506Runing = new object(); private static object lockOP0507Runing = new object(); private static bool _isAllowRuning_OP0501 = false; private static bool _isAllowRuning_OP0502 = false; private static bool _isAllowRuning_OP0503 = false; private static bool _isAllowRuning_OP0504 = false; private static bool _isAllowRuning_OP0506 = false; private static bool _isAllowRuning_OP0507 = false; /// /// 是否允许执行监控OP05工序打码完成标记线程 /// public static bool isAllowRuning_OP0501 { get { return _isAllowRuning_OP0501; } set { lock (lockOP0501Runing) { _isAllowRuning_OP0501 = value; } } } /// /// 是否允许执行监控OP05工序读码完成标记线程 /// public static bool isAllowRuning_OP0502 { get { return _isAllowRuning_OP0502; } set { lock (lockOP0502Runing) { _isAllowRuning_OP0502 = value; } } } /// /// 是否允许执行监控OP05工序推出标记线程 /// public static bool isAllowRuning_OP0503 { get { return _isAllowRuning_OP0503; } set { lock (lockOP0503Runing) { _isAllowRuning_OP0503 = value; } } } /// /// 是否允许执行监控OP05工序完成标记线程 /// public static bool isAllowRuning_OP0504 { get { return _isAllowRuning_OP0504; } set { lock (lockOP0504Runing) { _isAllowRuning_OP0504 = value; } } } private static object lockOP0501Alert = new object(); private static object lockOP0502Alert = new object(); private static object lockOP0503Alert = new object(); private static object lockOP0504Alert = new object(); private static object lockOP0506Alert = new object(); private static object lockOP0507Alert = new object(); private static string _lbl_Alert_OP0501 = string.Empty; private static string _lbl_Alert_OP0502 = string.Empty; private static string _lbl_Alert_OP0503 = string.Empty; private static string _lbl_Alert_OP0504 = string.Empty; private static string _lbl_Alert_OP0506 = string.Empty; private static string _lbl_Alert_OP0507 = string.Empty; /// /// 监控OP05工序打码完成标记的警告消息 /// public static string lbl_Alert_OP0501 { get { return _lbl_Alert_OP0501; } set { lock (lockOP0501Alert) { _lbl_Alert_OP0501 = value; } } } /// /// 监控OP05工序读码完成标记的警告消息 /// public static string lbl_Alert_OP0502 { get { return _lbl_Alert_OP0502; } set { lock (lockOP0502Alert) { _lbl_Alert_OP0502 = value; } } } /// /// 监控OP05工序推出标记的警告消息 /// public static string lbl_Alert_OP0503 { get { return _lbl_Alert_OP0503; } set { lock (lockOP0503Alert) { _lbl_Alert_OP0503 = value; } } } /// /// 监控OP05工序完成标记的警告消息 /// public static string lbl_Alert_OP0504 { get { return _lbl_Alert_OP0504; } set { lock (lockOP0504Alert) { _lbl_Alert_OP0504 = value; } } } public static string lbl_Alert_OP0506 { get { return _lbl_Alert_OP0506; } set { lock (lockOP0506Alert) { _lbl_Alert_OP0506 = value; } } } public static string lbl_Alert_OP0507 { get { return _lbl_Alert_OP0507; } set { lock (lockOP0507Alert) { _lbl_Alert_OP0507 = value; } } } private static object lockOP0501Value = new object(); private static object lockOP0502Value = new object(); private static object lockOP0503Value = new object(); private static object lockOP0504Value = new object(); private static object lockOP0506Value = new object(); private static object lockOP0507Value = new object(); private static string _value_OP0501 = string.Empty; private static string _value_OP0502 = string.Empty; private static string _value_OP0503 = string.Empty; private static string _value_OP0504 = string.Empty; private static string _value_OP0506 = string.Empty; private static string _value_OP0507 = string.Empty; /// /// OP05工序打码完成标记值 /// public static string value_OP0501 { get { return _value_OP0501; } set { lock (lockOP0501Value) { _value_OP0501 = value; } } } /// /// OP05工序读码完成标记值 /// public static string value_OP0502 { get { return _value_OP0502; } set { lock (lockOP0502Value) { _value_OP0502 = value; } } } /// /// OP05工序推出标记值 /// public static string value_OP0503 { get { return _value_OP0503; } set { lock (lockOP0503Value) { _value_OP0503 = value; } } } /// /// OP05工序完成标记值 /// public static string value_OP0504 { get { return _value_OP0504; } set { lock (lockOP0504Value) { _value_OP0504 = value; } } } public static string value_OP0506 { get { return _value_OP0506; } set { lock (lockOP0506Value) { _value_OP0506 = value; } } } public static string value_OP0507 { get { return _value_OP0507; } set { lock (lockOP0507Value) { _value_OP0507 = value; } } } #endregion #region OP10工序 /// /// 是否允许执行监控OP10工序读码完成标记线程 /// public static bool isAllowRuning_OP1001 = false; /// /// 是否允许执行监控OP10工序测试完成标记线程 /// public static bool isAllowRuning_OP1002 = false; /// /// 是否允许执行监控OP10工序推出标记线程 /// public static bool isAllowRuning_OP1003 = false; /// /// 是否允许执行监控OP10工序SPC推出标记线程 /// public static bool isAllowRuning_OP1004 = false; /// /// 是否允许执行监控OP10工序完成标记线程 /// public static bool isAllowRuning_OP1005 = false; /// /// 是否允许执行监控OP10工序告警标记线程 /// public static bool isAllowRuning_OP1006 = false; public static bool isAllowRuning_OP1007 = false; /// /// 监控OP10工序读码完成标记的警告消息 /// private static string _lbl_Alert_OP1001 = string.Empty; /// /// 监控OP10工序测试完成标记的警告消息 /// private static string _lbl_Alert_OP1002 = string.Empty; /// /// 监控OP10工序推出标记的警告消息 /// private static string _lbl_Alert_OP1003 = string.Empty; /// /// 监控OP10工序SPC推出标记的警告消息 /// private static string _lbl_Alert_OP1004 = string.Empty; /// /// 监控OP10工序完成标记的警告消息 /// private static string _lbl_Alert_OP1005 = string.Empty; /// /// 监控OP10工序告警信息 /// private static string _lbl_Alert_OP1006 = string.Empty; private static string _lbl_Alert_OP1007 = string.Empty; /// /// OP10工序读码完成标记值 /// public static string value_OP1001 = string.Empty; /// /// OP10工序测试完成标记值 /// public static string value_OP1002 = "FALSE";//注意:默认是FALSE 【Editby shaocx,2024-09-05】 /// /// OP10工序推出标记值 /// public static string value_OP1003 = "FALSE";//注意:默认是FALSE 【Editby shaocx,2024-09-05】 /// /// OP10工序SPC推出标记值 /// public static string value_OP1004 = "FALSE";//注意:默认是FALSE 【Editby shaocx,2024-09-05】 /// /// OP10工序完成标记值 /// public static string value_OP1005 = string.Empty; /// /// OP10工序告警标记值 /// public static string value_OP1006 = string.Empty; public static string value_OP1007 = string.Empty; private static object lockOP1001Alert = new object(); private static object lockOP1002Alert = new object(); private static object lockOP1003Alert = new object(); private static object lockOP1004Alert = new object(); private static object lockOP1005Alert = new object(); private static object lockOP1006Alert = new object(); private static object lockOP1007Alert = new object(); public static string lbl_Alert_OP1001 { get { return _lbl_Alert_OP1001; } set { lock (lockOP1001Alert) { _lbl_Alert_OP1001 = value; } } } public static string lbl_Alert_OP1002 { get { return _lbl_Alert_OP1002; } set { lock (lockOP1002Alert) { _lbl_Alert_OP1002 = value; } } } public static string lbl_Alert_OP1003 { get { return _lbl_Alert_OP1003; } set { lock (lockOP1003Alert) { _lbl_Alert_OP1003 = value; } } } public static string lbl_Alert_OP1004 { get { return _lbl_Alert_OP1004; } set { lock (lockOP1004Alert) { _lbl_Alert_OP1004 = value; } } } public static string lbl_Alert_OP1005 { get { return _lbl_Alert_OP1005; } set { lock (lockOP1005Alert) { _lbl_Alert_OP1005 = value; } } } public static string lbl_Alert_OP1006 { get { return _lbl_Alert_OP1006; } set { lock (lockOP1006Alert) { _lbl_Alert_OP1006 = value; } } } public static string lbl_Alert_OP1007 { get { return _lbl_Alert_OP1007; } set { lock (lockOP1007Alert) { _lbl_Alert_OP1007 = value; } } } #endregion #region OP20工序 /// /// 是否允许执行监控OP20工序读码完成标记线程 /// public static bool isAllowRuning_OP2001 = false; /// /// 是否允许执行监控OP20工序测试完成标记线程 /// public static bool isAllowRuning_OP2002 = false; /// /// 是否允许执行监控OP20工序推出标记线程 /// public static bool isAllowRuning_OP2003 = false; /// /// 是否允许执行监控OP20工序SPC推出标记线程 /// public static bool isAllowRuning_OP2004 = false; /// /// 是否允许执行监控OP20工序完成标记线程 /// public static bool isAllowRuning_OP2005 = false; /// /// 是否允许执行监控OP20工序告警标记线程 /// public static bool isAllowRuning_OP2006 = false; /// /// 监控OP20工序读码完成标记的警告消息 /// public static string _lbl_Alert_OP2001 = string.Empty; /// /// 监控OP20工序测试完成标记的警告消息 /// public static string _lbl_Alert_OP2002 = string.Empty; /// /// 监控OP20工序推出标记的警告消息 /// public static string _lbl_Alert_OP2003 = string.Empty; /// /// 监控OP20工序SPC推出标记的警告消息 /// public static string _lbl_Alert_OP2004 = string.Empty; /// /// 监控OP20工序完成标记的警告消息 /// public static string _lbl_Alert_OP2005 = string.Empty; /// /// 监控OP20工序告警信息 /// public static string _lbl_Alert_OP2006 = string.Empty; /// /// OP20工序读码完成标记值 /// public static string value_OP2001 = string.Empty; /// /// OP20工序测试完成标记值 /// public static string value_OP2002 = string.Empty; /// /// OP20工序推出标记值 /// public static string value_OP2003 = string.Empty; /// /// OP20工序SPC推出标记值 /// public static string value_OP2004 = string.Empty; /// /// OP20工序完成标记值 /// public static string value_OP2005 = string.Empty; /// /// OP20工序告警标记值 /// public static string value_OP2006 = string.Empty; #endregion #region OP30工序 private static object lockOP3001Runing = new object(); private static object lockOP3002Runing = new object(); private static object lockOP3003Runing = new object(); private static object lockOP3004Runing = new object(); private static bool _isAllowRuning_OP3001 = false; private static bool _isAllowRuning_OP3002 = false; private static bool _isAllowRuning_OP3003 = false; private static bool _isAllowRuning_OP3004 = false; /// /// 是否允许执行监控OP30工序读码完成标记线程 /// public static bool isAllowRuning_OP3001 { get { return _isAllowRuning_OP3001; } set { lock (lockOP3001Runing) { _isAllowRuning_OP3001 = value; } } } /// /// 是否允许执行监控OP30工序测量完成标记线程 /// public static bool isAllowRuning_OP3002 { get { return _isAllowRuning_OP3002; } set { lock (lockOP3002Runing) { _isAllowRuning_OP3002 = value; } } } /// /// 是否允许执行监控OP30工序推出标记线程 /// public static bool isAllowRuning_OP3003 { get { return _isAllowRuning_OP3003; } set { lock (lockOP3003Runing) { _isAllowRuning_OP3003 = value; } } } /// /// 是否允许执行监控OP30工序SPC推出标记线程 /// public static bool isAllowRuning_OP3004 { get { return _isAllowRuning_OP3004; } set { lock (lockOP3004Runing) { _isAllowRuning_OP3004 = value; } } } private static object lockOP3001Alert = new object(); private static object lockOP3002Alert = new object(); private static object lockOP3003Alert = new object(); private static object lockOP3004Alert = new object(); private static string _lbl_Alert_OP3001 = string.Empty; private static string _lbl_Alert_OP3002 = string.Empty; private static string _lbl_Alert_OP3003 = string.Empty; private static string _lbl_Alert_OP3004 = string.Empty; /// /// 监控OP30工序读码完成标记的警告消息 /// public static string lbl_Alert_OP3001 { get { return _lbl_Alert_OP3001; } set { lock (lockOP3001Alert) { _lbl_Alert_OP3001 = value; } } } /// /// 监控OP30工序测量完成标记的警告消息 /// public static string lbl_Alert_OP3002 { get { return _lbl_Alert_OP3002; } set { lock (lockOP3002Alert) { _lbl_Alert_OP3002 = value; } } } /// /// 监控OP30工序推出标记的警告消息 /// public static string lbl_Alert_OP3003 { get { return _lbl_Alert_OP3003; } set { lock (lockOP3003Alert) { _lbl_Alert_OP3003 = value; } } } /// /// 监控OP30工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3004 { get { return _lbl_Alert_OP3004; } set { lock (lockOP3004Alert) { _lbl_Alert_OP3004 = value; } } } private static object lockOP3001Value = new object(); private static object lockOP3002Value = new object(); private static object lockOP3003Value = new object(); private static object lockOP3004Value = new object(); private static string _value_OP3001 = string.Empty; private static string _value_OP3002 = string.Empty; private static string _value_OP3003 = string.Empty; private static string _value_OP3004 = string.Empty; /// /// OP30工序读码完成标记值 /// public static string value_OP3001 { get { return _value_OP3001; } set { lock (lockOP3001Value) { _value_OP3001 = value; } } } /// /// OP30工序测量完成标记值 /// public static string value_OP3002 { get { return _value_OP3002; } set { lock (lockOP3002Value) { _value_OP3002 = value; } } } /// /// OP30工序推出标记值 /// public static string value_OP3003 { get { return _value_OP3003; } set { lock (lockOP3003Value) { _value_OP3003 = value; } } } /// /// OP30工序SPC推出标记值 /// public static string value_OP3004 { get { return _value_OP3004; } set { lock (lockOP3004Value) { _value_OP3004 = value; } } } private static object lockOP3005Runing = new object(); private static bool _isAllowRuning_OP3005 = false; /// /// 是否允许执行监控OP30工序SPC推出标记线程 /// public static bool isAllowRuning_OP3005 { get { return _isAllowRuning_OP3005; } set { lock (lockOP3005Runing) { _isAllowRuning_OP3005 = value; } } } private static object lockOP3005Alert = new object(); private static string _lbl_Alert_OP3005 = string.Empty; /// /// 监控OP30工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3005 { get { return _lbl_Alert_OP3005; } set { lock (lockOP3005Alert) { _lbl_Alert_OP3005 = value; } } } private static string _value_OP3005 = string.Empty; private static object lockOP3005Value = new object(); /// /// OP30工序SPC推出标记值 /// public static string value_OP3005 { get { return _value_OP3005; } set { lock (lockOP3005Value) { _value_OP3005 = value; } } } private static object lockOP3006Runing = new object(); private static bool _isAllowRuning_OP3006 = false; /// /// 是否允许执行监控OP30工序SPC推出标记线程 /// public static bool isAllowRuning_OP3006 { get { return _isAllowRuning_OP3006; } set { lock (lockOP3006Runing) { _isAllowRuning_OP3006 = value; } } } private static object lockOP3006Alert = new object(); private static string _lbl_Alert_OP3006 = string.Empty; /// /// 监控OP30工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3006 { get { return _lbl_Alert_OP3006; } set { lock (lockOP3006Alert) { _lbl_Alert_OP3006 = value; } } } private static string _value_OP3006 = string.Empty; private static object lockOP3006Value = new object(); /// /// OP30工序SPC推出标记值 /// public static string value_OP3006 { get { return _value_OP3006; } set { lock (lockOP3006Value) { _value_OP3006 = value; } } } private static object lockOP3007Runing = new object(); private static bool _isAllowRuning_OP3007 = false; /// /// 是否允许执行监控OP30工序SPC推出标记线程 /// public static bool isAllowRuning_OP3007 { get { return _isAllowRuning_OP3007; } set { lock (lockOP3007Runing) { _isAllowRuning_OP3007 = value; } } } private static object lockOP3007Alert = new object(); private static string _lbl_Alert_OP3007 = string.Empty; /// /// 监控OP30工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3007 { get { return _lbl_Alert_OP3007; } set { lock (lockOP3007Alert) { _lbl_Alert_OP3007 = value; } } } private static string _value_OP3007 = string.Empty; private static object lockOP3007Value = new object(); /// /// OP30工序SPC推出标记值 /// public static string value_OP3007 { get { return _value_OP3007; } set { lock (lockOP3007Value) { _value_OP3007 = value; } } } #endregion #region OP35工序 private static object lockOP3501Runing = new object(); private static object lockOP3502Runing = new object(); private static object lockOP3503Runing = new object(); private static object lockOP3504Runing = new object(); private static bool _isAllowRuning_OP3501 = false; private static bool _isAllowRuning_OP3502 = false; private static bool _isAllowRuning_OP3503 = false; private static bool _isAllowRuning_OP3504 = false; /// /// 是否允许执行监控OP35工序读码完成标记线程 /// public static bool isAllowRuning_OP3501 { get { return _isAllowRuning_OP3501; } set { lock (lockOP3501Runing) { _isAllowRuning_OP3501 = value; } } } /// /// 是否允许执行监控OP35工序测量完成标记线程 /// public static bool isAllowRuning_OP3502 { get { return _isAllowRuning_OP3502; } set { lock (lockOP3502Runing) { _isAllowRuning_OP3502 = value; } } } /// /// 是否允许执行监控OP35工序推出标记线程 /// public static bool isAllowRuning_OP3503 { get { return _isAllowRuning_OP3503; } set { lock (lockOP3503Runing) { _isAllowRuning_OP3503 = value; } } } /// /// 是否允许执行监控OP35工序SPC推出标记线程 /// public static bool isAllowRuning_OP3504 { get { return _isAllowRuning_OP3504; } set { lock (lockOP3504Runing) { _isAllowRuning_OP3504 = value; } } } private static object lockOP3501Alert = new object(); private static object lockOP3502Alert = new object(); private static object lockOP3503Alert = new object(); private static object lockOP3504Alert = new object(); private static string _lbl_Alert_OP3501 = string.Empty; private static string _lbl_Alert_OP3502 = string.Empty; private static string _lbl_Alert_OP3503 = string.Empty; private static string _lbl_Alert_OP3504 = string.Empty; /// /// 监控OP35工序读码完成标记的警告消息 /// public static string lbl_Alert_OP3501 { get { return _lbl_Alert_OP3501; } set { lock (lockOP3501Alert) { _lbl_Alert_OP3501 = value; } } } /// /// 监控OP35工序测量完成标记的警告消息 /// public static string lbl_Alert_OP3502 { get { return _lbl_Alert_OP3502; } set { lock (lockOP3502Alert) { _lbl_Alert_OP3502 = value; } } } /// /// 监控OP35工序推出标记的警告消息 /// public static string lbl_Alert_OP3503 { get { return _lbl_Alert_OP3503; } set { lock (lockOP3503Alert) { _lbl_Alert_OP3503 = value; } } } /// /// 监控OP35工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3504 { get { return _lbl_Alert_OP3504; } set { lock (lockOP3504Alert) { _lbl_Alert_OP3504 = value; } } } private static object lockOP3501Value = new object(); private static object lockOP3502Value = new object(); private static object lockOP3503Value = new object(); private static object lockOP3504Value = new object(); private static string _value_OP3501 = string.Empty; private static string _value_OP3502 = string.Empty; private static string _value_OP3503 = string.Empty; private static string _value_OP3504 = string.Empty; /// /// OP35工序读码完成标记值 /// public static string value_OP3501 { get { return _value_OP3501; } set { lock (lockOP3501Value) { _value_OP3501 = value; } } } /// /// OP35工序测量完成标记值 /// public static string value_OP3502 { get { return _value_OP3502; } set { lock (lockOP3502Value) { _value_OP3502 = value; } } } /// /// OP35工序推出标记值 /// public static string value_OP3503 { get { return _value_OP3503; } set { lock (lockOP3503Value) { _value_OP3503 = value; } } } /// /// OP35工序SPC推出标记值 /// public static string value_OP3504 { get { return _value_OP3504; } set { lock (lockOP3504Value) { _value_OP3504 = value; } } } private static object lockOP3505Runing = new object(); private static bool _isAllowRuning_OP3505 = false; /// /// 是否允许执行监控OP35工序SPC推出标记线程 /// public static bool isAllowRuning_OP3505 { get { return _isAllowRuning_OP3505; } set { lock (lockOP3505Runing) { _isAllowRuning_OP3505 = value; } } } private static object lockOP3505Alert = new object(); private static string _lbl_Alert_OP3505 = string.Empty; /// /// 监控OP35工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3505 { get { return _lbl_Alert_OP3505; } set { lock (lockOP3505Alert) { _lbl_Alert_OP3505 = value; } } } private static string _value_OP3505 = string.Empty; private static object lockOP3505Value = new object(); /// /// OP35工序SPC推出标记值 /// public static string value_OP3505 { get { return _value_OP3505; } set { lock (lockOP3505Value) { _value_OP3505 = value; } } } private static object lockOP3506Runing = new object(); private static bool _isAllowRuning_OP3506 = false; /// /// 是否允许执行监控OP35工序SPC推出标记线程 /// public static bool isAllowRuning_OP3506 { get { return _isAllowRuning_OP3506; } set { lock (lockOP3506Runing) { _isAllowRuning_OP3506 = value; } } } private static object lockOP3506Alert = new object(); private static string _lbl_Alert_OP3506 = string.Empty; /// /// 监控OP35工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3506 { get { return _lbl_Alert_OP3506; } set { lock (lockOP3506Alert) { _lbl_Alert_OP3506 = value; } } } private static string _value_OP3506 = string.Empty; private static object lockOP3506Value = new object(); /// /// OP35工序SPC推出标记值 /// public static string value_OP3506 { get { return _value_OP3506; } set { lock (lockOP3506Value) { _value_OP3506 = value; } } } private static object lockOP3507Runing = new object(); private static bool _isAllowRuning_OP3507 = false; /// /// 是否允许执行监控OP35工序SPC推出标记线程 /// public static bool isAllowRuning_OP3507 { get { return _isAllowRuning_OP3507; } set { lock (lockOP3507Runing) { _isAllowRuning_OP3507 = value; } } } private static object lockOP3507Alert = new object(); private static string _lbl_Alert_OP3507 = string.Empty; /// /// 监控OP35工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP3507 { get { return _lbl_Alert_OP3507; } set { lock (lockOP3507Alert) { _lbl_Alert_OP3507 = value; } } } private static string _value_OP3507 = string.Empty; private static object lockOP3507Value = new object(); /// /// OP35工序SPC推出标记值 /// public static string value_OP3507 { get { return _value_OP3507; } set { lock (lockOP3507Value) { _value_OP3507 = value; } } } #endregion #region OP70工序 private static object lockOP7001Runing = new object(); private static object lockOP7002Runing = new object(); private static object lockOP7003Runing = new object(); private static object lockOP7004Runing = new object(); private static bool _isAllowRuning_OP7001 = false; private static bool _isAllowRuning_OP7002 = false; private static bool _isAllowRuning_OP7003 = false; private static bool _isAllowRuning_OP7004 = false; /// /// 是否允许执行监控OP70工序读码完成标记线程 /// public static bool isAllowRuning_OP7001 { get { return _isAllowRuning_OP7001; } set { lock (lockOP7001Runing) { _isAllowRuning_OP7001 = value; } } } /// /// 是否允许执行监控OP70工序测量完成标记线程 /// public static bool isAllowRuning_OP7002 { get { return _isAllowRuning_OP7002; } set { lock (lockOP7002Runing) { _isAllowRuning_OP7002 = value; } } } /// /// 是否允许执行监控OP70工序推出标记线程 /// public static bool isAllowRuning_OP7003 { get { return _isAllowRuning_OP7003; } set { lock (lockOP7003Runing) { _isAllowRuning_OP7003 = value; } } } /// /// 是否允许执行监控OP70工序SPC推出标记线程 /// public static bool isAllowRuning_OP7004 { get { return _isAllowRuning_OP7004; } set { lock (lockOP7004Runing) { _isAllowRuning_OP7004 = value; } } } private static object lockOP7001Alert = new object(); private static object lockOP7002Alert = new object(); private static object lockOP7003Alert = new object(); private static object lockOP7004Alert = new object(); private static string _lbl_Alert_OP7001 = string.Empty; private static string _lbl_Alert_OP7002 = string.Empty; private static string _lbl_Alert_OP7003 = string.Empty; private static string _lbl_Alert_OP7004 = string.Empty; /// /// 监控OP70工序读码完成标记的警告消息 /// public static string lbl_Alert_OP7001 { get { return _lbl_Alert_OP7001; } set { lock (lockOP7001Alert) { _lbl_Alert_OP7001 = value; } } } /// /// 监控OP70工序测量完成标记的警告消息 /// public static string lbl_Alert_OP7002 { get { return _lbl_Alert_OP7002; } set { lock (lockOP7002Alert) { _lbl_Alert_OP7002 = value; } } } /// /// 监控OP70工序推出标记的警告消息 /// public static string lbl_Alert_OP7003 { get { return _lbl_Alert_OP7003; } set { lock (lockOP7003Alert) { _lbl_Alert_OP7003 = value; } } } /// /// 监控OP70工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP7004 { get { return _lbl_Alert_OP7004; } set { lock (lockOP7004Alert) { _lbl_Alert_OP7004 = value; } } } private static object lockOP7001Value = new object(); private static object lockOP7002Value = new object(); private static object lockOP7003Value = new object(); private static object lockOP7004Value = new object(); private static string _value_OP7001 = string.Empty; private static string _value_OP7002 = string.Empty; private static string _value_OP7003 = string.Empty; private static string _value_OP7004 = string.Empty; /// /// OP70工序读码完成标记值 /// public static string value_OP7001 { get { return _value_OP7001; } set { lock (lockOP7001Value) { _value_OP7001 = value; } } } /// /// OP70工序测量完成标记值 /// public static string value_OP7002 { get { return _value_OP7002; } set { lock (lockOP7002Value) { _value_OP7002 = value; } } } /// /// OP70工序推出标记值 /// public static string value_OP7003 { get { return _value_OP7003; } set { lock (lockOP7003Value) { _value_OP7003 = value; } } } /// /// OP70工序读码(就是OP70工序测量完成后会打印一个新二维码,绑定原工件号) /// public static string value_OP7004 { get { return _value_OP7004; } set { lock (lockOP7004Value) { _value_OP7004 = value; } } } private static object lockOP7005Runing = new object(); private static bool _isAllowRuning_OP7005 = false; /// /// 是否允许执行监控OP70工序SPC推出标记线程 /// public static bool isAllowRuning_OP7005 { get { return _isAllowRuning_OP7005; } set { lock (lockOP7005Runing) { _isAllowRuning_OP7005 = value; } } } private static object lockOP7005Alert = new object(); private static string _lbl_Alert_OP7005 = string.Empty; /// /// 监控OP70工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP7005 { get { return _lbl_Alert_OP7005; } set { lock (lockOP7005Alert) { _lbl_Alert_OP7005 = value; } } } private static string _value_OP7005 = string.Empty; private static object lockOP7005Value = new object(); /// /// OP70工序SPC推出标记值 /// public static string value_OP7005 { get { return _value_OP7005; } set { lock (lockOP7005Value) { _value_OP7005 = value; } } } private static object lockOP7006Runing = new object(); private static bool _isAllowRuning_OP7006 = false; /// /// 是否允许执行监控OP70工序SPC推出标记线程 /// public static bool isAllowRuning_OP7006 { get { return _isAllowRuning_OP7006; } set { lock (lockOP7006Runing) { _isAllowRuning_OP7006 = value; } } } private static object lockOP7006Alert = new object(); private static string _lbl_Alert_OP7006 = string.Empty; /// /// 监控OP70工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP7006 { get { return _lbl_Alert_OP7006; } set { lock (lockOP7006Alert) { _lbl_Alert_OP7006 = value; } } } private static string _value_OP7006 = string.Empty; private static object lockOP7006Value = new object(); /// /// OP70工序SPC推出标记值 /// public static string value_OP7006 { get { return _value_OP7006; } set { lock (lockOP7006Value) { _value_OP7006 = value; } } } private static object lockOP7007Runing = new object(); private static bool _isAllowRuning_OP7007 = false; /// /// 是否允许执行监控OP70工序SPC推出标记线程 /// public static bool isAllowRuning_OP7007 { get { return _isAllowRuning_OP7007; } set { lock (lockOP7007Runing) { _isAllowRuning_OP7007 = value; } } } private static object lockOP7007Alert = new object(); private static string _lbl_Alert_OP7007 = string.Empty; /// /// 监控OP70工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP7007 { get { return _lbl_Alert_OP7007; } set { lock (lockOP7007Alert) { _lbl_Alert_OP7007 = value; } } } private static string _value_OP7007 = string.Empty; private static object lockOP7007Value = new object(); /// /// OP70工序SPC推出标记值 /// public static string value_OP7007 { get { return _value_OP7007; } set { lock (lockOP7007Value) { _value_OP7007 = value; } } } #endregion #region OP80工序 private static object lockOP8001Runing = new object(); private static object lockOP8002Runing = new object(); private static object lockOP8003Runing = new object(); private static object lockOP8004Runing = new object(); private static bool _isAllowRuning_OP8001 = false; private static bool _isAllowRuning_OP8002 = false; private static bool _isAllowRuning_OP8003 = false; private static bool _isAllowRuning_OP8004 = false; /// /// 是否允许执行监控OP80工序读码完成标记线程 /// public static bool isAllowRuning_OP8001 { get { return _isAllowRuning_OP8001; } set { lock (lockOP8001Runing) { _isAllowRuning_OP8001 = value; } } } /// /// 是否允许执行监控OP80工序测量完成标记线程 /// public static bool isAllowRuning_OP8002 { get { return _isAllowRuning_OP8002; } set { lock (lockOP8002Runing) { _isAllowRuning_OP8002 = value; } } } /// /// 是否允许执行监控OP80工序推出标记线程 /// public static bool isAllowRuning_OP8003 { get { return _isAllowRuning_OP8003; } set { lock (lockOP8003Runing) { _isAllowRuning_OP8003 = value; } } } /// /// 是否允许执行监控OP80工序SPC推出标记线程 /// public static bool isAllowRuning_OP8004 { get { return _isAllowRuning_OP8004; } set { lock (lockOP8004Runing) { _isAllowRuning_OP8004 = value; } } } private static object lockOP8001Alert = new object(); private static object lockOP8002Alert = new object(); private static object lockOP8003Alert = new object(); private static object lockOP8004Alert = new object(); private static string _lbl_Alert_OP8001 = string.Empty; private static string _lbl_Alert_OP8002 = string.Empty; private static string _lbl_Alert_OP8003 = string.Empty; private static string _lbl_Alert_OP8004 = string.Empty; /// /// 监控OP80工序读码完成标记的警告消息 /// public static string lbl_Alert_OP8001 { get { return _lbl_Alert_OP8001; } set { lock (lockOP8001Alert) { _lbl_Alert_OP8001 = value; } } } /// /// 监控OP80工序测量完成标记的警告消息 /// public static string lbl_Alert_OP8002 { get { return _lbl_Alert_OP8002; } set { lock (lockOP8002Alert) { _lbl_Alert_OP8002 = value; } } } /// /// 监控OP80工序推出标记的警告消息 /// public static string lbl_Alert_OP8003 { get { return _lbl_Alert_OP8003; } set { lock (lockOP8003Alert) { _lbl_Alert_OP8003 = value; } } } /// /// 监控OP80工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP8004 { get { return _lbl_Alert_OP8004; } set { lock (lockOP8004Alert) { _lbl_Alert_OP8004 = value; } } } private static object lockOP8001Value = new object(); private static object lockOP8002Value = new object(); private static object lockOP8003Value = new object(); private static object lockOP8004Value = new object(); private static string _value_OP8001 = string.Empty; private static string _value_OP8002 = string.Empty; private static string _value_OP8003 = string.Empty; private static string _value_OP8004 = string.Empty; /// /// OP80工序读码完成标记值 /// public static string value_OP8001 { get { return _value_OP8001; } set { lock (lockOP8001Value) { _value_OP8001 = value; } } } /// /// OP80工序测量完成标记值 /// public static string value_OP8002 { get { return _value_OP8002; } set { lock (lockOP8002Value) { _value_OP8002 = value; } } } /// /// OP80工序推出标记值 /// public static string value_OP8003 { get { return _value_OP8003; } set { lock (lockOP8003Value) { _value_OP8003 = value; } } } /// /// OP80工序读码(就是OP80工序测量完成后会打印一个新二维码,绑定原工件号) /// public static string value_OP8004 { get { return _value_OP8004; } set { lock (lockOP8004Value) { _value_OP8004 = value; } } } private static object lockOP8005Runing = new object(); private static bool _isAllowRuning_OP8005 = false; /// /// 是否允许执行监控OP80工序SPC推出标记线程 /// public static bool isAllowRuning_OP8005 { get { return _isAllowRuning_OP8005; } set { lock (lockOP8005Runing) { _isAllowRuning_OP8005 = value; } } } private static object lockOP8005Alert = new object(); private static string _lbl_Alert_OP8005 = string.Empty; /// /// 监控OP80工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP8005 { get { return _lbl_Alert_OP8005; } set { lock (lockOP8005Alert) { _lbl_Alert_OP8005 = value; } } } private static string _value_OP8005 = string.Empty; private static object lockOP8005Value = new object(); /// /// OP80工序SPC推出标记值 /// public static string value_OP8005 { get { return _value_OP8005; } set { lock (lockOP8005Value) { _value_OP8005 = value; } } } private static object lockOP8006Runing = new object(); private static bool _isAllowRuning_OP8006 = false; /// /// 是否允许执行监控OP80工序SPC推出标记线程 /// public static bool isAllowRuning_OP8006 { get { return _isAllowRuning_OP8006; } set { lock (lockOP8006Runing) { _isAllowRuning_OP8006 = value; } } } private static object lockOP8006Alert = new object(); private static string _lbl_Alert_OP8006 = string.Empty; /// /// 监控OP80工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP8006 { get { return _lbl_Alert_OP8006; } set { lock (lockOP8006Alert) { _lbl_Alert_OP8006 = value; } } } private static string _value_OP8006 = string.Empty; private static object lockOP8006Value = new object(); /// /// OP80工序SPC推出标记值 /// public static string value_OP8006 { get { return _value_OP8006; } set { lock (lockOP8006Value) { _value_OP8006 = value; } } } private static object lockOP8007Runing = new object(); private static bool _isAllowRuning_OP8007 = false; /// /// 是否允许执行监控OP80工序SPC推出标记线程 /// public static bool isAllowRuning_OP8007 { get { return _isAllowRuning_OP8007; } set { lock (lockOP8007Runing) { _isAllowRuning_OP8007 = value; } } } private static object lockOP8007Alert = new object(); private static string _lbl_Alert_OP8007 = string.Empty; /// /// 监控OP80工序SPC推出标记的警告消息 /// public static string lbl_Alert_OP8007 { get { return _lbl_Alert_OP8007; } set { lock (lockOP8007Alert) { _lbl_Alert_OP8007 = value; } } } private static string _value_OP8007 = string.Empty; private static object lockOP8007Value = new object(); /// /// OP80工序SPC推出标记值 /// public static string value_OP8007 { get { return _value_OP8007; } set { lock (lockOP8007Value) { _value_OP8007 = value; } } } #endregion #region HMI private static object lockHMIBeartBeatMonitorRuning = new object(); private static bool _isAllowRuning_HMIBeartBeatMonitor = false; private static object lockHMIBeartBeatMonitorAlert = new object(); private static string _lbl_Alert_HMIBeartBeatMonitor = string.Empty; /// /// 监控HMI心跳信息 /// public static bool isAllowRuning_HMIBeartBeatMonitor { get { return _isAllowRuning_HMIBeartBeatMonitor; } set { lock (lockHMIBeartBeatMonitorRuning) { _isAllowRuning_HMIBeartBeatMonitor = value; } } } /// /// 监控HMI心跳信息的警告消息 /// public static string lbl_Alert_HMIBeartBeatMonitor { get { return _lbl_Alert_HMIBeartBeatMonitor; } set { lock (lockHMIBeartBeatMonitorAlert) { _lbl_Alert_HMIBeartBeatMonitor = value; } } } private static object lockHMIOP104001Runing = new object(); private static object lockHMIOP2001Runing = new object(); private static object lockHMIOP303501Runing = new object(); private static object lockHMIOP5001Runing = new object(); private static object lockHMIOP6001Runing = new object(); private static object lockHMIOP104002Runing = new object(); private static object lockHMIOP2002Runing = new object(); private static object lockHMIOP303502Runing = new object(); private static object lockHMIOP5002Runing = new object(); private static object lockHMIOP6002Runing = new object(); private static bool _isAllowRuning_HMIOP104001 = false; private static bool _isAllowRuning_HMIOP2001 = false; private static bool _isAllowRuning_HMIOP303501 = false; private static bool _isAllowRuning_HMIOP5001 = false; private static bool _isAllowRuning_HMIOP6001 = false; private static bool _isAllowRuning_HMIOP104002 = false; private static bool _isAllowRuning_HMIOP2002 = false; private static bool _isAllowRuning_HMIOP303502 = false; private static bool _isAllowRuning_HMIOP5002 = false; private static bool _isAllowRuning_HMIOP6002 = false; private static object lockHMIOP104001Alert = new object(); private static object lockHMIOP2001Alert = new object(); private static object lockHMIOP303501Alert = new object(); private static object lockHMIOP5001Alert = new object(); private static object lockHMIOP6001Alert = new object(); private static object lockHMIOP104002Alert = new object(); private static object lockHMIOP2002Alert = new object(); private static object lockHMIOP303502Alert = new object(); private static object lockHMIOP5002Alert = new object(); private static object lockHMIOP6002Alert = new object(); private static string _lbl_Alert_HMIOP104001 = string.Empty; private static string _lbl_Alert_HMIOP2001 = string.Empty; private static string _lbl_Alert_HMIOP303501 = string.Empty; private static string _lbl_Alert_HMIOP5001 = string.Empty; private static string _lbl_Alert_HMIOP6001 = string.Empty; private static string _lbl_Alert_HMIOP104002 = string.Empty; private static string _lbl_Alert_HMIOP2002 = string.Empty; private static string _lbl_Alert_HMIOP303502 = string.Empty; private static string _lbl_Alert_HMIOP5002 = string.Empty; private static string _lbl_Alert_HMIOP6002 = string.Empty; #region 监控读取线程 /// /// 是否允许执行监控HMIOP104001读取二维码线程 /// public static bool isAllowRuning_HMIOP104001 { get { return _isAllowRuning_HMIOP104001; } set { lock (lockHMIOP104001Runing) { _isAllowRuning_HMIOP104001 = value; } } } /// /// 是否允许执行监控HMIOP2001读取二维码线程 /// public static bool isAllowRuning_HMIOP2001 { get { return _isAllowRuning_HMIOP2001; } set { lock (lockHMIOP2001Runing) { _isAllowRuning_HMIOP2001 = value; } } } /// /// 是否允许执行监控HMIOP303501读取二维码线程 /// public static bool isAllowRuning_HMIOP303501 { get { return _isAllowRuning_HMIOP303501; } set { lock (lockHMIOP303501Runing) { _isAllowRuning_HMIOP303501 = value; } } } /// /// 是否允许执行监控HMIOP5001读取二维码线程 /// public static bool isAllowRuning_HMIOP5001 { get { return _isAllowRuning_HMIOP5001; } set { lock (lockHMIOP5001Runing) { _isAllowRuning_HMIOP5001 = value; } } } /// /// 是否允许执行监控HMIOP6001读取二维码线程 /// public static bool isAllowRuning_HMIOP6001 { get { return _isAllowRuning_HMIOP6001; } set { lock (lockHMIOP6001Runing) { _isAllowRuning_HMIOP6001 = value; } } } #endregion #region 监控写入线程 /// /// 是否允许执行监控HMIOP104002写入质量数据线程 /// public static bool isAllowRuning_HMIOP104002 { get { return _isAllowRuning_HMIOP104002; } set { lock (lockHMIOP104002Runing) { _isAllowRuning_HMIOP104002 = value; } } } /// /// 是否允许执行监控HMIOP2002写入质量数据线程 /// public static bool isAllowRuning_HMIOP2002 { get { return _isAllowRuning_HMIOP2002; } set { lock (lockHMIOP2002Runing) { _isAllowRuning_HMIOP2002 = value; } } } /// /// 是否允许执行监控HMIOP303502写入质量数据线程 /// public static bool isAllowRuning_HMIOP303502 { get { return _isAllowRuning_HMIOP303502; } set { lock (lockHMIOP303502Runing) { _isAllowRuning_HMIOP303502 = value; } } } /// /// 是否允许执行监控HMIOP5002写入质量数据线程 /// public static bool isAllowRuning_HMIOP5002 { get { return _isAllowRuning_HMIOP5002; } set { lock (lockHMIOP5002Runing) { _isAllowRuning_HMIOP5002 = value; } } } /// /// 是否允许执行监控HMIOP6002更新质量数据线程 /// public static bool isAllowRuning_HMIOP6002 { get { return _isAllowRuning_HMIOP6002; } set { lock (lockHMIOP6002Runing) { _isAllowRuning_HMIOP6002 = value; } } } #endregion #region 监控读取线程二维码的警告信息 /// /// 监控HMIOP104001读取二维码的警告消息 /// public static string lbl_Alert_HMIOP104001 { get { return _lbl_Alert_HMIOP104001; } set { lock (lockHMIOP104001Alert) { _lbl_Alert_HMIOP104001 = value; } } } /// /// 监控HMIOP2001读取二维码的警告消息 /// public static string lbl_Alert_HMIOP2001 { get { return _lbl_Alert_HMIOP2001; } set { lock (lockHMIOP2001Alert) { _lbl_Alert_HMIOP2001 = value; } } } /// /// 监控HMIOP303501读取二维码的警告消息 /// public static string lbl_Alert_HMIOP303501 { get { return _lbl_Alert_HMIOP303501; } set { lock (lockHMIOP303501Alert) { _lbl_Alert_HMIOP303501 = value; } } } /// /// 监控HMIOP5001读取二维码的警告消息 /// public static string lbl_Alert_HMIOP5001 { get { return _lbl_Alert_HMIOP5001; } set { lock (lockHMIOP5001Alert) { _lbl_Alert_HMIOP5001 = value; } } } /// /// 监控HMIOP6001读取二维码的警告消息 /// public static string lbl_Alert_HMIOP6001 { get { return _lbl_Alert_HMIOP6001; } set { lock (lockHMIOP6001Alert) { _lbl_Alert_HMIOP6001 = value; } } } #endregion #region 监控写入线程二维码的警告信息 /// /// 监控HMIOP104002写入质量数据的警告消息 /// public static string lbl_Alert_HMIOP104002 { get { return _lbl_Alert_HMIOP104002; } set { lock (lockHMIOP104002Alert) { _lbl_Alert_HMIOP104002 = value; } } } /// /// 监控HMIOP2002写入质量数据的警告消息 /// public static string lbl_Alert_HMIOP2002 { get { return _lbl_Alert_HMIOP2002; } set { lock (lockHMIOP2002Alert) { _lbl_Alert_HMIOP2002 = value; } } } /// /// 监控HMIOP303502写入质量数据的警告消息 /// public static string lbl_Alert_HMIOP303502 { get { return _lbl_Alert_HMIOP303502; } set { lock (lockHMIOP303502Alert) { _lbl_Alert_HMIOP303502 = value; } } } /// /// 监控HMIOP5002更新质量数据的警告消息 /// public static string lbl_Alert_HMIOP5002 { get { return _lbl_Alert_HMIOP5002; } set { lock (lockHMIOP5002Alert) { _lbl_Alert_HMIOP5002 = value; } } } /// /// 监控HMIOP6002更新质量数据的警告消息 /// public static string lbl_Alert_HMIOP6002 { get { return _lbl_Alert_HMIOP6002; } set { lock (lockHMIOP6002Alert) { _lbl_Alert_HMIOP6002 = value; } } } #endregion #endregion } }