Улучшить драйвер опроса ТЭМ-104 [13086]

Предлагаю доработать драйвер опроса приборов ТЭМ-104 для исключения попадания в БД некорректных значений как на приведенном ниже скриншоте:

После ручного опроса со снятой галочкой “только недостающие данные” все приходит в норму:


Такая ситуация продолжается довольно давно (несколько лет), на разных приборах и разных каналах связи.
Во вложении находятся дамп и журнал трех сеансов опроса. За 18.04 и 19.04 автоопрос - когда снялись некорректные показания, и за 19.04 ручной - когда был переопрос и были получены корректные данные.
Журнал опроса19.xlsx (7,2 КБ)
dump.USR_730_GPRS(142).2023-04-18.log (6,5 КБ)
dump.USR_730_GPRS(170).2023-04-19.log (286,5 КБ)
Журнал опроса18.xlsx (7,4 КБ)
Журнал опроса19(ручной).xlsx (7,2 КБ)

Правильно ли я вас понял, что кривые данные появились после автоопроса, журнал которого находится в файле “Журнал опроса18.xlsx”?

Насколько я могу судить - оба автоопроса (за 18 и за 19 число) принесли кривые данные в бд.
На 100% не уверен, т.к. заметил ситуацию не сразу.

Приложите, пожалуйста, настройки привязки ячеек рассматриваемой точки учета.

Спасибо за обращение! Мы поставили в план работ задачу по детальному анализу ситуации. О результатах будет сообщено дополнительно.

Изменения по задаче будут доступны в следующей версии 3.52.

Вам не будет нужен доступ к приборам для проверки внесенных изменений?
Еще если это возможно - хотел бы узнать в чем заключалась причина появления подобных некорректных значений (спрашиваю из личного интереса)

Нет, доступ к прибору в данном случае не требуется.

Причины такие же, как при опросе Меркурий 230: из-за проблем со связью прибор не успевает вовремя ответить, посылается новый запрос, на который приходит ответ от предыдущего запроса, что вызывает “цепную реакцию” и как следствие рассинхронизацию запросов и ответов, так как по протоколу нет возможности определить на какой именно запрос пришел ответ.

@7in Хотел бы добавить, в протоколе прибора имеются ограничения. При чтении архивной записи необходимо считать определённую область памяти. Прибор позволяет считать за один запрос только 64 байта, при этом читаемая область памяти больше. В результате для чтения архивной записи выполняется два запроса. При отправке первого запроса прибор не отвечает на него, и тогда запрос посылается повторно. Затем прибор возвращает ответ на запрос, который был послан первым. Далее выполняется запрос чтения второй области памяти, но прибор возвращает ответ на первый повторный запрос.
Как писал выше мой коллега, протокол не позволяет отличить на какой запрос пришёл ответ. По этой причине часть данных правильные, а часть данных имеет некорректное значение.

Благодарю за подробное описание причин возникновения такой ситуации