关于在FC里使用STL的OPN指令打开数据库作为背景数据块的疑问

各位老师,我看到有人在FC块里使用STL指令OPN打开数据块作为背景数据块,如: OPN    DI20
在我的概念里,只有FB才有背景数据块啊,怎么FC也有背景数据块吗?

最佳答案

1、只有FB才有背景数据块啊,怎么FC也有背景数据块吗?
在STEP7中的OB,FB,FC块均可应用DB共享数据块与DI背景数据块。在FB中指定一个DI背景数据块是用来作为传递参数的,但在OB、FB、FC程序中也可应用OPN语句来打开一个背景数据块,其用图与用OPN语句来打开一个共享数据块相同。
2、转帖:程序中同时打开两个数据块,该如何操作?
STEP7中有两个数据块寄存器:
DB:共享数据块;
DI:背景数据块。
因为打开一个DB块的时候系统会自动关闭另一个DB块.如果需要在同一个程序块中同时打开两个数据块,则用一个DB一个DI.。
例如你在程序中连续写下:
OPN DB1
OPN DB2
则实际上打开了DB2(在打开DB2的时候系统自动把DB1关闭了),为了同时打开这两个块,你可以如下:
OPN DB1
OPN DI2
当使用DB1中的数据时可写DBW,使用DB2中的数据时写DIW。

提问者对于答案的评价:
非常感谢高手指点,另外,youhm的回答我觉得也很有道理:“看到DIW并不一定是访问的背景数据块,要看是否在FB里使用,是否使用了OPN  DI打开了其它数据块,不在FB里DB寄存器和DI寄存器使用没有区别”,可惜我只能选择一个最佳答案,在此也谢谢youhm 。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月1日
下一篇 2017年12月1日

相关推荐