ЖУРНАЛ СТА №4/1999

циального разрешения видимости не требуют. Обмен с внешними приложениями Целью одного из этапов тестирова- ния была проверка взаимодействия приложения SCADA-системы с внеш- ним приложением с помощью стан- дартных функций VBA GetObject и CreateObject. Данные функции позволя- ют посредством механизма OLE полу- чить доступ к внешнему приложению, которое представляет собой объект ActiveX, сохраненный в файле. Такими приложениями являются, например, продукты семейства Microsoft Office: Word, Excel, Access. Ссылка на объект-приложение, полу- ченная с помощью функций GetObject/CreateObject, позволяет рабо- тать с внешним приложением, как с обычным объектом VBA. Таким образом пользователь имеет возможность, на- пример, наладить импорт/экспорт дан- ных в MS Excel или же получение/пере- дачу текстовой информации в MS Word. Опыт разработки проектов автоматиза- ции показывает, что во многих случаях подобные задачи бывают достаточно актуальны для конечного пользователя. На этапе проверки возможности до- ступа из VBA-скрипта к объектам внеш- ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫ 18 4/99 ное смысловое значение, которое облег- чает в дальнейшем разработку скрипта. Ведь очевидно, что при программирова- нии гораздо труднее ошибиться, опери- руя такими понятиями как «индика- тор_перегрева» и «уровень_в_норме», чем безликими «Rect1» и «Rect2». Доступ к внутренним элементам из VBA-кода в iFIX осуществляется непо- средственно по имени объекта. В GENESIS32 необходимо сначала полу- чить ссылку на объект, а затем уже рабо- тать с ним через эту ссылку. Как показали тесты, совместное вы- полнение получения ссылки и доступа к объекту посредством этой ссылки в GENESIS32 занимают столько же време- ни, сколько обращение по имени в iFIX (на компьютере с процессором Celeron- 300 оно составило 15 мкс). За счет обращений к объекту по име- ни текст программы в iFIX, как правило, более нагляден. Но доступ к объекту в GENESIS32 по уже существующей, на- пример, полученной при инициализа- ции ссылке выполняется примерно в 5 раз быстрее, чем доступ по имени в iFIX. Доступ к объектам ActiveX в обеих SCADA реализован одинаково, — по ав- томатически генерируемому системой имени объекта. ActiveX-объекты стано- вятся «видны» в VBA-процедурах сразу после вставки в экранную форму и спе- них приложений (в качестве таковых выступали Word и Excel) никаких осо- бенностей реализации данной функции ни в iFIX, ни в GENESIS32 отмечено не было. Обе системы позволяют осущест- вить взаимодействие с программными продуктами, поддерживающими дан- ную технологию, включая загрузку/вы- грузку приложения, получение доступа к уже запущенному приложению, созда- ние нового или открытие существующе- го документа (или таблицы Excel), пере- дачу и получение данных, сохранение измененных документов на диске и т.п. Вторая часть эксперимента была на- правлена на решение обратной задачи: получение из скрипт-кода внешнего при- ложения доступа к объекту, представляю- щему собой SCADA-проект. Необходи- мость такого рода действий может воз- никнуть в том случае, если требуется осу- ществить доступ к приложению SCADA- системы из программы, написанной на другом языке программирования, напри- мер Visual C. Кроме того, подобный тест позволяет более качественно оценить полноту и корректность реализации ме- ханизма обмена с внешними приложени- ями, поддерживающими технологиюOLE. Проверка показала, что в обоих продуктах функции GetObject/CreateObject коррект- но работают и «в обратную строну» —они позволяют получить доступ ко всем объ- Радиомодемы семейства RFM96 фирмы P ACIFIC C REST С ORPORATION способны удовлетворить вашим самым взыскательным требованиям по передаче данных для мобильных приложений в полевых условиях и для распределенных АСУ ТП в промышленности. Предлагаем также комплекты связного оборудования на базе модемов RFM-96 для дифференциальных систем GPS. Основные характеристики: • рабочие частоты: 150-174 МГц, 415-427 МГц и 442-447 МГц; • выходная мощность: 2, 15, 35 Вт; • температурный диапазон: от -30° до +60°С; • водонепроницаемый корпус. #46

RkJQdWJsaXNoZXIy MTQ4NjUy