文章插图
图1 基本功能块的结构图2 功能块外部接口
文章插图
图2 功能块外部接口IEC61499定义了描述功能块的通用模型和方法,以图形和文本两种方式表示 。为使功能块定义易于保存和移植,採用可扩展标记语言XML[4]定义系统、设备、资源和功能块,这样有可能在Internet上传播功能块的定义,并利用web浏览器查看它 。1.2.2 资源(Resource)资源是包含在设备里的一个功能单元 。在一个设备里可以在不影响其他资源的情况下对一条资源执行创建、构造、参数化、启动、删除操作 。资源的功能,是接收来自过程和通讯接口的数据和事件、处理这些数据和事件,并给过程和通讯接口返回数据和事件 。一条资源包括一个本地套用(或分散式套用的本地部分)、过程映射、通讯映射和调度函式 。将服务接口功能块SIFB和基本、複合功能块联合使用形成资源以提供一个分散式控制套用的本地部分如图3所示 。1.2.3 设备(Device)设备是多条资源的容器,并提供这些资源与通讯网路、感测器和执行器之间的接口 。这些接口提供的服务由支持分散式套用的专用资源中的SIFB完成 。通讯网路把各分散设备集成为一个完整的系统 。这样,分布在不同物理设备中的功能块形成了一个真正的分散式套用,如图4所示 。图3 IEC 61499资源模型
文章插图
图3 IEC 61499资源模型图4 分散式套用的功能块连线
文章插图
图4 分散式套用的功能块连线1.3 功能块的优势功能块由使用软体组件中获得很多优势[5]:(1)功能块反映了现实世界 。设计一个套用时,一个功能块表示控制系统设计中的一个功能实体,各功能块实体组合成控制系统 。(2)功能块是稳定的 。功能块是已经证明有效的软体单元,一般不会有大变动,用户可在不同套用中使用同一功能块 。功能块封装的算法,在不同控制系统设计中可不做任何修改直接使用 。(3)功能块降低複杂性 。用户可使用一个功能块而不用关心它内部如何工作,因为功能块可隐藏其内部算法的複杂性,开发一个套用只需创建并连线多个功能块 。(4)功能块可重用 。验证有效的功能块可随库发布,因此可被其他开发者使用 。功能块的以上优点给系统设计者和最终用户带来以下益处:(1)利用功能块开发套用可大大减少控制软体的数量 。(2)开发控制系统的时间缩短 。(3)使用相同功能块的系统具有一致行为 。(4)已证明有效的设计方案可重複使用2. 基于功能块的系统设计模式在IEC 61499体系架构下,常用设计模式有三种[6]:分散式套用、代理和MVC 。2.1 分散式套用利用此模式设计控制系统,首先根据所实现控制系统的功能要求用功能块原始连线图定义此分散式套用,其中每个功能块对应相应的控制功能 。接着选择适当的包含这些核心功能块的资源,并根据实现需要把资源包含在不同设备里 。然后将套用中的功能块映射到相应资源中的相应功能块 。最后利用通讯服务接口功能块实现不同资源和设备中的功能块之间事件和数据的互连,以达到分散式套用的信息流通讯要求 。2.2 代理(proxy)代理模式通过建立一个远程伺服器的本地代理而把客户与伺服器分离 。当客户要求伺服器提供服务时,它询问本地代理 。于是代理向原始伺服器发出服务请求 。IEC 61499环境下这种模式的一种使用方法是利用SIFB为那些不兼容IEC 61499标準的设备提供代理 。2.3 MVC(Model/View/Controller)IEC 61499环境下一般使用改进MVC模式进行IPMCS的建模、仿真和测试 。在此模式下,Model、View和Controller都是IEC 61499基本功能块 。Model块表示受控系统或设备的行为,View块表示与一个或多个Model块关联的图形显示,Controller块封装对一个或多个Model块执行的控制功能,并提供与其他Controller块集成所需的事件和数据接口 。同时,设备与用户互作用由人机互作用HMI元素表示,它也是一个功能块 。改进的MVC框图如图5 。图5 MVC的改进框图3.系统设计和仿真实例利用FBDT(FB Developer Kit)构造的套用DRILL_MVCL完成钻孔机的控制和监视功能 。系统由MODEL、VIEW、CONTROL和HMI四个设备组成,分别完成MVC模式下Model, View和Controller的功能,而HMI则处理人机互作用,如图6所示 。图6 DRILL MVCL的结构LL资源里的功能块网路每个设备中包含多条资源 。以CONTROL设备为例,它含LOAD、SUPPLY、DRILL、UNLOAD和TAKEOFF资源,如图7所示 。LOAD资源控制工件的装载,SUPPLY资源控制将工件通过传送带传送至钻孔机下,DRILL则控制钻孔机对工件钻孔,UNLOAD将钻过孔的工件从钻孔机处卸载,TAKEOFF则把工件从流程上取出 。资源功能的实现依赖于其内部功能块集合 。以CONTROL设备中的DRILL资源为例,它包含START,DRILL_SENSE,SLIDE_SENSE,CTL,SLIDE_ACT和SLIDE_SENSE功能块,如图6所示 。START是启动功能块,完成资源的初始化功能,由图中事件连线可知,START发出COLD冷启动事件,导致DRILL_SENSE块的INIT事件发生,它初始化后发出INI0事件,并依次导致SLIDE_SENSE、SLIDE_ACT和DRILL_ACT初始化 。DRILL_SENSE和SLIDE_SENSE是SUBSCRIBER预定功能块,它们从上游资源的PUBLISHER发布功能块中获取事件和数据;SLIDE_ACT和DRILL_ACT是发布功能块,它们与下游资源中的预定功能块连线并把所需的事件和数据传送过去 。这四个块都是通讯服务接口功能块CSFIB,它们的作用在于形成此分散式套用中指明的事件和数据流,完全服务于核心块CTL 。CTL块完成滑片和钻头的控制功能 。例如,DSENSE事件到来时,CTL採样DHOME、DEND和DSPIN数据接口上的值,算法执行后输出ACT事件,并由DRILL_ACT发布出去,控制钻头钻孔 。利用运行环境,DRILL_MVCL系统的仿真结果如图8所示 。HMI视图表示相应变数的当前状态,用橙、白灯代表,并可进行相应控制 。VIEW视图是钻孔流程的模拟视图,图中显示一个在传送带上传送的未钻孔工件和滑片上的已钻孔工件 。图8 DRILL_MVCL系统的仿真运行