电气新手不得不知的:西门子S7-12001500PLC的编程思维
西门子S7-1200/1500PLC的编程思维
一、程序规范化建设
规范化是一个循序渐进的知识积累的过程,提取经常使用的程序,去除全局变量(I、Q、M、T、C),去除数据块,设置规范的参数,把它做成带接口的FB,放到规范库中。
规范化是一个“固化→进化→固化→进化”不断优化的过程。
规范化对于程序设计者的优点:
1、模块化和面向对象的编程方式,构建大型项目较容易。
2、便于程序块的持续更新,功能更全面。
3、程序的架构比较容易被后来者学习传承、更新。
4、设计方式统一,一致性好,提高设计效率。
5、提高了软件的质量和产品的竞争力。
规范化对于最终用户(设备维护、使用者)的优点:
1、快速定位设备系统故障,快速修复设备,减少停机时间。
2、维护人员较容易看懂规范化的程序。
3、规范化的程序,让维护人员对设备的技术改造更简单。
二、控制对象的拆分
在工程师面向对象(项目)时,要有“庖丁解牛,目无全牛,只有结构”的思想,对一台完整的机器设备进行拆分,把它分为若干个控制单元,一个控制单元可以再往下细分若干个设备模块,一个设备模块再往下可以分为不同的控制模块,如感应模块、驱动模块等。拆分的模块要大小适中,太大不灵活,太小拼装效率低。
结构清晰明了,整体也就优化了。
这样的方式就是为了程序的模块化,使程序块方便重复使用。
三、用FB还是FC
如果从C语言等高级语言的角度来看,FB相当于“类别”,FC相当于“方法”。所以将工艺对象的具体的物件用FB块编程比较方便,更有利于后期程序的规范化。如果是控制对象的数据转换、计算功能(FB调用FC),以及程序的划分、控制对象预处理等非规范化功能可用FC来编程(FC调用FB)。
具体使用情况根据不同工程师的使用习惯有所不同,简单概括为:1、具体的工艺对象用FB。2、数据转换、计算用FC。3、调用全局变量对程序控制用FC。
「经验谈」如何才能学好PLC编程呢?
鄙人是工业自动化专业毕业的,刚开始学习PLC时,也是一头雾水,后来在技成之后,在专家老师的学习指导下,才有了明确的学习方向。在此,粗略的总结一下自己的学习之路,供大家参考。
1、学习PLC编程需要坚强的毅力和足够的耐心
人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战,编程需要经历无数次的试错,调试-修改-调试-修改…经过无数次失败后,当看到PLC按照自己的控制要求有条不紊的运行时,你将得到极大的成就感,这就如同打通了一个游戏的关口,那种感觉是一样的。
2、学习PLC编程需要敢于实践的信心
很多初学者往往是出于一种畏惧,担心损坏设备,而不敢进行实际操作。其实这些畏惧是没有任何道理的,只要你仔细的阅读手册,遵循标准的规范去接线实操的,都不会出什么问题。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让PLC运行。然后逐个修改条件,观察运行的结果,像STEP7 MicroWin编程软件为用户提供了非常好的监控手段,通过观察监控情况,再反过来重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。不必担心自己写的程序会有什么问题,会影响PLC的正常工作,程序有没有问题,只有让PLC运行了才能发现。所以,要有敢于实践的信心,大胆的实践是PLC编程的必由之路。
3、编程需要有缜密的逻辑思维
编程本身就是一种逻辑思维过程。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。所以,要理顺对象之间的逻辑关系,要有缜密的逻辑思维。
4、养成良好的编程习惯
每个人编程都会有不同的习惯和特点,不能强求一致。但是一些好的习惯还是应该为大多数人所遵循。一是理顺逻辑关系、时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;三是合理分配寄存器,编制寄存器符号表。 PLC的很多操作都是直接针对寄存器的,如果在程序中出现不合理的寄存器地址重叠,可能会造成程序错误。编制寄存器符号表不仅可以避免上述问题,而且可以使程序具备更好的可读性。PLC提供了丰富的指令、模块,初学者编程时应尽量先使用简单的指令达到目的,这对你理解那些较为复杂的指令会有帮助,具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。
5、有一定的程序设计基础知识
有一定的程序设计基础知识,以及弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办,复杂的就不好办了,不仅无从下手,而且花了很多时间与精力,也难编出质量也较高的程序,常常是事倍功半。任何理论也都只是经验的总结,归根到底也都是来自实践。
另附学习PLC编程的9个Tips:
1.不要只会说:给我程序吧!你应该自己去思考,当你自己想出来后,再参考对比别人的,你就知道自己和别人思路的差异。
2.别买本书几十块都舍不得,为了省钱看电子书,浪费的时间绝对超过书的价值。
3.学习编程软件的使用或编程知识时,一定要看帮助手册,买的书不一定就非常全面。
4.别人的经验,自己的经验,都很重要。前者要自己去学习别人的经验,后者要靠自己用心积累,这些都要一定的时间与必要的精力去积累的。
5.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。别指望看第一遍书就能记住和掌握什么,请看第二遍、第三遍。
6.多实践和调试操作,只用软件模拟,是永远成不了高手的。
7.保存好你做过的所有的源程序,那是你最好的积累之一。
8.对于网络,还是希望大家能多利用一下,比如google、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,可以学会自己找答案,别老是等待别人给你希望。
9. 到一个论坛,你要学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就有人问过了,你再问,别人已经不想再重复了。
相关问答
PLC编程逻辑思维不行,怎么锻炼?
5.学习其他编程语言:学习其他编程语言,如C语言、Python等,可以帮助提高编程逻辑思维能力,对PLC编程也有一定的借鉴作用。4.参与项目实践:参与实际的PLC项目...
怎样可以快速理解plc逻辑思维?
我认为所谓快速理解PLC逻辑思维,就是能快速地看懂PLC的梯形图,对于如何能快速地读懂PLC梯形图我来谈谈我的看法。要理解PLC的逻缉思维首先要明确PLC的工作过程...
如何学习PLC?
如何学习PLC我来分享一下之前自己学习PLC的经历。读书的时候没有接触过PLC实物,看看书了解了一下梯形图。但具体怎么样,系统架构和工作原理怎样都不懂。后来参...
学习西门子的PLC编程,需要哪方面的理论知识?
你好,很荣幸能回答你的问题,希望我的回答对你有帮助。你遇到的问题我在学习PLC过程中也遇到过。这应该是大家的必经之路吧。学习任何一个品牌PLC都需要一定的...
...的介绍.在PLC的编程过程中,主要介绍了一些编程的思想_作业帮
[最佳回答]Preservationofthevarioustemperatureandhumidityinthevalueofthereal-timemeasurementthe...
plc怎么入行?
1、先学习电气元件的基本知识电路基础必须要有,能看懂普通的电路就行,如果有维修经验的人是最好的,因为编程的时候大多是靠逻辑思维。同样一套动作,可能100...
新手该如何学习三菱PLC?
当年我开始接触的PLC也是这个牌子的PLC了,记得是FX-2N这个系列的,根本都不用怎么学就会了,我当时接到了人生第一个项目,是一种凹版印刷机控制系统了,就采用...硬...
学习PLC是不是要先学习C语言?
虽然PLC(可编程控制器)和C语言都与程序控制有关,但是学习C语言并不是PLC基础入门所必需的。PLC是利用LadderLogic(梯形图)语言进行程序设计和控制的,它是...
怎样才能学好电气编程?
电气编程在工业中应用广泛,要想更快,更好的学好电气编程,我觉得应该从以下几个方面多注意。一、首先要思想重视,充分认识到电气编程的重要性,下定决心学好...学...
plc提供多种编程语言有什么好处?
一、可以提高电脑水平。学习PLC编程,首先要学会各种PLC、触摸屏软件安装和卸载,打字当然也是必不可少的要求,软件中的菜单的应用相当于把电脑的基础知识...