Пример #1
0
 //Соединение с параметром
 protected override void ConnectProvider()
 {
     if (!CsApi.Init())
     {
         AddError("Соединение с провадером не установлено");
     }
 }
Пример #2
0
        //Прочитать значения за период, возвращает количество прочитанных значений
        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));
        }
Пример #3
0
        //Прочитать срез значений
        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));
        }
Пример #4
0
 private void GetHandlerExternal(string serverName)
 {
     _handler = CsApi.OpenParamExternal(_cardId, _paramNo, serverName, 4117);
 }
Пример #5
0
 private void GetHandlerByMarka()
 {
     _handler = CsApi.OpenParamByName(_marka, _paramName, 4117);
 }
Пример #6
0
 private void GetHandlerById()
 {
     _handler = CsApi.OpenParamById(_cardId, _paramNo, 4117); //флаги 0x1015
 }
Пример #7
0
 //Закрытие соединения
 protected override void DisconnectProvider()
 {
     CsApi.Done();
 }