plc编程学习的五个步骤

来源:电工天下时间:2015-10-10 19:42:27 作者:老电工手机版>>

plc编程学习的五个步骤

学习plc不仅需要勤奋和努力,正确的方法与经验也很重要。

1、PLC编程需要坚强的毅力和足够的耐心
人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战。我所在实验室中,很多学生看到我编程序就会惊讶于我面对这一堆堆符号所表现出的专注。其实,这是兴趣使然。兴趣使我具备了足够的毅力和耐心。

经过无数次失败后,当看到一个个符号按我的思路整齐的排列,plc按我的要求有条不紊的运行时,兴趣得到了极大的满足,如同打通了一个游戏的关口。所以,我告诉这些学生:你们看到的是一堆枯燥怪异的符号,我看到的却是一群热情奔放的舞者,而我则是她们的导演。

2、plc编程需要敢于实践的信心
我曾经教过一个学生学autocad,我对她的唯一要求就是实践。我告诉她:你随便怎么操作,大不了一张图重画;最坏的结果是系统崩溃,没关系,系统重做,再来;只要电脑没被砸了,怎么都行。两年后,我再看到她做的cad图纸,也自叹不如。

同理,只有不断地在plc上运行这些指令,观察运行的结果,才能弄清plc指令的作用。很多初学者对plc一脸的迷茫,往往是出于一种畏惧,担心损坏设备。而这些畏惧是没有任何道理的。仔细的阅读手册是非常重要的,但是仅靠读书是成不了一个工程师的。

更何况手册上的内容并非面面俱到。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让plc运行。然后逐个修改条件,观察运行的结果(microwin为用户提供了非常好的监控手段),反过来再重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。不必担心自己写的程序会有什么问题,会影响plc的正常工作。

程序有没有问题,只有让plc运行了才能发现。而发现问题并解决问题就是对自己能力的提高。撇开硬件操作不谈,单就软件来说,我还真没有遇到过由于软件问题而损坏plc的事。在这里不必担心继电器电路接错线可能造成的后果。所以,大胆的实践是plc编程的必由之路。
当然,大胆实践并不是野蛮操作,而是必须遵循必要的规范。还有一个要注意的,在程序未经可靠性证实之前,千万不要挂接负载,以免造成不必要的损失。数字量的输出有led显示;而模拟量处理可以采用一些硬件或软件模拟手段来解决。

3、编程需要有缜密的逻辑思维
编程本身就是一种逻辑思维过程。在高级语言中,使用最多的是ifthenelse、select这些条件判别语句,这就是逻辑中的因果关系。plc程序就是由这些因果关系组成的:判别条件是否成立,进而决定执行相应的指令。最初的plc是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。

在plc中,以虚拟触点代替了继电器的金属触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。即使引入了继电器电路难以胜任的数值处理过程,plc从根本上还是在执行一个个因果关系。所以,理顺对象的各个事件之间的逻辑关系,是编程之前必须精心做好的准备工作。我在接到一项任务后,第一件事就是整理出一份逻辑关系图,与用户反复商讨,取得用户的认可,然后才真正进入程序的编写过程。

4、不可或缺的相关知识(PLC编程)
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编程和plc维修是一个道理,只要大家加强信心学习,相信一定会事半功倍的。最后,plc提供了丰富的指令、模块,比单片机方便了很多。但是初学者编程时应尽量先使用简单的指令达到目的。尽管看上去有点土,却不失为一个入门的好途径,且对你理解那些较为复杂的指令会有帮助。具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。

相关文章
  • 学习PLC需要先学习继电器控制吗?

    学习PLC需要先学习继电器控制吗?

    在学习PLC基础知识之前,是否需要先学习继电器控制,能够问出这个问题的人,在学习下算是比较用的了,答案是肯定的,最好先学习下继电器控制方面的知识,下面具体来了解下。

    时间:2022-07-17 05:26:08

  • 电工图转换为plc梯形图的方法步骤

    电工图转换为plc梯形图的方法步骤

    将电工图转换为plc梯形图的方法与步骤,以三相感应电动机故障警报控制电路图为例,介绍了控制电路的动作、i/o编码、plc外部接线图、plc阶梯图、plc转换接线与阶梯图的设计过程。

    时间:2022-07-11 06:26:13

  • 学习PLC必须掌握的13个基本指令

    学习PLC必须掌握的13个基本指令

    有关PLC编程的基础知识,介绍了学习PLC必须掌握的13个基本指令,这些常用的PLC指令为LD、LDI、OUT、AND、ANI、OR、ORI、SET、RST、PLS、PLF、INC和DEC指令,下面来学习下。

    时间:2022-03-18 05:42:16

  • 模糊神经网络算法与plc学习过程

    模糊神经网络算法与plc学习过程

    有关模糊神经网络算法与plc的学习,模糊神经网络学习阶段的实现,学习阶段上位机程序实现,以及下位机程序实现思路等,一起来了解下。

    时间:2020-01-28 07:50:07

  • 如何学习模糊神经网络?学习步骤说明

    如何学习模糊神经网络?学习步骤说明

    有关模糊神经网络的学习步骤,模糊神经网络具有很多种结构和算法,不同控制对象,模糊神经网络结构也有所不同,选择在线学习,在线学习期间学习速度不变。

    时间:2020-01-28 07:49:02

  • 【多图】plc梯形图程序生成方法与步骤详解

    【多图】plc梯形图程序生成方法与步骤详解

    有关plc梯形图程序的生成方法与步骤,分为程序编辑器界面、Network 1程序编制、Network 2程序编制、编程语言切换、生成与编辑符号表等,图文并茂的plc梯形图程序设计教程。

    时间:2019-12-12 09:54:19

  • 【图】plc顺序控制设计法的设计步骤说明

    【图】plc顺序控制设计法的设计步骤说明

    plc顺序控制设计法的设计步骤,分为步的划分、转换条件的确定、顺序功能图的绘制、梯形图的绘制,每一步都很关键,按步骤实现plc顺序控制的设计即可。

    时间:2019-11-20 09:57:00

  • plc控制系统设计要求与plc程序设计的步骤

    plc控制系统设计要求

    有关plc控制系统设计要求与plc程序设计的步骤,流程图的功能说明,plc系统设计流程图,可编程控制器控制系统设计的基本步骤等。

    时间:2016-03-07 12:40:50

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有