西门子plc数据传送计算问题
如果设VD0初始值为0LDSM0.0MOVW1VW1那么这时VD0中的数值是多少?怎样计算的?...
如果设VD0初始值为0
LD SM0.0
MOVW 1 VW1
那么这时VD0中的数值是多少?怎样计算的? 展开
LD SM0.0
MOVW 1 VW1
那么这时VD0中的数值是多少?怎样计算的? 展开
4个回答
展开全部
在西门子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又是由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组成的
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光...
点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
展开全部
VD中的数据为1,因为VD0由VW0和VW1组成。而西门子受ARM存储方式为高位在前,因此,VW1 是VD0的低字,因此VD0 为1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
来学习学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VD0 应该是vw0和vw2组成。但是这个值也是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询