Страница 1 из 2

Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 11:37
TulaevSN
Всем добрый день.
Возник вопрос смены панелей на производстве. Основным критерием является возможность удалённого изменения пароля из контроллера. Насколько я понимаю такая возможность есть в панелях Weintek. Сейчас пытаюсь в этом разобраться но идет тяжело.
Основное что я пока понял - пароли можно изменить с помощью внутренних регистров LW9500 по 9522, бит записи изменения пароля - LB9061. Реализовать всё это можно с помощью макроса. на этом всё.:)
Может кто- то уже реализовывал такое и может или помочь или поделиться готовым макросом. Буду премного благодарен

Re: Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 15:27
pkl58
Вы панель слейвом будете использовать?

Re: Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 15:33
TulaevSN
На текущий момент скорее всего она будет мастером

Re: Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 15:41
dimensy
А как вы видите процедуру изменение пароля через ПЛК?

Re: Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 16:03
TulaevSN
Ну я предполагал использовать панель сMT 2058 - и в ней нельзя использовать регистры 9500 - 9522 (невнимательно прочитал документацию).

Вообще я думал так - в контроллере будет тэг с паролем и тэг на смену пароля, панель будет опрашивать этот тэг, в случае изменения пароля панель считает команду на смену пароля. Остался лишь 2 вопроса - можно ли это реализовать в панели? И если да - то как?
Если это можно сделать, в случае если панель перезагрузится - пароль в панели вернётся к предустановленному при создании или останется последним принятым из контроллера?

Re: Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 16:16
dimensy
Только один пользователь?
Как вы в ПЛК будете пароль заводить?
ПЛК может по сети данные типа string передать?

Re: Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 17:06
dimensy
Изменение пароля макросом (тип адреса управления паролем в настройках нужно сменить с PLW на LW)
Код: Выделить всё
macro_command main()
unsigned short User_id = 1 //Пользователь, для которого мы будем менять пароль
unsigned short Pass[8] //Сюда будем считывать пароль (тип string)
unsigned short Com_cng = 12 //Команда смены пароля
unsigned short Com_res //Результат выполнения команды

GetData(Pass[0], "Local HMI", LW, 0, 8) //Считываем новый пароль
SetData(User_id, "Local HMI", "Индекс пользователя UAC", 1) //Пишем индекс пользователя
SetData(Pass[0], "Local HMI", "Пароль UAC", 8) //Пишем пароль
SetData(Com_cng, "Local HMI", "Команда UAC", 1) //Отправляем команду на смену пароля
GetData(Com_res, "Local HMI", "Результат выполнения команды UAC", 1) //Это результат выполнения команды для анализа


end macro_command

Re: Смена паролей из PLC

СообщениеДобавлено: 17 июл 2024, 17:28
TulaevSN
dimensy писал(а):Только один пользователь?
Как вы в ПЛК будете пароль заводить?
ПЛК может по сети данные типа string передать?


1 вопрос - думаю да, будет только 1 пользователь.
2 вопрос - контроллер Regul CU 0021 получает/передает данные на верхний уровень посредством OPC UA, так что либо так либо с помощью удаленного подключения непосредственно к контроллеру.
3 вопрос - если связать контроллер и панель по OPC UA проблем нет, но планируется использовать RS232/485Б тут я затрудняюсь ответить.


Спасибо за пример, я попробую

Re: Смена паролей из PLC

СообщениеДобавлено: 19 июл 2024, 15:25
TulaevSN
dimensy писал(а):Изменение пароля макросом (тип адреса управления паролем в настройках нужно сменить с PLW на LW)
Код: Выделить всё
macro_command main()
unsigned short User_id = 1 //Пользователь, для которого мы будем менять пароль
unsigned short Pass[8] //Сюда будем считывать пароль (тип string)
unsigned short Com_cng = 12 //Команда смены пароля
unsigned short Com_res //Результат выполнения команды

GetData(Pass[0], "Local HMI", LW, 0, 8) //Считываем новый пароль
SetData(User_id, "Local HMI", "Индекс пользователя UAC", 1) //Пишем индекс пользователя
SetData(Pass[0], "Local HMI", "Пароль UAC", 8) //Пишем пароль
SetData(Com_cng, "Local HMI", "Команда UAC", 1) //Отправляем команду на смену пароля
GetData(Com_res, "Local HMI", "Результат выполнения команды UAC", 1) //Это результат выполнения команды для анализа


end macro_command

Не получается у меня сменить пароль с помощью этого макроса, можно как-то по шагам расписать что мне нужно сделать?

Re: Смена паролей из PLC

СообщениеДобавлено: 19 июл 2024, 15:30
pkl58
Так а комментарии в макросе это не описание?
Сделайте тестовый экран. Выведите на него переменные, которые вы обрабатываете в макросе и смотрите результат.Можно макрос тестировать по шагам. Уберите ( закомментируйте строки и проверяйте как работает макрос. Заодно и опыт приобретете.