FB块以stat的形式在另一个fb块中调用的问题

已锁定

kenshinguo

  • 帖子

    719
  • 精华

    3
  • 被关注

    14

论坛等级:侠圣

注册时间:2004-03-16

普通 普通 如何晋级?

FB块以stat的形式在另一个fb块中调用的问题

725

1

2007-08-23 09:43:23

关于在FB2的Stat中定义调用FB1的问题。
FB1是用stl编写的一个CRC查表校验程序,表以array的形式存放在STAT变量中,起始地址为P#8.0,由于是查表,程序中肯定会用到间接寻址。
在别的程序中,用call fb1,db1调用,使用单独的背景数据块不会出现问题。
但是,例如,在FB2的STAT里定义一个FB1,用CALL #FB1的话,因为是共用一个背景数据块,FB1在FB2的STAT里本来就有一个偏移地址,这样就不行了。
当然,我可以人为的把这个偏移地址加到FB1的程序里去,但是这样FB1就没有封闭性,也不能移植。想问一下大家,如何在FB1的程序里,彻底的解决这个问题。

我试过用SCL,因为SCL可以直接用CRC_BUFF[x],这样的寻址方式,系统会自动帮你校正偏移,程序是可以做的,而且运算的实现方式也比STL来得简单的多。但是相比stl有一个弱点,就是对STAT变量的初始化,scl对stat的初始化是有数量限制,而crc的一张表就有512个字节,若是人为初始化的话,占的程序量又太大了。


两难,希望大家能帮帮我
FB块以stat的形式在另一个fb块中调用的问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54660条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。