数据块中的数据存储 目录 页 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型

Slides:



Advertisements
Similar presentations
宜昌金海科技股份有限公司 IB START 投行圈 2000 万股份定向募集项目. 主营业务介绍 从事各种酒类包装盒、食品饮料包装盒、包装箱等包装产 品及相关包装材料的设计、印刷、生产与销售,并为客户 提供包装产品设计、包装方案优化、第三方采购与包装产 品物流配送、供应商库存管理以及辅助包装作业等包装一.
Advertisements

104-2 社團聯席會議 人社二館第五講堂 第 1 次社團聯席會 會議議程 一、邱學務長致詞 : 二、王麗倩組長致詞 : 三、課外組報告: 課外活動經費核銷事項 --- 松漢 社課鐘點費核銷事項 --- 松漢 3. 三社聯合成發之講堂租借規定說明.
会计报表网上申报操作指南 (以小企业会计准则为例) 松江区税务局 2014年7月.
高等数学绪论 一、《高等数学》学什么? 二、《高等数学》培养学生那些能力? 三、如何考硕士研究生? 四、全国大学生数学建模竞赛是怎么回事?
奥田2016年经销商大会传播方案.
Memory Pool ACM Yanqing Peng.
TIA 博途V12 STEP 7 V12 (LAD, FBD, STL)编程.
M340可编程控制器技术培训课程 -编程软件篇.
项目:贪吃蛇游戏设计 工作任务一:系统设计(system design) 工作任务二:豆类(Bean)设计
Profibus Training Course
数据结构与算法 数据结构与算法实验
C++程序设计 王希 图书馆三楼办公室.
四 VBScript编程基础.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
FC OB1 FB SFC 操作系统 SFB OBs 结构化编程 其它
9、SIMATIC S7-300 PLC及指令系统 9.1 系统组成 9.2 系统配置 9.3 指令系统简介 9.4 程序结构
S and STEP 7 Basic V10.5 第8章: 功能型对象.
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
S and STEP7 Basic V10.5 练习.
課程名稱:程式設計 授課老師:________
佇列 (Queue).
结构化编程 FC OB1 FB SFC 操作系统 SFB OBs 其它
软件调试 目录 页 软件调试的检查表 下装用户程序到 CPU 排除停机错误 系统功能测试的步骤 记录程序的修改 项目文件的归档
第3章 變數、資料型別與運算子.
编译原理与技术 类型检查 2018/11/21 《编译原理与技术》-类型检查.
组织块 操作系统 OB1 FC FB FB FC SFC SFB OBs 其它 目录 页码
结构体和共用体 2 梁春燕 华电信息管理教研室.
Ch13 集合與泛型 物件導向程式設計(2).
崔坚 西门子自动化与驱动集团 客户支持部CS2 热线电话:
JAVA程序设计 第5章 深入理解JAVA语言----补充.
S7-300/400PLC的编程技术 河北机电自动化教研室.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
ControlLogix架构Modbus TCP/IP 西门子工业以太网消息管理器 英文网站:
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
算法与程序设计.
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
第5章 S7系列程序结构与程序设计 5.1 编程方式与程序块 5.2 数据块与数据结构 5.3 S7系列PLC程序设计 思考与练习题.
数据块中的数据存储 目录 页 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
数据块中的数据存储 目录 页 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
第七章 故障诊断 PLC是运行在工业环境中的控制器,一般而言可靠性比较高,出现故障的概率较低,但是,出现故障也是难以避免的。一般引发故障的原因有很多,故障的后果也有很多种。 引发故障的原因虽然我们不能完全控制,但是我们可以通过日常的检查和定期的维护来消除多种隐患,把故障率降到最低。故障的后果轻的可能造成设备的停机,影响生产的数量;重的可能造成财产损失和人员伤亡,如果是一些特殊的控制对象,一旦出现故障可能会引发更严重的后果。
第三章 项目设定.
自動化課程 劉聖元.
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
明解C++教學手冊 柴田望洋 博士 著 書號:PG20269
編譯程式設計 期末專題說明 V1.1 May 2004.
進階 WWW 程式設計 -- PHP 語言結構 靜宜大學資訊管理學系 蔡奇偉副教授 2003
面山近海-臺東.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程.
大綱 *專題演講介紹 *大陸醫療的改革與發展 *海報發表文章分享 2012海峽兩岸醫院院長論壇行後報告 ‧台北
数据块中的数据存储 目录 页 目标 …… 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
4 S7-200可编程控制器 基本概念 2019/4/13.
第一章.
保留字與識別字.
程式的時間與空間 Time and Space in Programming
位指令 I0.0 I0.1 Q 8.0 Q 8.1 I 1.0 ( MCR< ) (MCRA) Q 8.0 I 0.0 I 1.1
Inspiration From Above 1 Chinese Evangelical Free Church
106年社團評鑑簡報 國立高雄第一科技大學 營建工程系系學會 21屆 會 長:蘇峻賢 指導老師:曾國鴻 教授.
Review 1~3.
符号 目录 页 绝对寻址和符号寻址… 符号寻址- 概述… 打开符号表 编辑:查找和替换…… 查看:过滤器 … 查看:排序…… 符号表:导出
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
Go 语言编程 —— 平台研发部 吴植民.
1.4WIN32中的宽字符.
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
變數、資料型態、運算子.
李元金 计算机与信息工程学院 第 17 讲 设备管理(1) 李元金 计算机与信息工程学院 1/
變數與資料型態  綠園.
認識 Excel 與SPSS.
测试功能 目录 页 程序的状态监视功能 ……………... 2 程序状态监视的模式 …………………………. 3
「高級中等學校學生學習歷程資料庫」與學校自行建置 「校內學生學習歷程檔案紀錄模組」 資料串接全國說明會
Presentation transcript:

