Сколько сетевых соединений держит PMP20 одновременно?
Ограничения заданы жёстко: номеров сокетов всего 64 (от K0 до K63), соединений с установлением соединения — не больше 32, соединений без установления соединения — тоже не больше 32. Эти три числа и определяют потолок сетевой части проекта.
Как это считать на практике. Каждая инструкция открытия сокета занимает один номер и одно соединение своего типа. Опрос десяти приборов по сетевому варианту протокола обмена — это десять сокетов, если приборы разные; к одному прибору достаточно одного сокета, через который последовательно проходят все запросы.
Второе ограничение, о котором забывают: локальный порт может использоваться только одной инструкцией связи. Два сокета на одном локальном порту работать не будут, даже если номера сокетов разные.
Есть и третье ограничение, оно приходит с другой стороны. В руководстве по связи с панелью оператора сказано, что встроенный сервер обслуживает не более четырёх одновременных подключений. То есть контроллер как ведомое устройство отдаёт данные максимум четырём мастерам сразу — например панели оператора, двум рабочим местам диспетчера и шлюзу верхнего уровня. Пятый клиент соединение не получит.
Что делать, если клиентов больше. Разумное решение — не подключать всех к контроллеру напрямую, а поставить один шлюз или сервер сбора данных, который опрашивает контроллер и раздаёт данные дальше. Заодно это снимает нагрузку на цикл сканирования: каждый лишний опрос — это время, отнятое у логики управления.
Превышение лимитов контроллер фиксирует кодом ошибки в системном регистре настройки сокета, так что причину видно сразу.
Прикреплённая документация
Георгий Жуков
Ведущий инженер