You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
4.1 KiB
C#

using Mesnac.Compressor.Entity;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
namespace Mesnac.Controls.Compressor
{
public class AlarmControl
{
TXmlConfigHandler xml = new TXmlConfigHandler(@".\Config.xml");
public List<byte> AlarmUnit1 = new List<byte>();
public List<byte> AlarmUnit2 = new List<byte>();
public List<byte> AlarmUnit3 = new List<byte>();
public List<byte> AlarmUnit4 = new List<byte>();
public List<byte> AlarmUnit5 = new List<byte>();
public List<byte> AlarmUnit6 = new List<byte>();
public Dictionary<int, string> AlarmString1 = new Dictionary<int, string>();
public Dictionary<int, string> AlarmString2 = new Dictionary<int, string>();
public Dictionary<int, string> AlarmString3 = new Dictionary<int, string>();
public Dictionary<int, string> AlarmString4 = new Dictionary<int, string>();
public Dictionary<int, string> AlarmString5 = new Dictionary<int, string>();
public Dictionary<int, string> AlarmString6 = new Dictionary<int, string>();
private static readonly object sysnc = new object();
public AlarmControl()
{
InitAlarmString();
UpdateFinish=false;
AlarmChange = false;
}
static AlarmControl _instance;
public static AlarmControl Instance
{
get
{
if (_instance == null)
{
lock (sysnc)
{
_instance = new AlarmControl();
}
}
return _instance;
}
}
void InitAlarmString()
{
string configSection1 = "Setting/Unit1";
ConfigAlarm(configSection1, AlarmString1);
string configSection2 = "Setting/Unit2";
ConfigAlarm(configSection2, AlarmString2);
string configSection3 = "Setting/Unit3";
ConfigAlarm(configSection3, AlarmString3);
string configSection4 = "Setting/Unit4";
ConfigAlarm(configSection4, AlarmString4);
string configSection5 = "Setting/Unit5";
ConfigAlarm(configSection5, AlarmString5);
string configSection6 = "Setting/Unit6";
ConfigAlarm(configSection6, AlarmString6);
}
public List<AlarmInfo> AlarmLIst = new List<AlarmInfo>();
public bool AlarmChange {get;set;}
public bool UpdateFinish {get;set;}
private void ConfigAlarm(string ConSection,Dictionary<int, string> armlist)
{
try
{
//TXmlConfigHandler Confg = new TXmlConfigHandler(@".\Config.xml");
//ConfigurationSection conSection = (ConfigurationSection)ConfigurationManager.GetSection(ConSection);
//if (conSection != null)
//{
int KeyCount = Convert.ToInt32(xml.ReadValue(ConSection, "count"));
for (int i = 1; i <= KeyCount; i++)
{
string sectionName="alarm"+i.ToString();
string AlarmValue= xml.ReadValue(ConSection, sectionName).ToString();
armlist.Add(i-1, AlarmValue);
}
//}
}
catch(Exception ex)
{
//ICSharpCode.Core.LoggingService.Debug("报警信息加载错误:" + ex.ToString());
}
}
}
//public class AlarmInfo
//{
// public string AlarmString
// {
// get;
// set;
// }
// public DateTime AlarmTime
// {
// get;
// set;
// }
// public int EquipNo
// {
// get;
// set;
// }
// //报警单元
// public int AlarmUnit
// {
// get;
// set;
// }
// public int AlarmIndex;
//}
}