SCADA — система InTouch Занятие № 4.4 Работа
SCADA - система InTouch
Занятие № 4.4 Работа с ActiveX в InTouch Учебные вопросы: 1. Применение ActiveX-объектов. 2. Конфигурирование ActiveX-объектов. 3. Методы и события ActiveX. 4. Работа со скриптами . Литература: Руководство пользователя InTouch™. Invensys Systems, Inc. © 2005
Контрольные вопросы: Вариант № 1 1. Что представляет основу распределенных алармов, их дополнительные функции и средства? 2. Дайте характеристику приоритету, подтверждению, аларму? 3. Особенности присвоения имен в VBA. Вариант № 2 1. Дайте характеристику SuiteLink? 2. Дайте характеристику диалога Select Tag ? 3. Дайте характеристику приоритету, субсостоянию, событию?
Вопрос 1. Применение ActiveX-объектов. ActiveX-объекты, ранее известные как OLE-объекты или ОСХ-объекты, являются автономно исполняющимися программными компонентами, которые выполняют специальные функции стандартным образом. ActiveX определяют стандартные интерфейсы взаимодействия для многократно используемых компонентов. Они представляют собой серверы, включённые в управляющий элемент-контейнер. Чтобы использовать ActiveX-объект, его необходимо поместить в ActiveX-контейнер.
ActiveX характеризуются тремя основными группами взаимодействия с ними: свойства (атрибуты), методы и события. Атрибуты подобны переменным, значения которых можно модифицировать (например Calendar.day, Control.height и т.д.) Методы подобны обращениям к скриптам, вызываемым из контейнера, например Browser.Navigate("http://www.wonderware.com"), Engine.start() и т.д. События генерируются в ActiveX-контейнере, например, Control.click(shift), FileViewer.DoubleClick(Name) Для того чтобы скрипт ActiveX Event исполнялся корректно, соответствующий ActiveX-объект, для которого создавался данный скрипт, должен быть загружен в память. Если окно с ActiveX-объектом закрыто, скрипты ActiveX Event, также как и все другие скрипты с функциями, связанными с этим объектом, правильно исполняться не будут.
В lnTouch-приложении можно использовать любое количество ActiveX. InTouch позволяет вставлять эти объекты в любое окно приложения и добавляться их в панель инструментов Wizards/ActiveX (мастера/ActiveX). Кроме того, скрипты ActiveX Event можно импортировать из одного приложения в другое. Чтобы использовать ActiveX в lnTouch-приложении: Установите все необходимые ActiveX. Выделите и вставьте нужные ActiveX-объекты в окна WindowMaker. Определите значения атрибутов ActiveX-объекта и свяжите их с тегами. Свяжите события ActiveX-объекта со скриптами ActiveX Event. Включите обращения к методам и атрибутам ActiveX в скрипты ActiveX Event или любые другие скрипты InTouch
В WindowMaker с ActiveX можно выполнить следующие операции: Изменить размеры, если такое изменение поддерживается ActiveX-объектом. Дублировать, вырезать, копировать, вставлять удалять ActiveX-объект. Применять все команды выравнивания (по левому и правому краю, по нижнему и верхнему краю, по центру и т.д.). Добавлять в панель Wizards/ActiveX (мастеров/ActiveX). Включить ActiveX в состав компонентов вместе с другими объектами. Многие атрибуты ActiveX могут изменяться непосредственно командами меню и инструментами WindowMaker.
InTouch не поддерживает следующие типы ActiveX: Объекты, не имеющие окна. Простые фреймовые объекты (групповые боксы). Контейнеры. Средства манипулирования данными. Обработчики сообщений. Массивы, BLOB-объекты, Variant-типы.
Чтобы установить или удалить ActiveX: 1. В меню Special (специальные) выбрать Configure (конфигурировать) и выполнить команду Wizards/ActiveX Installation (установка мастеров и ActiveX) или дважды щёлкнуть строку Wizards/ActiveX Installation в окне проводника WindowMaker. Появится диалоговое окно Wizards/ActiveX Installation (установка мастеров и ActiveX). 2. Щёлкнуть закладку ActiveX Control Installation (установка оконных ActiveX) для перехода на страницу ActiveX Installation (установка ActiveX):
3. Выбрать в списке Installed ActiveX controls (установленные оконные ActiveX) те управляющие объекты, которые необходимо удалить, и нажмите кнопку Remove (удалить). Появится запрос на подтверждение операции удаления. 4. Нажать кнопку Yes (да) для удаления выделенных объектов. Названия удаляемых объектов появятся в окне Available ActiveX controls (имеющиеся ActiveX-объекты). 5. Чтобы установить ActiveX, выделите их в списке Available ActiveX controls (имеющиеся ActiveX-объекты) и нажмите кнопку Install (установить). Кнопка Install (установить) будет активной только в том случае, если список имеющихся ActiveX не пустой. 6. Нажать кнопку Close (закрыть).
Чтобы вставить ActiveX в окно необходимо: 1. Нажать кнопку Wizard Dialog (окно мастеров) панели инструментов Wizards/ActiveX (мастер/ActiveX). 2. В списке мастеров выбрать категорию ActiveX Controls (оконные ActiveX). На экран будут выведены все имеющиеся ActiveX. 3. Выбрать нужный ActiveX и нажмите кнопку ОК или дважды щёлкните этот объект кнопкой мыши. Диалоговое окно закроется и снова появится окно вашего приложения.
4. Когда вернёмся в окно, курсор примет форму уголка W. Щёлкнуть кнопкой мыши в том месте окна, где должен появится ActiveX-объект. 5. Дважды щёлкнуть объект, чтобы открыть диалоговое окно определения свойств объекта. Чтобы удалить ActiveX из панели инструментов: 1. Нажать кнопку Wizard Dialog (окно мастеров) в панели инструментов Wizards/ActiveX (мастер/ActiveX). Появится диалоговое окно Wizard Selection (выбор мастеров). 2. Нажать кнопку Remove from Toolbar (убрать из панели инструментов). Появится диалоговое окно Remove Wizard from Toolbar (убрать мастер из панели инструментов):
3. Выделить те ActiveX, которые необходимо убрать из панели инструментов. 4. Нажать кнопку ОК
Вопрос 2. Конфигурирование ActiveX- объектов После вставки какой-либо ActiveX в окно приложения InTouch, необходимо настроить его свойства, для того чтобы он мог взаимодействовать с InTouch. Каждый ActiveX-объект должен быть поименован, чтобы на него можно было ссылаться в скриптах. В момент вставки объекта в окно ему будет присвоено имя по умолчанию. Свойства ActiveX-объекта должны быть связаны с lnTouch-тегами. Тип свойства должен соответствовать типу тега.
Чтобы изменить имя ActiveX-объекта: 1. Вставьте требуемый ActiveX в окно Window/Maker. 2. Дважды щёлкнуть объект или щёлкнуть его правой кнопкой мыши и затем выполнить команду Properties (свойства). Появится диалоговое окно Properties (свойства). Диалоговые окна свойств уникальны для каждого вида ActiveX. Количество отображаемых закладок зависит от параметров конкретного объекта. Для одних ActiveX может потребоваться определить большее число параметров, чем для других
Щёлкнуть закладку Control Name (имя объекта) и введите в поле ControlName имя для данного ActiveX-объекта. Определить уникальное имя для каждого ActiveX-объекта, используемого в вашем lnTouch-приложении. Это имя используется в скриптах для идентификации объектов. Например: #Calendar1 .day = Tag1; #Calendar1.year = 1998;
Если используются имена по умолчанию, при выполнении указанных ниже действий всегда будет создаваться новый экземпляр объекта, и ему будет присваиваться уникальное имя. Выбор Duplicate (дублировать) из меню Edit (редактировать), Выбор Cut (вырезать), Сору (копировать) или Paste (вставить) из меню Edit (редактировать), Выбор Save Window As (сохранить окно как...) из меню File (файл), Щелчок на Undo (отменить) и затем на Redo (повторить), Импортирование окна, содержащего оконные элементы.
В общем случае имена ActiveX-объектов лучше не изменять. Однако существуют ситуации, когда это может оказаться необходимым. ActiveX-объекты должны иметь уникальные имена. Если изменить имя объекта и нажать кнопку ОК или Apply (применить), система для проверки обращается к таблице имён объектов. Если в ней нет указанной строки, система меняет и запоминает в таблице новое имя. В противном случае выдаётся сообщение об ошибке. Управляющим элементам необходимо давать уникальные имена.
Конфигурирование свойств ActiveX Свойства, значения которых можно устанавливать для каждого ActiveX-объекта, определяются разработчиком этого объекта. На странице свойств окна Properties любого ActiveX-объекта отображаются три столбца: Property (свойство), Range (диапазон) и Associated Tag (связанный тег). Столбцы Property и Range являются "только для чтения". Столбец Associated Tag (связанный тег) используется для того, чтобы связать lnTouch-теги с соответствующими свойствами в колонке Property (свойство).
Чтобы определить параметры ActiveX-объекта: 1. Щёлкнуть закладку Properties (свойства) диалогового окна, чтобы раскрыть страницу Properties (свойства): 2. Щёлкнуть кнопкой мыши в средней части элемента столбца Associated Tag (связанный тег) и введите имя тега для данного свойства.
Если ввести имя тега, не определённого в Словаре Тегов, появится запрос для определения его прямо сейчас. Если дважды щёлкнуть пустую ячейку, откроется окно браузера тегов Tag Browser с перечнем имён тегов для выбранного источника. Дважды щёлкните тег, который вы хотите использовать, или выберите его и нажмите кнопку ОК. Имя выбранного тега будет автоматически вставлено в элемент таблицы. 3. После того как связанный тег будет определён, щёлкните дважды слева от его имени для определения типа связи между ним и соответствующим свойством ActiveX. Каждая ячейка столбца Associated Tag (связанные теги) состоит из двух полей: имя связанного тега и тип связи. Тип связи определяется типом ActiveX, а тип свойства определяет тип связанного тега. 4. Нажмите кнопку ОК.
Вопрос № 3. Методы и события ActiveX 3.1. Использование методов ActiveX Методы ActiveX аналогичны атрибутам ActiveX. Методы запускаются во время исполнения приложения (в Window/Viewer). Обращение к методам ActiveX осуществляется через скрипты ActiveX Event и/или скрипты InTouch. Для того чтобы скрипт ActiveX Event исполнялся корректно, ActiveX, для которого создавался данный скрипт, должен быть загружен в память. Если окно, содержащее ActiveX-объект, закрыто, скрипты ActiveX Event, также как и другие скрипты QuickScript, содержащие функции, ассоциированные с ActiveX, правильно исполняться не будут.
Чтобы использовать методы и/или атрибуты ActiveX: 1. В диалоговом окне Properties (свойства) ActiveX щёлкните закладку Events (события), чтобы перейти на страницу Events:
2. Дважды щёлкните свободную ячейку в колонке Script (скрипт). Появится редактор ActiveX Event Scripts (скрипты событий ActiveX):
3. В меню Insert (вставка) щёлкните строку ActiveX. Появится ActiveX Control Browser (Браузер ActiveX):
4. В списке Control Name (имя управляющего объекта) выберите ActiveX, к методами или свойствам которого нужно получить доступ. В этом списке перечисляются все ActiveX, используемые в текущий момент в вашем приложении. Если вместо требуемого ActiveX выбрать элемент ThisControl (текущий элемент), будут выделены методы и атрибуты ActiveX-объекта, который выделен в текущий момент. Выбирая ThisControl (текущий элемент) вместо настоящего имени элемента управления, можно создавать общие скриптовые функции ActiveX Event. Впоследствии их можно вставлять в любые другие скрипты ActiveX Event или скрипты InTouch, без необходимости изменять в новом скрипте имя объекта.
Объект ThisControl доступен только в скриптах ActiveX Event. В любом другом скрипте обращение к нему невозможно. Объект ThisControl используется, чтобы задать общие ссылки в скриптах обработки событий, которые могут использоваться со всеми экземплярами одного и того же типа объектов. Если выбирается ThisControl , на экране отображается тот же перечень свойств и методов, что и для конкретного ActiveX. 5. Выберем в списке Methods/Properties (методы/атрибуты) метод или свойство, которое хотим использовать в скрипте. 6. Нажать кнопку Done (готово). Указанное имя объекта вместе с методом или атрибутом будет автоматически вставлено в скрипт.
3.2. Использование событий ActiveX Для обработки событий ActiveX в режиме исполнения (в Window/Viewer), необходимо связать некоторый набор действий с каким-либо событием. Например, если ActiveX имеет в своем составе обработчик ошибок, можно создать скрипт ActiveX Event, который в случае возникновения ошибки будет выводить на экран соответствующее сообщение. Скрипты ActiveX Event предназначены для поддержки отклика на события. С каждым событием может быть связан отдельный именованный скрипт.
Чтобы использовать параметры событий ActiveX: 1. Дважды щёлкните ActiveX-объект, для которого необходимо определить скрипт ActiveX Event. Появится диалоговое окно Properties (свойства) для выбранного объекта. 2. Щёлкните закладку Events (события) для перехода на страницу событий:
3. В колонке Events (события) необходимо выбрать событие, с которым должен быть связан скрипт обработки события. 4. В соответствующее поле столбца Scripts (скрипты) ввести уникальное имя создаваемого скрипта ActiveX Event и щёлкнуть его дважды или нажать кнопку ОК. Появится следующее сообщение:
5. Нажать кнопку ОК. Появится окно редактора скриптов ActiveX Event с введённым ранее именем скрипта в поле Name (имя). Если дважды щёлкнуть пустую ячейку колонки Scripts (скрипты), то после появления редактора скриптов необходимо ввести имя создаваемого скрипта.
6. Щёлкнуть строку ActiveX из меню Insert (вставка). Появится диалоговое окно ActiveX Control Browser (Браузер ActiveX):
7. В списке Control Name (имя элемента управления) выбрать ThisEvent для определения параметров выбранного события. В данном случае выбранным событием является Error (ошибка). Элемент ThisEvent доступен только в скриптах ActiveX Event. Он недоступен в любых других скриптах InTouch. Для определения параметров событий ActiveX должен выбираться именно этот элемент. В режиме исполнения события могут возвращать, а могут и не возвращать параметры. Обращение к параметрам может осуществляться с помощью ключевого слова ThisEvent. 8. В списке Methods/Properties (методы/свойства) выберите тот метод или свойство, которое требуется использовать в скрипте ActiveX Event. 9. Нажмите кнопку Done (готово). Указанное имя события, в данном случае ThisEvent, и выбранные параметры будут автоматически вставлены в скрипт в позицию курсора.
10. Нажать кнопку ОК для сохранения скрипта ActiveX Event и закрытия редактора скриптов. На экране вновь появится окно свойств ActiveX. 11. Нажать кнопку ОК для закрытия диалогового окна свойств ActiveX или продолжайте работу по созданию других скриптов.
Вопрос № 4. Работа со скриптами 4.1. Многократное использование скриптов событий ActiveX. Повторное использование скрипта ActiveX Event возможно только для обработки такого же события и такого же ActiveX. Скрипт, запускающийся при щелчке кнопкой мыши объекта ControlA, не может использоваться объектом ControlB, если только оба объекта не принадлежат одному и тому же типу.
1. Чтобы повторно использовать скрипт ActiveX Event:
2. В соответствующей ячейке колонки Script (скрипт) нажмите кнопку . Появится диалоговое окно Choose ActiveX Script (выбор скрипта ActiveX):
В этом окне будут перечислены скрипты ActiveX Event, написанные для ActiveX одного и того же типа и для обработки одного и того же события. Clicki был создан для обработки нажатия кнопки в объектах управления Calendar, тогда как Click2 - для объекта ActiveX InSQLTrend. При нажатии кнопки появится диалоговое окно Choose ActiveX Script (выбратьскрипт ActiveX), - и в нём будет присутствовать только скрипт Clicki, поскольку именно он был создан для обработки такого же события и того же ActiveX. 3. Выберите скрипт, который требуется использовать повторно, и нажмите кнопку ОК. Имя этого скрипта автоматически появится в ячейке колонки. 4. Нажмите кнопку ОК для закрытия диалогового окна Properties (свойства) или продолжайте работу по созданию других скриптов обработки событий.
4.2. Импортирование скриптов обработки событий ActiveX Импортирование скриптов из другого lnTouch-приложения позволяет сэкономить значительное время на разработку текущего приложения. Чтобы переписать скрипт из одного lnTouch-приложения в другое, необходимо использовать команду Import (импорт) из меню Window/Maker File (файл). Если импортируется скрипт из одного приложения в другое, копируются все скрипты обработки событий ActiveX. Кроме того, чтобы импортированный скрипт исполнялся корректно, в новом приложении должен использоваться такой же ActiveX, должно использоваться такое же событие и ActiveX-объект должен быть загруженными в память. Если окно, содержащее ActiveX, будет закрыто, то ни связанный с ним скрипт ActiveX Event, ни любой другой скрипт InTouch с функциями, обращающимися к этому ActiveX, корректно исполняться не будут
Tema_4.5,6_ATP.ppt
- Количество слайдов: 41