我想编一个根据开关闭合个数来判断开第几号灯的小程序,我用了
LD I0.7
EU
INCW VW0
LD I0.7
ED
DECW VW0然后根据VW0的值判断开第几个灯,结果在程序运行的时候闭合某几个开关可以正常显示,但是如果我如果提前闭合了开关再打开程序运行的时候发现提前闭合的开关不起作用了……有什么好的办法实现我的功能吗?
问题补充:
哈哈谢谢各位的回答,可能是我没有说清楚,我的目的就是看看有多少个开关闭合了决定开第几个灯,如果他闭合了我加一,他后来断开了我当然要减一了,现在的问题是,如果在程序运行以前就闭合了的开关,程序运行了接受不到上升沿所以没有加一,但是可以接受他断开的下降沿进行减一,各位能说的具体点的办法吗,如在开始的时候一个什么指令可以统一已闭合的开关呢,谢谢各位了
最佳答案
因为你用的是边沿检测指令,检测到变化(上升沿或下降沿)才会影响VW0.
可采取以下办法补救:在初始化时利用SM0.1作为条件进行一些处理,先检测开关闭合个数,对VW0预置一个相应的值
提问者对于答案的评价:
哦谢谢了,在刚上电时我用移位和字节相与的方法统计了下闭合的开关个数就可以实现了,哈哈谢谢各位指教了!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348381.html