数据块中的数据存储 目录 页 数据存储区 …....................………...................................................................................................... 2 数据块 (DB) ….................................................................................................................................. 3 STEP 7数据类型概述. ........................................................................................................................... 4 STEP 7基本数据类型 ........................................................................................................................... 5 复杂数据类型 ………............................................................................................................................ 6 结构举例 ............................................................................................................................................. 7 矩阵举例 .................................................................................................................................................. 8 建立新数据块 .......................................................................................................................................... 9 输入、保存、下载和监视数据块 .......................................................................................................... 10 寻址数据单元 …....................................................................................................................................... 11 访问数据单元 ........................................................................................................................................... 12 打开数据块的合法性 ……........................................................................................................................ 13 用户定义数据类型 (UDT) ….................................................................................................................... 14 输入 UDT 块 ............................................................................................................................................ 15 根据数据类型建立数据块 ........................................................................................................................ 16 举例:UDT中矩阵 .................................................................................................................................. 17 练习12.1: 数据块和数据格式.................................................................................................................. 18 练习12.2: 瓶装线编程 - 数据存储 ……..................................................................................................... 19

. 数据存储区 位存储器 DBz PIQ DBy PII DBx I/O 区 L 堆栈 数据块 概述 除逻辑块外,用户程序还包括数据,这些数据存储过程状态和信号的信息,所存储的数据在用户程序中进行处理。 数据以用户程序的变量形式存储,它们是唯一的: • 存储位置 (地址:P,PII,PIQ,位存储器,L 堆栈,DB) • 数据类型 (基本或复杂数据类型,参数类型) 根据访问方式,它们的区别是: • 全局变量:在全局符号表或全局数据块中声明。 • 局部变量:在OB、FC和FB的变量声明表中声明。 当块被执行时,变量永久地存储在过程映象区、位存储器区或数据块,或者它们动态地建立在局部堆栈中。 局部数据堆栈 局部数据堆栈 (L 堆栈) 用来存储: • 逻辑块的暂时变量,包括OB 的起始信息 • 调用功能时要传递的实际参数 • 梯形图程序中的中间逻辑结果 这个内容在“功能和功能块”一章中讨论。 数据块 数据块用来存储用户程序的逻辑块的值。与暂时数据不同,当逻辑块执行结束时或数据块关闭时,数据块中的数据不被覆盖。

