Компоненты и технологии, № 4'2005 Компоненты
Маленькие ядра
для большой артиллерии
Программируемые логические контроллеры (ПЛК) — это базовые элементы систем промышленной автоматики. Сегодня на их основе построены все АСУ ТП, системы мониторинга, контроля функционирования, телеметрии, обеспечения безопасности и многие другие.
Игорь Петров
Мозгом ПЛК является вычислительное ядро, возможно, такое же, как и в обычном персональном компьютере (ПК). Принципиальное их отличие в том, что ПК ориентирован на работу с человеком, контроллер же работает с технологическим оборудованием. Средством ввода для него являются разнообразные датчики состояния, положения, скорости, температуры, давления, уровня и т. д. [1]. Результатом работы ПЛК является воздействие на управляющие органы: реле, пускатели, двигатели, регуляторы, клапаны, задвижки и др.
Иногда контроллеры (ПЛК) путают с микроконтроллерами. На самом деле это принципиально разные вещи. Микроконтроллер — это микросхема, а ПЛК — законченное изделие в корпусе (рис. 1). Выходы ПЛК способны коммутировать токи до десятков ампер, оснащены гальванической развязкой, защитой от перегрузок, средствами самодиагностики. Определение
Рис. 2. Пример программирования ПЛК в CoDeSys
166
ПЛК и основные его характеристики описаны в международном стандарте МЭК 61131-1 [2].
Еще одним отличием, внешне менее заметным, является принципиально иной подход к программированию. Для работы с микроконтроллером нужно детально разобраться с его устройством, ассемблером, уймой системных регистров, временными диаграммами периферийных устройств. Посмотрите интернет-конференции по программированию микроконтроллеров — вы не найдете там обсуждения высокоуровневых прикладных алгоритмов. Зато в изобилии описаны проблемы и «глюки» конкретных типов микроконтроллеров. На борьбу с этим уходит большая часть времени программиста. Половину из ее остатка отнимает изучение влияния на программу «оптимизации разводки печатной платы» и т. п.
Для программирования ПЛК применяются 5 стандартных языков, 3 из которых графические [3]. То есть программа не вводится с клавиатуры, а «рисуется» или компонуется из готовых модулей (рис. 2). Языки ПЛК определены стандартом МЭК61131-3. Все они являются аппаратно независимыми. Для всех типовых задач предусмотрены наборы готовых решений, составляющие стандартные библиотеки.
-------www.finestreet.ru-----------------------
Компоненты и технологии, № 4'2005
Программист ПЛК думает только о прикладной задаче. На каком процессоре выполнен контроллер и что внутри, его не интересует абсолютно. Более того, для работы с ПЛК профессиональный программист вообще не требуется. Вся технология контроллеров нацелена на то, чтобы быть доступной даже неспециалистам в области информатики. Любой грамотный инженер-технолог (например, зоотехник) вполне способен реализовать необходимый ему алгоритм управления оборудованием самостоятельно. Практика доказывает, что это действительно так. После некоторой работы с МЭК-языка-ми возврат к ассемблеру воспринимается так же, как и перспектива собрать компьютер на транзисторах МП39.
Возможно, вас уже утомило столь пространное введение. Давайте обратимся к трем простым практическим вопросам. Существуют ли в нашей повседневной практике задачи, где нужно применять контроллеры? Что дешевле — ПЛК или специализированная плата на микроконтроллере? Можно ли сделать ПЛК своими руками, опираясь на оборудование, имеющееся в небольшой ремонтной мастерской или даже домашней лаборатории?
Первый вопрос прост. Контроллеры сегодня применяются везде. Любая современная стиральная машина, автомобиль с инжекторным впрыском, лифт, электронный замок и даже телевизор имеют в своем составе контроллер, управляющий логической частью. Число задач для контроллеров огромно не только в сложных промышленных установках, но и в быту. Появился даже специальный термин «малая автоматизация» [4]. Здесь же вы найдете и детальное руководство по проектированию таких систем на микроконтроллерах.
Второй вопрос не столь очевиден. Большинство ПЛК — это совсем недешевые изделия, но они обладают широчайшей универсальностью и высокой надежностью. ПЛК незаменим в системах, где алгоритм управления меняется часто, и время его коррекции (простой дорогостоящего оборудования) является очень важным. Хорошие ПЛК имеют удобные средства монтажа, выполнены в соответствии с жесткими требованиями различных отраслей. В системах малой автоматизации ПЛК не получили распространения. Они здесь избыточны и дороги. Конечно, иногда очень хочется и из пушки по воробьям, и в булочную на такси, но...
На самом деле, существует компромиссное решение, позволяющее применить всю мощь технологии ПЛК в любых конструкциях. Ответ на третий вопрос — да. Причем без оговорок. То есть наша цель — это не создание сильно усеченного прототипа, похожего на ПЛК. Речь идет об устройстве, обладающем функциональными возможностями, присущими продукции мировых брендов.
Решение состоит в замене микроконтроллера вместе с традиционной обвязкой на устройство, объединяющее аппаратное ядро и программное обеспечение ПЛК.
Ядро ПЛК
Идея собрать микроконтроллер со всей необходимой обвязкой на миниатюрную уни-
---------------------www.finestreet.ru -
Компоненты
Рис. 3. Микропроцессорный МЭК-контроллер
версальную мезонинную плату не нова. В России наиболее известным изготовителем таких модулей является компания «Каскод» (www.kaskod.ru). Модули (контроллеры) ее производства построены на быстродействующих 16-разрядных микроконтроллерах Infineon. Они включают мощное вычислительное ядро, достаточную внешнюю память (ОЗУ и Flash), встроенный и внешний АЦП, часы реального времени, интерфейс RS232 и универсальную магистраль расширения. Большинство модулей поддерживают промышленную сеть CAN, причем даже с гальванической развязкой и элементами защиты.
Все это собрано на плате размером со спичечный коробок (рис. 3). Интересно, что все детали схемы просто не раскладываются (в один слой) на плате таких размеров. «Не раскладываются» они и по цене при покупке комплектующих изделий в розничном магазине. Причем нет гарантии, что они всегда есть в наличии.
Применение миниатюрных мезонинных микропроцессорных контроллеров снимает проблемы комплектации, отладки аппаратуры, достижения минимальных габаритов без приобретения дорогостоящего оборудования и многослойных печатных плат. Силовую часть схемы не представляет труда выполнить на обычной двусторонней печатной плате. При этом достигаются и приемлемые габариты и хорошая ремонтопригодность изделия.
Принципиально новым решением для отечественного рынка является серия микропроцессорных МЭК-контроллеров, разработанная совместно компаниями «Пролог» и «Каскод». Фактически это те же контроллеры, но оснащенные встроенной системой поддержки программирования МЭК 61131-3 CoDeSys SP. В комплект поставки включен CD с системой программирования CoDeSys, подробной документацией, набором библиотек и лицензией изготовителя. Наличие лицензии гарантирует техническое сопровождение.
Как мы уже сказали, применение МЭК-кон-троллеров является самым быстрым способом создания специализированных систем управления при минимальных затратах. Но есть и еще одно фундаментальное отличие, выделяющее МЭК-контроллеры в отдельный класс устройств — аппаратно-программные ядра ПЛК (в зарубежных источниках — PLC kernel). Полноценную возможность программирова-
ния получает не только изготовитель такой системы, но и конечный пользователь.
CoDeSys
CoDeSys — это универсальный комплекс МЭК-программирования высшего класса от немецкой компании Smart Software Solutions (3S). Сегодня CoDeSys занимает лидирующие позиции на рынке систем программирования ПЛК в Европе. Внутренняя структура этого комплекса достаточно сложна (как, например, MS Office), но с точки зрения пользователя он очень прост в освоении.
Комплекс CoDeSys включает специализированные редакторы МЭК-языков и конфигуратор контроллера, обеспечивает поддержку промышленных сетей и многое другое [3]. Основная его отличительная особенность — это встроенный компилятор кода. МЭК-про-граммы непосредственно преобразуются в машинные коды микропроцессора. В итоге достигается очень высокое быстродействие прикладных проектов. Помимо этого, комплекс обеспечивает многозадачность в прикладных проектах (циклические и вызываемые по событиям задачи). Среда программирования имеет встроенный графический интерактивный отладчик и эмулятор, многоканальный графический анализатор, встроенную систему визуализации объекта и программы управления (на ПК, в контроллере и через Интернет), развитый набор библиотек. Обеспечивается горячая коррекция кода прикладной программы без остановки работы контроллера!
CoDeSys ориентирован на применение в ПЛК среднего и высшего класса. Практика показала, что на популярных 8-разрядных микроконтроллерах (8051, PIC, AVR) можно построить универсальный ПЛК только с определенными ограничениями (вычисления с плавающей запятой, размер памяти, поддержка сетей). 16-разрядные микроконтроллеры позволяют создать ПЛК, обладающий всеми необходимыми возможностями. Таким образом, сочетание CoDeSys SP и микроконтроллеров Infineon является оптимальным решением, позволяющим получить отличные технические характеристики контроллера.
Среду программирования CoDeSys и документацию на русском языке можно бесплатно загрузить с сайта компании «Пролог» www.prolog.smolensk.ru. Здесь же вы найдете более подробное описание и демонстрационные версии программного обеспечения для микропроцессорных контроллеров. ММ
Литература
1. Болтон У. Карманный справочник инжене-ра-метролога. М.: Додека-XXI. 2002.
2. ГОСТ Р 51840-2001 (МЭК 61131-1-92). Программируемые контроллеры. Общие положения и функциональные характеристики.
3. Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования / Под ред. проф. В. П. Дьяконова. М.: СОЛОН-Пресс. 2004.
4. Николайчук О. И. Системы малой автоматизации. М.: СОЛОН-Пресс. 2003.
167
-Q-