西门子plc数据传送计算问题如果设VD0初始值为0LD SM0.0MOVW 1 VW1那么这时VD0中的数值是多少?怎样计算的?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 01:50:00
西门子plc数据传送计算问题如果设VD0初始值为0LD SM0.0MOVW 1 VW1那么这时VD0中的数值是多少?怎样计算的?

西门子plc数据传送计算问题如果设VD0初始值为0LD SM0.0MOVW 1 VW1那么这时VD0中的数值是多少?怎样计算的?
西门子plc数据传送计算问题
如果设VD0初始值为0
LD SM0.0
MOVW 1 VW1
那么这时VD0中的数值是多少?怎样计算的?

西门子plc数据传送计算问题如果设VD0初始值为0LD SM0.0MOVW 1 VW1那么这时VD0中的数值是多少?怎样计算的?
在西门子PLC中,VD0是由VW0和VW2组成,而VW0是高16位,VW2是低16位,
其中VW0又是由VB0和VB1组成,其中VB0是VW0的高8位,VB1是VW0的低8位,
其中VW2是由VB2和VB3组成,其中VB2是VW0的高8位,VB3是VW0的低8位,
VB0是由8个位组成的,其中VB0.0是最低位,VB0.7是最高位
VB1也是由8个位组成的,其中VB1.0是最低位,VB1.7是最高位
VB3和VB4的规律同上
那么VD0就是由VB0,VB1,VB2,VB3,组成的,VB0是最高8位,VB3是最低的8位
用位来表示就是,VB0.7-VB0.0 ,VB1.7-VB0.0 ,VB2.7-VB2.0 ,VB3.7-VB3.0
可以看到VB0.7是VD0的最高位,VB3.0是VD0的最低位,共32位
那么按照你的问题,将1这个数值传到VW1中,由于VW1是由VB1(高8位)和VB2(低8位)组成,所以这个1是被存储在VB2的最低位,也就是VB2.0这个位上,
那么这时你看VD0的数值用16进制数应该是16#00000100;(注意16进制每两个数占用1个VB字节)
10进制数就是256;

VD0 应该是vw0和vw2组成。但是这个值也是1

VD中的数据为1,因为VD0由VW0和VW1组成。而西门子受ARM存储方式为高位在前,因此,VW1 是VD0的低字,因此VD0 为1。

来学习学习