Требования к архитектуре
Архитектура автоматизированной системы - это наиболее абстрактное ее представление, которое включает в себя идеализированные модели компонентов системы, а также модели взаимодействий между компонентами. Элементы* архитектуры находятся во взаимосвязи, образуя единую автоматизированную систему и обеспечивая решение поставленной задачи автоматизации на архитектурном уровне. В то же время архитектура оставляет достаточно свободы для выбора конкретных технических решений [Клир]. Поэтому правильно спроектированнаяархитектура допускает множество технических реализаций путем выбора различных компонентов архитектуры и методов взаимодействия между ними.
Элементами архитектуры являются модели (абстракции) датчиков, устройств ввода-вывода, измерительных преобразователей, ПЛК, компьютеров, интерфейсов, протоколов, промышленных сетей, исполнительных устройств, драйверов, каналов передачи информации.
Архитектуру создает архитектор [Клир]. Основным требованием к архитектору является знание предметной области (принципов функционирования объекта автоматизации) и знание технических характеристик аппаратных и программных средств, используемых для построения системы.
При построении архитектуры должны быть заложены следующие свойства будущей автоматизированной системы:
o слабая связанность элементов архитектуры между собой (т. е. декомпозицию системы на части следует производить так, чтобы поток информации через связи был минимален и через них не замыкались контуры автоматического регулирования);
o тестируемость (возможность установления факта правильного функционирования);
o диагностируемость (возможность нахождения неисправной части системы);
o ремонтопригодность (возможность восстановления работоспособности за минимальное время при экономически оправданной стоимости ремонта);
o надежность (например, путем резервирования);
o простота обслуживания и эксплуатации (минимальные требования к квалификации и дополнительному обучению эксплуатирующего персонала);
o безопасность (соответствие требованиям промышленной безопасности и технике безопасности);
o защищенность системы от вандалов и неквалифицированных пользователей;
o экономичность (экономическая эффективность в процессе функционирования);
o модифицируемость (возможность перенастройки для работы с другими технологическими процессами);
o функциональная расширяемость (возможность ввода в систему дополнительных функциональных возможностей, не предусмотренных в техническом задании);
o наращиваемость (возможность увеличения размера автоматизированной системы при увеличении размера объекта автоматизации);
o открытость (см. раздел "Понятие открытой системы");
o возможность переконфигурирования системы для работы с новыми технологическими процессами;
o максимальная длительность жизненного цикла системы без существенного морального старения, достигаемая путем периодического обновления аппаратных и программных компонентов, а также путем выбора долгоживущих промышленных стандартов;
o минимальное время на монтаж и пуско-наладку (развертывание) системы.
Архитектура системы может быть различной в зависимости от решаемой задачи автоматизации. Такими задачами могут быть:
o мониторинг (продолжительные измерение и контроль с архивированием полученной информации);
o автоматическое управление (в системе с обратной связью или без нее);
o диспетчерское управление (управление с помощью человека-диспетчера, который взаимодействует с системой через человеко-машинный интерфейс);
o обеспечение безопасности.
Любая из перечисленных задач может выполняться на большом расстоянии между объектом автоматизации и системой. В этом случае говорят о задачах телемеханики (дистанционные измерение, управление, сигнализация). Однако, в связи с тем, что каналы дистанционной связи (интернет, радиоканал, оптико-волоконный канал, проводной канал) органично входят практически в любую систему автоматизации, задачу телемеханики все реже выделяют как самостоятельную.
Построение любой АСУ** начинается с декомпозиции (деления на части) системы на подсистемы. Декомпозиция может бытьфункциональной (алгоритмической) или объектной.
При объектной декомпозиции используются распределенные системы управления (см. 1.1.3), когда каждый объект автоматизации оборудуется локальным технологическим контроллером, решающим задачи в пределах этого объекта. При функциональной декомпозициисистему автоматизации делят на части, группируя сходные функции, и для каждой группы функций используют отдельный контролер. Оба вида декомпозиции могут быть использованы совместно. Выбор способов декомпозиции является творческим процессом и во многом определяет эффективность будущей системы.
Объектная декомпозиция объекта автоматизации используется в современных SCADA-пакетах, см., например [Аблин]. Она аналогична объектной декомпозиции, используемой в объектно-ориентированном программировании (ООП), основными признаками которой являются абстрагирование, инкапсуляция, модульность, иерархическая организация [Буч]. Классам ООП соответствуют контроллеры (ПЛК), объектам - контроллеры с заданными свойствами (параметрами), инкапсуляция соответствует сокрытию конкретной реализации (например, с помощью функциональных блоков языка IEC 61131-3 (см. раздел "Программное обеспечение")); благодаря инкапсуляции существенно упрощается структура системы с точки зрения системного интегратора и тем самым уменьшается количество возможных ошибок. Модульность обеспечивается модульностью аппаратного обеспечения системы, иерархичность естественным путем вытекает из требований заказчика.
Независимо от метода декомпозиции, основным ее результатом должно быть представление системы в виде набора слабо связанных частей.Слабая связь между частями системы означает отсутствие между ними обратных связей или малость модуля петлевого усиления при наличии таких связей, а также отсутствие интенсивного обмена информацией.
Программные модули, реализующие отдельные функции в разных контроллерах, могут взаимодействовать между собой по промышленной сети с помощью технологии СОМ фирмы Microsoft, CORBA консорциума OMG [Причард] или SOAP консорциума W3C [Ньюкомер]. Для разработки заказного программного обеспечения распределенных систем управления используют специальную среду разработки систем реального времени [Kim] или стандартное программное обеспечение на основе технологии DCOM фирмы Microsoft (см. раздел"Программное обеспечение"). В статье [Perez-Aragon] приводится пример системы, в которой разные функции управления представлены в виде компонентов, написанных с помощью CORBA, распределенных между разными контроллерами либо сгруппированных в одном из них. В работе [Sunder] предлагается способ построения архитектуры системы на основе "ячеек автоматизации", при котором на разных уровнях иерархии используются одни и те же ячейки с одним и тем же программным обеспечением, что делает систему однородной несмотря на иерархичность и поэтому снижает трудоемкость ее проектирования и обслуживания.
Более подробно программное обеспечение систем автоматизации будет рассмотрено в разделе "Программное обеспечение".
Простейшая система
Изображенная на рис. 1.1 система в зависимости от ее назначения и программного обеспечения может быть системой сбора данных, системой диспетчерского или автоматического управления, системой контроля, испытаний, диагностики и т.д. Это простейший вариант автоматизированной системы, построенной на основе одного компьютера, устройств ввода-вывода, датчиков и исполнительных устройств (актуаторов).
На рис. 1.1 датчики подсоединены к одному многоканальному измерительному преобразователю. Однако различные типы датчиков могут требовать различных типов преобразователей или работать вообще без них. Некоторые типы интеллектуальных датчиков имеют интерфейсRS-485 и могут подключаться непосредственно к компьютеру (контроллеру), как, например, датчики серии NL-1S фирмы НИЛ АП.
Системы мониторинга (наблюдения) за физическими процессами не содержат исполнительных устройств или используют электромагнитные (реже полупроводниковые) реле для коммутации измерительных цепей.
Обычный офисный компьютер в стандартной конфигурации имеет два порта USB, один СОМ-порт, один принтерный порт LPT и порт Ethernet, который появляется после установки в компьютер Ethernet-платы. Количество USB портов можно увеличить с помощью USB хабов, а количество COM-портов - с помощью преобразователя USB в COM (см. www.RealLab.ru/Interface_Converters.htm). Промышленные компьютеры и контроллеры обычно имеют несколько портов RS-485, RS-422 и оптоволоконный порт. Для применения оптического канала с офисным компьютером к нему можно подключить оптоволоконный преобразователь интерфейса. Все перечисленные порты можно использовать для обмена информацией межу компьютером и внешними устройствами (рис. 1.2).
Рис. 1.2. Для подключения устройств ввода-вывода могут быть использованы все порты компьютера |
Для увеличения дальности передачи сигнала по линии связи до 1,2 км можно использовать преобразователи интерфейсов RS-232 в RS-485 или RS-422, а также интерфейс «токовая петля» (см. раздел "Промышленные сети и интерфейсы").
Внешние устройства, не имеющие гальванически изолированного порта, обычно подключают к компьютеру через изолирующие преобразователи интерфейсов, которые защищают компьютер от случайного попадания высокого напряжения в случае аварии или небрежного обращения. Примером изолирующего преобразователя для порта RS-232 может быть оптический изолятор OI-232-1000 (см. описание: pdf 200 Кб) фирмы НИЛ АПc напряжением изоляции 1000 В.
Если к компьютеру необходимо подключить еще одно устройство, а свободных портов не осталось, то можно использовать разветвители интерфейсов. Распространены разветвители интерфейсов USB (их еще называют хабами) и RS-232. Устройство, имеющее интерфейс RS‑232, можно подключить к USB порту компьютера, если использовать преобразователь USB в RS-232.
К компьютеру могут быть подключены не только специализированные модули ввода-вывода, но и многие измерительные приборы широкого применения. Например, вольтметр HP 34401A имеет интерфейс RS-232 и может быть подключен к компьютеру и программам, поддерживающим COM-технологию (например, MS Excel) с помощью СОМ-объекта RL232man фирмы НИЛ АП (рис. 1.2), подробнее см. раздел "Программное обеспечение".
Типовыми применениями описанной системы может быть домашняя автоматизация [Богданов], испытательный стенд для тестирования серийной продукции [Денисенко], лабораторные работы в ВУЗе, локальное управление технологическим процессом, контроль температуры в теплице или элеваторе, см. "Примеры применения" на вебсайте НИЛ АП.