12 марта 2015 г.

Демонстрация работы TwinCAT NCI

В терминологии фирмы BECKHOFF аббревиатура «NCI» расшифровывается как «Numerical Control Interpolation». Это промежуточный пакет ПО для работы с приводами, который совмещает в себе весь функционал базового уровня «NC PTP», реализующего все стандартные функции сервопривода, но вместе с тем позволяет организовать группу (канал) с 3-мя интерполяционными и 5-ю вспомогательными осями, управляемыми через G-код. Максимально возможное количество групп (каналов) — до 31.

Не смотря на тот факт, что до полноценной CNC-системы (например, для задач 5-осевой обработки или автоматизации 6-осевого робота) функционала «NCI» не достаточно, с помощью данного ПО можно относительно просто реализовать многие станочные функции, используя уже готовые программные компоненты, разработанные фирмой Beckhoff. Открытая платформа снимает какие-либо ограничения с разработчика, позволяя реализовывать нестандартные решения. А поддержка кинематических трансформаций (Delta, SCARA и т.п.) — использовать NCI-решения в робототехнике.

На нижеприведённом видео демонстрируется работа 3-х осей (X/Y/Z), объединённых в один интерполяционный канал. Функции выхода в исходное, работы на постоянной скорости, работы в режиме «главный/ведомый» от внешнего пульта, работа с файлами и HMI-визуализация реализованы с помощью стандартных компонентов, входящих в состав бесплатных программных библиотек TwinCAT.

 

За обработку G-кода отвечает встроенный интерпретатор (декодер), который поддерживает стандарт ISO6983 (DIN 66025), а также массу дополнительных расширений. При помощи специального программного функционала можно оперативно остановить работу декодера, разобрать (пересобрать) интерполяционную группу. Такой подход позволяет практически «на лету» выключать или подключать в технологический процесс нужные оси, менять их местами или «заставлять» выполнять задачи, никак не связанные с основным процессом, обслуживаемым интерпретатором.

26 марта 2014 г.

Автоматизация 6-осевого робота «Gelios-20»

Робот «Gelios-20» может применяться для лазерной сварки сложных пространственных конструкций из тонкого металлического листа, дуговой и плазменной сварки металлических заготовок, задач связанных с разгрузочно-погрузочными работами.

«Мозгом» системы является ядро Beckhoff TwinCAT CNC, обеспечивающее интерполяционный расчёт перемещений для каждой из шести осей. Система позволяет работать в ручном, полуавтоматическом и автоматическом режимах. Дополнительные преимущества даёт режим кинематических трансформаций, самостоятельно (без внешнего программирования) рассчитывающий координаты всех осей в зависимости от требуемого положения (или ориентации) инструмента в пространстве.


17 декабря 2012 г.

EtherCAT State Machine

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

Поскольку я в своей работе ориентируюсь на EtherCAT, как на самую гибкую, быструю и надёжную промышленную сеть, то рассмотрю вполне реальный случай, где проблемы со связью были решены только программными методами. Можно сказать, «на коленке».

Итак, описание проблемы: после включения системы управления, привода, находящиеся в сети EtherCAT, зависают в состоянии INIT (инициализация) и отказываются автоматически переходить в состояние OP (эксплуатация). Соответственно, никак не реагируют на управляющие команды ПЛК. Ситуация осложнялась тем, что проблема эта носила случайный характер: два раза подряд система могла включиться без ошибок, затем, раз десять зависнуть на этапе инициализации.

Для наглядности привожу схему т.н. «EtherCAT State Machine» (если кому интересно — можно заглянуть на www.ethercat.org в раздел описания технологии), которая универсальна для всех устройств, обслуживаемых в EtherCAT-сети:


17 апреля 2012 г.

Система управления окрасочной линией

Произведена модернизация линии окраски алюминиевого листа на производственном предприятии Bildex. Три приводные точки состоят из сервоусилителей производства Kollmorgen (Германия) и асинхронных двигателей АДЧР производства ООО "Русэлпром-Мехатроника" (г. Владимир). Управление технологическим процессом осуществляется посредством ПЛК CX9010-0001 по шине EtherCAT.

Новая система управления обеспечивает:
  • стабильное поддержание линейной скорости линии (с точностью до 0.001 м/мин),
  • автоматическое поддержание заданного натяжения в зависимости от изменения диаметров валов, расположенных по краям линии,
  • удалённый (до 35 м) сбор сигналов и управление приводами по шине EtherCAT,
  • вывод систематизированной индикации на экране цветной операторской панели,
  • исключение влияния электромагнитных помех на систему благодаря цифровому управлению приводами по высокоскоростной шине EtherCAT (программный такт для трёх осей равен 0.25 мс),
  • увеличение максимальной линейной скорости на 25% по сравнению с аналогами,
  • отсутствие брака, возникавшего ранее из-за нестабильного поддержания скорости,
  • четыре режима работы, гибкое управление.


