Где посмотреть текущий сетевой адрес PMP20 из программы?
Действующие сетевые настройки контроллер держит в шести системных регистрах. Каждый адрес разложен на два регистра по два байта, значения читаются в шестнадцатеричном виде.
| Регистр | Что содержит |
|---|---|
| SD1905 | первые два байта адреса контроллера |
| SD1906 | последние два байта адреса контроллера |
| SD1907 | первые два байта маски подсети |
| SD1908 | последние два байта маски подсети |
| SD1909 | первые два байта шлюза |
| SD1910 | последние два байта шлюза |
Как читать значение. Адрес 192.168.6.6 в шестнадцатеричном виде даёт байты C0, A8, 06, 06: в первом регистре окажется C0A8, во втором 0606. Чтобы вывести адрес на панель оператора в привычном виде, байты разбирают побайтно и переводят в десятичные числа.
Зачем это нужно на объекте. Первое применение — вывод адреса на экран панели: наладчик видит, по какому адресу отвечает контроллер, не подключая ноутбук и не открывая среду программирования. Второе — самопроверка: программа сравнивает действующий адрес с ожидаемым и поднимает предупреждение, если контроллер после замены приехал с чужими настройками.
Отдельно замечу, что регистры отражают именно действующие настройки, а не то, что записано в проекте. Если адрес был изменён и контроллер ещё не перезапускали по питанию, в них останется старое значение — это удобный способ проверить, применились настройки или нет.
Записывать в эти регистры адрес напрямую не следует: для смены сетевых настроек есть инструкции работы с параметрами порта связи.
Прикреплённая документация
Георгий Жуков
Ведущий инженер