分类
PLC学习

破除PLC学习的几个误区

(一)认为松下PLC是低档货,比不上三菱及西门子

因为在工作中见过这样的工程师,所以提一下。

抱有这种思维的人,只能说,他只有打工思维,如果有一天他自己当老板了,马上就要考虑成本、性价比这些问题了。

如果把松下、三菱、西门子这三者放到一起,结合当下设备市场,可以毫无悬念地说,松下性价比是最高的,我们从以下几个方面来阐述:

(1)松下控制器本体资源配置是做得最好的,对于FP-X系列,具有4通道脉冲输出,对于FP-XH系列,更是达到6通道脉冲输出,正因如此,绝大多数设备,一台主控制器+几个通用IO扩展即可搞定,反观三菱最新的FX-5U,本体只有4通道,搭配另外的脉冲模块才会多一些通道,西门子最新的1200系列也是如此,本体只有4通道,当然,如果家底厚,不缺银子,西门子走通讯用自家伺服(比如V90系列)也是个不错选择;

(2)从外形体积上比较,松下 FP0R系列 更是做到一绝,主体大小只有一包烟大小,再加两个扩展,也可直接揣到兜里,这在很多电箱结构紧凑情况下尤为有用,试问三菱西门子这方面有何优势?

(3)松下控制器通讯接口还是很务实的,无需任何扩展,本体就有三路通讯串口,可用于编程下载、触摸屏通讯以及其它外设连接,对于大一点的比如长龙流水线机台,我们可以借助第三路串口实现“主PLC+子PLC”分布式编程控制,这比使用单个巨无霸PLC控制方式,灵活很多,成本也低很多(大钟就曾经采用“工控机+松下PLC”分布式设计方式,制作过几条汽车配件生产线体,相比其它方案,成本直接压至五分之一,后期升级维护也很方便);

特别提一句,很多人会拿网口与串口说事儿,但我要说一句,网口相对串口的优势,并不是你的优势,你的优势应该是,不管是网口和串口,都能够玩得转,一个好的设计人员,会对应用场合、功能要求以及成本消耗进行综合权衡,最终得出一个最优的解决方案。

(4)编程软件比较,松下FPWIN-GR,三菱GX-WORKS,西门子TIA,各有特色,前两者免费,后者收钱(国内基本上都是用破解版,使用起来总有种做贼的感觉),后两者支持ST/SCL高级语言,松下FPWIN-GR暂不支持ST/SCL方式,正因如此,它将梯形图交互做到了极致,在梯形图指令输入体验上,后两者明显没有其舒服;

总结一下,如果你想在工控领域长期做下去,尤其是当行业内卷到大家都拼价格的时候,你还能够立于不败之地,那么松下PLC绝对值得你花时间去学习,用三个月到半年时间,踏踏实实地去敲梯形图代码,夯实自己的底层控制思维,这是你认真练功的机会,今后学三菱和西门子就不会再有这种机会了,因为后两者我们不推荐用梯形图,而直接上ST/SCL!

梯形图(STL),ST/SCL编程比较

站在专业的角度,梯形图就像汇编语言,每个梯形图符号本质上都对应一个STL指令,梯形图中画线连线操作,其实在后台就是垒出一大堆STL指令,这些STL指令全部汇总起来,就构成了PLC的指令集,以我们潜心开发的UPLC仿真平台为例,就是通过钻研松下PLC,将其指令集全部消化、融汇贯通的成果,相反,如果我们不懂梯形图及STL指令,那这款软件压根儿就不会诞生!

ST是结构化文本语言的简称,西门子为了标新立异,另起了一个名字SCL(结构化控制语言),这两者使用的都是PASCAL语言语法,因为都是高级语言,所以与C语言也很相似。

高级语言与汇编语言最重要的一个区别就是,高级语言需要先编译才能使用,编译成什么呢?大家肯定猜到了,就是上面提到了STL指令或者直接就是机器指令(在计算机领域,汇编指令与机器指令只有一步之遥,所以我们也不严格区分了),STL指令构成指令集,任何一款PLC都无法绕过去,所以不管是三菱ST开发,还是西门子SCL开发,你会发现改写代码后下载,它都会自动进行一次编译然后才是下载,这就是高级语言与汇编语言的差别。

这个差别反映到具体工作中,是怎样的呢?编译会花费一定的时间,所以在代码调试改写中,ST/SCL语言会比梯形图体验差,举个例子,松下PLC代码改动后转换下载,基本上是一眨眼功夫,但西门子PLC,却要花个4到5秒,这4到5秒就是编译所花的时间,如果一个项目你动态改写1000次,算起来就会多耗费5000秒!我们为什么推荐“在学习构筑底层思维时,使用梯形图方式”,一是梯形图控制起来更直观,理解起来更容易,二是学习效率较高。

