Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Артефакты функции ArchiveValueByTime  (Прочитано 268 раз)

pan2000

  • Постоялец
  • ***
  • Сообщений: 210
    • Просмотр профиля
Артефакты функции ArchiveValueByTime
« : 02 Декабря 2024, 01:57:47 »
     Здравствуйте.

Значение функции ArchiveValueByTime отличается от значения из архива при одинаковой временной метке.

Тест:
- генерация возрастающей последовательности с периодом 1 секунда;
- запись в таблицу до 32 последних пар значений-времени последовательности по команде (т.е. последних реально записанных в БД);
- по клику на строке таблицы вызывается функция с параметром времени из этой строки, результат записывается в последний столбец этой строки, теперь можно сравнить значения из архива и функции.

Управление:
- кнопка "ОСТАНОВИТЬ ЗАПИСЬ"/"ПРОДОЛЖИТЬ" - останов/продолжение счета последовательности (запись в архив по изменению переменной);
- кнопка "ЗАПОЛНИТЬ ТАБЛИЦУ" - запись в таблицу;
- кнопка "ВЫЧИСЛИТЬ ФУНКЦИЮ" - вычислить функцию по всем строкам;
- параметр "Сдвиг, сек" [-20..20] - сдвиг значения параметра функции.

Собственно тестирование:
- предварительно желательно очистить таблицы проекта и контролировать таблицу трендов средствами БД.
- запустить проект и подождать пока значение последовательности достигнет значения больше 32 (ожидаемая запись буферов), заполнить таблицу;
- вычислить функцию и/или одиночное вычисление/перевычисление функции по ЛКМ на строке;
- изменяя значение параметра "Сдвиг" можно добиться совпадения значений функции со значениями из таблицы. (магическое значение параметра равно -9). Магическое значение сохраняется и для последовательности с периодом 2 секунды.

Ещё есть предположение, что последнее значение (уже архивированное или в буфере) не требует сдвига.
« Изменён: 02 Декабря 2024, 02:08:43 от pan2000 »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Артефакты функции ArchiveValueByTime
« Ответ #1 : 03 Декабря 2024, 11:39:33 »
Здравствуйте.

Спасибо за информацию об ошибке и пример. Исправление включено в версию 2.6.15.0 (скачать можно по прежним ссылкам).