数据块 (DB) 所有块可以访问 功能 FC10 OB1 全局数据 DB20 功能 FC20 FB1的背景DB 功能块 背景数据 FB1 概述 数据块用来保存用户数据。和逻辑块一样,数据块占用用户存储器的空间。数据块包含用户程序中使用的变量数据(如:数值) 。 用户程序以位、字节、字或双字操作访问数据块中的数据,可以使用符号或绝对地址。 用法 有不同方法使用数据块,数据块的区别是: • 全局数据块:在用户程序的所有逻辑块都可以使用全局数据块。 • 背景数据块: 它们总是分配给特定的FB,仅在所分配的FB中使用背景数据块 在“功能和功能块”一章中讨论背景数据块。 建立DB 利用程序编辑器或用已经生成的“用户定义数据类型UDT”建立全局数据块。 当调用FB时,产生背景数据块。 寄存器 CPU有两个数据块寄存器:DB 和 DI 寄存器。这样,可以同时打开两个数据块。在高级编程课程中可以得到更多的信息。

STEP 7数据类型概述 • 位数据类型 (BOOL, BYTE, WORD, DWORD, CHAR) 基本数据 • 数学数据类型 (INT, DINT, REAL) • 定时器类型 (S5TIME, TIME, DATE, TIME_OF_DAY) 基本数据 类型 (到32 位) • 时间 (DATE_AND_TIME) • 矩阵 (ARRAY) • 结构 (STRUCT) • 字符串 (STRING) 复杂数据 类型 (长于32位) 概述 数据类型决定数据的属性,例如:要表示元素的相关地址和值的允许范围。 数据类型也决定了采用的操作数。 基本数据类型 基本数据类型根据IEC1131-3来定义,数据类型决定了需要的存储器空间。如: 字型数据类型在用户存储器中占用16位。 基本数据类型不超过32 位,可以装入S7处理器的累加器中,利用STEP 7基本指令处理。 复杂数据类型 复杂数据类型只能结合全局数据块的变量声明使用。用装入指令不能把复杂数据类型完全装入累加器。利用库中的标准块(“IEC” S7 程序) 处理复杂数据类型。 用户定义数据类型 用户定义数据类型用于数据块或在变量声明表中作为数据类型使用。 利用数据块编辑器建立UDT。 UDT的结构包括基本和/或复杂数据类型。 数据类型 UDT (用户定义数据类型) 用户定义数据类型 (长于 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 BOOL, BYTE, WORD BOOL型变量的数据类型包含一个位,BYTE、WORD、DWORD型变量分别包 DWORD, CHAR 含 8、16 和 32 位。在这些数据类型中不按位方式来处理。 这些数据类型的特殊形式是BCD 数,它们是计数功能中的计数值。CHAR数据类型代表ASCII码的字符。 S5TIME 在定时器功能中,定时器值要求是 S5TIME 数据类型的变量, 可以用小时、分钟、秒或毫秒指定。 带下划线(1h_4m) 或不带下划线(1h4m)输入时间值。 库中的功能FC 33 把S5TIME 转换成TIME 格式,FC40把TIME 转换成S5TIME 格式。 INT, DINT, REAL 这些数据类型变量表示算术操作中的数。 TIME TIME数据类型的变量占用一个双字,该变量用于指定IEC定时器功能的时间值。变量内容用毫秒为单位的双整数表示,它可以是正数或负数 (例如:T#1s=L#1 000, T#24d20h31m23s647msw = L#214748647). DATE DATE数据类型的变量以无符号整数的形式占用一个字。变量内容表示从01.01.1990 开始的天数(例如:D#2168-12-31 = W#16#FF62). TIME_OF_DAY TIME_OF_DAY数据类型的变量占用一个双字,它包含用无符号整数的形式表示的从每天开始 (0:00 时钟) 的毫秒数 (例如:TOD#23:59:59.999 = DW#16#05265B77)。

复杂数据类型 关键字 长度 (位) 举例 DATE_AND_TIME 64 DT#97-09-24-12:14:55.0 关键字 长度 (位) 举例 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 复杂数据类型 复杂数据类型 (矩阵和结构) 包含基本数据类型或复杂数据类型。 这样可以为你的问题建立特定的数据类型,利用它可以结构化大量的数据并且可以用符号进行处理。 STEP 7的指令不能一次处理复杂的数据类型(大于32位),但是一次可以处理一个元素。 复杂数据类型要预定义。数据类型DATE_AND_TIME 有64 位长。矩阵、结构和字符串的数据类型长度由用户确定。 复杂数据类型的变量只能在全局数据块中声明,可以作为参数或逻辑块的局部变量。 用户定义数据类型 用户定义数据类型表示自定义的结构,存放在UDT 块中(UDT1 ... UDT65535), 在另一个数据类型中作为一个数据类型“模板”。 当输入数据块时,如果需要输入几个相同的结构,利用UDT可以节省输入时间。 例如:需要在一个数据块中输入10个相同的结构。首先,定义一个结构并把它存为一个UDT,例如:UDT 1。 在数据块中,定义一个变量“Addresses”,它有10个元素,数据类型是UDT1: Addresses array[1..10] UDT 1 这样,就建立了UDT1所定义结构的10个数据区域,而不需要分别输入。

结构举例 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): 结构 幻灯片给出了一个名为“Motor_data”的结构,该结构包含几个不同的数据类型。结构的元素可以是简单的或复杂的数据类型。 访问结构的元素需要包含结构的名称,这使程序更易读。 为了用符号访问结构中的元素,需要给数据块分配一个符号名,例如:“Drive_1” 访问结构中的各个元素: L “Drive_1”.Motor_data.rated_current 或 L “Drive_1”.Motor_data.operating_speed “Drive_1”是数据块的符号名,该数据块包含结构,结构的名称(用点分割)在数据块符号名后面。结构的元素名(用点分割)跟在结构名的后面。 在DB中定义结构 结构的关键字是“STRUCT”,结构的结束用“END_STRUCT”表示。为结构起一个名称(例中:“Motor_data”)。

矩阵举例 Measuring_point 1. Measuring_point, data type Real (相同数据类型的几个元素) • 程序编辑器中的显示 (数据块 DB 2): 矩阵 矩阵由相同数据类型的几个单元组成,在上面的幻灯片中,可以看到有10个实型元素的矩阵“Measuring_point” 。后面在该矩阵中存储不同的数值。 数据块中定义矩阵 矩阵的关键字是“ARRAY[n..m]”。第一个(n)和最后一个(m)元素在方括号中指明。例如:[1..10] 表示有10 个元素,第一个元素的地址是[1];最后一个元素的地址是[10]。除采用 [1..10] 外,也可以采用 [0..9]。它只影响元素的访问。 注 建立一个空数据块,用所需要的数据类型定义一个矩阵。 数据查看 选择菜单 View -> Data View 切换到另一种显示方式,查看每个单元中所存放的数值。在“Data View”中,在“Actual Value”列可以找到存储的实际值。

建立新数据块 程序编辑器 用LAD/STL/FBD 编辑器可以打开存在的数据块或建立一个新数据块。 “New”对话窗 当点击“New”图标时,会弹出一个“New”对话窗。选择项目和用户程序,然后在“Object name”框(数据块或所有可选的对象类型)中输入一个对象,例如: DB4。 用“OK”确认,就会出现“New Data Block”对话窗。 “New Data Block” 在该对话窗中,选择要建立的数据块的类型: 对话窗 • Data Block (全局数据块) • Data Block Referencing a User-Defined Data Type (建立和UDT块结构相同 的数据块) • Data Block Referencing a Function Block (建立FB的背景数据块)。该项在 “功能和功能块”一章中详细讨论。

输入、保存、下载和监视数据块 输入数据 在表中输入数据单元,首先在“Name”列的第一行输入单元名称,用Tab键可以跳到其它的列。 列 列的含义如下: • 地址 - 当存盘时由程序编辑器输入 数据块中变量占用的第一个字节地址 • 名称 - 单元的符号名 • 类型 - 数据类型 (用鼠标右键选择) • 初始值 - 为数据单元设定一个缺省值。如果不输入,就以0为初始值 • 注释 - 数据单元的说明 (可选) 保存 利用“磁盘”图标可以把数据块保存到编程器的硬盘上。 下载 象逻辑块一样,也需要把数据块下载到CPU。 监视 要监视数据块中的当前值,首先要切换到“Data View” 。也可以利用工具条中的“眼镜”图标监视数据块 (CPU中数据块实际值的永久显示).

寻址数据单元 8 位 7 数据字节 0 DBB 0 数据字节 1 DBW 0 数据字节 2 DBD 0 数据字节 3 DBX 4.1 数据字节 0 DBB 0 数据字节 1 DBW 0 数据字节 2 DBD 0 数据字节 3 DBX 4.1 数据字节 8191 DBD 8188 DBW 8190 DBB 8191 概述 正如位存储器,数据块中的数据单元按字节进行寻址。 可以装载数据字节、数据字或数据双字。当使用数据字时,需要指定第一个字节地址 (如:L DBW 2) ,按该地址装入两个字节。使用双字时,按该地址装入四个字节。 数目和长度 数据块的数目依赖于CPU的型号。S7-300的最大块长度是 8K字节, S7-400的最大块长度是64K字节。 注 如果访问不存在的数据单元或数据块,而且没有编写错误处理OB块,CPU 进入停止模式。

访问数据单元 完全表示访问 传统访问方法 DB 19 (符号名: Values) 绝对寻址 符号寻址 OPN DB19 A DBX 0.0 1) 或 A DB19.DBX0.0 或 A “Values”.Start 1 2 3 4 5 6 7 8 9 OPN DB19 L DBW2 Number 或 L DB19.DBW2 或 L “Values”.Number OPN DB19 L DBB5 Loop 或 L DB19.DBB5 或 L “Values”.Loop 打开 DB 指令“OPN DB...” 打开全局数据块。如果一个全局数据块已经打开,它就自动关闭。如果为数据块起一个名称(例如:“Values”),可以使用指令 OPN “Values” 打开数据块。 访问 DB 对数据块的读(装入)或写(传递)在幻灯片中给出了。 如果DB 已经打开,使用装入或传递指令就可以了。 合成指令,例如:L DB19.DBW2 包括使用的数据块,该指令包括数据块的打开。 符号访问 只有满足下面的要求才能用符号访问数据块: 1. 在符号表中为 DB 分配一个符号名 2. 数据块中的数据单元用LAD/STL/FBD分配符号名 例如:指令 L “Values”.Number 打开名为“Values”的数据块并装入名为 “Number”的数据单元。 注 使用符号访问数据块有如下的优点: • 程序易读, • 确保访问正确的数据块, • 以后易于修改数据块的结构 使用绝对地址访问数据块,必须手动定位程序中的数据块单元。采用符号就可以很容易用源程序调整。 在高级编程课中讲解源程序的使用。 带有元素名字 “Start” 的 数据位 0.0 1)

