Версия ЛЭРС УЧЁТ: 3.46-beta
Установил бета версию ЛЭРС УЧЕТ, где появилась Поддержка ECL300
Ручной опрос работает нормально, дата считывается как положено, значения в таблице данных корректные. Но если пытаюсь использовать мониторинг текущих - получаю в журнале опроса следующую ошибку:
Ошибка опроса устройства ECL Comfort 300 #10817. Year, Month, and Day parameters describe an un-representable DateTime. Время по прибору: 1900-00-29 09:30:39
Мы проанализировали механизм опроса и пришли к выводу, что если удалить чтение конфигурации, это не приведёт к каким-либо побочным эффектам.В версии 3.45 мы убрали повторное чтение конфигурации из мониторинга текущих.
Произвел заново ручной опрос и мониторинг текущих (чтобы предоставить журналы и дамп) - все начало работать корректно. Понаблюдаю еще за ситуацией, на данный момент ошибка ушла. Тему прошу не закрывать - если поймаю ошибку выложу сюда необходимые для анализа данные
Визуально изучили дамп обмена и судя по дампу, это прибор возвращает некорректные данные.
Вы можете проверить ещё работу внешнего модуля ECL Comfort 300? Возможно проблема, которая возникает в теме Некорректная работа внешнего модуля “ECL Comfort 300”, имеет такой же характер и возникла из-за неправильного ответа прибора.
Действительно ошибка никак не связана с мониторингом текущих, а это прибор формирует некорректный ответ на запрос.
Поставил точку учета на автоопрос, и буквально через несколько сеансов опроса обнаружил такую же ошибку. Что интересно: эта ошибка (на мой взгляд) никак не может быть связана с ошибками при передаче данных, т.к. контрольная сумма ответа прибора корректная, т.е. он сам сформировал такой ответ. Прилагаю дамп обмена и два журнала опроса: с ошибкой и без.
Как можно видеть из дампа обмена, в одном случае на запрос месяца и года
CB 80 00 00 4B
контроллер отвечает
02 CB 00 00 C9
А в другом случае
02 CB 54 7A E7
Есть ли возможность внести исправления в драйвер опроса, чтобы при получении нулевых значений даты такой ответ считался некорректным и была повторная попытка считать данный параметр? Т.к. год, месяц и день никогда не могут равняться нулю.
Либо наверное придется вообще отказаться от чтения даты, учитывая что в протоколе обмена не было информации о такой возможности
Здесь вообще контроллер на запрос времени отвечает “FF FF”
Ошибка опроса устройства ECL Comfort 300 #10821. Year, Month, and Day parameters describe an un-representable DateTime. Время по прибору: 1900-00-255 255:255:255
Видимо функция чтения времени на данном устройстве работает некорректно, и правильным будет отказаться от её использования в драйвере опроса…
Добавлю немного статистики за последние 3 дня: поставил на автоопрос каждый час три контроллера ECL 300. Приблизительно 30% от всех сеансов опроса закончились ошибкой при чтении даты на всех трех контроллерах.
Если есть необходимость - могу предоставить необходимые данные для анализа.
В случае если ответ от производителя не был получен, либо не дал необходимой вам информации - прошу внести изменения в драйвер опроса и отключить функцию чтения даты и времени поскольку за прошедшее время (около 3 месяцев) как я и говорил ранее около трети всех сеансов опроса заканчиваются ошибкой.
Мы обсудим этот вопрос и примем решение. Как я помню, проблема заключается в том, что конкретно сами устройства могут присылать некорректный ответ время от времени.
Все верно. Иногда прибор формирует некорректный ответ на запрос даты и времени. О том, что проблема именно в приборе свидетельствует то, что контрольная сумма ответа верная - т.е. прибор подсчитал КС именно для такого (некорректного) ответа.
Предполагаю что такая ситуация может быть связана с тем, что когда мы считываем дату и время - мы просто читаем значения из RAM и возможно иногда время чтения совпадает с временем обновления значения в ячейке памяти и в итоге мы получаем либо 00 либо FF в ответе. Но это лишь мое предположение.
Мы обсудили данный вопрос, еще раз проконсультировались с производителем и решили удалить функцию чтения даты и времени для ECL 300. В следующей версии ЛЭРС УЧЁТ данный функционал будет удален.