Что делает инструкция открытия сокета в PMP20?

Проверено экспертом Опубликовано: 20.08.2025 Обновлено: 23.09.2025 1569 просмотров Помогло 89%

Любой обмен по сети в программе контроллера начинается с инструкции открытия сокета — в среде программирования она называется S_OPEN. Она создаёт задачу связи — соединение по протоколу с установлением соединения либо прослушивание порта по протоколу без установления соединения — и привязывает к этой задаче номер сокета, по которому потом работают все остальные сетевые инструкции.

Инструкция выполняется по нарастающему фронту и имеет пять операндов:

ОперандЧто задаётЗначения
Первыйномер сокетаот K0 до K63
Второйтип связиK0 — без установления соединения, K1 — с установлением
Третийроль контроллераK0 — сервер, K1 — клиент
Четвёртыйначало блока параметровзанимает 9 регистров подряд
Пятыйначало области флаговзанимает 10 катушек подряд

Практическая схема строки: условием ставят признак завершения инициализации сети, признак подключения сетевого устройства и инверсный флаг «подключено» — тогда инструкция сработает один раз при появлении сети и не будет дёргать соединение в каждом цикле.

Требования к версии. Сетевые инструкции работают на контроллерах с прошивкой не ниже 3.5.3, и среда программирования тоже должна быть не ниже 3.5.3. На более ранних прошивках инструкция в проекте просто не появится.

Важная особенность: параметры из блока регистров вступают в силу после повторного включения питания контроллера. Изменить их «на лету» из программы и сразу получить новое соединение не получится — правильная последовательность такая: закрыть сокет, изменить параметры, открыть сокет заново.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Что делает инструкция открытия сокета в PMP20?