! 打开数据块的合法性 OB 1 FC 1 DB 4 CALL FC 1 T DBW 4 OPN DB 4 L DBW2 DB 4 OPN DB 5 L DBB6 DB 6 OPN DB 6 L DBB6 T DBW 2 DB 4 DB 5 L DBW 0 DB 2 T DB2.DBB 0 DB 2 L DBW 4 FB 1 CALL FB1, DB1 ??? ! 介绍 打开的数据块一直保持到一个新的数据块打开或通过一个合成指令 (如:L DB4.DBW6) 访问另一个数据块。 FC 块调用 由于另一个 FC 被调用,一个 OB 或一个 FC 块退出, 那末当前的数据块保持有效。当返回到调用的 FC 时,退出时有效的数据块被再次打开。 FB块调用 功能块调用不同,FB总是带着背景数据块DB (更多信息“功能和功能块”)。调用功能块,自动打开数据块。 当返回调用块时,先前打开的全局数据块不再有效。 这意味着FB调用后,必须重新打开需要的全局数据块。 注 使用相关指令OPN DB,可打开数据块。通过把参数传递到参数块,也可以打开数据块。 这样, 可以使用 “DB 4.DBW6” 作为实际参数。 在本例中,打开 DB 4。 推荐:如果可能,对数据块使用完整表示形式。 L DBW 10 DB ??

