Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк»




НазваниеЛабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк»
страница14/15
Дата30.11.2012
Размер0.88 Mb.
ТипЛабораторная работа
1   ...   7   8   9   10   11   12   13   14   15

Лабораторная работа 5.7.Организация доступа к объектам мнемосхемы


В этой лабораторной работе Вы можете познакомиться с тем, как можно из скриптов VBA обращаться к объектам, расположенным на мнемосхеме. Для красочности работы заставим некоторый объект на мнемосхеме двигаться по сложной траектории, в нашем случае это будет эллипс. Работа проходит в 3 этапа: сперва, Вы заставите двигаться объект, созданный вручную, по траектории эллипса, затем научитесь самостоятельно создавать объекты на мнемосхеме из VBA скрипта, а затем научитесь как можно обращаться к свойствам объектов мнемосхемы и как их можно использовать для организации логики в скрипте.

Упражнение 1: движение объектов по эллиптической орбите


  1. Откройте среду разработки InfinityHMI, сохраните новый файл как Фамилия20.xml. Расположите на экранной форме объект «Эллипс», назовите его LabSun. Для этого в окне «Свойства объекта» укажите имя объекта как LabSun (Рис. 129). Задайте цвет заливки желтый, ширину и высоту – 90, остальные параметры произвольно. Расположите еще один объект «Эллипс», назовите его LabPlanet, задайте ширину и высоту 40, остальные параметры произвольно. Расположите третий объект «Эллипс», назовите его LabOrbita, задайте ширину и высоту 320 и 150 соответственно, цвет заливки – пустой, остальные параметры произвольно.



Рис. 129. Задание имени объекта в диалоге свойств объекта

  1. Расположите созданные Вами объекты таким образом, чтобы объект LabSun был в центре объекта LabOrbit, а объект LabPlanet находился на линии объекта LabOrbit.

  2. Задайте динамику «Мигание» для объекта LabSun, установите параметры динамики, как показано на Рис. 130.



Рис. 130. Настройка динамики «Мигание» для объекта «LabSun»

  1. Задайте динамику «Вращение» для объекта LabPlanet, установите параметры динамики, как показано на Рис. 131.



Рис. 131. Динамика «Вращение» для объекта LabPlanet

  1. Реализуйте вращение объекта LabPlanet по линии объекта LabOrbita с помощью VBA. Для этого откройте редактор Visual Basic и создайте процедуру PlanetMovement в модуле Module1, в которой реализуйте алгоритм изменения координат x и y объекта Planet по закону синуса и косинуса, как показано на Рис. 132.



Рис. 132. Реализация алгоритма движения объекта по траектории эллипса

  1. Переменные x1, y1 (начальные координаты), xc, yc (координаты центра) описаны как глобальные переменные и инициализированы в процедуре Create(), которая находится также в Module1 и выглядит как показано на Рис. 133. Значение xc определяется как положение X объекта LabSun плюс 45 (половина ширины объекта), yc - положение Y объекта LabSun плюс 45 (половина высоты объекта).



Рис. 133. Инициализация глобальных переменных

  1. Расположите на Вашей мнемосхеме объект для осуществления движения планеты по орбите. Например, это может быть прямоугольник в качестве панели, на которой расположена построенная Вами модель. Настройте самостоятельно свойства отображения объекта. Добавьте динамику «Действие» и настройте ее таким образом, чтобы при запуске мнемосхемы начала с каким-то периодом (например, 1 раз в 200мс) выполняться процедура PlanetMovement. В результате при запуске мнемосхемы будет осуществляться движение планеты по орбите.

  2. Проверьте корректность работы Вашей мнемосхемы. Результат должен выглядеть приблизительно, как показано на Рис. 134, т.е. в режиме исполнения Ваша мнемосхема должна при нажатии кнопки «Создать» создавать модель вращения планеты по солнечной орбите.



Рис. 134. Мнемосхема «Солнечная система» в действии

