浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
西门子PLC模块CPU224XPCN模块控制器

西门子PLC模块CPU224XPCN模块控制器西门子PLC模块CPU224XPCN模块控制器

S7-1200PLC的程序结构

S7-1200 PLC的程序结构。其实S7-1200 PLC跟S7-200 /200 smart PLC的程序结构是不一样的!

6ES7214-1BG40-0XB0CPU 1214C   AC/DC/Rly,14输入/10输出,集成2AI
6ES7214-1AG40-0XB0CPU 1214C   DC/DC/DC,14输入/10输出,集成2AI
6ES7214-1HG40-0XB0CPU 1214C   DC/DC/Rly,14输入/10输出,集成2AI
6ES7215-1BG40-0XB0CPU 1215C   AC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7215-1AG40-0XB0CPU 1215C   DC/DC/DC,14输入/10输出,集成2AI/2AO
6ES7215-1HG40-0XB0CPU 1215C   DC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7217-1AG40-0XB0CPU 1217C   DC/DC/DC,14输入/10输出,集成2AI/2AO

它是延续了S7-300/400 PLC的程序结构,分为OB块(组织块),FB块(函数块),FC块(函数)以及数据块(DB)。下面会分别介绍一下这些程序块的功能和特点。

微信截图_20230227091358.png

组织块OB

什么是组织块?组织块是操作系统和用户程序之间的接口。

OB 用于执行具体的程序:

1、在 CPU 启动时;

2、在一个循环或延时时间到达时;

3、当发生硬件中断时;

4、当发生故障时;

5、组织块根据其优先级执行。

G120.4.png

因此,组织块的基本功能是调用用户程序,同时还可以执行自动化系统的启动、循环程序的处理、中断程序的执行以及错误的处理等功能。
不同类型的组织块完成不同的功能,组织块OB的类型主要有以下几种。

通过上图,我们可以看到 OB 组织块分为三个优先组,高优先组中的组织块可中断低优先组中的组织块;如果同一个优先组中的组织块同时触发将按其优先级由高到低进行排队依次执行;如果同一个优先级的组织块同时触发时,将按块的编号由小到大依次执行。



数据块DB


什么是数据块DB?数据块用于存储程序数据,分为全局数据块和背景数据块。数据块就相当于其他的变量地址,访问方式分为直接和间接寻址方式。在创建db块时,如果需要可以插入建好的。对于背景数据块,它与函数块相关联,存储FB的输入、输出、输入/输出、静态变量的参数,其变量只能在FB中定义,不能在背景数据块中直接创建,程序中调用FB时,可以分配一个创建的背景DB,也可以直接定义一个新的DB块,该DB块将自动生成并作为这个FB的背景数据块。



数据块的访问


符号访问:.
**地址访问:.
注意:复杂数据类型只能符号寻址。



函数FC

什么是函数?函数FC是用户编写的没有固定的存储区的块,其临时变量存储在局部数据堆栈中,FC执行结束后,这些数据就丢失。函数FC常用于对一组输入值执行特定运算,例如:可使用 FC 执行标准运算和可重复使用的运算(例如数学计算)或者执行工艺功能(如使用位逻辑运算执行独立的控制)。函数FC也可以在程序中的不同位置多次调用,简化了对经常重复发生的任务的编程。


函数FC在使用时可以选择不带参数的FC和带参数的FC,若需要使用带参数的FC,那么在打开FC后,需要在FC的接口定义相关的接口参数,调用函数FC时需要给FC的所有形参分配实参。接口区的各个参数含义如下图。



接口类型读写访问描述
Input只读调用时将用户程序数据传递到FC中,实参可以为常数。
Output读写函数调用时将FC执行结果传递到用户程序中。实参不能为常数。
InOut读写在块调用之前读取输入/输出参数并在块调用之后写入。实参不能为常数。
Temp读写仅在FC调用时生效,用于存储临时中间结果的变量。
Constat只读声明常量符号名后,FC中可以使用符号名代替常量。




函数块FB

什么是函数块?函数块FB是用户编写的带有自己的存储区的块。函数块FB在使用时可以使用带参数的FB和不带参数的FB。带参数的FB和带参数的FC的区别在于,带参数的FC调用后需要赋予实参后才可运行,而带参数的FB可以不赋予实参,也可以运行。


FB的接口区的各个参数含义如下图:


接口类型

读写访问

描述

Input

只读

调用时将用户程序数据传递到FB中,实参可以为常数。

Output

读写

函数调用时将FB执行结果传递到用户程序中。实参不能为常数。

InOut

读写

在块调用之前读取输入/输出参数并在块调用之后写入。实参不能为常数。

STatic

读写

不参与参数传递,用于存储中间过程值,可被其他程序块访问。

Temp

读写

仅在FB调用时生效,用于存储临时中间结果的变量。

Constat

只读

声明常量符号名后,FB中可以使用符号名代替常量。

微信截图_20230220103511.png

FB与FC相比,每次调用函数块都必须为之分配背景数据块,一个数据块可以作为一个函数块的背景数据块,也可以作为多个函数块的背景数据块(多重背景数据块),背景数据块作为函数块的存储器,可以将接口数据区(TEMP类型除外)以及函数块运算的中间数据存储于背景数据块中,其他逻辑程序可以直接使用背景数据块存储的数据。对于FC,中间逻辑结果必须使用函数的输入、输出接口区存储。

CNU5.jpg函数块FB很少作为子程序使用,通常将函数块作为具有存储功能的函数使用,每调用一次分配一个背景数据块,将运算结果传递到背景数据块中存储。一些特殊编程应用可以在函数块中指定接口数据区存储于多重背景数据块的开始位置,使用更灵活。

3VA1196-3ED26-0AA03VA1N160 R16 TM210 F/2P
3VA1120-3ED26-0AA03VA1N160 R20 TM210 F/2P
3VA1125-3ED26-0AA03VA1N160 R25 TM210 F/2P
3VA1132-3ED26-0AA03VA1N160 R32 TM210 F/2P
3VA1140-3ED26-0AA03VA1N160 R40 TM210 F/2P
3VA1150-3ED26-0AA03VA1N160 R50 TM210 F/2P
3VA1163-3ED26-0AA03VA1N160 R63 TM210 F/2P
3VA1180-3ED26-0AA03VA1N160 R80 TM210 F/2P
3VA1110-3ED26-0AA03VA1N160 R100 TM210 F/2P
3VA1112-3ED26-0AA03VA1N160 R125 TM210 F/2P
3VA1116-3ED26-0AA03VA1N160 R160 TM210 F/2P
3VA1196-4ED26-0AA03VA1S160 R16 TM210 F/2P
3VA1120-4ED26-0AA03VA1S160 R20 TM210 F/2P
3VA1125-4ED26-0AA03VA1S160 R25 TM210 F/2P
3VA1132-4ED26-0AA03VA1S160 R32 TM210 F/2P


发布时间:2023-11-04
展开全文
优质商家推荐 拨打电话