发布于 2013-10-17 21:36:42
17楼
数据类型是什么?
数据类型是什么?数据类型是人为规定的数据的属性。在计算机和PLC中,数据实际上以二进制数的形式储存。按长度分为1位、8位、16位、32位的二进制数据。
除了数据的长度,数据类型包含了更多的内容,例如32位的数据类型有双字、32位整数、Time、浮点数、TIME_OF_DAY等。
数据的数据类型需要在符号表、块的局部变量表中定义,因此数据类型是人为指定的数据的属性。
指令和块的输入、输出参数的实参的数据类型必须与对应的形参要求的相同,否则程序将会出错。
OB40的参数OB40_MDL_ADDR的数据类型为WORD,不能直接用于要求数据类型为INT的整数比较指令。怎样解决这一难题呢?在梯形图中,可以用MOVE指令把OB40_MDL_ADDR的值传送给没有定义数据类型的一个绝对地址,例如MW10,MW10就可以用于比较指令了。MW10并没有因此自动获得数据类型INT,只是CPU“认为”MW10中的数据类型是INT,CPU被我们蒙骗了!
我见过不良小贩把白色的小鸡染成五颜六色来骗小孩,放到水里一洗,小鸡的彩色就消失了。如果把小鸡看成数据,染的颜色就是数据类型。把定义了数据类型的数据装入绝对地址MW10或累加器(累加器也是一个特殊的绝对地址),数据类型的属性就被剥去了,只剩下赤裸裸的数据,就像小鸡的颜色被水洗掉了一样。这时就可以把数据当作规定了长度的各种数据类型来使用。
追求完美