关于西门子PLC MOV_W BLKMOV_W指令

第一个图,书上说定时器的预设值为16位的整数,故用字的传送,我看不懂20从十进制转换成二进制就是10100,才5位怎么就变成16位了?应该用MOV_B指令?第二个图字块传... 第一个图,书上说定时器的预设值为16位的整数,故用字的传送,我看不懂20从十进制转换成二进制就是10100,才5位怎么就变成16位了?应该用MOV_B指令?
第二个图字块传送,书上说是VW0对应VW100,VW2对应VW102,VW4对于VW104,为什么不是VW0对应VW100,VW1对应VW101,VW2对应VW102?
展开
 我来答
百度网友b8b3f90
推荐于2017-09-20 · TA获得超过1.5万个赞
知道大有可为答主
回答量:7179
采纳率:94%
帮助的人:3031万
展开全部
1、因为定时器T的预设值为16位字,所以采用MOV_W,虽然20的二进制为10100,实际上就是
0000 0000 0001 0100 ,当然,你采用MOV_B 将20传输给 VB5也是可以的,但是你需要确保VB4中的值为0.
2、因为西门子中,其地址序号是按字节来排列的,所以,VW100实际上是由VB100,VB101组成的,如果你直接使用了VW100,VW101,那么就会产生地址重叠的问题,VW100由VB100,VB101组成,VW101由VB101,VB102组成,地址会发生重叠,所以,为了避免由于地址重叠而造成一些逻辑错误,一般对于字的应用,采用偶数地址序号。
FANSCS
2015-05-18 · TA获得超过647个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:236万
展开全部
第一个问题:vw4 包含vb4和vb5 如果你只用movb指令给vb4赋值,那么vb5的值就是不确定的,最后你写到定时器T37的预设值就可能不是你期望的值。当然如果你确认vb4里本来就是0,那么直接给vb5赋值20也是没问题的。
第二个问题:你的块传送指令选的是按字传送,所以传送3次,要传送的是3个字。

通过这两个问题,能够知道,你还不清楚,一个字饱含两个字节的含义。
追问
第二个问题我还不是不懂,1字=2字节=16位,也就是1个VW等于=2VB=16B,VW0 VW1 VW2不是刚好对应VW100 VW101 VW102吗?
追答
vw0=vb0+vb1
vw1=vb1+vb2
vw2=vb2+vb3
3个word一共是4个byte,但是这里面有字节重合了。
而在这种word操作中,每次操作的是2个byte。总共应该是6个byte。
所以应该是
vw0、vw2、vw4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhhjkk99

2019-12-06 · TA获得超过1.1万个赞
知道答主
回答量:5.6万
采纳率:36%
帮助的人:1414万
展开全部
我的同行,留下联系方式,一起探讨。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友782081c

2019-12-06 · TA获得超过4548个赞
知道大有可为答主
回答量:2.2万
采纳率:87%
帮助的人:1045万
展开全部
光是听说,还没听说具体着呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式