Статья
ориентирована на специалистов в области программного обеспечения АСУТП, АСУП
Архитектура
программного обеспечения, основанная на компонентах, долгие годы используется
в мире вычислительной техники. Также в последнее время широко применяются
объектно-ориентированные разработки. И только с недавних пор обе эти модели
начали применяться в системах управления процессами и в программном
обеспечении SCADA (Supervisory Control and Data Acquisition — продуктами
диспетчерского контроля и сбора данных). Объектно-ориентированный подход, по
мнению специалистов в области автоматизации, способен значительно упростить и
сократить расходы не только в процессе создания SCADA-системы, но и, что
зачастую не менее важно, — в процессе ее эксплуатации. Однако для того, чтобы
сделать осознанный выбор, необходимо понять различия между двумя подходами и
сравнить системы, основанные на тэгах, и объектно-ориентированные
компонентные системы.
SCADA-системы,
основанные на словаре тэгов
Изначально
пользователи программного обеспечения SCADA создавали графику и связывали ее
с тэгами, которые были представлены в виде адресов в PLC или в системах
управления. Все внимание сосредотачивалось на локальном компьютере и на
прикладном программном обеспечении. Вначале разрабатывалось новое HMI-приложение
на локальном компьютере, затем создавались окна или графические экраны. Для
окон создавалось графическое представление, после чего описание тэгов
импортировали из PLC или конфигурировали вручную. Затем для каждого тэга
определялись алармы и скрипты для выявления событий, тэги связывались с
графическими элементами, создавались анимационные скрипты или связи.
Производилось определение тэгов ввода-вывода и их связь с приложением.
Причем, если приложение будет развертываться в клиент-серверной среде, то оно
перестраивается для централизации алармов, определения событий, архивирования
исторических данных, графического представления и серверов ввода-вывода. Для
изменений в системе требовался останов приложения, изменения при этом
вносятся в многочисленные скрипты, тэги, ссылки на базы данных для внедрения
новых функциональных возможностей. Также необходимо перезагружать новые
HMI-приложения на каждой рабочей станции. При таком подходе HMI
(Human-mashine interface — интерфейс «человек—машина») и продукты
диспетчерского контроля, доступ к данным, создание скриптов, алармы и анализ
данных базируются на концепции тэгов. Среда, базируемая на тэгах, очень
проста и легко переносима из проекта в проект, но она лишена плоского
пространства имен, что не позволяет связывать элементы в сложные связанные
структуры. Глобальные изменения в базе данных тэгов чаще всего выполняются
вне среды разработки, с использованием текстовых или Excel-файлов с
последующим импортированием в приложения. Повторное использование наработок в
системах, основанных на тэгах, обычно организовывается посредством
динамического или клиент-серверного обращения, которое позволяет создавать
общую графику и во время исполнения скрипта переключать тэги для просмотра их
в режиме реального времени. Более того, из-за плоской структуры приложения
необходимо внимательно отслеживать все изменения и анализировать их влияние
на приложение в целом.
Объектно-ориентированные
SCADA-системы
Основанные на
компонентах объектно- ориентированные разработки в мире информационных
технологий первоначально относились к инструментарию, который освобождал
разработчиков от рутинных операций программирования и при этом позволял
повторно использовать общие компоненты при разработке. Как и можно было
ожидать, этот инструментарий не совсем подходит промышленной среде.
Во-первых, системные интеграторы и инженеры-технологи обычно не являются
программистами. Более того, существуют некоторые ключевые отличия в
архитектуре ИT-приложений и приложений автоматизации. К примеру, ИT-приложения
общего назначения обычно включают в себя доступ к базам данных посредством
недетерминированных, основанных на формах интерфейсов, которые чаще относятся
к банковскому обслуживанию в оперативном режиме, составлению отчетов,
финансовому учету или статическому просмотру информации. И наоборот,
приложения управления производством и диспетчерского контроля организовывают
доступ к данным PLC в реальном режиме времени , производят сложные расчеты
для определения количества продукции и отображают эти данные в режиме
реального времени в графической клиентской среде или инструментах для
последующего анализа, а также обеспечивают чтение и запись в базы данных
информации, связанной с производством и эксплуатацией. Как видно из
вышесказанного, эти задачи существенно отличаются, и одни и те же
объектно-ориентированные компоненты не могут удовлетворить требованиям обеих
систем одновременно.
Industrial
Application Server (промышленный сервер приложения) и ArchestrA Integrated Development Environment (интегрированная
среда разработки — IDE) открыли новую эру в разработке программного
обеспечения SCADA, позволяя создавать законченную объектную модель
предприятия. В данном случае разработчики не обязаны вникать в сложности
компьютерного окружения, что позволяет сосредоточить все усилия на
моделировании производственного оборудования, создании гибких
производственных модулей и процессов, которые участвуют в диспетчерском
контроле производства. Модель предприятия строится один раз, после чего
функции диспетчерского контроля легко выполняются. Небольшие затраты на этапе
построения шаблона объекта ведут к значительному повышению эффективности
разработок. Преимущества объектно-ориентированных SCADA-системВ объектно-ориентированной SCADA-системе объекты приложения содержат параметры, связанные с устройствами, которые они представляют. Например, объект «клапан» может содержать все события, алармы, безопасность, связи и скрипты, связанные с устройством. Однако объекты не просто представляют оборудование. Они могут также моделировать общие расчеты, методы доступа к базам данных, ключевые показатели производительности (KPIs), диагностику состояния, планирование ресурсов предприятия (ERP), операции по передаче данных и многие другие задачи, которые вам необходимо решать посредством информационной системы предприятия. Так как эти операции являются модульными, то их можно легко добавить в любую часть приложения. К примеру, если существует стандартный метод организации расчетов и рабочее задание на техническое обслуживание насоса, то вы можете инкапсулировать эти функции в объект и применять их к любому насосу в системе. Промышленные приложения обычно имеют некоторые общие компоненты, которые делятся на следующие типы: - устройства и оборудование
- способ эксплуатации
- средства измерений
- расчеты
- графические экраны
Это дает возможность использовать шаблонный подход, который позволяет разрабатывать маленькие программы (шаблоны) как объектные модули, из которых впоследствии создаются экземпляры объектов, собираются вместе, таким образом, формируя приложения. Этот подход на данный момент поддерживает большинство производителей. Объектно-ориентированная компонентная SCADA-система отличается тем, что после того, как из шаблонов созданы экземпляры, пользователь может вносить изменения в шаблон, которые автоматически распространяются на все дочерние экземпляры. Такие функциональные возможности, как репликация (создание компонента из шаблонов объекта) и наследование (внесение изменений через шаблоны объектов, распространяемые на выбранные или на все связанные компоненты), доступны благодаря тому, что SCADA имеет объектно-ориентированную структуру и оперирует отношениями «родитель — потомок». Вначале разрабатывается шаблон объекта «родитель», и компоненты являются либо копиями, либо наследуют родительский объект. Все объекты-«потомки» связаны с «родителями», поэтому изменения в «родителе» отображаются на всех «потомках». Такой подход обеспечивает мощные возможности для разработки, так как: - оптимизируется создание приложения путем использования шаблонов для автоматической генерации компонентов (репликации);
- изменения в проекте осуществляются путем внесения изменений в шаблоны объекта и дальнейшего наследования;
- внесение изменений в систему и расширение проекта упрощается и становится более эффективным благодаря автоматической репликации.
Основания для выбора объектно-ориентированной SCADA-системыОбычно эффективность проектирования незаметна при разработке диспетчерских приложений и SCADA-приложений, и важность его оптимизации кажется принципиальной. Однако проектирование усложняется по мере увеличения количества разработчиков, задействованных в проекте. Объектно-ориентированный подход к разработке приложений помогает решить эти проблемы, позволяя создать один раз шаблон объекта для устройства и в дальнейшем использовать его в приложении. Так же, как правило, создается централизованное хранилище для разработки приложений и для интегрированной среды разработки, а также позволяет нескольким пользователям модифицировать и создавать приложение одновременно, что предоставляет дополнительные удобства при программировании. В наше время предприятиям непросто найти свободные средства на внесение изменений в существующую систему управления. При этом в большинстве случаев производственное оборудование и аппаратное обеспечение для управления процессом настолько эффективно, насколько это возможно. Необходимые изменения нередко удобнее всего вносить со стороны программного обеспечения, расположенного в сети во главе иерархии системы управления процессом. Сюда же относится управление активами, ERP-интеграция, оптимизация производства и приложения для построения отчетности. В этом случае необходима платформа для интеграции приложений в другие системы, например, Industrial Application Server, обеспечивающая интеграцию данных и безопасность коммуникации, что необходимо при связывании «островков» автоматизации предприятия (традиционная картина для нашей страны) в единую автоматизированную систему. Нет сомнения в том, что новый, объектно-ориентированный подход вскоре возобладает — благодаря тому, что и разработчики, и пользователи систем в результате оказываются в выигрыше. Это и экономия времени (а значит, и средств) на разработку, и простота внесения необходимых пользователю изменений, которые неизбежно происходят на предприятии. Последнее особенно важно, так как позволяет продлить жизненный цикл системы, сэкономив в будущем значительные средства.
|