PLC快速入门:6个PLC编程实例,学会了可以让你由入门变精通!
PLC是使用很广泛的自动化控制设备,在使用PLC之前,我们需要根据现场的工况要求来对PLC进行编程,理论上任何复杂的继电器和交流接触器的控制电路,都可以用PLC来实现,今天我们就通过6个具体的编程实例来看看PLC到底是如何进行编程的:
PLC编程大项目很难?掌握了这一点就很简单
PLC结构化编程 是对应于典型的控制要求,将过程要求中的类似或相关的任务归类,在功能或功能块中编写通用的程序块,这些程序块可以反复被调用,以控制不同的目标,形成通用的解决方案。这些的通用的程序块就称为结构,利用各种结构组成程序就称为结构化编程。可以通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。结构化编程过程中通用的数据和代码可以共享,其特点是,编写通用程序块,对不同的控制任务代入不同的地址和数据,使更多的控制任务可以使用此通用程序块,因此具有很高的编程和编程调试效率,并且编程结构清晰,适合于复杂的控制任务。
在块调用时,调用者可以是各种逻辑块,包括用户编写的组织块(OB)、FB、FC和系统提供的SFB和SFC,被调用的块是除OB1外的所有逻辑块。调用功能块时需要为其指定一个背景数据块,背景数据块在功能块调用的同时被打开,在调用结束时被关闭。
在给功能块编程时使用的是形参,调用它时需要使用实参来为形参赋值。在一个项目中,可以多次调用同一个块,如在调用控制电动机的块时,将不同的实参赋值给形参,就可以实现对类似但不完全相同的被控对象(如直流电动机和交流电动机)的控制。
块及子程序的调用,可以嵌套调用,即被调用的块同时还可以调用其他的块。嵌套调用的嵌套深度与CPU的型号相关。
嵌套调用的深度同时还与局部数据堆栈(L堆栈)有关。每个OB需要至少20 B的L内存。当块A调用块B时,块A的临时变量将被压入L堆栈进行现场保护。
程序被分为不同的逻辑块,每个块包含了完成部分控制任务所需的逻辑指令。 组织块OB1(主程序)中的指令决定在什么情况下调用哪一个块,功能和功能块(子程序)用来完成不同的过程任务。被调用的块执行完后,返回到OB的调用点,继续执行OB1。模块化编程,将一个较大的程序分成若干块,易于实现多人同时对一个项目编程。由于只在需要时执行相关的指令,因此提高了CPU的执行效率。
线性化编程是将整个系统的控制程序放在主循环控制组织块OB1(主程序)中,每一次循环扫描都要不断地顺序执行OB1中的全部指令。 这种方法的程序结构简单,不涉及功能、功能块、数据块、局部变量和中断等比较复杂的概念。
由于所有的指令都集中在一个块中,即使程序中的某些部分在大多数时候都不需要执行,但每个扫描周期都需要执行所有指令,CPU的执行效率比较低。此外如果需要多次执行相同或相似的程序就需要重复编写程序。因此,这种编程方法,一般只在编写简单的控制系统程序时使用。
模块化程序的执行
模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。
模块化编程实例
1.模块化编程实例1 - 液位监视
• 监视一个慢变得过程不需要每次扫描都进行。如果过程每隔一定时间或根据需要进行处理,程序将更有效。• 在OB1循环扫描处理时,可以按照一定的周期对液位进行监视。
设计方法:
• 确定液位监视的组成部分和它们的关系;
• 设计完成所要求控制任务的功能;
• 规划从OB中调用块完成功能的程序执行
过程;
• 对程序块的每个段加上文字注释和标题。
解决方案:
• 建立一个功能FC,可以监视和控制任务;
• 建立一个OB,其中每隔一定时间调用块
(功能)。
2.模块化编程实例2
有两台电动机,控制模式是相同的,按下启动按钮(电动机1为I0.0,电动机2为I1.0),电动机起动运行(电动机1为Q4.0,电动机2为Q4.1);按下停止按钮(电动机1为I0.1,电动机2为I1.1),电动机停止运行。
分析:
这是典型的起保停电路,采用模块化编程的思想,分别在FC1和FC2中编写电机的控制程序,在主程序OB1中进行FC1和FC2的调用。
结构化编程
Ø 将复杂的任务分解成一些能够反映过程的工艺、功能或可以反复使用的单独解决的小任务,这些任务由相应的程序块来表示;
Ø 某些程序块可以用来实现相同或相似的功能;
Ø 调用者可以是各种逻辑块,包括用户编写的OB、FB、FC和系统提供的SFB与SFC;
Ø 被调用的块是OB之外的逻辑块;
Ø 通用的数据和代码可以共享。
结构化编程
结构化编程的优点:
1各单个任务块的创建和测试可以相互独立地进行;
2通过使用参数,可将块设计得十分灵活;
3块可以根据需要在不同的地方以不同的参数数据记录进行调用;
4在预先设计的库中,能够提供用于特殊任务的“可重用”块。
结构化编程实例-油漆调制
1选择产品添加剂,需要决定哪个罐的成分要加到混合罐内。
2在选择开关的选择基础上,组织块调用相应的程序块,分配当前的参数,控制混合罐的流入量。
设计方法:
1. 确定哪些部件和操作可以应用于所有的罐和相关的控制;
2. 建立功能或功能块,完成所要求的控制;
3. 建立块的变量定义表,以便于对要操作的罐和控制进行地址分配;
4. 设计一个程序来根据选择开关调用功能或功能块。
解决方案:
1. 建立一个功能块或功能控制罐的流出量;
2. 为相关的块建立变量定义表;
3. 建立一个OB块来根据选择开关调用功能或功能块。
相关问答
plc难度有多大-职业科普-醉学网
[最佳回答]PLC相对于其他编程语言来说并不难学因为PLC是一种图形化编程语言,不需要像其他编程语言那样需要掌握复杂的语法和编程思想。而且PLC的应用范围广泛,...
丰炜plc解密方法?
1.目前没有明确的丰炜PLC解密方法。2.这是因为PLC(可编程逻辑控制器)的解密是一项技术难题,涉及到硬件和软件的复杂结构,以及丰炜PLC厂家的保密措施。解密...
plc的能进行复杂的运算吗?
当然可以,PLC是电力作业人员经常都会用到的自动控制设备,在工业的控制中应用非常广泛,一个有趣的问题:PLC可以进行加,减,乘,除的运算吗?答案是当然可以...当...
刚学plc编程,感觉入门好难,有什么好办法吗?
给PLC初学者的几点建议:养成良好的兴趣既然都对PLC编程没有兴趣,那怎么可能学好呢。因此可以把编程当成一项趣味的智力游戏,这样就会促使你有足够及毅力耐心...
复杂的PLC程序怎么看懂?
复杂的PLC程序需要掌握以下技巧,才能更好地理解与操作:理解输入信号与输出信号间的关系。PLC程序的每一个步骤,都与输入信号的变化密切相关。因此,理解输入...
plc五种编程语言?
plc编程语言如下1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟...
如何学习PLC?
如何学习PLC我来分享一下之前自己学习PLC的经历。读书的时候没有接触过PLC实物,看看书了解了一下梯形图。但具体怎么样,系统架构和工作原理怎样都不懂。后来参...
plc寻址编程方法?
1.PLC寻址编程方法有多种。2.首先,常见的一种方法是直接寻址编程,即通过指定PLC的输入输出点的地址来进行编程。这种方法简单直接,适用于简单的控制任务。另...
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...
只有小学文化程度,能学会PLC编程吗?里面很多复杂的计算方式我根本就看不懂。培训老师说可以学会?
想听实话吗?那我告诉你:你的文化程度绝对不适合学习PLC编程!从我开始干电工起接触到不少电工师傅,可会PLC编程的一个没有!工作中pLC出问题基夲都是拿出去或请...