发表于:2022/6/17 22:49:01
#0楼
0618 【万泉河】(多品牌PLC)80个工位双联开关控制公用灯示例
我准备把这个例子题目做成系列。
到目前为止,已经完成了西门子S7-1200,西门子 SMART 200以及汇川H5U的示例。
其实每个平台下的程序都大同小异,都是直接复制或照抄的方式移植过来的,因为原理和方法都是一样的。过程并没有花费多少时间。
先讲一下这个例程的功能。
其实是个工程中不存在的项目,只是为了演示一种特定的优雅的编程方法。 各位在了解完例子要实现的功能后,不妨在自己脑海中先过一遍,想想如果自己做,用最熟悉的PLC型号来完成,会怎样的方法实现。
这个例子的提出, 经历了三个阶段, 首先是我在文章中提到了按灯ANDON的概念, 然后有人提出说按灯不行,是特例, 要我用双联开关实现,后来做了4工位的双联开关实现的例子后,有跟我学习PLC编程烟台方法的学员开玩笑提出80个工位会更有意思。
然后就变成了现在的样子。
具体的要求是这样:
假设一条流水线,有80个工位,或者一个大楼,有80个房间。 每个工位各不相同,其他设备暂时不提,但共同之处有一个双联开关或者选择开关,然后整条线有一个公用的灯,照明灯或者报警灯。
要求在任何时刻,任一工位,只要有人操作扳动开关,从ON到OFF或者从OFF到ON, 都要触发公用灯状态反转,即如果原来是灭,则点亮之,如果原来是亮灯状态,则扳动开关后,灭灯。
抛开80工位数量的合理性不说, 其实这里从设计角度双联开关就是不太合理的,更易于操作的应该是带复位功能的按钮,最好是各自再带状态指示的按钮。 那么读者们可以在我做好的现成的例子基础上改成复位按钮实现。
也有人提出,灯的状态不应该是反转, 而应该是80工位取或,即任何一个工位开关状态为1,都应该亮灯, 以代表发出报警。 这是工程中常遇到的功能需求。
那么读者也可以试着更改完成。报警时可以是闪烁的。
还会有人提出,应该是红绿按钮两个输入,ON+OFF, 即任何工位按ON, 都要灯亮,而任何工位按下OFF, 都要灯灭。
这其实是我讲双线圈讲座时举例的配置。大家仍然可以在此基础上稍加改动实现。
完成上述的这些作业后,大家可以趁机了解到模块化的真正奥义。
以往行业中的很多人,所理解的模块化就是按工位分成多个FC,逐个编程实现,80个工位,80个FC。 最后还有一个总控室集中报警, 那就再做一个FC81, 把所有工位(房间)的信号聚拢一下,做一个循环功能的取或,实现了控制。
这其实不是真正的模块化。 只是把程序分成了区块而已。
真正的模块化要求的是程序模块各司其职,各自实现相应的功能,当设计功能需求有改动的时候, 只需要改动相应的部分,形成一个新的模块,简单插入或替换后即完成新设计。
而旧的模块也不浪费,可以打包存储好备用,以后再有项目,遇到了旧模块的功能的时候,再找出来不需要任何调试和修改,用上去,就直接实现了旧功能。
如此往复折腾几次,相近系统的相近功能都被做了一遍之后, 你手里积累的库函数就完整了。再有新项目的时候, 除了IO点的更新有点工作量之外, 模块库的部分只剩下调用了。 就像是盘柜车间,需要什么元件都从库房领取。 只要库房里的元件够完整, 那就什么项目都可以组装方式完成。
而同时,我曾经描述过PLC程序的跨平台移植的概念, 从这1个例程我分别做的多品牌多平台的应用演示,也可以一窥标准化架构下程序可移植的便利性。
当然,所有人不要指望从这样一个简单的例子中就学会了PLC项目的标准化编程方法。 看过我的著作或参加标准化学习营的学员都知道,那是一个繁琐的工作量巨大的工作,涉及的知识点千千万,这里只是一个很简单的基础理论知识的应用而已。甚至,标准化分享项目也并没有用到这个知识点。 这个知识点只是在针对一些学员的问题和需求而提出来的。
然而,大家可以看到的是这样的一个规模庞大(80工位)的例子程序,实现之后却异常简洁优雅。而且,调试过程都非常简单, 不需要耗费太多的精力核查有没有手误的输入错误。
这一点,完整的培训资料中的工程项目实例与之相比,优雅程度有过之而无不及。比如有网友质疑80工位例子程序对Q点重复调用,有违我定下的标准化规则理念。真的标准化项目当然不会啦!
有太多的咨询者在未见到完整的程序资料之前总在疑问标准化的程序啥样子, 可以从这个例子中领略到了。
PLC标准化烟台方法已经覆盖到了国内外几乎所有PLC品牌平台,所以这个例子我会逐渐扩展应用到所有的型号品牌。 没什么难度,排队也没有优先级,只是一时兴起,或者有人点菜的话,就提前一点。
比如做了汇川H5U的例子, 也只是因为几个月前要研究汇川PLC实现标准化的可行性,安装了软件, 软件图标就在桌面上放着,顺手就可以打开而已。 更多其它品牌的软件在虚拟机里,还需要单独去移动硬盘找到打开。
已经完成的S7-1200和SMART 200的程序,大家可以从西门子论坛帖子中下载。 H5U的程序也小范围分发给了一些微信群中。但都是零零星星的,不容易找到。
所以,针对这个专题,成立了一个群,群名就叫“80工位双联开关”
当然啦, 群名字比较怪异,加入者将来可以在自己QQ中标注备注。
未来,我会陆续把这些例子以及相关的文章的原文发到群文件中,新制作的各品牌的例子, 三菱, OMRON, AB, SCHNEIDER, 台达,B&R,CODESYS等等也会陆续增补放入,每一个新例子做好之后不一定会再单独写文章通知,但这里总会是最全的。
文章中提到的作业,也希望大家完成后共享到群文件后, 大家一起讨论探讨。 甚至将来再有好的想法,还可以持续改进升级。
我一直畅想能有一个开源的PLC程序共享机制,可以从这个例子开始试试水。
我准备把这个例子题目做成系列。
到目前为止,已经完成了西门子S7-1200,西门子 SMART 200以及汇川H5U的示例。
其实每个平台下的程序都大同小异,都是直接复制或照抄的方式移植过来的,因为原理和方法都是一样的。过程并没有花费多少时间。
先讲一下这个例程的功能。
其实是个工程中不存在的项目,只是为了演示一种特定的优雅的编程方法。 各位在了解完例子要实现的功能后,不妨在自己脑海中先过一遍,想想如果自己做,用最熟悉的PLC型号来完成,会怎样的方法实现。
这个例子的提出, 经历了三个阶段, 首先是我在文章中提到了按灯ANDON的概念, 然后有人提出说按灯不行,是特例, 要我用双联开关实现,后来做了4工位的双联开关实现的例子后,有跟我学习PLC编程烟台方法的学员开玩笑提出80个工位会更有意思。
然后就变成了现在的样子。
具体的要求是这样:
假设一条流水线,有80个工位,或者一个大楼,有80个房间。 每个工位各不相同,其他设备暂时不提,但共同之处有一个双联开关或者选择开关,然后整条线有一个公用的灯,照明灯或者报警灯。
要求在任何时刻,任一工位,只要有人操作扳动开关,从ON到OFF或者从OFF到ON, 都要触发公用灯状态反转,即如果原来是灭,则点亮之,如果原来是亮灯状态,则扳动开关后,灭灯。
抛开80工位数量的合理性不说, 其实这里从设计角度双联开关就是不太合理的,更易于操作的应该是带复位功能的按钮,最好是各自再带状态指示的按钮。 那么读者们可以在我做好的现成的例子基础上改成复位按钮实现。
也有人提出,灯的状态不应该是反转, 而应该是80工位取或,即任何一个工位开关状态为1,都应该亮灯, 以代表发出报警。 这是工程中常遇到的功能需求。
那么读者也可以试着更改完成。报警时可以是闪烁的。
还会有人提出,应该是红绿按钮两个输入,ON+OFF, 即任何工位按ON, 都要灯亮,而任何工位按下OFF, 都要灯灭。
这其实是我讲双线圈讲座时举例的配置。大家仍然可以在此基础上稍加改动实现。
完成上述的这些作业后,大家可以趁机了解到模块化的真正奥义。
以往行业中的很多人,所理解的模块化就是按工位分成多个FC,逐个编程实现,80个工位,80个FC。 最后还有一个总控室集中报警, 那就再做一个FC81, 把所有工位(房间)的信号聚拢一下,做一个循环功能的取或,实现了控制。
这其实不是真正的模块化。 只是把程序分成了区块而已。
真正的模块化要求的是程序模块各司其职,各自实现相应的功能,当设计功能需求有改动的时候, 只需要改动相应的部分,形成一个新的模块,简单插入或替换后即完成新设计。
而旧的模块也不浪费,可以打包存储好备用,以后再有项目,遇到了旧模块的功能的时候,再找出来不需要任何调试和修改,用上去,就直接实现了旧功能。
如此往复折腾几次,相近系统的相近功能都被做了一遍之后, 你手里积累的库函数就完整了。再有新项目的时候, 除了IO点的更新有点工作量之外, 模块库的部分只剩下调用了。 就像是盘柜车间,需要什么元件都从库房领取。 只要库房里的元件够完整, 那就什么项目都可以组装方式完成。
而同时,我曾经描述过PLC程序的跨平台移植的概念, 从这1个例程我分别做的多品牌多平台的应用演示,也可以一窥标准化架构下程序可移植的便利性。
当然,所有人不要指望从这样一个简单的例子中就学会了PLC项目的标准化编程方法。 看过我的著作或参加标准化学习营的学员都知道,那是一个繁琐的工作量巨大的工作,涉及的知识点千千万,这里只是一个很简单的基础理论知识的应用而已。甚至,标准化分享项目也并没有用到这个知识点。 这个知识点只是在针对一些学员的问题和需求而提出来的。
然而,大家可以看到的是这样的一个规模庞大(80工位)的例子程序,实现之后却异常简洁优雅。而且,调试过程都非常简单, 不需要耗费太多的精力核查有没有手误的输入错误。
这一点,完整的培训资料中的工程项目实例与之相比,优雅程度有过之而无不及。比如有网友质疑80工位例子程序对Q点重复调用,有违我定下的标准化规则理念。真的标准化项目当然不会啦!
有太多的咨询者在未见到完整的程序资料之前总在疑问标准化的程序啥样子, 可以从这个例子中领略到了。
PLC标准化烟台方法已经覆盖到了国内外几乎所有PLC品牌平台,所以这个例子我会逐渐扩展应用到所有的型号品牌。 没什么难度,排队也没有优先级,只是一时兴起,或者有人点菜的话,就提前一点。
比如做了汇川H5U的例子, 也只是因为几个月前要研究汇川PLC实现标准化的可行性,安装了软件, 软件图标就在桌面上放着,顺手就可以打开而已。 更多其它品牌的软件在虚拟机里,还需要单独去移动硬盘找到打开。
已经完成的S7-1200和SMART 200的程序,大家可以从西门子论坛帖子中下载。 H5U的程序也小范围分发给了一些微信群中。但都是零零星星的,不容易找到。
所以,针对这个专题,成立了一个群,群名就叫“80工位双联开关”
当然啦, 群名字比较怪异,加入者将来可以在自己QQ中标注备注。
未来,我会陆续把这些例子以及相关的文章的原文发到群文件中,新制作的各品牌的例子, 三菱, OMRON, AB, SCHNEIDER, 台达,B&R,CODESYS等等也会陆续增补放入,每一个新例子做好之后不一定会再单独写文章通知,但这里总会是最全的。
文章中提到的作业,也希望大家完成后共享到群文件后, 大家一起讨论探讨。 甚至将来再有好的想法,还可以持续改进升级。
我一直畅想能有一个开源的PLC程序共享机制,可以从这个例子开始试试水。
PLC标准化编程