我现在选用的是HC0单路I0.0输入,内部控制方向的高速计数器,程序做了一个中断,当HC0计数到10次时,置为Q0.0为ON。HC0当前值复位为0,这些地方都没问题。
假设现在HC0的当前值和设定值相等了,Q0.0也输出了,HC0的当前值现在为0,如果I0.0脉冲输入端误动作的话,HC0里面的当前值还会发生变化,怎样改改程序让它,当Q0.0为0N时,即使I0.0误动作,HC0也不让它计数。当Q0.0为OFF后,重新启动HC0高速计数。
我试过的方法有
1.把Q0.0的常闭信号加在高速计数里,不好用,I0.0误动作,HC0还是会计数。
2.当Q0.0为ON把SM37.7置为1,关闭HC0也不行,I0.0误动作,HC0还是会计数。
3.当Q0.0为ON时把0传送到SMD38,当前计数值中去,也不行,I0.0误动作,HC0还是会计数。
老师们看看,我改怎么修改程序就可以实现,Q0.0为ON时,不允许HC0计数。谢谢
问题补充:
1楼的方法不行的啊,LD Q0.0 MOV 0 HCO,这段程序提示不行的啊,无法将0传送到HC0。
最佳答案
怎样改改程序让它,当Q0.0为0N时,即使I0.0误动作,HC0也不让它计数。-------------------------------------------这个好办,你用Q0.0常开点给HC0赋值0即可.
1.把Q0.0的常闭信号加在高速计数里,不好用,I0.0误动作,HC0还是会计数。-------------------------应该是唱开点,别用边沿指令.
2.当Q0.0为ON把SM37.7置为1,关闭HC0也不行,I0.0误动作,HC0还是会计数。--------------------------直接清HC0即可.
3.当Q0.0为ON时把0传送到SMD38,当前计数值中去,也不行,I0.0误动作,HC0还是会计数。--------------------------SMD38是当前初始值,和这没关系.
老师们看看,我改怎么修改程序就可以实现,Q0.0为ON时,不允许HC0计数。谢谢 ----------------------LC Q0.0; MOVE 0 HC0.
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc321433.html