超好理解|一文搞懂数值在CPU是如何存储的
导读
我们都知道PLC是一台工业微型计算机,因此所有的数据在PLC中都是以二进制数的形式存储,因此不同的数据类型所存储的数据不同,同时根据不同的数据,所能表示的二进制位也有所不同。
应用举例
下面通过一个例子充分理解数据的存储方式。
例:若V3.5=1,V1.0=1 VB2=10 VB0=5
求V0.1=?、V2.3=?、VB1=?、VB3=?、VW0=?、 VD0=?
1求V0.1的值
VB0有V0.0-V0.7八个位组成,其中V0.0为低位,V0.7为高位;根据已知条件VB0=5,因此把每个位以二进制格式展开后,再采用位权的方法以十进制的形式进行展开排列,此时便知道每个位的值是多少,VB0=5,则V0.0和V0.2为1。如图1-35所示得知V0.1=0。
图1-35 数据排列
2求V2.3的值
V2.3为VB2中的一个位,VB2有V2.0-V2.7八个位组成,根据已知条件VB2=10,因此把每个位以二进制格式展开后,再采用位权的方法以十进制的形式进行展开排列,此时便知道每个位的值是多少,VB0=10,则V2.0和V2.3为1。如图1-35所示得知V2.3=1。
3求VB1的值
VB1有V1.0-V1.7八个位组成,根据已知条件V1.0=1,因此把每个位以二进制格式展开后,再采用位权的方法以十进制的形式进行展开排列,此时便知道每个位的值是多少,V1.0=1,则只有V1.0一个位为1。如图1-36所示得知VB1=1。
图1-36 VB1数据排列
4求VB3的值
VB3有V3.0-V3.7八个位组成,根据已知条件V3.5=1,因此把每个位以二进制格式展开后,再采用位权的方法以十进制的形式进行展开排列,此时便知道每个位的值是多少,V3.5=1,则只有V3.5一个位为1。如图1-36所示得知VB3=32。
5求VW0的值
VW0有VB0和VB1两个字节组成,已知条件VB0=5、V1.0=1,根据上述的结果把每个字节中的每个位以二进制格式展开,再采用位权的方法以十进制的形式进行展开排列,此时便知道每个位的值各是多少,如图1-37所示得知VW0由1024+256+1组合,最终VW0=1281。
图1-37 VW0数据排列
注意:当涉及到多字节组合寻址时,遵循“高地址,低字节”的规律。因此VB0是高地址、低字节。
6求VD0的值
VD0有VB0、VB1、VB2、VB3四个字节组成,已知条件V3.5=1,V1.0=1 VB2=10 VB0=5,根据上述的结果把每个字节中的每个位以二进制格式展开,再进行4个二进制为一组进行8421BCD码换算成十进制数,如图1-38所示得知最终VD0=16#5010A20。
图1-37 VD0数据排列
总结
1、通过上面的示例我们能够发现,一个32位的存储器中会包含16位的字、8位的字节、以及一个BOOL位,因为在使用过程中需要特别注意地址的重叠。
2、当我们想导通某一个位或几个位时,写入对应字至存储器中就会有相应的输出。
3、在西门子的寻址方式中,遵循的是高地址低字节,比如VW0,VB0是低字节,但是属于高地址。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取电气热门资料?
操作指引如下!
[注:本文部分图片来自互联网!未经授权,不得转载!每天跟着我们读更多的书]
互推传媒文章转载自第三方或本站原创生产,如需转载,请联系版权方授权,如有内容如侵犯了你的权益,请联系我们进行删除!
如若转载,请注明出处:http://www.hfwlcm.com/info/121179.html