Поваренная книга по механотронике

Опубликовано в номере:
Механотроника образовалась в результате слияния общего и электротехнического машиностроения. Чтобы приготовить это блюдо, нужно взять в правильных пропорциях подходящее программное и аппаратное обеспечение. Данная статья – это не книга рецептов с описанием множества проектов, а пособие для новичков, в котором описаны необходимые программы, компоненты аппаратного обеспечения и как они взаимодействуют между собой.

На моем любимом кулинарном канале Альтон Браун (Alton Brown) разделял пищевые компоненты кулинарных проектов на программное обеспечение и оборудование. Сегодня мы поговорим об ингредиентах блюд по механотронике.

У Альтона Брауна к программному обеспечению относятся яйца, молоко, вода – все «мокрые» составляющие еды. В механотронике программы – это операционная система (ОС), приложения и драйвера приборов.

Однако это касается только итогового продукта. Боссу проектов по механотронике еще нужны дополнительные программы. Для механических компонентов обычно нужны программы компьютерного проектирования (CAD) для описания системы и создания модели конечных элементов. После этого на получившуюся модель действуют силы и моменты, результат должен быть аналогичен отклику реальной системы. Аналогично, для автоматизации разработки электронных схем используются программы с описанием деталей схемы и модель SPICE всей электрической подсистемы, к которой прикладываются входные напряжения и действуют разные нагрузки.

 

Программное обеспечение

Для создания управляющих программ нужно дополнительное обеспечение. Микропроцессоры понимают «машинный код» – список инструкций специального формата, которые в виде набора битов загружаются в регистры памяти компьютера. Многие компьютерщики и некоторые инженеры знакомы с программированием этих устройств напрямую, но, на самом деле, никто этим заниматься не хочет. Исходный код приложения записывается на человеческом языке, например BASIC, C, Fortran и др. Кстати, они называются языками третьего поколения, а машинный код – первого поколения. (О втором поколении вам лучше не знать, поверьте мне).

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

Но писать программы на языках 3-го поколения – это занятие для программистов и инженеров. Это языки общего назначения со сложными синтаксическими правилами и запутанной системой команд. Специалистам по системам управления больше подойдут языки 4-го поколения.

Они чаще называются средой (environment), оболочкой (framework) или интегрированной средой разработчика (IDE)/ К ним относятся Eclipse (c открытым кодом), LabVIEW (от National Instruments) и другие реализации управляющих языков IEC. Работа в них во многом определяются приложением, для которого они предназначены.

 

Целевые системы

Системы в механотронике обычно работают под управлением нескольких вложенных циклов.

Рис. Системы в механотронике обычно работают под управлением нескольких вложенных циклов

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

  • Операционная система, которая распределяет вычислительные ресурсы (память, доступ к шине).
  • Драйвера приборов, которые обеспечивают связь прикладной программы с периферийными приборами (например, датчиками и приводами).
  • Прикладные программы, реализующие заданный алгоритм, выполняющие логические действия и математические операции.

В механотронике большинство операций выполняется в режиме реального времени, который определяется операционной системой. Выбор ОС реального времени относительно небольшой. Некоторые компании предлагают специализированные ОСРВ, как, например, VXWorks компании Wind River. Microsoft выпускает версии реального времени своих трех вариантов Windows (CE, XP и Embedded). Другие компании (Montavista, Wind River, Green Hills Software и Lynuxworks) предлагают версии Linux для режима реального времени.

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

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

Рис. Инженеры систем управления обычно работают с языками программирования четвертого поколения, разработанными для создания специализированных программ, например, управляющего приложения в механотронике

Прикладная программа – это область творчества инженера по механотронике. Она работает на целевом контроллере и представляет собой алгоритм принятия высокоуровневых решений.

Есть ли пешеход на пути автомобиля с автоматическим управлением? Управляющая программа должна ответить на этот вопрос и предпринять соответствующие действия. Встроенная программная инструкция может повернуть автомобиль в нужном направлении, но решение о необходимости и величине поворота принимает управляющее приложение.

Оборудование для механотроники

Вернемся к оборудованию, которое реализует команды программного обеспечения. Этим занимаются самые разные контроллеры. Для больших стационарных проектов подойдут программируемые логические контроллеры (ПЛК, PLC) или программируемые контроллеры автоматизации (ПКА, PAC). Для систем сбора данных и управления инженеры предпочитают персональные компьютеры с многофункциональными платами и модулями согласования сигналов для ввода и вывода данных.

Инженеры по механотронике, которых становится все больше, предпочитают встраиваемые системы. Компания Kontron, например, предлагает одноплатные решения в различных форм-факторах. Freescale Semiconductor, Via и Texas Instruments выпускают однокристальные системы, состоящие из процессора, каналов ввода/вывода, памяти и сетевых интерфейсов на одной монолитной интегральной схеме. Мне встречались 4-х битные процессоры размером с рисовое зернышко и многоядерные интегральные схемы с…, да много с чем в одном устройстве.

Обычно инженер, принявший подход встраиваемых систем, разрабатывает плату со всеми компонентами контроллера. Многие производители интегральных схем, например, AMD предлагают печатные платы и комплекты для создания собственных системных плат. Число компаний, предлагающих подобные услуги очень велико. На запрос «производство печатной платы на заказ» (custom circuit board fabrication) Google дает около 115000 результатов.

Выбрать правильное решение проекта по механотронике помогут ваши предпочтения. Например, если вы умудренный опытом программист на С и неплохо представляете Linux, вам, скорее всего подойдет одноплатный компьютер под управлением Linux. Если же вы приверженец традиционного подхода к управлению приборами, попробуйте ПЛК с функциональными блоками. Занимавшиеся системами управления движением могут склониться к решениям от Yaskawa (кстати, именно эта компания и изобрела механотронику).

Главное – помнить, что общего лучшего решения не существует. Все определяется вашими привычками, знакомством с оборудованием и программным обеспечением из имеющегося опыта работы с системами управления. Его и нужно применить в механотронике.

Системы FPGA обеспечивают недостижимый ранее уровень гибкости и параллелизма. Обычно приложение делится на две части: с вычислениями на FPGA и на обычном процессоре. FPGA обычно используются в качестве низкоуровневого интерфейса каналов ввода/вывода для датчиков и приводов. Эта подсистема занимается высокоскоростным управлением, обработкой сигналов и взаимодействием со специализированным оборудованием и внешними контурами.

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

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

Программируемая вентильная матрица или ПВМ (fieldprogrammable gate array, FPGA) – это встраиваемая интегральная схема с реконфигурируемой матрицей вычислительных элементов, позволяющая сделать аппаратную реализацию запрограммированных вычислений. В отличие от микропроцессоров и цифровых сигнальных процессоров с фиксированными функциональны ми возможностями, FPGA полностью перестраивают свою внутреннюю структуру для выполнения конкретной задачи. Системы FPGA по определению обеспечивают параллельные вычисления, поэтому различные части приложения могут работать независимо и одновременно с использованием выделенных ресурсов.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *