第六章 应用程序结构

27
Unity training course V2.0 - module 3.5 : Application structure 1 第第第 第第第第第第

Upload: lamar-ferrell

Post on 30-Dec-2015

71 views

Category:

Documents


2 download

DESCRIPTION

第六章 应用程序结构. 概述. 应用管理 单站多实例软件 完整的应用程序保存在单一文件中 (*. STU) 版本号管理 软件结构 任务 (单任务或多任务, ....) 程序段和子程序 功能组件 导入 / 导出程序源文件 部分或全部 (一个或更多程序段, 整个应用, ...) 保护 部分或全部 (一个或更多程序段, 整个应用, ...) 程序分析. 软件结构. 不同任务 单个任务 : 主任务 ( MAST) 多任务 : MAST + 快速任务 ( FAST) + 辅助任务 ( AUX) 事件任务 : EVT 或 TIMER 执行模式 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 1

第六章

应用程序结构

Page 2: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 2

概述 应用管理

单站多实例软件 完整的应用程序保存在单一文件中 (*.STU) 版本号管理

软件结构 任务 ( 单任务或多任务 , ....) 程序段和子程序 功能组件

导入 / 导出程序源文件 部分或全部 ( 一个或更多程序段 , 整个应用 , ...)

保护 部分或全部 ( 一个或更多程序段 , 整个应用 , ...)

程序分析

Page 3: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 3

软件结构 不同任务

单个任务 : 主任务 (MAST) 多任务 : MAST + 快速任务 (FAST) + 辅助任务

(AUX) 事件任务 : EVT 或 TIMER

执行模式 循环执行 周期执行

程序段 任务被组织为多个程序段

子程序 - SR 在 MAST, FAST 和 AUX 任务当中 , 程序段可以调

用子程序

Page 4: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 4

任务

MAST : 主任务 由程序段 & 子程序组成 使用 LD, FBD, IL, ST 或 SFC 编程 循环或周期扫描 (0..255 ms, 0 = 循环操作 ) 由看门狗,系统位或字控制

FAST : 快速任务 由程序段 & 子程序组成 使用 LD, FBD, IL, ST 编程 周期执行 (1..255 ms) 由看门狗,系统位或字控制

Page 5: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 5

任务 ( 续 )

EVT 或 TIMER : 事件任务 减少应用程序对输入 / 输出模块,时间定时器事件的响应时间 单个程序段,可使用 LD, FBD, IL, ST 语言编程 EVTi : 事件来自输入 / 输出模块 TIMERi : 事件来自定时器 (ITCNTRL 功能 )

AUX : 辅助任务 用于较慢的任务处理 可以编写最多 4 个辅助任务程序 (AUX0 至 AUX3) ,在

Premium TSX P57 5•• 和 Quantum 140 CPU 6•••• 上 由程序段 & 子程序组成 使用 LD, FBD, IL, ST 编程 周期执行 ( 从 10 ms 至 2.55 s)

Page 6: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 6

程序处理

读输入 写输出 读输入

程序处理

写输出

循环 n 循环 n+1

执行模式 循环

周期S.P. = 系统处理 ( 保持 )

程序处理

读输入 写输出S.P.

程序处理

读输入 写输出S.P.

周期 周期

Page 7: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 7

多任务

多任务 = MAST 和 (FAST 或 EVT 或 AUX) 任务的优先级

事件任务 快速任务 主任务 辅助任务

Page 8: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 8

多任务 ( 续 )

执行 举例:循环主任务 , 周期快速任务 ( 周期 = 20 ms)

Page 9: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 9

操作模式 新建任务

选择 “ Task” 文件夹 右击 => New Task 选择类型 ( 快速或辅助任务 ) 选择周期和看门狗 点击 OK 确认所有输入

注 : 如果使用 AUX 任务 , MAST 任务必须是周期的

Page 10: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 10

程序段

每个任务可以由许多程序段组成 无限制

与程序段相关联的属性 名称 : 最多 32 个字符 语言 : LD, FBD, IL, ST 或 SFC 相关任务 : Mast, Fast, Event, Aux, SR 条件 ( 可选 ) : 有效位执行 , 直接配置 注释 : 最多 256 个字符 保护 : 写保护 , 读 / 写保护

程序段的执行顺序 : 按在浏览器中显示的顺序执行

Page 11: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 11

操作模式

新建程序段 选择 “ section” 文件夹 右击 => New Section 输入参数 点击 OK 确认所有输入

应用 导入一个程序段 导出一个程序段 ( 选择要导出的程序段 ) 删除一个程序段 ( 选择要删除的程序段 )

Page 12: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 12

子程序

单独编程 , 可以使用 LD, IL, ST, FBD 编程

可以被程序程序段或另一个子程序调用

