ЖУРНАЛ СТА №4/1999
того, обрабатывает перемещения кур- сора мыши и переход в режим редакти- рования (конфигурирования) объекта. В iFIX реакция на событие всегда зада- ется в виде VBA-скрипта. GENESIS32 позволяет либо сделать то же самое, ли- бо без создания скрипт-программы привязать к событию одну из стандарт- ных реакций (таких, например, как за- грузка экранной формы, запуск внеш- него приложения, перепривязка псев- донимов и т.п.) путем выбора из списка. Для привязки обработчика события к объекту экранной формы в iFIX доста- точно нажать над этим объектом правую кнопку мыши и в появившемся меню вы- брать пункт «Edit Script» («Редактировать VBA-скрипт»). При этом автоматически запускается редактор Visual Basic, а в спи- ске доступных объектов появляется имя объекта, с которым производятся дейст- вия. Необходимое событие, обработку которого требуется произвести из VBA- кода, можно выбрать из выпадающего списка методов данного объекта. После- довательность перечисленных опера- ций иллюстрируется рис. 6–7. В GENESIS32 для привязки скрипта к объекту выполняются аналогичные операции, как показано на рис. 8–9. Од- нако код, связанный с объектом, поме- щается в отдельный модуль и не содер- жит предопределенных обработчиков событий, происходящих с объектом. Для привязки скрипта к событию, свя- занному с графическим элементом, не- обходимо выбрать элемент панели ин- струментов «Pick» («Указание и щел- чок»), в появившемся бланке указать не- обходимое событие, вид реакции на не- го определить как «Run VBA Script» («Выполнить сценарий VBA») и выбрать или задать имя процедуры-обработчика, после чего соответствующая процедура становится доступной в редакторе VBA. Итак, создание скриптового обработ- чика и привязка его к событию в iFIX осу- ществляется более простым и удобным способом, чем в GENESIS32. С другой сто- роны, GENESIS32 позволяет реализовы- вать типовые функции SCADA-системы при щелчке мышью над графическим объектом специалистами, вообще не знакомыми с языками программирова- ния. Набор предопределенных функций обработки события, генерируемого сис- темой прищелчке мышьюнад графичес- ким объектом, показан на рис. 10. Быстродействие исполняющей системы Оба SCADA-пакета тестировались на скорость исполнения скриптов с целью выяснить, насколько быстро выполняется VBA-код в режиме исполнения. При тес- тировании решено было использовать только стандартные операции Visual Basic, поскольку взаимодействие с внут- ренними элементами SCADA, а также с внешними приложениями было вынесе- но в отдельные пункты программы тести- рования. На данном же этапе определя- лась исключительно «скорострельность» кода, использующего только стандартные языковые конструкции. Эксперимент, со- стоящий в измерении времени сортиров- ки методом «пузырька» числового масси- ва из 20000 элементов, предварительно упорядоченного в обратном порядке, по- казал, что быстродействие скриптов в обеих системах одинаково. Абсолютным же показателем явилось время работы скрипта, составившее в обоих случаях 47 секунд. С учетом того, что количество эле- ментарных операций, требующихся для сортировки массива, пропорционально квадрату его размерности, результаты те- ста показывают вполне достаточную для решения большинства задач скорость ис- полнения скрипт-кода. Доступность внутренних объектов приложения и объектов ActiveX Эта проверка производилась с целью определения удобства, полноты и эф- фективности (с точки зрения скорости) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫ 16 4/99 Рис. 6. Переход в IDE VBA для редактирования сценариев, связанных с выделенным объектом в iFIX Рис. 7. Среда IDE VBA в iFIX. События, связанные с выбранным графическим объектом, доступны в выпадающем списке событий
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy