0914 【万泉河】给非标行业自动化工程师的一个学习建议:了解一下PCS7
理由是,一个PLC工程师只有深入了解了PCS7,才算有可能真正懂PLC编程,而倒过来,如果对PCS7一无所知,那就绝对算不上真正懂PLC,也很难通过自身的天赋跻身PLC高手的行列。
这点认知我一直是秘而不宣的,当然,可能我自己认知也不够深刻,或者说高估了那些比如只做小型非标设备, 长期只用小型PLC+伺服+HMI的系统架构的工程师们的学习理解能力。
我在上一篇《0909 【万泉河】工控行业内部的逆向鄙视链》的写作过程和发表后与读者的讨论过程中,更明晰地发现了这一点。 所以专门著文发出来。
一定会有人跳出来反对:忽悠!PUA! 又想忽悠我们学习没用的东西,浪费我们的时间和金钱。我们一辈子只用小型PLC,SMART 200 , S7-1200,FX3U , CP2E, XD5, H5U等等,根本没有机会碰到S7-400这样的大型PLC。 也用不起买不起这样的贵家伙,无非是忽悠我们升级用高性能的PLC而已。其心可诛!
你当然用不起。你恐怕也很难有机会进入到用得起使用大型PLC的企业。 因为这样的公司通常都是大型企业,如我前文所述。
然而,硬件买不起,你可以只学习软件啊!硬件系统与S7-400的硬件结构本来就相差不大,没有多少技能门槛。而学问技能更多的是软件方面。只为了个人学习,安装软件又不需要花费什么钱。现在虚拟机这么方便,一套PCS7专用的虚拟机系统而已。(写到这里,我好像应该在本文下面挂个虚拟机的链接,需要者可以付费购买。但为了避免跑题并引发流言,就不挂了 )。学习PCS7, 自己从头安装一遍软件,也可以学到不少东西。
学习了解了PCS7, 至少如果万一有机会进到大厂的面试时,被问及懂不懂DCS,懂哪些DCS,厂里有一套某某DCS需要运营维护的时候,还可以拿PCS7出来撑一下门面。 然后可以拍胸脯保证,我搞自动化行业多少多少年,学习能力首先是证明了的。 即便一些没见过的DCS系统,电脑前面玩个半天,也基本上可以接手处理问题了。
而不是被人问起的时候一脸懵逼,对DCS以及PCS7的认知只有3个英文字母+1个阿拉伯数字。 那样可真的只能一辈子窝在各小厂里跳来跳去,永远没有机会上岸到大厂稳定工作生活了。 而其实,大部分大厂里的岗位,对技术的需求并不如设备厂的工程师高,知道点皮毛,能指挥调度供应商来干活,干完了活能验收,而不被设备方忽悠,就已经很够格了。
我在前文发表后, 还被读者问及了在大厂出差的问题。嗯,这一方面我确实忽略了。 常年出差是非标行业刻到骨子里,刻到儿子基因里的永远的痛。 而我自己没有这个痛点,所以比较的时候竟然给忽略了。 我在前公司的时候,领导跟我许下的承诺是,公司做任何一个新行业,我只出差一次。 然后偶尔可能会有重要项目给别人做备份的情况。 比如俄罗斯,韩国,台湾,印尼等出口项目,最后也只是临时去了俄罗斯、韩国,以前故事里提到过。 台湾本来是已经准备计划让我替补上场了,我灵机一动,在家出个主意就把问题给解决了。 就没用我去。后来还暗自有点后悔。
因为很少出差,最后5年里我甚至都只记得了一次去内蒙处理问题的那次。而后想起来我明明还借着出差的机会去延吉珲春玩过,却完全想不起来是什么个缘由了。
上面阐述的只是非技术方面的原因。 而技术方面内容就更多了。 我从PCS7上面获取的营养三天三夜都写不过来。 只举个例子吧!
工控行业五连鞭听说过没?
万线圈, 不用M、T, 不用交叉索引, 不用IO映射, 不用UDT。……工控行业五连鞭。
在五连鞭里,除了第一条是我为烟台方法独创的之外,后面的4条,PCS7中也都早就实现了。 有人会不相信,因为他听说过PCS7里面是用CFC编程, 与PLC中完全不一样。这就是我建议你们去学习了解PCS7的原因。 要你以PLC工程师的视角来看PCS7。
PCS7的编程软件是STEP7,硬件是S7-400。 CFC程序编译后,在BLOCK列表中就是普通的PLC程序,OB, FB, FC, DB等等。 你完全可以打开这些自动生成的块,来看看有没有用到M和T , IO映射, UDT, 也可以尝试下,在PCS7环境如如果通过交叉索引来读程序会怎么样。
我最早提出PLC编程可以不用M和T的时候,在一些小网站上, 有一些杠精表示不相信。现在看来那就是一群搞非标设备小型自动化的。他们提出让我搞个没有M、T的程序给他们看看。 我就用PCS7, 生成了一个程序,然后只把PLC部分的代码复制出来做了个例子。我知道他们的兴趣只是抬杠,而并不是为了学习。 所以就开了10元的价格,让他们来买,以证明他们爱学习。他们问我程序哪里来的时候我假说是我自己搜集来的。 然后他们的注意力果然不在程序内容本身了,而开始攻击我从别人那里收集来的程序自己竟然出售敛财。嘿嘿,我的孪生兄弟做的程序,给了我,我再卖钱有什么不可以嘛?
而为数不多真的有好奇心,有学习想法的人来购买,要了解程序的时候,我给了之后同时就告诉他们,这套程序其实没什么直接价值。 这套程序其实是PCS7程序编译后的运行程序,任何一套PCS7的程序都这样。所以,7-8年后的今天,读者们读到本文的时候, 就已经天然省了10元。 如果真的读懂了PCS7,五连鞭之中的至少4鞭都可以基本掌握了。
不用M、T的主要目的是不需要规划它们的使用区间。PCS7的程序就从来不需要规划。前几天有一篇公众号文章在介绍变量规划。 我就笑了。规划谁还不会呀?这有什么技术门槛,还值得发表成文章来推广经验?所以我就评价到:好的方法是不规划。
然后就有人问我,怎么能不规划,我说不用全局变量自然就不需要规划。继续再问,怎么可能不用全局变量!然后我就指点他去了解学习PCS7去了。 估计是没懂我为啥这样指挥,也估计根本不会去学。
我能明显感受到,对五连鞭概念不能理解的群体大部分来自非标行业。而目所能及认识的做过过程行业,懂一点PCS7的,基本上都能理解至少其中的后几条。 所以鲜有发出反对声音的。 有许多过程行业的工程师表示,对五连鞭中提及的大部分内容自己早就掌握了,也早就在践行了。
当然,也不代表懂了PCS7或者原本就是做DCS的工程师就能天然理解五连鞭和烟台方法的全部。我自己从学习了解PCS7到模仿PCS7在S7-300中做项目,到最后在S7-1500中实现烟台方法的标准化架构,经历了十多年。 我在烟台方法的教案交付的文档中就有明确说过,基本上可以认为我做的标准化架构相当于用S7-1500搭了个DCS系统。
而且这个系统比PCS7用起来还简单方便,所以后面这些年,我的精力主要在对烟台方法的理论总结和向其它平台移植烟台方法的架构了。 而如果要把PCS7的程序,给移植到其它的PLC平台,比如CODESYS?比如组态王?比如触摸屏?恐怕都是绝不可能的。
然而,烟台方法可以。