Глава 5. Программирование в Robolab



Введение

Robolab 2.9 — это многофункциональная графическая среда программирования, созданная на основе LabView 7.0 и ориентированная на самые разные возрасты — от дошкольников до студентов. Текущая версия Robolab позволяет программировать несколько типов микроконтроллеров — Control Lab, RCX, NXT, также проводить независимые расчеты на компьютере. Следует заметить для тех, кто работал с RCX, что новая прошивка (Firmware) для него работает в 100 раз быстрее, правда загружается также долго (4—5 мин). Загрузка прошивки в NXT длится не более минуты. Следует обратить внимание на дань прошлому со стороны разработчиков: некоторые пункты меню содержат название RCX, но подразумевают также и работу с NXT.

При запуске Robolab предлагает три уровня работы: «Администратор», «Программист» и «Исследователь» (рис. 5.1). 

 

Рис. 5.1. Окно запуска Robolab 2.9.

Режим администратора позволяет настраивать контроллер на работу со средой.

Режим программиста позволяет непосредственно создавать программы и загружать их в микроконтроллер.

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

Режим «Администратор»

Первое, что следует сделать администратору — выполнить «Проверку связи с RCX» (подразумевается NXT). Есть три варианта исхода: 1) успешное завершение со звуковым сигналом на микроконтроллере; 2) сообщение о необходимости сменить операционную систему (ОС NXT

или, иначе говоря, Firmware); 3) со- общение об ошибке связи. Рис. 5.2. Соединение NXT с комЕсли связь компьютера и NXT пьютером через USB. не появилась сразу, следует воспользоваться меню «Select COM Port» для выбора USB-порта, выбрать автоопределение, выключить NXT, убедиться, что он хорошо соединен, и снова включить (рис. 5.2).

 

Рис. 5.3. Окно выбора устройства, с которым будет установлена связь.

Для поддержки новых возможностей NXT дополнительные опции добавлены в таблицу «Установка RCX/NXT». Здесь можно выбрать имя NXT, имя файла загружаемой в NXT программы. По умолчанию используется имя rbl. Допукается использовать до шести символов или можно задать его из программы с использованием расширенного NXTсветофора (блок NXT begin). 

Поскольку Robolab поддерживает несколько устройств (RCX, NXT, Control Lab), диалоговое окно «Choose Hardware» добавлено в установки автоопределения. Оно может появляться в разных ситуациях при потере связи с NXT, и этого не надо бояться (рис. 5.3). Надеюсь, выбор будет очевиден.

Режим «Программист»

Раздел программиста делится на два: Pilot и Inventor, что не совсем точно переведено как «Управление» и «Конструирование» (рис. 5.4).

 

Рис. 5.4. Выбор режима программирования: двойной щелчок по Inventor 4.

 Следовало бы назвать эти разделы «Новичок» и «Изобретатель». Можно было бы пройти их последовательно, постепенно окунаясь в среду графического программирования. Однако нет препятствий для того, чтобы начать сразу с последнего уровня Inventor 4, в котором представлены все основные возможности программирования среды Robolab. Для перехода на этот уровень необходимо дважды щелкнуть по надписи Inventor 4, не касаясь подразделов.

Основные окна

Итак, мы зашли в среду программирования (рис. 5.5). На экране два основных окна, относящихся к одному проекту: Front Panel и Block Diagram. Первое (передняя панель) для программирования не пригодится, хотя его можно использовать в режиме исследователя. Второе, в котором уже расположены две пиктограммы светофоров (рабочее поле программы), предназначено для составления программы. Его стоит распахнуть на весь экран и приступить к работе.

 

Рис. 5.5. Окна среды программирования Robolab.

Два вспомогательных окна — Tools Palette и Functions Palette — содержат все необходимое для составления программы. В случае закрытия их снова можно вывести на экран через пункт Windows верхнего меню.

