一 | OB(Organization block) 组织块 |
image-202405
OB(Organization block)英文翻译即组织块,它是操作系统和用户程序之间的接口,用于执行具体的程序。
在TIA Portal中我们Zui常用的OB块即Main函数(OB1) ,通过Main函数调用 FB、FC,并且这些 FB、FC 还可以继续向下嵌套调用 FB、FC。除主程序和启动 OB 以外,其他 OB 的执行是根据各种中断条件(错误、时间、硬件等)来触发的,OB 无法被 FB、FC 调用。
嵌套深度:是指可从 OB 调用功能 (FC) 或功能块 (FB) 等程序代码块的深度。
- 从程序循环 OB 或启动 OB 开始调用 FC 和 FB 等程序代码块,嵌套深度为 16 层;
- 从其他中断 OB 开始调用 FC 和 FB 等程序代码块,嵌套深度为 6 层;
OB 事件
每个组织块都有各自的优先级,在低优先级 OB 运行过程中,高优先级 OB 到来会打断低优先级执行。
>=0 | 1 |
>=0 | 1 |
<=2 | 2 |
<=4 | OB 20:3 OB 21:4 OB 22:5 OB 23:6 OB 123 - OB 32767:3 |
<=4 | OB 30:8 OB 31:9 OB 32:10 OB 33:11 OB 34:12 OB 35:13 OB 36:14 OB 37:16 OB 38:17 OB 123 - OB 32767:7 |
<=50 | 18 |
<=1 | 22或26 |
<=1 | 5 |
<=1 | 6 |
<=1 | 6 |
<=1 | 4 |
<=1 | 4 |
<=1 | 4 |
<=1 | 25 |
<=1 | 24 |
<=1 | - |
<=1 | - |
* V4.0 版本 CPU 以前,延时中断 OB + 循环中断 OB 数量 <=4
** V4.0 版本 CPU 开始支持
*** V4.1 版本 CPU 开始支持
**** V4.2 版本 CPU 开始支持
注:关于各OB的使用说明,可查看TIA Portal中帮助文件;
二 | DB(Data block) 数据块 |
image-202405
定义
DB(Data Block)数据块可以分为:全局数据块和背景数据块。数据块用于存储用户数据及程序中间变量,其中背景数据块由背景功能块FB生成,内部数据结构由FB的接口定义区决定;
寻址方式
在TIA Portal中可通过juedui地址寻址或通过符号寻址;使用juedui地址寻址,需要将优化块访问选择取消(默认使用优化块访问)。
image-202405
符号地址寻址
image-202405
juedui地址:寻址即通过地址DB编号+地址偏移量组成,例如:DB100.dbx0.0
image-202405
三 | FC(Function) 和 FB(Function Block) |
定义
FC(Function)功能:是不含存储区的代码块,常用于对一组输入值执行特定运算,例如:可使用 FC 执行标准运算和可重复使用的运算(例如数学计算)或者执行工艺功能(如使用位逻辑运算执行独立的控制)。
FB(Function Block)功能块:带背景数据块的FC--功能。
块接口
FB 、FC块都有一个块接口区,可以用来定义块接口。在块接口区域中可以定义的接口类型:Input(输入)、Output(输出)、InOut(输入输出)、Static(静态变量,FC无)、Temp(临时变量)以及 Constant (常量)注:FC 或 FB可带参数或者不带参数
image-202405
接口类型 | 读写访问 | 描述 |
Input | 只读 | 调用 FB 或 FC 块时,将数据传送到 FB 或 FC 块,实参可以为常数 |
Output | 读写 | 将 FB 或 FC 块执行的结果输出,实参不可以为常数 |
Inout | 读写 | 读取外部实参数值并且将结果返回到实参,实参不可为常数 |
Static (FC无) | 读写 | 静态变量存储在背景 DB 块中,不参与对外的参数传递 |
Temp | 读写 | - |
Constant | 只读 | - |
对于带参数的 FB 或FC 块,有形参和实参 2 个概念,如图 3 所示。
形参:块接口区域定义的 Input,Output,InOut 参数;在调用块时,会以引脚方式出现在块上。Input 和 InOut 类型的变量出现在块的左侧;Output 类型的变量出现在块的右侧。
实参:在调用带参数的块时,为形参填写的实际变量。
image-202405四 | FC块和FB块 区别和应用 |
经常有小伙伴有疑问FB和FC有什么区别, 在什么场景下应用FC,什么场景下应用FB?
首先,从字面意思来看FC(Function)-功能, FB(Function Block)-功能块;这两个之间差了一个"块",这个块就是我们常说的背景数据块(Background DB),FB使用背景数据块作为存储区,FC没有独立的存储区,使用全局DB或M区;这是FB与FC的Zui主要区别;
其次, FB局部变量有STAT和TEMP,FC由于没有自己的存储区因此不具有STAT,且TEMP本身出不能设置初始值。
FB块优点:
- 易于移植性,对于相同控制逻辑不同参数的被控对象,只要使用不同的背景DB,同一个FB块就可以方便
- 多重背景,减少重复工作,提高效率
- 多次调用时,参数修改方便
- 有独立的存储区
FC块优点:
- 小巧灵活,对于非多次调用的程序更易理解
- 不占用额外的存储资源
FC应用范围:
- 由于FC不具备背景存储区,因此FC常用来做为子程序入口使用,保持程序简介易懂, 易复制;例如:工艺段1程序全部放在FC1里面,再由FC1调用相应程序;工艺段1程序全部放在FC2里面,再由FC2调用相应程序;
- 用于执行不含逻辑运算或公共部分程序的功能,例如:处理IO映射、报警程序处理
- 由输入“直接”到输出的逻辑功能块,直接即中间不需要使用临时变量,只在输入和输出之间传递参数的功能;例如:将1个16位word转化为16个Bit输出功能,或将输入数据做等比例输入等功能;
FB应用范围:
FB应用范围较广,可完成所有FC实现的功能,但一般情况FB常用来作为某一类相同对象的控制功能块,然后在FC中调用FB;例如:可将FB应用于电机控制块,在FB中实现电机的启动,停止,报警,计时等功能,每个不同的背景DB即可看做一个对象;可大提高程序的设计效率;
- 西门子PLC如何控制伺服电机 2024-11-23
- S7-200 SMART与V90通讯定位控制 2024-11-23
- S7-200 SMART 下载时搜索不到CPU怎么办 2024-11-23
- S7-200 SMART 数据类型及IO寻址问题 2024-11-23
- PLC编程常见逻辑错误 2024-11-23
- 在WinCC显示与1500的通信状态 2024-11-23
- S7-1200 和V20变频器的MODBUS通讯实例 2024-11-23
- 编程实例|详解西门子PLC模拟量编程 2024-11-23
- 【送】S7-200SMART 圆形轨迹的算法程序 2024-11-23
- PLC与各种传感器连接方案(含应用图) 2024-11-23
- PLC编程案例之控制机械手实现简单搬运 2024-11-23
- MCGS触摸屏与 S7-1200 以太网通讯 2024-11-23
- 【实用案例】博途V15动态加密计时催款程序 2024-11-23
- 【干货】FANUC机器人循环指令介绍 2024-11-23
- 这些PLC的编程算法,你都掌握了吗? 2024-11-23
联系方式
- 电 话:13922889745
- 经理:向小姐
- 手 机:18475208684
- 微 信:18475208684