130 lines
4.4 KiB
C#
130 lines
4.4 KiB
C#
using System;
|
||
using System.Text;
|
||
using System.Data;
|
||
using System.Collections;
|
||
|
||
using SystemFramework;
|
||
|
||
using bizFacade;
|
||
|
||
namespace bizFacade
|
||
{
|
||
/// <summary>
|
||
/// Alarm 产生报警。
|
||
/// </summary>
|
||
public class AlarmOpcServer
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public static DataTable alarmView;
|
||
/// <summary>
|
||
/// 产生报警
|
||
/// </summary>
|
||
private Hashtable table_MSGBIT1;
|
||
/// <summary>
|
||
/// 解除报警
|
||
/// </summary>
|
||
private Hashtable table_MSGBIT2;
|
||
/// <summary>
|
||
/// 报警列表
|
||
/// </summary>
|
||
private Hashtable table_AlarmStart;
|
||
|
||
///// <summary>
|
||
///// 报警代码
|
||
///// </summary>
|
||
//private int NR;
|
||
|
||
|
||
///// <summary>
|
||
///// 系统启动后,没有解除的报警
|
||
///// </summary>
|
||
//private static DataTable AlarmStart;
|
||
/// <summary>
|
||
/// 新产生报警临时表
|
||
/// </summary>
|
||
private DataTable AlarmTemp;
|
||
/// <summary>
|
||
/// 解除的报警临时表
|
||
/// </summary>
|
||
private DataTable AlarmTempOK;
|
||
///// <summary>
|
||
///// 时时产生的报警文本
|
||
///// </summary>
|
||
//private DataTable PLC_AlgViewCHT_Temp;
|
||
/// <summary>
|
||
/// 报警变量基本文本
|
||
/// </summary>
|
||
private DataTable PLC_MSMsgs_WORK;
|
||
|
||
//DataRow[] alarmDataRow;
|
||
//string strWhere;
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
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);
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 产生报警文本
|
||
/// </summary>
|
||
/// <param name="MSGVAR_Value"></param>
|
||
/// <param name="inValue"></param>
|
||
/// <param name="dateTimeValue"></param>
|
||
/// <returns></returns>
|
||
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;
|
||
}
|
||
}
|
||
}
|
||
}
|