更改共享DB块的数据结构时,需要注意些什么?

如果修改全局数据块的结构,通常情况下无法进行增量下载。以下是两个修改全局数据块结构时,如何防止CPU STOP的例子:

  • 共享数据块通常被用来在不同控制器之间进行数据交换。使用 "BSEND" (SFB12)和 "BRCV" (SFB13) 功能块可以传输某个区域或整个数据块的数据。
  • 功能块 "BLKMOV" (SFC20) 可以用来在控制器内部拷贝文件,可以使用全局数据块作为源或目标。

如果修改全局数据块的结构,并在下载更改的过程中,增量下载中止并提示如下错误消息:"The interface of block type DBxxx has been changed. Download the complete program!"。

更改共享DB块的数据结构时,需要注意些什么?

图 01

用户通常必须通过下载整个程序的方式方能排除该错误消息,但此方式需要CPU停机

接下来,将描述针对全局数据块,那些修改是可以在不使用完全下载、停机的情况下实现的。

示例
该示例可能发生在某些调试场合,现场的某个子系统正在使用过程中,不能停机。但需要扩展和另外子系统之间的数据交换。也就是说,在CPU不停机的情况下,需要扩展PLC-PLC之间通讯的全局数据块。

序号. 步骤

1

在数据块末尾扩展数据区

  • 在Component View (offline) 视图下,双击数据块,打开编辑器 (例如 LAD/STL/FBD) 。
  • 在数据块末尾添加新数据区域。
    警告
    不要对程序已经读取的数据区域进行任何结构的改变,否则,可能会导致无法预料的错误。
  • 保存更改(扩展)的数据块。
  • 下载该数据块到控制器。
    注意
    直接在编辑器下下载数据块。默认从Component View下Block Folder中选择数据块下载的方式不可选。因为项目属性对话框"Properties - Project"中,选择项目的类型"Use"为"PCS7"。
  • 关闭数据块编辑器。
2 更改CFC图表(PCS 7)
在所有读取该全局数据块的CFC图中至少一处进行过修改。这样的话,刚才被修改的数据块才会被程序下载。

注意
当使用通讯功能块 "BSEND"和 "BRCV" 来实现 PLC-PLC 之间的通讯时,必须修改发送功能块"BSEND" 的 "LEN" 参数

t如果在PCL程序中使用 "BLKMOV" 功能块来读取修改过的全局数据块时,你需要对当前CFC进行小的修改,例如,加入一个 "AND" 功能块,然后再删除。

通常情况下,全局数据块中新创建的数据区域需要提供变量值,因此,可以在CFC中相应功能块的输出端上连接该数据块的变量。

3PCS 7注意事项
执行仅更改编译和增量下载。

STEP 7 V13注意事项

当未使用的结构被修改(删除或添加)时, S7执行重新初始化,所以CPU不会进入STOP。

表 01

关键字:
功能块接口

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc322928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论