Обновление стандарта PLCOPEN: стерты границы между ПЛК, контроллерами роботов и движения
>Все большее количество потребителей требуют, чтобы программируемые логические контроллеры (ПЛК) роботов и систем управления движением программировались на языках, которые были бы более понятными программистам и обслуживающему персоналу конечных пользователей. Для уменьшения сложности пользовательского интерфейса рабочая группа PLCopen, занимающаяся вопросами управления движением, представила набор стандартизированных инструментов для реализации задач управления непосредственно из среды программирования ПЛК.
Если поставщики средств автоматизации используют стандарт PLCopen, программисты освобождаются от изучения специального языка каждого производителя.
Традиционно промышленные роботы программируются с использованием сложных специальных языков, которые понятны исключительно программистам роботов. Контроллеры движения разнообразны и, как правило, программируются с использованием компьютерной библиотеки или другого специального языка, в то время как ПЛК, как правило, программируются по релейной логике. Конструкция каждой машины включает многие элементы, каждый из которых нуждается в программировании на специальном языке. В сегодняшних условиях автоматизации ПЛК, контроллеры движения и роботов должны быть тесно интегрированы.
Программирование ПЛК
С момента своего создания в 1968 г. по просьбе компании General Motors (которая предложила способ заменять проводные реле) ПЛК программировались по релейной логике. Они легко контролировали процессы, нуждавшиеся в установке цифровых и аналоговых устройств. Но комплексные процессы, которые имеют более сложный характер, требуют для своего управления применения более развитых языков программирования, таких как BASIC, Cи или Cи#. Со временем ПЛК эволюционировали, для них стали применять программирование на BASIC или Cи, но большинство по-прежнему использует релейную логику (языки стандарта программирования IEC 61131-3).
Многие низкопроизводительные ПЛК поддерживают управление движением через ступенчатый выходной сигнал. Управление движением более высокого уровня может быть достигнуто за счет внедрения более дорогостоящих выделенных модулей, подключаемых к основной системе. Даже учитывая, что большинство устройств программируется по релейной логике, многие из них требуют глубоких знаний сред программирования, разных у различных производителей.
Со временем ПЛК эволюционировали, и для их программирования стали использоваться языки BASIC или Cи, но большинство по-прежнему применяет релейную логику.
Контроллеры движения
Контроллеры движения для широкого рынка, как правило, выполняют движения по интерполированным стандартным траекториям (линейные и круговые), согласованные движения, зацепление, подъем и событийные движения (при использовании датчика и защелки). В контроллерах предыдущего поколения использовались специальные входы и выходы для каждой оси. Были предусмотрены такие входные воздействия для управления перемещением, как включение, ограничение перемещения за пределы, а также выходные воздействия в виде команд на сервопривод (обычно аналоговый сигнал ±10 В) и/или команды на шаговый привод (шаг и направление). Большинство контроллеров также имеют некоторые общие возможности ввода/вывода. Новые контроллеры базируются на цифровых сетях, таких как Ether-CAT (EtherCAT Technology Group) или Mechatrolink (Mechatrolink Members Association), для передачи управляющих сигналов на приводы и получения/передачи цифровых входных/выходных сигналов соединения, которые передаются через проводник непосредственно в привод.
Между контроллерами роботов и контроллерами движения стираются различия, но все же координация между этими системами, каждая из которых запрограммирована на своем языке и, как правило, предназначена для определенной цели, выбирается программистом.
Когда мы имеем дело с координированным перемещением по разным осям, стандартный контроллер движения не может конкурировать с контроллерами роботов. Для стандартных контроллеров движения необходимо задать «внутренние» координаты точек для каждой из осей, если рабочий орган должен быть перемещен в конкретную точку. Однако для роботов и других машин с физически связанными механизмами переход от координат внешнего трехмерного пространства к «внутренним» координатам осей перемещения требует решения обратной задачи кинематики. Расчет инверсной кинематики зачастую требует использования сложных формул для перевода координат заданной во внешнем трехмерном пространстве точки на отдельные позиции координатных осей. Так как кинематические схемы роботов и подобных им систем крайне разнообразны, то применение специализированных ПЛК требует глубоких знаний конкретной среды программирования.
Контроллеры роботов
Контроллеры роботов были разработаны с целью достижения наилучших результатов при управлении сложными механизмами с конкретными кинематическими схемами. Большинство контроллеров производятся для конкретного устройства и программируются на созданном производителем специализированном языке, который значительно варьируется от платформы к платформе. Контроллеры для роботов очень эффективны при управлении библиотеками устройств, для которых они были разработаны. Однако большинство из них не самые лучшие с точки зрения коммуникативной, интеграционной или программной устойчивости.
Контроллеры для роботов эффективны при управлении библиотеками устройств, для которых они были разработаны. Однако большинство из них не самые лучшие с точки зрения коммуникативной, интеграционной или программной устойчивости.
В прошлом чаще всего только специализированные контроллеры роботов поддерживали решение задач прямой и инверсной кинематики. Сегодня этот подход более общий для многих контроллеров движения и предлагает некоторое подмножество команд для роботов, особенно контроллеров для автоматизации процесса упаковки. Между контроллерами роботов и контроллерами движения исчезают различия, но все же координация между этими системами, каждая из которых запрограммирована на своем языке и, как правило, предназначена для определенной цели, выбирается программистом.
PLCopen Motion Control определяет стандартные операции совмещения, что позволяет программисту достигать той плавности движения, которую может реализовать производитель.
ПЛК и движение
Стандартизация и общий внешний вид пользовательского интерфейса систем управления являются преимуществом, когда увеличивается сложность реализуемых движений.
Например, легко объединить задачи относительного или абсолютного перемещения, если каждый следующий шаг выполняется после полного завершения и останова предыдущего. Но представьте себе более сложный набор движений, когда требуется реализация перехода на следующий шаг при ненулевой скорости, чтобы превратить отдельные движения в одно плавное на протяжении всей оси. PLCopen Motion Control реализует стандартные операции совмещения, что позволяет программисту достигать такой плавности движения, которую может реализовать исполнительный механизм.
При скоординированном движении по нескольким осям не всегда ясно, какие оси имеют решающее значение для синхронного перемещения. Поэтому при возникновении неисправности контроллер движения не всегда может сообщить, на какие другие оси оказывается влияние. PLCopen решает эту проблему путем определения группы движений так, что контроллер может сгенерировать соответствующий ответ об ошибке, если одна из осей сообщает об ошибке. Такая концепция группирования позволяет программисту сосредоточиться на конкретной задаче, которая требуется от механизма, а контроллеру — следить за механизмом посредством реализации функции группирования.
Четвертая часть стандарта PLCopen по управлению движением содержит описание функциональных блоков для скоординированного движения.
Определен стандартный набор функциональных блоков для комплексного контроля движения в трехмерном пространстве, в который входят блоки для кинематических преобразований. Существуют основные поддерживаемые механизмы, такие как SCARA и дельта, но в дополнение к указанным любой программист может составить свои собственные кинематические преобразования. Для вызова этих кинематических программ всякий раз, когда положение должно быть преобразовано в совместное пространство или наоборот, доступны специальные функции.
Четвертая часть PLCopen Motion Control определяет стандартный набор функциональных блоков для комплексного контроля движения в трехмерном пространстве, в который входят блоки для кинематических преобразований.
PLCopen Motion Control в настоящее время создает «мост» между некогда отдельными средами ПЛК, ЧПУ типа CNC, контроллеров роботов и движения. Стандарт позволил сделать контроллеры роботов и движения неотъемлемой частью системы управления. Они включают управление движением и логический контроль — два основных требования для современного управления машинами. Есть преимущества объединения управления движением и логического контроля в единое целое. В том числе обеспечивается практически неограниченный обмен данными между программами для логического контроля и управления движением без задержек.
Независимость программирования
В конечном счете, цель стандарта PLCopen — сделать программный код полностью независимым от аппаратных средств или конкретного производителя. Когда различные поставщики оборудования поддерживают одинаковый исходный код, программист освобождается от изучения специальных языков каждого производителя. Это позволит разрабатывать и внедрять сложные комплексные системы управления машинами с повышенной точностью и производительностью в более короткие сроки. PLCopen сделала это возможным за счет снижения инженерной сложности и необходимого специализированного обучения, чтобы система в целом была более привычной для широкого спектра существующих программистов в области ПЛК.