Методические указания по заданию. 1. Создайте в окне «alarm» объект типа RadioButtomGroup (кнопка Wizards, раздел Windows Controls) с помощью соответствующего мастера
1. Создайте в окне «alarm» объект типа RadioButtomGroup (кнопка Wizards, раздел Windows Controls) с помощью соответствующего мастера. Нажмите дважды на данный объект, появится окно RadioButtom Group Control. При этом InTouch сам присвоит этому объекту имя (поле Control Name).Необходимо ввести в поле Tagname имя какого-либо тэга типа Memory Integer, в который будет выводиться номер соответствующего переключателя из списка (если такой тэг не существует, то после нажатия ОК последует запрос на его ввод), и сконфигурировать объект, как показано на рис.76.
Рис.76. Конфигурация переключателя RadioButtomGroup.
Затем сконфигурируем объект исторических алармов, в поле Alarm Group вместо значения $System укажем свою переменную «ChangeGroup», типа Group Var, которой будем присваивать названия групп «$System», «Group_1», «Group_2», в зависимости от значения переключателя RadioButtom.
Для присваивания названий групп в зависимости от значения переключателей RadioButtom, надо написать скрипт на изменение переменной CounterRadio_1.
Сценарий изменения данных (Data Change). Tagname – CounterRadio_1 |
IF CounterRadio_1 == 1 THEN ChangeGroup = $System; ENDIF; IF CounterRadio_1 == 2 THEN ChangeGroup = Group_1; ENDIF; IF CounterRadio_1 == 3 THEN ChangeGroup = Group_2; ENDIF; |
Сценарий уровня приложения (Application). Тип – On Startup |
{При старте присваиваем вывода алармов группы $System} ChangeGroup = $System; |
Для сортировки алармов по диапазону приоритетов, создайте аналогичным способом, используя объект типа RadioButtomGroup
2. Создайте в рабочем окне «registration», объект типа ListBox (здесь и далее в учебном приложении предполагается использование только данного типа элементов Windows Controls, так как с элементами типа ComboBox можно работать по аналогичной схеме) с помощью соответствующего мастера списка (кнопка Wizards, раздел Windows Controls). Нажмите дважды на данный объект. Появится окно ListBox Control. При этом InTouch сам присвоит этому объекту имя (поле Control Name). Вам следует ввести в поле Tagname имя какого-либо тэга типа Memory Message, в который будет выводиться информация из списка (если такой тэг не существует, то после нажатия ОК последует запрос на его ввод). Далее в группе свойств отметьте Sort Items для автоматической сортировки по алфавиту выводимой информации.
В заданной папке создайте файл SPS.TXT следующего вида:
LISTBOX,4
Петров,0
Иванов,0
Сидоров,0
Комаров,0
Первая строка - служебная. В ней указывается тип объекта, в который может загружаться данный список (не следует путать тип с именем), далее через запятую указывается число строк в списке. Остальные строки должны заканчиваться комбинацией служебных символов «,0». Для загрузки списка в созданный объект используйте функцию wcLoadList. В качестве аргументов этой функции используйте имя созданного объекта (то, что записано в поле Control Name) и полный путь к файлу SPS.TXT.
Сценарий окна Registration. Тип – On Show |
wcLoadList ( "ListBox_1", "sps.txt" ); |
3. Для автоматического занесения новых имен в список воспользуйтесь функцией wcAddltem, далее используйте функцию wcSaveList для обновления файла SPS.TXT.
Кнопочные сценарии. Тип – On Key Down |
Кнопка «Удалить из списка» |
wcDeleteSelection ( "ListBox_1" ); wcSaveList ( "ListBox_1", "sps.txt" ); |
4. Для выполнения данного пункта задания используйте функции wcDeleteSelection и wcSaveList.
Кнопочные сценарии. Тип – On Key Down |
Кнопка «Добавить новое имя» |
IF NewName<>"" THEN wcAddItem ( "ListBox_1", NewName ); wcSaveList ( "ListBox_1", "sps.txt" ); NewName=""; ENDIF; |
Задание 9. Средства безопасности.
Цель работы:
Использование средств безопасности InTouch (внутренние тэги безопасности; диалоговые окна: «вход в систему», «настройка пользователей», «смена паролей»). Организация парольной защиты объектов InTouch.
Теоретические положения
Концепция безопасности в InTouch.
Применение функций безопасности к приложению не является обязательным. Однако включение средств обеспечения безопасности приложения позволяет контролировать выполнение оператором определенных функций путем привязки к этим функциям внутренних тэгов. Кроме того, если приложение снабжено функциями безопасности, то можно привязать имя оператора ко всем алармам, происходящим во время работы оператора с системой. Действие функций безопасности основано на концепции входа оператора в приложение путем ввода своего имени и пароля. Администратор определяет имя пользователя, пароль и уровень доступа для каждого оператора (между средствами безопасности ОС Microsoft и InTouch нет никакой связи). Оператору может быть дано право самостоятельно изменять свой пароль, но, естественно, не свой уровень доступа. При создании нового приложения по умолчанию создается имя пользователя Administrator с паролем Wonderware и уровнем доступа 9999 (доступ ко всем командам безопасности). При добавлении нового имени пользователя в список безопасности и после перезапуска Window-Viewer заданное по умолчанию имя пользователя автоматически меняется на None с уровнем доступа 0 (запрет доступа к командам безопасности). Поэтому необходимо настроить имя пользователя для администратора системы с уровнем доступа равным или больше 9000, чтобы затем иметь доступ к списку пользователей. Как только вы настроили имена пользователей для приложения, необходимо изменить стандартный пароль пользователя Administrator, так как обычно он становится известным большинству пользователей системы (имена Administrator, None зарезервированы в системе, поэтому для них можно менять только пароли). После входа оператора в приложение доступ к любой защищенной функции будет ему предоставляться путем сравнения уровня доступа оператора со значением, определенным для внутреннего тэга безопасности, связанного с данной функцией.
Организация доступа к средствам обеспечения безопасности.
Доступ к средствам обеспечения безопасности можно получить, используя стандартные окна WV с помощью меню Special -Security. Однако, на практике, в среде исполнения оператору часто нет доступа к меню Special. Поэтому, как правило, разработчиком приложения создается специальное окно идентификации пользователя, в котором оператор задает значения системных тэгов $OperatorEntered и $PasswordEntered. Кроме того, в этом окне можно ввести кнопки смены пароля и настройки пользователей. При нажатии этих кнопок устанавливаются в единицы значения тэгов $ChangePassword и $ConfigureUsers (значение данного тэга менять можно только уполномоченному пользователю). В целях предотвращения несанкционированного доступа к системе во время отсутствия оператора можно использовать системный тэг $InactivityTimeout. Этот тэг принимает значение «истина» по истечении срока, заданного в конфигурации WV. Когда тэг $InactivityTimeout принимает значение «истина», система приравнивает имя работающего пользователя к резервному имени «None» и выставляет тэг безопасности $AccessLevel на 0. Если оператор нажмет кнопку мыши, клавишу клавиатуры или коснется сенсорного экрана до истечения заданного времени ожидания, выход из системы не произойдет.
Содержание задания
1. Создать окно, в котором оператор должен ввести имя и пароль. Ввод имени оператора осуществить с помощью активации имени в списке (рис.75) или непосредственно через поле ввода. После скрытного ввода личного пароля на экране должно появиться соответствующее значение уровня доступа для данного пользователя (рис.75).
2. Написать сценарий, по которому при неверном задании пароля автоматически устанавливается имя пользователя None с уровнем доступа - 0.
3. Организовать ввод имен операторов из имеющегося списка.
3. Ввести кнопку «Изменить личный пароль», с помощью которой оператор может заменить свой пароль (без изменения имени пользователя и уровня доступа), а также кнопку «Конфигурирование пользователей», которая позволяет пользователям с высоким уровнем доступа задавать имена, пароли и уровни доступа в системе.