Упражнение 2: создание объектов при помощи VBA


  1. Сохраните Ваш файл как Фамилия21.xml.

  2. Удалите с Вашей формы видимые объекты LabSun, LabPlanet, LabOrbita и реализуйте функцию создания этих объектов и их динамик с помощью VBA. Для этого откройте Редактор Visual Basic и реализуйте в методе Create() создание объектов LabSun, LabPlanet и LabOrbita. Для создания визуального объекта LabSun опишите объект Sun типа GwxEllipse, который будет связан с визуальным объектом с помощью метода CreateEllipse, в качестве параметров которого указываются расположение объекта на экранной форме, ширину, высоту, наличие заполнения, цвет заполнения, цвет линии, ширину линии, тип линии, наличие тени, цвет тени, тип краев, видимость объекта и имя объекта. Данный метод может быть вызван только (!) в режиме разработки, поэтому сначала необходимо остановить режим исполнения с помощью метода StopRuntime(), а после запустить режим исполнения с помощью команды StartRuntime(), как показано на Рис. 135.

  3. Создайте еще два объекта типа GwxEllipse, назовите их Orbita и Planet. Аналогичным образом создайте визуальные объекты LabOrbita и LabPlanet с помощью метода CreateEllipse. Для объекта Orbita укажите свойство IsFilled как False, т.е. без заполнения, как показано на Рис. 135.



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

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

  2. Переведите Вашу мнемосхему в режим исполнения и убедитесь, что объекты действительно создаются при нажатии на кнопку. Когда Вы перейдете в режим разработки эти объекты останутся (!) и их нужно будет удалить вручную.

  3. При каждом запуске Вашей мнемосхемы будут создаваться объекты, описанные в методе Create(). Осуществите автоматическое удаление всех Ваших объектов после выполнения мнемосхемы. Для этого в модуле ThisDisplay создайте метод GwxDisplay_PostRuntimeStop(), в котором удалите объекты с помощью методов DeleteDynamic и DeleteObject.

  4. Проверьте корректность работы Вашей мнемосхемы.

  5. Создайте динамику «Мигание» для объекта Sun с помощью метода CreateFlashDynamic, в качестве параметров которого укажите имя объекта, к которому привязывается данная динамика, имя динамики, скрывать объект или нет, мигание при установлении источника в значение false или true, наличие альтернативного состояния, изменение цвета заполнения, изменение цвета линии, изменение цвета тени, альтернативный цвет заполнения, линии и тени. Назовите объект динамика «SunFlash».

  6. Данный метод используется также только (!) в режиме разработки.

  7. Для работы динамики необходимо задать источник. Для этого в свойстве объекта SanFlash dataSource укажите имитационную переменную ~~infinity.sim.ramp.long~~.

  8. Проверьте корректность работы Вашей мнемосхемы. Если она работает корректно, создайте динамику «Вращение» для объекта Planet с помощью функции CreateRotationDynamic, как показано на Рис. 136.



Рис. 136. Создание динамики в VBA скрипте

  1. Результат выполнения Вашей мнемосхемы должен быть аналогичен результату в упражнении 1, т.е. в режиме исполнения Ваша мнемосхема должна при нажатии кнопки «Создать» создавать модель вращения планеты по солнечной орбите.

Упражнение 3: создание динамик при помощи VBA


  1. Сохраните построенную Вами мнемосхему как Фамилия22.xml.

  2. В конфигураторе сервера ввода/вывода Infinity создайте сигнал Teach.Inputs.IntRamp20 с амплитудой от 0 до 20 и периодом 20c.

  3. Для считывания значения сигнала используется функция GetOPCValue из библиотеки OPCDualSource, как показано на Рис. 137.



Рис. 137. Декларация для вызова внешней процедуры из VBA скрипта

  1. Процедура перемещения объекта и изменения угла остаются без изменения, за исключением того, что для изменения угла поворота f используется значение Вашего сигнала (Рис. 138).



Рис. 138. Исходный текст процедуры движения объекта с использованием внешнего сигнала

  1. Результат должен быть аналогичен результату предыдущего упражнения, т.е. в режиме исполнения Ваша мнемосхема должна при нажатии кнопки «Создать» создавать модель вращения планеты по солнечной орбите.

