Сообщения о смене пользователя

SCADA-система / Человеко-машинный интерфейс
Ответить
Linn1987
Профан
Сообщения: 1
Зарегистрирован: 23 ноя 2016, 07:58

Сообщения о смене пользователя

Сообщение Linn1987 »

Добрый день! Прошу помощи вот в таком вопросе. Есть несколько функций в проекте доступных для редактирования только определеными пользователями (операторы процесса), каждый изменяет свои параметры под своим паролем. Ведется текстовый список команд, Клапан 1 открыт, Клапан 2 закрыт, насос 1 запущен и т.д,
Вопрос: Как мне привязать конкретного пользователя к этим текстовым сообщениям. Ну например чтобы во время того как пользователь ввел свой логин-пароль, в окне текстовых сообщений отобразилось что то типа "Оператор Иванов подключен" И дальнейшие действия сделаны от его имени, пока не будет следующая надпись "Оператор Петров подключен" и т.д

toshio
Специалист
Сообщения: 109
Зарегистрирован: 23 сен 2015, 11:11

Re: Сообщения о смене пользователя

Сообщение toshio »

Ведется текстовый список команд, Клапан 1 открыт, Клапан 2 закрыт, насос 1 запущен и т.д,
Каким способом ведётся? Если стандартным логгированием, то аналогично в логи можно запихать и текущего пользователя, точнее факт регистрации пользователя в системе.

Я пошёл следующим путём:

1.Использовал стандартное окно авторизации пользователей от WinCC Advanced

2.Написал скрипт в одну строчку на Visual Basic

Код: Выделить всё

Sub Change_user ()
   GetUserName ("User_current")
End Sub
где GetUserName () - существующая функция WinCC,
"User_current" - тэг, в который функция положит имя текущего пользователя.

3. Вызываю этот скрипт из планировщика Sheduled tasks по событию User change (есть там такое событие в выпадающем списке Trigger).

Всё, при смене пользователя в собственноручно созданном тэге "User_current" окажется имя пользователя. А тэг уже можно логгировать или вывести на экран на своё усмотрение.
Если прям надо, чтобы в логах было написано, мол, такой-то пользователь в такое-то время нажал такую-то кнопку, то придётся писать скрипт, который создаёт текстовый файл и формирует в нём соответствующую запись. Вызов скрипта придётся прописывать в событие каждой кнопки и каждого поля ввода. Я делал и таким образом, но опыт показал, что это лишнее, для разборов вполне хватает стандартных логов.

Ответить