Промышленные контроллеры (ПЛК)
5.1. Общие принципы построения ПЛК
Любая машина, способная автоматически выполнять некоторые операции, имеет в своем составе управляющий контроллер — модуль, обеспечивающий логику работы устройства. Контроллер — это мозг машины. Естественно, чем сложнее логика работы машины, тем «умнее» должен быть контроллер.
Технически контроллеры реализуются по-разному. Это может быть механическое устройство, пневматический или гидравлический автомат, релейная или электронная схема или даже компьютерная программа.
В случае, когда контроллер встроен в машину массового выпуска, стоимость его проектирования распределена на большое число изделий и мала в отношении к стоимости изготовления. В случае машин, изготавливаемых в единичных экземплярах, ситуация обратная. Стоимость проектирования контроллера доминирует по отношению к стоимости его физической реализации.
При создании машин, занятых в сфере промышленного производства, как правило, приходится иметь дело не более чем с единицами однотипных устройств. Кроме того, очень существенной здесь является возможность быстрой перенастройки оборудования на выпуск другой продукции.
Контроллеры, выполненные на основе реле или микросхем с «жесткой» логикой, невозможно научить делать другую работу без существенной переделки. Очевидно, что такой возможностью обладают только программируемые логические контроллеры (ПЛК). Идея создания ПЛК родилась практически сразу с появлением микропроцессора, т. е. 30 лет назад.
Физически, типичный ПЛК представляет собой блок, имеющий определенный набор выходов и входов, для подключения датчиков и исполнительных механизмов (рис. 1.1). Логика управления описывается программно на основе микрокомпьютерного ядра. Абсолютно одинаковые ПЛК могут выполнять совершенно разные функции. Причем для изменения алгоритма работы не требуется каких-либо переделок аппаратной части. Аппаратная реализация входов и выходов ПЛК ориентирована на сопряжение с унифицированными приборами и мало подвержена изменениям.
Рис. 1.1. Принцип работы ПЛК
Задачей прикладного программирования ПЛК является только реализация алгоритма управления конкретной машиной. Опрос входов и выходов контроллер осуществляет автоматически, вне зависимости от способа физического соединения. Эту работу выполняет системное программное обеспечение. В идеальном случае прикладной программист совершенно не интересуется, как подсоединены и где расположены датчики и исполнительные механизмы. Мало того, его работа не зависит от того, с каким контроллером и какой фирмы он работает. Благодаря стандартизации языков программирования прикладная программа оказывается переносимой. Это означает, что ее можно использовать в любом ПЛК, поддерживающем данный стандарт.
Программируемый контроллер — это программно управляемый дискретный автомат, имеющий некоторое множество входов, подключенных посредством датчиков к объекту управления, и множество выходов, подключенных к исполнительным устройствам. ПЛК контролирует состояния входов и вырабатывает определенные последовательности программно заданных действий, отражающихся в изменении выходов.
ПЛК предназначен для работы в режиме реального времени в условиях промышленной среды и должен быть доступен для программирования неспециалистом в области информатики.
Изначально ПЛК предназначались для управления последовательными логическими процессами, что и обусловило слово «логический» в названии ПЛК. Современные ПЛК помимо простых логических операций способны выполнять цифровую обработку сигналов, управление приводами, регулирование, функции операторского управления и т. д.
Помимо «классических» дискретных и аналоговых входов-выходов многие ПЛК имеют специализированные входы/выходы.Они ориентированы на работу с конкретными специфическими датчиками, требующими определенных уровней сигналов, питания и специальной обработки. Например, квадратурные шифраторы, блоки управления шаговыми двигателями, интерфейсы дисплейных модулей и т. д.
Абсолютное большинство ПЛК работают по методу периодического опроса входных данных (сканирования). ПЛК опрашивает входы, выполняет пользовательскую программу и устанавливает необходимые значения выходов. Специфика применения ПЛК обусловливает необходимость одновременного решения нескольких задач. Прикладная программа может быть реализована в виде множества логически независимых задач, которые должны работать одновременно.
На самом деле ПЛК имеет обычно один процессор и выполняет несколько задач псевдопараллельно, последовательными порциями. Время реакции на событие оказывается зависящим от числа одновременно обрабатываемых событий. Рассчитать минимальное и максимальное значения времени реакции, конечно, можно, но добавление новых задач или увеличение объема программы приведет к увеличению времени реакции. Такая модель более подходит для систем мягкого реального времени. Современные ПЛК имеют типовое значение времени рабочего цикла, измеряемое, единицами миллисекунд и менее. Поскольку время реакции большинства исполнительных устройств значительно выше, с реальными ограничениями возможности использования ПЛК по времени приходится сталкиваться редко.
В некоторых случаях ограничением служит не время реакции на событие, а обязательность его фиксации, например работа с датчиками, формирующими импульсы малой длительности. Это ограничение преодолевается специальной конструкцией входов. Так, счетный вход позволяет фиксировать и подсчитывать импульсы с периодом во много раз меньшим времени рабочего цикла ПЛК. Специализированные интеллектуальные модули в составе ПЛК позволяют автономно отрабатывать заданные функции, например модули управления сервоприводом.
Второй часто возникающей задачей является интеграция нескольких ПЛК с целью синхронизации их работы. Здесь появляются сети, обладающие рядом специфических требований. В целом это требования, аналогичные требованиям к ПЛК: режим реального времени, надежность в условиях промышленной среды, ремонтопригодность, простота программирования. Такой класс сетей получил название промышленных сетей (fieldbus). Существует масса фирменных реализаций и достаточно много стандартов таких сетей (Bitbus, Modbus, Profibus, CANopen, DeviceNet), позволяющих интегрировать аппаратуру различных фирм, но ни один из них нельзя признать доминирующим.
Благодаря продуктивному развитию средств сетевой интеграции появилась возможность создания распределенных систем управления. В 80-х гг. XX в. доминировали ПЛК с числом входов-выходов несколько сотен. В настоящее время большим спросом пользуются микроПЛК с количеством входов-выходов до 64. В распределенных системах каждый ПЛК решает локальную задачу. Задача синхронизации управления выполняется компьютерами среднего звена АСУ. Распределенные системы выигрывают по надежности, гибкости монтажа и простоте обслуживания.
Программные приложения, имитирующие технологию ПЛК на компьютере (оснащенном платами ввода-вывода), получили название программный ПЛК (soft PLC). Программная эмуляция ПЛК удобна тем, что благодаря наличию многозадачной операционной системы можно совместить в одном месте контроллер, среду программирования и систему диспетчерского управления.
Существенный минус такого решения — большое время выхода на рабочий режим после включения питания или зависания компьютера. Особенно опасно, если перезапуск произвел «сторожевой таймер» в автоматическом режиме, в то время как состояние исполнительных механизмов не соответствует исходным позициям. Загрузка операционной системы может отнимать несколько минут, все это время система оказывается неуправляемой. Для ПЛК время «холодного» запуска измеряется миллисекундами.
Для достижения сравнимых с ПЛК технических показателей по надежности компьютер, конечно, должен быть промышленного исполнения (на базе магистралей РС/104 или VME), а не дешевый офисный «no name».
5.2. Рабочий цикл ПЛК
Задачи управления требуют непрерывного циклического контроля. В любых цифровых устройствах непрерывность достигается за счет применения дискретных алгоритмов, повторяющихся через достаточно малые промежутки времени. Таким образом, вычисления в ПЛК всегда повторяются циклически. Одна итерация, включающая замер, обсчет и выработку воздействия, называется рабочим циклом ПЛК. Выполняемые действия зависят от значения входов контроллера, предыдущего состояния и определяются пользовательской программой.
По включению питания ПЛК выполняет самотестирование и настройку аппаратных ресурсов, очистку оперативной памяти данных (ОЗУ), контроль целостности прикладной программы пользователя. Если прикладная программа сохранена в памяти, ПЛК переходит к основной работе, которая состоит из постоянного повторения последовательности действий, входящих в рабочий цикл.
Рабочий цикл ПЛК состоит из нескольких фаз.
1. Начало цикла.
2. Чтение состояния входов.
3. Выполнение кода программы пользователя.
4. Запись состояния выходов.
5. Обслуживание аппаратных ресурсов ПЛК.
6. Монитор системы исполнения.
7. Контроль времени цикла.
8. Переход на начало цикла.
В самом начале цикла ПЛК производит физическое чтение входов. Считанные значения размещаются в области памяти входов. Таким образом, создается полная одномоментная зеркальная копия значений входов.
Далее выполняется код пользовательской программы. Пользовательская программа работает с копией значений входов и выходов, размещенной в оперативной памяти. Если прикладная программа не загружена или остановлена, то данная фаза рабочего цикла, естественно, не выполняется. Отладчик системы программирования имеет доступ к образу входов-выходов, что позволяет управлять выходами вручную и проводить исследования работы датчиков.
После выполнения пользовательского кода физические выходы ПЛК приводятся в соответствие с расчетными значениями (фаза 4).
Обслуживание аппаратных ресурсов подразумевает обеспечение работы системных таймеров, часов реального времени, оперативное самотестирование, индикацию состояния и другие аппаратно-зависимые задачи.
Монитор системы исполнения включает большое число функций, необходимых при отладке программы и обеспечении взаимодействия с системой программирования, сервером данных и сетью. В функции системы исполнения обычно включается: загрузка кода программы в оперативную и электрически перепрограммируемую память, управление последовательностью выполнения задач, отображение процесса выполнения программ, пошаговое выполнение, обеспечение просмотра и редактирования значений переменных, фиксация и трассировка значений переменных, контроль времени цикла и т. д.
Пользовательская программа работает только с мгновенной копией входов. Таким образом, значения входов в процессе выполнения пользовательской программы не изменяются в пределах одного рабочего цикла. Это фундаментальный принцип построения ПЛК сканирующего типа. Такой подход исключает неоднозначность алгоритма обработки данных в различных его ветвях. Кроме того, чтение копии значения входа из ОЗУ выполняется значительно быстрее, чем прямое чтение входа. Аппаратно чтение входа может быть связано с формированием определенных временных интервалов, передачей последовательности команд для конкретной микросхемы или даже запросом по сети.
Время реакции — это время с момента изменения состояния системы до момента выработки соответствующей реакции. Очевидно, для ПЛК время реакции зависит от распределения моментов возникновения события и начала фазы чтения входов. Если изменение значений входов произошло, непосредственно перед фазой чтения входов, то время реакции будет наименьшим и равным времени сканирования (рис. 1.5). Худший случай, когда изменение значений входов происходит сразу после фазы чтения входов. Тогда время реакции будет наибольшим, равным удвоенному времени сканирования минус время одного чтения входов. Иными словами, время реакции ПЛК не превышает удвоенного времени сканирования.
Рис. 1.5. Время реакции ПЛК
Помимо времени реакции ПЛК, существенное значение имеет время реакции датчиков и исполнительных механизмов, которое также необходимо учитывать при оценке общего времени реакции системы.
Время цикла сканирования является базовым показателем быстродействия ПЛК. При измерении времени рабочего цикла пользовательская программа должна содержать 1К логических команд. Для ПЛК, поддерживающих стандарт МЭК 61131-3, используют команды на языке IL. Иногда изготовители приводят несколько значений времени цикла, полученных при работе с переменными различной разрядности.
Ориентировочно о скорости обработки различных типов данных можно судить по тактовой частоте и разрядности центрального процессора. Хотя нет ничего удивительного в том, что восьмиразрядные ПЛК не редко оказываются быстрее 32-разрядных при выполнении битовых операций. Объясняется это тем, что в 8-разрядных микропроцессорах более распространена аппаратная поддержка работы с битами. Так, в PC-совместимых процессорах для выделения бита приходится использовать логические команды и циклический сдвиг.
Аппаратно ПЛК является вычислительной машиной. Поэтому архитектура его процессорного ядра практически не отличается от архитектуры компьютера. Отличия заключены в составе периферийного оборудования, отсутствуют видеоплата, средства ручного ввода и дисковая подсистема. Вместо них ПЛК имеет блоки входов и выходов.
Конструктивно контроллеры подразделяют на моноблочные, модульные и распределенные. Моноблочные, или одноплатные, ПЛК имеют фиксированный набор входов-выходов. В модульных контроллерах модули входов-выходов устанавливаются в разном составе и количестве в зависимости от требуемой конфигурации. Так достигается минимальная аппаратная избыточность. В распределенных системах модули или даже отдельные входы-выходы, образующие единую систему управления, могут быть разнесены на значительные расстояния.
Характерным для современных контроллеров является использование многопроцессорных решений. В этом случае модули ввода-вывода имеют собственные микропроцессоры, выполняющие необходимую предварительную обработку данных. Модуль центрального процессора имеет выделенную скоростную магистраль данных для работы с памятью и отдельную магистраль (сеть) для общения с модулями ввода-вывода.
5.3. Базовые функции ПЛК и их аппаратная реализация
Базовые функции представлены на рисунке 3.6. Ниже дадим описание аппаратных средств реализации этих функций.
Процессорные модули ПЛК могут строиться на основе широкой гаммы микропроцессоров (преимущественно в КМОП-исполнении - i386 EX, Siemens SAB 80C166 и др.), выбор которых зависит от технико-экономических требований, предъявляемых к распределенной системе управления. При этом быстродействие процессора как таковое не является самоценным качеством, а должно оцениваться в свете возможности реализации процессором алгоритма управления технологическим процессом в реальном времени.
Память ПЛК обеспечивает хранение ядра операционной системы реального времени, необходимых утилит и прикладных программ управления объектом. В ней используются микросхемы постоянной, программируемой и оперативной памяти (последняя обеспечивает хранение промежуточных результатов и загружаемых прикладных управляющих программ).
Средства коммуникации ПЛК реализуют дистанционную загрузку задач и оперативный обмен данными между ПЛК, рабочими станциями операторов и УВК верхних уровней на расстоянии от сотен метров до нескольких километров со скоростями, соответствующими требованиям реактивности системы управления. Средства интерфейса с оператором выполняются с учетом производственных условий эксплуатации: мониторы имеют противоударный корпус с прочной пылевлагозащищенной передней панелью; в клавиатурах используется ограниченный набор функциональных и алфавитно-цифровых клавиш, обязательно предусматривается пылевлагозащита. Обмен данными между ПЛК и УВК верхних уровней может осуществляться по витой паре проводов, коаксиальному кабелю, оптоволоконному кабелю (особенно при работе в производственных условиях с высоким уровнем электромагнитных помех) или беспроводному каналу передачи данных. Устройства ввода данных и вывода управляющих воздействий предполагают работу с дискретными и аналоговыми сигналами от датчиков исполнительных механизмов объекта управления. Они реализуются обычно на отдельной плате и соединяются с вычислительным модулем через разъем. Требования к УСО в составе ПЛК по типам и количеству входных и выходных сигналов определяются его конкретным применением. Для расширения областей применения ПЛК, как правило, обеспечивается его работа с наиболее распространенными типами датчиков и приборов измерения физических величин: температуры (термопары, термосопротивления); электрических величин (тока, напряжения, мощности); положения; механических деформаций; давления; расхода жидкостей; тепловой энергии и др.
Основными параметрами УСО в общем случае являются скорость и погрешность преобразования, а также диапазон входных/выходных напряжений и токов.
В настоящее время в зарубежной и отечественной промышленности используется в основном номенклатура датчиков с входными и выходными параметрами, нормированными в соответствии с международными стандартами.
Наиболее целесообразным вариантом структурной организации модуля УСО является разделение его на две функционально-конструктивные части. Одна часть — системная, реализующая функции сопряжения с УВК и в ряде случаев функции обработки информации, и вторая — собственно модуль УСО, осуществляющий непосредственный прием сигналов от датчиков технологического процесса и выдачу управляющих воздействий на исполнительные механизмы.
На плате модуля УСО могут размещаться:
• преобразователь входного постоянного напряжения питания в постоянное напряжение питания разнотипных узлов (дискретных, аналоговых и др.);
• интерфейсные преобразователи;
• функциональные узлы (например, АЦП) с гальванической развязкой;
• нормализаторы уровней сигналов, осуществляющие, например, преобразование тока в напряжение, фильтрацию и усиление аналогового сигнала, смещение начального значения диапазона входных сигналов, согласование высокоуровневых входных и выходных дискретных сигналов от объекта с сигналами контроллера и обеспечивающие непосредственное подключение датчиков, двигателей и т.д.
На плате модуля УСО могут быть также установлены специализированные процессоры, выполняющие цифровую фильтрацию и предварительную обработку информации с датчиков, эталонный источник напряжения для оценки и коррекции метрологических характеристик АЦП и др. Такие интеллектуальные УСО позволяют существенно сократить затраты времени центрального процессора и повысить производительность системы. С развитием микроэлектроники цифровая обработка сигналов и другие интеллектуальные функции будут реализованы в УСО уже на уровне первичных преобразователей.
Модули УСО должны содержать элементы гальванического разделения цепей связи с датчиками и исполнительными устройствами.
Сигналы к УСО от датчиков (или сигналы от УСО к исполнительным устройствам) передаются по проводам, которые сопрягаются с кроссовыми соединителями (переходными устройствами) - кабельными разъемами или клеммными колодками с пружинящими или выполненными «под винт» зажимами (зажимы предпочтительнее, так как позволяют подсоединять и отсоединять провода независимо друг от друга).
Для промышленных контроллеров, как и для УВК, характерна магистрально-модульная структура. Модуль процессора и модули УСО имеют единый функциональный, электрический и конструктивный интерфейс; в ПЛК находят применение как стандартные интерфейсы (например, шина ISA), так и специализированные, рассчитанные на контроллерные применения (например, ИМП, см. разд.3.3.3).
Средства индикации ПЛК предназначены для вывода информации о состоянии устройства и процесса управления в целом, о прохождении тестов и типах обнаруженных ошибок, а также о состоянии каналов связи с объектом управления. Элементами индикации могут служить светодиоды или светодиодные индикаторные панели. Введение средств индикации не является обязательным.
5.4. Программное обеспечение ПЛК
Главными требованиями к программному обеспечению для ПЛК являются:
• автономность;
• поддержка процессов сбора, анализа информации и управления в реальном времени;
• возможность дистанционного управления со стороны центральной станции (УВК);
• поддержка локальных баз данных в реальном времени;
• сетевая поддержка.
Программное обеспечение распределенной системы (УВК — ПЛК) включает следующие основные компоненты:
• тестовое программное обеспечение;
• базовое программное обеспечение;
• прикладное технологическое программное обеспечение.
Тестовое программное обеспечение выполняет тестирование как отдельных ПЛК, так и системы в целом, включая тестирование и диагностику различных конфигураций.
Тестовое программное обеспечение содержит следующие компоненты:
•программы инициализации и конфигурирования, а также начальные тесты для ПЛК и сетевых адаптеров (внутреннее программное обеспечение, расположенное в ПЗУ);
• программы для тестирования ПЛК через линию связи с УВК или
специализированной наладочной аппаратурой;
• программы для тестирования, наладки и сбора статистики локальной сети распределенной системы;
• комплексное тестирование распределенной системы в целом;
• специализированное тестовое программное обеспечение для наладочных пультов, стендов, эмуляторов и т.д.
Базовое программное обеспечение состоит из набора инструментальных и исполнительных программных средств, ориентированных на построение многоуровневых систем.
В состав исполнительных базовых программных средств входят операционные системы реального времени, управляющие выполнением прикладной программы и устройствами ПЛК, и сетевые программные средства, обеспечивающие информационный обмен между отдельными узлами и возможность дистанционного доступа и управления в распределенной системе.
Системное программное обеспечение (СПО) ПЛК непосредственно контролирует аппаратные средства ПЛК. СПО отвечает за тестирование и индикацию работы памяти, источника питания, модулей ввода-вывода и интерфейсов, таймеров и часов реального времени. Система исполнения кода прикладной программы является составной частью СПО. Система исполнения включает драйверы модулей ввода-вывода, загрузчик кода программ пользователя, интерпретатор команд и отладочный монитор. Код СПО расположен в ПЗУ и может быть изменен только изготовителем ПЛК.
Код прикладной программы размещается в энергонезависимой памяти, чаще всего это электрически перепрограммируемые микросхемы. Изменение кода прикладной программы выполняется пользователем ПЛК при помощи системы программирования и может быть выполнено многократно.
Для разработки технологических программ используются следующие инструментальные средства: редакторы, системы программирования (поддержка ассемблеров и языков высокого уровня, а также языков технологического программирования), средства отладки и тестирования, а также инструментарий для функционально-ориентированных языков программирования, позволяющих с минимальными трудозатратами осуществлять проектирование системы «под ключ».
Технологические языки, используемые для разработки прикладных программ, включают в себя обычно арифметические и логические операции, средства организации циклов подключения и отключения портов, средства управления прерываниями (запрет/разрешение, установка приоритетов), средства работы с интервалами времени и обработки событий, а также средства для динамической загрузки и запуска программ. Элементами языка являются имена портов ввода-вывода и отдельных их разрядов, имена счетчиков, таймеров и контактов, флаги, а также параметры технологического процесса.
Современные средства автоматизации проектирования технологических программ позволяют программировать ПК с использованием библиотеки стандартных программных модулей -«алгоблоков», реализующих типовые алгоритмы управления АСУТП: компараторы, формирователи ШИМ-сигналов и др. Интегрированная среда для создания прикладных программ ПК функционирует в составе ПО УВК или ПЭВМ и включает в себя редактор текстов, компиляторы, компоновщик и отладчик; предусматривается возможность удаленной загрузки и отладки прикладных программ.
Контроль времени рабочего цикла
Правильно составленная пользовательская программа не должна содержать бесконечных циклов. В противном случае управление системе исполнения не будет передано, и, соответственно, нормальное функционирование контроллера будет нарушено. Для преодоления данной проблемы служит контроль времени цикла. Контроль осуществляется при поддержке аппаратно реализованного «сторожевого таймера». Если фаза пользовательского кода выполняется дольше установленного порога, то ее работа будет прервана. Таким образом, достигается предсказуемое поведение ПЛК при ошибках в программе и при «зависании» по причине аппаратных сбоев.
Обслуживание сторожевого таймера выполняется в рабочем цикле ПЛК. Выполнять эту операцию по прерыванию нельзя, поскольку при «зависании» процессора система прерываний достаточно часто продолжает исправно работать.
5.5. Промышленные контроллеры СМ1820М.ПК
Промышленные контроллеры СМ1820М.ПК входят в состав семейства CM 1820M и совместно с УВК СМ 1820М.ВУ позволяют строить унифицированные многоуровневые распределенные АСУТП. Промышленные контроллеры СМ1820М.ПК предназначены для работы в АСУТП различных отраслей промышленности в условиях производства, характеризующихся повышенной загрязненностью воздуха, вибрациями, ударами, сильными электромагнитными полями, значительными температурными колебаниями. Современные программируемые ПЛК СМ1820М.ПК являются развитием ПЛК на базе микроЭВМ СМ 1800.
Дата добавления: 2015-02-10; просмотров: 5706;