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

ются более быстродействующими, чем команды SQL. Таким образом, и GENESIS32, и iFIX поддерживают взаимодействие с внеш- ними СУБД на уровне, достаточном для решения большинства задач АСУ ТП (главным образом, для хранения исто- рических данных). При этом для взаи- модействия с внешними базами данных пользователь iFIX должен, как минимум, обладать квалификацией, достаточной для написания SQL-скриптов, выполня- ющих сохранение данных с заданными интервалами, управление таблицами и извлечение данных. Зато это позволит ему сформировать таблицу в удобном для себя виде. Пользователь GENESIS32 может обойтись без написания SQL- скриптов, но при этом ему придется до- вольствоваться теми форматами таблиц представления архивных данных, кото- рые реализует TrendWorX32 Reporting (в большинстве случаев этого достаточ- но), либо писать код на VBA для элемен- та ActiveX SQLTool Control, используя его свойства и методы по извлечению данных. Последний способ извлечения данных, сохраняемых в реляционных базах сервером TrendWorX32 SQL DataLogger, состоит в разработке про- граммы на VB/VBA или Visual C, исполь- зующей подключение к объекту доступа к данным через OLE DB. Взаимодействие с другими классами приложений Взаимодействие SCADA-систем со сторонними приложениями служит, главным образом, для решения задач анализа, документирования информа- ции об объекте управления, а также для обеспечения производственно-хозяй- ственной деятельности. В обеих тестируемых SCADA доступ к внешним приложениям удалось полу- чить средствами VBA. Кроме того, в GENESIS32 генерация и печать отчетов может автоматически выполняться с помощью компонента TrendWorX32 Reporting, который позволяет извлекать данные из баз, созданных TrendWorX32 SQL DataLogger, и представлять их в от- четах табличной формы MS Excel и ба- зах MS Access и MS SQL Server. iFIX, помимо использования возмож- ностей VBA, имеет набор собственных средств планирования и документиро- вания (планировщик, генератор отче- тов, служба регламентов). Кроме этого, iFIX WorkSpace позволя- ет интегрировать ActiveX-документы Word и Excel в рабочую зону. При от- крытии этих документов отображаются соответствующие меню и панели инст- рументов. Таким образом, и GENESIS32, и iFIX обеспечивают возможность эффектив- ного взаимодействия с другими класса- ми приложений. Поддержка ActiveX Поддержка ActiveX-технологии поз- воляет создавать экранные формы, со- стоящие из ранее разработанных ком- понентов, как из кубиков. В настоящее время формируется открытый рынок ActiveX-компонентов и появляются фирмы, специализирующиеся на выпу- ске подобной продукции. Это позволяет системному интегратору использовать в рамках современной базовой SCADA- системы дополнительные ActiveX — компоненты, разработанные самостоя- тельно или приобретенные у независи- мых поставщиков. Обе SCADA-системы поддерживают технологию ActiveX , однако поскольку ActiveX-компонент является достаточ- но сложным программным модулем, в его коде могут присутствовать ошибки. Мы ставили перед собой задачу устано- вить, к каким последствиям для системы в целом приводят ошибки во время вы- полнения вставленного ActiveX-компо- нента. Со стороны GENESIS32 тестировался GraphWorX32, со стороны iFIX — WorkSpace, в качестве генератора оши- бок использовался ActiveX-компонент собственной разработки. Экранная форма содержала вставленный генера- тор ошибок. Мы запускали форму на ис- полнение и наблюдали за реакцией сис- темы на запись по нулевому адресу, на запись по случайному адресу, на порчу указателя стека и на зацикливание. При генерации записи по нулевому адресу, генерации записи по случайно- му адресу и порче указателя стека GraphWorX32 выполнял недопустимую операцию и завершался аварийно, WorkSpace же выдавал сообщение о сбое в работе компонента, блокировал его и продолжал работать. Однако существует ситуация, когда и Workspace не справляется с ошибкой, возникающей в ActiveX-компоненте. Это выяснилось, когда в экранную фор- му Workspace был вставлен ActiveX-ком- понент, выполняющий запись данных по произвольным адресам приложе- ния-контейнера. Возникающее при этом исключение обрабатывалось тем же самым ActiveX-компонентом, но об- работчик не содержал каких-либо ос- мысленных действий, а продолжал «портить» память контейнера. В резуль- тате нажатие кнопки, реализующей ин- терфейс пользователя для этого ActiveX-компонента, приводило к про- паданию приложения-контейнера (оно исчезало из памяти и с экрана, оставляя все связанные с ним объекты «неотпу- щенными»). При зацикливании и GraphWorx32, и WorkSpace переставали на что-либо ре- агировать, их состояние диспетчер за- дач обозначал как «Не отвечает», и за- вершить их можно было только из дис- петчера задач. Итак, с точки зрения устойчивости к ошибкам в реализации ActiveX-компо- нентов, iFIX выглядит предпочтитель- нее, однако необходимо помнить, что и в случае GENESIS32, и в случае iFIX для возобновления нормальной работы ActiveX-компонента необходимо пол- ностью перезапускать приложение. Кроме того, технология ActiveX, в том числе технология «безопасного контей- нера» (safe container), не позволяет га- рантированно защитить контейнер от краха в случае сбоя во вставленном ActiveX-компоненте. Поэтому мы на- стоятельно рекомендуем тщательно те- стировать ActiveX-компоненты перед их использованием на «живом» объекте. Управление доступом Известно, что если с системой работа- ют пользователи различных категорий, то неизбежно встает вопрос об органи- зации контроля и управления доступом к объектам системы. Наличие системы контроля и управления доступом позво- ляет не только ограничивать доступ пользователей к объектам системы, но и отслеживать сделанные пользователем изменения, заставляя его регистриро- ваться для работы в системе. Поэтому в процессе тестирования нами рассмат- ривались такие возможности SCADA-па- кетов в области контроля доступа, как введение различных категорий доступа, контроль лиц, осуществлявших доступ, протоколирование внесенных измене- ний, а также средства защиты протокола и паролей от фальсификации. Результаты тестирования показали, что оба рассматриваемых продукта включают в себя систему управления до- ступом, которая позволяет вводить раз- личные категории доступа и ограничи- вать доступ к функциям пакета для поль- зователей, зарегистрированных в систе- ме. С помощью специальной програм- мы конфигурации защиты можно на- значать права пользователей и групп пользователей, имена входа и пароли (рис. 11). Права пользователя определя- ются его персональным уровнем приви- легий, а также уровнем привилегий, на- значенным группе, в которую он входит. Так, каждое приложение GENESIS32 предоставляет список операций, доступ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫ 20 4/99

RkJQdWJsaXNoZXIy MTQ4NjUy