db块中数据类型定义问题
郑志武
发布于2013-03-05 16:45
5
0
标签:
建立db块的时候,定义db块中的数据类型时,有点糊涂了,比如db1.dbx0.0、db1.dbx0.1、db1.dbx0.2、db1.dbx0.3.......或db1.dbb0、db1.dbb1、db1.dbb2、db1.dbb3.......或db1.dbw0、db1.dbw2、db1.dbw4.......或db1.dbd0、db1.dbd4、db1.dbd6.......这样定义db块中的数据,以上几种方式有什么区别呢?比如我想用db1.dbx0.0这个变量,以上5中定义方式有区别吗,
佳答案
首先明确的是无论你如何定义db里的变量,db区域内的地址都是可以被访问的。
然后你给的4种方式定义的是db里变量的长度,无论长度如何指定,在用db1.dbx0.0这个变量时没有任何区别。
即使你以双字指定了长度,你在程序中任然可以访问其所包含的任意的“位”、“字节”、“字”。
只要注意地址覆盖的问题,即dbd0=dbw0+dbw2=dbb0+dbb1+dbb2+dbb3=dbx0.0+dbx0.1+...+dbx3.7
如果你使用了dbx0.0,那么dbd0、dbw0和dbb0就都不要用了,应为他们都包含了dbx0.0
另外提一句,指定的数据类型不同,会影响变量的使用。
同样是双字dbd0如果定义为dint,但在程序中如果要使用real型变量,那么你填dbd0就会报错。