在学习PLC的过程中经常会有说到数据类型这个概念,那到底什么是数据类型?数据类型有什么作用?在西门子200系列PLC中的数据类型有哪些?这些都是学习西门子PLC不等不掌握的内容?西门子plc中的数据类型知识点:
那到底什么是数据类型呢?数据类型又有什么作用呢?
数据类型是用来描述数据的长度(即二进制的位数)和属性的。在PLC中数据类型主要的作用在三方面:
一是对指令的选择,比如一个加法运算来讲,师使用整数的加法指令,还是使用双整数的加法指令或是使用实数的加法指令。
二是对存储器的寻址方式,数据类型的不一样,表示数据的大小也不一样,因此在选择存储器进行数据存储时要以不同的方式进行寻址,如以字节的方式寻址,字的方式寻址或是双字的方式寻址
三是决定了数据的显示方式,同样的一个8位的二进制数存储器存储的数据,你可以是ASCAII的方式进行显示,也可以是十进制的方式现在,同样一个32位的二进制数存储器存储的数据,你可以是双整数的方式显示,也可以是浮点数的方式显示,那具体是什么显示,就取决于数据类型。
数据类型分类比较多,在西门子PLC中,数据类型分为基本的数据类型、复杂的数据类型、参数数据类型、系统数据类以及硬件数据类型等,但对于S7-200系列的PLC来说,只支持基本的数据类型,那这里就先给大家介绍下基本的数据类型。
(1)BOOL:数据类型布尔,取值范围为0或是1,表示的是开关状态的断开或是接通,程序中的寻址方式以为的方式进行寻址如M0.0.对应的指令为触点或是线圈指令。
(2)Byte:数据类型字节, 8位的二进制数存储器,取值范围0~255,对存储的寻址方式为字节的方式进行寻址如VB0.对应使用的指令如MOV_B、WAND_B等。
(3)WORD:数据类型字,16位的二进制数存储器,取值范围0~65535,对存储器的寻址方式为字如VW10,对应使用的指令如MOV_W、WAND_W等。
(4)DWORD:数据类型双字,32位的二进制数存储器,取值范围0~4294967295,对应的寻址方式为双字的寻址方式,如MD0.对应使用的指令有MOV_D、WXOR_D、ROL_D等。
(5)INT:数据类型整数,16位二进制数存储器,取值范围-32768~32767,与WORD的区别在于WORD存储的是无符号数,而INT存储的是有符号的数,存储器的最高位表示符号位,0表示整数,1表示负数,后面的15位二进制数表示数据的大小,寻址方式也是以字的方式进行寻址,如:MW0.支持的指令有ADD_I、SUB_I等。
(6)DIN:T数据类型双整数,32位二进制数存储器,取值范围-214783648~214783647,与DWORD的区别在于DWORD存储的是无符号数,而DINT存储的是有符号的数,存储器的最高位表示符号位,0表示整数,1表示负数,后面的31位二进制数表示数据的大小,寻址方式也是以字的方式进行寻址,如:MD0.支持的指令有ADD_DI、SUB_DI等。
(7)REAL:数据类型为实数(又名浮点数),32位二进制数存储器,取值范围为-3.402823E+38~-1.175495E-38(负数)1.175495E-38~3.402823E+38(正数)寻址方式为以双字的格式寻址,如VD100.实数的存储方式为32位单精度数表示,由一位符号位,八位指数位和二十三位尾数位构成,如下所示:
(8)ASCII:数据类型字符或ASCAII。一个ASCAII需要8位二进制数存储器,一个汉字需要占用2个字节的存储器空间,寻址方式为字节选择,如:字符‘A’。存储到VB0中,则VB0的值存储内容为:
(9)string:数据类型字符串,字符串是有多个字符构成的,每个字符需要占用一个字节的存储空间,字符串存储器时,第一个字符表示的是字符串中的字符个数,如字符串”SMART”,存储到VB10中,则存储格式如下所示: