您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Step7-数据类型详细说明总结汇总
STEP7中的基本数据类型⑴位(BOOL)位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语词TURE(真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W#16#FFFF。BCD码:BCD码的格式为C#,取值范围为C#0~C#999。BCD码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:B#(12,254)=2#0000_1100_1111_111012254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者B#(9,135)。在STEP7中,比较常用的是十六进制,即W#16#这种格式。⑷双字(DOUBLEWORD)数据长度为32位,双字的数据格式与字的数据格式相同,也有4种方式,分别为:二进制:取值范围为2#0~2#1111_1111_1111_1111_1111_1111_1111_1111。十六进制:取值范围为DW#16#0~DW#16#FFFF_FFFF。BCD码:取值范围为C#0~C#9999999。无符号十进制数:取值范围为B#(0,0,0,0)~B#(255,255,255,255)。⑸整数(INT)整数数据类型长度为16位,数据格式为带符号十进制数,16位中最高为符号位。正整数是以原码格式进行存储的,如+786,对应的二进制码为2#0000_0011_0001_0010,而负整数则表示为正整数的二进制补码,即对应正整数的二进制码取反后加1,例如负整数-786,对应的二进制码为2#1111_1100_1110_1110。将负零(1000_0000_0000_0000)定义为-32768因此取值范围为-32768~32767。0表示正,1表示负。⑹双整数(DOUBLEINT)双整数的数据类型长度为32位,数据格式为带符号十进制数,用L#表示双整数。双整数的二进制码与整数的换算方式一致,其取值范围为L#-2147483648~L#2147483647。⑺实数(REAL也叫浮点数Float)实数的数据类型长度为32位,是以IEEE浮点数格式转换为二进制数存储的,其取值范围为±3.402823e+38~±1.1755494e-38。实数用1.m×2E例如123.4可表示为1.234×102。式中:指数E=e-127(1≤e≤254)为8位整数符号位(S):S=0为正值S=1为负值规定尾数的整数部分总是为1,只保留尾数的小数部分m(0~22位)S=0指数:30位=12729位=02628位=02527位=02426位=02325位=02224位=12123位=020e=27+21=128+2=130E=e-127=130-127=3尾数m:22位=12-121位=02-220位=02-319位=02-418位=12-5m=2-1+2-5=0.5+0.03125=0.53125浮点数值=(1+0.53125)×23=1.53125×8=12.25用很小的存储空间(4个字节),可以表示非常大或非常小的数,PLC的输入和输出的数值大多是整数,实数的运算速度比整数的慢。(8)S5TIME(SIMATIC时间)S5TIME时间数据类型长度为16位,包括时基和时间常数两部分,时间常数采用BCD码(二~十进制格式)。S5TIME时间数据类型结构如下图所示:(9)IEC时间(TIME)IEC时间数据长度为32位,时基为固定值1ms,数据类型为双整数,所表示的时间值为整数值乘以时基。格式为:T#aaD_bbH_ccM_ddS_eeeMS其中aa=天数,bb=小时数,cc=分钟,dd=秒,eee=毫秒。根据双整数的最大值为2147483647,乘以时基1ms,可以算出,IEC时间的最大值为T#24D_20H_31M_23S_648Ms。使用IEC时间时,时基保持不变,且精度较高,为1ms。(10)IEC日期(DATE)IEC日期数据长度为16位,数据类型为整数,以1日为单位,日期从1990年1月1日开始,1990年1月1日对应的整数为0,日期每增加一天,对应的整数值加1,如23,对应1990年1月22日。IEC日期格式为D#_年_月_日,例如D#1992_12_2。取值范围为D#1990_1_1~D#2163_12_31。(11)日计时(TIME_OF_DAY)日计时是表示一天中的24小时,数据长度为32位,数据类型为双整数,以1ms为时基,取值范围为TOD#0∶0∶0∶0~TOD#23∶59∶59.999。(12)字符(CHAR)字符数据的长度为8位,字符采用ASCII码的存储方式。数据类型位数格式选择数制与范围布尔(BOOL)1布尔量0,1字节(BYTE)8二进制十进制2#0——2#111111110——255字(WORD)16二进制十进制十六进制2#0——2#11111111111111110——65535W#16#0——W#16#FFFF双字(DWORD)32二进制十进制十六进制2#0——2#111111111111111111111111111111110——4294967295DW#16#0——DW#16#FFFFFFFF字符(CHAR)8字符任何可以打印的字符整数(INT)16有符号十进制数-32768——+32767双整数(DINT)32有符号十进制数L#-214783648----L#+214783647实数(REAL)32IEEE浮点数上限:+/-3.402823e+38下限:+/-1.175495e-38时间(TIME)32IEC时间精度1msT#-24D_20H_31M_23S_6448MS——T#24D_20H_31M_23S_647MS日期(DATE)321天D#1990_1_1——D#2168_12_31日期(DATE)321天D#1990_1_1----D#2168_13_31每天时间(TOD)321msTOD#0:0:0.0---TOD#23:59:59.99系统时间(S5TIME)32S5时间,时基10msS5T#0H_0M_0S_0MS---S5T#2H_46M_30S_0MS复式数据类型数据类型说明日期时间DTDATE_AND_TIME定义64位区(8字节)。用BCD码存储时间信息:字节从低到高0--5分别对应年、月、日、小时、分、秒;字节6和字节7的高位对应毫秒,字节7低位对星期几字符串STRING可以定义254个字符。字符串默认大小为256字节(存放254个字符加两个字节的字头)。可以通过定义字符串的实际数目来减少欲设置,如STRING[7]‘SIEMENS’定义一种数据格式的数组数组ARRAY构造STRUCT定义多种数据类型组合的数组参数类型用于向FB和FC传送参数参数大小说明定时器(Timer)2字节指定执行逻辑块要使用的定时器如T4计数器(Counter)2字节指定执行逻辑块要使用的计数器如C3块Block_FBBlock_FCBlock_DBBlock_SDB2字节如:FB20FC101DB12SDB11指针(Pointer)6字节定义内存单元,如P#M30.0ANY10字节如果实参的类型未知,或可以使用任意数据类型时如P#M60.0,word5
本文标题:Step7-数据类型详细说明总结汇总
链接地址:https://www.777doc.com/doc-4715002 .html