текст. Внедрение промышленных логических контроллеров на предприятиях
Скачать 0.51 Mb.
|
Внедрение промышленных логических контроллеров на предприятиях. Слово "контроллер" произошло от английского " control" (управление), а не от русского "контроль" (учет, проверка). Контроллером в системах автоматизации называют устройство, выполняющее управление физическими процессами по записанному в него алгоритму, с использованием информации, получаемой от датчиков и выводимой в исполнительные устройства. Первые контроллеры появились на рубеже 60-х и 70-х годов в автомобильной промышленности, где использовались для автоматизации сборочных линий. В то время компьютеры стоили чрезвычайно дорого, поэтому контроллеры строились на жесткой логике (программировались аппаратно), что было гораздо дешевле. Однако перенастройка с одной технологической линии на другую требовала фактически изготовления нового контроллера. Поэтому появились контроллеры, алгоритм работы которых мог быть изменен несколько проще - с помощью схемы соединений реле. Такие контроллеры получили название программируемых логических контроллеров (ПЛК) Программируемые логические контроллеры (ПЛК) уже давно и прочно заняли свою нишу на рынке средств автоматизации. Развитие полупроводниковой элементной базы, разработка новых средств информационного обмена, развитие алгоритмов управления способствует тому, что линейка ПЛК непрерывно расширяется. Многообразие ПЛК с различными функциональными и техническими, конструктивными характеристиками настолько велико, что разработчики систем автоматизации зачастую оказываются перед нелегким выбором: какой контроллер наилучшим образом подойдет для решения той или иной задачи. Контроллеры используются не только как автономные средства локального управления технологическим установками, но и в составе широкомасштабных систем автоматизированного управления целыми предприятиями. В настоящее время на Российском рынке преобладают контроллеры иностранных фирм: Siemens, Mitsubishi, ABB, Schneider Electric, GE Fanuc, однако с течением времени увеличивается доля рынка, занятая отечественной продукцией Российских фирм (НИЛ АП, Текон, Фаствел, ДЭП, Овен, Элемер, Эмикон и др.), Типы ПЛК Основной показатель ПЛК – возможное количество каналов ввода-вывода. нано-ПЛК (менее 16 каналов); микро-ПЛК (более 16, до 100 каналов); средние (более 100, до 500 каналов); большие (более 500 каналов). В зависимости расположения модулей ввода-вывода промышленных контроллеров различают: моноблочными - в которых устройство ввода-вывода не может быть удалено из контроллера или заменено на другое. Конструктивно контроллер представляет собой единое целое с устройствами ввода-вывода (например, одноплатный контроллер). Моноблочный контроллер может иметь, например, 16 каналов дискретного ввода и 8 каналов релейного вывода; модульные - состоящие из общей корзины (шасси), в которой располагаются модуль центрального процессора и сменные модули ввода-вывода. Состав модулей выбирается пользователем в зависимости от решаемой задачи. Типовое количество слотов для сменных модулей - от 8 до 32; распределенные (с удаленными модулями ввода-вывода) - в которых модули ввода-вывода выполнены в отдельных корпусах, соединяются с модулем контроллера по сети (обычно на основе интерфейса RS-485) и могут быть расположены на расстоянии до 1,2 км от процессорного модуля. По конструктивному исполнению и способу крепления контроллеры делятся на: панельные (для монтажа на панель или дверцу шкафа); для монтажа на DIN-рейку внутри шкафа; для крепления на стене; стоечные - для монтажа в стойке; бескорпусные (обычно одноплатные) для применения в специализированных конструктивах производителей оборудования (OEM - "Original Equipment Manufact urer"). По области применения контроллеры делятся на следующие типы: универсальные общепромышленные; для управления роботами; для управления позиционированием и перемещением; коммуникационные; ПИД-контроллеры; специализированные. По способу программирования контроллеры бывают: программируемые с лицевой панели контроллера; программируемые переносным программатором; программируемые с помощью дисплея, мыши и клавиатуры; программируемые с помощью персонального компьютера. Контроллеры могут программироваться на следующих языках: на классических алгоритмических языках (C, С#, Visual Basic); на языках МЭК 61131-3. Архитектурой контроллера называют набор его основных компонентов и связей между ними. Типовой состав ПЛК включает центральный процессор, память, сетевые интерфейсы и устройства ввода-вывода (рис. 6.1). Иногда эта конфигурация дополняется устройством для программирования и пультом оператора, устройствами индикации, реже - принтером, клавиатурой, мышью или трекболом. Процессорный модуль включает в себя микропроцессор (центральное процессорное устройство - ЦПУ), запоминающие устройства, часы реального времени и сторожевой таймер. Основными характеристиками микропроцессора являются разрядность (в ПЛК используются 8-ми, 16-ти и 32-разрядные микропроцессоры), тактовая частота, архитектура, наличие операций с плавающей точкой, типы поддерживаемых портов ввода-вывода, температурный диапазон работоспособности и потребляемая мощность. Емкость памятиопределяет количество переменных (тегов), которые могут быть обработаны в процессе функционирования ПЛК. В микропроцессорах время доступа к памяти является одним из существенных факторов, ограничивающих быстродействие. Основными типами памяти является постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ) и набор регистров. Регистры являются самыми быстродействующими элементами памяти, поскольку они используются арифметико-логическим устройством (АЛУ) для исполнения элементарных команд процессора. ПЗУ используют для хранения редко изменяемой информации, такой, как операционная система, драйверы устройств, загрузчик, исполняемый модуль программы пользователя. ОЗУ используется для хранения данных, которые многократно изменяются в процессе работы контроллера, например, значения тегов, результаты промежуточных вычислений, диагностическая информация, массивы, выводимые на графики, данные для отображения на дисплее.
Программирование контроллеров малой мощности выполняется с помощью кнопок, расположенных на лицевой панели или с помощью переносного пульта для программирования. В качестве пульта в последнее время используется компьютер формата "ноутбук". Программирование мощных контроллеров выполняется с помощью персонального компьютера, на котором устанавливается специальное программное обеспечение, например CoDeSys или ISaGRAF. Сторожевой таймер (Watchdog Timer - WDT) представляет собой счетчик, который считает импульсы тактового генератора и в нормальном режиме периодически сбрасывается (перезапускается) работающим процессором. Если процессор "зависает", то сигналы сброса не поступают в счетчик, он продолжает считать и при достижении некоторого порога вырабатывает сигнал "Сброс" для перезапуска "зависшего" процессора. Часы реального времени (РВ) представляют собой кварцевые часы, которые питаются от батарейки и поэтому продолжают идти при выключенном ПЛК. Часы РВ используются, например, для управления уличным освещением в зависимости от времени суток, в системах охраны объектов и других случаях, когда необходима привязка данных или событий к астрономическому времени. Стандартными напряжениями питания ПЛК являются напряжения 12 В, 24 и 48 В. Источником электрической энергии обычно является промышленная сеть 220В, 50 Гц. В случае распределенных систем автоматизации источник питания может быть расположен вдали от ПЛК, поэтому напряжение на клеммах ПЛК или модулей ввода-вывода может сильно отличаться от напряжения источника питания вследствие падения напряжения на сопротивлении кабеля. Для решения этой проблемы каждый ПЛК или каждый модуль удаленного ввода снабжаются встроенным стабилизатором напряжения, который обеспечивает нормальное их функционирование в диапазоне напряжений от 10 до 30 В. Низкое напряжение питания позволяет питать контроллеры от аккумуляторов бортовых сетей транспортных средств или переносных аккумуляторов. В ПЛК иногда используют батарею для питания часов реального времени (которые должны функционировать при выключенном ПЛК) и для сохранения информации в ПЗУ на время аварийных перерывов питания. 6.3. Устройства ввода-выводаУстройства (модули) ввода-вывода являются интерфейсом между процессором ПЛК и реальным миром. В идеальном случае было бы желательно иметь в процессоре значения измеренных сигналов в любой момент времени. Однако поскольку количество каналов ввода-вывода в некоторых системах может достигать тысяч, а измерительные каналы всегда имеют ограниченную пропускную способность, измеренные значения поступают в процессор в дискретные моменты времени. Существует несколько уровней и способов опроса множества каналов ввода. Современный модуль ввода имеет свой собственный микроконтроллер, который выполняет циклический опрос всех своих каналов и помещает полученные данные в буфер. Если по алгоритму работы системы автоматизации используются только несколько каналов модуля, то неиспользуемые каналы можно замаскировать (исключить их из процедуры опроса), если это требуется для увеличения быстродействия системы. При поступлении в модуль команды считывания значений со входов собранные данные передаются из буфера модуля в ПЛК, где помещаются в буфер OPC сервера или в определенную область ОЗУ. Опрос модулей может выполняться циклически с одинаковой частотой для всех модулей, или с разной частотой. Второй вариант позволяет уменьшить загруженность шины, по которой выполняется обмен данными между модулями ввода и процессорным модулем. Циклический опрос всех модулей с заранее заданной частотой сильно загружает шину, по которой модули ввода связываются с процессором. Это особенно очевидно, если процессор сканирует входы для обнаружения сигнала от аварийного датчика, который может сработать один раз в 10 лет, или если вводятся данные от датчика температуры в условиях, когда температура постоянна. В подобных случаях более эффективны многомастерные шины (например, CAN или Profibus), которые позволяют использовать режим подписки, при котором процессор модуля ввода, в котором произошло изменение состояния входа, является инициатором обмена данными. Наибольшее распространение в промышленной автоматизации нашли одномастерные шины и циклический опрос (поллинг - от "polling") модулей ввода в силу своей простоты и сравнительно низкой стоимости. Модули ввода и вывода в промышленной автоматизации имеют гальваническую изоляцию между входными (выходными) зажимами и шиной контроллера. Напряжение изоляции составляет от 2500 В (реже от 500 В) до 4000 В. Иногда требуется выполнить одновременный опрос входов всех модулей ввода или вывести данные одновременно в каналы всех модулей вывода. Для решения этой проблемы используют широковещательные команды, которые воспринимаются всеми модулями одновременно и они выполняют ввод или вывод данных в свои буферные регистры в одно и то же время. После этого обычным циклическим опросом данные по очереди вводятся в процессорный модуль. Модули ввода соединяются с процессором последовательной или параллельной шиной. В магистрально-модульных системах используются параллельные шины ISA, PCI, Compact PCI, PCI Express, PC/104, SpeedBus, VME и др., в модульных ПЛК - частнофирменные (нестандартные) последовательные и параллельные шины. В контроллерах с распределенными (удаленными) модулями ввода-вывода наиболее распространены последовательные шины на основе интерфейсов RS-485 и CAN. Преимуществом параллельной шины является высокая пропускная способность, позволяющая выполнять сканирование модулей ввода с высокой частотой и использовать модули аналогового ввода с тактовой частотой АЦП до 100 кГц. Однако небольшая длина параллельной шины, ограниченная рассинхронизацией отдельных бит в передаваемом слове, не позволяет подключить к одному контроллеру более 32 модулей. Контроллеры с последовательной шиной имеют противоположные свойства. Кроме того, они позволяют организовать распределенные системы сбора данных и управления, преимущества которых обсуждались в разделе "Архитектура автоматизированной системы". Большинство параллельных и последовательных шин контроллеров являются одномастерными, поскольку многомастерные шины существенно сложнее и дороже. Обмен данными с модулем выполняется по адресу, который обычно записывается в ПЗУ модуля. Иногда адресом является номер слота, в который вставляется модуль или положение микропереключателя. Цепи входов и выходов модулей ввода должны иметь гальваническую изоляцию, назначение которой подробно описано в разделе "Защита от помех". Гальваническая изоляция может быть поканальная, когда каждый канал изолирован от остальных, или групповая. Обычно используется групповая изоляция. В удаленных модулях распределенных ПЛК может быть использована индивидуальная гальваническая изоляция интерфейса RS-485 каждого модуля или групповая изоляция интерфейсов нескольких модулей с помощью одного модуля развязывающего повторителя интерфейсов. Для передачи напряжения питания в изолированную часть модуля используются DC-DC преобразователи, построенные с применением развязывающих миниатюрных трансформаторов. Современные модули ввода-вывода могут выполнять кроме функций ввода некоторую обработку вводимой информации и дополнительные функции: компенсацию температуры холодного спая термопар, линеаризацию нелинейных датчиков, диагностику обрыва датчика, автоматическую калибровку, ПИД-регулирование, управление движением. Перенос части функций контроллера в модули ввода-вывода является современной тенденцией, направленной на увеличение степени распараллеливания задач управления, обеспечение независимости локальных модулей (которые по своим функциям приближаются к ПЛК) и уменьшение потока информации между параллельно работающими процессорами в модулях ввода-вывода. По такому принципу построены, в частности, модули RealLab! фирмы Reallab!. ПеременныеПеременные могут быть объявлены либо как локальные в разделе определений POU, либо как глобальные - в списке глобальных переменных. Внимание: Глобальная и локальная переменные могут иметь одинаковое имя. В POU, где объявлена такая локальная переменная, она оказывается "сильнее" одноименной глобальной. Использовать одноименные глобальные переменные нельзя (например, объявленные в конфигурации контроллера и в списке глобальных переменных). Имя переменной (идентификатор) не должно содержать пробелов и спецсимволов, не должно объявляться более одного раза и не должно совпадать с ключевыми словами. Регистр символов не учитывается, это означает, что VAR1, Var1 и var1 - это одна и та же переменная. Символ подчеркивания является значимым, т.е. "A_BCD" и "AB_CD" - это разные имена. Имя должно включать не более одного символа подчеркивания. Ограничений на длину имени нет. Область применения переменной задается ее типом. Список всех объявленных переменных в CoDeSys доступен через Ассистент ввода. ЛОГИКА AND Побитное И. Операция применима к типам BOOL, BYTE, WORD или DWORD. ORПобитное ИЛИ. Операция применима к типам BOOL, BYTE, WORD или DWORD. XORПобитное исключающее ИЛИ. Операция применима к типам BOOL, BYTE, WORD или DWORD. Внимание: Допускается расширяемая форма, т.е. XOR имеет более двух входов. В этом случае входы обрабатываются попарно, затем к результатам опять применяется XOR. Такой алгоритм определен стандартом только одно должно сработать NOTПобитное НЕ. Операция применима к типам BOOL, BYTE, WORD или DWORD. АРИФМЕТИКА ADDСложение переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL. Две переменных типа TIME можно складывать (напр. t#45s + t#50s = t#1m35s). Результат имеет тип TIME. SUBВычитание значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL. Переменной TIME можно присвоить результат вычитания двух других переменных типа TIME. Отрицательное время не определено. MULПеремножение значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL. DIVДеление значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL. MODОстаток от деления значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT. Результат всегда целое число. MOVEПрисвоение значения одной переменной другой соответствующего типа. В графических редакторах CFC и LD существует возможность управлять разрешением работы блока (разрешать или запрещать операцию) с помощью входов EN/EN0. В FBD этого делать нельзя. Пример применения EN/EN0 в CFC: Только если значение en_i равно TRUE, значение переменной var1 будет присвоено var2. ОПЕРАТОРЫ СРАВНЕНИЯ GTБольше Двоичный оператор возвращает TRUE, если значение первого параметра больше второго. Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING. LTМеньше Двоичный оператор возвращает TRUE, если значение первого параметра меньше второго. Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING. LEМеньше или равно Двоичный оператор возвращает TRUE, если значение первого параметра меньше или равно второму. Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING. GEБольше или равно Двоичный оператор возвращает TRUE, если значение первого параметра больше или равно второму. Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING. EQРавно Двоичный оператор возвращает TRUE, если значение первого параметра равно второму. Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING. NEНе равно Двоичный оператор возвращает TRUE, если значение первого параметра не равно второму. Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING. Пример: терморегулятор. Необходимо реализовать: Измерение температуры с датчика Рt500 (r385_500) на аналоговом входе (temp). Сигнализацию (lamp) о выходе за заданную уставку (ust1). Значение уставки по умолчанию 150 гр. Отключение сигнализации (lamp) после уменьшения температуры ниже уставки (ust2). Значение уставки по умолчанию 100 гр. |