Программные средства автоматизации
Задачи, которые позволяют решать современные системы промышленной автоматизации, можно разделить на следующие группы:
- автоматизация управления технологическими процессами;
- взаимодействие системы с оператором – системы диспетчирезации;
- автоматизированный контроль и измерения – системы мониторинга;
- обеспечение безопасности – системы блокировки и сигнализации.
На сегодняшний день уровень развития программных средств автоматизации позволяет использовать универсальные программы при выполнении конкретных задач автоматизации, просто используя специальные настройки.
К таким универсальным программам относятся:
- OPC сервер;
- средства МЭК-программирования контроллеров;
- SCADA-пакеты.
Широко используются программы такие программы, как LabView, Mathlab, HP-VEE и др., ориентированные на автоматизацию эксперимента, измерений и математическую обработку их результатов. Они относятся к графическим языкам программирования и предназначены для сбора данных, моделирования систем автоматизации, автоматического управления, обработки собранных данных и их визуального представления в виде графиков, таблиц, звука, компьютерной анимации.
Для простых задач часто используют заказное программирование на С++ или Visual Basic. Они используются там, где применение универсальных, но сложных и дорогих SCADA-пакетов нецелесообразно (одноконтурные системы, системы измерения однотипных параметров, построение графиков, простые системы индикации др.).
Первоначально для решения задач автоматизации использовались языки программирования высокого уровня и команда профессиональных программистов. Однако ряд требований, продиктованных временем (надежности, простоты, возможности модификации, ограничения по времени установки и стоимости, совместимости с другими системами, наличия удобного и универсального пользовательского интерфейса), привел к разделению труда по созданию программных средств автоматизации.
На сегодняшний день фирмы, специализирующиеся на программном обеспечении, создают универсальные системы программирования задач автоматизации (SCADA-пакеты,
средства МЭК-программирования и др.), а инжиниринговые фирмы (системные интеграторы) адаптируют эти средства к нуждам конкретного заказчика. Благодаря существенному упрощению процесса адаптации по сравнению с классическим программированием, изменения в алгоритмы управления могут быть внесены непосредственно технологом эксплуатирующей организации без привлечения системных интеграторов и программистов.
Программные средства автоматизации должны удовлетворять требованиям открытости, то есть поддерживать:
- стандартные средства программирования МЭК;
- стандарт ОРС для связи с физическими устройствами;
- стандартные сетевые протоколы Ethernet, Modbus; Profibus; CAN и др.;
- стандартный интерфейс ODBC (Open Database Connectivity – подключение к открытой базе данных) для доступа к базам данных с языком запросов SQL;
- наиболее распространенные операционные системы (Windows XP/CE, Linux);
- веб-технологию;
- обмен данными с Microsoft office.
Связь ПО с физическими устройствами в СА осуществляется с помощью методов DDE (практически вытеснена), OLE, COM/DCOM и OPC.
DDE (Dynamical Data Exchange) – динамический обмен данными, использовалась для обмена данными между SCADA-пакетами (клиент) и физическим устройством (сервер);
OLE (Object Linking and Embedding) – связывание и внедрение объектов;
COM (Component Object Model) – модель многокомпонентных объектов, представляет средства для взаимодействия между разрозненными программными модулями (клиент – сервер), написанными на разных языках, которые собираются в единую систему во время исполнения. Может быть размещена и исполняться на веб-странице;
DCOM (Distributed COM) – COM для распределенных систем, позволяет взаимодействовать программам, работающим на разных компьютерах сети. Является универсальной программной технологией, позволяющей осуществить взаимодействие между SCADA в качестве клиента и сервером, обеспечивающим интерфейс к аппаратным средствам промышленной автоматизации. Является базой для стандарта ОРС.
ОРС (OLE for Process Control) – OLE для управления процессами. Лежит в основе всех современных SCADA-пакетов, взаимодействующих с аппаратурой через ОРС-сервер.
Системы автоматизации работают с большими объемами данных, которые надо хранить, сортировать, группировать, извлекать и представлять в виде, удобном для пользователя. Данные извлекаются с помощью языка запросов SQL (Structured Query Language –структурированный язык запросов), который стал стандартом в системах автоматизации.
Наиболее распространенные СУБД: Microsoft SQL Server, Microsoft Access и Excel. Открытые системы используют обращение к СУБД через драйвер ODBC. Он позволяет обеспечить независимость прикладной программы от типа СУБД и операционной системы и позволяет подключиться к нескольким различным СУБД. Для работы с новой базой данных пользователю достаточно добавить в систему новый драйвер ODBC, не изменяя прикладную программу.
Быстродействие ПЛК/компьютера влияет на величину динамической погрешности системы автоматизации и запас ее устойчивости при наличии обратной связи. Большинство операционных систем (ОС) не могут обеспечить одно и то же время выполнения задачи при повторных запусках, т.е. время выполнения является случайной величиной.
Для решения этой задачи были разработаны ОС реального времени (ОС РВ), которые обеспечивают детерминированное время выполнения задач и время реакции на аппаратные прерывания. Причем важно не само время выполнения задачи, а гарантированность постоянства величины этого времени для одной и той же задачи. Различают ОС жесткого (гарантирует известное время выполнения) и мягкого (неопределенность полностью не устранена) реального времени. Например, Windows XP при управлении медленными (тепловыми) процессами может рассматриваться как ОС РВ.
Базовые требования для обеспечения режима РВ:
- высокоприоритетные задачи должны выполняться в первую очередь;
- должна быть исключена инверсия приоритетов (поток с высоким приоритетом требует предоставления ресурса, который уже занят потоком с более низким приоритетом, т.е. высокоприоритетный процесс «стоит в очереди»);
- процессы, время которых нельзя планировать, никогда не должны полностью занимать ресурсы системы.
Наиболее распространенными в ПЛК и компьютерах для решения задач автоматизации являются ОС Windows CE (жесткая), QNX Neutrino и OS-9 (мягкая).