登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:新手看程序。。求助!!!

点击:937 回复:5

各位大佬,请教一下:如图1所示程序,将ZR0的地址存储在D17中,这样是只有ZR0的地址存储在D17中,还是ZR1、ZR2等等都顺次存储?
如图2所示程序,又将D17所存储地址中的数据存储在D20中,这里采用BMOV 160个单元,那么这160个单元是指160个地址(80个数据),还是160个数据,又或者是别的意思?还有为什么圈圈里的数据会不一样呢?
新手看程序,求解答!!!
附件 1.jpg
附件 3.jpg
17-11-07 21:16
注意16位和32位……
17-11-08 08:42

引用 fei8665688 在 2017/11/7 21:16:42 发言【内容省略】

1、ADRSET指令将ZR0在内存中的地址保存在D17中。仅仅是ZR0的地址,请注意是地址。
2、两个32位数据乘法的结果占据的是64位数据存储空间,即您的程序中D*  D12 K8 D15的结果是占据D15~D18这4个字,因此您的程序中发生了地址重叠,从而导致结果不是理想的结果。
HAVE FUN!
17-11-08 08:44
D17、D18这两个字存储ZR0的地址是这样吧?
另外请问 BMOV @D17 D20 K160 这个命令的操作结果是什么呢?
17-11-08 22:37

引用 fei8665688 在 2017/11/8 22:37:30 发言【内容省略】

Q1:D17、D18这两个字存储ZR0的地址是这样吧?
A1:前面我已经回答过了,D17存储的是ZR0在内存中的地址。
Q2:请问 BMOV @D17 D20 K160 这个命令的操作结果是什么呢?
A2:抛开目前的程序而言(因为你的程序D17的值已经不可预测了),该指令执行的结果是将从ZR0开始的160个字的内容存放入从D20开始的160个字内。
HAVE FUN!
17-11-09 08:39
谢谢您的解答!
17-11-09 19:02

工控新闻

更多新闻资讯