|
|
发表于 2009-3-7 09:30:41
|
显示全部楼层
来自: 中国江苏徐州
& P- k7 i$ e0 @3 n$ K4 Z% I
2 C& n9 f2 c$ G* y4 O' O# j [7 \. P1 t! J4 U1 U! r+ M8 `
按钮不能长按
% b) I2 f/ Y( P( g0 [/ s理论上来说按钮按下去到弹开的过程能和接触器的动作时间差不多就可以稳定动作。' U9 {$ [" e3 \
仿真的时候那个扫描周期跟你的电脑配置有直接关系,起码都是毫秒级以下的,用鼠标点来实现按钮输入,像s200的模拟器要点两次才相当于按一次按钮的效果,出现闪烁那不是太正常了 W9 d. G) e/ U: j! w" k3 R8 Y2 h
% ~; H) S3 D8 i0 C+ x2 X# c8 \我前面都说了,这样的动作只能在考试的时候出现,真是的硬件电路是不符合规范的。 h9 i% {4 W( n) c9 ~
4 g- {& A) X9 n3 A4 _5 K
如果用plc做的话,就不用像硬接线这样一个一个一个的限制,) n/ v+ Q- p; a! V! \6 e* y, X
而且上升下降沿,计数器延时都方便; G% q2 s, t1 T, |5 {9 Y
思路是这样的:7 F, G1 p1 V% z4 ~* s3 H5 l2 V
按钮信号分别取上升沿和下降沿,先延时几个毫秒防抖,+ P) B8 Q- ?! P( z& P
再限制一下上升沿和下降沿的出现时间,超过1秒或2秒的话,认为按钮无效。(正常按按钮一般不会超过1秒)2 [& a$ [ R2 \0 {$ _3 V* h
然后做个计数器,计数到2的时候延时几个扫描周期自复位(以前用twdio系列调试的时候就出现过自复位复不掉的情况,延时以后比较保险)
# U1 h8 r* Z4 D0 o8 r1 I- I+ `5 o
; O; C0 H- B' r1 W还想补充一点,如果非得用这样的控制,最起码得在按钮附近加一个指示灯作状态显示/ g$ Q% i! i v$ f, {7 w! R( L4 S, h
0 P& p4 w/ C/ E
[ 本帖最后由 3798447 于 2009-3-7 09:37 编辑 ] |
|