恭喜,你发布的帖子
发布于 2023-03-31 21:11:35
4楼
您好学员,关于问题1,您提到的#instSinaPosVertical.AckError := TRUE,属于自复位的功能;
#instSinaPosVertical.AckError := FALSE;
#instSinaPosScrew.AckError := FALSE;
由于故障确认复位AckError必须是上升沿触发,需要有个信号从0到1的过程,这两段代码作用就是让AckError信号先复位为0,保证在置位为1时能够将故障确认复位;
老师,那两段程序是在 ELSE 里面,如果两个轴都使能了就不会将 AckError 信号置零,如果是为了重置AckError 信号,那我不理解为什么要放在 ELSE 里
IF NOT #instSinaPosVertical.Error AND NOT #instSinaPosScrew.Error THEN
IF #instSinaPosVertical.AxisEnabled AND #instSinaPosScrew.AxisEnabled THEN
#statFBState := #FB_STATE_HOME;
ELSE
#instSinaPosVertical.EnableAxis := #power;
#instSinaPosScrew.EnableAxis := #power;
#instSinaPosVertical.AckError := FALSE;
#instSinaPosScrew.AckError := FALSE;
END_IF;
END_IF;
请填写推广理由:
分享
只看
楼主