我想用高速计数器编程,在程序中预置了三个数,分别为40、80、120,也就是说在40中断一次、80中断一次、120中断一次,但我通过向导做好后,只是在40中断、80中断后从0计数不在120这个数中断了,一直加数,不解不解,请高手指点程序中在哪儿出问题了?下面是程序:
主程序
LD SM0.0
MOVD HC3, VD300
LD SM0.1
CALL HSC_INIT
子程序
LD SM0.0
MOVB 16#F8, SMB137 //设置控制位:增计数;已使能;
MOVD +0, SMD138 //装载 CV
MOVD +40, SMD142 //装载 PV
HDEF 3, 0
ATCH COUNT_EQ, 32 //中断程序 COUNT_EQ:HC3 的CV = PV
ENI
HSC 3
中断程序1
LD SM0.0
MOVB 16#E0, SMB137 //设置控制位:写入当前值;写入预置值;
MOVD +0, SMD138 //CV = 0;
MOVD +80, SMD142 //PV = 80;
ATCH HSC3_STEP1, 32 /中断程序 HSC3_STEP1:HC3 的CV = PV
HSC 3
中断程序2
LD SM0.0
MOVB 16#E0, SMB137 //设置控制位:写入当前值;写入预置值;
MOVD +0, SMD138 //CV = 0;
MOVD +120, SMD142 //PV = 120;
DTCH 32
HSC 3