如果谁有异议,就请把道理讲出来!如果没有异议,那就是认可:用“ALTP指令”来实现“一键启停”功能是没有问题的!当执行条件从OFF跳变到ON的第1个周期里,“操作位元件”Y0的状态就改变一次。
那好!我们就来看下面的一个比较实验:
从第24楼的实验程序之监视图片上我们看到C2 的当前值为:133
因为用“跳转”方法所做的“一键启停”之“输出位Y001 ”当前状态为“1”,所以,我们要把“C2的当前值133 ”减去2,再看其“差”是否为4的倍数。显然其“差(131)”不等于4的整倍数!这就充分证明“gaoqiang ”网友的说法(按键两次开,再按键两次才关)与事实不符!
相反,根据C2的当前值133是一个“奇数”,而Y001的当前状态是“ON”这一点就可以证明:只需按键单次就能使“Y001”的状态发生改变!
我们从该监视图片上看到:C1 的当前值为67,C2 的当前值为 133 。根据“(67-1)× 2 = 133 -1”可以充分证明:“按键(X000)1次,Y001 就‘开’,再按键 1 次,Y001 就‘关’是千真万确的!”
再有,从该监视图片可以看到:C1当前值与C0当前值完全相同。既然我们大家对“ALTP指令”的功能不加怀疑,那么,C1当前值与C0当前值完全相同,这就充分证明用“跳转”方法来做的“一键启停”与“ALTP 指令”的功能完全一致!我们还有什么理由可以怀疑的说“用跳转的方法来实现‘一键启停’不行”呢?!!
“常进华”及“gaoqiang ”两位网友在实践中为什么会得出与我在上面对“一键启停”程序的分析结果根本不同的结论来呢!这只有一种可能:那就是他们所用按键的电触点有发生“颤动”的情况!操作者在感觉上只是摁动了一次按键,但事实上,按键的电触点已经接通了若干次!倘若这“颤动”的次数是一个“奇数”那还正好能得到我们所希望的操作结果!但是,倘若这“颤动”的次数是一个“偶数”,那么,操作者就会误认为这一次“操作”没有起什么控制作用!在这种情况下再一次摁动按键,而这一次操作恰巧按键的电触点“颤动”次数是一个“奇数”,使得输出位Y000的状态最后翻转为操作者所希望得到的状态。那么,这个操作者就误以为这个用“跳转”方法来做的“一键启停”程序不行,要“按两下开,再按两下才关”!
我们所讨论的这个用“跳转”方法做的“一键启停”程序其控制输入位是“ X000 ”正好是三菱PLC上反应速度较高的输入继电器,它把按键电触点的快速颤动也敏捷的给检测到了。所以,这种反应过于敏捷的输入位是不宜做“一键启停”功能电路的控制“输入位”的。我们可以把“控制输入位”选择在其它输入继电器上。另外,我们还能通过其它的一些措施来避免这种过于的“敏捷”:
①、在D8020(输入滤波器调整)中把设定值改成最大值。编程手册上记载的最大值为60mS。
②、在程序中写入延时功能:把输入位的b接点的ON时间达到一个数值以后才能使输入位的a接点起到控制“一键启停”程序的作用。