В технической литературе управляющие контроллеры АСУТП часто называются микроконтроллерами - программируемыми, микропроцессорными, промышленными, логическими и т.д. Такое многообразие в названиях часто приводит к некоторой путанице в терминах: например, под микропроцессорным контроллером часто понимается микросхема с тем же названием - микроконтроллер. И хотя в большинстве управляющих контроллеров процессорный модуль реализован именно на основе чипов микроконтроллеров, тождественность в названиях представляется неверной. Ситуация аналогична той, когда персональный компьютер называют именем его центрального процессора: Pentium III. Но ведь у компьютера кроме собственно процессора Pentium существуют еще монитор, клавиатура и много других устройств. Так и в управляющих контроллерах - микропроцессор лишь часть, хотя и важная, всей разнообразной периферии. Поэтому представляется корректным название "управляющий контроллер", которое отражает суть выполняемых устройством функций - контроль и управление. Размеры же, принцип работы и внутренняя начинка устройств могут быть различными.

Структурная схема

В архитектуре АСУТП управляющие контроллеры занимают место между уровнем датчиков и исполнительных механизмов и системами верхнего уровня управления процессом. Основная функция контроллеров в системе - сбор, обработка и передача на верхний уровень первичной информации, а также генерация и передача управляющих воздействий на исполнительные механизмы.

Рассмотрим компоненты контроллера по порядку.

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

Модуль процессора. В зависимости от используемой электроники они могут быть восьми- и 16-разрядными, однако для АСУТП более важны другие их параметры: максимальное число обрабатываемых входов-выходов (до 8192), общий объем памяти программ (до 1664 Кбайт), время выполнения команды (0,1-0,5 мкс), число возможных таймеров/счетчиков, число входов прерываний, возможность расширения и т.д. Для эффективной работы процессорные модули управляющих контроллеров должны иметь (и имеют) разветвленную систему команд и характеристики управляющего компьютера с возможностью обмена информацией с другими уровнями управления процессом. По сути дела, по логическому построению модуль процессора контроллера - это системный блок персонального компьютера, за одним лишь исключением: вместо дисковых накопителей в контроллерах используются ППЗУ с ультрафиолетовым стиранием и флэш-память.

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

Модули вывода. Обеспечивают выдачу управляющего сигнала на исполнительный механизм. Могут выдавать управление постоянным, переменным, импульсным током, а также по типу реле - замкнуто/разомкнуто. Выпускаются с транзисторными, тирристорными, симисторными и релейными выходными цепями. Стандартная нагрузочная способность выходной цепи - 2 А.

Модули связи и интерфейсов. Обеспечивают связь контроллеров с верхним уровнем, а также между собой. В практике построения АСУТП используются как стандартные "компьютерные" интерфейсы (ИРПС, Centronics), так и специализированные шинные системы.

Специальные модули. Предназначены для выполнения специальных функций: подключения сенсоров, термопар, термосопротивлений, терминалов, программаторов и т. п.

Физическое и логическое расположение контроллеров между датчиками, исполнительными механизмами и управляющими компьютерами обусловило необходимость совместной работы контроллера с этими устройствами и, естественно, наличия у контроллеров определенных "черт" как систем низшего, так и высшего уровня.

С низшим уровнем контроллеры имеют общие сигналы и управляющие воздействия, причем некоторые модули ввода способны снимать сигнал непосредственно с датчиков, а управляющее напряжение некоторых модулей вывода может служить напряжением питания для маломощных исполнительных механизмов.

Программное обеспечение

Функционирование контроллеров под управлением собственного локального ПО должно быть тесно увязано с ПО систем более высокого уровня. Все современные программируемые логические контроллеры (ПЛК) обладают развитыми программными средствами. Программирование контроллера подразумевает описание в памяти ПЛК алгоритма функционирования контролируемой и управляемой технологической системы или ее части. В настоящее время не существует единого безусловного стандарта языков ПЛК, хотя существует международная норма IEC 1131. Но почти каждый производитель создает свой язык для контроллеров собственного производства. Языки создаются на основе Ассемблера конкретного кристалла, используемого в контроллере; чаще всего используется система команд MCS-51. Технологический язык ПЛК позволяет:

  • проводить опрос входов;
  • инициализировать выходы;
  • обрабатывать логические и арифметические инструкции;
  • управлять таймерами-счетчиками;
  • преобразовывать коды и выполнять операции над данными;
  • пересылать файлы и осуществлять связь с другими ПЛК и компьютерами.

Большинство технологических языков, реализованных в контроллерах, позволяют представлять алгоритм в виде релейных или логических схем. В таком случае программирование сводится к графическому представлению функционирования системы и не требует детального изучения возможностей языка. Другими словами, специалист, настраивая контроллеры на выполнение определенной задачи, пользуется терминами самой задачи (процесса), а не конкретного языка программирования. К примеру, программа говорит контроллеру: опроси датчики клапанов 1 и 2 и контакты реле 5 и, если клапан 1 включен, а клапан 2 выключен или замкнуты контакты реле 5, включи двигатель 1.

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

Многие современные контроллеры комплектуются программируемыми терминалами для отображения выполняемого процесса, что позволяет организовать удобное место оператора, не используя персональные компьютеры.

Архитектура

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

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

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

Управляющие контроллеры широкого применения выпускает большое количество фирм, среди которых есть и такие известные, как Siemens, Turck, Omron и т. д. Существуют крупные производители контроллеров и в СНГ, выпускающие серии контроллеров "МикроДАТ", "Ломиконт" и другие.

Юрий Давидюк - инженер, специалист по системам управления технологическими процессами. С ним можно связаться по e-mail: muraw@inbox.ru.