//Соединение с параметром protected override void ConnectProvider() { if (!CsApi.Init()) { AddError("Соединение с провадером не установлено"); } }
//Прочитать значения за период, возвращает количество прочитанных значений public ValuesCount ReadChanges(DateTime beg, DateTime en) { int n = 0; try { CsData m = new CsData(); var dbeg = beg.TimeToKvint(); var den = en.TimeToKvint(); if (CsApi.FindFirst(_handler, ref m, dbeg)) { n += AddValue(m); while (true) { if (!CsApi.FindNext(_handler, ref m) || m.Time >= den) { break; } n += AddValue(m); } } } catch (Exception ex) { Provider.Logger.AddError("Ошибка при чтении значений", ex, _marka + "." + _paramName); } return(new ValuesCount(n, n, VcStatus.Success)); }
//Прочитать срез значений public ValuesCount ReadCut(DateTime beg) { CsData m = new CsData(); var dbeg = beg.TimeToKvint(); int n = CsApi.FindFirst(_handler, ref m, dbeg, -1) ? AddValue(m) : 0; return(new ValuesCount(n, n, VcStatus.Success)); }
private void GetHandlerExternal(string serverName) { _handler = CsApi.OpenParamExternal(_cardId, _paramNo, serverName, 4117); }
private void GetHandlerByMarka() { _handler = CsApi.OpenParamByName(_marka, _paramName, 4117); }
private void GetHandlerById() { _handler = CsApi.OpenParamById(_cardId, _paramNo, 4117); //флаги 0x1015 }
//Закрытие соединения protected override void DisconnectProvider() { CsApi.Done(); }