
- •13. Контроллер I-7188. Разработка системы сбора данных и управления в виде Web-сервера. Пример: Просмотр состояния входов и выходов в виде html-страницы.
- •1. Функция void Web_Init(void)
- •2. Функция void Web_Loop(void)
- •4. Функция GetDataFromForm (void)
- •14. Составные части и архитектура scada-системы Genesis32. Орс-технология для доступа к устройствам ввода-вывода.
- •Обзор технологии орс
- •15. Пользовательский интерфейс GraphWorX32. Создание “картинки” технологического процесса на Genesis32. Взаимодействие GraphWorX32 с тегами модулей ввода-вывода.
- •Динамизация графических объектов
- •1. Изменение положения
- •2. Вращение
- •3. Действие Скрыть/Блокировать
- •8. Аналоговый индикатор
- •10. Анимация
- •11. Параметр
- •12. Время / Data
- •13. Кнопка, Флажок, Переключатель
- •16. Назначение vba-скриптов Genesis32. Классы доступа к элементам экранной формы. Основные этапы создания vba-скрипта.
- •1. Функция ThisDisplay.GetVisibleObjectFromName(“Имя”)
- •2. Функция ThisDisplay.GetVisibleObject From Index(…)
- •3. Функция Имя_Символа.GetVisibleObjectFromIndex ( …)
- •4. Функция Имя_Символа.GetVisibleObjectFromName(“Имя”)
- •2. Функция Имя_символа.GetDynamicObjectFromIndex(1)
- •3. Функция ИмяГрафОбъекта.GetDynamicObjectFromName(“Имя”)
1. Функция ThisDisplay.GetVisibleObjectFromName(“Имя”)
Возвращает ссылку на графический объект связанный с именем. Это имя определяется в окне Инспектора свойств ( поле Имя объекта)
Пример: Получим ссылку на объект с именем Rect и изменим его угол поворота
Dim obj As GwxRectangle ‘тип объекта – прямоугольник
Set obj=ThisDisplay.GetVisibleObjectFromName(“Rect”)
obj.Angle = 45
2. Функция ThisDisplay.GetVisibleObject From Index(…)
Кроме имени каждый графический объект экранной формы имеет индекс. Самый первый объект, который был размещен в рабочей области получает индекс «0», последующие объекты - индексы 1, 2, и т.д.
Функция ThisDisplay.GetVisibleObject From Index(…) возвращает объект экранной формы по индексу объекта. Эта функция удобна при последовательном выполнении операций над всеми объектами.
3. Функция Имя_Символа.GetVisibleObjectFromIndex ( …)
Каждый символ GraphWorx32 имеет собственный список индексов всех графических объектов, из которых сгруппирован данный символ. Если получили ссылку на этот симол, то метод Имя_Символа.GetVisibleObjectFromIndex() возвращает ссылку на графический объект внутри символа по данному индексу. Данная функция удобна при последовательном выполнении операций над графическими объектами, из которых сгруппирован символ.
4. Функция Имя_Символа.GetVisibleObjectFromName(“Имя”)
К графическим объектам внутри символа можно иметь доступ и по его имени объекта. Функция Имя_Символа.GetVisibleObjectFromName(“Имя”) возвращает объект внутри символа по данному имени.
п.2. Доступ к динамическим объектам экранной формы
Динамическим объектом считается назначенная к объекту динамическое действие (изменение размера, положения, вращение, указание и щелчок и т.п.). В окне инспектора свойств на соответствующей вкладке в поле «Имя объекта» указывается имя объекта - динамического действия.
VBA имеет 3 способа доступа к динамическим объектам:
1. Функция ThisDisplay.GetObjectFromName(“Имя”) возвращает ссылку на динамический объект по указанному имени объекта.
Пример: Получаем доступ к динамическому объекту “Hide” и устанавливаем значение – «0», т.е. объект связанный с этим объектом будет не видимым.
Dim obj As GwxHide ‘ тип объекта
Set obj = ThisDisplay.GetDinamicObjectFromName(“Hide”)
obj.dataSource = 0
2. Функция Имя_символа.GetDynamicObjectFromIndex(1)
Каждый графический объект может иметь несколько динамических действий. Например, прямоугольник может изменять размеры и положение. Каждому действию присваивается индекс. Самое первое динамическое действие имеет индекс 0. Использование индекса позволяет последовательно изменить параметры динамических действий.
Пример: Получаем ссылку на 2-ое динамическое действие графического объекта “Rect” и изменим его параметра - нижняя граница диапазона изменения.
Dim Rect As GwxRectangle
Dim Dyn As Object
Set Rect = ThisDisplay.GetVisibleObjectFromName(“Rect”)
Set Dyn = Rect.GetDynamicObjectFromIndex(1)
Dyn.LowRange = 10
3. Функция ИмяГрафОбъекта.GetDynamicObjectFromName(“Имя”)
К динамическим действиям внутри графического объекта также можно получить доступ и по имени динамического действия. Эта функция возвращает динамическое действие по имени принадлежащее графическому объекту.
п.3. Написание процедур модуля ThisDisplay
Как было сказано выше, модуль ThisDisplay является специализированным модулем, который представляет экранную форму GraphWorX. Для ввода исходного текста модуля ThisDisplay выполните двойной щелчок на элементе ThisDisplay с окне проекта. Окно кода состоит из двух списков и поля ввода исходного текста.
Выпадающий список, расположенный слева позволяет выбрать следующие элементы: - Общая область
- МодульGwxDisplay
- Идентификаторы всех управляющих элементов (ActiveX – элементов), вставленных в экранную форму
Выпадающий список, расположенный справа позволяет выбрать события, относящиеся к объекту выбранному в левом списке.
Запуск макросов VBA в режиме Разработка
GraphWorx32 может запустить макрос VBA, находясь и в режиме Разработка, при двойном щелчке на объекте, с которым связан этот макрос.
Запуск макросов VBA в режиме Исполнение
Динамическое действие Указание и Щелчок может вызывать операцию Выполнить сценарий VBA. Для этого В окне Инспектора свойств выберем операцию Выполнить сценарий VBA.
При нажатии на кнопку Создать появляется окно Мастера VBA-сценариев. В этом окне вводится имя сценария.
После нажатия на кнопку ОК открывается окно редактора VBA, где вводится код процедуры.