为了设定有关控制步进电机的相关参数命令是set。
设定驱动模式命令是mode。
"set mode (drive)"
在drive上需要输入驱动模式, PES-2403提供如下2个驱动模式。
驱动 | 说明 |
---|---|
full | Full-step(two phases on) |
half | Half-step |
spc_request_dev($sid, "set mode full");
spc_request_dev($sid, "set mode half");
设定限制电流的命令是vref。此设定为了电机控制是必须的。
"set vref (state) (value)"
state代表需要设定电流限定的如下3个状态。
state | 说明 |
---|---|
stop | 维持停止状态时候的限制电流 |
drive | 动作时候的限制电流 |
lock | 维持锁定状态时限制电流 |
value指限制电流的量,按各个状态可设定0~15个共16个阶段。 在此值设定5,在相应状态中电流限制5/15。
spc_request_dev($sid, "set vref stop 2");
spc_request_dev($sid, "set vref drive 8");
spc_request_dev($sid, "set vref lock 0");
设定共振范围的命令是rsnc。
"set rsnc (low_pps) (high_pps)"
low_pps和high_pps分别代表共振范围的最小值和最大值。 设定共振范围,当旋转速度在共振范围内时,自动按high_pps上设定的速度控制。
spc_request_dev($sid, "set rsnc 120 250");
设定步进电机的旋转速度的命令是speed。 此命令在计划控制电机前,只设定旋转速度时使用。
"set speed (pps)"
pps指旋转速度。旋转速度的单位是pps(pulse per second),PES-2403最大支持20,000[pps]。但实际最大速度根据步进电机的种类/电压/负荷会不同。
spc_request_dev($sid, "set speed 400");
设定步进电机的加速及减速的命令是accel。 此命令在控制电机前,单独设定加速及减速时候使用。
"set accel (accel) [decel]"
accel指加速度decel指减速。在此命令必须输入加速,但减速可以省略。 如果不输入减速,在加速中输入的值将自动设定在减速中。 加速度的单位是pps/s(pps per second)和PES-2403最多支持200,000[pps/s]。
spc_request_dev($sid, "set accel 1000"); // the same result with "set accel 1000 1000"
spc_request_dev($sid, "set accel 1000 0");
spc_request_dev($sid, "set accel 0 1000");
设定计时位置的命令是pos。计数位置设定只有通过goto控制步进电机时有效,通过move控制的情况不会被反应。
"set pos (pos)"
pos指计数位置。 计数位置是具有符号的32位整数形态,可输入的范围是-1000000000(1 billion)至+1000000000。
spc_request_dev($sid, "set pos 400");
为了设定数字输入端口的命令是eio set。
"eio set (p) mode (mode)"
p代表数字输入端口的账号,输入0, 1, 2或3中的一个。 mode指数字输入端口的输入模式。
mode | 说明 |
---|---|
input | normal input |
lock | control lock |
spc_request_dev($sid, "eio set 0 mode input");
spc_request_dev($sid, "eio set 1 mode input");
spc_request_dev($sid, "eio set 2 mode input");
spc_request_dev($sid, "eio set 3 mode input");
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");