处理器/DSP
导读
我们都知道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是低字节,但是属于高地址。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !