目前出现的情况是,一旦进入中断19的程序,执行完一次,电机就不停,一直在慢慢走
中断19程序
LDB> SHAKE_COUNT_0:MB0, 0 // 如果 MB0 > 0
AB<= SHAKE_COUNT_0:MB0, 240 // 而且 MB0 <= 240
AN M0.0 // 如果 M0.0 = 0(偶数)
R DIR_OUT_0:Q0.2, 1 // 设置方向:前进
INCB SHAKE_COUNT_0:MB0
MOVB 16#A0, SMB67 // 设置 Q0.0 控制字节:
// - 选择 PTO 操作
// - 选择多段操作
// - 选择微秒递增
// - 启用 PTO 功能
MOVW +0, SMW168 // 将概要表的该起始地址指定为 V0
PLS 0
CRETI
LDB> SHAKE_COUNT_0:MB0, 0 // 如果 MB0 > 0
AB<= SHAKE_COUNT_0:MB0, 240 // 而且 MB0 <= 240
A M0.0 // 如果 M0.0 = 1(奇数)
INCB SHAKE_COUNT_0:MB0
S DIR_OUT_0:Q0.2, 1 // 设置方向:后退
MOVB 16#A0, SMB67 // 设置 Q0.0 控制字节:
MOVW +25, SMW168
PLS 0
CRETI
数据块
VB0 3 // 段数
VW1 200 // 起始频率 200 微秒(5KHz)
VW3 -2 // 加速度 -2
VD5 67 // 67 步
VW9 66 // 起始频率 66 微秒(15KHz)
VW11 0 // 加速度 0
VD13 1299 // 1299 步
VW17 66 // 起始频率 66 微秒(15KHz)
VW19 1 // 加速度 1
VD21 134 // 134 步
VB25 3 // 段数
VW26 200 // 起始频率 200 微秒(5KHz)
VW28 -2 // 加速度 -2
VD30 67 // 67 步
VW34 66 // 起始频率 66 微秒(15KHz)
VW36 0 // 加速度 0
VD38 1249 // 1249 步
VW42 66 // 起始频率 66 微秒(15KHz)
VW44 1 // 加速度 1
VW46 134 // 134 步