Программирование на Blockly
Документация по RoboIntellect SDK (RI SDK)
Функциональный RI SDK API исполнительных устройств

Вращение с относительной скоростью по таймеру

RI_SDK_exec_RServoDrive_RotateWithRelativeSpeedOverTime

Описание метода

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

Image

Дает команду сервоприводу вращаться до тех пор, пока не будет вызвана команда остановки или не закончится таймер. Направление поворота задается логическим параметром. Скорость поворота определяется числовым параметром, задающим процент от максимальной скорости поворота. Таймер на вращение устанавливается числовым параметром, показывающим количество миллисекунд, в течении которых выполняется вращение (1000 миллисекунд = 1 секунда).

Блок может работать в синхронном или асинхронном режиме.

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

Направления движения:

  • «истина» - по часовой стрелке
  • «ложь» - против часовой стрелки

Для своей работы блок вращения сервопривода использует метод библиотеки RISDK.

Примеры

В данном примере осуществляется вращение сервопривода по часовой стрелке в течении 1 секунды на 100% скорости сервопривода.

Image

В результате работы программы будет выведена такая строчка: « Сервопривод вращения №0 | Синхронно вращение по часовой с относительной скоростью 100% и таймаутом 1000 мс. »

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

Image

В результате работы программы будут выведены такие строчки:

«Асинхронная группа действий "Вращение" началась. »
«Сервопривод вращения №0 | Асинхронно вращение по часовой с относительной скоростью 100% и таймаутом 1000 мс. »
«Сервопривод вращения №0 | Остановлен. »
«Асинхронная группа действий "Вращение" закончилась. »


23 просмотров0 комментариев

Комментарии (0)

Для участия в обсуждении вы должны быть авторизованным пользователем
Разделы
Программирование на Blockly
Документация по RoboIntellect SDK (RI SDK)
Функциональный RI SDK API исполнительных устройств

Навигация

ВойтиРегистрация