故事作者:万泉河

最近创作

看看TA的故事

【万泉河】好的PLC程序的判断标准2.0

已锁定

万泉河

  • 帖子

    10885
  • 精华

    132
  • 被关注

    892

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

【万泉河】好的PLC程序的判断标准2.0

6239

21

2021-07-26 11:02:55

【万泉河】好的PLC程序的判断标准2.0

 

2018年, 我写过一篇引起过巨大争议和激烈讨论的文章:

 

《【万泉河】好的PLC程序和坏的PLC程序的比较标准》

http://www.ad.siemens.com.cn/club/bbs/PostStory.aspx?a_id=1479565&b_id=82&s_id=0&num=174#anch


 

文中主要的观点是,程序中不要用全局变量M和T。

 

彼时彼刻,这个观点石破天惊,引发巨大争议。 到现在3年多过去了, 程序中不要用全局变量已经基本成为广大同行的共识,大家都纷纷自觉不自觉的在自己的程序中尽量少用全局变量,以减少程序的设计和调试工作量,提高效率。

 

而其实,程序中不使用全局变量, 只是作为一个程序猿基本的常识,在IT行业,基本是当作基本功来着的。 而在PLC行业, 因为一直以来,各种工业应用的先例都在大量使用M,所以尽管有一些人知道这不好,然而从技术层面上却一直躲不过,或者虽然想避开,却不能成功,有一定的难度。 当然, 那主要局限于各PLC平台的性能。

 

所以,本质上说,程序中用不用全局变量,并不能用来评判好程序的标准的。 顶多是可以用来评判垃圾程序的标准。

 

所以,当时,尽管大家觉得我的那篇文章观点太超前,而其实那是个病句, 并没有完整描述什么样的PLC程序才是好程序。 也根本没有建立所谓的判断标准。

 

所以,其实我自己一直清楚,我欠同行一个合理的定义。即,需要有一个好的PLC程序的判断标准。而且这个必须是可以放到台面上的,可验证的,可证伪的,一个能够被大家共同认同的标准。

 

当年争论时有一种观点, 不少同行的认知里, 只要能让设备正确运行的就是好程序,不能让设备正确运行的就自然是坏程序。不好意思,我们的价值观不一样,我们评价的不在一个维度上。

 

就好比,食神比赛,在比赛哪个厨师做的食物味道最美味,冠军者得食神称号, 有人跳出来说什么只要能吃的就是好食品, 只有坏了的变质的不能吃的,已经扔进垃圾桶的,才叫坏食品,才叫垃圾。你那不是美食大赛,你那叫翻垃圾桶大赛。

 

还有,医院里医生对病人的治疗情况做评价, 已经治愈者为健康,可以出院。而身体有恙,尚未治愈者为病患,需要住院继续治疗。你那种标准相当于在判断健康和有病。而我们指的好程序,是相当于正在举办的奥运会,人类的所有健康人群之中的佼佼者,聚集一堂,公平比赛,从中挑选出最快最高最强的那一位,授予金牌。

 

这才是我们评价好程序的初衷。能让设备正确运行的程序,只是获取了参与最优评选的资格。而那些根本不能让设备正确运行的半成品, 甚至失败的,早就扔进垃圾桶的废品,根本没有参与评选的资格。

 

3年前我整理那篇文章的时候,还只是出于对标准化编程方法研究摸索的阶段,技术架构上还远远没有成熟。所以那篇文章其实也是如实同步的展现了我当时的认知状态。 准确说,那个时候我还处于只能准确辨别什么样的程序是烂程序,而并没有充分的把握判断什么样的程序是好程序。因为真正的好程序当时我也没有见过。没有见过猪跑的人,自然没有资格评价猪的好坏优劣。

 

在之后的时间里, 我完成了标准化编程设计方法的架构,并付诸于应用,而后整理总结了分享计划,将一套成熟的标准化架构设计的程序出售分享给有志于提高自身编程技能的工程师们。

 

今年起, 我在完成书稿《PLC标准化编程原理与实践》交予出版社审核之后,将原本只在S7-1500中实现的编程方法,同样套用移植到SMART 200, AB , 倍福,三菱,OMRON等各品牌和平台,并立志将标准化编程方法推广到市场上所有PLC品牌和平台。

 

然后,逐渐感觉,自己有这个能力来总结下好的PLC程序的判别标准了。

 

在前文的开头中,我原文写道:

 

见过了太多的PLC编程工程师,公开声明自己的原则:不愿意读别人的程序, 不爱修改别人的程序,情愿另起炉灶自己从头编写程序。

理由就是:别人的程序, 烂。

 

到今天,我认为可以修改下对此段的描述了,并可以升级整理成为对好程序的评价标准。即:

 

好的PLC程序,除了作者自己之外,其他人会乐于学习并欣赏。研读和调试维护一个好的PLC程序,会成为一种乐趣和享受。

 

如果你仍然一如既往的讨厌读别人的程序, 那只有一个原因,你还没有遇到过真正好的PLC程序。

 

所以,当年的道理也仍然正确,唯一差别是时间。 站在当年的时间点上,放眼世界,所有行业,真正的好程序几乎没有。至少我没有见过。而N年过去了, 时代在发展,技术在进步,行业的技术水平也在进步。渐渐的,大家可以有机会见到无可挑剔的,想否定都无法否定的好的PLC程序了。

 

或者,即便在你的行业里, 你暂时还没有机会见到更好的程序, 你至少可以以我定的这个标准和同行同事们一起评价并期待最好的程序出现了。 这个时间不会太久。

 

