B,W,D,字节8个位,字16个位,双字32个位,如32为的双字MD0就包含MW0.MB0,具体到位就是从M0.0-M3.7.
16位的字有INT,后WORD,二者的区别就是强者有符号位,可以表示正负数,范围为-32768~32767,而后者是没有符号的范围0~65535;
32位的双字有DINT,DWORD,REAL,表示的数据范围不同及数据类型不同,可以通过编程软件内数据转换指令各个数据之间是可以转换的。
根据编程需要选用数据类型,想显示数比较大就尽量选择32为数了。
此外要注意一个问题就是全局变量如M数据区,如MD0这个32位的数据,不定义符号名时,直接使用时,可以是双整数也可以是双字,也可以是浮点数,如果定义了符号名就只能是一种数据类型了。
INT(整数)16有符号整数-32768~32767;
WORD(字)无符号整数0~65535;
DINT(双整数)32有符号整数-2147483648~2147483647
DWORD(双字)无符号整数0~4294967295;
REAL(实数)IEEE32位单精度浮-3.402823E+38~-1.175495E-38(负数);+1.175495E-38~+3.402823E+38(正数)
如上的所述,数据的类型对存储的大小是有要求的,有的数据可以用到B,有的数据要用到W,而有的数据必须用D。比如说实数就要用到D,在比如一个数据的量超过了65535就要用到D了,W就不够了。