作业帮 > 综合 > 作业

西门子plc数据传送计算问题

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/08 19:12:41
西门子plc数据传送计算问题
如果设VD0初始值为0
LD SM0.0
MOVW 1 VW1
那么这时VD0中的数值是多少?怎样计算的?
西门子plc数据传送计算问题
在西门子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;
再问: VW0不都是一个字吗?而VD0是一个双字,那VD0不是应该由VW0和VW1组成的吗?为什么会是VW0和VW2组成的呢?
再答: VD0是由VW0和VW2组成的, 因为VW0是VB0和VB1组成,VW2由B2和VB3组成, 注意,VW1是由VB1和VB2组成 综上所述,如果VD0是由VW0和VW1组成,那么你会发现,他们共同用了VB1, 所以VD0是由VW0和VW2组成的