发表于:2022/7/16 20:55:45
#0楼
0716 【万泉河】PLC编程CFC语言在烟台方法中的地位
CFC原本是PCS7中的主要编程方式。
然而其中的CFC软件包可以单独安装在STEP7 V5环境下,即便在S7-300的编程中也可以使用。所以,有那么将近十多年,我都是大力主张用CFC编程的。
2008年, 西门子在新的PORTAL系统上线之前请我帮忙测试,所以我应该算是国内最早接触到PORTAL软件的TOP5, 全球也不超过20人之一。 网上现在还有人能翻到我当时访谈的视频。 那时候我是原原本本按照测试员的要求做了软件功能测试, 也把一套原本STEP7的程序移植到了PORTAL环境,演练了一遍,对软件的使用便捷性人性化赞赏不已。
但私下里, 测试员提出让我把程序应用到项目中,因为S7-300也支持PORTAL编程的。 我拒绝了。甚至更决绝的提出,在PORTAL支持CFC之前我是会尽量避免使用S7-1500 。因为那个时候我的认知里, 做项目的最便捷的方式是使用CFC。 我翻译的那套S7-300程序,只是公司当时用的一套垃圾框架程序,根本没什么意义。
所以,在之后的十多年时间里, 我做项目的时候,都是尽量避开使用S7-1500的。 甚至,有项目,盘柜都设计好了,元器件都采购安装好了, 我又经过协调, 把上面的S7-1500的CPU拿下来, 换上了自己的一台S7-300 。就为了要用CFC做程序。 只换了主站,而从站还是原设计的ET200SP远程IO。
所以那台CPU 1511被我换下来倒成了学习工具。 每当TIA PORTAL 发布新版本,我就拿来把玩学习一下。而真正的工程项目中,极少用到。 印象中能记得住的可能也就一两回使用S7-1200做的小项目。
然后后来的故事大家也都知道了。 2018年, 我拿到了TIA PORTAL 最新的V15版本,在研究学习时发现,其软件能力终于可以满足我对标准架构面向对象编程的所有功能的需求了。由此开启了轰轰烈烈的PLC标准化编程的创新开发及应用推广即今天称之为烟台方法。 除了在工程项目中成熟应用之外, 还成功扩展研发到了西门子之外的所有其它主流品牌的主流PLC, 三菱, AB, OMRON , 施耐德, 倍福等等。 其他的一些品牌, 甚至小型PLC, 也都大致做了可行性研究。
后来证明软件提供的功能也并不是先决条件,只要思想架构成熟,再弱的PLC, 比如SMART200这样的小型PLC, 最终经过一番改造, 也仍然实现了。所以这不完全赖操作系统, 还是自己能力成长不够。然而这个成长的过程是一个对自己知识架构重新解构的过程, 是需要有一定的创新思维的。
所以当S7-1500的标准化程序架构和理论思想一旦成熟,我就开始转向专心用S7-1500而拒绝使用S7-300/400了。有项目开始技术要求S7-300的,也会尽量劝说升级到S7-1500来实现了。
而对于CFC编程语言,则不再那么感冒了。 因为烟台方法的编程架构,比当初的CFC里面搭图形, 效率高到不知道多少倍了。
去年去唐山帮一位朋友做一套S7-400H的程序,系统中的电机阀门设备数量非常多,电机数量到将近400台。 在去的高铁上就一直在犹豫,到底用不用CFC。 最终落地之后决定,还是未用CFC。那么多台设备一个个连线过来, 手腕子恐怕都要断掉了。 工作过程中,优雅更重要。
所以最终还是参考标准化程序架构中的方法,在STEP7中优雅实现。 相当于现上轿现包腳,临时连夜实现了烟台方法在旧的STEP7系统中的应用。
2021年, TIA PORTAL升级到了V17,终于算是支持CFC语言了,然而我已经毫无兴致了, 甚至安装之后都没有正式演练一下。 到目前为止,电脑上也主要使用V16。
总之,一句话, 烟台方法不使用CFC。
烟台方法是一套创新的PLC编程方法, 然而并没有独占的专用权利。所以,更本质的说法是,烟台方法对PLC所有编程技术中的技术点和技术方法, 做了黑名单,白名单,绿名单的区分。
我曾经写过很多文章,对各种技术点和技巧逐一做了评析。 褒贬都有。 所以严格说来, 烟台方法是划定了一个矩阵范围。等哪天有机会的时候,我会把这个矩阵图完整绘制出来。
上周, 和一位众多网友公认的同行高手聊天, 因为他现在主要搞PCS7,所以顺便把对CFC的缺点跟他抱怨了一通:
万泉河:
PCS7不好玩。 CFC只能做垃圾程序。
万泉河:
我去年帮人做个项目, 倒不是PCS7, 但我犹豫很久最后还是没用CFC
万泉河:
400台电机, 最后还是用的SCL
万泉河:
看过我写的双线圈的系列文章了吗?
万泉河:
CFC的连线本质上也是线圈。
万泉河:
而且入线还是独占的。
万泉河:
CFC的连线, 在输出侧本质是线圈, 在输入侧则是独占。
万泉河:
CFC也不能用INOUT管脚
万泉河:
太讨厌了。
然而最后这段聊天他没再回复, 估计是没看懂,没理解我在抱怨什么。 因为他对我整个烟台方法都还没搞懂,所以我的那些痛点他还感觉不到。
当然啦, 大部分的读者对我上面这段话恐怕更难看懂。不过没关系, 领先的技术是不会过时的。我把这个FLAG先立在这里,大家暂时读过看过能有一点点印象就可以。 早晚一天,等你技术能力提高了,理解力到了以后,再来看看我说的话,说不定会对你有用。
就好比, 关于我发表的反UDT的观点的文章,就有很多人,包括跟我学习标准化的学员也不理解并反对。也有很多人如实跟我承认在自己的项目中还是喜欢用UDT来做数据打包传递。我当然也不会多过问。然而上个月,就有一位学员跟我私信讲到,2年来一直对我说的不要用UDT不理解, 最近则刚刚终于领悟了, 认识到我说的对。
这很好呀, 这不就说明学习有成果有进步有提高了嘛!
CFC原本是PCS7中的主要编程方式。
然而其中的CFC软件包可以单独安装在STEP7 V5环境下,即便在S7-300的编程中也可以使用。所以,有那么将近十多年,我都是大力主张用CFC编程的。
2008年, 西门子在新的PORTAL系统上线之前请我帮忙测试,所以我应该算是国内最早接触到PORTAL软件的TOP5, 全球也不超过20人之一。 网上现在还有人能翻到我当时访谈的视频。 那时候我是原原本本按照测试员的要求做了软件功能测试, 也把一套原本STEP7的程序移植到了PORTAL环境,演练了一遍,对软件的使用便捷性人性化赞赏不已。
但私下里, 测试员提出让我把程序应用到项目中,因为S7-300也支持PORTAL编程的。 我拒绝了。甚至更决绝的提出,在PORTAL支持CFC之前我是会尽量避免使用S7-1500 。因为那个时候我的认知里, 做项目的最便捷的方式是使用CFC。 我翻译的那套S7-300程序,只是公司当时用的一套垃圾框架程序,根本没什么意义。
所以,在之后的十多年时间里, 我做项目的时候,都是尽量避开使用S7-1500的。 甚至,有项目,盘柜都设计好了,元器件都采购安装好了, 我又经过协调, 把上面的S7-1500的CPU拿下来, 换上了自己的一台S7-300 。就为了要用CFC做程序。 只换了主站,而从站还是原设计的ET200SP远程IO。
所以那台CPU 1511被我换下来倒成了学习工具。 每当TIA PORTAL 发布新版本,我就拿来把玩学习一下。而真正的工程项目中,极少用到。 印象中能记得住的可能也就一两回使用S7-1200做的小项目。
然后后来的故事大家也都知道了。 2018年, 我拿到了TIA PORTAL 最新的V15版本,在研究学习时发现,其软件能力终于可以满足我对标准架构面向对象编程的所有功能的需求了。由此开启了轰轰烈烈的PLC标准化编程的创新开发及应用推广即今天称之为烟台方法。 除了在工程项目中成熟应用之外, 还成功扩展研发到了西门子之外的所有其它主流品牌的主流PLC, 三菱, AB, OMRON , 施耐德, 倍福等等。 其他的一些品牌, 甚至小型PLC, 也都大致做了可行性研究。
后来证明软件提供的功能也并不是先决条件,只要思想架构成熟,再弱的PLC, 比如SMART200这样的小型PLC, 最终经过一番改造, 也仍然实现了。所以这不完全赖操作系统, 还是自己能力成长不够。然而这个成长的过程是一个对自己知识架构重新解构的过程, 是需要有一定的创新思维的。
所以当S7-1500的标准化程序架构和理论思想一旦成熟,我就开始转向专心用S7-1500而拒绝使用S7-300/400了。有项目开始技术要求S7-300的,也会尽量劝说升级到S7-1500来实现了。
而对于CFC编程语言,则不再那么感冒了。 因为烟台方法的编程架构,比当初的CFC里面搭图形, 效率高到不知道多少倍了。
去年去唐山帮一位朋友做一套S7-400H的程序,系统中的电机阀门设备数量非常多,电机数量到将近400台。 在去的高铁上就一直在犹豫,到底用不用CFC。 最终落地之后决定,还是未用CFC。那么多台设备一个个连线过来, 手腕子恐怕都要断掉了。 工作过程中,优雅更重要。
所以最终还是参考标准化程序架构中的方法,在STEP7中优雅实现。 相当于现上轿现包腳,临时连夜实现了烟台方法在旧的STEP7系统中的应用。
2021年, TIA PORTAL升级到了V17,终于算是支持CFC语言了,然而我已经毫无兴致了, 甚至安装之后都没有正式演练一下。 到目前为止,电脑上也主要使用V16。
总之,一句话, 烟台方法不使用CFC。
烟台方法是一套创新的PLC编程方法, 然而并没有独占的专用权利。所以,更本质的说法是,烟台方法对PLC所有编程技术中的技术点和技术方法, 做了黑名单,白名单,绿名单的区分。
我曾经写过很多文章,对各种技术点和技巧逐一做了评析。 褒贬都有。 所以严格说来, 烟台方法是划定了一个矩阵范围。等哪天有机会的时候,我会把这个矩阵图完整绘制出来。
上周, 和一位众多网友公认的同行高手聊天, 因为他现在主要搞PCS7,所以顺便把对CFC的缺点跟他抱怨了一通:
万泉河:
PCS7不好玩。 CFC只能做垃圾程序。
万泉河:
我去年帮人做个项目, 倒不是PCS7, 但我犹豫很久最后还是没用CFC
万泉河:
400台电机, 最后还是用的SCL
万泉河:
看过我写的双线圈的系列文章了吗?
万泉河:
CFC的连线本质上也是线圈。
万泉河:
而且入线还是独占的。
万泉河:
CFC的连线, 在输出侧本质是线圈, 在输入侧则是独占。
万泉河:
CFC也不能用INOUT管脚
万泉河:
太讨厌了。
然而最后这段聊天他没再回复, 估计是没看懂,没理解我在抱怨什么。 因为他对我整个烟台方法都还没搞懂,所以我的那些痛点他还感觉不到。
当然啦, 大部分的读者对我上面这段话恐怕更难看懂。不过没关系, 领先的技术是不会过时的。我把这个FLAG先立在这里,大家暂时读过看过能有一点点印象就可以。 早晚一天,等你技术能力提高了,理解力到了以后,再来看看我说的话,说不定会对你有用。
就好比, 关于我发表的反UDT的观点的文章,就有很多人,包括跟我学习标准化的学员也不理解并反对。也有很多人如实跟我承认在自己的项目中还是喜欢用UDT来做数据打包传递。我当然也不会多过问。然而上个月,就有一位学员跟我私信讲到,2年来一直对我说的不要用UDT不理解, 最近则刚刚终于领悟了, 认识到我说的对。
这很好呀, 这不就说明学习有成果有进步有提高了嘛!
PLC标准化编程