码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-02-06 12:37:06      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:举例   共享数据   访问   包括   输入参数   指示   变量声明   自动   故障   

关键字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 的区别,时间标记冲突与一致性检查 有详细的步骤

标签:举例   共享数据   访问   包括   输入参数   指示   变量声明   自动   故障   

原文地址:https://www.cnblogs.com/bailongwei654321/p/12267979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!