Команда goto ~ sw используется для автоматической остановки работы шагового двигателя при закрытом концевом выключателе.
Если двигатель останавливается по этой команде, то значением состояния двигателя становится статус stopped.
"goto [dir]sw(id) [speed] [accel] [decel]"
※ Внимание: между [dir] и sw(id) не должно быть пространства
аргумент | описание | обязательно/опционально |
---|---|---|
dir | направление, "+"(вперед) или "-"(назад) | опционально(по умолчанию: "+") |
id | ID цифрового порта ввода, 0/1/2/3 | обязательно |
speed | скорость(ед.измерения: pps) | опционально |
accel | ускорение(ед.измерения: pps/s) | опционально |
decel | замедление(ед.измерения: pps/s) | опционально |
<?php
include_once "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(460800);
$sid = 1;
spc_request_dev($sid, "set vref stop 2");
spc_request_dev($sid, "set vref drive 8");
spc_request_dev($sid, "set mode 4");
// rotate until digital input 0 is LOW
echo "find positive limit ...";
spc_request_dev($sid, "goto +sw0 400 0");
while((int)spc_request_dev($sid, "get state"))
usleep(1);
echo "done\r\n";
sleep(1);
// rotate until digital input 1 is LOW
echo "find negative limit ...";
spc_request_dev($sid, "goto -sw1 400 0");
while((int)spc_request_dev($sid, "get state"))
usleep(1);
echo "done\r\n";
?>
find positive limit ...done
find negative limit ...done