技术论坛

step 5.5中在OB1里引用FB块的费解的问题

作者 主题
游士

经验值: 213
发帖数: 31
精华帖: 1
主题:【探讨】step 5.5中在OB1里引用FB块的费解的问题


只看楼主 楼主 2020-11-01 09:56:29

如图,先编写了一个FB块FB191,设定好了IN和INOUT的接口,其中IN的接口IN0,IN17为Struct类型,其中IN0下属的IN1-IN16都是bool量,IN17下属的IN18-IN37都是real量。INOUT的接口IO39也为Struct类型,下属的IO40,IO44,IO48,IO52,IO56,IO60,IO64,IO68也都为Struct,每个接口都是一样的组成,如IO40下属IO41的real量,IO42的real量,IO43的Word量。

之后建立了全局DB块DB10000,在里面的DBX46.0,DBX126.0,DXB128.0分别建立了对应的Struct类型和下属的数据类型,用来对应IN17,IN0,IO39。

然后在OB1里面调用了FB191,背景数据块用的DB10002,随即系统自动建立了DB10002.但是除了数据类型为any的接口IN38没问题外,其他的三个接口都报错了,下面的报警提示没有显示任何错误代码。请问这个是哪出错了?

我每写完DB和FB,都会编译一次的。






 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1648805&b_id=4&s_id=0&num=2

侠客

经验值: 758
发帖数: 148
精华帖: 0
回复:step 5.5中在OB1里引用FB块的费解的问题


只看楼主 1楼 2020-11-01 12:38:27

指针寻址对共享数据块只支持符号寻址,它是通过符号也就是内存中类名索引DB地址,这就是与背景数据di的不同之处(背景数据块继承原FB).


QQ群:336416617
以下网友喜欢您的帖子:

  
游士

经验值: 213
发帖数: 31
精华帖: 1
回复:step 5.5中在OB1里引用FB块的费解的问题


只看楼主 楼主 2楼 2020-11-02 21:27:24
以下是引用Mr.小孙在2020-11-01 12:38:27的发言 >1楼

指针寻址对共享数据块只支持符号寻址,它是通过符号也就是内存中类名索引DB地址,这就是与背景数据di的不同之处(背景数据块继承原FB).

//老版本的step7是不是支持的?因为我从另外一台同样设备的PLC上upload上来的就是这么写的,设备里面相关功能也能正常运行。但是upload上来的程序,只要我在OB1的这个地方做了任何改动,再修改回来就不行了。怀疑是不是原厂家是用老版本编写编译通过的,我用step7 5.5就不让了

是我搞错了。我刚才用符号寻址输入IN0 := DB10000.STAT108,等等,没有报错编译通过了,等我保存后再打开,就自动变成IN0 := P#DB10000.DBX126.0 BYTE 2 了。所以也就是实际编程的时候是用的符号寻址,但是保存后再打开就自动变了。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
step 5.5中在OB1里引用FB块的费解的问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。