180 likes | 305 Views
数据块中的数据存储. 位存储器. DBz. PIQ. DBy. PII. DBx. I/O 区. L 堆栈. 数据块. 数据存储区. 所有块可以访问. 全局数据 DB20. FB1 的背景 DB. 背景数据 DB5. 数据块 ( DB). 功能 FC10. OB1. 功能 FC20. 功能块 FB1. • 位数据类型 ( BOOL, BYTE, WORD, DWORD, CHAR) • 数学数据类型 ( INT, DINT, REAL)
E N D
位存储器 DBz . PIQ . DBy . PII DBx I/O 区 L 堆栈 数据块 数据存储区
所有块可以访问 全局数据 DB20 FB1的背景DB 背景数据 DB5 数据块 (DB) 功能 FC10 OB1 功能 FC20 功能块 FB1
• 位数据类型 (BOOL, BYTE, WORD, DWORD, CHAR) • 数学数据类型 (INT, DINT, REAL) • 定时器类型 (S5TIME, TIME, DATE, TIME_OF_DAY) • 时间 (DATE_AND_TIME) • 矩阵 (ARRAY) • 结构 (STRUCT) • 字符串 (STRING) 数据类型UDT (用户定义数据类型) STEP 7数据类型概述 基本数据 类型 (到32 位) 复杂数据 类型 (长于32位) 用户定义数据类型 (长于 32 位)
STEP 7基本数据类型 关键字 长度 (位) 该类型的常数举例 BOOL 1 True 或 False (1 或0) BYTE 8 B#16#A9 WORD 16 W#16#12AF DWORD 32 DW#16#ADAC1EF5 CHAR 8 ' w ' S5TIME 16 S5T#5s_200ms INT 16 123 DINT 32 L#65539 REAL 32 1.2 或 34.5E-12 TIME 32 T#2D_1H_3M_45S_12MS DATE 16 D#1993-01-20 TIME_OF_DAY 32 TOD#12:23:45.12
复杂数据类型 DATE_AND_TIME 64 DT#97-09-24-12:14:55.0 STRING 8 * (字符个数+2 ) ´This is a string´(最多254个字符的字符串) ´SIEMENS´ ARRAY用户定义测量值:ARRAY[1..20](相同数据类型的元素组) INT STRUCT用户定义Motor: STRUCT(不同数据类型的元素组)Speed : INT Current: REAL END_STRUCT UDT UDT as block UDT as array element(用户定义数据类型 = 用户定义基本或复杂数据类型组成的STRUCT Drive: ARRAY[1..4] 模板)Speed : INT UDT1 Current: REAL END_STRUCT 关键字 长度 (位) 举例
结构举例 Motor_data Operating Speed, data type Integer Rated Current, data type Real 带有名字“Motor_data” 的结构 (不同数据类型的几个元素) Startup Current, data type Real Turning Direction, data type Bool 程序编辑器中的显示 (数据块DB 1):
1. Measuring_point, data type Real 2. Measuring_point, data type Real 3. Measuring_point, data type Real 10. Measuring_point, data type Real 矩阵举例 Measuring_point 带有名字“Measuring_point” 的矩阵 (相同数据类型的几个元素) • • • 程序编辑器中的显示 (数据块DB 2):
数据字节 0 DBB 0 数据字节 1 DBW 0 数据字节 2 DBD 0 数据字节 3 DBX 4.1 DBD 8188 DBW 8190 数据字节 8191 DBB 8191 寻址数据单元 8 位 7 0
Number OPN DB19 A DBX 0.0 A DB19.DBX0.0 A “Values”.Start 1) 或 或 OPN DB19 L DBW2 L DB19.DBW2 L “Values”.Number 或 或 OPN DB19 L DBB5 L DB19.DBB5 L “Values”.Loop Loop 或 或 访问数据单元 完全表示访问 传统访问方法 DB 19 (符号名: Values) 绝对寻址 符号寻址 0 1 2 3 4 5 6 7 8 9 带有元素名字 “Start” 的 数据位 0.0 1)
FC 1 OPN DB 4L DBW2 FC 2 DB 4 T DBW 4 DB 4 T DBW 8 DB 5 CALL FC 1 OPN DB 5L DBB6 DB 5 OPN DB 6 L DBB6 CALL FC 2 DB 6 L DBW 0 DB 5 T DBW 2 DB 4 T DB2.DBB 0 L DBW 4 DB 2 DB 2 FB 1 CALL FB1, DB1 ! ??? L DBW 10 DB ?? 打开数据块的合法性 OB 1
全局DB (例如) Flour Flour Flour Flour Flour Milk Milk Milk Milk Milk Eggs Eggs Eggs Eggs Eggs 配方 1 Yeast Yeast Yeast Yeast Yeast Sugar Sugar Sugar Sugar Sugar 配方 2 带有三个UDT 类型的元素 根据UDT建立的 DB 配方 3 用户定义数据类型 (UDT) UDT 块作为模板
声明查看 数据查看 举例:UDT中矩阵
练习:瓶装线编程-数据存储 数据块 DB5 空瓶 (MW 100) 变量: empty 变量: full 满瓶 (MW102) 变量: broken 碎瓶 (MW 104)