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; }
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; } } } }