PDA

Просмотр полной версии : СП270. Меняем IP адрес ПЛК.



petera
17.07.2014, 16:39
Ко мне обратились с вопросом:-"Как с панели поменять IP адрес ПЛК?".

IP адрес, маска подсети, и адрес шлюза хранятся в файле local_addres.dat в символьном виде, например у меня такие настройки

EMAC=6A:77:00:22:01:98
IP=C0:A8:01:41
GATE=C0:A8:01:01
MASK=FF:FF:FF:00
значения в файле для IP, маски и адрес шлюза представлены шестнадцатеричными значениями отдельных байт переменных DWord.
Благодаря OSCAT имеются решения по преобразованию символьного представления IP в цифровое ('C0:A8:01:41'-->16#C0A80141) и обратное преобразование 16#C0A80141-->'C0:A8:01:41'
Чтения, модификации содержимого и записи новых значений в файл local_addres.dat проблем не вызывают.
Зато возникает вопрос как обмениваться информацией с панелью?
Ситуация когда панель мастер, ПЛК слейв.
Можно было бы просто выделить по четыре регистра в конфигурации ModBus для отдельных байт IP, GATE, MASK. В ПЛК собирать/разбирать переменные DWord на отдельные байты, а на экране панели создавать конструкции из четырех отдельных дисплеев или цифровых вводов для отображения или ввода значений IP, GATE, MASK. И того 12 регистров Word в конфигурации, если их использовать и для чтения и для записи или 24 регистра, если использовать раздельные регистры для записи в панель и для чтения из панели. Плюс ко всему нужно по четыре дисплея или по четыре цифровых вводов на экране для IP, GATE и MASK.
По этому было принято решение передавать в панель и читать из нее значения IP, GATE и MASK в виде DWord с помощью элементов 4byte.
http://www.owen.ru/forum/attachment.php?attachmentid=13665&stc=1
И того для панели понадобятся три регистра DWord.
Осталось решить, как средствами панели разобрать DWord на отдельные байты и как собрать из четырех байт один DWord. Попытка использовать цепочки операции целочисленного умножения и деления на 256, 65536, 16777216 вместо отсутствующих операций сдвига влево и вправо успехом не увенчалась. Этот фокус работает только при сохранении результатов промежуточных вычислений во вспомогательных регистрах PSW.
Использовать промежуточные регистры панели не хотелось, их всегда нужно держать "в уме", чтобы случайно не записать в них что-либо на одном из экранов.
ГМ для Цифровых дисплеев, которые предназначены для отображения Word и Dword по байтно получились сразу. А вот с ГМ по байтного Цифрового ввода пришлось поломать голову.
Видео инструкция как использовать эти ГМ

https://www.youtube.com/watch?v=-JSk8fmuMYw
здесь http://youtu.be/-JSk8fmuMYw
Предлагаю результаты моих трудов. Панель мастер, ПЛК слейв.
http://www.owen.ru/forum/attachment.php?attachmentid=13666&stc=1

Видео

https://www.youtube.com/watch?v=gl4OZ9ZTVLs
здесь http://youtu.be/gl4OZ9ZTVLs
В вложении архив с проектами для панели и для ПЛК160, там же и видео.
Немного о программе ПЛК. Для работы с файлом local_addres.dat предназначена отдельная программа File_IP(PRG). Сама программа и все функции необходимые для ее работы находятся в папке FILE_ADR_IP дерева POU.
http://www.owen.ru/forum/attachment.php?attachmentid=13667&stc=1
Ну и не забываем для панели включать галку "Поменять Word"
http://www.owen.ru/forum/attachment.php?attachmentid=13668&stc=1

Amko
17.07.2014, 19:22
Клева! :) Спасибо за такую возможность!