研选课堂
HOME
研选课堂
正文内容
plc结构编程 PLC编程大项目很难?掌握了这一点就很简单
发布时间 : 2025-04-10
作者 : 小编
访问数量 : 23
扫码分享至微信

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的简单梯形图编程方法为例,分享一下万能的编写模板。

1.设置相关参数

参数设置包含:PLC参数设置、网络参数设置、智能模块参数设置等。

参数设置

2.程序内容分配

程序内容分配之前,你要对该套程序架构有一定的了解,要清楚需要将程序分成几部分主要内容。

1)按照程序结构分,比如:主程序、报警程序、复位程序等。

2)按照设备类型分,比如:上料程序、下料程序、机器人程序等。

程序内容

3.初始化程序

初始化程序是对PLC程序的数据进行初始化,可以是上电自动清除数据,也可以是手动初始化复位。

初始化程序

4.原点复位程序

原点复位程序要能够实现在手动状态下,设备自动回到原点状态,其实原点复位程序就是设备一键回原点的“自动程序”。

原点复位

5.手动程序

手动程序包含自动化设备中所有动作的手动动作,主要包含:气缸动作、马达动作、伺服电机动作、电缸动作等。

手动程序

6.自动程序

当你手动程序已经编写完成后,你只要编写好自动程序,并连接到各手动程序条件前即可。

自动程序

7.安全程序

安全程序:安全程序要保证你无论如何操作甚至是误操作也不会撞坏设备元件,同时你的程序也要对人是安全的。即设备的安全和人的安全

安全程序

8.报警程序

报警程序一定要尽可能地完善,要确保设备停止运行都能够给出提示,而不是无故停机不动。

报警程序

以上就是PLC编程的简单实用框架结构。

关注我,学习更多电气知识!

相关问答

PLC编程过程?

PLC编程的过程大致分为以下几步:1.确定控制任务和要求:根据控制对象的特点和需要控制的内容确定控制任务和要求,例如控制机器的启停、转速、温度、压力等。...

PlC的程序怎么编写?

编写PLC程序需要遵循一定的步骤。首先,需要进行需求分析,确定系统的功能和操作流程。然后,根据需求设计程序结构,包括输入输出模块的配置和信号处理逻辑。...

plc的组成结构以及分类方法?

PLC(可编程逻辑控制器)通常由输入模块、中央处理器、输出模块和通信模块等部分组成。1.输入模块:用于接收外部信号转换为数字信号,传递给中央处理器进行逻...

plc编程方法有几种?

PLC编程方法有以下几种:1.梯形图编程:梯形图编程是最常用的一种PLC编程方法,使用图形化的方式来表示逻辑控制程序。梯形图编程类似于电气图,可以直观地表示...

plc分支结构怎么写?

下折线,之后和非分支写法相同。下折线,之后和非分支写法相同。

西门子plc编程思路?

一、西门子plc编程思路基本的硬件知识编程之前,需要了解一些基本的硬件知识,最好从硬件的选型和画图入手,等把输入输出的类型,模拟量的选型等搞清楚之后,再...

PLC结构化编程中,EN和ENO是什么意思?

ENO是LAD和FBD中方框的布尔输出。ENO允许您以串联(水平方向)方式连接方框,不允许以并联(垂直方向)方式连接方框。如果方框在EU输入位置有使能位,且方框执...

PLC结构化文本编程需要什么基础?

PLC结构化文本编程需要的基础包括**对IEC61131-3标准的理解、熟悉ST语法以及具备一定的逻辑思维能力**。具体如下:1.**了解IEC61131-3标准**:这是国际电工委...

plc主程序怎么编写?

编写PLC主程序的方法可能因PLC品牌和型号的不同而有所差异。以下是通常编写PLC主程序的一般步骤:1.确定系统需求:了解系统的功能需求和操作流程。2.绘制流...

PLC结构化编程中,EN和ENO是什么意思?

EN:使能信号。这是一个控制信号,用于控制程序执行。当EN信号为ON(高电平)时,PLC认为程序正在运行,从而执行相应的控制任务。在梯形图或其他类似的编程语言...

 1937年9月18日事变  2008年的大雪 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部