Упражнение 4: доступ к свойствам объекта из VBA


  1. Сохраните Вашу мнемосхему как Фамилия23.xml.

  2. Создайте поля для ввода значений вертикальной и горизонтальных осей орбиты. Для этого расположите на экранной форме Вашей мнемосхемы два динамических объекта «Значение параметра», задайте им уникальные имена AxisA и AxisB. В качестве источника данных задайте локальные переменные ~~planet.axisa~~ и ~~planet.axisb~~. В Module1 опишите два объекта AxisA и AxisB типа GwxText и свяжите данные объекты с соответствующими визуальными объектами в процедуре Create, как показано на Рис. 139.



Рис. 139. Процедура создания объектов с использованием параметров из объектов мнемосхемы

  1. Значения вводимых данных считываются с локальных переменных и записываются в переменные A и B. Если значение не введено, то используется значение по умолчанию (A=75, B=160).

  2. При изменении размеров орбиты должны измениться размеры панели, расположение самой орбиты. Для этого описываем объект Panel типа GwxRectangle и связываем его с визуальным объектом «Panel». Задаем размеры панели в соответствии с размерами орбиты. Задаем координаты орбиты относительно солнца и ее размеры.

  3. В процедуре PlanetMovement замените коэффициенты перед синусом и косинусом на переменные A и B соответственно.

  4. Проверьте корректность работы Вашей мнемосхемы. В режиме исполнения Ваша мнемосхема должна при нажатии кнопки «Создать» создавать модель вращения планеты по солнечной орбите, размеры которой заданы в соответствующих полях ввода (Рис. 140).



Рис. 140. Результирующая мнемосхема с использованием VBA скрипта
1   ...   7   8   9   10   11   12   13   14   15

Похожие:

Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconЛабораторная работа. Получение и свойства оксидов, гидроксидов и солей
Лабораторная работа. Ряд напряжений металлов. Гальванические элементы. Электролиз юююююю
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconТематическое планирование биология, 6 класс
Морфология листа (лабораторная работа) 12. Строение растительного организма. Клетки и ткани 13. Типы растительных тканей (Лабораторная...
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconЛабораторная работа Правила работы с вычислительной установки Лабораторная работа Работа с клавиатурой
Лабораторный практикум по информатике представляет собой учебно-практическое издание для студентов педагогического вуза непрофильных...
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconЛабораторная работа №1 (одномерные массивы) 27
Лабораторная работа №6 (статические массивы, знакомство с графическим режимом. Возможно будет изменена) 49
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconЛабораторная работа №5. Эксперимент лабораторная работа №6 Раздел II. Эмпирические исследования познавательных процессов. Ощущения и восприятие лабораторные работы №7-9: Методика «Специфика восприятия»
Цель: Выявление типов поведения студентов (коллег) в дискуссии (наблюдение по схеме Р. Бейлза)
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconЛабораторная работа №1 Изучение автоматической телеграфной станции ат-пс-пд лабораторная работа №2 Изучение телеграфного коммутационного сервера «Вектор-2000»
Рецензент – зам начальника Гомельской дистанции сигнализации и связи Белорусской железной дороги В. И. Прокопюк
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconЛабораторная работа по курсу «Физические основы микроэлектроники» Нижний Новгород, 2005
Операционный усилитель: Лабораторная работа по курсу «Микроэлектроника» / Сост. Н. В. Федосеева, С. М. Планкина. – Н. Новгород, ннгу,...
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconТематическое планирование 11 класс 1 час в неделю 34 часа за год. Информатика 11 класс
Практическая работа Сведения о логических разделах дисков Практическая работа Значки и ярлыки на Рабочем столе Практическая работа...
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconЛабораторная работа №1 Лабораторная работа №1 1
В качестве примера рассматривается деятельность вымышленной компании «Computer Word». Компания занимается в основном сборкой и продажей...
Лабораторная работа Установка и настройка 6 Лабораторная работа Демонстрационный проект 7 Упражнение 1: Работа с основной схемой проекта 7 Упражнение 2: Работа со схемой «Резервуарный парк» iconГ. Кунгур Уральская, 18 комн. 310
Обязанности: Настройка компьютеров, компьютерной техники, установка оборудования и программного обеспечения. Техническое обслуживание...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница