用S7-200的向导做了个高速计数器的程序.向导程序有部分地方做了改动.有时计数器在计数没有到达时显示值会自动清零.不知程序什么地方出问题了.望懂行的指点下.如下:
计数器设置程序:
LD SM0.1
CALL HSC_INIT:SBR11(SBR11为初始化程序)
LD SM0.0
MOVD VD144, VD500
LD SM0.0
MOVD +1000, VD600
*D VD500, VD600
LD SM0.0
MOVD VD600, VD120
LD SM0.0
MOVD HC0, VD504
LD SM0.0
MOVD VD504, VD148
/D +1000, VD148
LD M12.0
= Q5.4
LD SM0.0
MOVD VD600, VD508
-D VD504, VD508
LDD<= VD508, +20000
= M9.3
LDD<= VD508, +0
R M6.0, 1
初始化程序:
LD SM0.0
MOVD +100000, VD120
MOVB 16#FC, SMB37
MOVD +0, SMD38
MOVD VD120, SMD42
HDEF 0, 10
ATCH EXTERN_RESET:INT3, 28
ATCH COUNT_EQ:INT4, 12
ENI
HSC 0
外部端子复位程序:
LD SM0.0
MOVB 16#BC, SMB37
MOVD VD120, SMD42
HSC 0
设置值与显示值相等时的程序:
LD SM0.0
MOVB 16#FC, SMB37
MOVD +0, SMD38
MOVD VD120, SMD42
HSC 0
AENO
R M6.0, 1