RI_SDK_exec_RServoDrive_RotateWithRelativeSpeedOverTime
Описание метода
Вращение сервопривода с заданной относительной скоростью до тех пор, пока не поступит команда остановки сервопривода, новая команда на вращение или пока не закончится таймер.
Дает команду сервоприводу вращаться до тех пор, пока не будет вызвана команда остановки или не закончится таймер. Направление поворота задается логическим параметром. Скорость поворота определяется числовым параметром, задающим процент от максимальной скорости поворота. Таймер на вращение устанавливается числовым параметром, показывающим количество миллисекунд, в течении которых выполняется вращение (1000 миллисекунд = 1 секунда).
Блок может работать в синхронном или асинхронном режиме.
При синхронном режиме программа, которая вызвала данную функцию, сначала ожидает её выполнение, а потом продолжает вызовы других команд. При асинхронном режиме функция вызывается, но ожидания её завершения не происходит. Другие команды могут перекрыть её выполнение и функция не отработает.
Направления движения:
- «истина» - по часовой стрелке
- «ложь» - против часовой стрелки
Для своей работы блок вращения сервопривода использует метод библиотеки RISDK.
Примеры
В данном примере осуществляется вращение сервопривода по часовой стрелке в течении 1 секунды на 100% скорости сервопривода.
В результате работы программы будет выведена такая строчка: « Сервопривод вращения №0 | Синхронно вращение по часовой с относительной скоростью 100% и таймаутом 1000 мс. »
В данном примере группа действий является асинхронной и вращение будет остановлено сразу же, несмотря на длительность таймера. Если группа действий "Вращение" будет находилась в синхронном режиме, то блок "вращение с относительной скоростью по таймеру" будет выполняться все выделенное время и только после его окончания очередь дойдет до команды остановки.
В результате работы программы будут выведены такие строчки:
«Асинхронная группа действий "Вращение" началась. »
«Сервопривод вращения №0 | Асинхронно вращение по часовой с относительной скоростью 100% и таймаутом 1000 мс. »
«Сервопривод вращения №0 | Остановлен. »
«Асинхронная группа действий "Вращение" закончилась. »