我想利用旋转增量式编码器,实现对平台高度的定位,平台下降时,高速计数减计数;当降到设定高度时停止,然后上升,高速计数开始加计数。
现在我遇到的问题是:SMB57=16#F0,我设置的开始计数方向是减计数,可是,用监视程序发现却是加计数,监视SM56.5也一直是ON。
请问各位,是不是增量式编码器不能实现加减计数?如果可以实现那我的程序有什么问题,请指出,谢谢!
程序如下:
main program
LD SM0.1
CALL HSC_INIT
TITLE=程序注解
Network 1 // 网络标题
// 网络注解
LD SM0.1
CALL SBR1
Network 2
LD SM0.0
MOVD HC2, VD200
Network 3
LD SM56.5
A M18.0
= Q0.7
TITLE=
Network 1 // 指令向导HSC
// 欲在程序中启用此配置,请使用SM0.1或某边缘触发指令从主程序块调用此子例行程序一次。
// 为模式1配置HC9;CV = 0; PV = 0;向下计数;
// 将中断DIR_CHANGE附加在事件14(HC1的方向输入已改变)上。
// 启用中断和开始计数器。
//
LD SM0.0
MOVB 16#E0, SMB57 //设置控制位:向下计数;速率4X;已启用;
MOVD 3000, SMD58 //载入CV
MOVD 2000, SMD62 //载入PV
HDEF 2, 9
ATCH INT1, 16 //中断DIR_CHANGE:HC1的方向输入已改变
ENI
HSC 2
TITLE=
Network 1 // 指令向导HSC
// HC1的方向输入已改变
LD SM0.0
MOVB 16#F8, SMB57
HSC 2