发表于:2005-04-29 17:56:00
2楼
有个问题想请教各位大师---关于S7-226的高速计数复位中断:
我用HSC1对增量编码器(1024)高速正计数(360度循环计数),在经历了几个SV=PV的中断后(例如483,1200等),再等到增量编码器的Z相来复位中断以便重复循环,请问此时复位中断程序内的是否须重新设置SMB47和当前值SMD48和预设值SMD52.请各位看一下我的编程,是否有疑问?
在子程序中初始化HSC1并清当前值及设置预设值483,当两者相等时中断0执行
INT0
LD SM0.0
MOVB 16#AC,SMB47
MOVD 600,SMD52
ATCH 1,13
HSC1
INT1
LD SM0.0
MOVB 16#AC,SMB47
MOVD 1200,SMD52 注:编码器最大1024脉冲,设置1200是为了让HSC1 一直计数,直到发生复位中断.
ATCH 2,15
HSC1
INT2
LD SM0.0
MOVB 16#BC,SMB47
MOVD 483,SMD52 注:重新写入HSC1的第一个预置值483
ATCH 0,13 当前值=第一个预置值483时,再次启动中断程序0
HSC1