欧姆龙PLC 请知道的朋友帮忙解释一下这个指令到底是怎么算的

如题所述

MOVD是将源字的低m个数开始的n个数传送至I开始的目的通道中(一个数占用四位,即一个十六进制数)。

例子1:

你图片中的 MOVD 8 #101 DM700,实际的运动过程是:假设8通道中是#1234 你的控制数据是#101【根据下面的格式对应是将S中第一个数(#3)开始的1个位(#1234中的#3)传送至目标通道的第一个数,结果为#0030,通俗的说就是把源字8CH里面的第一个数(#1234中从右往左依次为第零位、第一位、第二位、第三位)#3提取出来,放在目标地址DM700中的第一个位,DM700中其他的位都为0,所以结果为#0030】

例子2:

假设是 MOVD D100 #113 D102,那么运算过程为:假设D100为#7894,根据控制数据,我们知道要将D100的第三位(#7)开始的两个位(即#47,注意:如果指定位时大于3会循环到第一位)提取出来放到目标地址D102第一位开始的两个位,结果为D102中数据为#0470.

追问

不好意思朋友,你前面解释的我好像是看明白了,但是我想不通,上面的D102的值都不知道是多少怎么从“第一位开始的两个位,结果怎么就成了#470。”

追答

#7894如果循环的话其实很简单,和下面的图一样:
7
↗ ↘
4 8
↖ ↙
9

温馨提示:答案为网友推荐,仅供参考
相似回答