Как задать IP-адрес PMP20 из программы контроллера?
Сетевые настройки задаются той же командой CFGCW, что и параметры последовательного порта, только блок регистров расшифровывается иначе. В регистр HD0 записывается тип сети — значение 4 соответствует Modbus TCP, после чего остальные регистры трактуются как сетевые.
Назначение блока при работе по Ethernet:
- HD1 и HD2 — IP-адрес контроллера: в HD1 старшие два байта, в HD2 младшие.
- HD5 и HD6 — маска подсети, разложенная так же.
- HD7 и HD8 — адрес шлюза.
Именно поэтому блок настроек у PMP20 занимает девять регистров, а не восемь: девятый нужен только сетевому режиму.
Практика записи. Адрес вида 192.168.6.6 удобно собирать шестнадцатеричными константами: каждый октет — один байт, два октета — одно слово. Проверить результат можно чтением командой CFGCR в другой блок регистров и сравнением с записанным.
Когда это нужно. Первый случай — серийные машины: адрес контроллера задаётся с панели оператора наладчиком, без подключения ноутбука и среды программирования. Второй — резервирование: программа переключает контроллер в другую подсеть по внешнему сигналу.
Чего делать не стоит: менять адрес по условию, которое замыкается каждый цикл. Настройки лежат во flash-памяти, а её ресурс ограничен примерно миллионом записей — запись должна выполняться по нарастающему фронту и только при фактическом изменении. И помните, что связь со средой программирования по Ethernet после смены адреса придётся настраивать заново.
Прикреплённая документация
Георгий Жуков
Ведущий инженер