PDA

Просмотр полной версии : Считывание часового архива


nik9999
18.04.2019, 17:10
реализую протокол, для опроса Тэкон 19, возник вопрос по считыванию часовых архивов- нужно расчитать индекс, для примера нужно получить архив температуры за 18.04.2019 с 10:00 до 11:00... исходя из документации (Дополнение N1 РАСШИРЕНИЕ ПРОТОКОЛА FT1.2 Т10.06.59РД-Д1 стр.32 ), имеем
Iсут = 107
Nсут= 365*ГГ + int(ГГ/4) + Iсут + К = 365*19 + 4 + 107 + 1 = 7047
Iчас = [modD(Nсут)]*24 + Ч = (7047%1535)*24 + 10 = 21778 (0x5512)
если же сформировать отчет в Принт 19, и снифером посмотреть запрос :
68 09 09 68 4c 01 19 03 19 80 b2 00 01 b5 16
значение идекса = 0x00B2
где не досмотрел ?

gae
18.04.2019, 20:10
Ваша ошибка состоит в подстановке значения Imax=1535 вместо глубины архива в сутках D=64.
Прочитайте внимательно сам заголовок пункта Б.5 в процитированном Вами документе. Тогда операция mod64(7047) даст 7, и окончательный результат вычисления индекса будет 7*24+10 = 178, т.е. 0х00В2.
Обратите внимание, что Вы должны точно знать глубину каждого примененного конкретного часового архива - 16, 32 или 64 суток, т.к. значения D для них будут различны.

nik9999
19.04.2019, 09:42
Большое спасибо!