很多年前,刚开始用PLC的时候,我很迷茫。利用她对硬件和工程知识的熟悉,以及她对配置软件的肤浅理解,她接管了这项任务。当时接受培训已经来不及了,相关资料极其匮乏。唯一的参考资料是一本英语S7-200手册和西门子网站上的一些西方语言的例子。最后在三个月内完成了系统建设和软件编译。
期间经常会走弯路,出故障,经常会因为操作不慎而精神错乱,烧坏一台PLC。所以我完全理解那些刚入门的网友都是双手瞎的感觉。这里我就粗略总结一下自己的学习路径,供网友参考。
1.编程需要很强的毅力和足够的耐心
每个人都有自己的长处,有的人把编程当成一项漫长而枯燥的工作;有些人认为编程是一种有趣的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程是对人的毅力和耐心的挑战。在我的实验室里,很多同学看到我编程的时候,面对这一堆符号,会惊讶于我的专注。
其实这是兴趣使然。兴趣给了我足够的毅力和耐心。无数次失败后,当我看到符号按照我的思路排列整齐,PLC按照我的要求有序运行时,我的兴趣得到了极大的满足,仿佛打开了一个游戏壁垒。所以我跟这些同学说:你们看到的是一堆无聊又奇怪的符号,而我看到的是一群热情的舞者,我是他们的导演。
2.编程需要实践中的自信
只有在PLC上不断运行这些指令,观察运行结果,才能找出PLC指令的作用。很多初学者对PLC很迷茫,因为怕损坏设备。这些恐惧是没有理由的。认真看手册很重要,但是光靠看书是做不了工程师的。更何况手册里的内容也不全面。
当我接触到不熟悉的指令时,我喜欢编译一个小程序让PLC运行。然后逐一修改条件,观察运行结果(MicroWin为用户提供了非常好的监控手段),再重新理解说明书的描述,这样就可以直观的了解这些说明的功能和用法。
不要担心自己的程序有什么问题,会影响PLC的正常运行。如果程序有问题,只有PLC在运行才能发现。发现问题,解决问题,是为了提高自己的能力。不考虑硬件操作,就软件而言,我真的没有遇到过因为软件问题导致PLC损坏的情况。不用担心继电器电路接错可能造成的后果。所以大胆实践是PLC编程的必由之路。
当然,大胆的做法不是野蛮的操作,而是必须遵循必要的规范。还有一点需要注意的是,在验证程序的可靠性之前,千万不要挂机,以免造成不必要的损失。数字量输出由LED显示;模拟处理可以通过一些硬件或软件模拟手段来解决。
3.编程需要仔细的逻辑思考
编程本身就是一个逻辑思维过程。在高级语言中,最常用的条件语句是ifthenelse和select,这是逻辑中的因果关系。
PLC程序由这些因果关系组成:判断条件是否有效,然后决定执行相应的指令。用原PLC代替继电器逻辑电路,所以继承了以触点为触发条件的继电器电路描述。在PLC中,用虚拟触点代替继电器的金属触点,完全保留了继电器电路所表达的逻辑关系。即使引入了继电器电路无法胜任的数字处理,PLC仍在从根本上实现因果关系。
所以理顺对象事件之间的逻辑关系,是编程前必须认真做好的准备工作。接到任务后,我做的第一件事就是整理出一个逻辑关系图,反复与用户讨论,得到用户的认可,然后我才真正进入编程流程。
4.必要的相关知识
PLC程序直接作用于对象的具体过程,所以了解对象的具体过程非常重要。在与用户沟通的过程中,我会利用我对UnitOperaTIon的了解,分析用户的工艺流程,协助用户梳理过程控制中的所有逻辑关系,甚至包括各种仪器硬件的配置。
这是由于我原来的专业。当然不能要求所有从事PLC程序的工程师都有我的经验。但有两个不可或缺的知识:一是过程仪表的硬件知识,包括传感器、变送器(二次仪表)和PLC本身,这是构建控制系统的基础;第二,过程控制理论,包括各种控制模型的原理和应用,其中最重要的是两位调节和PID调节模型。
PID调节是目前应用最广泛的过程控制方法,它是可变的。学习PID最好的方法就是看书。几乎所有关于过程控制的书籍都有关于PID的内容,多读一些基础的相关书籍对了解PID是非常有益的。我发现很多网友进入PLC领域,都缺乏这些相关知识。这并不可怕;可怕的是当事人无法静下心来弥补知识的缺陷。
不要怪学校不教这些内容,要注意如何学习这些知识。我们工作中遇到的很多问题在我们学校都没有提到,这不能成为我们拒绝工作的理由,但是我们要以积极的态度去处理这些问题。我的经验是,为了解决工作中的问题而学的东西比上课学的东西更容易记住。
5.养成良好的编程习惯
每个人在编程上有不同的习惯和特点,不能坚持一致性。但是有些好习惯是大多数人都应该遵循的。首先理顺逻辑关系和时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;第三,合理分配寄存器,编制寄存器符号表。
PLC编程更接近单片机,或者说PLC是模块化单片机。因此,PLC的很多操作都是针对寄存器的。如果程序中出现不合理的寄存器地址重叠,会有意想不到的后果。编译寄存器符号表不仅可以避免上述问题(MicroWin会提示问题),还可以使程序可读性更强。这类似于VB中定义的变量。
VB编程中注重事件,不强调主程序和子程序的概念,因为VB主程序的工作是由PC操作系统完成的。PLC不是。PLC程序以主程序为基础,CPU不断循环执行主程序。只有当触发条件成立时,才会调用子程序或中断程序。也就是说,子程序和中断程序执行的任务并不是一直需要的。如果将这些任务放在主程序中,主程序的工作量会无故增加,程序的效率也会降低。这与单片机的编程思想是一致的。子程序的使用可以使整个程序的逻辑更加清晰。而且子程序可以单独编写和调试,最后“安装”在主程序上。这样你就可以一个个解决问题了。PLC编程,无论是LAD还是STL,都没有VB直观有趣,更没有CAD生动。但是比单片机的汇编语言可见多了。对于初学者来说,LAD(梯形图)编程相对直观,更容易使用。
最后,PLC提供了丰富的指令和模块,比单片机方便多了。但是,初学者在编程时应该尽量使用简单的指令来达到目的。虽然看起来有点土,但这是一个很好的入门方法,有助于你理解更复杂的说明。有了一些经验之后,要考虑掌握复杂指令的应用,优化程序。
1.《plc入门培训 PLC编程入门基础学习心得》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《plc入门培训 PLC编程入门基础学习心得》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1596017.html