Материал: 2113

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

тические условия функционирования контролируемых процессов от некритических.

Информация о возникновении алармов может быть:

1)выдана на экран и выделена соответствующим образом (динамика, яркий цвет и т.п.);

2)выдана на печать на принтеры;

3)передана посредством электронной почты, средств сетевого общения (ICQ, MIRc, AOL, MSN, Jabber и т.п.), SMS-сообщений и т.п.;

4)проиграна посредством ранее записанного аудио сообщения в телефонную линию (после предварительного прозвона), средствами оповещения предприятия и т.п.

Рис. 10. Графическая интерпретация алармов типа Deviation

Контрольные вопросы

1.Дайте определение понятию «аларм» (Alarm) в SCADA-системах.

2.Зачем введены понятия подтвержденного и неподтвержденного алармов?

3.Дайте определение понятию «событие» в SCADA-системах.

4.Что зависит от эффективности функционирования системы алармов?

5.Назовите два типовых аларма. Дайте определение каждому.

6.Поясните сущность Hi и HiHi алармов.

7.Поясните сущность аларма Deviation.

8.Поясните сущность ROC аларма.

9.Какие основные способы оповещения о возникновении аларма используются в настоящее время?

51

4.4. Тренды в SCADA-системах

Графическое представление значений технологических параметров во времени способствует лучшему пониманию динамики технологического процесса предприятия. Поэтому подсистема создания трендов и хранения информации о параметрах с целью ее дальнейшего анализа и использования для управления является неотъемлемой частью любой SCADA-системы. Тренды реального времени (Real Time) отображают динамические изменения параметра в текущем времени. При появлении нового значения параметра в окне тренда происходит прокрутка графика справа налево. Таким образом, текущее значение параметра выводится всегда в правой части окна.

Тренды обязательно архивируются и становятся историческими (Historical) после того, как данные будут записаны на диск и можно будет использовать режим прокрутки предыдущих значений назад с целью посмотреть прошлые значения. Отображаемые данные тренда в таком режиме будут неподвижны и будут отображаться только за определенный период.

Система распределенных архивов. В любой SCADA-системе имеется система распределенных архивов, обеспечивающая поиск архивных данных в любом приложении. Данная система расширяет возможности стандартных архивов, позволяя одновременно получать информацию из нескольких удаленных баз данных, которые в этом случае называются провайдерами архивов. Кроме того, создание распределенных архивов диктуется простой необходимостью при функционировании SCADA-системы в условиях больших расстояний между производственными корпусами.

Обычно одновременно можно обращаться к нескольким провайдерам (по одному на каждое перо). Каждый узел, выполняющий функцию регистрации, может писать только в один архив. Система, приведенная на рис. 11, имеет два провайдера архивов. Левый провайдер регистрирует информацию только из узла, расположенного слева внизу. Правый провайдер регистрирует информацию из узла, расположенного справа вверху. Остальные три узла (вверху слева) лишь используют архивные данные. Читать информацию из архивных файлов может каждый из узлов системы.

52

Рис. 11. Распределенная система архивов

Создание такой системы предполагает следующие действия:

-создание списка провайдеров архивов;

-создание и определение параметров объекта «архивный тренд»;

-конфигурирование приложения на удаленное архивирование данных;

-копирование приложения на все узлы.

Контрольные вопросы

1.Что такое «тренд» в SCADA-системе?

2.Поясните сущность системы распределенных архивов в SCADA-системе.

3.Какие действия производятся для создания системы распределенных архивов?

4.5.Встроенные языки программирования

Встроенные языки программирования – мощное средство SCADAсистем, предоставляющее разработчику гибкий инструмент для разработки сложных приложений. Первые версии SCADA-систем либо не имели подобных языков, либо эти языки реализовывали небогатый набор функций. В современных версиях SCADA-систем функциональные возможности языков становятся существенно богаче. Явно выделяются два подхода:

1. Ориентация встроенных языков программирования на технологов. Функции в таких языках являются высокоуровневыми, не требую-

53

щими профессиональных навыков программирования при их использовании. Количество таких функций в базовых поставках не исчисляется сотнями, хотя существуют свободно распространяемые библиотеки дополнительных функций.

2. Ориентация на системного интегратора. В этом случае в качестве языков чаще всего используются VisualBasic - подобные языки.

В каждом языке допускается расширение набора функций. В языках, ориентированных на технологов, это расширение достигается с помощью дополнительных инструментальных средств (Toolkits). Разработка дополнительных функций выполняется обычно программистами-

профессионалами. Разработка новых функций при втором подходе выполняется обычно разработчиками приложений (как и в традиционных языках программирования).

Полнота использования возможностей встроенных языков (особенно при втором подходе) требует соответствующего уровня квалификации разработчика, если, конечно, в этом есть необходимость. Требования при решении конкретных задач могут быть не столь высокими, чтобы применять всю «мощь» встроенного языка. Во всех языках функции разделяются на группы, часть из которых присутствует практически во всех языках: математические функции, функции работы со строками, обмен через базы SQL, DDE-обмен и т. д.

В разрабатываемом приложении создаются программные фрагменты, состоящие из операторов и функций языка, которые выполняют некоторую последовательность действий. Эти программные фрагменты связываются с разнообразными событиями в приложении, такими как нажатие кнопки, открытие окна, выполнение логического условия (например: a+b>c). Каждое из событий ассоциируется с графическим объектом, окном, таймером, открытием/закрытием приложения. Когда приложение содержит сотни окон, тысячи различных графических объектов, а с каждым из них связано несколько событий, в приложении может «работать» огромное количество отдельных программных фрагментов. При этом велика вероятность их «одновременной» активизации.

Для разграничения таких случаев каждая из функций во встроенном языке может выполняться в синхронном или асинхронном режиме. В синхронном режиме выполнение следующей функции не начинается до тех пор, пока не завершилось исполнение предыдущей. При запуске асинхронной функции управление переходит к следующей, не дожидаясь завершения исполнения предыдущей функции. В связи с этим воз-

54

никает несколько вопросов. С каким приоритетом исполняется каждый из фрагментов, допускается ли рекурсия при обработке событий и если да, то каков уровень вложенности? В SCADA-системах уровень вложенности пока не стандартизован, но оговаривается особо в рамках каждой из них.

Контрольные вопросы

1.Назовите два основных подхода в использовании встроенных в SCADAсистему языков программирования.

2.Каким образом расширяются возможности встроенных языков программирования?

3.Зачем нужен встроенный в SCADA-систему язык программирования?

4.6.Базы данных

Всамом общем смысле база данных (БД) – это система хранения информации, обращение к которой осуществляется через средство управления базой данных (СУБД). На практике это данные, рассортированные по уникальным идентификаторам и организованные в виде таблиц. Основное назначение БД – предоставить пользователю нужную информацию в нужном месте и в нужное время. Надо сказать, что по мере своего развития БД справлялись с этой задачей все лучше и лучше. Тем не менее первые БД не совсем соответствовали ожиданиям. Организации и предприятия должны были бороться с огромными объемами дублированной и иногда противоречивой информации, предоставляемой, к тому же, различными и зачастую несовместимыми друг с другом способами.

Можно сказать, что путь развития БД – это путь все большего и большего отстранения программного обеспечения от физических структур данных. До появления БД информация хранилась в отдельных файлах. Самые первые системы управления файлами позволяли программистам создавать, записывать, обновлять и читать эти файлы. Файловая система имеет органический недостаток: программы должны точно «знать», где расположены данные. Как следствие, для определения адресов в развитых системах хранения данных необходимо применение довольно сложных труднооптимизируемых и модифицируемых алгоритмов.

55