STEP7数据类型和变量

合集下载

STEP 7 标准工具编程软件

STEP 7 标准工具编程软件

由于CPU 314C-2DP占用2个槽位,从第4个槽位开始,可以
组态配置其他的I/O模板。
11 2024/9/14
应用STEP 7 对 PLC 进行硬件组态
用同样的方法,在4号槽位上配置了32点的直流输入模板 (6ES7 312-1BL00-0AA0),在5号槽位上配置了32点的 直流输出模板(6ES7 322-1BLL00-0AA0)。 下面的图表示了用上面的方法组态完成后的STEP 7硬件 组态界面,从图上还能看到所选模板的订货号,I/O模 板组态定义的绝对地址以及分配给CPU模板的MPI地址。 以上完成了硬件中央机架的模板组态。
16 2024/9/14
S7 PLC 分布式 I/O 模板的组态
分布式I/O模板的硬件组态与中央机架模板的硬件 组态类似,从导航窗口右边页面的目录菜单,选 择分布式I/O模板单元,对它们进行硬件组态和属 性定义。 下图表示了S7 PLC的分布式I/O结构举例和通过 Profibus-DP网络进行连接。 下面用图解说明,怎样建立一个新的项目来组态 分布式I/O系统。
9 2024/9/14
应用STEP 7 对 PLC 进行硬件组态
建立一个项目和SIMATIC 站后,就可以对PLC进行 硬件组态了。
下面介绍S7 PLC 中央机架模板的组态过程。
打开“项目”中的“站”,在窗口的右边页面出现
“硬件”图标
和所建项目中选择的CPU图

,如下面的图所示。双击“硬件”图标
, “硬件”组态窗口自动打开,在组态窗口的右边 面会显示硬件组态单元库目录菜单。
建立编程用的符号地址表
34 2024/9/14
在STEP 7 程序中建 立符号地 址表举例
35 2024/9/14

S7-300PLC编程技术及基本指令

S7-300PLC编程技术及基本指令

S5T#是16位S5时间常数,格式为S5T#
aD_bH_cM_dS_eMS。其中a,b,c,d,e分别是日、
小时、分、秒和毫秒的数值。输入时可以省掉下划线,
例如S5T#4S30MS=4s30ms,S5T#2H15M30S=2小 时15分30秒。 • C#为计数器常数(BCD码),例如C#250。
状态字Biblioteka 7 边沿检测指令当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升 跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把 当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表 明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以 便能和新的信号状态相比较。 S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作 结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的 指令。
包含在指令中,或者指令的操作数是惟一的。例如: SET AW W#16#117 // 将RLO置1 辑运算
//将常数W#16#117与累加器1进行“与”逻
L 43
//将整数43装入累加器1中
2 存储器直接寻址
存储器直接寻址的特点是直接给出操作数的存储
单元地址。例如
O I0.2
//对输入位I0.2进行“或”逻辑运
• 状态字用于表示CPU执行指令时所具有的状态。某些指令 可否执行或以何种方式执行可能取决于状态字中的某些位,指 令执行时也可能改变状态字中的某些位,可以用位逻辑指令或
字逻辑指令访问并检测状态字。状态字的结构如图所示。
•逻辑操作结果(RLO) 状态字的第1位称为逻辑操作结果(Result of Logic Operation, RLO)。该位存储逻辑操作指令或比较指令的结果。在逻辑串 中,RLO位的状态表示有关信号流的信息,RLO的状态为1,

STEP7中的基本数据类型-重要

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 #( 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位的二进制数,无论你使用哪种方式都可以。

最新西门子S7-300的基本数据类型

最新西门子S7-300的基本数据类型

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是什么数据类型

STEP 7 Struct是什么数据类型

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语言里静态分配的变量性质是否一样?

STEP7中功能块FB里的stat静态变量与C语言里静态分配的变量性质是否一样?

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-数据类型详细说明总结汇总

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功能块说明

