/// <summary> /// Construtor com o intervalo padrão de um minuto /// </summary> /// <param name="grandeza"></param> /// <param name="analogicos"></param> public Medida(GrandezaDE grandeza, List<AnalogicDataRegisterDE> analogicos) : this(grandeza, analogicos, new TimeSpan(0, 1, 0)) { }
protected DataRegisterReader(DateTime dataRead, string histdataFilePath, string onlinedataFilePath, string FilePrefix ) { GrandezaDE grandeza; bool fim = false; ArrayList grandezaList = new ArrayList(); _dataDate = dataRead; if(_dataDate.Date == DateTime.Today.Date) { _dataFileName = onlinedataFilePath; if(string.Compare(_dataFileName.Substring(_dataFileName.Length -1,1),@"\") != 0) _dataFileName += @"\"; _dataFileName += FilePrefix + (dayOpenVMS) ((int)_dataDate.DayOfWeek) + ".HIS"; _numDiferencaMinutos = -1; } else { _dataFileName = histdataFilePath; if(string.Compare(_dataFileName.Substring(_dataFileName.Length -1,1),@"\") != 0) _dataFileName += @"\"; _dataFileName += FilePrefix.Substring(2,1) + _dataDate.Year.ToString().Substring(2,2) + _dataDate.Month.ToString("00") + _dataDate.Day.ToString("00") + ".HIS"; _numDiferencaMinutos = 0; } _fileName = _dataFileName; if(File.Exists(_dataFileName)) { fs = new FileStream(_dataFileName, FileMode.Open, FileAccess.Read); r = new BinaryReader(fs); fs.Position = 0; buffer = new char[NumGRLen]; r.Read(buffer,0, NumGRLen); _NumGR = Convert.ToInt32(new string(buffer)); fs.Position = NumGRLen + DataUltimaAtuLen; buffer = new char[NumBValGrLen]; r.Read(buffer,0,NumBValGrLen); _NumBValGr = Convert.ToInt32(buffer[0]); for(int i=0;i<_NumGR && !fim;i++) { fs.Position = NumGRLen + DataUltimaAtuLen + NumBValGrLen + (GrandezaLen * i); buffer = new char[GrandezaLen]; r.Read(buffer,0, GrandezaLen); grandeza = new GrandezaDE(buffer); if(grandeza.Index != -1) { htHeader.Add(grandeza.Name,grandeza.Index); grandezaList.Add(grandeza); } else fim = true; } _grandezas = (GrandezaDE[]) grandezaList.ToArray(typeof(GrandezaDE)); _fileExists = true; r.Close(); fs.Close(); } else _fileExists = false; }
public Medida(GrandezaDE grandeza, List<AnalogicDataRegisterDE> analogicos, TimeSpan intervalo) { Grandeza = grandeza; Analogicos = analogicos; Intervalo = intervalo; }