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

Передача уровня доступа User в ПЛК

СообщениеДобавлено: 20 июл 2022, 15:43
Andrei
Добрый день.
Как в ПЛК установить переменную (например PLC_var1), если хотя бы один из клиентов имеет уровень доступа В ?
Одновременно может быть несколько клиентов: один - сама панель (cMT 3162X), и несколько по cMT Viewer.
Сейчас передаю через макрос системный регистр (PLC_var1= LW 9222), но так мы передаем только уровень доступа пользователя на панели.
Уровень доступа клиента по cMT Viewer находится в системном регистре PLW 9222, но PLW в макросе не работают. Если бы даже можно было
работать с PLW в макросе, то что было бы, если один из клиентов cMT Viewer имел уровень В, а другой клиент cMT Viewer - уровень А и на панели уровень А ?

Re: Передача уровня доступа User в ПЛК

СообщениеДобавлено: 20 июл 2022, 16:21
8bit
Можно создать пользовательскую адресную метку для PLW-9222, в объекте Передача данных (Окно) создать вариант передачи с панели в ПЛК (сенсор или по триггеру) и положить объект в окно типа №4 Common window или в ваше персональное ....

Re: Передача уровня доступа User в ПЛК

СообщениеДобавлено: 20 июл 2022, 17:14
Andrei
Т.к. надо контролировать не только вход в уровень В, но и выход из В, то если одновременно будет два клиента с уровнем В, а
потом один из них выйдет из уровня В (по команде или по времени), то произойдет сброс этой пользовательской переменной.
Хотя один из клиентов остался с уровнем В.

Или я не правильно понял ваше предложение.

Надо каким-то образом постоянно контролировать LW/PLW уровня доступа всех активных клиентов.

Re: Передача уровня доступа User в ПЛК

СообщениеДобавлено: 20 июл 2022, 17:47
8bit
это алгоритмический вопрос....

У каждого cMT Viewer клиента есть PLW-9222 с его привилегиями.
Каждый cMT Viewer клиент может сообщить кому-то содержимое своего PLW-9222 регистра.

Как вы хотите/можете идентифицировать cMT Viewer клиентов в ПЛК ?

P.S.
Зачем вам в ПЛК знать о привилегиях пользователя в панели ?

Re: Передача уровня доступа User в ПЛК

СообщениеДобавлено: 20 июл 2022, 22:01
Andrei
8bit писал(а):У каждого cMT Viewer клиента есть PLW-9222 с его привилегиями.
Каждый cMT Viewer клиент может сообщить кому-то содержимое своего PLW-9222 регистра.

Так в этом и вопрос. Как несколько cMT Viewer клиентов могут передать свои (разные) значение одной переменой (LW или PLC_var).
Если бы можно было сделать так что клиент 1 PLW-9222= LW1, клиент 2 PLW-9222= LW2, то проблем бы не было.

8bit писал(а):Как вы хотите/можете идентифицировать cMT Viewer клиентов в ПЛК ?

Мне не надо в ПЛК идентификация клиентов, этим должна заниматься панель и когда хотя бы у одного пользователя уровень доступа = В,
передать об этом в ПЛК.

8bit писал(а):P.S.
Зачем вам в ПЛК знать о привилегиях пользователя в панели ?

В ПЛК есть переменные, в которых пользователь, имея уровень В, может устанавливать значения. Если пользователь вышел из уровня В и
при этом не сбросил значения в 0 (или если обрыв связи с панелью), то эти переменные сбрасываются в 0 в ПЛК.