Команда move предназначена для управления шаговым двигателем на основе текущего положения двигателя. Этот метод доступен только при остановленном двигателе.
"move [sign](step) [speed] [accel] [decel]"
※ Внимание: между знаками [sign] и (step) не должно быть пространства
Описание аргументов выглядит следующим образом:
аргумент | описание | обязательно/опционально |
---|---|---|
sign | направление, "+"(вперед) or "-"(назад) | опционально(по умолчанию: "+") |
step | количество шагов для перемещения | обязательно |
speed | скорость(ед.измерения: pps) | опционально |
accel | ускорение(ед.измерения: pps/s) | опционально |
decel | замедление(ед.измерения: pps/s) | опционально |
Аргумент step основан на текущем положении двигателя.
Если decel(замедление) пропущено, то оно автоматически будет установлено с тем же значением, что и ускорение.
<?php
include_once "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(115200);
$sid = 1;
spc_request_dev($sid, "set mode 4");
spc_request_dev($sid, "set vref stop 2");
spc_request_dev($sid, "set vref drive 8");
spc_request_dev($sid, "set rsnc 120 250");
spc_request_dev($sid, "move 800 400 800 0");
while((int)spc_request_dev($sid, "get state"))
usleep(1);
sleep(1);
spc_request_dev($sid, "move -800 400 0 800");
while((int)spc_request_dev($sid, "get state"))
usleep(1);
?>
※ Данная команда может быть использована только тогда, когда шаговый двигатель остановлен. Такиим образом, как и показано в примере выше, после остановки двигателя всегда программируйте команду преемещения для запуска.