我推广标准化编程示范程序分享,不仅有西门子S7-1500,还有SMART 200,AB倍福三菱等的学员,我对他们所有人讲的是,欢迎他们对我的程序作出如实评价。有更好的建议,认为我哪里架构做的不够好,还可以有更好的处理方法,做出来能更高效,更节省时间和人力物力,欢迎给我提出来并大家一起研讨。

 

所有学员在我这里都是花钱的,按道理都是甲方。 所以绝对不会存在我靠技术霸凌打压别人不敢说真话的情形。

 

我程序架构中当然有不完美的地方,所以我在发布时,以及后来每移植到一个新平台,都要老老实实把自己的失误教训标注在里面。而且,其实在后面这几年的设计,以及写书的过程中。我又逐渐总结出一些更好的设计方法,比原作品又有些提高。然而,大批的学员们,都还处于惊诧状态,被第一版的标准化程序的惊艳砸晕的状态,几年下来都还没能完全吸收呢,所以自然也很少有人有能力再同步跟上,并对我交付的作品提出异议。

 

其实我早就在等着能有学员对我提出指责,告诉我程序框架中的哪一段和哪一段这样处理的不够好,应该这样儿这样儿会不会更好。然后我就会告诉他,是的,我确实也早就发现了,并在以后的项目中如何如何改进了。

 

所以, 就像那句广告语一样,没有最好只有更好。 好程序其实也会逐渐成长,越来越更好。 作为阅读者和评价者, 需要跟上脚步,才有能力进行评价。

 

另外经常遇到一些不服气的同行,挑战说,你的标准化程序光你自己说好不行,你整个免费的程序,让俺们看看,俺看过了觉得好了,你才是真的好。

 

这就好比,卖车的跟我夸耀奥迪比奥拓性能质量哪里哪里好的时候,我说别吹了, 你按奥拓的价格给我辆奥迪开开, 或者甚至白送我开,我亲身体验了,觉得你好了,你才好,才承认你的车值这个价位。

 

卖车的一定会说,别逗了!车的价格本身就代表了车的品质高低。

 

所以,一直以来,其实我有冲动去找个平台为标准化程序推广打个广告,内容就是最贵的就是最好的。网上到处可以下载到的PLC样例程序大部分是白给的,然后也有小部分范例也在开价售卖,但他们其中最贵的单价也不足我的1/10。

 

从定价来看那些同行作者们自身的定位,就显然比我的低多了。 他们应该也认识到所能给予购买者的价值,比我所能给付的,还是少一些吧。

 

或许,很快有人跳出来表示不服,说你的价格可以定5K-8K,那我拿出我的一套项目程序来,定价1万-2万,比你高,是不是就可以证明比你程序好啊?

 

大兄弟, 价格是由市场买卖双方共同博弈决定的,而不是卖方单方面决定的。 你当然可以随便出什么高价格,但得有人愿意买啊,买了以后得能认可啊,别忽悠人买了以后大呼上当,进而翻脸骂街,那就不好啦!

 

其实我的标准化学员营中就有学员,曾经购买过相近的程序库和服务,表示不满意,学习效果不理想,又转而投靠跟我来学习的。

 

我当然支持有同行做培训卖范例能定价比我还高,甚至再高出十倍。那会说明你的作品更优秀,更有价值。

 

贴一个学员群中近期的发言的截图,比较能说明真实的反馈:




这样的反馈常常有,我以前也发过。

 

总结一下,关于好的PLC程序判断标准2.0,观点有两个,完全对等一致:

1、  能吸引人愿意去学习了解的,才是好程序。

2、  最贵的程序才是最好的程序。

 

 

最后照例通报下最新的进展,标准化程序架构,现在正在做OMRON的CX-P平台的开发,其中的PLC程序部分已经完成,上周因为做另外一个项目耽误了些时间。 下周开始会把上位机部分和通讯部分打通完成,即可宣告大功告成,下一步会向SYSMAC STUDIO平台进军。 那个系统更新些,支持的功能更先进,前期写书时也进行过一定的了解和学习,开发起来会更容易。

 

随着对主流PLC平台逐渐开发覆盖到位,我的工作目标将会从做标准化培训逐步转向亲自辅导各非标自动化公司和自动化工程公司,辅导他们实现标准化系统设计,以提高效率。 现在正在做的,和正在洽谈的公司都有。

 

一些身处一线的PLC工程师,如果认同我所传输的理念和方法, 如果现在正在被无休止的设计调试出差所累, 身心疲惫,职业未来看不到尽头,或者你作为公司的技术主管, 公司业务飞速增长,然而项目调试工程师严重缺人,招不到人手,都不妨向你的公司领导推荐我,让我来帮助你们梳理打造全新的标准化的设计流程和程序结构,我帮助你们一起,尝试用更少的工程师甚至新手来完成过去更多工程师都忙不过来的设计和调试任务。预期在不久的将来,你自身技能获得提高的同时,身心自由也得到解放。

 

凡是有这个想法的,可以先付费加入标准化学习营,只要推荐合作成功,前期付出的学费全额甚至加倍返还。当然,如果已经在营的学员,经过这几年的学习,感觉仍然不能很好的驾驭标准化设计全过程,也同样可以提出。

 

当然,前提是你公司主要用的PLC产品品牌要在我已经开发的系列之内。 还没开发到的,需要稍微等一等。 或者如果有意向的,也可以提前和我提出来,我会在后面调整顺序,随时插入。

 

 


【万泉河】好的PLC程序的判断标准2.0 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3227条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。