登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:西门子FB块中还有功能块,怎样实现的块与块的参数传递的?
点击:3788 回复:7
楼主
编辑
引用
管理
jiouai84
请教问题如题所示,在FB功能块中还有自定义的功能块,那么自定义的功能块的数据是如何传到FB块内呢。还有就是图片中P#DBn.dbx ,表示的是指针指向的名为N的数扰块的第X位对吗?
18-03-03 16:52
1楼
编辑
引用
管理
cvlsam
1、块与块的数据交换可以通过IN,OUT,IN_OUT引脚来交换,最垃圾的方法是通过全局变量交换,这种方法原厂工程师是不会做的,这破坏了块的移植性。
2、P#DBn.dbx ,表示数据块的首地址,实际上完整的用法是
P#DBn.DBX Byte(Int) x
Good Luck~
18-03-03 18:22
2楼
编辑
引用
管理
w71412659
还是C版解释专业。我再补充一句,P#DBn.dbx ,这种用法,你可以看看DB块对应的地址点是不是写了数据结构,这个看懂你就明白了。
18-03-03 23:22
3楼
编辑
引用
管理
jiouai84
谢谢您的回答,我想再问下,fb功能块中还有功能块,如图片上的就是fb块中的功能块,那这个块的比如图片上的LT的输出,给的地址就是p#db399.dbxn,而fb块的背景数据块是db309,那这个数据怎么给fb块的数据块呢?我看了fb块的in out in_out都是空的,只有stat才有数据地址,
18-03-04 06:57
4楼
编辑
引用
管理
jiouai84
是的,您说的是对的,确实是数数据结构,那这个意思是不是就是指的是指向了数据结构的首地址
18-03-04 07:09
5楼
编辑
引用
管理
cvlsam
引用
jiouai84
在 2018/3/4 6:57:25 发言
【内容省略】
这就是西门子的问题了,不通过上面的IN,OUT,IN_OUT传递变量值,而是通过全局变量传递,背景数据块虽然对应与FB,但是在西门子中,通过绝对地址仍然可以访问背景块中的数据,相当于全局变量的访问。
所以,在西门子博图中,已经将默认的这种方式改为非默认的,之所以不彻底断了这种方式是为了兼容以前的编程方式。
所以,你如果编程,应该通过IN,OUT,IN_OUT这种方式传递数据,这样也可以在使用其他厂牌的编程时保持良好的移植性。
Good Luck~
18-03-04 08:38
6楼
编辑
引用
管理
乌龟船长
看得挺眼熟的 雷诺的?
18-03-04 09:05
7楼
编辑
引用
管理
865734009
变频器通讯里的状态字和控制字不就是这么用的吗?
18-06-11 15:41
工控新闻
官宣!拓斯达全球研发总部基地正式启用
汇聚热爱 驱动未来!第二届“汇川杯”全国智能自动化创新大赛总决赛,苏州见!
“西门子杯”中国智能制造挑战赛华北三赛区赛事闭幕
柯马完成对Automha的收购,进一步巩固双方在先进物流自动化领域的领先地位
摩尔斯微电子携手Airfide在日本COMNEXT展会推出Wi-Fi HaLow占用传感器
施耐德电气第二季度财报出炉 坐收“AI红利”
达索工业软件项目公司揭牌 南京智能制造迈上快车道
斥资超1亿元,铭普光磁拟收购深圳ABB电动交通科技有限公司60%股权
更多新闻资讯