Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Упражнение 2. Встраивание InfinityTrendsView компонента




Упражнение 2. Встраивание InfinityTrendsView компонента

    Встроим в мнемосхему графики при помощи InfinityTrendView компоненты.

9. Сохраните файл Фамилия12. xml под именем Фамилия13. xml.

10. Аналогично алармам добавьте на мнемосхему компонент InfinityTrendView.

11. Подробный список свойств и методов для данного компонента можно посмотреть в главе 7 руководства пользователя.

 

Упражнение 3. Работа со свойствами ActiveX компонента c помощью VBA

    В InfinityHMI существует возможность изменения файла конфигурации и фильтра для компоненты InfinityAlarmView при помощи VBA непосредственно в процессе работы мнемосхемы. Фильтр создается в модуле Infinity Alarms.

    Предполагается, что два или более файлов с фильтрами алармов уже существуют. Если файлы отсутствуют, необходимо запустить Infinity Alarms, создать несколько фильтров и сохранить их как Фамилия1. als, Фамилия2. als и т. д.

 

12. Откройте среду разработки InfinityHMI, сохраните файл как Фамилия14. xml.

13. Установите на экранную форму ActiveX компонент InfinityAlarmView. Для этого нажмите кнопку  на панели инструментов или выберите пункт OLE в меню Рисование и выберите прямоугольную область на экране. После этого появится диалог, как показано на рис. 7. 4.

Рис. 7. 4. Вставка ActiveX компонента

14. Выберите в нем элемент управления «InfinityAlarmView Control» и нажмите OK. После этого в выбранном Вами прямоугольнике появится элемент управления аналогично тому, как показано на рис. 7. 5.

Рис. 7. 5. Вид главного окна InfinityHMI со встроенным ActiveX компонентом

15. Выделив появившийся элемент управления, вызовите правым щелчок мыши контекстное меню и выберете в нем пункт «Объект InfinityAlarmView Control», затем «Properties». В результате появится окно «Свойства», как показано на рис. 7. 6. Файл фильтра и конфигурации можно не задавать. Также следует выключить опцию «Автоматическая активация».

Рис. 7. 6. Окно свойств компонента InfinityAlarmsView

16. Откройте Редактор Visual Basic либо нажав кнопку  на панели инструментов, либо выбрав пункт Редактор Visual Basic в меню Макросы.

17. Откройте окно просмотра кода модуля ThisDisplay, в котором описываются те действия, которые будут выполнены при переходе мнемосхемы в режим исполнения. Для этого необходимо дважды щелкнуть по значку ThisDisplay в Project Explorer (дерево проекта), либо, вызвав контекстное меню щелчком правой кнопки мыши по значку ThisDisplay в Project Explorer, выбрать пункт «View Code».

18. Теперь необходимо программно активировать InfinityAlarmView, как показано на рис. 7. 7.

Рис. 7. 7. Исходный текст активации ActiveX компонента

19. Создайте новый модуль в данном проекте. Для этого выберете в контекстном меню проекта пункт «Insert», затем «Module», либо пункт «Module» в меню «Insert». В новом модуле создайте процедуру, например, f1, для изменения свойства объекта InfinityAlarmView FilterFileALS, как показано на рис. 7. 8. В данной процедуре при четном или нулевом нажатии свойство FilterFileALS устанавливается в значение " C: \teach\Фамилия\Фамилия1. als" , иначе в значение " C: \teach\Фамилия\Фамилия2. als" .

Рис. 7. 8. Исходный текст процедуры изменения свойств объекта

20. Рассмотрим подробнее данную процедуру. Для корректного закрытия и открытия фильтра объекта InfinityAlarmView организована задержка. Для этого используется функция Sleep. Ее использование сводится к обращению к соответствующей функции из динамической библиотеки Kernel32. В качестве параметра передается целое число, обозначающее время задержки в миллисекундах. Вообще говоря, использование процедур типа Sleep в мнемосхемах не приветствуется (во всяком случае, не стоит делать длительные задержки) так как это может привести к тому, что какая либо другая логика в мнемосхеме также привязанная ко времени может не успеть отработать. Но в данном случае мы делаем задержку на одну секунду, поскольку мы точно знаем, что это не повлияет серьезно на диспетчерский контроль. Длительность задержки, которую нужно указать зависит от множества различных факторов и, в простейшем подбирается экспериментально.

21. Расположите на экранной форме среды разработки Infinity HMI динамический объект «Кнопка». Настройте самостоятельно цвет заливки объекта, назовите объект «Изменить фильтр». Добавьте динамику «Действие» и настройте ее как показано на рис. 7. 9. В результате при нажатии на кнопку будет выполняться процедура f1, описанная в модуле Module1.

Рис. 7. 9. Настройка вызова процедуры на нажатие кнопки

22. Для проверки корректности работы построенной Вами мнемосхемы запустите демо-проект «Общая схема РДП «Грачи». Затем в Вашей среде разработки Infinity HMI перейдите в режим исполнения. Осуществите какие-нибудь действия в демо-проекте, например, откройте/закройте задвижку, включите/отключите набор какого-либо резервуара. Убедитесь, что события отображаются в InfinityAlarmView на мнемосхеме, как показано на рис. 7. 10.

Стоит сохранять проект перед входом в режим исполнения!

Рис. 7. 10. Мнемосхема со встроенным компонентом InfinityAlarmView

23. Работа со свойством ConfigFileIni объекта InfinityAlarmView осуществляется аналогичным образом.

На этом лабораторная работа закончена

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...