Как опросить прибор по протоколу обмена через сеть из PMP20?
Сетевой вариант протокола обмена выполняется инструкцией M_TCP. Она работает только тогда, когда контроллер является клиентом, и применяется в паре с инструкциями открытия и закрытия сокета. Каждое срабатывание нарастающего фронта — один запрос и один ответ.
Шесть операндов инструкции:
| Операнд | Что задаёт | Диапазон |
|---|---|---|
| Первый | номер удалённой станции | от K0 до K247 |
| Второй | код функции | см. ниже |
| Третий | адрес в удалённом устройстве | адрес по протоколу обмена |
| Четвёртый | количество регистров или катушек | — |
| Пятый | локальный адрес в контроллере | — |
| Шестой | номер сокета | от K0 до K63 |
Коды функций задаются константами: K1 — чтение катушки, K2 — чтение дискретного входа, K3 — чтение регистра, K4 — чтение входного регистра, K5 — запись одной катушки, K6 — запись одного регистра, K15 — запись нескольких катушек, K16 — запись нескольких регистров.
Обязательное условие: у сокета, номер которого указан шестым операндом, порт целевого устройства должен быть равен 502. Если там любой другой порт, обмен завершится ошибкой указанного целевого порта, и связь не пойдёт, сколько ни правь адреса регистров.
Пример из руководства: инструкция с операндами K1, K16, K100, K20, D1000, K1 каждые 100 миллисекунд записывает двадцать регистров, начиная с D1000, в удалённое устройство станции 1 по адресам области регистров хранения со 100-го по 119-й через сокет номер 1.
Условием строки ставят флаг «подключено» соответствующего сокета и системный импульс нужного периода — так задаётся частота опроса.
Прикреплённая документация
Георгий Жуков
Ведущий инженер