《UnityPro编程培训教程第08章DFB和诊断DFB.ppt》由会员分享,可在线阅读,更多相关《UnityPro编程培训教程第08章DFB和诊断DFB.ppt(21页珍藏版)》请在三一办公上搜索。
1、,第八章DFB&诊断 DFB,导出功能块,DFB:用户逻辑被封装在一个功能块当中,能够多次重用(满足应用的特殊要求)使用设计人员编写 DFB 功能块模型,称为 DFB 类型最终用户创建这个模块类型的数据映象,称为“实例”,并输入各个功能块实例的参数设计人员和用户之间可将DFB导出/导入DFB 编码在CPU 中只装载一次DFB 可以被保护 DFB 可被创建它的应用程序使用,也可以放在功能块库当中,被所有的应用程序使用,原理,DFB 包括:输入/输出参数公共或私有内部变量(声明)由LD,IL,ST,FBD语言编写的一个或多个段注:一个 DFB 可以在程序段内嵌套调用其它DFB.DFB 用于 结构化
2、应用程序简化程序设计和输入提高程序的可读性简化调试保护技术秘密,结构,创建DFB类型名称:最多32 个字符.参数:输入,输出,输入/输出 内部变量:公共:可被应用程序访问 私有:不能被应用程序访问编码段:可以用 LD,IL,ST 或 FBD语言编写遵循 IEC 标准,一个DFB只包含一个程序段 不遵循 IEC 标准,一个DFB可包含几个程序段(推荐)注释:最多1024 个字符,不允许使用格式字符描述文件和保护等级,输出,创建 原理,打开 Unity Pro 应用创建新的 DFB 类型编辑新创建的 DFB 类型的属性编辑 DFB 的参数在一个或多个段中输入 DFB 代码分析 DFB 类型并使它有
3、效调试 DFB 类型导出 DFB(如果需要)用于其它应用程序使用 DFB,属性,“DFB 类型”在数据编辑器中键入,选择 DFB 并右击=properties给出关于 DFB 类型的信息在写模式下可以有一些属性:名称注释保护:选择保护等级和密码(选择后自动询问)注:独立于应用保护Diag:定义该 DFB 是否可被用户用作诊断 DFB,I/O 接口,输入:最多 32 个对于 DFB 为只读模式从应用程序中传输数值给 DFB类型和名称(最多32 个字符)输出:最多 32 个对于 DFB 为可写模式从 DFB中传输数值给应用程序类型和名称(最多32 个字符)输入/输出:最多 32 个对于 DFB 为
4、可读/可写模式传输数值给 DFB,经过运算、修改后返回给应用程序类型和名称(最多32 个字符),输出,变量,私有:不限制 DFB 的内部变量只用于 DFB 编程(例如:中间计算)名称(最多 8 个字符)公共:不限制DFB 的内部变量 在调整模式下可以由应用程序或用户在功能块外读取(有读写权限)名称(最多 8 个字符)公共变量的数值,经由应用程序调整修改,可以通过设定%S94为 1去替换初始值,输出,代码,组织成代码段:遵循 IEC标准,一个DFB 包含单个代码段 不遵循 IEC 标准,一个 DFB包含几个代码段代码段通过IL,ST,LD,FBD编写名称(最多 32 个字符)有效条件 保护属性(
5、无保护,写保护,读/写保护)注释(最多 256 个字符)只使用为功能块定义的参数或系统字和位进行编程,输出,举例:创建,名称:Parts_counter输入:Rst:计数器复位Preset:计数器预置值Count:计数器输入输出:Done:达到预置值信号公共变量:Cur_val:通过计数输入累加得到的当前值代码描述表,使用 原理,打开 Unity Pro 应用导入 DFB 类型(如果需要带版本控制)创建 DFB 实例打开程序段在程序段中使用 DFB 实例修改参数(初始值)下载并测试程序,使用 举例,创建 DFB 实例:除去事件任务和 SFC 转换,可在应用程序的所有任务中创建 DFB 实例DF
6、B 实例用作: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),原理,登记,报警登记错误登记指令 REG
7、DFB()当错误发生时,把带时间戳的记录写入到诊断缓存区中.同一个DFB 可以登记多个记录(最多 4 个)只在 Diagnostic DFB 中使用语法REGDFB(AREA,16#0062,SLEN,CTRL,PIN,VALPIN,ESTS,ERID,STAT),记录注销,报警记录注销 注销记录 指令 DEREG()更新与错误有关的日期和时间缓冲区当所有观察器都得到确认信息时,消息从诊断缓冲区中被删除只在 Diagnostic DFB 内部使用语法OUT:=DEREG(ERID);注:报警被保持在诊断缓冲区中,并可以被所有观察器读取,直到错误被确认为止(对于需要确认的错误)。,创建,激活Application Diagnostics选项(Tool=Project settings)在变量编辑器中创建 DFB 类型或如果需要,导入诊断 DFB 的 模板 的源代码在这个 DFB 类型的属性中,使得 Diag 选项有效声明 DFB 输入/输出和内部变量 注:所有需要监测的输入,其 Diag 属性必须被选中,创建(续),键入描述信息键入代码使用 REGDFB()和 DEREG()指令注:PIN 参数是被监测的输入管脚的顺序编号创建 DFB 实例定制缺省消息调试 DFB 导出 DFB,实 验,实验,DFB 的创建及调用,DFB 的创建及调用(续),