Программно-аппаратные платформы SCADA-систем

Анализ перечня таких платформ необходим, поскольку от не­го зависит ответ на вопросы распространения SCADA-системы на имеющиеся вычислительные средства, а также оценка стоимо­сти эксплуатации системы (будучи разработанной, в одной опера­ционной среде, прикладная программа может быть выполнена в любой другой, которую поддерживает выбранный SCADA-пакет). В различных SCADA-системах этот вопрос решен по-разному. Так, Factory Link (версия 6.6) имела весьма широкий список поддерживаемых программно-аппаратных платформ (таблица 2.2.1).

Таблица 2.2.1 – Программно-аппаратные платформы

Операционная система Компьютерная платформа
DOS/MS Windows IBM PC
OS/2 IBM PC
SCO UNIX IBM PC
VMS VAX
AIX RS6000
HP-UX HP 9000
MS Windows NT IBM PC

В то же время в таких SCADA-системах, как RealFlex и Sitex, основу программной платформы принципиально составляет един­ственная операционная система (ОС) реального времени QNX.

Подавляющее большинство SCADA-систем реализовано на MS Windows платформах. Именно такие системы предлагают наибо­лее полные и легко наращиваемые HMI (Human Machine Interface) средства. Даже разработчики многоплатформенных SCADA-систем приоритетным считают дальнейшее развитие своих SCADA-систем на платформе Windows NT (например, Factory Link версии 7.0 выполнена уже на платформе Windows 2000/NT). Бы­строе развитие ОРС-технологий, низкие цены аппаратного обеспе­чения, распространенность Windows NT в офисных системах предприятий вместе с ее солидными техническими характеристи­ками – главные причины того, что абсолютное большинство про­изводителей SCADA-пакетов мигрировали в сторону этой опера­ционной системы. Применение ОС реального времени становится все более очевидным в основном во встраиваемых системах, где они действительно необходимы, однако Windows СЕ и там нахо­дит свою нишу.

Средства сетевой поддержки

Программно-аппаратные платформы SCADA-систем - student2.ru

Рисунок 2.2.1 – Сетевое взаимодействие SCADA-системы

Одной из основных черт современных систем автоматизации является их высокая степень интеграции. В любой из них могут быть задействованы объекты управления, исполнительные меха­низмы, аппаратура, регистрирующая и обрабатывающая информа­цию, рабочие места операторов, серверы баз данных и т. д. Очевидно, что для эффективного функционирования в этой разно­родной среде SCADA-система должна обеспечивать высокий уро­вень сетевого сервиса. Желательно, чтобы она поддерживала работу в стандартных сетевых средах (Arcnet, Ethernet и т. п.) с исполь­зованием стандартных протоколов (NETBIOS, ТСР/IР и др.), а также обеспечивала поддержку наиболее популярных сетевых стандартов из класса промышленных интерфейсов (Profibus, CANbus, Lon, Modbus Plus и т. д.). Обобщенная схема подобной систе­мы приведена на рисунке 2.2.1. Этим требованиям в той или иной сте­пени удовлетворяют практически все SCADA-системы, с тем лишь различием, что набор поддерживаемых сетевых интерфейсов раз­ный.

Встроенные командные языки

Встроенные технологические языки программирования – это инструмент, который предназначен для решения новых задач на базе системы контроля и управления технологическими процесса­ми. Такими задачами являются:

· программно-логическое управление технологическим оборудованием;

· алгоритмы оптимального (рационального) управления;

· расчет косвенных переменных по формулам;

· визуализация значений в цифровом виде трендов целевой обработки (текущие, средние или суммарные значения параметров по часам, сменам и суткам);

· формирование трендов целевой обработки из программы пользователя постфактум;

· архивирование дат и времени событий;

· создание сценария динамики экрана;

· интегрирование мгновенных расходов под задачи дозирования;

· создание альтернативных фильтров входных переменных.

Использование стандартных алгоритмов значительно упрощает создание программ. Большинство SCADA-систем имеют встроен­ные языки высокого уровня – VisualBasic-подобные языки, позво­ляющие сгенерировать адекватную реакцию на события, связан­ные с изменением значения переменной, с выполнением некоторого логического условия, с нажатием комбинации клавиш, а также с выполнением некоторого фрагмента с заданной частотой относительно всего приложения или отдельного окна.

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

· ориентация встроенных языков программирования на технологов – функции в таких языках являются высокоуровневыми, не требующими профессиональных навыков программирования при их использовании;

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

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

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

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

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

Во всех языках функции разделяются на группы, часть из кото­рых присутствует практически во всех языках: математические функции, функции работы со строками, обмен по SQL, DDE-обмен и т. д.

В разрабатываемом приложении создаются программные фрагменты, состоящие из операторов, и функций языка, которые выполняют некоторую последовательность действий. Эти про­граммные фрагменты связываются с разнообразными событиями в приложении, такими как нажатие кнопки, открытие окна, выпол­нение логического условия (а + b > с).

Каждое из событий ассоциируется с графическим объектом, окном, таймером, открытием или закрытием приложения. Когда приложение содержит сотни окон, тысячи различных графических объектов, а с каждым из них связано несколько событий, в при­ложении может «работать» огромное число отдельных программ­ных фрагментов. Велика вероятность их «одновременной» акти­визации.

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

Поддерживаемые базы данных

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

Однако для SCADA-систем требуются СУБД реального вре­мени, так как скорость записи в реляционные БД недостаточна (SQL-server обрабатывает до 2000 переменных/сек, iHistorian – до 20 000/сек). TRACE MODE использует свою БД, обеспечивающую запись до 600 000 переменных/сек.

Графические возможности

Средства визуализации – одно из базовых свойств SCADA-систем.

Для специалиста-разработчика системы автоматизации, так же, как и для специалиста-технолога, чье рабочее место создается, очень важен графический пользовательский интерфейс (GUI – Graphic Users Interface). Функционально графические интерфейсы SCADA-систем весьма похожи. В каждом из них существует гра­фический объектно-ориентированный редактор с определенным набором анимационных функций. Используемая векторная графи­ка дает возможность осуществлять широкий круг операций над выбранным объектом, а также быстро обновлять изображение на экране, используя средства анимации. Объекты могут быть про­стыми (линии, прямоугольники, текстовые объекты и т. д.) и сложными. Возможности агрегирования сложных объектов в раз­ных SCADA-системах различны. Все SCADA-системы включают библиотеки стандартных графических символов, библиотеки сложных графических объектов, имеют целый ряд других стандартных возможностей.

Однако каждая SCADA-система по-своему уникальна и, не­смотря на поддержание стандартных функций, обладает присущи­ми только ей особенностями. При рассмотрении графических воз­можностей SCADA-систем следует обращать внимание не только на возможности инструментариев по созданию графических объ­ектов, но и на другие предоставляемые пользователю услуги, об­легчающие и ускоряющие процесс разработки приложений (про­ектов). Например, Monitor Pro обладает мощной библиотекой анимированных объектов (Power Drag On).

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

· текстовое сообщение (информационные строки), числовые значения параметров в цифровой форме, барграфы или изображение вторичного (показывающего, регулирующего или регистрирующего) прибора;

· состояние оборудования – в виде текста или изме­няющих свой цвет и внешний вид фрагментов;

· состояние техноло­гического процесса – в виде строк подсказок или изменяющихся по форме или цвету частей технологического оборудования и т. д.

Наши рекомендации