28 октября 2011 г.

Совещание

Петров пришел во вторник на совещание. Ему там вынули мозг, разложили по блюдечкам и стали есть, причмокивая и вообще выражая всяческое одобрение. Начальник Петрова, Недозайцев, предусмотрительно раздал присутствующим десертные ложечки. И началось.
— Коллеги, — говорит Морковьева, — перед нашей организацией встала масштабная задача. Нам поступил на реализацию проект, в рамках которого нам требуется изобразить несколько красных линий. Вы готовы взвалить на себя эту задачу?
— Конечно, — говорит Недозайцев. Он директор, и всегда готов взвалить на себя проблему, которую придется нести кому-то из коллектива. Впрочем, он тут же уточняет: — Мы же это можем?
Начальник отдела рисования Сидоряхин торопливо кивает:
— Да, разумеется. Вот у нас как раз сидит Петров, он наш лучший специалист в области рисования красных линий. Мы его специально пригласили на совещание, чтобы он высказал свое компетентное мнение.
— Очень приятно, — говорит Морковьева. — Ну, меня вы все знаете. А это — Леночка, она специалист по дизайну в нашей организации. 
Леночка покрывается краской и смущенно улыбается. Она недавно закончила экономический, и к дизайну имеет такое же отношение, как утконос к проектированию дирижаблей.

5 октября 2011 г.

3D-визуализация системы управления волновой электростанцией

В продолжение темы разработки комплексной системы управления волновой электростанцией (предыдущие посты: TwinCAT Target Visu CE: HMI-визуализация для волновой электростанции, Шкаф управления волновой электростанцией), так сказать, для полноты картины, тряхнул нашего конструктора на предмет 3D-визуализации шкафа управления. На самом деле, родилась она (визуализация) ещё до момента начала сборки шкафа. Но лучше поздно, чем никогда.


23 сентября 2011 г.

Шкаф управления волновой электростанцией

Комплексная система управления (далее – КСУ) волновой электростанцией номинальными мощностью 30 кВт и напряжением 400 В предназначена для управления, регулирования, контроля, архивирования и индикации основных параметров установки. Предусмотрена возможность переноса архивных данных из памяти КСУ на пользовательский ПК с помощью внешней карты памяти.

Управление установкой осуществляется дистанционно с берега по командам оператора с пульта оператора, расположенного на лицевой стороне шкафа управления, а также с индикационного сенсорного монитора CP6907-0001. Дистанционная передача данных осуществляется посредством беспроводной радиосвязи в соответствии со стандартом IEEE 802.15.4 на дальность не более 300 м в зоне прямой видимости.

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


15 сентября 2011 г.

HMI-визуализация для волновой электростанции

Подходит к завершению разработка пилотного проекта системы управления для волновой станции (о ней позже). Разработка визуализации велась в TwinCAT PLC Control, и в настоящее время "крутится" на CX1010 с подключенным сенсорным монитором CP6907. Это самая мелкая (но гордая!) модель монитора в линейке BECKHOFF — всего 5,7", поэтому все элементы визуализации надо было делать компактными, но "хоть-как-то-читаемыми".

Одно из самых главных окон — диагностика состояния системы, включая связь с приводами (RS485, Modbus RTU) и удалённым BC9050 (по радиоканалу, с помощью KM6551). Журнал системных событий содержит "выжимку" основных данных, интересных заказчику. Он выводится внизу экрана.


1 сентября 2011 г.

Управление моментом AX5000

Есть два пути по организации задачи управления моментом сервоусилителя серии AX5000. Первый способ — добавление с помощью TwinCAT System Manager параметра Bipolar torque limit value в таблицу MDT привода с последующей линковкой к нему программной переменной типаINT. В этом случае изменять момент можно из ПЛК-программы присваивая значение залинкованной переменной в диапазоне 0..1024.


30 августа 2011 г.

Дисконнект

Бывают ситуации, когда нет связи с ПЛК. Проверка распиновки кабеля, прозвонка, настройка портов, коррекция программы, пляски с бубном, звонки в саппорт и даже переустановка софта не спасают.

Проходит много лет, разработанная когда-то АСУТП покрывается шестидесятиметровым слоем пыли, а менеджер среднего звена Володька из соседнего коммерческого отдела окончательно спивается в своих командировках, разводится с беременной женой и заводит канарейку Машу. Хотя речь сейчас, по большому счёту, ни о Володьке. И ни о Маше. Забудьте этот абзац.

В техническом отделе — как всегда — еле слышимая тишина. Периодически она нарушается чьим-то ненормативным бурчанием из-под паяльной станции, которое, впрочем, не вызывает взрыва негодования среди присутствующих. Судя по многочисленным и частым "кликам" мышью, народ занят игрой в "сапёра" или укладкой "преферанса", что не принципиально.

