Контроль путем move


Команда move предназначена для управления шаговым двигателем в состоянии stop/остановки.

"move [sign](step) [speed] [accel] [decel]"

※ Внимание: между знаками [sign] и (step) не должно быть пространства

Описание агрументов выглядит следующим образом:

Аргумент Описание Обязательно/опционально
sign направление, "+"(вперед) or "-"(назад) опционально(по умолчанию: "+")
step количество шагов для перемещения обязательно
speed скорость/speed(ед.измерения: pps) опционально
accel ускорение/acceleration(ед.измерения: pps/s) опционально
decel замедление/deceleration(ед.измерения: pps/s) опционально

Если decel(замедление) пропущено, то оно автоматически будет установлено с тем же значением, что и ускорение.

<?php
include_once "/lib/sd_spc.php";

spc_reset();
spc_sync_baud(115200);

$sid = 1;
spc_request_dev($sid, "set mode full");
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);
?>

※ Данная команда может использоваться только тогда, когда шаговый двигатель остановлен. Таким образом, как и показано в примере выше, после остановки двигателя всегда программируйте команду перемещения для запуска.