用户定义数据类型 (UDT) UDT 块作为模板 全局 DB (例如) Flour Milk Eggs Yeast Sugar 配方 1 类型的元素 配方 2 Flour Milk Eggs Yeast Sugar Flour Milk Eggs Yeast Sugar 根据UDT建立的 DB 配方 3 Flour Milk Eggs Yeast Sugar 用法 用户定义数据类型用于: • 建立结构化数据块, • 建立包含几个相同单元的矩阵, • 在带有给定结构的FC和FB中建立局部变量(见“功能和功能块”一章)。 用户定义数据类型是存放在硬盘上的 UDT 块。 当建立数据块时, 它可以用作 “模板”节省录入时间。 用户定义数据类型 用户定义数据类型由基本数据类型和其他用户定义数据类型组成。 (UDT) 这些数据类型不能存储在PLC中。 例如:存储配方数据(见下页)。

输入UDT块 输入数据类型 通过选择菜单 File - > New 和对象名UDT.. .,在LAD/STL/FBD编辑器中选择UDT。 输入需要的数据类型。 必须填写“Name”和“Type”列,但是,可以空着“Initial Value”和 “Comment”这两列。 保存数据类型 最后,保存数据结构 (鼠标在“Save”图标上单击)。

根据数据类型建立数据块 建立 DB 定义一个数据类型并把它存为一个UDT 块,就可以用相同的数据结构建立几个数据块。 操作 1. 在程序编辑器中选择菜单 File - > New 。 2. 选择项目、程序和DB。 3. 激活选项“Data block referencing a user-defined data type”。 4. 在“Reference”中选择UDT 块。 5. 保存数据块。

