Нужно получить архивные теги и сделать небольшие статистические расчеты с ними. Для чтения всегда использовал ODK и в частности функцию TLGGetArchivDataEx. Всегда читал циклически записываемые теги, проблем не было. Теперь нужно считывать теги, которые заносятся в архив как Acyclic либо After Every Change.
Что сделал: создал 12 тегов, 10 первых пишутся циклически (задал стартовое значение и не меняю), 2 последний сначала ациклически по Start Tag. Я в ВинЦЦ меняю 2 последних тега и их Start Tag. Контролирую в контроле Tag Logging Table, все ок, вижу записываются значения как надо. Скриптом читаю из архива и пишу в csv файл.
Строка из файла:
последнее значение я задавал 15. Ни разу с данным типом записи в архив не было прочитано реальное значение, всегда читаются какие-то непонятно большие числа.1,00; 2,00; 3,00; 4,00; 5,00; 6,00; 7,00; 8,00; 9,00;10,00; 0,00;241941892083659560000000000000000000,00;
Попробовал писать в архив After Every Change, так же 2 последних тега. Так скрипт вообще выдает ошибку
Причем если тут же меняю на циклическую запись и все ок.Error in TLGGetArchivDataEx. TLG-API: no connection to an activated project established, line 389
Задача была такая: отслеживать N последних значений нескольких тегов и статистически их обрабатывать, теги меняются редко, поэтому хотелось бы их писать в архив ациклически. Вижу решение либо в сохранении каждого изменения в отдельном теге (рассматривается как совсем крайний вариант), либо в чтении из архивов.
Сталкивался ли кто-нибудь с таким поведением ODK? Может кто видит какое-то иное решение этой задачи.