Как говорилось ранее, при работе радиомодемов в прозрачном режиме внешнее оборудование «не замечает» их и работает так же, как и по проводам (конечно, при условии правильной конфигурации модемов).
В целом это так и есть, однако, когда мы говорим о прозрачности модемов для внешнего оборудования, стоит помнить о некоторых оговорках. В некоторых случаях эти оговорки не существенны и не повлияют на работу внешнего оборудования через модемы, в других — могут оказаться причиной того, что внешнее оборудование не заработает через радиомодемы без дополнительных настроек.
Далее описаны основные причины, приводящие к тому, что система отказывается работать через модемы, и даются рекомендации по их устранению.
Естественно, предполагается, что модемы подготовлены к работе с оборудованием (правильно установлены основные параметры и проведена проверка связи между модемами), а также есть уверенность, что система работает по проводам и проблемы возникают только при замене проводов модемами.
Задержки при передаче данных
Главное (и наиболее часто приводящее к тому, что оборудование «не хочет» работать через модемы) отличие работы через модемы от работы по кабелю заключается в различных задержках при передаче данных. Если при работе по кабелю задержки при передачи данных от мастера к слейву и обратно практически отсутствуют (или измеряются единицами миллисекунд), то при работе через радиомодемы эти задержки могут составлять десятки миллисекунд.
Дополнительные задержки возникают из-за того, что путь прохождения данных при работе через модемы «удлиняется»: модем должен принять их в свой буфер, понять, что пакет данных кончился и можно передавать его в эфир, включить передатчик, осуществить передачу, приемный модем должен принять данные в свой буфер и выдать их на свой последовательный порт.
Для систем, построенных по топологии «звезда» (мастер — слейвы) с протоколом опроса удаленных объектов по принципу «запрос мастера — ответ слейва» наличие дополнительных задержек при работе через модемы приведет к увеличению времени между отправкой запроса мастером и получению им ответа от слейва. В протоколах таких систем практически всегда определено время (тайм-аут) ожидания мастером ответа от слейва — если ответ не получен за это время, мастер считает, что слейв не отвечает и перестает ждать от него ответа.
Вполне может оказаться, что при работе через модемы ответы от слейвов приходят с опозданием — когда мастер их уже не ждет и сообщает об отсутствии связи или неполучении ответа от слейва.
Таким образом, для исправления такой ситуации необходимо либо уменьшать задержки при передачи данных, либо увеличивать время ожидания ответов в протоколе работы системы. Если модемы сконфигурированы с учетом рекомендаций, то уменьшить задержки на уровне модемов уже не получится — остается только увеличивать время ожидания ответа в настройках мастера системы.
Как правило (практически всегда), протоколы типа ModBus предусматривают такое увеличение — мастер (пульт, ПЛК, ОРС-сервер) должен иметь возможность конфигурации временнЫх параметров протокола, так что ситуация легко разрешима.
Какие именно времена ожидания ответа устанавливать для работы через модемы? Лучше начать с заведомо большого значения (скажем, 500 мс) — если после этого система заработала, значит, проблема была именно в задержках. После этого можно при необходимости уменьшать время ожидания до тех пор, пока система продолжает надежно работать.
Если в системе используются ретрансляторы, то задержки при доставке данных через цепочку ретрансляторов будут длиннее (примерно в 2 раза на каждый ретранслятор).