Упражнение 2. Создание графических объектов при помощи VBA
Упражнение 2. Создание графических объектов при помощи VBA 31. Сохраните Ваш файл как Фамилия21. xml. 32. Удалите с Вашей формы видимые объекты LabSun, LabPlanet, LabOrbita и реализуйте функцию создания этих объектов и их динамик с помощью VBA. Для этого откройте Редактор Visual Basic и реализуйте в методе Create() создание объектов LabSun, LabPlanet и LabOrbita. Для создания визуального объекта LabSun опишите объект Sun типа GwxEllipse, который будет связан с визуальным объектом с помощью метода CreateEllipse, в качестве параметров которого указываются расположение объекта на экранной форме, ширину, высоту, наличие заполнения, цвет заполнения, цвет линии, ширину линии, тип линии, наличие тени, цвет тени, тип краев, видимость объекта и имя объекта. Данный метод может быть вызван только (! ) в режиме разработки, поэтому сначала необходимо остановить режим исполнения с помощью метода StopRuntime(), а после запустить режим исполнения с помощью команды StartRuntime(), как показано на рис. 8. 6. 33. Создайте еще два объекта типа GwxEllipse, назовите их Orbita и Planet. Аналогичным образом создайте визуальные объекты LabOrbita и LabPlanet с помощью метода CreateEllipse. Для объекта Orbita укажите свойство IsFilled как False, т. е. без заполнения, как показано на рис. 8. 7. 34. Расположите на экранной форме среды разработки Infinity HMI динамический объект «Кнопка». Настройте самостоятельно цвет заливки объекта, назовите объект «Создать». Добавьте динамику «Действие» и настройте ее так, что бы при нажатии на эту кнопку вызывалась процедура Create из модуля Module1. 35. Переведите Вашу мнемосхему в режим исполнения и убедитесь, что объекты действительно создаются при нажатии на кнопку. Когда Вы перейдете в режим разработки эти объекты останутся (! ) и их нужно будет удалить вручную.
Рис. 8. 7. Исходный текст процедуры создания объектов при помощи VBA 36. При каждом запуске Вашей мнемосхемы будут создаваться объекты, описанные в методе Create(). Осуществите автоматическое удаление всех Ваших объектов после выполнения мнемосхемы. Для этого в модуле ThisDisplay создайте метод GwxDisplay_PostRuntimeStop(), в котором удалите объекты с помощью методов DeleteDynamic и DeleteObject. 37. Проверьте корректность работы Вашей мнемосхемы. 38. Создайте динамику «Мигание» для объекта Sun с помощью метода CreateFlashDynamic, в качестве параметров которого укажите имя объекта, к которому привязывается данная динамика, имя динамики, скрывать объект или нет, мигание при установлении источника в значение false или true, наличие альтернативного состояния, изменение цвета заполнения, изменение цвета линии, изменение цвета тени, альтернативный цвет заполнения, линии и тени. Назовите объект динамика «SunFlash». 39. Данный метод используется также только (! ) в режиме разработки. 40. Для работы динамики необходимо задать источник. Для этого в свойстве объекта SanFlash dataSource укажите имитационную переменную ~~infinity. sim. ramp. long~~. 41. Проверьте корректность работы Вашей мнемосхемы. Если она работает корректно, создайте динамику «Вращение» для объекта Planet с помощью функции CreateRotationDynamic, как показано на рис. 8. 8. 42. Результат выполнения Вашей мнемосхемы должен быть аналогичен результату в упражнении 1, т. е. в режиме исполнения Ваша мнемосхема должна при нажатии кнопки «Создать» создавать модель вращения планеты по солнечной орбите. Упражнение 3. Создание динамики при помощи скриптов VBA 43. Сохраните построенную Вами мнемосхему как Фамилия22. xml.
Рис. 8. 8. Создание динамики в VBA скрипте 44. В конфигураторе сервера ввода/вывода Infinity создайте сигнал Teach. Inputs. IntRamp20 с амплитудой от 0 до 20 и периодом 20c. 45. Для считывания значения сигнала используется функция GetOPCValue из библиотеки OPCDualSource, как показано на рис. 8. 9.
Рис. 8. 9. Декларация для вызова внешней процедуры из VBA скрипта 46. Процедура перемещения объекта и изменения угла остаются без изменения, за исключением того, что для изменения угла поворота f используется значение Вашего сигнала (рис. 8. 10). 47. Результат должен быть аналогичен результату предыдущего упражнения, т. е. в режиме исполнения Ваша мнемосхема должна при нажатии кнопки «Создать» создавать модель вращения планеты по солнечной орбите.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|