不建议你把DDRVI写在流程中,因为步跳走时该函数内部封装的变量可能没有被刷新,你可以把DDRVI写在外面一直调用,加个触发条件在流程中使用。
20:
Start := TRUE;
//Position :=
//Speed :=
IF NOT M8029 THEN
AXIS_STEP := AXIS_STEP + 10;
END_IF;
30:
IF M8029 THEN
AXIS_STEP := AXIS_STEP + 10;
END_IF;
40:
Start := TRUE;
//Position :=
//Speed :=
IF NOT M8029 THEN
AXIS_STEP := AXIS_STEP + 10;
END_IF;
END_CASE;
DDRVI(Start,Position,Speed,AxisNo,Direction);
Start := FALSE;
不知道这条命令是不是上升沿触发了,如果需要触发变量保持到位再复位,自行处理即可。
[此贴子已经被作者于2020/3/17 16:40:32编辑过]