S7-200PLC中的VB,VW

为什么存入VW10,却用的是VB11?
为什么取VB11的高四位的时候,先用了一个除法,除法的作用是什么?就算VW10除以16出来VB20,怎么后面又用VB21了?完全不懂这里面VW,VB的前后关系。
本人完全新手啊,请用最初级的话解释并举例,谢谢!

为什么存入VW10,却用的是VB11?

VW 中的W表示WORD  VB中的B表示BYTE  一个WORD由两个BYTE组成。

例 如十进制的9999这个数,用16进制表示是270F  VW10=270F   

VW10=270F  VB10=27   VB11=0F

 

270F

9999=39(16进制27)*16*16 +  0*16+F(10进的15)

VW10          VB10                          VB11


为什么取VB11的高四位的时候,先用了一个除法,除法的作用是什么?

高4位的表示已经乘过两个16    比如 100 这个十进数  可以理解这个1是 1*10*10


就算VW10除以16出来VB20,怎么后面又用VB21了?完全不懂这里面VW,VB的前后关系

VW10除以16以后的值不仅是VB20,而是VW20, VW20包含VB20 和VB21。



温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-05

1、数据保持功能可以在系统块中进行设置,需要注意的是系统块编辑之后只有下载到PLC之后才会生效。

2、V区的保持特性与数据类型无关,无论VB、VW还是VD都一样。

3、“断电之后再上电数据就会改变”这更像是程序自身的问题,请检查数据内,程序里是否有相应的初始化,以及程序里有没有开机就会执行的程序给数据位赋值了。

4、C可以在系统块里设置保持功能。

5、应用S7-200时,可以选用以下几种数据保持方法:、CPU的内置超级电容,断电时间不太长时,可以为数据和时钟的保持提供电源缓冲、CPU上可以附加电池卡,与内置电容配合,长期为时钟和数据保持提供电源、设置系统块,在CPU断电时自动保存M区中的14个字节数据、在数据块中定义不需要更改的数据,下载到CPU内可以永久保存、用户编程使用相应的特殊寄存器功能,将数据写入EEPROM永久保存、上述前三个数据保持功能都是在“系统块-数据保持”中设置。

6、详见西门子官方文档:见《西门子S7--200的数据保持问题》下载:http://www2.ad.siemens.com.cn/download/Upload/AS/faq/F0424.pdf

本回答被网友采纳
第2个回答  2013-07-19
VW10 的低 8 位是 VB11,高 8 位是 VB10。这是西门子 PLC 地址的规定,也是俗称的地址大端设计。