登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:西门子FB块中还有功能块,怎样实现的块与块的参数传递的?
点击:3786 回复: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
工控新闻
湖北全球“灯塔工厂”再升级
埃斯顿自动化携手华晟经世,共创智能制造服务新生态
中国移动AI+新型工业化创新研究院正式成立
重磅!5.2亿元智能制造基地投产
东土科技旗下子公司获2.8亿元战略投资,国产操作系统生态加速成型
工业AI迈向“知行合一” 具身智能重构制造边界
台达位列中国企业社会责任发展指数前十 连续六年获颁“杰出责任企业”
我国工控产业自力更“胜”
更多新闻资讯