FC 与 FB 与 OB 的区别,时间标记冲突与一致性检查 有详细的步骤

Posted bailongwei654321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FC 与 FB 与 OB 的区别,时间标记冲突与一致性检查 有详细的步骤相关的知识,希望对你有一定的参考价值。

关键字1 组织块的程序是由用户自己编写。

关键字2 时间标记冲突与一致性检查 有详细的步骤。

关键字3 FC 与 FB 与 OB 的区别?

?

(一)功能 功能块 区别 ?

FB 和FC均为 用户编写的程序。在他们的变量声明表中均有 IN OUT IN_OUT

和temp 变量 。

FC的返回值 Ret_Val 实际上属于输出参数。

?

下面是FC与FB的区别:

  1. 功能块有背景数据块,功能被哟背景数据块。只能在功能内访问功能的局部变量。

    其它逻辑块可以访问背景数据块中的变量。

(2)功能没有静态变量。(STAT),功能块FB 有静态变量。

(3)功能FC如果执行完以后需要保存数据 只能用全局数据区(例如 共享数据块和M区。)

(4)如果功能,功能块内不使用全局变量。只是用局部变量 则移植容易。

(5)如果功能块使用了全局变量,在移值得时候 需要重新统一 分配 所有块内使用的全局变量的地址。。以保证不会发生地址冲突。

(6)功能块的局部变量有初始值。功能FC的局部变量没有初始值。

调用功能的时候需要给所有的输入,输出参数制定实参。

?

(二)组织块OB 与FB 与FC 区别?

事件或者故障出现的时候,由操作系统调用对应的组织块,其它逻辑块是由用户程序调用的。

组织块没有输入参数,输出参数,和静态变量,只有临时局部变量。

组织块自动生成的20B临时局部变量包括触发组织块的事件有关的信息。见下表1

他们由操作系统提供。

组织块中的程序是用户编写的。

用户可以自己定义和使用组织块前20B之后的临时局部数据。

?

?

表1 OB的临时局部变量

地址(字节)

内容

0

事件级别与标识符 例如OB40的字节0为B#16#11(表示字节数据 16进制 值是0X11) 表示事件

1

用代码表示与启动OB的事件的有关信息

2

优先级 例如OB40 的优先级是16

3

OB的块号 例如OB40的块号 是 40

4~11

事件的附件信息

例如 OB40 的LB5是产生中断的模块的类型。

LW6为产生中断的模块的起始地址。

LD8 为产生中断的通道号。

12~19

OB被启动的日期和时间(年的低两位。月,日,时,分,秒,毫秒 星期)

?

上表中,表示每一组织块 都有一个临时局部变量区域 。上表举例是OB40的。

?

时间标记冲突与一致性检查(重要 有详细步骤)

?

假设我在 实训 24 的变量声明表中 新增加了输入变量 ADD

如下图

技术图片

然后 点击保存 FB1

提示一下错误 : 块接口地址冲突 警告信息

技术图片

?

双击 打开 OB1 提示 至少有一个块调用 有时间标记 冲突 如下图

技术图片

单击 确定按钮 打开以后 , 看到FB1的 方框 形参 ,实参 全部为红色 如下图

技术图片

?

关闭OB1 打开simatic 7 的管理器 选中 左边窗口 的 "块"

执行菜单"编辑"----"检查块的一致性"

?

技术图片

如下图

?

技术图片

?

从上图可以 看到 OB1 和DB1 左边的红色故障指示灯点亮

技术图片

?

点击工具栏 最左边的 的编译按钮,出现 要求关闭程序编辑器的"编译"对话框

技术图片

技术图片

?

点击 上图 的编译 开始 编译。

?

编译结束以后, 时间标志冲突被清除。 编译块的过程中 如下图

技术图片

编译结束以后 ,DB1和 OB1 左侧的红色指示灯熄灭

技术图片

?

?

重新打开OB1 红色方框以及 形参 实参 的红色消失、 同时 方框的左边出现了新增加的

输入参数 "ADD"

技术图片

?

如果 用上述方法 还不能自动清除 有时间标志冲突, 只能删除有冲突的块。然后重新调用修改参数以后的块。

?

该文章没有录制视频。

以上是关于FC 与 FB 与 OB 的区别,时间标记冲突与一致性检查 有详细的步骤的主要内容,如果未能解决你的问题,请参考以下文章

西门子PLC中FB和FC区别?

西门子300PLC的FB和fc的区别?

详解Oracle DELETE和TRUNCATE 的区别

西门子PLC,S7-300或者S7-400中的FB(功能块)怎么理解,怎么使用

Cookie 和 Storage API 区别与详解

求ISP SPI JTAG 三者区别 详解?