学习plc吧 关注:44贴子:361
  • 6回复贴,共1

PLC编程入门 新手学习PLC编程的入门建议 PLC编程学习方法

只看楼主收藏回复

学习PLC编程 必须有齐全的学习资料,必须的硬件基础 学习资料可以在一下链接中下载到:
如PLC编程软件,这是必须的 有西门子200编程软件 300/400编程软件 三菱PLC编程软件 欧姆龙PLC编程软件一下链接都有下。 还有一下必须的编程手册等。
http://www.plclc.com/content.asp?class01=%CF%C2%D4%D8%D6%D0%D0%C4&showtype=4
而硬件那就有必须有PLC,没有PLC硬件值看书时没有用的。
学习PLC编程比实际操作 ,再实际操作。






IP属地:山东1楼2013-06-05 10:44回复
    下面开始说学习方法:
    1、编程需要坚强的毅力和足够的耐心
    人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战。我所在实验室中,很多学生看到我编程序就会惊讶于我面对这一堆堆符号所表现出的专注。其实,这是兴趣使然。兴趣使我具备了足够的毅力和耐心。经过无数次失败后,当看到一个个符号按我的思路整齐的排列,PLC按我的要求有条不紊的运行时,兴趣得到了极大的满足,如同打通了一个游戏的关口。所以,我告诉这些学生:你们看到的是一堆枯燥怪异的符号,我看到的却是一群热情奔放的舞者,而我则是她们的导演。
    2、编程需要敢于实践的信心
    我曾经教过一个学生学AutoCAD,我对她的唯一要求就是实践。我告诉她:你随便怎么操作,大不了一张图重画;最坏的结果是系统崩溃,没关系,系统重做,再来;只要电脑没被砸了,怎么都行。两年后,我再看到她做的CAD图纸,也自叹不如。
    同样道理,只有不断地在PLC上运行这些指令,观察运行的结果,才能弄清PLC指令的作用。很多初学者对PLC一脸的迷茫,往往是出于一种畏惧,担心损坏设备。而这些畏惧是没有任何道理的。仔细的阅读手册是非常重要的,但是仅靠读书是成不了一个工程师的。更何况手册上的内容并非面面俱到。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让PLC运行。然后逐个修改条件,观察运行的结果(MicroWin为用户提供了非常好的监控手段),反过来再重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。不必担心自己写的程序会有什么问题,会影响PLC的正常工作。程序有没有问题,只有让PLC运行了才能发现。而发现问题并解决问题就是对自己能力的提高。撇开硬件操作不谈,单就软件来说,我还真没有遇到过由于软件问题而损坏PLC的事。在这里不必担心继电器电路接错线可能造成的后果。所以,大胆的实践是PLC编程的必由之路。
    当然,大胆实践并不是野蛮操作,而是必须遵循必要的规范。还有一个要注意的,在程序未经可靠性证实之前,千万不要挂接负载,以免造成不必要的损失。数字量的输出有LED显示;而模拟量处理可以采用一些硬件或软件模拟手段来解决。


    IP属地:山东2楼2013-06-05 10:46
    回复

      3、编程需要有缜密的逻辑思维
      编程本身就是一种逻辑思维过程。在高级语言中,使用最多的是if then else、select这些条件判别语句,这就是逻辑中的因果关系。PLC程序就是由这些因果关系组成的:判别条件是否成立,进而决定执行相应的指令。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器的金属触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。即使引入了继电器电路难以胜任的数值处理过程,PLC从根本上还是在执行一个个因果关系。所以,理顺对象的各个事件之间的逻辑关系,是编程之前必须精心做好的准备工作。我在接到一项任务后,第一件事就是整理出一份逻辑关系图,与用户反复商讨,取得用户的认可,然后才真正进入程序的编写过程。
      4、不可或缺的相关知识
      PLC的程序是直接作用于对象的具体工艺过程,那么对对象具体工艺过程的理解是非常重要的的。我在与用户的交流过程中,会用我所掌握的Unit Operation的知识分析用户的工艺过程,协助用户整理过程控制中的各个逻辑关系,甚至包括各种仪表、硬件的配置。这得益于我原本所学的专业。当然,不能要求所有搞PLC程序的工程师都有我这样的经历。但是有两门知识却是不可或缺的:一是过程仪表的硬件知识,包括传感器、变送器(二次仪表)和PLC本身,这是构建控制系统的基础;二是过程控制理论,包括各种控制模型的原理和应用,其中最重要的是二位调节和PID调节模型。PID调节是目前用得最广泛的过程控制手段,且变化多端。学习PID最好的方法就是读书。几乎所有讲解过程控制的书籍都有关于PID的内容,多读基本相关的书籍对理解PID是很有益处的。我发现不少网友在进入PLC领域时,缺乏这些相关知识。这并不可怕;可怕的是当事者不能静下心来弥补知识的缺陷。我们不要怪罪学校没有教授这些内容,而是要注重自己如何去学习这些知识。工作中遇到的许多问题是学校里没讲过的,这不能成为我们拒绝工作的理由,而应该以积极的态度去应对这些问题。我的体会是,为了解决工作中的问题而学习的知识,比课堂上学的东西更容易记住。


      IP属地:山东3楼2013-06-05 10:46
      回复

        鄙人原本是化工专业毕业的,后因工作需要,加之个人兴趣,才转行搞仪表、机械。十年前,我刚开始使用PLC时,也是一头雾水。仗着自己对硬件、工程知识的熟悉,和对组态软件的粗浅了解,硬着头皮接下了任务。当时已经来不及接受培训,相关资料极其缺乏,仅有的参考资料是一本英文的S7-200手册,以及西门子网站上找到的一些全西文的示例,总算在三个月内完成了系统的构建、软件的编写工作。期间走弯路、出故障是家常便饭,经常搞得我茶饭不思,而且还由于操作不慎烧毁过一台PLC。所以我非常理解那些刚入门的网友两手抓瞎的感觉。
        在此,我想粗略的总结一下自己的学习之路,供网友们参考。
        1、编程需要坚强的毅力和足够的耐心
        人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战。我所在实验室中,很多学生看到我编程序就会惊讶于我面对这一堆堆符号所表现出的专注。其实,这是兴趣使然。兴趣使我具备了足够的毅力和耐心。经过无数次失败后,当看到一个个符号按我的思路整齐的排列,PLC按我的要求有条不紊的运行时,兴趣得到了极大的满足,如同打通了一个游戏的关口。所以,我告诉这些学生:你们看到的是一堆枯燥怪异的符号,我看到的却是一群热情奔放的舞者,而我则是她们的导演。
        2、编程需要敢于实践的信心
        我曾经教过一个学生学AutoCAD,我对她的唯一要求就是实践。我告诉她:你随便怎么操作,大不了一张图重画;最坏的结果是系统崩溃,没关系,系统重做,再来;只要电脑没被砸了,怎么都行。两年后,我再看到她做的CAD图纸,也自叹不如。
        同样道理,只有不断地在PLC上运行这些指令,观察运行的结果,才能弄清PLC指令的作用。很多初学者对PLC一脸的迷茫,往往是出于一种畏惧,担心损坏设备。而这些畏惧是没有任何道理的。仔细的阅读手册是非常重要的,但是仅靠读书是成不了一个工程师的。更何况手册上的内容并非面面俱到。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让PLC运行。然后逐个修改条件,观察运行的结果(MicroWin为用户提供了非常好的监控手段),反过来再重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。不必担心自己写的程序会有什么问题,会影响PLC的正常工作。程序有没有问题,只有让PLC运行了才能发现。而发现问题并解决问题就是对自己能力的提高。撇开硬件操作不谈,单就软件来说,我还真没有遇到过由于软件问题而损坏PLC的事。在这里不必担心继电器电路接错线可能造成的后果。所以,大胆的实践是PLC编程的必由之路。
        当然,大胆实践并不是野蛮操作,而是必须遵循必要的规范。还有一个要注意的,在程序未经可靠性证实之前,千万不要挂接负载,以免造成不必要的损失。数字量的输出有LED显示;而模拟量处理可以采用一些硬件或软件模拟手段来解决。
        3、编程需要有缜密的逻辑思维
        编程本身就是一种逻辑思维过程。在高级语言中,使用最多的是if then else、select这些条件判别语句,这就是逻辑中的因果关系。PLC程序就是由这些因果关系组成的:判别条件是否成立,进而决定执行相应的指令。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器的金属触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。即使引入了继电器电路难以胜任的数值处理过程,PLC从根本上还是在执行一个个因果关系。所以,理顺对象的各个事件之间的逻辑关系,是编程之前必须精心做好的准备工作。我在接到一项任务后,第一件事就是整理出一份逻辑关系图,与用户反复商讨,取得用户的认可,然后才真正进入程序的编写过程。
        4、不可或缺的相关知识
        PLC的程序是直接作用于对象的具体工艺过程,那么对对象具体工艺过程的理解是非常重要的的。我在与用户的交流过程中,会用我所掌握的Unit Operation的知识分析用户的工艺过程,协助用户整理过程控制中的各个逻辑关系,甚至包括各种仪表、硬件的配置。这得益于我原本所学的专业。当然,不能要求所有搞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提供了丰富的指令、模块,比单片机方便了很多。但是初学者编程时应尽量先使用简单的指令达到目的。尽管看上去有点土,却不失为一个入门的好途径,且对你理解那些较为复杂的指令会有帮助。具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。


        IP属地:山东4楼2013-06-05 10:46
        回复

          如何学习PLC
          弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办。复杂的就不好办了。不仅无从下手,而且花了很多时间与精力,也难编出效率较高、质量也较高的程序,常常是事倍功半。
          但是,编程的具体实践,以及在这个实践中得来的知识或技能,即经验,也是重要的。没有经验,仅有理论,既无法深刻理解理论,又无法灵活应用理论。这正如学数学,如仅了解一些定理或记住一些公式,没有作相应的练习,肯定是学不好的。更不用说,任何理论也都只是经验的总结,归根到底也都有是来自实践。
          1、经验积累
          经验有别人的,也有自己的,都很重要。前者要靠细心学习,后者要靠用心积累,都要在一定的时间与必要的精力。
          别人的经验有上了书的或登载在杂志上的。有的是细心学习别人的,但多数是我自己的经验。所有的例子都经我测试过,都经实践证明是可行的。我想,别的书本或杂志上介绍的也会是这样的。所以学习这样杨功的经验是必要的。
          还有就是你同事的经验,也是值得学习。这种经验离你很“近”,很易借鉴。
          自己的经验则是最重要的。要在自己的实践中,积累自己的经验。同时,最好在学别人的经验时,也能亲自作些测试,能使自己也有类似的经历,进而把这些经验变成自己的。这也是自己经验的重要积累。
          还有一些失败的经验,这往往是不会公开的,但这些经验也要学习,也要积累。
          经验的积累要用自己的脑记,更要用电脑记。最好作些分类,建立一个自用的程序库,以便于随时引用。
          2、经验升华
          经验还有待升华。升华有三个层次:
          最低的层次就是建立一个典型的程序库,供今后再用。若程序复杂,还可建一些功能块,或子程序,以便以后引用。
          其次,要总结出有效算法。如单按钮起停程序库等。
          最高层次的升华是把经验上升到理论的高度,为丰富PLC程序设计理论作贡献。我想,随着PLC使用的普及与提高,是会有越来越多从经验中升华出来的,而又能用以指导实践的PLC编程理论的。
          3、经验应用
          经验积累、经验升华都是为了应用。经验应用有三方面:
          1)用作工程设计模板。设计新系统时,选用一个或几个与现设计工程类似的,已取得成功的工程,作样板进行设计。这既可减轻设计的工作量,又增加设计的成功率。这也是信息可重用的一大好处。
          2)用作程序设计参考。在无成功的工程可作样板时,在新设计的逻辑中,仍有相当一部分控制逻辑,可采用或借用已有典型逻辑,这也可减少设计的工作量,增加设计的成功率。
          3)用作算法设计参考。在既无样板可参照,又无典型可采用时,还可运用过去的一些成功的算法。
          经验是宝贵的,但是经验特别是个人经验,总是有限的。所以,经验的应用也还要与编程理论相结合。


          IP属地:山东5楼2013-06-05 10:47
          回复

            如何学习别人的PLC程序
            1 收集资料。在收集资料时不仅要收集程序还要收集程序所附带的工艺流程及I/O分配表。
            2 程序分类。在收集到前人的程序后,首先加以分类。以不同品牌的程序分类——再以不同功能细分。
            3 选择程序加以理解。分类完成后就是慢慢的“消化”程序了。首先选择自己熟悉的PLC程序或是自己将要用到的程序样例下手,这样理解起来比较容易。
            4 对于有工艺流程及I/O分配表的程序进行理解。
            1) 了解程序的工艺流程。
            2) I/O分配。把I/O分配表中的说明加在程序的注释中。
            3) 理解中间位。在程序设计时肯定会用到诸多的中间位做转接,然后搞清楚每一步或每一网络所对应的中间位的功能,在程序中加以注释。
            4) 理解定时器。程序中定时器的功能要清楚,特别是有时间日期控制的,定时器的功能是比较重要的。其意义也要记录下来。
            5) 理解计数器。
            6) 理解陌生指令。在“消化”别人程序的过程中,不勉会看到一些自己没用过或不熟悉的指令,这也是自己要重点理解的对象,要准备一份电子指令手册随时查找,并在程序中记录。这才是自己要学习与进步的地方。
            5、 对于没有任何说明的程序进行理解。
            1) 指令应用。对此类程序主要是注意程序中的指令应用。把指令截取下来,以指令名称为为文件名另存在文件夹中。
            2) 分系统另存。对于能理解并能整理成系统程序加以另存,比如说程序中的时间系统、PID系统等等的程序。
            3) 所有的PLC指令都是大同小异的,当以后工作中能应用到的部分可以就地取材,举一反三。
            更重要的是要了解设备的工艺,只有熟悉了产品和掌握了程序的基本编写方法,才能得心应手!!


            IP属地:山东6楼2013-06-05 10:48
            回复

              PLC基础学习方法论谈
              学习PLC入门方法其实主要是两点,1.选择一个PLC, 2边学边练
              一、问题提出。
              可编程控制器技术最主要是应用于自动化控制工程中,如何综合地运用前面学过知识点,根据实际工程要求合理组合成控制系统,
              在此介绍组成可编程控制器控制系统的一般方法。
              二、可编程控制器控制系统设计的基本步骤
              1 .系统设计的主要内容
              ( 1 )拟定控制系统设计的技术条件。技术条件一般以设计任务书的形式来确定,它是整个设计的依据;
              ( 2 )选择电气传动形式和电动机、电磁阀等执行机构;
              ( 3 )选定 PLC 的型号;
              ( 4 )编制 PLC 的输入 / 输出分配表或绘制输入 / 输出端子接线图;
              ( 5 )根据系统设计的要求编写软件规格说明书,然后再用相应的编程语言(常用梯形图)进行程序设计;
              ( 6 )了解并遵循用户认知心理学,重视人机界面的设计,增强人与机器之间的友善关系;
              ( 7 )设计操作台、电气柜及非标准电器元部件;
              ( 8 )编写设计说明书和使用说明书;
              根据具体任务,上述内容可适当调整。
              2 . 系统设计的基本步骤
              可编程控制器应用系统设计与调试的主要步骤,如图 1 所示。
              图 1 可编程控制器应用系统设计与调试的主要步骤
              ( 1 )深入了解和分析被控对象的工艺条件和控制要求
              a .被控对象就是受控的机械、电气设备、生产线或生产过程。
              b
              .控制要求主要指控制的基本方式、应完成的动作、自动工作循环的组成、必要的保护和联锁等。对较复杂的控制系统,还可将控制任务分成几个独立部分,这种可化繁为简,有利于编程和调试。
              ( 2 )确定 I/O 设备
              根据被控对象对 PLC
              控制系统的功能要求,确定系统所需的用户输入、输出设备。常用的输入设备有按钮、选择开关、行程开关、传感器等,常用的输出设备有继电器、接触器、指示灯、电磁阀等。
              ( 3 )选择合适的 PLC 类型
              根据已确定的用户 I/O 设备,统计所需的输入信号和输出信号的点数,选择合适的 PLC 类型,包括机型的选择、容量的选择、 I/O
              模块的选择、电源模块的选择等。
              ( 4 )分配 I/O 点
              分配 PLC 的输入输出点,编制出输入 / 输出分配表或者画出输入 / 输出端子的接线图。接着九可以进行 PLC
              程序设计,同时可进行控制柜或操作台的设计和现场施工。
              ( 5 )设计应用系统梯形图程序
              根据工作功能图表或状态流程图等设计出梯形图即编程。这一步是整个应用系统设计的最核心工作,也是比较困难的一步,要设计好梯形图,首先要十分熟悉控制要求,同时还要有一定的电气设计的实践经验。
              ( 6 )将程序输入 PLC
              当使用简易编程器将程序输入 PLC
              时,需要先将梯形图转换成指令助记符,以便输入。当使用可编程序控制器的辅助编程软件在计算机上编程时,可通过上下位机的连接电缆将程序下载到
              PLC中去。


              IP属地:山东7楼2013-06-05 10:48
              回复