PDA

Просмотр полной версии : что делать при ошибке (ERR_INVALID_ANSWER -106)?



stolzzz
11.06.2013, 10:28
Здравствуйте!
Опрашиваю показания ТРМ138 (пишу на MS Visual C++ 2010, express) c использованием owen_io.DLL, используется OWENIO_API_NEW
Опрос прибора осуществляется циклически. В какой-то момент времени (бывает через час, минут 30 или практически сразу же после запуска программы) выскакивает ошибка -106 (ERR_INVALID_ANSWER - принят неполный кадр, кадр содержит недопустимые символы либо ошибочные данные).

Через Serial Port Monitor выяснил что теряется маркер конца кадра (при чтении) - ASCII символ <CR> (символ возврата каретки, код 0x0d). Вместо него почему-то вылазит 0xff или 0xfe

После чего никакие манипуляции не помогают. В частности ни перезапуск программы, ни останов опроса принудительно с закрытием порта, а затем с последующим открытием и запуском опроса.
Помогает вновь возобновить опрос только изменение (руками) любого параметра в ТРМ, т.е. зайти в режим программирования и изменить скажем параметр "n.FLt Количество фильтров сообщений" с 0 на 1, или 2 на 5 и т.п.

Вообщем вопрос в следующем: какие манипуляции необходимо проделать программно чтобы опрос вновь возобновился?

P.S. При ошибке 106 запись уставки и гистерезиса проходят отлично.