STEP7数据类型和变量
- 格式:ppt
- 大小:511.05 KB
- 文档页数:28
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位的二进制数,无论你使用哪种方式都可以。
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)。
STEP 7 Struct是什么数据类型请问STEP7Struct是什么数据类型在什么样的情况下需要用到Struct数据类型!!最佳答案Struct(结构性类型)是由不同数据类型组成的、属于复合型数据类型,它是用来定义一组相关的数据,其长度由用户定义,它与数组(Array)类型相反(ARRAY是由相同类型的数据组成的数组)。
许多关于结构类型的书籍中提到的关于电机控制系统中,把一个电机所有控制元素,如运行速度、额度电流、起动电流和运行方向等作为参数或逻辑块的局部变量,并且在全局数据块中声明,这样利用它可以结构化大量的数据并且可以用符号进行处理,由于访问结构的元素包含结构的名称,使程序更容易读,指令编写更清晰。
如电机的一组不同类型的数据(称为元素)组成的结构命名为Motor_Data,并且放在共享数据块DB1中,为了用符号访问结构中的一个元素,需要给数据块分配一个符号名,如Drive_1.结构的关键字是“STRUCT“,结构的结束用END_STRUCT.这样在打开数据块DB1(符号名Drive_1),可以看到上面变量声明表为:Address(地址)Name(名称)Type(类型)InitialValue (初始值)0.0Struct0.0Motor_Data(电机数据)Struct0.0Operating_speed(运行速度)INT2.0Rated_current(额定电流)REAL6.0Start_current(起动电流)REAL10.0Max_temperature(最大温度)REAL14.0Turning_direction(转动方向)BOOL=16.0END_STRUCT=16.0END_STRUCT如果访问上述结构中的某个元素,如Rated_current(额度电流),可以直接用下列指令:L“Drive_1”.Motor_data.Rated_current其中,“Drive_1”是数据块的符号名,该数据块包含结构、结构名称(用点分割)在数据块的后面。
STEP7中功能块FB里的stat静态变量与C 语言里静态分配的变量性质是否一样?C语言里静态变量是从栈里分配的,当函数执行完后会自动释放。
那么STEP7中FB里的静态变量在系统分配的机制是否也是如何?是否在FB执行完之后会自己释放?STEP7中引用静态变量stat有啥意义?最佳答案静态变量是FB专有的,其是与背景块一一对应,可以这么说静态变量就是FB的背景数据块。
其作用就是背景数据块的作用,背景块的作用就是,自己编自己的FB,在声明表里定义好自己的静态变量,使用很方便不用考虑使用其它全局变量时,要知道哪个是空的,哪个是别人用过的,就是重叠问题。
尤其是多人编一个系统时就更有用了,用FC 就没有这个优势。
每次调用功能块(FB)时,会被分配一个背景数据块。
此FB的实际参数和静态参数都被存储在该背景数据块中。
在FB中声明的变量决定背景数据块的结构。
背景指定了功能块的调用。
FB2可以使用FB1背景数据块中的静态变量,但需要满足以下条件:(即使用多重背景时应注意的问题):1.在管理多重背景的功能块的变量声明表中,为被调用的功能块的每一次调用定义一个静态(STAT)变量,以被调用的功能块的名称(如FB1)作为静态变量的数据类型。
2.应生成需要调用的功能块(如FB1)。
3.在管理多重背景的功能块(如FB2)必须设置为多重背景功能。
4.必须有一个背景数据块(如DB1)分配给管理多重背景的功能。
背景数据块中的数据是自动生成。
5.多重背景只能声明静态变量(声明类型为“STAT”)。
其具体可参考:1.为什么使用背景数据块,它与全局数据块有什么区别?:/Download/Upload/AS/FAQ/15 360455.pdf2.多重背景数据块的使用:/view/5dd57991daef5ef7ba0d3c2d.html。
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位的二进制数,无论你使用哪种方式都可以。
I.parator= IN1 等于IN2◊ IN1不等于IN2>IN1 大于IN2<IN1 小于IN2>=IN1大于或等于IN2<=IN1 于或等于IN22.整数就是股有爪数位都是零的数,即能被1整険的« ( »-1-2,0,1,••••••) CMP?I (INT)整数比较CMP ?D (DINT) it较双精度整做CMP ?R (REAL)比较实数3•转换指令祗述BCD_I BCD码转换为整数LBCD整里转换为BCD码BCD_DIBCD西转換为双精《[整数LDINT整型转換为长整璽DI.BCD长整璽转换为BCD码DI.REAL长整塑转换为浮点型4itasffi 令S.CUD双向廿数器S.CD降值廿敛器S.CU升值廿数器——(SC)设置计数器线阖•——(CU)升值计数器线圈•TCD)降值廿数器线圈5.S.CUD双向廿数器实例6. S_CU升值廿數器英话参敗徳语數据类型内存区咸说明G编号Z编号COUNTER C 标识号•具他CPUCU zv BOCL 1、Q、M、L. D 升銓计数輸入CD ZR BOCL L Q、M. L. D 遥越计数瑜入S S BOCL 1. Q、M、L、D 为预设汁救黔设程输入PV Z7/ WORD k Q、M、L. D或用教将汁数网血以的格式输入(范1机至099)PV zw WORD k Q、M、L. D 决童计数關的位R R BOCL 1、Q、M、L. D 复乞输入CV DUAL WORD L Q、M. L. D 当前计数湍但・1六进制救字CV BCD DE2 WORD 1. Q、M、L、D 当前计数舉值.BCD碎Q Q BOCL 1、Q、M、L. D 计数器狀态I 0.0cuC10S CUDQ4.0<)I 0.2HII 0.3 MW10—HI -------CDPV cvcv —BCD——如果I0.2从©变为F.则计数器预设为MW10的値。
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)。
参数类型ANY的格式STEP 7以10个字节存储参数类型ANY。
当构造类型为ANY的参数时,必须确保所有10个字节都被占用,因为调用块估计参数整个内容的值。
例如,如果以字节4指定DB编号,也必须以字节6明确地指定存储器区。
STEP 7管理基本和复杂数据类型的数据与参数类型的数据不同。
数据类型的ANY格式对于基本和复杂数据类型,STEP 7存储下列数据:•数据类型•重复因子•DB编号•信息存储的存储区域•数据的起始地址重复因子识别由参数类型ANY传送的指示数据类型的数量。
这意味着可以指定数据区,也可以和参数类型ANY结合使用数组和结构。
STEP 7将数组和结构识别为数据类型的编号(借助重复因数)。
例如,如果要传送10个字,必须为重复因子输入数值10,并且必须为数据类型输入数值04。
地址以格式Byte.Bit存储,此处字节寻址存储在字节7的位0 - 2,节字8的位0 - 7,节字9的位3 - 7。
位地址存储在字节9的位0 - 2。
对于类型NIL的空指针,所有来自字节1的字节设置为0。
下表给出参数类型ANY的数据类型或存储区域的编码。
参数类型的ANY格式对于参数类型,STEP 7存储数据类型和参数的地址。
重复因子始终是1。
字节4、5和7始终是0。
字节8和9指示定时器、计数器或块的编号。
下表为参数类型显示参数类型ANY的数据类型编码。
使用参数类型ANY可以为适合于任何数据类型的实际参数的块定义形式参数。
当调用块是未知或可以改变时(和当允许任何数据类型时),已提供了实际参数的数据类型时,这尤其有用。
在块的变量声明中,可以声明参数为数据类型ANY。
然后可以在STEP 7中分配任何数据类型的实际参数。
STEP 7为ANY数据类型的变量分配存储器的80个位。
如果分配实际参数给此形式参数,STEP 7在80个位中编码起始地址、数据类型和实际参数的长度。
调用块为ANY 参数分析保存数据的80个位,并获取进一步处理所需的信息。
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)。
TIME, DA TE and TIMER in STEP 7SLC A&D CSJune 20041.西门子自动化与驱动产品的在线技术支持 (3)2.如何获得西门子自动化与驱动产品的资料 (4)3.需设备选型及订货 (4)4.西门子技术支持热线 (4)5.西门子自动化产品的其它网站 (5)6.缩写词含义 (5)7.如何使用STEP 7软件的在线帮助 (5)7.1.查找某个关键字或功能 (5)7.2.想了解某个FB/FC的功能及管脚的定义 (6)8.STEP 7中有关时间、日期的数据类型 (8)9.需要相关数据类型的详细描述 (8)10.S5TIME (Time Duration) 的格式及访问 (9)10.1.S5TIME的格式 (9)10.2.通过上位机访问PLC中S5TIME类型的数据 (10)10.3.S5TIME和TIME的转换 (11)11.DATE_AND_TIME的格式 (11)12.STEP 7相关功能块调用例程 (13)13.STEP 7中定时器的使用 (14)13.1.S7 TIMER的使用 (14)13.2.IEC TIMER的使用 (14)14.如何访问CPU的Clock Memory (14)1. 西门子自动化与驱动产品的在线技术支持首先,建议您访问Siemens A&D的产品与技术支持网站http://www4.ad.siemens.de/在主页的Product Support中选择您关心的产品或信息,或利用Search引擎直接输入关键字搜索。
您还可以访问西门子(中国)自动化与驱动集团的主页,如下图所示。
该网站同样可以提供大量的产品和系统的信息。
2. 如何获得西门子自动化与驱动产品的资料首先,建议您通过Siemens A&D的网站搜索并下载。
您还可以致电************转3785 /3726索取资料。
另外,还有大量的手册可以通过分销商订购,和其它产品的订货方式一样。
西门子时间处理功能块笔记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路径下。