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