L DINO

L DINO                     在FC中看到的这条语句,不理解把哪一个背景数据块装个累加器1中呀?
T #tempDB
OPN DB[#empDB]

问题补充:
这个程序中没有DB2啊
400的站

最佳答案

L DINO 是吧 当前打开的背景数据块的号码 保存到累加器1中。背景数据块的号码 放在CPU的DB2寄存器中。
类似用法有L DBNO,把共享数据块 的号码放到累加器1中。

L DINO当然是 把当前的DB2寄存器里的DB块号码存放到累加器1中了。
哪些指令会改变DB2寄存器内容了?
比如
CALL FB1,DB100 后DB2寄存器内容=100
OPN DI100后DB2寄存器内容变为100。
还有程序中的语句中 用到DI数据块的地方指令也会改变DB2寄存器值。


所以要L DINO值是多少,就看离你FC程序最近的一次改变DB2寄存器的语句中,操作数的背景数据块是多少了


DB2是背景数据块 寄存器,原来存放背景数据块的DB号码,是CPU中的一个寄存器(!!!!并不是DB2数据块),它的名字叫DB2寄存器,同样还有DB1寄存器,原来放共享数据块DB号码,就像AR1和AR2寄存器一样。

提问者对于答案的评价:

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

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

相关推荐