恭喜,你发布的帖子
发布于 2022-06-05 20:55:30
13楼
看到80个工位,我就想着找规律了(如果不是为了介绍某一种编程方法)。
归纳一下要求:
1、双联开关,我想应该是没有PLC参与时的选择,PLC参与,用双位开关,就是有两个稳定状态,表达开灯和关灯要求。
2、一个已知的状态,即所有的DI=0时,LAMP=0,此时,DI中的1的个数为0个,偶数。
3、其中任一DI变为1,LAMP=1,此时,DI中的1的个数为1个,奇数。
4、改变其中任一DI的状态,LAMP=0,此时,DI中1的个数,由奇数返回偶数。
归纳结论:DI中1的个数为偶数时,LAMP=0,为奇数时,灯亮。
对于DI不连续的情况,但是总在一定的范围内输入,比如在0-255个输出中随机分布,也就是8个DWORD能够表示所有的DI状态,无关的DI用MASK屏蔽(也是8个DWORD表示)。
看到上面有谈到初始化的要求,也就是,不管DI输入如何,上电LAMP一定为0。
这个解决也不困难。
就是第一次扫描时,统计出DI中1的个数的奇偶性,记住此时的奇或者偶,代表LAMP=0。后续运行时,与此不同的LAMP=1。
请填写推广理由:
分享
只看
楼主