大数跨境

组织块(OB)、函数(FC)、函数块(FB)与数据块(DB)初识

组织块(OB)、函数(FC)、函数块(FB)与数据块(DB)初识 中研高科
2026-02-28
2


1 程序块的“四个家族”

TIA Portal中,用户程序由四种基本块构成,它们分工明确:

块类型
英文全称
核心特征
典型用途
OB
Organization Block
由操作系统调用,固定周期或事件触发
主程序、循环中断、硬件中断
FC
Function
无静态存储区,临时变量
通用算法、数学计算
FB
Function Block
拥有背景DB,可存储静态变量
设备控制、状态机
DB
Data Block
纯数据存储区
全局共享数据、配方

2 组织块(OB):程序的入口

OB1(主组织块) 是每个S7-1200/1500项目的灵魂。

它由操作系统在每个扫描周期自动调用一次。

若OB1不存在或为空,PLC不会执行任何用户程序。

除OB1外,S7-1200还支持多种事件驱动型OB:

  • 循环中断OB(如OB30):固定时间间隔执行,用于PID调节、高速计数采样。


  • 硬件中断OB(如OB40):输入信号上升/下降沿触发,响应时间微秒级。


  • 错误OB(如OB80、OB82):当PLC检测到编程错误、模块故障时自动调用,可在此编写故障处理程序。

重要概念高优先级OB可以中断低优先级OB。例如,循环中断OB30执行期间,若发生硬件中断,会暂停OB30先去执行OB40,执行完再返回OB30。

3 函数(FC):无记忆的逻辑盒

FC类似于高级语言中的函数。

它接收输入参数,执行逻辑,返回输出结果。

FC自身不保存数据,每次调用时,形参被赋值为实参的值,临时变量在调用结束后释放。

典型应用场景

  • 数学计算(如平均值、比例换算)

  • 通用逻辑(如二进制转BCD码)

  • 无状态的控制逻辑(如按钮去抖)

接口定义:FC的变量声明表中包含InputOutputInOutTempReturn等区段。

Temp变量仅在此次调用中有效,初始值不确定,必须赋值后读取

4 函数块(FB):有记忆的控制器

FB是西门子PLC编程的精髓。

它与FC的最大区别在于拥有静态存储区——每个FB必须搭配一个背景数据块(Instance DB),用于保存FB内部的静态变量(Static)。

静态变量在FB调用结束后保持值不变,下次调用时仍然存在。

典型应用场景

  • 电机的启停控制(需记忆当前状态)

  • 阀门的位置控制(需记录开关次数)

  • PID控制器(需记忆积分项)

背景DB:每次调用FB时,系统为该调用分配独立的背景DB(也可手动指定)。

这意味着同一个FB可以被多个设备复用,互不干扰。

例如,FB1是“电机控制”,调用两次生成背景DB1(电机1)和DB2(电机2),数据完全隔离。

5 数据块(DB):变量容器

全局DB:所有程序块均可访问的数据区。

用于存储全局工艺参数、配方、计数器、报警信息。

全局DB不隶属于任何FB,用户可自由定义变量。

背景DB:自动生成,只被其对应的FB访问。

背景DB的结构由FB的静态变量决定,用户不可修改其数据结构,但可在线修改数值。

数组与结构体:TIA Portal支持在DB中定义复杂数据类型,如ARRAY[0..9] OF IntSTRUCT

这些高级特性是构建现代大型程序的基石。


【声明】内容源于网络
0
0
中研高科
10多年机械工程师教授工厂企业机械制图、机械设计正真的实战性机械设计制图,绘图软件、公差、设计理念相结合模式授课,我们的工程师会毫不保留的把他的设计理念、绘图经验一一传授给你,让你在短期内达到一个理想的机械设计员。
内容 879
粉丝 0
中研高科 10多年机械工程师教授工厂企业机械制图、机械设计正真的实战性机械设计制图,绘图软件、公差、设计理念相结合模式授课,我们的工程师会毫不保留的把他的设计理念、绘图经验一一传授给你,让你在短期内达到一个理想的机械设计员。
总阅读77
粉丝0
内容879