控制锁定功能是一种物理保护功能。此功能是在数字输入端口连接限制开关,当开关关闭时, 不能进行追加控制的功能。因此可限制步进电机的工作范围。
点击动作依据限制开关停止时,点击状态为控制锁定状态至解锁前无法进行追加的控制。
请参考设定中的 "数字输入端口设定"来设定control lock 。
解除控制解锁状态的函数是 unlock() 。
step.unlock()
实行unlock函数,电机的状态从控制锁定状态转换为锁定状态,数字输入端口的输入模式在控制锁定模式初始化为一般输入模式。 因此在unlock()以后可正常进行电机控制。
#include <PhpocExpansion.h>
#include <Phpoc.h>
byte spcId = 1;
ExpansionStepper step(spcId);
int state;
void setup() {
Serial.begin(9600);
while(!Serial)
;
Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);
Expansion.begin();
Serial.println(step.getPID());
Serial.println(step.getName());
step.setMode(4);
step.setVrefStop(2);
step.setVrefDrive(8);
step.setVrefLock(8);
step.setSpeed(400);
step.setAccel(4000);
step.setEioMode(0, 1);
step.setEioMode(1, 1);
step.setEioMode(2, 1);
step.setEioMode(3, 1);
step.stepGoto(4000);
while(step.getState() > 1) {
delay(1);
}
// state: 0 - stop, 1 - locked
Serial.print("step_state ");
Serial.println(step.getState());
step.unlock();
// state: 0 - stop, 1 - locked
Serial.print("step_state ");
Serial.println(step.getState());
}
void loop() {
}
step_state 1
step_state 0