本期擂台为征集题:
程序内容是这样的,
①.当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后、用户可通过用户管理后台申请兑换)。
擂主的题目要求参赛者的答案程序能够自主的正确判断“输入点击”的(单击或双击)身份,并能根据其身份让PLC作出正确的相应反应。
而<wyb2866255>却理解为题目要求操作人必须以其主观意识操控之下将“单击输入 ” 与“双击输入 ” 先行区分开来,再交给答案程序进行“输入点击”身份的判断。
因为有了操作人之主观意识操控的间隔保障,这对答案程序的功能要求就大幅度降格了!这种大幅度降格,并不是擂台赛的精神!我想擂主一定不希望他所出的题目是一个非常低格的命题吧!
由人为的努力协助№19楼答案程序让PLC完成相应的动作,<wyb2866255>就宣称“该程序经上机运行,动作正确符合题目要求”。
但是,若具体的某操作工没有刻意努力的去协助№19楼答案程序进行“判断”,该答案程序就不能够保证PLC的对应输出反应都符合题目要求!
№19楼的答案程序是9月2日贴出来的,其<网络5>和<网络6>都缺少一条 非常必要的条件指令:“MB3>0”,没有这个“必要条件”的限制功能,有些情况下<wyb2866255> 的答案程序在自动判断“输入点击”之(单击或双击)身份时就会遇到无法区分的尴尬。
当Wanggq用时序图把№19楼的答案程序存在的这种尴尬情况给显露出来后,<wyb2866255>就申辩“ 程序的网络5、6原有比较指令,因太长,觉得删掉这比较指令,强调1秒内最多按2下(这很容易掌握),该程序仍可正常运行 ” 意思是:他写的答案程序原来是有 “MB3>0” 这个条件指令的,是他觉得程序太长,不够简洁就删掉了这个条件指令。只要操作手努力协助配合,该程序仍可呈现出“符合题目要求”的表象来。
这就象把男人有重要功能的“器官”阉割去势,还说他仍可正常生活和工作!
你把你自己误以为不重要的指令删掉,并说是因为程序太长,你为了程序简洁,才把“MB3>0”这个条件指令删掉的。
但是,wanggq指出:与其你删掉网络5、网络6中有重要作用的“MB3>0”,还不如你把网络1中毫无必要的“0 → MW1” 删掉!!
大家看<wyb2866255>怎么应对?<wyb2866255>居然说:“网络1的0-->MW1可以不用,开始编程时没有用比较指令,只是限制MB1计数器最多计2个数,后改为用MB3减1指令,且用MB3=0比较判断。MW1=0删不删此处无关大局,就没有删掉 ”
9月2日的19帖中没有“MB3>0”(请大家注意:这个“必要条件”对该程序有非常重要的作用), <wyb2866255>说原来有,因为嫌太长所以把它删了,才没有!而该答案程序网络1中的“0-->MW1”对实现题目要求的目标功能完全没有什么作用!它在该答案程序里完全就是垃圾!<wyb2866255>却对这种垃圾的态度是“删不删此处无关大局”!所以就没有删掉!
因嫌程序不够简洁而对有重要作用的指令处以“阉割”,相反,对毫无益处的“垃圾”却放任它在程序中充数!这就是<wyb2866255>的狡辩!!
<Wanggq>原本是不想对№19楼答案程序中<网络1>存在的无用部分提出点评的。因为很多人都有可能在程序中留下点无用的东西,正如<wyb2866255>所说只不过是“无关大局”的缺点而已。
但是,<wyb2866255>在辩解他19楼答案程序里<网络5>、<网络6>中缺少为了保证其“MB3=0比较判断”不发生混乱而须设置“必要条件”(MB3>0)之失误时,拿“网络5、6原有比较指令,因太长,觉得删掉这比较指令,强调1秒内最多按2下,该程序仍可正常运行”来搪塞,所以<Wanggq>才接着<wyb2866255>嫌程序太长而删掉“MB3>0”,这一话茬给他指出:你想让程序简洁,与其你删掉网络5、6中的重要指令“MB3>0”,还不如你把网络1中的无用指令“0-->MW1”删掉!这样不就在原有基础上相对的简洁了一点吗?<wyb2866255>立马抛弃“为了简洁”这一档事,反驳道:“0-->MW1”可以不用,删与不删无关大局! <wyb2866255>的这种辩解算是什么逻辑?!
<wyb2866255>在9月2日贴出№19楼的帖子末尾标榜他的答案程序:“该程序经上机运行,符合题目要求”,其实内行的人是很容易看出№19楼答案程序在逻辑上是存在严重缺陷的。所以,我起先也不想点评№19楼答案程序的毛病,对该程序的毛病睁只眼闭只眼,让网友们自己动脑去判断它是否真实意义的“符合题目要求”。
但是,接下来<wyb2866255>又于9月10日另立一个帖子叫《用实例讲解编程构思与技巧编程》再次的标榜他关于本擂台题目的答案程序:“该程序经上机运行,动作正确符合题目要求。”
<wyb2866255>以一个根本不能保证PLC在任何输入情况下都能自动根据程序设定的间隔标准对“输入点击”进行(单击或双击)身份的正确判定 的低能程序为范例给广大网友讲“技巧编程”!这是对广大网友负责的态度吗?!
所以,我才决定向广大网友把<wyb2866255>关于本擂台题目的答案程序存在的逻辑错误显露出来!
(直到9月21号,我才开始点评<wyb2866255>在№19楼的答案程序)
下面是9月10号<wyb2866255>再次对有严重逻辑缺陷的、需要操作人注意力放在协助配合下才能不出现判断错误的低能程序进行标榜:“该程序经上机运行,动作正确符合题目要求。”的《用实例讲解编程构思与技巧编程》的截屏图片:
<wyb2866255>所谓“网络5、6原有比较指令,因太长,觉得删掉这比较指令,强调1秒内最多按2下(这很容易掌握),该程序仍可正常运行,”是虚构的、经还起推敲的! 纯属是在面对别人点评其答案程序中存在的“错误”时而进行的掩饰和搪塞!
有什么线索可以指向 <wyb2866255> 的答案程序中“网络5、6原有比较指令”呢?没有!
我们能找到的线索却是:之前,9月2号 <wyb2866255> 贴出的“网络5”、“网络6”都缺少“条件比较”指令;之后,过了8天,9月10号 <wyb2866255> 贴出来的“网络5”、“网络6”中都有了“条件比较”指令。
这条线索表明:十之八九<wyb2866255>是在之后的几天才发现“网络5、6 ” 是不能缺少“条件比较指令”的!因为“条件比较指令”在该程序中起着重要的作用。
(№92楼) 在搪塞“MB3减 1 缺少作‘条件限制’的比较指令”时,就说“程序的网络5、6原有比较指令,因太长 …… ” :
(№96楼) 在搪塞程序中的垃圾没有删除时,就说“开始编程时没有用比较指令……” :
这(№96楼的)“开始编程时没有用比较指令”的说法与前面(№92楼的)“程序的网络5、6原有比较指令”是不是自相矛盾了呢?!<wyb2866255>的答案程序到底原本有或没有“比较指令”,就凭他自己说,但不能前后自相矛盾!自相矛盾就暴露出他是在说谎!
其实,在该答案程序的“网络5、6”中加进一条“条件比较”指令并没有导致梯形图截图不便,№92楼贴出的截屏梯形图就充分证明了截图并不存在不便。
而没有这条“条件比较”指令(对于№19楼的程序片断来说)将造成PLC对“输入点击”身份判断的混乱!
依 <wyb2866255> 的“逻辑 ” ,网络5和网络6中原本有“条件比较 ”指令,9月2号 <wyb2866255> 觉得太长,不便截图才将其删掉了,过了8天,9月10号<wyb2866255> 改变了之前的感受,对“条件比较”指令就不觉得太长,也不觉得不便。又把该指令添加到网络5和网络6里头去了。
既然 <wyb2866255> 认为没有“条件比较 ” 指令,该答案程序也照样符合题目要求,那么,<wyb2866255> 怎么还会想到要把这条被他自己删掉的指令再度加进网络5和网络6里头去呢?
种种迹象都表明:<wyb2866255>的“网络5、6原有比较指令,因太长,觉得删掉这比较指令,强调1秒内最多按2下(这很容易掌握),该程序仍可正常运行,”是他面对别人“点评”其答案程序存在的毛病时所进行的掩饰和搪塞!