Ув. техподдержка, разъясните, пожалуйста, алгоритм опроса приборов по МОДБАС при сбое одного из них. Пытается ли поток в течение времени таймаута повторно опросить именно этот прибор (или ставит в очередь и чередует с другими), сколько попыток опроса делается, после какого из неответов сбрасывается флаг достоверности? В общем, хотелось бы подробностей.
И еще, чтобы не вставать два раза: Допустим, имеем 50 каналов для опроса по МОДБАС. Желаемый период опроса для любого - 5 системных тиков. Есть ли смысл как то разносить опросы (используя F1, F2...), изменять период опроса (на 4,6) или все же не думать об этом, надеясь, что обо всем уже подумали разработчики?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
После выхода из транзакции по таймауту повторный запрос по этому адресу осуществляется в порядке общей очереди по используемому каналу связи (COM-порту или сокету TCP). Флаг недостоверности выставляется сразу после завершения транзакции и сбрасывается при получении корректного ответа.
Если речь идет об обеспечении заданной динамки опроса при ограниченной производительности канала связи, "разнесение опросов" по периодам смысла не имеет. Более эффективно использование групповых запросов и, если необходимо, разнесение запросов к разным устройствам в разные потоки (TCP) или на разные COM-порты.
Posted by VaBo1966 (Участник № / Member № 6398) on :
После выхода из транзакции по таймауту повторный запрос по этому адресу осуществляется в порядке общей очереди по используемому каналу связи
Вы не прояснили, что происходит во время таймаута. Ожидание ответа, несколько повторных запросов по сбойному адресу, что?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Во время ожидания ответа в течение таймаута в соответствующем потоке никаких операций не производится.