初学者必懂,S7-1200 PLC的程序结构
今天我们来了解一下S7-1200 PLC的程序结构。其实S7-1200 PLC跟S7-200 /200 smart PLC的程序结构是不一样的,它是延续了S7-300/400 PLC的程序结构,分为OB块(组织块),FB块(函数块),FC块(函数)以及数据块(DB)。
下面会分别介绍一下这些程序块的功能和特点。
组织块OB
什么是组织块? 组织块是操作系统和用户程序之间的接口。OB 用于执行具体的程序:
1、在 CPU 启动时;
2、在一个循环或延时时间到达时;
3、当发生硬件中断时;
4、当发生故障时;
5、组织块根据其优先级执行。
因此,组织块的基本功能是调用用户程序,同时还可以执行自动化系统的启动、循环程序的处理、中断程序的执行以及错误的处理等功能。
不同类型的组织块完成不同的功能,组织块OB的类型主要有以下几种。
通过上图,我们可以看到 OB 组织块分为三个优先组 ,高优先组中的组织块可中断低优先组中的组织块;如果同一个优先组中的组织块同时触发将按其优先级由高到低进行排队依次执行;如果同一个优先级的组织块同时触发时,将按块的编号由小到大依次执行。
数据块DB
什么是数据块DB? 数据块用于存储程序数据,分为全局数据块和背景数据块。数据块就相当于其他的变量地址,访问方式分为直接和间接寻址方式。在创建db块时,如果需要可以插入建好的。对于背景数据块,它与函数块相关联,存储FB的输入、输出、输入/输出、静态变量的参数,其变量只能在FB中定义,不能在背景数据块中直接创建,程序中调用FB时,可以分配一个创建的背景DB,也可以直接定义一个新的DB块,该DB块将自动生成并作为这个FB的背景数据块。
数据块的访问:
符号访问: <DB块名>.<变量名>;例如:Data_Block_1.Var1;
绝对地址访问: <DB块号>.<变量长度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。
注意:复杂数据类型只能符号寻址。
函数FC
什么是函数? 函数FC是用户编写的没有固定的存储区的块,其临时变量存储在局部数据堆栈中,FC执行结束后,这些数据就丢失。函数FC常用于对一组输入值执行特定运算,例如:可使用 FC 执行标准运算和可重复使用的运算(例如数学计算)或者执行工艺功能(如使用位逻辑运算执行独立的控制)。函数FC也可以在程序中的不同位置多次调用,简化了对经常重复发生的任务的编程。
函数FC在使用时可以选择不带参数的FC和带参数的FC,若需要使用带参数的FC,那么在打开FC后,需要在FC的接口定义相关的接口参数,调用函数FC时需要给FC的所有形参分配实参。接口区的各个参数含义如下图。
点击查看大图
函数块FB
什么是函数块? 函数块FB是用户编写的带有自己的存储区的块。函数块FB在使用时可以使用带参数的FB和不带参数的FB。带参数的FB和带参数的FC的区别在于,带参数的FC调用后需要赋予实参后才可运行,而带参数的FB可以不赋予实参,也可以运行。FB的接口区的各个参数含义如下图:
点击查看大图
FB与FC相比,每次调用函数块都必须为之分配背景数据块,一个数据块可以作为一个函数块的背景数据块,也可以作为多个函数块的背景数据块(多重背景数据块),背景数据块作为函数块的存储器,可以将接口数据区(TEMP类型除外)以及函数块运算的中间数据存储于背景数据块中,其他逻辑程序可以直接使用背景数据块存储的数据。对于FC,中间逻辑结果必须使用函数的输入、输出接口区存储。
函数块FB很少作为子程序使用,通常将函数块作为具有存储功能的函数使用,每调用一次分配一个背景数据块,将运算结果传递到背景数据块中存储。一些特殊编程应用可以在函数块中指定接口数据区存储于多重背景数据块的开始位置,使用更灵活。
那么以上就是S7-1200 PLC的程序结构,OB块、DB块、FB块、FC块的功能和特点,了解这个基础也是很重要的,如果是只使用过S7-200/200 SMART PLC的学员,要想更好的学习1200 PLC,了解这个知识是必不可少的哦。(技成培训原创,作者:蔡慧荥,未经授权不得转载,违者必究!)
↓学习资料
PLC程序架构,理解这些,让你编写程序更容易,思路更清晰
经常会遇到朋友问我们如何编写PLC程序,当然单纯的写个程序有各种不同的思路,没有什么固定的模式,每个工程师都有自己的编写程序的习惯,但是新的编程人员还没有形成自己的习惯,我呢根据自己的经验,分享给大家,仅供参考。
首先,前面的文章和视频也提过,做项目的一个流程,工艺过程、选型、等我们今天就略过,我们先从做符号表开始,如下图所示,可以在默认变量表里编写地址和符号,也可以新建多个变量表,把变量进行分类,方便查询和使用建立符号表
接着就可以做多个重复功能的FB功能块,如电机、气缸和多个重复功能的,例如本例子中我们有4个电机、8个气缸,先建立两个FB块,FB1/MOTOR和FB2/CYLINDER,这两个程序块如何编写,这篇文章就不赘述,我们今天就谈框架。建立基础功能块
基本功能的FB块建立好之后,我们就可以进行调用,建立新的FB块,FB3/FB_MOTOR_CTRFB_DT_CYLINDER_CTR,FB_CT_CYLINDER_CTR如下图所示,把所有的执行元件都调用。
调用基础功能块
接着我们就应该考虑模式的控制,分为手动和自动上面一段是手动控制,下面一段是自动控制,先建立变量,手动的在一个DB块中,自动的在另一个DB块中,这样不至于程序混乱。控制模式编辑
手动变量数据块
自动变量数据块
其中手动变量连接的是上位机触摸屏的变量,这样达到手动模式,就可以直接控制执行元件的动作,如果自动模式下,我们建立自动控制程序,如下图所示,每个区域分成一个FC块,这样更容易区分建立FC自动控制块
自动变量的连接
在自动逻辑中输出自动程序变量连接FB调用块中的对应变量即可自动控制,自动程序如何写,我们今天不做赘述。整个程序的流程框架基本上如此,再加上一些报警的控制和显示,完成任务!
相关问答
plc的程序结构分为包括哪三个?
plc的程序结构分为包括:主程序、子程序、中断程序。plc的程序结构分为包括:主程序、子程序、中断程序。
从硬件结构看plc由什么编程器和电源等部件组成?
PLC的硬件主要由中央处理器(CPU)、存储器、输入单元、输出单元、通信接口、扩展接口电源等部分组成。其中,CPU是PLC的核心,输入单元与输出单元是连接现场输入...
plc的组成结构以及分类方法?
PLC(可编程逻辑控制器)通常由输入模块、中央处理器、输出模块和通信模块等部分组成。1.输入模块:用于接收外部信号转换为数字信号,传递给中央处理器进行逻...
plc程序详细讲解?
当我们需要将某个机械设备进行自动化控制时,PLC程序就会发挥重要作用。下面我将为您详细介绍PLC程序的各个方面。一、PLC程序结构PLC程序通常包括输入、输出...
什么是PLC编程?
PLC编程是指使用特定的编程语言对可编程逻辑控制器(PLC)进行编程,以控制工业自动化系统的运行。PLC编程的目的是将输入信号转化为输出信号,从而实现机械设备...
plc内部结构详解?
PLC的内部结构由CPU、存储器(EPROM、RAM)、输入/输出单元、外设I/O接口、通信接口及电源组成。对于整体式PLC,这些部件都在同一个机壳内。而对于模块式PLC,各...
plc基本编程模式?
PLC编程有五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。最常用的是梯...PLC...
PLC编程过程?
PLC编程的过程大致分为以下几步:1.确定控制任务和要求:根据控制对象的特点和需要控制的内容确定控制任务和要求,例如控制机器的启停、转速、温度、压力等。...
plc五种编程语言?
plc编程语言如下1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟...
s7-1200plc编程程序块类型分为哪四种?
S7-1200中程序块分为组织块(OB),函数块(FB),函数(FC),数据块(DB)。不严谨的说,组织块(OB)可以相当于主程序,函数块(FB)和函数(FC)可以相当于...S7-1200中程序....