public DevAnalog(IniDocument ini, DevAnalogGrp grp, int index) { this.Group = grp; this.Index = index; string section = grp.Name + "\\" + (index + 1); this.Name = ini.GetString(section, "设备名称"); if (string.IsNullOrEmpty(this.Name)) { return; } if (this.Name.ToUpper() == "DUMMY") { return; } float val = ini.GetFloat(section, "AD最小", float.NaN); this.ADMin = float.IsNaN(val) ? grp.ADMin : val; val = ini.GetFloat(section, "AD最大", float.NaN); this.ADMax = float.IsNaN(val) ? grp.ADMax : val; this.IsValid = true; }
public DevAnalogGrp(IniDocument docIni, int index) { string name = docIni.GetString("模拟量类型", (index+1).ToString()); if (string.IsNullOrEmpty(name)) return; this.Name = name; int type = docIni.GetInt(name, "类型",0); if (type <= 0) return; this.Type = type; this.Unit = docIni.GetString(name, "单位"); int analogNum = docIni.GetInt(name, "数目", 0); float val = docIni.GetFloat(name, "AD最小", float.NaN); this.ADMin = float.IsNaN(val) ? 0 : val; val = docIni.GetFloat(name, "AD最大", float.NaN); this.ADMax = float.IsNaN(val) ? 0 : val; for (int i = 0; i < analogNum; i++) { DevAnalog analog = new DevAnalog(docIni,this,i); if (analog.IsValid) { if (dicAnalog.ContainsKey(analog.Name) == false) { dicAnalog.Add(analog.Name, analog); } } } if (dicAnalog.Count <= 0) return; this.IsValid = true; }
public CurveGroup(IniDocument docIni, int index) { this.Name = docIni.GetString("记录曲线类型", (index + 1).ToString()); if (string.IsNullOrEmpty(Name)) { return; } this.Type = docIni.GetInt(this.Name, "类型", 0); if (this.Type <= 0) { return; } this.TimeInterval = docIni.GetFloat(this.Name, "时间间隔", 0); float limit = docIni.GetFloat(this.Name, "AD最小", float.NaN); if (float.IsNaN(limit) == false) { this.ADMin = limit; } limit = docIni.GetFloat(this.Name, "AD最大", float.NaN); if (float.IsNaN(limit) == false) { this.ADMax = limit; } int curveNum = docIni.GetInt(this.Name, "数目", 0); for (int i = 0; i < curveNum; i++) { DevCurve curve = new DevCurve(docIni, this, i); if (curve.IsValid) { if (dicCurve.ContainsKey(curve.Name) == false) { List <DevCurve> listCurve = new List <DevCurve>(); listCurve.Add(curve); dicCurve.Add(curve.Name, listCurve); } else { dicCurve[curve.Name].Add(curve); } } } if (dicCurve.Count <= 0) { return; } this.IsValid = true; }
public DevCurve(IniDocument ini, CurveGroup grp, int index) { this.Group = grp; this.Index = index; string section = grp.Name + "\\" + (index + 1); this.Name = ini.GetString(section, "设备名称"); if (string.IsNullOrEmpty(this.Name)) { return; } if (this.Name.ToUpper() == "DUMMY") { return; } this.ADMax = grp.ADMax; this.ADMin = grp.ADMin; float limit = ini.GetFloat(section, "AD最小", float.NaN); if (float.IsNaN(limit) == false) { this.ADMin = limit; } limit = ini.GetFloat(section, "AD最大", float.NaN); if (float.IsNaN(limit) == false) { this.ADMax = limit; } this.Tag = ini.GetInt(grp.Name + "\\" + (index + 1), "标志", 0); this.TimeInterval = grp.TimeInterval; float interval = ini.GetFloat(grp.Name + "\\" + (index + 1), "时间间隔", float.NaN); string monitor = ini.GetString(grp.Name + "\\" + (index + 1), "室外监测类型"); this.MonitorType = SignalType.SignalACCurve; if (monitor == "直流道岔") { this.MonitorType = SignalType.SignalDCCurve; } if (float.IsNaN(interval) == false) { this.TimeInterval = interval; } this.IsValid = true; }
public DevAnalogGrp(IniDocument docIni, int index) { string name = docIni.GetString("模拟量类型", (index + 1).ToString()); if (string.IsNullOrEmpty(name)) { return; } this.Name = name; int type = docIni.GetInt(name, "类型", 0); if (type <= 0) { return; } this.Type = type; this.Unit = docIni.GetString(name, "单位"); int analogNum = docIni.GetInt(name, "数目", 0); float val = docIni.GetFloat(name, "AD最小", float.NaN); this.ADMin = float.IsNaN(val) ? 0 : val; val = docIni.GetFloat(name, "AD最大", float.NaN); this.ADMax = float.IsNaN(val) ? 0 : val; for (int i = 0; i < analogNum; i++) { DevAnalog analog = new DevAnalog(docIni, this, i); if (analog.IsValid) { if (dicAnalog.ContainsKey(analog.Name) == false) { dicAnalog.Add(analog.Name, analog); } } } if (dicAnalog.Count <= 0) { return; } this.IsValid = true; }
public CurveGroup(IniDocument docIni, int index) { this.Name = docIni.GetString("记录曲线类型", (index + 1).ToString()); if (string.IsNullOrEmpty(Name)) return; this.Type = docIni.GetInt(this.Name, "类型", 0); if (this.Type <= 0) return; this.TimeInterval = docIni.GetFloat(this.Name, "时间间隔", 0); float limit = docIni.GetFloat(this.Name, "AD最小", float.NaN); if (float.IsNaN(limit) == false) { this.ADMin = limit; } limit = docIni.GetFloat(this.Name, "AD最大", float.NaN); if (float.IsNaN(limit) == false) { this.ADMax = limit; } int curveNum = docIni.GetInt(this.Name, "数目", 0); for (int i = 0; i < curveNum; i++) { DevCurve curve = new DevCurve(docIni, this, i); if (curve.IsValid) { if (dicCurve.ContainsKey(curve.Name) == false) { List<DevCurve> listCurve = new List<DevCurve>(); listCurve.Add(curve); dicCurve.Add(curve.Name, listCurve); } else { dicCurve[curve.Name].Add(curve); } } } if (dicCurve.Count <= 0) return; this.IsValid = true; }
public DevCurve(IniDocument ini, CurveGroup grp, int index) { this.Group = grp; this.Index = index; string section = grp.Name + "\\" + (index + 1); this.Name = ini.GetString(section, "设备名称"); if (string.IsNullOrEmpty(this.Name)) return; if (this.Name.ToUpper() == "DUMMY") return; this.ADMax = grp.ADMax; this.ADMin = grp.ADMin; float limit = ini.GetFloat(section, "AD最小", float.NaN); if (float.IsNaN(limit) == false) { this.ADMin = limit; } limit = ini.GetFloat(section, "AD最大", float.NaN); if (float.IsNaN(limit) == false) { this.ADMax = limit; } this.Tag = ini.GetInt(grp.Name + "\\" + (index + 1), "标志", 0); this.TimeInterval = grp.TimeInterval; float interval = ini.GetFloat(grp.Name + "\\" + (index + 1), "时间间隔", float.NaN); string monitor = ini.GetString(grp.Name + "\\" + (index + 1), "室外监测类型"); this.MonitorType = SignalType.SignalACCurve; if (monitor == "直流道岔") { this.MonitorType = SignalType.SignalDCCurve; } if (float.IsNaN(interval) == false) { this.TimeInterval = interval; } this.IsValid = true; }