Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования
Скачать 0.76 Mb.
|
Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. (Курс лекций, II семестр, гр. 21-АТМ) I. Программируемые контроллеры. Управляющий контроллер - это модуль, обеспечивающий логику работы устройства. Любая машина, способная автоматически выполнять некоторые операции, имеет в своем составе управляющий контроллер. Контроллер — это мозг машины. Контроллеры технически могут быть реализованы с помощью пневматического или гидравлического автомата, релейной или электронной схемы, или даже компьютерной программы. Контроллеры, выпущенные на основе реле или микросхем с «жесткой» логикой, невозможно научить выполнять другую работу без существенной переделки. Типичный программируемый логический контроллер (ПЛК) представляет собой блок, имеющий определенный набор выходов и входов, для подключения датчиков . Вход — это датчик (датчик движения, сумеречный датчик, термостат и т.п.). Выход — это исполнительные механизмы (фонарь, станок, насос и т.п.). Логика управления описывается программно на основе микрокомпьютерного ядра. Одинаковые ПЛК могут выполнять разные функции. Для изменения алгоритма работы не требуется переделки аппаратной части. Рис. 1. Принцип работы ПЛК [1, с. 12] Аппаратная реализация входов и выходов ПЛК ориентирована на сопряжение с унифицированными приборами и мало подвержена изменениям. Опрос входов и выходов контроллер осуществляет автоматически, за это отвечает системное программное обеспечение. Задачей прикладного программирования является реализация алгоритма управления машиной. Программируемый контроллер — это программно управляемый дискретный автомат, имеющий множество входов, подключенных посредством датчиков к объекту управления, и множество выходов, подключенных к исполнительным устройствам. Входы-выходы бывают: бинарными или дискретными — имеющие два состояния: включен и выключен, логическая 1 и 0; аналоговыми — непрерывный сигнал, например, уровень напряжения, температуры, скорости и т. д.; специализированные, для работы с специфическими датчиками (например, интерфейсы дисплейных модулей, блоки управления шаговыми двигателями). Аналоговые сигналы в ПЛК преобразуются в цифровую (дискретную) форму представления, но в технических документах к ПЛК указывается количество дискретных и аналоговых входов-выходов. I.1. Режим реального времени и ограничение на использование ПЛК. Большинство ПЛК работают по методу периодического опроса входных данных (сканирование), выполняет пользовательскую программу и устанавливает необходимые значения выходов. ПЛК имеет обычно один процессор и выполняет несколько задач псевдопараллельно, последовательными порциями. Время реакции на событие зависит от числа одновременно обрабатываемых событий. В системах реального времени помимо правильности решения определяющую роль играет время реакции. Т.к. время реакции исполнительных устройств значительно выше, с реальными ограничениями возможности использования ПЛК по времени приходится сталкиваться редко. I.2. Условия работы ПЛК. К негативным факторам, определяющим промышленную среду, относятся: температура и влажность, удары и вибрация, коррозионно-активная среда, пыль, электромагнитные помехи. ПЛК — это конструктивно законченное изделие, физическое изготовление которого определяется степенью защиты, начиная от контроллеров в пластиковых корпусах, предназначенных для монтажа в шкафу (степень защиты IP20), до герметичных устройств в литых металлических корпусах, предназначенных для работы в особо жестких условиях. I.3. Интеграция ПЛК в систему управления предприятием. Контроллеры традиционно работают в нижнем звене автоматизированных систем управления предприятием (АСУ). ПЛК является первым шагом при построении систем АСУ. Далеко не всегда удается создать полностью автоматическую систему. Общее руководство управления системой возлагается на квалифицированного специалиста — диспетчера. В отличии от автоматических систем управления такие системы называют автоматизированными. Диспетчерский пульт управления в простых случаях представляет собой табло с множеством кнопок и световых индикаторов. В более сложных системах применяются персональные компьютеры (ПК). Системы сбора данных и оперативного диспетчерского управления называют SCADA-системами. SCADA (от англ. supervisorycontrolanddataacquisition, диспетчерское управление и сбор данных) — программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУ. Помимо живого отображения технологического процесса, хорошие диспетчерские системы позволяют накапливать полученные данные, производят их хранение и анализ, определяют критические ситуации, позволяют создавать сценарии управления (как правило, Visual Basic), формируют данные для анализа экономических характеристик. Для связи ПЛК с системой диспетчерского управления использую ОРС-сервер (он умеет получать доступ к данным ПЛК), который встроен в систему программирования CoDeSys. Разработчику остается определить список доступных переменных, настроить сеть и конфигурацию ОРС-сервера для взаимодействия с системой SCADA. Рис. 2. Место ПЛК в АСУ [1, с. 19] Сеть fielbus – промышленная сеть Промышленная сеть позволяет создавать распределенную систему управления, в которой каждый ПЛК решает локальную задачу. Распределенные системы выигрывают по надежности, гибкости монтажа и простоте обслуживания. I.4. Рабочий цикл. При включении питания ПЛК выполняет самотестирование и настройку аппаратных ресурсов, контроль целостности прикладной программы, загрузку системной (управляющей) программы в оперативную память (ОЗУ). Работа ПЛК состоит из постоянного повторения последовательности действий, входящих в рабочий цикл. Рабочий цикл состоит: Начало цикла. Чтение состояния входов. В оперативной памяти ПЛК создается полная одномоментная зеркальная копия значений входов. Выполнение кода прикладной программы. Запись состояния выходов. Обслуживание аппаратных ресурсов (системный таймер, часы реального времени, оперативное самотестирование и т.д.). Монитор системы исполнения. Функции: загрузка кода программы в оперативную память, управление последовательностью команд, контроль времени цикла. Переход на начало цикла. Общее время рабочего цикла называется временем сканирования. Прикладная программа работает с копией значений входов, которые не изменяются в пределах одного рабочего цикла. Это фундаментальный принцип построения ПЛК сканирующего типа. В развитых ПЛК устранение плавающего времени цикла осуществляется системой, например, если управляющая программа выполняется слишком быстро, то в рабочий цикл добавляется искусственная задержка. Если контроль цикла не предусмотрен, то для решения подобных задач используют таймеры. I.5. Время реакции. Время реакции — это время с момента изменения состояния системы до момента выработки соответствующей реакции. Если изменение значений входов произошло перед фазой чтения, то время реакции будет наименьшим, если изменения значений входов происходит сразу после фазы чтения, то время реакции будет наибольшим. В развитых системах предусмотрена возможность создавать отдельные программы исполняемые по прерыванию, помимо основного управляющего кода. Рис. 3. Время реакции ПЛК [1, с. 24] В ремя цикла сканирования является базовым показателем быстродействия ПЛК, I.6. Устройство ПЛК. Аппаратно ПЛК является вычислительной машиной. Архитектура его процессорного ядра практически не отличается от архитектуры компьютера. Отсутствует видеоплата, дисковая подсистема, средства ручного ввода. Рис. 4. Программируемый логический контроллер ОВЕН ПЛК-63 [1, с. 24] II. Стандарт МЭК 61131. МЭК — международная энерготехническая комиссия. Штаб-квартира в Женеве www.oec.ch МЭК 61131-3 раздел международного стандарта, описывающий языки программирования для программируемых логических контроллеров (ПЛК). Стандарт устанавливает 5 языков программирования: ST - Structured Text - структурированный текст (аналог языка Паскаль); IL - Instruction List - список инструкций; SFC - Sequential Function Chart - последовательные функциональные схемы; FBD - Function Block Diagram - диаграммы функциональных блоков (LogoSoft); LD - Ladder Diagram - релейно-контактные схемы (LogoSoft); Первые два языка относятся к классу текстовых, остальные графические. После принятия стандарта появилась возможность создания аппаратно-независимых библиотек. III. Инструменты программирования. Крупнейшие лидеры рынка ПЛК предлагают мощные комплексы для МЭК-языков (Concept, Siemens..). Наиболее популярные комплексы: CoDeSys – один из самых развитых функционально полных инструментов программирования МЭК 61131-3. Офиц. сайт: http://www.codesys.com IsaGRAF - инструмент разработки прикладных программ для ПЛК на языках стандарта 61131-3 и 61499, который позволяет создавать локальные или распределенные системы управления. Основа технологии — среда разработки приложений (ISaGRAF Workbench) и адаптируемая под различные аппаратно-программные платформы исполнительная система (ISaGRAF Runtime). Офиц. сайт: http://www.isagraf.com OpenPCS - Офиц. сайт: www.infoteam.de Интегрированная среда предполагает наличие: встроенного текстового редактора (автоматическое объявление переменных, проверка синтаксиса программы, нумерация строк и т.п.); графического редактора (автоматическая трассировка соединений компонентов, автоматическая расстановка компонентов, копирование и перемещение групп компонентов, масштабирование изображений и т.п.); средства отладки (единый механизм соединения с ПЛК, загрузку кода управляющей программы в ОЗУ и электрически перепрограммируемую память, выполнение программы в режиме реального времени, режим останова, горячий, холодный и заводской сброс ПЛК, графическую трассировку переменных, пошаговое выполнение команд, визуализаци с помощью графических примитивов); средства управления проектом (управление процессом трансляции и сборки кода, управление библиотеками, документирование проекта, описание переменных); средства восстановления проекта (сжатие всех файлов проекта и сохранение в памяти ПЛК, утилита архивации проектов и сохранение на сервере); средства безопасности (парольный доступ к проекту); средства тестирования проекта (поиск объявленных, но не используемых переменных и т.п.); средства импорта и экспорта. III. Комплекс MasterSCADA. MasterSCADA - это не просто один из современных SCADA- и SoftLogic-пакетов, это принципиально новый инструмент разработки АСУТП, в котором реализована совокупность средств и методов, обеспечивающих резкое сокращение трудозатрат и повышение надежности создаваемой системы. В MasterSCADA реализован объектный подход. Объект - это основная единица разрабатываемой системы, соответствующая реальному технологическому объекту (цеху, участку, аппарату, насосу, задвижке, датчику и т.п.), управляемому разрабатываемой с помощью MasterSCADA системой. Проект в MasterSCADA состоит из двух разделов: Система и Объект. Набор элементов дерева Система: Система (корневой элемент). Используется для общих настроек проекта (периоды опроса, типы мнемосхем и документов объектов, шкалы приборов, категории сообщений, настройки журналов, права доступа операторов и т.п.). Компьютер. Используется для коррекции тех настроек проекта, которые для данного компьютера отличаются от общих, а также стартовой мнемосхемы, списка операторов, имеющих доступ к этому рабочему месту, и т.п. Компьютер может быть подключен через коммуникационные порты Контроллеры или напрямую к OPC-серверу. OPC-сервер. Используется для настройки связи с контроллерами. MasterSCADA умеет читать конфигурацию любого OPC-сервера. Группы OPC-переменных. Формируются на основании информации о группировании переменных, полученной из OPC-сервера. OPC-переменные. Используются для связи с переменными контроллера. Набор элементов дерева «Объект»: Объект (корневой элемент). Используется для задания общих настроек, наследуемых другими объектами (периоды обработки данных, ). Объект (элемент иерархии). Используется для задания перечня и содержимого относящихся к нему документов (мнемосхем, трендов, журналов сообщений, рапортов, архивов, расписаний действий и т.п.). Подчиненные объекты наследуют настройки родительского объекта. Объект всегда позиционирован на одном из компьютеров системы. Тем самым задается, что эта рабочая станция используется для обработки данных объекта и хранения его первичного архива, а также определяет перечень операторов, имеющих к нему доступ. Функциональный блок. Библиотечный объект, предназначенный для обработки данных. Имеет функцию, входы, выходы, параметры настройки, сообщениями. Визуальный функциональный блок. Функциональный блок, имеющий визуальное (в виде динамического элемента мнемосхемы) представление. Визуальный функциональный блок можно путем перетаскивания вставлять в документы объекта. Группа переменных. Используется для задания общих настроек, наследуемых входящими в нее переменными и группами переменных. (периоды обработки данных). Значение. Переменная для отображения измеренного значения. Переменная имеет шкалу, единицу измерения, встроенный контроль границ и скорости изменения с формированием сообщений и изменением цвета отображения. При перетаскивании в мнемосхемы и окна может быть вставлена, как в виде числового значения, так и в виде щитового прибора выбранного типа. Команда. Переменная для передачи введенного значения от органа управления мнемосхемы или поля ввода иных документов. При перетаскивании в мнемосхемы и окна может быть вставлена, как в виде изменяемого числового значения, так и в виде щитового органа управления выбранного типа. Расчет. Переменная, значение которой формируется в результате вычисления заданной пользователем. Событие. Отличается от расчета логическим результатом вычисления, а также возможностью формирования сообщения и выполнения заданного перечня действий в момент перехода значения из 0 в 1 (из отключенного во включенное состояние). III. 1. Пользовательский интерфейс системы. Рис. 5. Интерфейс системы MasterSCADA Интерфейс системы состоит: Имени файла проекта (Заголовок) Меню Панели инструментов Дерева системы (1) , в котором отображены элементы конфигурации такие, как компьютеры, ОРС серверы, и т. д. Описывается техническая структура АСУТП. Дерева объектов (2) , включающее в себя объекты, переменные, группы переменных, функциональные элементы. Описывается организационная структура технологического объекта. Страницы свойств элементов (3) , на которых производятся все необходимые настройки элементов. Отсюда запускается редактор схем функциональных блоков. Палитры элементов (4), из которой берутся библиотечные объекты, функциональные блоки и т. д. Отсюда вставляются типовые элементы в деревья проекта. Контекстное меню (вызывается по правой кнопке мыши), здесь собраны те действия, которые можно сделать с этим элементом дерева. III.2. Разработка проекта. Разработка программ контроллеров Настройка связей с контроллерами средствами OPC-сервера Настройка связей с БД Описание системы управления Описание технологического проекта Задание типовых настроек Создание документов (свойства объектов) Администрирование (права операторов) Тестирование системы. Примечание. Работы можно выполнять параллельно, например: один специалист программирует и отлаживает контроллеры и управляемые ими механизмы ввода-вывода, другой – проектирует систему управления, третий разрабатывает пользовательский интерфейс оператора. III.2.1. Разработка программ контроллеров. Типы данных Типы данных относятся к общим элементам языков МЭК. Тип данных переменных определяет род информации, диапазон представления и множество допустимых операций. Любую переменную (параметр) можно использовать только после ее объявления. Присваивать значения одной переменной другой можно, если только они обе одного типа. Допускается присвоение значения переменной совместимого типа, например: Переменной типа SINT (диапазон значений от -128 до +127) можно присвоить значение логической переменной, способную принимать только два значения: логической 1 и 0, но не наоборот. |