Все на своих местах, за исключением бородатого технаря Петровича. Он — в монтажном цеху. Его волосатая рука тянется к жёлтому Ethernet-кабелю, подключенному к CX9010. Петрович робко, как в первую брачную ночь, вытаскивает "жёлтого" из RJ45-порта.

21 июня 2011 г.

Модуль KM6551 и организация радиоканала

Модули KM6551 позволяют организовать беспроводной канал связи (стандарт IEEE 802.15.4) между ПЛК. Расстояние – до 300 м в зоне прямой видимости. Вариантов организации сети три: «точка-точка», «главный-ведомый» (до 7 ведомых), «широковещательный» (7+ ведомых). В последнем случае данные передаёт только главный модуль, ведомые являются только «слушателями» сети, ничего не отдавая. Вещание ведётся на частотах 2405, 2410, 2415… 2480 МГц. Примерный цикл обмена – 20*N мс, где N – количество ведомых.


Программная реализация беспроводного обмена начинается с библиотеки TcKM6551.lib. Для главного ПЛК (у меня это CX1010-0111) используются два фукциональных блока: один (fb_KM6551_MAIN) – для инициализации канала, второй (fb_KM6551_Master_10BYTE) – для циклического записи/чтения. Как видно, за один программный цикл главный передаёт и принимает по 10 байт данных. Это 80 переменных типа BOOL, 5 переменных типа WORD/INT, или же 2 переменные типа DWORD/DINT.

26 апреля 2011 г.

TwinCAT: Запись данных в файл

На CX9010-1101 (Windows CE 6.0, ARM 533 МГц) возникла задача записи данных в файл, чтобы по результатам этой записи можно было не только просмотреть весь лог, но и построить график. Логичнее всего было бы организовать запись в XLS-файл, таким образом будет обеспечена гибкость последующей обработки данных, поскольку Excel позволяет провести необходимый анализ. Клиенту останется только с помощью карты flash-памяти перетащить сохранённый файл на ПК.


Для реализации теста потребуется любой CX с USB-разъёмом, TwinCAT PLC Control, бесплатные библиотеки TcUtilities.lib, TcBase.lib, TcSystem.lib и Standard.lib, flash-карта для переноса файла, ПК с установленным Excel либо другой программой, позволяющей работать с табличными данными, и 40 минут свободного времени. В рамках теста в файл будут писаться строки, состоящие из двух параметров: времени (в формате [с],[мс]) и изменяющейся в каждом программном цикле переменной.

20 апреля 2011 г.

TwinCAT ADS: Чтение/запись данных

Один из самых актуальных и востребованных вопросов в АСУ ТП — это разработка недорогих (но надёжных) систем удалённой диспетчеризации "под ключ". Для этих целей у BECKHOFF имеется очень хорошее решение — TwinCAT ADS, набор бесплатных программных средств для организации обмена данными между TwinCAT/Windows-устройствами.


TwinCAT ADS поддерживает платформы DLL, OCX, VB Script, J Script, .NET, Java и позволяет осуществлять удалённый контроль за любым ПЛК производства BECKHOFF. Сама по себе организация связи и обмена данными при помощи функционала TwinCAT ADS элементарна, но степень сложности приложения, разработанного для диспетчеризации, в большинстве случаев ограничивается лишь профессиональным уровнем программиста.

1 декабря 2010 г.

SPS/IPC/DRIVES 2010: Картинки с выставки

В Мюнхене, куда прилетели рейсом из Домодедова, был собачий холод: плюс один по термометру, с ледяным ветром и мокрым снегом — самая мерзкая погода, которую только можно представить в Германии. К счастью, в гостинице отлично работало центральное отопление. И была большая ванна. И кофе. И двуспальная кровать. И, отчего-то, платный WiFi.

Переезд на арендованной машине в Нюрнберг на следующее утро, где, собственно, и проводится SPS/IPC/DRIVES, занял около часа. После 9:00 поставить машину возле выставочного комплекса не представлялось возможным — всё занято. Пришлось следовать указаниям парковщиков и пилить ещё километра 3-4, вдоль уже заставленной автомобилями территории. Оттуда — на оленях бесплатном выставочном автобусе автобусе; ещё минут 7-10. Уфф, приехали!


2 ноября 2010 г.

Прошивка панели ESA VT505

Пришла тут под один старый проект панелька ESA VT505W. Сенсорная, чёрно-белая (четыре оттенка) и долгожданная. Поставил её в шкаф управления, воткнул конфигурационный кабель, залил внутрь проект (управление приводами в режиме "главный — ведомый"), перезапустил... и всё. Тишина. После каждого нового включения панель тут же требует откалибровать сенсорный экран, подгружает проект и висит.

