Step7-数据类型详细说明总结汇总
- 格式:doc
- 大小:226.12 KB
- 文档页数:9
parator== IN1等于IN2<> IN1不等于IN2> IN1大于IN2< IN1小于IN2>= IN1大于或等于IN2<= IN1小于或等于IN22.整数就是没有小数位都是零的数,即能被1整除的数(如-1,-2,0,1,……)CMP ?I(INT)整数比较CMP ?D (DINT)比较双精度整数CMP ?R (REAL)比较实数3.转换指令概述BCD_I BCD码转换为整数I_BCD 整型转换为BCD码BCD_DI BCD码转换为双精度整数I_DINT 整型转换为长整型DI_BCD 长整型转换为BCD码DI_REAL 长整型转换为浮点型4 计数器指令S_CUD 双向计数器S_CD 降值计数器S_CU 升值计数器---( SC ) 设置计数器线圈•---( CU ) 升值计数器线圈•---( CD ) 降值计数器线圈5.S_CUD 双向计数器`6. S_CU 升值计数器7. S_CD 降值计数器8. ---( SC ) 设置计数器值9. ---( CU ) 升值计数器线圈10. ---( CD ) 降值计数器线圈11. ---(OPN)打开数据块:DB或DI如果想将数据块中的数据读出(如DB和DI),需要通过(OPN)打开数据块后才可读出。
12. ---(JMP)--- 无条件跳转13. ---(JMPN) 若“否”则跳转14. LABEL标号【整型数学运算指令】整型数学运算指令概述说明使用整数运算,您可以对两个整数(16和32位)执行以下运算:•ADD_I 加整数•SUB_I 减整型•MUL_I 乘整型•DIV_I 除整型•ADD_DI 加双精度整数•SUB_DI 减长整型•MUL_DI 乘长整型•DIV_DI 除长整型•MOD_DI 返回分数长整型15. ADD_I 整数加16. SUB_I 整数减17. MUL_I 整数乘18. DIV_I 整数除19. MOD_DI 返回长整数余数20. 浮点运算指令概述IEEE32位浮点数属于REAL数据类型。
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 #( X, X),取值范围为B #( 0, 0)〜B #( 255, 255),无符号十进制数是用十进制的0〜255对应二进制数中的0000_0000〜1111_1111 ( 8位),16位二进制数就需要两个0〜255的数来表示,例如:B# (12, 254)= 2# 0000_1100_1111_1110_12 ― 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
S t e p7-数据类型详细说明总结汇总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_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
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_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
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_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者B#(9,135)。
西门子时间处理功能块笔记1.时间相关数据类型TIME:IEC timeS5TIME:SIMATIC timeDATE:IEC dateTIME_OF_DAY:timeDATE_AND_TIME:DT1.1.S5TIME的格式S5TIME是用BCD码保存的,在数据存储区占用两个连续的字节。
Bit13和Bit12为存储的时基。
,Bit11~Bit0每四位为一个时间数值得BCD码当使用S5TIME 时,定义数值的范围为0~999,而且要指明使用的时基。
时基指定了时间单位。
可以输入的最大值为9,990秒,或2H_46M_30S。
S5TIME时基及相应的时间范围如下:时基BCD码时间范围10ms0010ms-9s990ms100ms01100ms-1min39s990ms1s101s-16min39s10s1110s-2hr46min30s∙梯形图中定于格式为S5T#0H_00M_00S_000MSo H=小时单位,M=分钟单位,S=秒单位,MS=毫秒单位2.DATE_AND_TIME的格式以及相关处理功能块当使用数据类型DATE_AND_TIME(DT)时,将占用数据存储区的8个连续字节,以BCD 码格式保存。
该数据类型范围:DT#1990-1-1-0:0:0.0to DT#2089-12-31-23:59:59.999∙DATE_AND_TIME#2020-01-02-9:01:1.00∙DT#2020-01-02-9:01:1.002020年01月02日上午9点1分3秒50.23毫秒,在date and time的八个字节中分别存储的内容:字节内容例子允许的范围BCD码0年B#16#201990~19992000~208990h~99h 00h~89h1月B#16#011~1201h~12h2日B#16#021~311h~31h3时B#16#0900~2300h~23h4分B#16#0100~5900h~59h5秒B#16#0300~5900h~59h6毫秒的后二位B#16#230~999000h~999h7毫秒的高位B#16#507星期B#16#5Sunday-Saturday1h~7h3.STEP7相关功能块块位于Libraries\Standard Library\IEC Function Blocks路径下。
STEP-基本数据类型————————————————————————————————作者:————————————————————————————————日期:STEP 7基本数据类型[ 2007/9/9 13:59:21 | Author: 工控学徒 ]说明:(1)WORD(字)一个字为16位,以二进制编码表示一个数值时,将16位分为4组,每组4位,分别表示数值中的一个数字。
如16进制的W#16#1234的位图如下所示:使用16进制表示数值时没有符号位,所以16进制表示的数不会有负值。
以BCD码表示时带有符号位,和16进制表示方法一样,也把16位分别4组,每组4位分别表示一个BCD码数字,但每位不能超过9.如+123以BCD码表示时的位图如下所示:DWORD和WORD的表示方法相同,只不过位数为32位,分为8组,每组4位分别表示一个数字。
(2)INT(整数)一个INT型数值包括16位,在存储器中占有一个字的存储空间。
INT 型即可以表示正数,也可以表示负数,最高位为符号位(0表示正数,1表示负数)。
以二进制编码表示一个数值时,除符号位以外,将每一位信号的数值相加即可表示一个整数。
如+34位图如下图所示:一个负数的表示方法则是在正数的基础上将所有的位信号取反再加1,如-34的位图如下图所示:DINT(双整数)和INT的表示方法相同,只不过是32位。
(3)REAL(浮点数)一个浮点数为32位,占有2个字的存储空间。
一个浮点数包括符号位(S),指数(e)和尾数(m),三者分别占有的位图如下所示:指数(e)和尾数(m)的取值见下表:REAL数据类型的值都可以表示成1.m×2(e-bias)的形式,其中1≤e≤254,bias=127,S=0时为正值,S=1时为负值。
如12.25的表示方法如下:S=0;指数e=27+21=128+2=130;尾数m=2-1+2-5=0.5+0.03125=0.53125;浮点值=(1+m)×2(e-bias)=(1+0.53125)×2(130-127)=1.53125×8=12.25.浮点数12.25的位图表示如下:SIMENS PLC浮点数小数位数最多为6位,要避免两个相差大于107的浮点数运算,否则会出现不正常的结果,如10000000.0+1.0结果仍是10000000.0。
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#1。
十六进制:十六进制的格式为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_1110
12 254
上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
例如,如果想得到二进制数00111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者B#(9,135)。
在STEP7中,比较常用的是十六进制,即W#16#这种格式。
⑷双字(DOUBLE WORD)
数据长度为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表示负。
⑹双整数(DOUBLE INT)
双整数的数据类型长度为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位=1 27
29位=0 26
28位=0 25
27位=0 24
26位=0 23
25位=0 22
24位=1 21
23位=0 20
e=27+21=128+2=130
E=e-127=130-127=3
尾数m:22位=1 2-1
21位=0 2-2
20位=0 2-3
19位=0 2-4
18位=1 2-5
m=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码的存储方式。
复式数据类型
参数类型
用于向FB和FC传送参数。