等到你的底层思维建立起来后,我们就可以尝试使用ST/SCL这种新的编程方式,学习后者,科学的方法是,先学习一下重要的语句,比如赋值语句、判断语句,掌握一下函数的应用,当然这些都得结合已有的底层控制逻辑,就跟画家作画一样,你首先在脑海中必须有鲜活的一幅画,然后才有可能将其描绘出来,这也是”胸有成竹“这句成语的由来,我们编程何尝不是如此呢?

“程序 = 算法+数据结构”,不管是梯形图还是ST/SCL,都无法避开数据结构设计,以西门子SCL编程设计为例,“如何科学地构建DB块”成为设计人员水平的分水岭,我讲个自己的切身故事,你们就明白了。

2021年,我们接到一个国外项目,要求用西门子1200系列PLC,因为原班人马之前都没有用过西门子PLC,加上项目比较大,所以又从外面招了几位熟悉西门子PLC的工程师,相当于两班人马共同开发该项目,刚开始原班人马确实很吃力,第一次接触西门子PLC,第一次接触TIA这么“高大上”的软件,第一次接触V90-PROFINET这么“高端”的通讯,很多个第一次加在一起,压力山大!但半年后的情形,却是原班人马后来居上,彻底主管该项目,通过优化对比,先后将西门子PLC代码从梯形图升级到SCL,最后也得出结论,其实西门子PLC最舒服的写法就是SCL!也总结出一个规律,要想写好SCL,必须具有强大的构建组织DB块的能力,而后者又与系统的框架思维紧密相关!值得一提的是,原班人马以前全部都接受过系统的框架思维训练,这也是为什么他们进步很快的原因,而新进的几个工程师由于领会不了SCL,先后都离开了公司。

最后轻松一下,现在让你学习开车,你愿意从手动档开始,还是自动档开始?松下PLC就相当于手动档,而三菱和西门子相当于自动档,甚至是具有自动驾驶功能,你选择吧!

(二)认为气缸控制过于简单,要学就直接学电机、学伺服

还是以类比的方式来说明,现在有两种人:

(1)你已经具备设备的底层控制思维,具有高屋建瓴的系统框架理念,已经把看似简单的气缸玩得很蹓了,现在想摆弄下电机(步进电机和伺服电机),大概一堂课下来,你就可以让电机动起来;

(2)你以前从来没有培养过底层系统思维,甚至连“框架”这个词儿都没听说过,但对电机却似懂非懂,那么需要三个月到半年,重塑底层思维

总结一下,气缸控制看似简单,但有机融合到一台具体能干活的设备中并不简单,你能够玩转一台设备,哪怕这台设备是纯气缸类型的,都说明你具备了一定的系统控制思维

对于有经验的开发人员,他为什么能够快速地从一种PLC迁移到另一种PLC,哪怕这两款PLC是不同品牌的,就是因为他具备了底层系统思维,不同的PLC在他眼里,只不过是几个简单的指令代换。

从气缸切换到电机到底有多难?点破一下你就明白,气缸的控制输出为电磁阀Y点,反馈输入为磁感X点,而电机输出为一条驱动指令,反馈输入为一个驱动完成标志,对应代进去即可,就这么简单。

(三)认为PLC学习就是模块参数配置

PLC学习是个系统工程,涉及到机械、电气、生产工艺以及控制安全等诸多方面,设计人员必须具备完整的系统框架思维,模块参数配置说白了,就是一个按说明书配置的事情,一般地,一两节课就可以讲得明明白白,但系统思维需要长期的训练,没个一年半载的实践训练和持续改进,是很难形成系统思维的,如果做个类比,模块参数配置就相当于摆放家具,而系统思维训练就相当于房子打地基。

写在后面

UPLC仿真平台+《10天学会PLC》问世以来,帮助过非常多的学员,踏入他们喜欢的自动化设计领域,时至今日,虽然自动化技术日新月异,但底层设计思维并没有改变,希望这些作品,继续发挥它应有的社会价值,切实带给大家收获。

《10天学会PLC》以前是作为商品出售的,今天为了回馈广大学员,特别将其发布在网上,精心制作整理的视频、资料和代码,有一百多份,都毫不保留,奉献给大家。(资料中很多程序代码、电路图、电气BOM单,稍做修改就可以用于自己的实际工程项目!

祝大家都能够学有所成,人生幸福美满!