通过goto控制


当步进电机不以当前位置而是以初始位置为准进行控制时使用goto。此方式在所有电机工作中时也可使用。

"goto [sign](pos) [speed] [accel] [decel]"

※ 注意:[sign]和(pos)之间没有空的空间。

各引数的说明如下。

argument 说明 必选/选项
sign direction, "+"(forward) or "-"(reverse) optional(default: "+")
pos target counter position mandatory
speed speed(unit: pps) optional
accel acceleration(unit: pps/s) optional
decel deceleration(unit: pps/s) optional

目标计数位置pos不是计数的当前位置而是以初始位置为基准。

在此命令中只输入加速度(accel)而不输入减速度(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, "set pos -400");

spc_request_dev($sid, "goto +400 200 0");
sleep(1);
spc_request_dev($sid, "goto -400 200 0");
sleep(1);
spc_request_dev($sid, "goto +400 200 0");
while((int)spc_request_dev($sid, "get state"))
    usleep(1);
?>

※ 此命令在步进电机动作时也可以使用。因此舵机在驱动时实行新的goto命令时候,当即实行相应命令。