0831 【万泉河】80工位双联开关例程有什么实际意义
前一段时间里, 做了一套80工位双联开关控制一个公用指示灯的例子, 例子实现的功能:假设有80个工位, 每个工位都有一个双联开关, 而系统有一个总控的公用指示灯。 那么任何一个工位,当它的开关位置切换, 从左到右,或者从右到左, 即信号从0到1,和从1到0的时候,都要触发切换指示灯的亮灭状态, 即如果原来为灯灭, 则点灯亮, 而如果灯亮, 则灭灯。
我把这个例子功能在几乎所有的PLC平台都实现了。 并为这些例子建立了专门的QQ群,放在了群文件中。
未了解过这个故事的,请参考以前的文章:
《0618 【万泉河】(多品牌PLC)80个工位双联开关控制公用灯示例》
现在最新的可加入下载的QQ群号是870566908,这是第二个群。 如果此群满之后还会新建群, 存放的是同一套程序文件。 名字也会是相同的,80工位双联开关+序号
例子发表之后, 就有很多评论表示不解,比如:
80个工位有毛用啊, 我又用不到这么多工位
神经病啊, 用这么多双联开关来实现这么个功能,没有实际用处。
程序功能这么简单,看不出有什么技术含量
这里就解释下有什么实际意义。
首先, 这是一个逐渐成长起来的例子, 例子的作用是让读者从中领会其中的逻辑技巧,而不是直接搬回家去套用。
如果有同行还停留在网上嫖一段代码,用在自己控制逻辑中的层次, 那说明学习能力差了一点。我这边给出的学习理论和资料,都是帮助你学习提高技能或者丰富理论知识的, 而不是简单用于照抄的。
例子演示用的双联开关, 而实际应用中,更多的是单键自复位的按钮,足以实现功能, 而且更简单。 而如果需要的是工位中的逻辑条件满足之后控制灯,也只需要将输入点换为响应的内部变量。 而对灯的控制要求会是多工位的取或(并联)而不是翻转状态。
是的,我在讲解双线圈原理的时候,举例的就是ANDON系统的公用灯,就是这样的功能。 然而有人不服气,认为单按钮太简单, 让我改用双联开关,然后我不仅用双联开关实现, 还一口气实现了80次。
对于技术的学习来说, 通常做减法比做加法要容易得多。 学习者可以在我做的例子基础上做减法,比如可以把双联开关减为单按钮,还比如把80个工位减少为2个工位。
当下的工位控制是相同的,所以通过对同一个FB的多次调用实现。 那么也可以是相似的FB,即主要功能完全不同, 而仅仅相关联的管脚和变量相同。
例子的控制对象现在是指示灯, 是一个Q点, 然而这个Q点也完全可以是驱动电机的接触器的Q点。
那么,如果2个工位分别改名字为手动控制和自动控制的话,就实现了:
CALL 电机手动控制
CALL自动控制
即上一篇文章《0811 【万泉河】双线圈第五弹:双线圈与手自动》中提及的实现手动控制和自动控制解耦并列实现的程序写法, 是很多PLC初学者迈入过的坑, 大家后来纷纷改变了程序架构,而其实,只要对PLC逻辑有足够的驾驭能力,也是完全可以实现的。
上次文章后,在烟台方法学习营和双线圈群中都做了直播讲解。 我开头讲的就是, 这个实现原理其实很简单, 在80例子基础上大幅度简化,把手动和自动当成2个工位, 自然就是了呀!学员恍然大悟。 也是感慨看了80例子, 其实领悟还是不够深刻。
80例子的另一个重大意义在于, 演示了写PLC程序的方法是可以完全离开PLC平台的,即用同一种思想方法,在所有PLC平台都可以实现,我后来甚至在信捷小PLC中也如法炮制。
证明, 如果用这种架构方法写出的PLC程序, 要移植到其它的平台,都是非常容易的。 甚至如果都是同样语法规范的ST语言,直接文本复制粘贴也都是可能的。
前段时间, 西门子官方召开了本年度的专家大会, 有对烟台方法不服气的网友就质问我,如果技术真的先进, 为啥没投稿到专家大会并在上面演讲, 我的回答,这种能导致PLC程序轻松移植到别的厂家的技术,西门子肯定是不会很喜欢, 我还是别去惹老东家不高兴了。 私下里和老同事之间沟通交流方法可以,但面对官方,还是知趣点了,做挖墙脚的反贼还是小心点了。
不过也报名参加了西门子论坛的领路人计划,现在初步计划把手动控制自动控制的实现做个视频讲座,然而题目还没最后想好,不知道以什么名字能让读者一目了然了解到实现的功能。 欢迎大家帮忙推荐。