恭喜,你发布的帖子
发布于 2022-06-08 13:29:03
33楼
题目描述精确程度不同,实现方式可能大相径庭。
比如:如果在短期内,有2个工位的开关状态“同时”改变,这个时间可以缩短到一个扫描周期,对于人的反应来讲,可以认为是同一要求。
假如现在LAMP=0,灯灭,有2个工位“同时”扳开关,意思都是要开灯,结果应该是LAMP=1。
如果是逐位处理,或数1的奇偶性,其结果是LAMP=0,因为,其中一个开关变位表示开灯,另一个开关变位又把它灭了。
如果允许“同时”变位视为“同一”要求,实现起来更简单:本次扫描的DI值,和上次扫描的DI值有变化(不相同),翻转LAMP状态。
LAMP翻转条件是以下算式结果非0:
(本次扫描DI) xor (前次扫描DI) and MASK屏蔽不相关的位
好主意。
不过也有个问题,“视为同一要求”只能处理一个周期内出现变化的情况,把它视为同一要求。但实际出现更多的情况是在人认为同一时间内出现的同一要求要视为同一要求。
所以,需要进行一定的信号状态处理。
请填写推广理由:
分享
只看
楼主