首先谢谢 芳季 的解答,我明白你的意思!但是那样中断太多了!
你看这样行不:首先按照 附件横坐标 修改预置值!HSC0 mode=9.一个周期内一直计数,不再每个段内都清零。
1、在方向中断程序里判断sm36.5 ,确定正反转。
A、SM36.5=0 反转,
则计数器此时自动由原来的UP变为down ,然后判断当前的运行在那段
(依靠 段标志),保留当前HC0,修改预置值PV,当PV=CV时中断,在
中断程序里依然根据 SM36.5 判断当前中断(问题是:中断后,不修改控
制字,能否利用SM36.5做判断标准)是正向中断还是反向中断。若为反向
中断,则把下一段的(依据段标志 ,也就是与正转时横坐标 相反方向
的) PV值作为作为预置值。一次类推!
B、SM36.5=1时,同样在中断程序里判断SM36.5 ,与反转一样!
2、这样利用同一个中断程序,根据SM36.5的区别,就可以了!
问题是:中断执行后,要重新使能HSC0,一使能HC0就清零了!清零以后反转时,只能通过修改为减模式,把CV值设为正传时的PV值,PV=0 来产生中断(减到0时表示走完这段)。这样做呢,要在方向中断程序里来回修改控制字。
昨天试了一下,也没成功(不知什么原因)!
点击此处查看附件