示例#1
0
        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;
        }
示例#2
0
        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;
        }
示例#3
0
        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;
        }
示例#4
0
        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;
        }
示例#5
0
        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;
        }
示例#6
0
        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;
        }
示例#7
0
        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;
        }