PDA

Просмотр полной версии : Отобразить логин текущего пользователя на видеокадре ?



Денис Сухарев
25.01.2023, 12:00
Добрый день коллеги.
Прошу помочь в решении одной простенькой задачки, решения которой я не смог найти в справке по MasterSCADA 4D.

Исходные данные:
Для входа в систему в разделе "Безопасность" создано несколько пользователей с различными ролями.
При запуске проекта в рантайме, система запрашивает логин и пароль, и после корректного их ввода осуществляется вход в систему.
Здесь всё нормально, всё работает.

Вопрос:
Как выгрузить в строковый (или любой) параметр программы, для отображения на видеокадре, логин текущего пользователя и его роль?
Заранее спасибо.

Денис Сухарев
25.01.2023, 12:52
Всё таки есть в справке информация - Получение параметров текущего пользователя.
Буду пробовать реализовать.

Для того, чтобы в режиме исполнения получать параметры текущего пользователя, необходимо добавить в проект ФБ GET_CURRENT_USERNAME .

Важно! Данный функциональный блок должен работать в задаче экрана. Если открыто несколько клиентов, то имена пользователей могут отличаться.

Параметры функционального блока нужно разместить в окне клиента.

Важно! В интерфейсе среды разработки, подключенной к среде исполнения, значения параметров, исполняемых в задаче экрана, не отображаются, т.к. в один момент времени может быть подключено множество клиентов, и значения параметров везде будут разными

Вова13
25.01.2023, 12:54
Вам нужно получить текущее имя пользователя?
GET_CURRENT_USERNAME65444
65455

Денис Сухарев
25.01.2023, 15:26
Спасибо. Блок нашёл.
Теперь компилятор ругается что блок находится в неподходящей задаче.
Не могу разобраться в каком месте назначить блок в задачу экрана.
Как эту задачу экрана добавить и где её найти?

Снимок ошибки:
65461

Денис Сухарев
25.01.2023, 16:32
У меня был узел типа "Контроллер" и при добавлении блока в задачу этого узла, компилятор ругался.
Добавил узел типа "АРМ" и компилятор перестал ругаться.

Но не работает когда в разных узлах размещены блоки.
Программа с визуализацией в одном, а функциональный блок в другом. :confused:
В примере всё на одном ПЛК работает.

Денис Сухарев
25.01.2023, 18:24
Сделал проект пустой с нуля.
Всё по инструкции.
Всё равно ошибка лезет. :mad:

65469

Вова13
25.01.2023, 22:57
В свойствах ФБ выбранть нужно... Выполнять в задаче экрана. Так вроде бы65477 место исполнения. Картинка для примера, способ исполнения по моему периодически(по умолчанию).

Денис Сухарев
26.01.2023, 10:01
В свойствах ФБ выбранть нужно... Выполнять в задаче экрана. Так вроде бы65477 место исполнения. Картинка для примера, способ исполнения по моему периодически(по умолчанию).

Спасибо. Всё заработало! Вопрос решён!
Прилагаю снимок рабочих настроек.
65485

П.С. - Вчера искал этот параметр и в упор не видел, а сегодня сразу нашёл. Полтергейст какой то :rolleyes: