第八章 DFB & 诊断 DFB.

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
第2章 PLC的结构及编程软件的使用 学习内容 S7-200系列PLC的外部结构 S7-200系列PLC的性能 PLC的编程语言与程序结构
M340可编程控制器技术培训课程 -编程软件篇.
Oracle数据库 Oracle 子程序.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
Unity V2 的热备解决方案 1.
FC OB1 FB SFC 操作系统 SFB OBs 结构化编程 其它
注 册 在浏览器中输入如下网址:
第三章 项目设定.
第六章 应用程序结构.
第八章 DFB & 诊断 DFB.
Hadoop I/O By ShiChaojie.
结构化编程 FC OB1 FB SFC 操作系统 SFB OBs 其它
软件调试 目录 页 软件调试的检查表 下装用户程序到 CPU 排除停机错误 系统功能测试的步骤 记录程序的修改 项目文件的归档
第九章 功能库管理.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
第十章 应用程序测试.
第五章 变量及数据.
第十三章 应用程序转换器.
SOA – Experiment 3: Web Services Composition Challenge
SVN服务器的搭建(Windows) 柳峰
走进编程 程序的顺序结构(二).
Visual Studio Team System 简介
第三章 项目设定.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第一讲: 基本流程(1).
S 数控机床故障诊断与维修.
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
科研信息管理工具 Endnote X4 王辉.
Windows 7 的系统设置.
VSS使用简介 王树升
第五章 变量及数据.
C语言程序设计 主讲教师:陆幼利.
第六章 应用程序结构.
$9 泛型基础.
数据块中的数据存储 目录 页 目标 …… 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
第二章 安全管理.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
ES 索引入门
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
第九章 功能库管理.
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
HSC高速输出例程 HORNER APG.
VRP教程 2011.
Delphi 7.0开发示例.
符号 目录 页 绝对寻址和符号寻址… 符号寻址- 概述… 打开符号表 编辑:查找和替换…… 查看:过滤器 … 查看:排序…… 符号表:导出
Python 环境搭建 基于Anaconda和VSCode.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
F1-20P PLC简易编程器的使用.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
滤波减速器的体积优化 仵凡 Advanced Design Group.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
测试功能 目录 页 程序的状态监视功能 ……………... 2 程序状态监视的模式 …………………………. 3
Presentation transcript:

第八章 DFB & 诊断 DFB

导出功能块 DFB : 用户逻辑被封装在一个功能块当中,能够多次重用(满足应用的特殊要求) 使用 设计人员编写 DFB 功能块模型,称为 ‘DFB 类型’ 最终用户创建这个模块类型的数据映象,称为 “实例”, 并输入各个功能块实例的参数 设计人员和用户之间可将DFB导出 / 导入 DFB 编码在CPU 中只装载一次 DFB 可以被保护 DFB 可被创建它的应用程序使用,也可以放在功能块库当中,被所有的应用程序使用

原理 DFB 包括 : 输入/输出参数 公共或私有内部变量 (声明) 由LD, IL, ST, FBD语言编写的一个或多个段 注 : 一个 DFB 可以在程序段内嵌套调用其它DFB. DFB 用于 结构化应用程序 简化程序设计和输入 提高程序的可读性 简化调试 保护技术秘密 improve the readability of the program They provide, in Ladder language, a graphic functional view of the block making programming and debugging easier make debugging easier the PLC variables handled by the DFB function block are identified on its interface reduce the volume of code generated since the code corresponding to the DFB is only loaded once, however many calls to the DFB there are in the program

结构 创建DFB类型 名称 : 最多32 个字符. 参数 : 输入, 输出, 输入/输出 内部变量 : 公共 : 可被应用程序访问 私有 : 不能被应用程序访问 编码段 : 可以用 LD, IL, ST 或 FBD语言编写 遵循 IEC 标准, 一个DFB只包含一个程序段 不遵循 IEC 标准 , 一个DFB可包含几个程序段 (推荐) 注释 : 最多1024 个字符,不允许使用格式字符 描述文件和保护等级 DFB 类型名称 输入 变量复制 I/O 公共变量 私有变量 DFB 代码 输出

创建 – 原理 打开 Unity Pro 应用 创建新的 DFB 类型 编辑新创建的 DFB 类型的属性 编辑 DFB 的参数 项目浏览器 创建 DFB 类型 编辑 DFB 类型 编辑 DFB 参数 编辑 DFB 代码 分析 DBF 类型 调试 DFB 类型 打开 Unity Pro 应用 创建新的 DFB 类型 编辑新创建的 DFB 类型的属性 编辑 DFB 的参数 在一个或多个段中输入 DFB 代码 分析 DFB 类型并使它有效 调试 DFB 类型 导出 DFB (如果需要) 用于其它应用程序 使用 DFB

属性 “DFB 类型” 在数据编辑器中键入, 选择 DFB 并右击 => properties 给出关于 DFB 类型的信息 在写模式下可以有一些属性 : 名称 注释 保护 : 选择保护等级和密码 (选择后自动询问) 注 : 独立于应用保护 Diag :定义该 DFB 是否可被用户用作诊断 DFB When a DFB is protected in "Read Only" or in "No read& Write" mode, it is possible to export the DFB. But the "*.XDB" file is encoded.

I/O 接口 输入 : 最多 32 个 对于 DFB 为只读模式 从应用程序中传输数值给 DFB 类型和名称 (最多32 个字符) 输出 : 最多 32 个 对于 DFB 为可写模式 从 DFB中传输数值给应用程序 输入/输出 : 最多 32 个 对于 DFB 为可读/可写模式 传输数值给 DFB, 经过运算、修改后返回给应用程序 DFB 类型名称 输入 I/O 公共变量 私有变量 DFB 代码 输出 For each of the DFB parameters, the following object families may be used : (1) Derived data family, except input/output derived data types (IODDT) (2) All generic data families, except the ANY_ARRAY family, (3) Except for EBOOL-type static variables, with Quantum PLCs, (4) Except for BOOL and EBOOL-type variables, (5) These parameters cannot be used outside the call for the function block.

变量 私有 : 不限制 DFB 的内部变量 只用于 DFB 编程 (例如 : 中间计算) 名称 (最多 8 个字符) 公共 : 不限制 输入 变量复制 I/O 公共变量 私有变量 DFB 代码 私有 : 不限制 DFB 的内部变量 只用于 DFB 编程 (例如 : 中间计算) 名称 (最多 8 个字符) 公共 : 不限制 在调整模式下可以由应用程序或用户在功能块外读取 (有读写权限) 公共变量的数值, 经由应用程序调整修改, 可以通过设定%S94为 1去替换初始值 输出 For each of the DFB parameters, the following object families may be used : (1) Derived data family, except input/output derived data types (IODDT) (2) All generic data families, except the ANY_ARRAY family.

代码 组织成代码段 : 遵循 IEC标准 , 一个DFB 包含单个代码段 不遵循 IEC 标准, 一个 DFB包含几个代码段 代码段 输入 变量复制 I/O 公共变量 私有变量 DFB 代码 组织成代码段 : 遵循 IEC标准 , 一个DFB 包含单个代码段 不遵循 IEC 标准, 一个 DFB包含几个代码段 代码段 通过IL,ST, LD, FBD编写 名称 (最多 32 个字符) 有效条件 保护属性 (无保护, 写保护, 读/写保护) 注释 (最多 256 个字符) 只使用为功能块定义的参数或系统字和位进行编程 输出

举例 : 创建 名称 : Parts_counter 输入 : Rst : 计数器复位 Preset : 计数器预置值 输出 : Done : 达到预置值信号 公共变量 : Cur_val : 通过计数输入累加得到的当前值 代码 描述表

使用 – 原理 打开 Unity Pro 应用 导入 DFB 类型 (如果需要带版本控制) 创建 DFB 实例 打开程序段 项目浏览器 创建 DFB 实例 打开一个程序段 编辑程序 修改参数 传输 & 测试程序 打开 Unity Pro 应用 导入 DFB 类型 (如果需要带版本控制) 创建 DFB 实例 打开程序段 在程序段中使用 DFB 实例 修改参数 (初始值) 下载并测试程序

使用 – 举例 创建 DFB 实例: 除去事件任务和 SFC 转换,可在应用程序的所有任务中创建 DFB 实例 DFB 实例用作 : LD 或 FDB 语言中的标准功能块 ST 或 IL 语言中的基本功能

概览 用于应用程序诊断的工具 PLC 程序中的过程控制 内置诊断 追溯错误的起源 (直接在 PLC 层次) 可以创建用户自己的诊断 DFB (Quantum & Premium) Schneider 预定义的诊断 DFB 列表 ALRM_DIA : 简单的事件监测 (Quantum & Premium) EV_DIA : 事件监测 (Quantum & Premium) MV_DIA : 运动监测 (Quantum & Premium) ASI_DIA & A2SI_DIA : AS-i 总线上的设备监测(只用于 Premium)

原理 检测 诊断DFB 记忆 诊断缓冲区 查看 观察器 应用 消息 观察器 1 确认 登记 诊断缓冲 区 日期 观察器 2 PLC

登记 报警登记 错误登记指令 REGDFB ( ) 当错误发生时,把带时间戳的记录写入到诊断缓存区中. 只在 Diagnostic DFB 中使用 语法 REGDFB (AREA, 16#0062, SLEN, CTRL, PIN, VALPIN, ESTS, ERID, STAT) Input Parameters

记录注销 报警记录注销 ‘注销记录’ 指令 DEREG ( ) 更新与错误有关的日期和时间缓冲区 当所有观察器都得到确认信息时,消息从诊断缓冲区中被删除 只在 Diagnostic DFB 内部使用 语法 OUT := DEREG(ERID); 注: 报警被保持在诊断缓冲区中,并可以被所有观察器读取,直到错误被确认为止 (对于需要确认的错误)。 Inputs parameters Outputs parameters

创建 激活Application Diagnostics选项 (Tool => Project settings) 在变量编辑器中创建 DFB 类型 或 如果需要,导入诊断 DFB 的‘ 模板 ’ 的源代码 在这个 DFB 类型的属性中, 使得 Diag 选项有效 声明 DFB 输入/输出和内部变量 注 : 所有需要监测的输入,其 Diag 属性必须被选中

创建 (续) 键入描述信息 键入代码 使用 REGDFB( ) 和 DEREG ( ) 指令 注 : PIN 参数是被监测的输入管脚的顺序编号 创建 DFB 实例 定制缺省消息 调试 DFB 导出 DFB Example : One diagnostic DFB with 5 inputs and only 3 are monitored. The PIN parameter of the registration function has the following value : PIN = 1 PIN = 2 PIN = 3

实 验

实验 DFB 的创建及调用 步骤 动作 1 在 Project Browser 中双击 Derived FB Types,访问数据编辑器。 2 定义一个 DFB,名为 conveyor_DFB。 3 在 inputs 文件夹下面定义该 DFB 的输入变量: run,类型为 EBOOL box,类型为 EBOOL stop,类型为 EBOOL 4 在 outputs 文件夹下面定义该 DFB 的输出变量: running,类型为 EBOOL 5 在 public 文件夹下面定义该 DFB 的公共变量: flash,类型为 EBOOL timer1,类型为 TIME counter1,类型为 UDINT reset1,类型为 BOOL 6 在 Sections 文件夹下面定义该 DFB 的代码段: 名称为 conveyor_control,使用 LD 语言进行编程。

DFB 的创建及调用(续) 步骤 动作 7 双击 Conveyor_control,进入 LD 编程界面。 8 在主任务的代码段中打开前面编写好的 Conveyor 代码段,选中(Edit -> Select All)所有的控制代码进行复制(Edit -> Copy),然后在 Conveyor_control 代码段中进行粘贴 (Edit -> Paste)。 9 回到数据编辑器,右键 Conveyor_DFB,选择 Analyze Type 对先前定义的DFB作类型分析。如有错误或者警告,双击输出窗口中的信息行对相应的代码进行修改,之后重新进行 Analyze Type 的操作,直到代码正确无误为止。 10 在主任务当中新建一个代码段,名为 conveyor_fbd,选用 FBD 语言进行编程。 11 双击 conveyor_fbd,访问 FBD 语言编辑界面。 12 在 FBD 语言编辑器中单击右键,访问 FFB Input Assistant 命令,在 FFB Type字段的后面选择 按钮,访问 Application 本地库,在库中选择之前定义好的 Conveyor_DFB,把它放置到编辑器当中,实例名为 conveyor1。 13 为 conveyor1 连接变量,如下图所示: 14 为 Conveyor_DFB 添加一个输入管脚,名为 feedback,类型为 EBOOL。右键 Conveyor_DFB,选择 Analyze Type 命令分析该 DFB 类型。观察 conveyor1 的管脚变化。