OPN指令的求解

OPN指令意思为使用打开数据块指令,可以将数据块作为共享数据块或背景数据块打开。可以同 时打开一个共享数据块和一个背景数据块。我的问题是:在OB1中调用FC的时候也需要打开DB么?如图,我的理解为调用FC时,直接CALL FC 就行了。为何前边要有个OPN DB?

图片说明:

OPN指令的求解   

最佳答案

用OPN DBx 后。你程序后面的FC用到该DB 里面数据,就可以省去DBx.DBX0.y 中 DBx.的前缀。从表面上看 ,对于你的程序编写来说 仅仅是省去了 DBx.的前缀。其实不然
第一:你采用全部寻址的方式时
每次进行 L DB1.DBW10  等类似操作时,CPU 都会执行一次OPN的 工作。

也就是 L DB1.DBW10
             L DB1.DBW 12
          <I
的指令
等同于
OPN DB1
L DBW10
OPN DB1
L DBW12
<I
当在使用DB1中的数据,前一次性打开OPN 数据块DB1 就可以避免重复打开DB1的过程
OPN DB1
L DBW10
L DBW12
<I

第二:采用OPN 打开某个DB后,也方便 间接寻址的 程序编写。

提问者对于答案的评价:
谢谢nile

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午4:21
下一篇 2018年12月1日 上午4:21

相关推荐