Один из Карат-307 стал опрашиваться с паузой 20 секунд между отдельными командами. Причем паузу делает именно служба опроса ЛЭРС. По логу видно, что Карат отвечает на запрос сразу же. А вот следующий запрос ЛЭРС посылает только через 20 секунд. В итоге за отведенное время данные не успевают считаться. И опрос прерывается по причине превышения опроса. И так ситуация повторяется до бесконечности. Что при ручном опросе, что при авто. Другие Карат-307 опрашиваются без проблем - запрос, ответ, и сразу же следующий запрос.
Служба опроса ЛЭРС УЧЕТ не может избирательно опрашивать устройства одной и той же модели. Если бы проблема была именно в службе опроса, тогда она не опрашивала бы все устройства Карат-307. Отсюда можно сделать вывод, что проблема в устройстве: либо в модеме, либо в конкретном Карат-307.
Попробуйте опросить проблемный Карат-307 заводской программой КАРАТ-Экспресс. Будет ли наблюдаться такая же проблема?
Ну вы же видите, что Карат отвечает на запрос сразу. Причем корректно - сообщений об ошибках нет. Что заставляет службу опроса выжидать 20 секунд до следующей команды?
Тогда приложите журнал опроса, чтобы мы могли убедиться, что ошибок действительно не происходит.
Также напишите через какое оборудование вы опрашиваете проблемный и непроблемный Карат-307. Пришлите скриншоты настроек портов опроса, через которые настроено это оборудование.
Все три Карата опрашиваются через одну и ту же Moxa NPort 5630-16. У каждого Карата свой персональный порт, т.е. кроме него никакого оборудования на этот порт к Моксе не подключено. На эти порты в Моксе стоит настройка только одно подключение. Т.е. если ЛЭРС открывает этот порт, то больше никто в порос вмешаться не может даже теоретически.
И еще раз хотел бы обратить ваше внимание: у нас нет никакого проблемного Карата. У нас есть проблемный опрос ЛЭРС одного из Каратов. В этом и хочу разобраться. Есть большая вероятность, что если перезагрузить сервер ЛЭРС, то всё восстановится. Но хотелось бы сначала разобраться в причинах, чтобы не допустить повторения такого глюка в будущем и предотвратить потерю данных.
По интерфейсу свойств порта опроса я вижу, что у вас не последняя версия ЛЭРС УЧЕТ. Мы не имеем возможности оказывать поддержку по предыдущим версиям ЛЭРС УЧЕТ. Обновитесь до последней версии и попробуйте произвести порос. Если ошибка повториться, отпишитесь пожалуйста в этой же теме, приложив новый журнал опроса.
Здравствуйте! ЛЭРС обновлен до последней версии (3.07 R17.04 (сборка 31716)). Проблема сохранилась.
Я обновил журнал опроса и скриншоты настроек портов опроса. Ссылка та же:
Все три Карата опрашиваются через одну и ту же Moxa NPort 5630-16. У каждого Карата свой персональный порт, т.е. кроме него никакого оборудования на этот порт к Моксе не подключено. На эти порты в Моксе стоит настройка только одно подключение. Т.е. если ЛЭРС открывает этот порт, то больше никто в порос вмешаться не может даже теоретически.
Подскажите каким образом у вас организовано соединение? Здесь вы описали, что опрос происходит через одну Моксу, а на скриншотах присутствуют настройки 3 портов опроса, в каждом из которых указано прямое подключение к отдельному COM-порту.
Moxa NPort 5630-16 имеет 16 портов RS-485. 3 из них отведены под Караты, по отдельному порту на каждый Карат. Поэтому вы в настройках видите 3 порта, всё верно. Далее мокса по локальной сети Ethernet связана с сервером ЛЭРС, на котором и присвоены COM-порты.
Всё верно, у вас нет проблемного карата, у вас проблемная MOXA :-):
Перед тем как отправить запрос служба опроса выполняет процедуру очистки буфера COM-порта. Это жизненно важно для проведения опроса в нестабильных каналах связи.
Для двух виртуальных портов всё проходит штатно и быстро, но по какой-то причине очистка третьего виртуального порта занимает ровно 20 секунд. По какой причине это происходит сказать сложно. Скорее всего, это связано со сбоями в работе оборудования или драйвера виртуальных COM-портов. Какая у вас используется версия Nport Administrator? Может стоит попробовать её обновить и поставить самую последнюю?
Вооот! Спасибо вам большое, наконец-то первый ответ по существу. :-): Ведь другой программой Карат опрашивается без тормозов. Я и хотел выяснить в чем особенность опроса ЛЭРС. Теперь примерно понятно в какую сторону копать. Только хотелось бы уточнить один момент. Служба опроса выполняет процедуру очистки буфера COM-порта перед КАЖДОЙ командой(запросом) или только один раз перед началом сеанса опроса?
Насчет порта у меня уже возникла идея, чтобы точно определить виновника, поменять местами 1-й и например 2-й Карат на стороне RS-485. Ну и соответственно в ЛЭРС поменять местами порты опроса. Сегодня попробуем. Можно еще попробовать перезапустить моксу. Хотя в неисправность в моксе что-то не очень верится, у нас их очень много и что только с ними не делали, они неубиваемые. А эта 5630-16 вообще в тепличных условиях содержится, в серверной в стоечке стоит. Программный глюк с виртуальным COM кажется более реалистичным. Кстати, перезапуск компьютера с ЛЭРС ничего не дал.
Ну нам нужно было собрать от вас больше информации, чтобы дать ответ по существу.
Буфер очищается перед отправкой каждой команды. Это необходимо, поскольку при сбое в буфере может остаться часть данных от предыдущего обмена. Это очень критично при опросе, например, по CSD.
Можно попробовать поменять порты местами, чтобы убедиться, что это не карат, но в этой конфигурации я на 90% уверен в сбое именно со стороны виртуального драйвера COM-порта. Может попробовать опрашивать не в RealCOM, а в TCP Server? Там процедура очистки входящего TCP-буфера выполняется по-другому и к таким последствиям привести не должна.
Порт поменяли, действительно, теперь 100% это виртуальный COM-порт в связке с опросом ЛЭРС так себя ведет.
Перезагрузки компьютера где установлен ЛЭРС и Nport Administrator, как я уже говорил, ничего не дали.
А вот после перезагрузки Moxa NPort 5630-16 проблема исчезла. В общем вопрос на настоящий момент можно считать закрытым. Жаль только не удалось установить причину этого глюка. Какое событие именно привело к нестандартной работе порта.