5.4.3.5. СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ОКНА

 
Чтобы создать кастомный фейсплейт на основе базового окна для заданного алгоритма, выполните следующие действия:
 
1. В проекте Astra.HMI вызовите контекстное меню из вкладки «Экранные формы» и выполните команду "Создать..."  (Ctrl+T).
 
 
2. В открывшемся окне, в выпадающем списке «Тип элемента» выберите "Тип".
 
3. Выберите экранную форму Базовое окно и нажмите кнопку "Создать".
 
 
4. В области «Экранные формы» будет создана форма на основе Базовое окно.
 
5. Смените название у созданной формы, например, UDFB_AI1_PassportWindow.
 
 
6. Откройте редактор формы и создайте визуальное представление окна паспорта. В качестве примера, будем использовать стандартный паспорт функционального блока аналогового датчика AI1. При помощи визуальных элементов сформируем следующее отображение паспорта аналогового датчика.
 
7. В свойствах формы можно изменять высоту и ширину формы, задавать цвет заливки окна и формировать заголовок. 
 
 
После создания паспорта мнемосимвола, можно переназначить команду OpenWorkWindow открытия стандартного фейсплейта на кастомный.
8. Так как созданный паспорт предназначен для алгоритма аналогового датчика, создадим пользовательский фейсплейт на основе базового окна. Для этого в проекте Astra.HMI вызовите контекстное меню из вкладки «Типы» и выполните команду "Создать..."  (Ctrl+T).
 
 
9. В открывшемся окне в выпадающем списке «Тип элемента» выберите "Тип".
 
10. Выберите экранную форму Базовое окно и нажмите кнопку "Создать".
 
11. В области «Экранные формы»  будет создана форма на основе Базовое окно.
 
 
12. Смените название у созданной формы, например, UDFB_AI1_WorkWindow.
 
 
13. Откройте редактор формы и создайте визуальное представление рабочего окна. В качестве примера, несколько изменим компоновку рабочего окна аналогового датчика AI1. При помощи визуальных элементов сформируем следующее отображение рабочего окна аналогового датчика.
 
14. Перейдите в окно паспорта UDFB_AI1_PassportWindow выделите команду OpenWorkWindow и перейдите на вкладку "События".
 
15. Раскройте событие Invoked и выберите из выпадающего списка форму кастомного фейсплейта аналогового датчика для открытия во фрейме.
 
16. Раскройте свойства обработчика и заполните свойства как на скриншоте:
 
 
17. Так как созданный фейсплейт предназначен для алгоритма аналогового датчика, создадим новый тип на основе аналогового датчика. Для этого в проекте Astra.HMI вызовите контекстное меню из вкладки «Типы» и выполните команду "Создать..."  (Ctrl+T).
 
 
18. В открывшемся окне в выпадающем списке «Тип элемента» выберите "Тип".
 
 
19. Выберите тип "FB_AI1. Аналоговый вход" и нажмите на кнопку «Создать».
 
 
20. В области «Типы»  будет создан объект на основе аналогового датчика.
 
21. Задайте название пользовательскому типу, например UDFB_AI1.
 
 
22. Откройте редактор типа и создайте команду для открытия пользовательского окна паспорта. Вызовите контекстное меню кликнув правой кнопкой мыши по датчику в структуре объектов и выберите команду "Создать".
 
23. В мастере создания элементов выберите из вкладки "Встроенные" тип "Команда" и нажмите кнопку "Создать". 
 
 
24. В структуре объектов будет добавлена команда. Задайте ей новое имя, например, UserOpenPassportWindow.
 
25. Перейдите на вкладку "События" и добавьте обработчик для события Invoked.
 
 
26. Выберите из выпадающего списка тип обработчика "Открыть в новом окне".
 
27. В выпадающем списке "Форма по идентификатору выберите кастомный фейсплейт UDFB_AI1_PassportWindow.
 
28. Раскройте свойства обработчика нажав на серую стрелку и заполните свойства также, как на скриншоте:
 
29. Выделите тип UDFB_AI1 в структуре объекта и перейдите на вкладку Свойства.
 
30. Кликните правой кнопкой мыши по значению свойства "Ссылка на команду открытия Паспорта" и выберите команду "Сослаться".
 
31. Впишите название созданной команды UserOpenPassportWindow  через обращение here и нажмите клавишу Enter.
 
32. Теперь, при вызове окна Паспорта будет вызываться ранее созданный кастомный Фейсплейт.
 
 
Таким образом, можно создавать собственные пользовательские окна на основе базового окна из библиотеки.
 
Пример созданного кастомного фейсплейта можно посмотреть в демо-проекте.