您现在所在的是:

PLC论坛

回帖:13个,阅读:1803 [上一页] [1] [2] [下一页]
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2021/2/10 21:59:10
#0楼
【万泉河】PLC程序中的面条代码

昨天, 有网友在微信群里转发了一篇文章《面向对象就是一个错误!》,链接在这里:



吓了一跳, 也太耸人听闻了。 赶紧打开浏览了一下,原来是老概念了,这次又改头换面, 专门博人眼球来了。

只不过, 以前还只在IT界流传, 这回跑到PLC编程领域来了。 好家伙,我们这儿刚刚打通标准化编程架构,刚刚用上面向对象方法,用得正爽呢,有人直接端着机关枪把后窝给端了:面向对象编程方法是错误的, 赶紧投降吧!回到经典编程方法吧。

我以前对这种理论的认知是, 一些半吊子的程序员,类的继承和重构的过程中,应用不规范。过分玩弄编程技巧, 把挖掘编程语言的漏洞当成高级技能。 比如C语言中甚至可以重构+方法, 原本的正常的+运算,都可以给重构为*,编译也仍然可以通过,但原本的程序功能就被搅乱了。 你以为只需要简单替换方法, 少一些代码,实现了通用的功能,但带来了风险,有可能影响到原程序的功能,在不起眼的地方,就有可能带来bug。

但这些,在面向对象功能都不完善的PLC领域, 不足畏惧,因为,它还根本不支持。

然而,这次又对其中大为抨击的面条代码搜索了一下相关文章, 发现一篇文章讲的比较透彻《jQuery === 面条式代码?》,其中一段话深得我心:

写class并不代表你就是面向对象,面向对象是一种思想而不是你代码的组织形式。

对应到PLC领域,就是:

写FB / AOI 并不代表你就是面向对象,面向对象是一种思想而不是你代码的组织形式。

所以,在PLC编程中,那些不理解标准化架构思想,也人云亦云的做一些FB库函数,然后其实自己用的耦合与内聚不能分清,乱做一团的,可想而知,基本就是一锅意大利面条。

我以前形容为一锅粥的,现在知道了,更规范的词汇是,意大利面条。

对于面条代码, 给出的配图是这样的:



把这里面的X,Y, 替换为MW10, MW20, 这不就是标准的PLC程序么!而区别是,这里的面条还只在本代码页面里缠绕,而很多人写的PLC程序,可就是在整个PLC范围内乱缠了。远比上图复杂多了。

而搜索意大利面条,竟然得到了这样的图片:



右侧即为形容面条代码带来的垃圾山架构。 说不清理还乱的相互引用关系。而这个图片,说的不就是传统PLC程序中的交叉索引表嘛!


我以前写过文章:《【万泉河】PLC高级编程:抛弃交叉索引》,其实就是指出了这种传统编程方式的落后与混乱。

从此以后,我们可以对这种交叉索引结果使用一个规范名称了, 面条。

我们也可以理解了, 大部分工控工程师宣扬的底线, 绝不愿意修改别人的程序, 情愿自己从头写。 原来,反对的是面条代码啊!

只不过, 如果你自己的程序架构与老的架构相比,并没有彻底升级改变, 还仍然一样的方法,那无非是一碗意大利面条撤下, 换上来一碗乌冬面而已。

无非, 这碗乌冬面你自己亲手下的, 线索规则暂时还在脑子里记忆的比较清楚。

再来一张乌冬面的图片:


有没有感觉味道会比意面更可口呢?

与众多工程师反对读懂他人的程序对应的是,我最近两年的项目, 所请的工程师,都是好言相劝他们保守技术秘密, 得到程序后,允许把同样的方法用在自己项目中,但不要分享给别人。没办法, 不能不许人学啊!

还有合作的公司,就担心,新招来的员工,干不长久,短时间就离职了,却不经意得到了核心代码,对公司损失就大了。

最后, 分享一个不知出处的某汽车厂的SICAR标准的程序,请在公众号《PLC标准化编程》后台,回复:“SICAR面条”,得到代码。

