AB高速计数器,输出一直是高电平

各位老师,我用高速计数器HSC0的AB模式,写的预置值等于当前值中断里面一个是直接设置Q0.1高电平,方向改变时产生中断的里面直接设置Q0.1是低电平;可是程序运行下之后,一直是高电平输出。。。请问有什么方法能让退出中断后,电平设置取消吗?

问题补充:
回复wwcwwc
____________________________________________
您的理解是很正确的,就是这样的程序;我写的中断程序和您的答案是一样的,也能进去并执行;只是进入中断后,置位为1的时候是正常的,退出中断,进入另一个中断再置位为零的时候,输出的仍然是高电平;按照这个例子来讲的话:就是进入预置值等于当前值中断,输出高电平;再退出中断,进入方向改变中断(中断里已经置位为0),输出仍然为高电平。

最佳答案

如果是退出中断有中断分离指令可以退出中断,再次调用中断需要重新启动中断一次。
只是,你这个问题的理解问题(至少我根据你的描述是这样认为的)
你定义有2个中断?即当前值=预设值、方向改变。
正确连接到这2个中断?假设当前值=预设值中断在int_0,那么这个中断可以这样写:
LD SM0.0
=   Q0.1
方向改变中断在int_1:
LDN  SM0.0
=   Q0.1
中断指令被执行后的离开,输出是保持状态值的。
上述程序的执行含义是当程序执行当前值=预设值中断时,Q0.1=1并保持,当程序执行方向改变中断时,Q0.1=0并保持。
只要是到达上述的中断条件,无限制的执行给Q0.1的赋值内容。

提问者对于答案的评价:
回复WWCWWC
————————————
老师,您说的我理解了下,也做了一下改动:在中断程序开始置位为1,中断程序末尾置位为0;但是效果是仍然为高电平输出;我想请教下,难道这种保持无法取消嘛?我的意思是退出中断就不要置位啦,这样的要求应该怎样达到呢?麻烦老师啦。

最佳答案作者回复:
这个问题首先你确认2个中断是否定义好,是否在你验证过程确实调用过这2个中断,你可以在各中断子程序中添加计数器验证。
你可能还是没有理解当中断离开后,中断程序中的输出值是保持在离开前的状态。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc366482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论