嵌套层数限制为 8. 子程序不能调用自己 ( 不能递归 ).

程序段不能调用属于其它任务的子程序

Page 13: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 13

功能视图

PLC 项目的结构按照实际过程的结构进行组织 :

功能组件的树状结构 多任务管理简化编程环境

创建模块化应用

提高程序重用性 组件导入 / 导出服务 , 变量的重新分配

Page 14: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 14

原则

对功能分析的“直接翻译” 可重复使用和嵌套不同的组件 使用程序段构建

PLC 程序的基本组件 LD, IL, ST, FBD 或带宏步的 SFC 使用指令 , EFB, DFB 的功能库

用户功能块-封装程序 I/O 接口可以参数化 使用非定位变量 : 公共和私有 使用 LD, ST, IL, FBD 编写代码

基本和标准指令

功能组件

程序段

EFBs & DFBs

基本指令

Page 15: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 15

功能视图

Station Functional 文件夹允许 : 访问 , 创建或删除功能组件 导出或导入整个项目 访问项目属性 保护项目

功能组件文件夹包括 : 程序文件夹由一个或几个程序段组成 仿真表文件夹由一个或几个仿真表组成 操作屏文件夹由一个或几个操作屏组成 更低层次的功能组件

Page 16: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 16

创建功能模块

创建 直接 通过导入

创建新的功能组件 添加 / 创建程序段 , 事件 , 流程图 , 表格或屏幕

例 1 : 程序段 , 事件或流程图已经存在结构视图中 简单拖拽,在功能组件上放置程序段 例 2 : 程序段 , 事件或流程图在结构视图中不存在 当从功能视图中创建程序段时 : 相关任务必须在创建程序段的时

候指定

Page 17: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 17

管理

移动功能组件 ( 简单拖拽移动功能组件 )

分离功能组件 ( 断开功能模块与相关对象 ( 程序 , 表格 , 屏幕 ) 之间的联系 )

删除一个或多个功能组件 不删除关联的代码段和仿真表 删除关联的代码段和仿真表

导入 / 导出功能组件 不重新分配 使用导入向导重新分配

保护功能组件中的程序段

激活功能组件中的程序段条件 ( 强置 0, 强置 1, 强置取消 )

Page 18: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 18

导入 / 导出功能

导出功能 复制文件 , 项目程序的部分或全部 生成的文件包括未受保护数据和受保护数据的引用 由扩展文件决定的导出类型 ( 举例 : *.XDB 导出 DFB 类型 , 等

.)

导入功能 获取已有项目程序的部分或全部 应用前自动存储 冲突管理 (如果在导入时,元素已经存在 ) 导入之后必须进行代码分析

Page 19: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 19

导出文件类型

Page 20: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 20

导出操作

通过对话框 选择导出单元 右击 => Export 选择文件夹和文件名 如果有选择 , 选择同时导出 点击 Export 确认

注 : 有读 / 写保护的程序段不能导出 . 受保护的 DFB 可以导出,但导出文件

*.XDF 被加密 .

Page 21: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 21

导入操作

通过对话框 选择导入单元的位置 右击 => Import 保存应用 选择文件夹和要导入的文件 选择是否使用导入向导 点击 Import 确认

注 : 导入整个应用程序 , 打开并选择 *.XEF 文件 选择使用导入向导

Page 22: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 22

冲突管理

导入错误报告对话框 (如果元素已经存在 )

变量管理 : 保持全部 替换全部 重命名 : 双击一个单元的 Rename 列

Page 23: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 23

向导

在导入期间 , 可以使用助手以方便元素进行重新指定

选中导入选项 “ with wizard"

每种元素类型有一个选项卡 (DDT, DFB, 变量 , 程序段 , 子程序 , 事件 )

通用命令 查找和替换 ( 可以替换字符串 ) 调用和保存

Page 24: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 24

全局保护

激活程序段的全局保护

1 – 右击并选择属性

2 – 使保护有效

3 – 输入密码

Page 25: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 25

程序段保护

保护程序段 ( 在全局保护已激活的前提下 )

1 – 右击并选择程序段的属性

2 – 选择保护 : 只读 读 / 写

Page 26: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 26

分析应用项目

允许检测每个应用程序修改后产生的错误

在输出窗口自动显示在分析时检测到的所有类型的错误

在输出窗口出现消息,允许你通过双击直接访问出现错误的程序部分

Page 27: 第六章  应用程序结构

Unity training course V2.0 - module 3.5 : Application structure 27

创建

下拉菜单 “ Build” 可以用于生成项目 Rebuild All Project

– 创建可以下载至 PLC 或 PLC 仿真器的文件 Build Project

– 对现有项目的改变进行生成

输出窗口