本期擂台为征集题:
程序内容是这样的,
①.当I0.0为自复位按钮输入变量,按一下I0.0,q0.0输出为1,再按一下I0.0,q0.0输出0
②.当I0.1为自复位按钮输入变量,按一下I0.1,q0.1输出为1,再按一下I0.1,q0.1输出0
3③.当双击(1S以内连续按两下按钮算双击)I0.0或I0.1任何一个按钮时,Q0.0,Q0.1都为0,当再次单击I0.0或者I0.1时,Q0.0或者Q0.1仍会延续①与②的逻辑。
PLC类型任意选择,回答的最好最完全的,原创最多,阐述最详细者获一等奖!
工控PLC擂台每周一期,本期待88期结束一周后结贴。奖项设置:一等奖1名:30~50MP,二等奖3名:10MP,三等奖10名:100积分。
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
但凡采用计时再加计数来考察“操作点击”的身份,在某些操作情况下就必然出现漏检某个“点击”与相邻“点击”之间的“间隔时值”,造成与具体程序中对“双击”理解的概念形成矛盾。
以№19楼<wyb2866255> 的答案程序为例,
该答案程序上机运行,若操作手法以较低的的频度摁输入键,且操作人必须以其主观意识操控之下将“单击输入”与“双击输入” 先行区分开来,以此弥补该答案程序之自主判断能力的不足。才可能是PLC的相应输出元件的状态反应“符合题目要求”。
但是,若某操作工是个急性子,又没有秒表做参照的情况下,他操作输入键的结果就有可能不是你介绍的这样:
“ 1、按1下按钮I0.0, Q0.0=1 Q0.1=0 再按1下I0.0, Q0.0=0 Q0.1=0
2、按1下按钮I0.1, Q0.0=0 Q0.1=1 再按1下I0.1, Q0.0=0 Q0.1=0
3、按1下按钮I0.0, Q0.0=1 Q0.1=0 按1下I0.1, Q0.0=1 Q0.1=1
4、按1下按钮I0.0, Q0.0=1 Q0.1=0 再按2下I0.0, Q0.0=0 Q0.1=0
5、按1下按钮I0.1, Q0.0=0 Q0.1=1 再按2下I0.1, Q0.0=0 Q0.1=0
6、按1下按钮I0.0, Q0.0=1 Q0.1=0 按1下I0.1, Q0.0=1 Q0.1=1
再按2下I0.0, Q0.0=0 Q0.1=0
7、按1下按钮I0.0, Q0.0=1 Q0.1=0 按1下I0.1, Q0.0=1 Q0.1=1
再按2下I0.1, Q0.0=0 Q0.1=0 ”
假设:这个急性子的操作工(在没有秒表参照的条件下凭对1秒之时间概念的感觉)的实际操作情况如下时序图所示:
这急性子按照19楼介绍的步骤:“1、按1下按钮I0.0,”(如该时序图所示的1#输入)等了约900毫秒,急性子的他感觉好漫长啊,好象够1秒了吧!还不见出现:“ Q0.0=1 ”于是乎 “再按1下I0.0 ”(如该时序图所示的2#输入),再等了一段更长一点的时间仍然不见出现这个:“ Q0.0=1 ”!莫急,多试试,“ 再按1下I0.0”(如该时序图所示的3#输入),再等上一段时间看看仍不见有任何输出!
再最后试一把, 干脆 连续的“ 再按2下I0.0”(如该时序图所示的4#、5#输入),再等了一段时间,正灰心要放弃试验之时终于才看到“ Q0.0=1 ”出现了!哇,谢天谢地你来啦!!
但静下心来一想:不对!这最后输入的两个“点击”(如该时序图所示的4#、5#输入)明明就是“双击”嘛,干吗还出现“Q0.0=1 ”呢?!这不是与该答案程序中所运用的“双击”概念相矛盾么?!!
②、按 1下I0.0:I0.0的(1#点击)上升沿使MB1内容加1,还使MB3减1.。其结果为:MB1=1 ; MB3=1。( MB2的内容这时不受I0.0的影响)
这时,MB1、 MB2、 MB3 这3个字节的各个bit 的状态:
该上升沿同时也触发定时开关 M0.0=1 ,计时开始。
③、经等待1000 ms ,M0.0翻转为“0”,其下降沿触发输出位Q0.0 翻转为“ON”。
当MB3≠0 时, MB2的内容不会受I0.0操作结果的影响,Q0.1的状态也不受其影响。
当该答案程序扫描执行至“网络7”的最后一条“MOV”指令时仅只恢复MB3=2 。
这时,MB1、 MB2、 MB3 这3个字节的各个bit 的状态: