UnitytrainingcourseV2.0-module3.5:Applicationstructure1UnityPro编程培训教程第六章应用程序结构UnitytrainingcourseV2.0-module3.5:Applicationstructure2概述应用管理单站多实例软件完整的应用程序保存在单一文件中(*.STU)版本号管理软件结构任务(单任务或多任务,....)程序段和子程序功能组件导入/导出程序源文件部分或全部(一个或更多程序段,整个应用,...)保护部分或全部(一个或更多程序段,整个应用,...)程序分析UnitytrainingcourseV2.0-module3.5:Applicationstructure3软件结构不同任务单个任务:主任务(MAST)多任务:MAST+快速任务(FAST)+辅助任务(AUX)事件任务:EVT或TIMER执行模式循环执行周期执行程序段任务被组织为多个程序段子程序-SR在MAST,FAST和AUX任务当中,程序段可以调用子程序UnitytrainingcourseV2.0-module3.5:Applicationstructure4任务MAST:主任务由程序段&子程序组成使用LD,FBD,IL,ST或SFC编程循环或周期扫描(0..255ms,0=循环操作)由看门狗,系统位或字控制FAST:快速任务由程序段&子程序组成使用LD,FBD,IL,ST编程周期执行(1..255ms)由看门狗,系统位或字控制UnitytrainingcourseV2.0-module3.5:Applicationstructure5任务(续)EVT或TIMER:事件任务减少应用程序对输入/输出模块,时间定时器事件的响应时间单个程序段,可使用LD,FBD,IL,ST语言编程EVTi:事件来自输入/输出模块TIMERi:事件来自定时器(ITCNTRL功能)AUX:辅助任务用于较慢的任务处理可以编写最多4个辅助任务程序(AUX0至AUX3),在PremiumTSXP575••和Quantum140CPU6••••上由程序段&子程序组成使用LD,FBD,IL,ST编程周期执行(从10ms至2.55s)UnitytrainingcourseV2.0-module3.5:Applicationstructure6程序处理读输入写输出读输入程序处理写输出循环n循环n+1执行模式循环周期S.P.=系统处理(保持)程序处理读输入写输出S.P.程序处理读输入写输出S.P.周期周期UnitytrainingcourseV2.0-module3.5:Applicationstructure7多任务多任务=MAST和(FAST或EVT或AUX)任务的优先级事件任务快速任务主任务辅助任务UnitytrainingcourseV2.0-module3.5:Applicationstructure8多任务(续)执行举例:循环主任务,周期快速任务(周期=20ms)UnitytrainingcourseV2.0-module3.5:Applicationstructure9操作模式新建任务选择“Task”文件夹右击=NewTask选择类型(快速或辅助任务)选择周期和看门狗点击OK确认所有输入注:如果使用AUX任务,MAST任务必须是周期的UnitytrainingcourseV2.0-module3.5:Applicationstructure10程序段每个任务可以由许多程序段组成无限制与程序段相关联的属性名称:最多32个字符语言:LD,FBD,IL,ST或SFC相关任务:Mast,Fast,Event,Aux,SR条件(可选):有效位执行,直接配置注释:最多256个字符保护:写保护,读/写保护程序段的执行顺序:按在浏览器中显示的顺序执行UnitytrainingcourseV2.0-module3.5:Applicationstructure11操作模式新建程序段选择“section”文件夹右击=NewSection输入参数点击OK确认所有输入应用导入一个程序段导出一个程序段(选择要导出的程序段)删除一个程序段(选择要删除的程序段)UnitytrainingcourseV2.0-module3.5:Applicationstructure12子程序单独编程,可以使用LD,IL,ST,FBD编程可以被程序程序段或另一个子程序调用嵌套层数限制为8.子程序不能调用自己(不能递归).程序段不能调用属于其它任务的子程序UnitytrainingcourseV2.0-module3.5:Applicationstructure13功能视图PLC项目的结构按照实际过程的结构进行组织:功能组件的树状结构多任务管理简化编程环境创建模块化应用提高程序重用性组件导入/导出服务,变量的重新分配UnitytrainingcourseV2.0-module3.5:Applicationstructure14原则对功能分析的“直接翻译”可重复使用和嵌套不同的组件使用程序段构建PLC程序的基本组件LD,IL,ST,FBD或带宏步的SFC使用指令,EFB,DFB的功能库用户功能块-封装程序I/O接口可以参数化使用非定位变量:公共和私有使用LD,ST,IL,FBD编写代码基本和标准指令功能组件程序段EFBs&DFBs基本指令UnitytrainingcourseV2.0-module3.5:Applicationstructure15功能视图StationFunctional文件夹允许:访问,创建或删除功能组件导出或导入整个项目访问项目属性保护项目功能组件文件夹包括:程序文件夹由一个或几个程序段组成仿真表文件夹由一个或几个仿真表组成操作屏文件夹由一个或几个操作屏组成更低层次的功能组件UnitytrainingcourseV2.0-module3.5:Applicationstructure16创建功能模块创建直接通过导入创建新的功能组件添加/创建程序段,事件,流程图,表格或屏幕例1:程序段,事件或流程图已经存在结构视图中简单拖拽,在功能组件上放置程序段例2:程序段,事件或流程图在结构视图中不存在当从功能视图中创建程序段时:相关任务必须在创建程序段的时候指定UnitytrainingcourseV2.0-module3.5:Applicationstructure17管理移动功能组件(简单拖拽移动功能组件)分离功能组件(断开功能模块与相关对象(程序,表格,屏幕)之间的联系)删除一个或多个功能组件不删除关联的代码段和仿真表删除关联的代码段和仿真表导入/导出功能组件不重新分配使用导入向导重新分配保护功能组件中的程序段激活功能组件中的程序段条件(强置0,强置1,强置取消)UnitytrainingcourseV2.0-module3.5:Applicationstructure18导入/导出功能导出功能复制文件,项目程序的部分或全部生成的文件包括未受保护数据和受保护数据的引用由扩展文件决定的导出类型(举例:*.XDB导出DFB类型,等.)导入功能获取已有项目程序的部分或全部应用前自动存储冲突管理(如果在导入时,元素已经存在)导入之后必须进行代码分析UnitytrainingcourseV2.0-module3.5:Applicationstructure19导出文件类型UnitytrainingcourseV2.0-module3.5:Applicationstructure20导出操作通过对话框选择导出单元右击=Export选择文件夹和文件名如果有选择,选择同时导出点击Export确认注:有读/写保护的程序段不能导出.受保护的DFB可以导出,但导出文件*.XDF被加密.UnitytrainingcourseV2.0-module3.5:Applicationstructure21导入操作通过对话框选择导入单元的位置右击=Import保存应用选择文件夹和要导入的文件选择是否使用导入向导点击Import确认注:导入整个应用程序,打开并选择*.XEF文件选择使用导入向导UnitytrainingcourseV2.0-module3.5:Applicationstructure22冲突管理导入错误报告对话框(如果元素已经存在)变量管理:保持全部替换全部重命名:双击一个单元的Rename列UnitytrainingcourseV2.0-module3.5:Applicationstructure23向导在导入期间,可以使用助手以方便元素进行重新指定选中导入选项“withwizard每种元素类型有一个选项卡(DDT,DFB,变量,程序段,子程序,事件)通用命令查找和替换(可以替换字符串)调用和保存UnitytrainingcourseV2.0-module3.5:Applicationstructure24全局保护激活程序段的全局保护1–右击并选择属性2–使保护有效3–输入密码UnitytrainingcourseV2.0-module3.5:Applicationstructure25程序段保护保护程序段(在全局保护已激活的前提下)1–右击并选择程序段的属性2–选择保护:只读读/写UnitytrainingcourseV2.0-module3.5:Applicationstructure26分析应用项目允许检测每个应用程序修改后产生的错误在输出窗口自动显示在分析时检测到的所有类型的错误在输出窗口出现消息,允许你通过双击直接访问出现错误的程序部分UnitytrainingcourseV2.0-module3.5:Applicationstructure27创建下拉菜单“Build”可以用于生成项目RebuildAllProject–创建可以下载至PLC或PLC仿真器的文件BuildProject–对现有项目的改变进行生成输出窗口UnitytrainingcourseV2.0-module3.5:Applicationstructure28人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。UnitytrainingcourseV2.0-module3.5:Applicationstructure29