我曾经在读过SICAR程序后, 在被追问我们推行的标准化编程,与汽车行业流行的SICAR标准什么区别的时候, 鼓足勇气给了个评价:大垃圾。而后得到了很多认同,有同行纷纷表示支持我这种判断。

我们从此以后对其更标准的评价是, 面条。

方便面。


PLC标准化编程
38066
知道一点
文章数:22556
年度积分:2485
历史总积分:38066
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2021/2/11 6:30:25
#1楼
既然是耸人听闻,就别再传播了
快乐 幸福 自由 比什么都重要
90
75487357
文章数:44
年度积分:90
历史总积分:90
注册时间:2021/1/22
发站内信
发表于:2021/2/12 11:57:47
#2楼
看来是真正的程序员
20915
bnnyygy
文章数:5990
年度积分:1581
历史总积分:20915
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2021/2/12 15:37:55
#3楼
又来了?
4564
niandu
文章数:517
年度积分:229
历史总积分:4564
注册时间:2004/8/29
发站内信
发表于:2021/2/12 16:08:58
#4楼
要多少钱才能进师门?
此帖发自手机工控论坛
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2021/2/15 4:45:31
#5楼
重构之后程序功能被搅乱了........知道啥叫重构吗?
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2021/2/15 4:48:33
#6楼
以下是引用niandu2021/2/12 16:08:58的发言:
要多少钱才能进师门?

一般线下明码标价,线上看大神心情,要么不教要么免费。

这种遮遮掩掩的基本带沟里,你可以看看他的历史发帖,再来问价格。
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
220
lvpretend
文章数:1449
年度积分:220
历史总积分:220
注册时间:2019/5/12
发站内信
发表于:2021/2/15 10:55:22
#7楼
套路:先用一个 耸人听闻 的标题吸引你 探头过来看,然后 一闷棍 打昏你,最后把你 拖 到沟里!
4564
niandu
文章数:517
年度积分:229
历史总积分:4564
注册时间:2004/8/29
发站内信
发表于:2021/2/15 20:29:41
#8楼
学历太低,看不懂
此帖发自手机工控论坛
101
陈嘉伟
文章数:471
年度积分:101
历史总积分:101
注册时间:2019/6/13
发站内信
发表于:2021/6/10 10:58:54
#9楼
“朋友们好啊我是工控标准化编程掌门人万泉河。刚才有个朋友问我万老师发生甚么事了,我说怎么回事,给我发了一几张截图,我一看!嗷!原来是昨天,有两个年轻人,三十多岁,一个体重,九十多公斤,一个体重八十多公斤,他们说,唉…有一个说是我在PLC编程把颈椎练坏了,万老师你能不能教教我工控标准化编程,哎…帮助减轻一下我的工作量,有助于我的颈椎病。

我说可以。我说你在电脑房拿项目练手,不好用,他不服气。
我说小朋友:你两页程序来比我一行程序,他比不了。他说你这也没用。我说我这个有用,这是标准化编程是讲化劲儿的四两拨千金。二百多页的英国PLC程序,都比不上我的这一页标准化。

啊…哈!他非和我试试,我说可以。诶…我一说的运行编译起来了,很快嗷!然后上来就是一个故障一个警告一个双线圈,我全部防出去了啊防出去以后自然是传统美德以点到为止,右手放到鼠标上没点运行,我笑一下准备点运行,由这时间,按标准化编程的点到为止他已经输了。

他也说,啊他认输了,两分多钟以后,程序还是找到哪里有问题,我当时流眼泪了,捂着脖子,我说停停。然后两分钟以后,两分多钟以后诶就好了,我说小伙子你不讲武德你不懂。

他说:万老师对不对不起,我不懂规矩。啊,我是…他说他是乱打的,他可不是乱打的啊,三菱、西门子、松下、倍福全系列精通,训练有素,后来他说他练过几年的C#和VB.net,啊,看来是有备而来!这个年轻人不讲武德,来骗,来偷袭,我六十九岁的老同志,这好吗?这不好,我劝这位年轻人耗?!子 !尾 ! 汁 !,好好反思,以后不要再犯这样的聪明,小聪明,啊,呃…工控编程要以和为贵,要讲武德,不要搞窝里斗,谢谢朋友们!”

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005