отправлено / posted
МРВ опрашивает устройство по протоколу MODBUS. Период пересчета каналов установлен по умолчанию - 1 CALC. Для COM-порта установлена задержка: RS-передача=100 (чтобы запросы не валились в устройство слишком часто). Иногда опрашиваемое устройство может не ответить на полученный запрос (запрос регистра, функция 3). На следующий запрос устройство уже отвечает и все работает нормально. Но бывает так, что устройство не отвечает подряд на два запроса одного и того-же регистра. В этом случае МРВ устанавливает для соотв. канала флаг аппаратной недостоверности. На следующем цикле устройство уже отвечает на запрос и флаг недостоверности снимается.
Вопрос такой: Можно ли настроить канал, или порт таким образом, чтобы флаг аппаратной недостоверности устанавливался только если не сработало подряд 3 запроса. Ну, или в общем случае - N запросов. Иными словами - как задать для МРВ количество попыток получить значение канала по MODBUS?
Сообщения / Posts 2 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Флаг недостоверности выставляется уже при первом неверном ответе от устройства. Изменить это нельзя.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Можно попробовать использовать тип COM-порта Host OEM RS.
Прерывание – при IRQ>16 и обнаружении ошибки в транзакции запрос повторяется до (IRQ-16) раз. Если ошибка воспроизводится, в канале устанавливается флаг аппаратной недостоверности;
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Спасибо! Установил тип порта Host OEM RS и IRQ=19. Все заработало отлично.
Сообщения / Posts 2 | Из / From: Украина
| IP / IP: IP адрес / IP address |