Достал из урны прилагавшуюся к панели инструкцию. В ней обнаружился вложенным небольшой такой листочек, на котором было чёрным по белому написано, что панель должна программироваться только с помощью VTWIN версии 5.21 или старше. Конечно же на моём рабочем ПК стоит версия 5.08, а вовсе не 5.21! Тряхнули поставщика на счёт нового ПО, а заодно перепрошивки и/или сброса в заводские настройки зависшего девайса.


Проблема была решена перепрошивкой. Для её выполнения не требуется наличие каких-то дополнительных устройств и ПО, кроме стандартного средства разработки проектов VTWIN версии 5.21+ (у меня отныне стоит 5.23) и конфигурационного кабеля CVCOM11102 (маркировка ESA). Это как раз тот набор, который используется при программировании панели.

10 октября 2010 г.

Шкаф управления станка ВС1320

Разработка пилотного проекта цифровой системы управления близится к завершению. Пять сервомоторов с ПЧ, контроллер движения, высокопроизводительный промышленный компьютер BECKHOFF C6915, коммутаторы сигналов BK9100 и CU2008 — всё это уже смонтировано в шкафу. На выносном пульте будет располагаться промышленный монитор CP6909 с цветным сенсорным дисплеем (см. TwinCAT Target Visu CE: Визуализация для станка ВС1320). Дальше — несколько фото.


5 октября 2010 г.

HMI-визуализация для станка ВС1320

Состав станка: ПК C6915, сенсорная графическая панель CP6909, модуль сбора сигналов BK9100 (KL1408, KL2408) и пять приводных точек. Целевая визуализация для станка ВС1320 представляет из себя интерактивный пользовательский интерфейс, состоящий из нескольких окон, выводимых на экран промышленного монитора CP6909 в разрешении 640х480 точек. Задача визуализации совместно с основной технологической программой выполняется на промышленном компьютере C6915 (процессор Atom 1.6 ГГц, Windows CE 6.0).

Главное рабочее окно до предела насыщенно информацией о технологическом процессе, полностью удовлетворяет техническим требованиям заказчика. Здесь нет ни одного лишнего символа. Все цвета подобраны по принципу светофора: зелёный — нормальная работа, жёлтый — ахтунг, красный — авария, как легко догадаться.


26 марта 2010 г.

CoDeSys/TwinCAT: Функция ROR

Число 12345, отправленное с ПК с использованием, например, протокола Modbus TCP, принимается на удалённом ПЛК как 809041920? Если исключить возможные ошибки в реализации протокола связи, то проблему следует искать в различном аппаратном обеспечении, а именно в архитектуре процессоров двух обменивающихся данными устройств. Если речь идёт о промышленном компьютере, то это, вероятнее всего, — i86 или Arm. В случае с ПЛК — также i86 и Arm, или Motorola, Hitachi, Infineon и т.д.

Для решения проблемы приведения полученных данных к нормальному виду необходимо и достаточно применить стандартную функцию ROR(IN, N) — побитовый сдвиг IN право на N бит. Как это выглядит "на пальцах" — можно увидеть на картинке ниже. В нашем случае DWORD сдвигается на 16 бит, цифры принимают человеческий вид.

23 марта 2010 г.

TwinCAT: Чтение/запись данных по Modbus TCP

Для использования ПЛК/ПК от BECKHOFF в качестве Modbus-клиента достаточно применить функциональные блоки FB_MBReadRegs и FB_MBWriteRegs (библиотека TcModbusSrv.lib), выполняющие 3-ю и 16-ю функции соответственно. Один экземпляр любого из блоков способен обрабатывать не более 125 регистров или, иначе говоря, 62 двойных слова (DWORD, или DINT).

Для удобства назначения регистров, обычно нагружаю функциональный блок 50-ю двойными словами. Если потребуется отправить больше — объявляю и вызываю дополнительный экземпляр, увеличив смещение начального адреса nMBAddr на значение, равное 100 регистрам, и т.д. Пример вызова пары таких блоков для чтения 100 переменных типа DINT приведён ниже.

19 марта 2010 г.

Установка шрифта под Windows CE 5.0/6.0

Неожиданно в самый ответственный момент всплыла тема некорректного отображения шрифта verdana.ttf под ОС Windows CE 6.0. Надо заметить, что тот же самый шрифт вполне работал на ПЛК CX9010-1101 c Windows CE версии 5.0, а вот "шестёрка" ему не понравилась. Визуализация с "пляшущими" буквами выглядит забавно, но только в том случае, если её не видит клиент.


Пришлось искать другой шрифт, с поддержкой свежей (шестой) версии CE-шной операционки. И он был найден! Новый verdana.ttf "весит" на 30 Кб меньше старого, зато смотрится на 100% лучше.