STEP7功能块说明

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的値。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UDT 作为块
STRUCT Speed: INT Current: REAL END_STRUCT
UDT 作为数组元素
Drive: ARRAY[1..4] UDT1
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2019/5/18 PRO2_05E.7
SITRAIN Training for
Automation and Dals: ARRAY[1..20] INT
STRUCT (结构,不同数据类型一组 元素的集合)
UDT(用户自定义类型 = 由基本数据类型和/或 复杂数据类型组成的“模板” )
用户自己定义 用户自己定义
Motor: STRUCT Speed: INT Current: REAL END_STRUCT
SIMATIC S7
Siemens AG 2001. All rights reserved.
•时间型 (DATE_AND_TIME) •数组型 (ARRAY) •结构型 (STRUCT) •字符串型(STRING)
UDT数据类型 (用户自定义型)
Date: File:
2019/5/18 PRO2_05E.4
数据类型建立: 允许范围 (INT:-32 768 ... +32 767,等等。) 允许使用的指令 (算术指令: +,- 等。) 存储器中位的表示方法抽象出的数据类型
变量可以保存并在以后继续处理数值
Actual_speed: REAL Set_speed: REAL
扰动: BOOL
使能:
Meas_point[10]: Real
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2019/5/18 PRO2_05E.3
SITRAIN Training for
Automation and Drives
基本数据类型 (最长32位)
SITRAIN Training for
Automation and Drives
STEP 7中的基本数据类型
关键字
BOOL BYTE WORD DWORD
CHAR
INT DINT REAL
S5TIME
TIME DATE TIME-OF-DAY
长度(单位:位)
类型常数示例
1
1或0
8
B#16#A9
16
声明类型变量可以: 在全局符号表中声明 (基本数据类型) 在全局数据块的声明表中进行声明 (所有数据类型) 在逻辑块的声明表中进行声明 (OB,FB和FC)
Meas_point: ARRAY[1..10] Meas_point[1]: Real Meas_point[2]: Real Meas_point[3]: Real
STEP 7中的复杂数据类型
关键字
DATE_AND_TIME (日期和时间)
STRING (字符串,最多254个字符)
ARRAY (相同数据类型一组 元素的集合)
长度(位) 示例
DT#99-06-14-12:14:55.0
64 ´This is a string´
8 * (字符数 +2) ´SIEMENS´
STEP 7数据类型和变量
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2019/5/18 PRO2_05E.1
SITRAIN Training for
Automation and Drives
变量及数据类型含义
数据类型描述了数据基本特性 连续区域:例如:实际速度 “是/非” 特性:例如:扰动
STEP 7数据类型概述
• 位(Bit)数据类型(BOOL, BYTE, WORD, DWORD, CHAR) • 算术数据类型(INT, DINT, REAL) • 时间数据类型(S5TIME, TIME, DATE, TIME_OF_DAY)
复杂数据类型 (长度大于32位)
用户自定义数据类型 (长度大于32位)
块间“通信” 软件可重用性
Motor: STRUCT Set_speed: REAL
Actual_speed: REAL
Enable:
BOOL
Disturbance: BOOL
END_STRUCT
in Drive UDT1
out ...
...
stat Control. FB1
. .
CALL #5Controller Motor:="Hall_1".M5 ...
. .
in Motor UDT1
out ...
...
. . A #Motor.Enable . .
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2019/5/18 PRO2_05E.6
SITRAIN Training for
Automation and Drives
W#16#12AF
32
DW#16#ADAC1EF5
8
'w'
16
123
32
65539或L#-1
32
1.2或34.5E-12
16
S5T#5s_200ms
32
T#2D_1H_3M_45S_12MS
16
D#1999-06-14
32
TOD#12:23:45.12
SIMATIC S7
Siemens AG 2001. All rights reserved.
BOOL
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2019/5/18 PRO2_05E.2
SITRAIN Training for
Automation and Drives
变量特性及变量的声明
变量声明确定变量的如下特性:
符号名 数据类型 有效范围
Date: File:
2019/5/18 PRO2_05E.5
SITRAIN Training for
Automation and Drives
复杂数据类型的重要性
“更好地”构造数据: 适合于任务 具有“适当的”数据类型
在块调用中 数据传输的精简形式:
一个参数传送“多个”数据项 使结构化编程成为可能 仅通过参数便实现
相关文档
最新文档