Esempio n. 1
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;
        }
Esempio n. 2
0
        void FormDataWizard_SignalArgsChanged(object sender, RecordAnalyse.Signal.SignalArgs e)
        {
            if (exportSrcIndex >= 0 && selectDevice != null)
            {
                HHSourceGroup srcGrp = selectDevice.DevGroup.SourceGroups[exportSrcIndex];

                foreach (HHDeviceProperty prop in srcGrp.Properties)
                {
                    HHDeviceProperty devProp   = selectDevice.GetProperty(prop);
                    DevAnalog        devAnalog = devProp.Analog;
                    List <DevCurve>  devCurves = devProp.Curves;
                    switch (prop.MonitorType)
                    {
                    case Common.SignalType.SignalAC:
                        if (devAnalog != null)
                        {
                            DataStorage.DatabaseModule.GetInstance().AddAnalog(devAnalog.Group.Type, devAnalog.Index, e.ACAmpl, e.Time);
                        }
                        break;

                    case Common.SignalType.SignalDC:
                        if (devAnalog != null)
                        {
                            DataStorage.DatabaseModule.GetInstance().AddAnalog(devAnalog.Group.Type, devAnalog.Index, e.DCAmpl, e.Time);
                        }
                        break;

                    case Common.SignalType.SignalCarrier:
                        if (e.LowFreq > 0 && devAnalog != null)
                        {
                            DataStorage.DatabaseModule.GetInstance().AddAnalog(devAnalog.Group.Type, devAnalog.Index, e.CarrierFreq, e.Time);
                        }
                        break;

                    case Common.SignalType.SignalLow:
                        if (e.LowFreq > 0 && devAnalog != null)
                        {
                            DataStorage.DatabaseModule.GetInstance().AddAnalog(devAnalog.Group.Type, devAnalog.Index, e.LowFreq, e.Time);
                        }
                        break;

                    case Common.SignalType.SignalACCurve:
                        if (devCurves != null && devCurves.Count > 0)
                        {
                            DataStorage.DatabaseModule.GetInstance().AddCurve(devCurves[0].Group.Type, devCurves[0].Index, e.Time, 25, e.ACCurve);
                        }
                        break;

                    case Common.SignalType.SignalDCCurve:
                        break;

                    case Common.SignalType.SignalAngle:
                        if (devAnalog != null)
                        {
                            DataStorage.DatabaseModule.GetInstance().AddAnalog(devAnalog.Group.Type, devAnalog.Index, e.AngleDiff, e.Time);
                        }
                        break;
                    }
                }
            }
        }