Какой сетевой порт и какие функции поддерживает PD310EN1?
Сервер платы слушает порт 502 — это стандартный порт протокола, и менять его нельзя: обмен с другого порта просто не установится. Клиентскую часть в контроллере или в отладочной программе настраивают на тот же номер.
Плата поддерживает четыре кода функций:
- 0x03 — чтение регистров. За один запрос читается не более 12 регистров подряд.
- 0x06 — запись одного регистра.
- 0x10 — запись нескольких регистров, тоже не более 12 за запрос.
- 0x17 — чтение и запись нескольких регистров в одной транзакции.
Кадр отличается от привычного последовательного обмена: в начале идёт заголовок из семи байт, а контрольной суммы в конце нет — целостность обеспечивает сам транспорт. Заголовок состоит из идентификатора транзакции (2 байта), идентификатора протокола (2 байта, всегда нули), поля длины (2 байта) и идентификатора устройства (1 байт). Идентификатор транзакции задаёт мастер произвольно, ведомый повторяет его в ответе — по нему сопоставляют запрос и ответ, если они приходят не по порядку.
Адрес регистра — это шестнадцатеричный адрес параметра привода. Например, запрос на запись 30,00 Гц выглядит как 00 01 00 00 00 06 01 06 F0 09 0B B8, где 0x0BB8 — это 3000, то есть 30,00 Гц в сотых долях.
Ограничение в 12 регистров на транзакцию стоит учитывать при проектировании опроса: длинную карту параметров придётся разбивать на несколько запросов.
Прикреплённая документация
Влад Ватагин
Ведущий инженер