Программно-аппаратные платформы 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 СЕ и там находит свою нишу.
Средства сетевой поддержки
Рисунок 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).
Графический редактор позволяет создавать статическую часть технологических мнемосхем, их фрагменты и элементы, не изменяющиеся в процессе работы системы, и далее выполнять динамизацию мнемосхем, т.е. отображать такие атрибуты, как текущие значения параметров, границы сигнализации, состояния исполнительных механизмов и т.д. Динамически изменяемая информация на экране может представляться в удобном для пользователя виде:
· текстовое сообщение (информационные строки), числовые значения параметров в цифровой форме, барграфы или изображение вторичного (показывающего, регулирующего или регистрирующего) прибора;
· состояние оборудования – в виде текста или изменяющих свой цвет и внешний вид фрагментов;
· состояние технологического процесса – в виде строк подсказок или изменяющихся по форме или цвету частей технологического оборудования и т. д.