举例:UDT中矩阵 声明查看 数据查看 举例 如果在一个数据块中存放几个相同的结构,就可以用UDT作为矩阵数据类型。 如果在符号表中为数据块DB11 分配了符号名“Cake”,用户程序就可以使用符号,如下: L "Cake".Recipe[2].Eggs 从数据块“Cake”的第2个配方中装入“鸡蛋数”。 注 要修改成分的数量就需要切换到 “Data View” ,在“Actual Value”列用所需要的值覆盖初始值。 若后来修改了UDT 块的结构,就需要重新建立包含UDT的数据块。同样,所有对该数据块的访问都要刷新,最简单的方法就是使用源程序。 可以给 UDT 块起符号名。

练习12.1: 数据块和数据格式 BIN IB1 DB10. DBW2 DB11. DBW8 + = QW6 BCD I0.7=“0” : BEC MW2 MW4 BCD IB2 BIN + MW6 MW8 BCD IB3 BIN = 练习步骤 (1)建立一个新块FC33,并按下列要求编写程序。 (2)把IB1与数据块DW10中的DBW2相加,其和存储到DB11中的DBW8里。 (3)将IB2和IB3的数值相加,结果存在DB11的DBW10中。 (4)I0.7=0时,在QW6上显示(2)的计算结果。I0.7=1时,在QW6上显示(3)的计算结果。 提示 IB2和IB3输入的是BCD码十进制数,在运算之前必须转换为二进制数。在转换之前必须把两位组成的BCD数(IB2)扩展为四位BCD数。 BIN DB11. DBW10 QW6 BCD : BE

练习12.2:瓶装线编程- 数据存储 数据块 DB5 空瓶 (MW 100) 变量: empty 满瓶 (MW102) 变量: full 变量: broken 目的 在前例中,在存储器字中存储了产量数据 (总数,空瓶数和碎瓶数)。 这些存储器字都不是可保持的,如果执行全启动,产量数据就会丢失。为了防止发生这样的事情,应该把数据存放在数据块中。 操作 1. 在S7程序“FILL”中建立一个数据块 DB 5,其中包含指定变量,数据类型是 INT。 2. 修改 FC 18,把产量数据(总数,空瓶数和碎瓶数)存放在DB 5中。 3. 下载这些块并在培训单元上测试编写的程序。 结果 应正常工作。