using System; using System.Text; using System.Data; using System.Collections; using SystemFramework; using bizFacade; namespace bizFacade { /// /// Alarm 产生报警。 /// public class AlarmOpcServer { /// /// /// public static DataTable alarmView; /// /// 产生报警 /// private Hashtable table_MSGBIT1; /// /// 解除报警 /// private Hashtable table_MSGBIT2; /// /// 报警列表 /// private Hashtable table_AlarmStart; ///// ///// 报警代码 ///// //private int NR; ///// ///// 系统启动后,没有解除的报警 ///// //private static DataTable AlarmStart; /// /// 新产生报警临时表 /// private DataTable AlarmTemp; /// /// 解除的报警临时表 /// private DataTable AlarmTempOK; ///// ///// 时时产生的报警文本 ///// //private DataTable PLC_AlgViewCHT_Temp; /// /// 报警变量基本文本 /// private DataTable PLC_MSMsgs_WORK; //DataRow[] alarmDataRow; //string strWhere; /// /// /// public AlarmOpcServer() { // // TODO: 在此处添加构造函数逻辑 // table_MSGBIT1 = new Hashtable(); table_MSGBIT2 = new Hashtable(); table_AlarmStart = new Hashtable(); //目的是创建AlarmStart数据表结构 //QualityDataSystem.AlarmStartSelect(out AlarmStart); QualityDataSystem.PLC_MSMsgs_WORKSelect(out PLC_MSMsgs_WORK); //Init_table_AlarmStart(AlarmStart); AlarmTemp = AlarmCommonFunction.BuildDataTablesAlarmView(); // AlarmStart.Clone(); AlarmTempOK = AlarmCommonFunction.BuildDataTablesAlarmView();// AlarmStart.Clone(); alarmView = AlarmCommonFunction.BuildDataTablesAlarmView(); //GetInitAlarmStart(AlarmStart); } /// /// 产生报警文本 /// /// /// /// /// public DataTable AlarmInsert(int MSGVAR_Value, object inValue, DateTime dateTimeValue) { try { //DataRow dataRow; DataTable algView ;//= AlarmCommonFunction.BuildDataTablesAlarmView(); int alarmValue; alarmValue = Convert.ToInt32(inValue); //获得报警值的报警位 AlarmCommonFunction.GetBit(alarmValue,out table_MSGBIT1,out table_MSGBIT2); // 新产生报警临时表 // AlarmTemp AlarmCommonFunction.CraeteAlarmTemp(MSGVAR_Value, inValue, dateTimeValue, table_MSGBIT1, PLC_MSMsgs_WORK, ref AlarmTemp, ref table_AlarmStart); //// 新产生报警临时表 //// AlarmTemp //CraeteAlarmTemp(MSGVAR_Value, inValue, dateTimeValue); // 新产生解除报警临时表 // AlarmTempOK AlarmCommonFunction.ReleaseAlarmTemp(MSGVAR_Value, inValue, dateTimeValue, table_MSGBIT2, PLC_MSMsgs_WORK, ref AlarmTempOK, ref table_AlarmStart); //ReleaseAlarmTemp(MSGVAR_Value, inValue, dateTimeValue); algView = AlarmCommonFunction.GetAlarmView(AlarmTemp, AlarmTempOK); return algView; } catch (Exception err) { ApplicationLog.WriteLog(err, "\r\nAlarmInsert(产生报警模块)\r\nAlarmInsert\r\nMSGVAR_Value(TagID)=" + MSGVAR_Value.ToString() + "\r\ninValue=" + inValue.ToString()); return null; } } } }