Программа в Robolab похожа на блок-схему, положенную на левый бок. Она читается слева направо, хотя блоки распологать можно как угодно. Блоки команд находятся в окне Functions Palette (палитра команд). Они связываются между собой проводами (рис. 5.6), а также управляются инструментами, находящимися в меню Tools Palette (палитра инструментов).

 

Рис. 5.6. Соединение блоков в окне программы.

Название любого блока в Functions Palette можно прочитать в верхней части окна, подведя к нему курсор. Кроме того, под заголовком окна находится кнопка Search (поиск), с помощью которой можно найти пиктограмму по названию. 

Некоторые из пиктограмм сами являются палитрами, и при переходе открывается новое окно (рис. 5.7). Вернуться в предыдущее можно по стрелочке, расположенной в левом верхнем углу палитры рядом с кнопкой Search.

 

Рис. 5.7. Дополнительная палитра команд.

Готовые примеры программ

Одним из новшеств Robolab 2.9 является палитра примеров Behaviors (рис. 5.8). Это блоки, содержащие в себе готовые части программ под определенные задачи. Например, блок Go Straight (двигаться прямо) запускает моторы A и C вперед и через 1 секунду выключает их (рис. 5.9, слева). Однако для запуска этого фрагмента программы его надо обязательно поместить между светофорами, соединив их розовыми проводами (рис. 5.9, справа).

 

Рис. 5.8. Перетаскивание примера в поле программы.

 

Рис. 5.9. Содержание примера и размещение его между светофорами.

Палитра Behaviors содержит ряд серьезных примеров программирования в Robolab, по которым можно самостоятельно многому научиться. Некоторые из таких примеров рассмотрены ниже.

Взаимодействие с NXT

В режиме программиста могут потребоваться настройка USB-подключения NXT (соединение с компьютером через Bluetooth не поддерживается) и загрузка операционной системы. Это реализуется через меню Projects, которое для опытного робототехника содержит много интересного. 

Рассмотрим некоторые возможности настройки. Пункт меню Project → Select COM Рис. 5.10. Загрузка ОС NXT через меню Project → Detective.

Port позволяет выбрать     порт USBподключения NXT с указанием имени устройства.

Пункт меню Project → Detective позволяет не только выбрать соответствующий порт подключения NXT, но и загрузить Firmware, если это не было сделано в режиме администратора (рис. 5.10). Во время загрузки операционной системы у NXT пропадает изображение на экране, но в течение минуты категорически нельзя предпринимать никаких действий над контроллером[8].

Когда операционная система загружена, стандартная программа, попавшая в память NXT, размещается в разделе My Files → Software Files и получает имя rbl. Для того чтобы дать другое

имя, следует в программе Robolab заменить на-

чальный блок — зеленый светофор — на анало- Рис. 5.11. Уникальгичный с надписью NXT из палитры NXT. На ное имя программы. таком блоке в специальном розовом прямоугольнике можно задать латинскими буквами и цифрами любое имя программы, причем значимыми будут не более шести первых символов

(рис. 5.11). 

Не забывайте сохранять свои программы на диске компьютера, давая им запоминающиеся имена. Когда в другой раз попытаетесь открыть сохраненную программу и увидите черное окно, не пугайтесь: чтобы перейти к алгоритму, необходимо выполнить пункт меню Window → Show Block Diagram.

Типы команд

Блоки Functions Palette можно классифицировать следующим образом:

 команды действия,  команды ожидания,  управляющие структуры,  модификаторы.

Начнем с простейших команд. Их можно разделить на два типа:   

1) «Жди» и 2) «Делай».

Команды типа «Делай» посылают управляющий сигнал на одно из устройств управления микроконтроллера, например, «включить моторы», «остановить моторы», «издать звуковой сигнал», «отправить сообщение», «обнулить таймер» и т.п. Это действие, как правило, выполняется практически мгновенно (за исключением звуковых сигналов), после чего программа переходит к следующему блоку. Заметим, что


Дата добавления: 2019-02-22; просмотров: 1813; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!