fb静态区域_FC 与 FB 与 OB 的区别,时间标记冲突与一致性检查 有详细的步骤...

本文详细介绍了在PLC编程中,功能FC、功能块FB和组织块OB之间的区别,强调了FB的背景数据块、静态变量以及数据保存的特点。此外,还阐述了时间标记冲突及其一致性检查的步骤,包括在出现冲突时如何通过检查和编译来消除错误,确保程序的正确运行。
摘要由CSDN通过智能技术生成

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

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

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

(一)功能 功能块 区别 ?

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

和temp 变量 。

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

下面是FC与FB的区别:功能块有背景数据块,功能被哟背景数据块。只能在功能内访问功能的局部变量。

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

(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

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

4~11事件的附件信息

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

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

LD8 为产生中断的通道号。

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

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

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

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

如下图

然后 点击保存 FB1

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

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

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

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

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

如下图

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

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

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

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

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

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

输入参数 "ADD"

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

该文章没有录制视频。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值