恭喜,你发布的帖子
发布于 2026-03-13 21:29:24
37楼
关于:公平性、速度、时间差。
从楼上各位的贴子看,比较在意硬件或软件原因无法区分“同时”检测到的两个或以上抢答如何公平问题。
通过提高时间分辨能力来保障公平性,这无疑会把注意力放在提高硬件水平上。
如果这个题目是个实际项目,首先会对成本和效益进行评估,在没有明显影响公平性的情况下,肯定不会提高硬件成本。
但我这里要说的,是另一个没有被注意的问题,对公平造成的破坏,远比上面一点点时间差的不公平,来得更严重。
什么是最大的不公平?
由于系统设计的原因,使得违反规则的人得到奖励,就是最大的不公平。
1、PLC实际外部的Q点,与PLC内部程序使用的Q点,存在不同步的现象。
如果编程者使用内部的Q点,当其刚为ON时,其实外面的灯还没亮呢,使用这个Q点判决按钮动作的合法性,有一定机率把第外部第3个灯还没亮,但内部Q已经ON的按钮视为合法,实际这是违规抢答,但程序判定为合法。
当然,可以使用立即输出进行校正,使Q点内外同部。
2、按键的I点输入,是带有滤波的,滤波时间可能比扫描周期还长。
假如I点的滤波时间是5ms,无论是中断检测,还是普通扫描周期检测,当程序检测到I点为ON时,实际上在此5ms之前,按钮金属片已经为了第一次亲密接触,再考虑按钮的行程所花费时间,检测与按钮动作的时间差,远高于5ms。
如果编程时没有考虑这个因互,实际上把第3个灯点亮前,提前5ms甚至更长时间的按钮动作,视为合法,得到奖励,这对于遵守规则,灯亮之后才按下按钮的人,是不公平的。
3、从眼睛受到光的刺激,再到手上的按钮动作,这个延时时间是相当可观的。
我从网上查了一下,人眼对于闪光的反应延迟有150ms。
假如,训练一下,反应时间降为100ms。
遵守规则,在灯亮之后才开始行动的,按钮事件必然是在PLC点亮灯的100ms之后。
那么,在PLC点亮第3个灯之后的100ms时间内检测到的按键动作,都不是因为看到灯亮作出的反应,都是违规提前按下,对这些违规动作进行奖励,是不公平的。
(如果有持灯亮预判观点的,可以扩展再聊聊)。
因此,结论来了:
真没有必要考虑1ms量级的时间内检测到的“同时”动作影响公平性的问题,物理位置在前(扫描时先行处理)的优先获得第一,不会明显影响公平性。
请填写推广理由:
分享
只看
楼主