Назад в библиотеку

Автор: Е.П. Михайлов, С.Г. Антощук

Принцип построения систем управления движением на основе программируемых логических контроллеров

Розглянуто принципи побудови інформаційно-управляючих систем для рішення задач мехатроніки на основі простіших програмуємих логічних контролерів, датчиків положення і швидкості переміщення та регульовних виконавчих пристроїв.
Рассмотрены принципы построения информационно-управляющих систем для решения задач мехатроники на основе простейших программируемых логических контроллеров, датчики положения и скорости перемещения и регулируемых исполнительных устройств.
This work contains the principles of informational control systems design for solution of mechatronics problems on the basis of elementary programmed logic controllers, positional and movement velocity sensors and adjustable executive mechanisms.

В настоящее время для решения задач управления в мехатронике широко используются системы программного управления [1], в частности универсальные программируемые логические контроллеры (ПЛК), выпускаемые различными фирмами в соответствии с МЭК 1131. Существуют ПЛК разного уровня сложности в зависимости от сложности решаемых задач автоматизации.

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

Например, ПЛК S7-200 фирмы SIEMENS [2] который представляет собой компактную систему программного управления, имеющую встроенные цифровые входы и выходы. В случае необходимости стандартная конфигурация может быть изменена путем наращивания дополнительными модулями ввода-вывода дискретных и аналоговых сигналов, технологическими модулями и коммуникационным оборудованием.

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

Остановимся более подробно на реализации основных элементов управления движения: датчиков измерения положения и скорости перемещения, а также регулируемых приводов. Для измерения положения и скорости перемещения часто используются импульсные датчики, формирующие в процессе перемещения последовательность импульсов, число которых пропорционально пройденному расстоянию. В простейшем случае для этой цели могут использоваться индуктивные датчики (рис. 1), скорость коммутации которых может составлять до 3 кГц и выше. Для получения более высокой точности измерения используются инкрементные датчики для линейных и угловых перемещений [1]. Эти датчики в процессе перемещения выдают две последовательности импульсов (фазы А и В), смещенные на +90 или –90 в зависимости от направления движения или вращения. Датчики линейных перемещения обеспечивают точность измерения порядка 1 мкм, а угловых перемещений могут выдавать до 4096 импульсов на один оборот при возможности учетверенной скорости счета. Максимальная частота следования таких импульсов составляет 300 кГц.

Программируемые логические контроллеры в своем составе имеют программные счетчики, однако их скорость определяется длительностью цикла, которая составляет единицы миллисекунд, что позволяет производить опрос датчиков с частотой, не превышающей десятки герц. Поэтому, в рассматриваемых ПЛК имеются скоростные счетчики, позволяющие считать с высокой скоростью те события, которые не могут контролироваться при допустимой скорости сканирования CPU. Максимальная скорость счета составляет 30 кГц, а число счетчиков (4 – 6) определяются типом процессорного модуля ПЛК. Счетчики могут быть сконфигурированы на несколько различных режимов работы, в частности, однофазный реверсивный счетчик с внутренним или внешним управлением направления счета, двухфазный счетчик с тактовыми входами для счета вперед и назад, квадратурные счетчики с фазами А и В (смещенными на +90 или –90 в зависимости от направления вращения или движения).

Рисунок 1 – хема использования индуктивных датчиков для измерения углового и линейного перемещений

Рис. 1. Схема использования индуктивных датчиков для измерения углового и линейного перемещений

Каждый счетчик имеет специализированные входы, которые поддерживают такие функции, как подсчет тактовых импульсов, управление направлением счета, сброс и запуск. В квадратурных режимах предоставляется возможность выбора однократной (1х) или четырехкратной (4х) скорости счета. Все счетчики работают с максимальной скоростью, не создавая помех друг другу. Для доступа к счетному значению скоростного счетчика указывается адрес этого счетчика с помощью указателя памяти (HC) и номера счетчика (например, HC0). Текущее значение скоростного счетчика адресуется и считывается как двойное слово (32 бита).

Наличие реверсивных счетчиков позволяет осуществлять позиционирование с учетом направления перемещения с достаточно высокой точностью, определяемой перемещением на период следования импульсов (1/4 периода при четырехкратной скорости счета). Каждый скоростной счетчик имеет управляющий системный байт, с помощью которого осуществляется программирование параметров счетчиков. Все режимы скоростных счетчиков поддерживают прерывание по равенству текущего значения предустановленному. Режимы счетчиков, использующие вход внешнего сброса, поддерживают прерывание по активизации внешнего сброса. Каждое из этих условий возникновения прерываний может быть заблокировано или разблокировано по отдельности. Такое прерывание может обеспечить высокое быстродействие при выдаче управляющих воздействий.

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

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

К прерываниям, управляемым временем, относятся циклические прерывания и прерывания, вызываемые таймерами T32 и T96. С помощью циклических прерываний можно задать действия, которые должны выполняться циклически. Время цикла устанавливается в пределах от 1 до 255 мс шагами по 1 мс.

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

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

В первом случае формируется последовательность импульсов с изменяющимся периодом следования и числом для решения задач позиционирования на основе шаговых двигателей.

Во втором случае формируется последовательность импульсов с постоянным периодом и изменяемой длительностью. При этом период следования и длительность импульсов задаются пользователем.

Для настройки скоростных выходов используется мастер управления позиционированием, который задает односегментные и многосегментные конвейерные последовательности импульсов PTO, широтно-импульсную модуляцию PWM и создание таблицы профилей.

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

При использовании широтно-импульсной модуляции, например, для управления двигателями постоянного тока, с помощью мастера управления позиционированием создается команда управления широтно-импульсной модуляцией PWMx_RUN.

Эта команда имеет следующие параметры (рис. 2):