锁定功能是一种物理保护功能。此功能是在数字输入端口连接限制开关,当开关关闭不允许其进行追加的控制。 从而可限制步进电机的动作范围。
电机的动作根据限制开关停止,电机的状态变为锁定状态,在解锁之前追加的控制成为不可能。
参考设定中的数字输入端口设定来设数字输入模式设定为控制锁定模式。
解除控制器锁定状态的命令是unlock。
当执行unlock命令,电机的状态在锁定转换为停止状态,数字输入端口的输入模式在锁定模式初始化为一般输入模式。
因此执行unlock之后可进行正常的电机控制。
<?php
include_once "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(115200);
$sid = 1;
spc_request_dev($sid, "set vref stop 2");
spc_request_dev($sid, "set vref drive 8");
spc_request_dev($sid, "set vref lock 8");
spc_request_dev($sid, "set mode full");
spc_request_dev($sid, "eio set 0 mode lock");
spc_request_dev($sid, "eio set 1 mode lock");
spc_request_dev($sid, "eio set 2 mode lock");
spc_request_dev($sid, "eio set 3 mode lock");
spc_request_dev($sid, "move 4000 400 4000");
while((int)spc_request_dev($sid, "get state") > 1)
usleep(1);
// state: 0 - stop, 1 - locked
echo "step_state ", spc_request_dev($sid, "get state"), "\r\n";
spc_request_dev($sid, "unlock");
// state: 0 - stop, 1 - locked
echo "step_state ", spc_request_dev($sid, "get state"), "\r\n";
?>
step_state 1
step_state 0