




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、开放式工业自动化控制系统的软件框架2282007,43(13)ComputerE ngi neeri nga ndApplicatio ns计算机工程与应用 开放式工业自动化控制系统的软件框架易凡,徐华,王家廒,贾培发YIFan1,2XUHua1,2WANGJiaxin1,2JIAPeifa,1. 清华大学智能技术与系统国家重点实验室 .北京 1000842. 清华大学计算机科学与技术系 ,北京 1000841.StateKeyLabofIntelligentTechnologyandSystems,TsinghuaUniversity,Beijing10008 4,China 2.Depar
2、tmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing100084, ChinaE-mail:.anYIFan,XUHua,WANGJiaxin,etal?Softwareframeworkofopencontrolsystemsforindustrialautomation?Computer EngineeringandApplications,2007,43(13):228-232.Abstract:Thispaperproposesasoftwareframeworkof
3、opencontrolsystemsforindustrialaut omation,OCSIAsoftwareframework forshort,whichhashierarchicalarchitectureandcomprisesbasedrivelayer,corecontrollaye randsupervisoryapplicationlayer frombottomtotop.Basedrivelayerisresponsiblefordirectdrivingphysicaldevicesofvariou skindsofinterfacetypesincluding ser
4、ialport,parallelportandfieldbus,and,providestoptwolayerswithHardwareIndependent Interfaceintheformofchannels asadataserver.Corecontrollayerachievesindirectcontrolofphysicaldevicesbycommunica tingwithbasedriverlayerthrough channels,monitorssystemstatusesinreadtimemodeandpostsalarminformiontosuperviso
5、ryapplicationlayerwhenan exceptionalstatusOCCUrs.Supervisoryapplicationlayerprovidesinteractiveinterfacesbe tweensystemsupervisorandsystem, facilitatessystemsupervisortosuperviseandcontrolthewholesysteminreal-timemode.The correctnessandfeasibilityofOCSIA softwareframeworkisvalidatedbydesigningandimp
6、lementinganinstancemodelofatransf ercontrolsystem.Keywords:opencontrolsystems;softwareframework;industrialautomation 摘要 :提出了一种用于工业自动化领域的开放式控制系统软件框架.简称 OCSIA软件框架 .OCSIA 软件框架具有层次化结构 , 从低到高依次是基础驱动层 ,核心控制层和监管应用层 .基础驱动层负责直接驱动 包括串口 ,并口 ,现场总线等各种接口类型的物 理设备 .并作为数据服务器 .以通道的形式向上层提供硬件无关接口 .核心控制层 通过通道与基础驱动层通信 ,实
7、现对物理设备的 间接控制 :并实时监测系统状态 ,在系统状态发生异常时 ,向监管应用层发送报警 信息.监管应用层提供系统监管人员与系统的交 互接口 .方便系统监管人员对系统运行环境的实时监视和控制 .通过设计和实现一 个传输控制系统的实例模型验证了 OCSIA 软 件框架的正确性和可行性 .关键词:开放式控制系统 ;软件框架 ;工业自动化 文章编号 :10028331(2007)13 022805 文献标识码 :A 中图分类号 :TP3l1 1 引言 我国正在走一条 以工业化带动信息化 .以信息化促进工 业化 的新型工业化道路 .快速发展的信息技术在工业中的广 泛应用能够显着提高工业生产的效率
8、和效益 .更快 ,更好地促 进工业的现代化建设 .工业自动化是工业信息化建设中的一个重要方面 ,自动化 控制系统是自动化硬件设备和自动化软件系统的总称 .由于世 界上不同设备供应商提供的硬件设备纷繁复杂 .有些甚至不相 兼容.如何构建一个软件系统来有效集成工业自动化系统中所需的各种硬件设备成为一个关键问题开放式控制系统|1_,包 括四个特性 :可扩展性 ,互操作性 ,可移植性和可伸缩性 ,能够 较好解决上述问题 .在开放式控制系统的研究中 ,影响较大的包括美国的 O.MAC,日本的OSEC和欧洲的OSACA.其中,欧洲OSACAm是 用于FA系统的一种参考平台.PC ORC1是基于OSACA参
9、考 模型提出的一种开放式机器人控制系统参考平台,包括硬件平台,操作系统模块和应用软件模块三个层次 ,并在应用软件模 块中根据功能不同 ,进一步细分出管理模块 ,应用编程接口模 块和网络模块三个子组件 .RT0CH 是基于 OSACA 参考平台和 PC ORC参考模型提出的一种基于 RTLinux的开放式控制系 统.整个系统采用层次化 ,模块化设计 ,结构清晰,便于二次开 发.具有开放式控制系统的多种特性 .随着信息技术的快速革新 ,一些标准化技术已经应用到开 放式工厂自动化系统的构建中 .其中包括 Linux 开放源码操作 系统,面向对象软件工程,平台无关的Java编程语言,基于 Web的信息
10、发布等,以及其他一些规范和标准,如SQL语言方 便了数据的存储 ,查询和管理 ,OPC(OLEforProcessContro1) 和 XML 语言使得系统中不同应用程序间可以正确地交互,现场总线技术方便了智能现场设备间的快速互联和通信 .Mi. crosoft.NET和C#语言也为这一领域带来了新的机遇61.易凡,徐华,王家廒,等:开放式工业自动化控制系统的软件框架 2007,43(13)229 以RTOC-为参考.本文提出了一种具有层次化结构的开放式工业自动化控制系统 OCSIA(OpenContro|Systemsfor IndustrialAutomation)的软件框架.这个软件框架
11、具有基础驱 动层,核心控制层和监管应用层三个层次 ,能够为工业自动化 控制系统的开发提供一个良好的框架支持 .本文第 2部分简要 介绍面向对象方法学 ,设计模式和框架 ,第 3部分概述这一层 次化软件框架的结构特点和各层次的功能 ,第 4 部分详述这一 软件框架各层次构设计思想 ,第 5 部分通过一个简单的实例模 型验证这一软件框架的可行性 ,第 6 部分给出本文的总结和对 未来工作的展望 .2 面向对象 , 设计模式和框架 本部分简要介绍系统软件开发中经常用到的面向对象方 法学 ,设计模式和框架技术 .面向对象(Object- Oriented,O0)方法学17是软件开发方法 的一个重要里程
12、碑 ,是一种新颖的 ,更符合人类思维习惯的思 维解题方法 .面向对象方法学的出发点和基本原则是尽可能模 拟人类习惯的思维方式 ,使开发软件的方法与过程尽可能接近 人类认识世界解决问题的方法与过程 ,也就是使描述问题的问 题空间 (问题域)与实现解法的解空间 (求解域)在结构上尽可 能一致.面向对象程序设计方法把程序分解为许多对象 ,不同对象 之间通过发送消息向对方提出服务要求 ,接受消息的对象主动 完成指定功能 .程序中的所有对象分工协作 ,共同完成整个程 序的功能 .面向对象方法的主要优点是 ,接近人类习惯的思维 方法,稳定性好 ,复用性好和可维护性好 .设计模式(DesignPattern
13、s)is是对面向对象程序设计实践 中优秀设计经验的精炼总结 ,提供较面向对象方法学更高层次 的复用性 .设计模式针对面向对象系统中一类重要的和重复出 现的设计问题 ,提出一个通用的设计方案 ,并予以系统化的命 名和解释 ,描述了问题 ,解决方案,在什么条件下使用该解决方 案及其效果 .设计模式使面向对象设计更加灵活 ,典雅,最终复 用性更好 .框架(Framework)81是针对一个特定的应用领域,构建的具 有一组相互协作的类的可复用软件设计 .它定义了软件整体结 构,类和对象的划分 ,各部分的主要职责 ,对象之间怎么协作 ,以及相应的控制流程 .框架预定了这些设计元素 ,以便于特定 应用开发
14、人员能够集中精力于应用本身的特定细节和逻辑,通过继承框架中的类和组合其实例来定制该框架以生成特定的 应用 .框架的设计经常使用多种设计模式 ,以获得高层次的设 计复用和代码复用 .框架是某一应用领域的共同设计决策 ,能 够使该领域中多种不同应用复用同一个框架 ,具有面向对象方 法学中最高层次的复用性 .3OCSIA 软件框架概述参考RTOC,提出了一种层次化OCSIA软件框架.本部分 将概述OCSIA软件框架的层次结构特点,以及各层次的功能 图 1 虚线以上部分为 OCSIA 软件框架的层次图 .由图可 以看出,OCSIA软件框架包括基础驱动层,核心控制层和监管 应用层j=个层次 基础驱动层处
15、于 OCSIA 软件框架的最底层 ,封装物理设 备驱动程序 ,向下与物理设备层进行通信 ,实现对不同物理设 ocsIA 软件框架图1OCSIA总体层次图备的直接 I/O 控制功能 ,包括读取设备状态 (各种传感器信 息),发送数据给执行器(Actuator),以产生相应的硬件动作.基 础驱动层向上提供一个硬件无关接口 (HardwareIndependent Interface,HII),接收来自核心控制层的请求,向其返回设备状 态信息 ,或发送数据到执行器 .核心控制层处于 OCSIA 软件框架的中间层 ,是整个软件 控制系统的核心部分 ,其主要功能是保证整个系统安全 ,可靠 地运行.它通过
16、基础驱动层为其屏蔽底层各式各样的硬件设 备,并通过基础驱动层提供的硬件无关接口实现对底层物理设 备的一致,间接 I/O 控制.核心控制层向上接收来自监管应用 层的高层命令 ,必要时在内部进行适当分割 ,经过调度后与基 础驱动层进行通信 ,进而实现对物理设备的控制 .核心控制层 还负责对系统状态进行实时监测 ,一旦发现系统处于不安全状 态或控制命令不具备执行条件 ,则自动执行校正动作 , 把系统 重新恢复到安全状态 ,或立即向上层发送报警信息 ,等待使用 监管应用层软件的系统监管人员对系统进行干预 ,并在接收监 管人员的命令后执行相应的动作 .以防止人员的伤亡或设备的 损坏 .同时 ,核心控制层
17、过滤系统状态信息 ,向监管应用层反馈 必要的系统状态信息 .监管应用层处于 OCSIA 软件框架的最高层 ,提供系统监 管人员与系统之间的交互接口 ,方便系统监管人员对系统运行 环境的实时监视和控制 ,以及其他一些相关操作 ,如完成先进 过程控制(AdvancedProcessControl,APC的功能.监管应用层 接收来自核心控制层的运行状态数据和报警信息,动态更新交互界面 .同时向核心控制层发送系统监管人员的控制命令 . 在图1所示的 OCSIA 软件框架层次图中 ,监管应用层和 基础驱动层之间有一条虚线连接 .实现监管应用层和基础驱动 层之间的直接通信 .这样监管应用层不必经过核心控制
18、层 .可 以直接对系统中各种过程数据或工艺参数进行高效采集,实现运行时过程控制优化 .在各层次软件中 ,将监管应用层程序配置在工厂主机中 , 核心控制层程序和基础驱动层程序配置在工控机中,基础驱动层程序所在的工控机通过串口 ,并口,现场总线等通信接口与受 控设备进行物理连接 ,工厂主机和工控机通过高速以太网互联 实现各层次程序的相互通信 ,具体硬件连接关系如图 2 所示.l 监管应用层 l 核心控制层 l 程序 il 程序 i图 2OCSIA 硬件连接关系图2302007,43(13)ComputerE ngi neeri nga ndApplicatio ns计算机工程与应用 图 2 所示的
19、核心控制层程序和基础驱动层程序配置在不 同的工控机中 ,为了进一步提高系统的性能 ,加快系统响应速 度,完全可以将核心控制层程序和一个或多个基础驱动层程序 配置在同一台工控机中 ,以避免核心控制层和基础驱动层之间 的网络通信 ,通过直接在同一台工控机内部相互通信 .有效减 少通信时间4OCSIA 软件框架设计思想 本部分将详述 OCSIA 软件框架各层次的设计思想 .4.1 基础驱动层 基础驱动层负责与各种不同类型受控设备进行直接 I/0 控制 ,并向上层提供一个硬件无关接口 ,如何实现这个硬件无 关接口就成为一个关键问题 . 控制软件最根本的功能是实现对各种不同类型受控设备 进行控制和监测
20、,尽管各种类型受控设备控制方式不尽相同.但它们都可以看成由多个能够进行输人和输出操作的 I/0 单 元组成,这些I/O单元称为I/O点/0点提供了一个很好的抽 象方式,在基础驱动层以上使用通道(Channel)对物理设备I/O 点进行抽象 .根据 I/O 单元数据承载方式的不同 ,可以大致分 为离散型通道 (例如开关 ),连续型通道 (例如压力传感器 )和字 符串型通道 (如可以接收字符串的智能设备 ):根据 I/O 单元的 I/O特性,可以分为只读型通道(如各种传感器),只写型通道 (如各种执行器 ),读写型通道 (如具有一个传感器和一个执行 器的阀门 ).这样通过建立各种不同数据承载方式和
21、不同I/O特性的通道 ,就可以对各种不同类型的设备进行抽象 .得到一 个称为通道的硬件无关接口 .基础驱动层以上的核心控制层和 监管应用层看到的是一个经过抽象的通道 ,它们可以根据通道 的特性读取或设置对应物理设备的 I/O 点,实现对物理设备的 致,间接的控制方式在OCSIA软件框架中,基础驱动层相 当于一个具有各种通道的数据服务器 ,而核心控制层和监管应 用层则相当于一个数据客户端 .它们请求数据服务器的服务 . 其服务可以看成读取或设置其所拥有的通道 . 基础驱动层需要处理各种接口类型的受控设备 ,包括串口(RS 232/422/485)并口 ,现场总线(如 CAN,DeviceNet,
22、Sercos 等),或者对受控设备进行DirectIO.基础驱动层设计为一个 10驱动库,使驱动开发人员能够使用 10驱动库方便 ,快捷地 开发出与工控机相连接的各种特定受控设备的驱动程序.这就需要驱动库支持串口 ,并口 ,现场总线等不同通信协议 ,以便支 持对连接的各种类型设备的控制.通道的概念实际上已经超出了其用于抽象受控设备 I/0 点的范围 ,可以用来表示实际受控设备中并不存在的虚拟 I/0 点.这种表示虚拟 I/O 点的通道不妨称之为高级通道 .而表示 受控设备实际 I/0 点的通道称为初级通道 .高级通道可以通过 初级通道运算而来 ,例如一个设备只能给出速度信号 ,那么可 以定义一
23、个 Velocity 初级通道 .如果在具体应用中需要获取一 个加速度信息 ,那么可以在基础驱动层再定义一个 Accelera. tion 高级通道 ,它通过 Velocity 通道信息经过运算得来 .同时, 为了充分利用一些硬件资源 ,核心控制层可以向基础驱动层传 递一个字符串类型的高级通道表示的非初级控制命令 .基础驱 动层收到这一非初级命令后调用相应的硬件资源完成控制任 务.通过这一方式 ,使得各层次的硬件 ,软件资源得到充分利 用,性能配置达到最优 .在图 3 所示的基础驱动层软件结构图中 .圆角方框为 10 驱动库的软件部分 ,直角方框为驱动开发用户在 10 驱动库之 上开发的软件部
24、分 .10驱动库部分包括通信接口 ,调度模块 , 各种类型受控设备的标准驱动模块 (包括串口标准驱动 ,并口 标准驱动和各种现场总线标准驱动等 ).以及其他特定驱动库 . 为便于驱动非串口 ,并口或现场总线的特定受控设备 ,可以从 设备供应商那里取得相应的驱动程序库 ,并将其添加到 10 驱 动库中,以便可以被用户创建的驱动例程调用完成 I/O 操作. 通信接口设备无关接 El( 通道) 用户驱动例程 调度模块 用户驱动例程用户驱动例程 i 一串El标准驱动) r并El标准驱动现场总线标准驱动其他特定驱动库图 3 基础驱动层软件结构图驱动开发用户在 10 驱动库之上开发的软件包括 :建立基 础
25、驱动层程序所包含的所有通道 .并根据每个通道的 I/O 特 性,调用 10 驱动库中标准驱动模块或设备供应商提供的特定 设备驱动库 ,编写通道驱动例程实现通道的读或写 .4.2 核心控制层 核心控制层的主要功能是接收来自监管应用层的高层控 制命令 .与基础驱动层通信完成对目标设备的控制 ,在控制命 令不满足执行条件时向监管应用层发送报警,等待系统监管人员的操作 ,并根据监管人员的操作执行相应的动作 ;同时实时 监测系统的运行环境状态 .如果系统处于不安全状态 .自动执 行相应的系统校正动作 .或向监管应用层发送报警 .等待监管 人员对系统的控制 .在 OSACAI 】参考模型中 , 控制任务分
26、解成通过通信子系统 相互协作的体系结构对象(ArchitectureObject,AO),每个A0 作为应用模块完成独立的控制功能在PC ORO33参考模型中, 控制对象(ControlObject,CO)代表软件中控制实际制造设备 的组件 .它应该与硬件无关 ,可以通过对 COs 属性指定新值来 构建适应于新的制造环境的整个控制系统由此可见,在OS CAR 和 PCORC 参考模型中 .均抽象出一个用于完成独立控 制功能的对象 .在核心控制层软件中 ,也抽象出一个 Con.trolObject(CO)抽象类,每个从CO派生的具体CO类包含1个 或多个相关的控制服务 ,每个控制服务可以完成一个
27、特定的控 制功能 .监测任务的实现 ,我们抽象出一个 MonitorObject(MO) 抽象类 ,每个从 MO 类派生的具体 MO 类实时监测一个特定的 系统状态 ,这个系统状态出现异常 ,则自动执行相应的校正动 作,或向监管应用层发送报警信息 .核心控制层抛出的报警可 以分为两类 ,阻塞报警和非阻塞报警 :阻塞报警用于异常状态 较为严重的情形,抛出报警的CO的一个控制服务必须阻塞运 行,等待系统监管人员的干预 ,并根据系统监管人员的干预结 果执行相应的动作 :非阻塞报警用于异常状态不会引起负面结 果的情形,这种情况下抛出报警的CO的一个控制服务或MO 的监测任务不需阻塞运行 ,仅仅发送一个
28、报警提醒系统监管人2007,43(13)231易凡,徐华,王家废,等:开放式工业自动化控制系统的软件框架 员发生了一个状况 .为实现报警功能 ,抽象出了一个 Alarm 抽 象类 ,从 Alarm 抽象类派生出 BlockingAlama 和 Un. blockingAlarm 两个具体类 ,分别表示阻塞报警和非阻塞报警 在图 4 所示的核心控制层软件结构图中 ,包括核心控制类 库和在核心控制类库之上开发的特定核心控制层程序.图 4中 ,上层通信接口负责与监管应用层进行通信 ,下层通信接口 负责和基础驱动层进行通信 .核心控制层操作的基础对象是通 道,包括控制子系统 ,监测子系统 ,报警子系统
29、 ,日志子系统 ,以 及标准算法库 .控制子系统的组成元素是控制对象 ,每个控制 对象包含多个控制服务 .控制对象作为一个服务器 ,向其他作 为客户端的控制对象提供服务 .这些控制对象在逻辑上具有层 次结构 :最下层的控制对象用来抽象一个实际物理设备 ,并提 供操作相应物理设备的控制服务 ,这些服务通过读 /写与此设 备相关联的通道来实现 ;中间层的控制对象用来实现一个完整 的控制功能 .如对物理真空系统的控制 ,这些控制对象调用下 层对象的控制服务来实现自己的服务 ;最上层的控制对象 .调 用功能层的服务来为上层用户提供服务接口监测子系统的基 本组成元素是监测对象 ,它们通过检测通道值对系统
30、状态进行 实时监视 ,在遇到异常情况时将会发出报警 .报警子系统定义 了许多报警对象 ,用于表示系统中可能出现的异常情况 .并提 供相应的恢复选项 .日志子系统有选择地提取通道值生成日志 记录 ,并记录核心控制层程序运行时的系统信息 ,方便程序的 调试.标准算法库包含经常使用的路径规划 ,动力学计算 ,PID 控制 ,模糊控制等标准算法 ,供控制对象在需要时调用 核心控制类库 图 4 核心控制层软件结构图 特定的核心控制层程序在核心控制类库的基础上进行开 发 ,主要的软件开发工作包括 :创建具有逻辑层次结构的控制 对象 ,创建监测对象和报警对象 .建立控制对象 ,监控对象所需 要访问的通道 ;
31、实现控制对象所支持的控制服务 ,实现监测对 象的监测任务 ,设定日志记录时提取的通道 4_3 监管应用层 监管应用层是系统监管人员和整个系统的接口 .通过提供 图形化界面 ,方便系统监管人员启动 ,中止各种控制任务 ,实时 监视系统运行情况 ,对系统发出的报警做出干预 ,并在系统发 生故障时通过 GUI 对系统进行维修 ,对从系统中收集上来的 各种数据进行分析 ,优化参数配置 ,实现运行时的过程控制 优化. 由于不同的工业自动化应用具有不同的监管需求 .因而监 管应用层需要提供开发人员根据需求定制监管 GUI 的功能 : 同时在运行时 ,能够动态显示定制的监管 GUI, 支持与系统监 管人员之
32、间的交互 ,完成相关监管功能 .因而监管应用层应该 具有开发和运行时两个紧密相关的功能 .在如图 5 所示监管应用层软件功能结构图中 ,监管应用层 软件具有两个软件实体 :GUI 图形化开发工具和运行时支撑环境 监管应用层 :囹标准及定制模板文件 f界面模板库tJ /一l 图形化I 开发工具 I图 5 监管应用层软件功能结构图 在开发阶段 .GUI 图形化开发工具需要用到一些标准界面 元素和模板来定制满足特定需求的监管 GUI, 同时 GUI 开发人 员也可以使用数据库中的标准界面元素进一步定制复合界面 元素 ,并存储在数据库中对标准界面模板库进行扩充 ,从而形 成一个标准及定制界面模版库 .
33、GUI 开发人员在定制监管 GUI 时 ,需要实现 GUI 界面元素和核心控制层通道以及控制对象 中控制服务的绑定 ,同时指定需要采集的来自基础驱动层的通 道数据,将定制的 GUI 及绑定关系保存在一个模版文件中 .以 便运行时动态加载到内存中 .当整个控制系统启动时 ,运行时支撑环境根据数据库中存 储的工艺参数通过与基础驱动层通信实现对相关设备参数的 配置,动态加载定制的 GUI 模版文件并在屏幕上显示出来在 系统启动完成后 ,运行时支撑环境获取监管 GUI 显示的来自 核心控制层的通道数据以及可能产生的报警信息 ,使用这些数 据信息动态刷新 GUI; 通过响应系统监管人员的交互事件 .向
34、核心控制层发送控制命令 :同时采集来自基础驱动层的各种通 道数据 ,存储在数据库中 ,用于运行时的数据变化趋势显示 .通 过数据分析进行运行时过程控制优化 . 监管应用层开发人员需要的开发工作包括 :使用图形化工 具设计监管 GUI, 实现界面元素和通道的绑定 .设定界面元素 的动态显示逻辑 ,以及实现界面元素和核心控制层控制对象中 控制服务的绑定在开发阶段定制的监管 GUI 的运行 ,由运行 时支撑系统负责解释 ,按照定制的 GUI 模版文件 ,用运行时系 统状态的实时信息动态刷新监管 GUI.5一个实例模型为了验证 OCSIA 软件框架的可行性 ,设计了一个简单的 实例模型 .5.11实例
35、模型简介 这个实例模型是一个简单的工件传输系统 .模型中有两个 单元 ,分别是传输单元和加工单元 ,传输单元内有一个用于传 输工件的传输机械手 .每个单元都有一个压力传感器和温度传 感器 ,用于感知单元内的温度和压力条件 .两个单元之间有一 个门阀 ,用于工件加工时隔离两个单元 .主要操作流程是 :传输单元的传输机械手取得未加工工 件 ,打开门阀 ,机械手伸展将工件传输到加工单元 ,机械手收 缩,关闭门阀;加工单元加工完毕工件后 ,打开门阀 ,传输机械 手伸展将加工完毕的工件从加工单元中取出 ,机械手收缩 ,关 闭门阀2322007,43(13)ComputerE ngi neeri ngan
36、 dApplwio ns计算机工程与应用 在工件加工和传输过程中 ,需要保持两个单元始终处于低 真空状态 .另外,模型系统需要满足一些互锁条件 .如当两个单 元压力不相同时 .不能打开门阀等 .5.2 实例模型实现用软件仿真这些设备 .在系统运行时可以通过软件控制台 对系统的各状态信息进行设置 ,如压力,温度等 .选用 C#.NET 来创建提出的 OCSIA 软件框架 .并在软件框 架之上实现这个传输控制系统 .由于不对实际硬件设备进行 I, O 操作 .只通过软件仿真这些设备 ,因而 OCSIA 软件框架的基 础驱动层通过调用设备仿真软件的 API. 完成对虚拟设备的控 制.OCSIA软件框
37、架的应用监管层,我们使用 WindowsAppli cation 来设计交互界面 ,并实现界面控件元素与通道以及中间 层控制对象中控制服务的绑定 .编写界面元素的动态显示逻 辑.在OCSIA软件框架的核心控制层我们创建C#类库项目 来实现核心控制类库 .然后,基于核心控制类库 ,实现上述传输 控制系统的核心控制层软件 .在图 6 所示的核心控制层软件 UML 类图中.灰色框内是 核心控制层类库 (主要部分 ),灰色框之外是为实现传输控制系 统所派生的类 (部分).图 6 核心控制层软件 UML 类图在核心控制类库中 .抽象类 ControlObject 是对执行多个相 关控制任务的对象的抽象
38、.抽象类 MonitorObject 是对执行监 测任务的对象的抽象 .控制任务和监测任务的执行都依赖于Co ntrolThread类,Con trolThread类是控制任务和监测任务执行 的线程(Thread).单体(Singleton)模式对象 ControlThreadPool 包含多个 ContmlThread 对象,对它们进行管理 .ControlObject 对象和 MonitorObject 对象向 ContmlThreadPool 对象请求 Con trolThread,以便在其中执行控制任务或监测任务.抽象类 Channel是对通道概念的抽象,其派生出的两个抽象类Discr
39、ete Channel和ContinuousChannel是对离散型通道和连续型通道 的抽象.DiscreteChannel的两个具体派生类DiscIeteReadonlv Channel和DiscreteReadWriteChanne1分别是对具有只读和读, 写特性的离散型通道的抽象 .抽象类 Alarm 是对报警的抽象 . 其两个派生类 BlockingAlram 和 UnblockingAlarm 分别表示阻 塞报警和非阻塞报警 .单体模式对象 AlarmManager 对由 Con trolObject 对象或 PressureMonitor 对象抛出的报警进行管理 .GateValv
40、e类和PressureMonitor类分别是为实现传输控制 系统而从核心控制类库中的抽象类 ControlObject 和 Moni torObject派生的类.GateValve类具有Open和Close两个服务. 分别对应打开门阀和关闭门阀.GateValve类与一个Dis creteReadWriteChanne通道关联.此通道表示门阀的执行机 构;同时GateValve类拥有一个阻塞报警.如果其他控制对象请 求Open服务时,互锁条件不满足,即两边单元内的压力不等. 则Open服务将抛出此报警,并停止执行.PressureMonitor类负 责对两边单元的压力进行监测 ,其关联两个 C
41、ontinuousRead OnlyChannel 通道对象 ,分别表示两个单元内部的压力传感器 . 实例模型的其他实现部分不再此介绍.如Robot通过实现系列服务完成工件的传输控制 .由此可见 ,核心控制层程序的开发 .只需根据特定应用需 求派生出所需的控制对象和监测对象 .完成所需的控制任务和 监测任务 .同时创建各种通道对象和报警对象 .通过通道这一 硬件无关接口实现对物理设备的间接控制和对系统状态的监 测.并在互锁条件不满足或系统状态发生异常时向监管应用层 抛出相应的报警 .OCSIA 软件框架中 .基础驱动层 ,核心控制层和监管应用层之间需要相互通信.在.NET环境下采用基于TCP3
42、P的 socket通信方式,自定义了通信协议.通信协议按照Catalog和 Function 来区分不同功能的消息 ,其中具有相关功能的消息具 有相同的Catalog在同一个Catalog下.用不同的Function来区 分同一类功能下不同具体功能的消息.在我们的模型实现中, 消息分为三大类 :分别是控制相关 ,通道数据相关和报警相关 . 以 OCSIA 软件框架为基础实现的实例模型传输控制系 统.运行稳定.满足传输控制系统功能需求 .验证了 OCSIA 软 件框架的可行性 .6总结与展望 本文提出的 OCSIA 软件框架分为基础驱动层 ,核心控制 层和监管应用层 .框架层次清晰 ,各层职责明
43、确 .层问通过相互 通信.协作完成整个自动化应用 .OCSIA 软件框架抽象出通道 的概念 .使得各种受控设备都可以得到一致的访问和控制.OCSIA 软件框架具有开放性的特点 .便于二次开发人员针对不 同需求快速开发出特定工业自动化应用 .以及对原有控制软件 系统的维护和升级 .本文通过设计和实现一个传输控制系统的实例模型验证 了 OCSIA 软件框架整体上的正确性和可行性 .然而还有一些 提出的设计思想未在模型实现中得到体现 .例如基础驱动层并 未真实对实际设备进行控制 ,监管应用层使用 .NET 开发环境 来设计监管 GUI. 框架本身并未实现以图形化方式定制GUI,并提供运行时支撑环境动
44、态显示定制的监管GUI.这些都将在以后的工作中得到进一步完善 .(收稿日期 :2006 年 8 月) 参考文献 :1 ProctorFM,AlbusJS.OpenarchitecturecontrollersJ.IEEESpec trum,1997,34(6):6064.(下转 235 页)黄贵玲,高 西全,靳松杰 ,等:基 于蚁 群算法的 最短 路径问题的 研 究和 应用 2007,43(13)235 彀循研,次数 图 3(b) 改进后 由图 3中可以看出 .算法改进前容易出现图中所示的绕圈点 ,即为循环路径点 .而改进后的算法则避免了循环路径的出现 ,路径长度变化比较平缓 ,提高了搜索效率
45、 .另一方面 ,图中所示的探索新路径点则是在局部更新规则 的作用下出现的 .算法经过一定的循环次数后收敛于一个最优 解 ,为避免此最优解为局部最优解 ,在局部更新规则的作用下 , 不断地减少此最优路径上的信息素 .从而促使蚂蚁跳出局部最 优解 .寻找一条新的路径 .2 结束语 本文尝试在蚁群算法中加人直线优化启发信息来求解交 通路网中两点间最短路径问题 ,并通过局部更新规则的应用 , 解决算法搜索过程中过早陷人局部最优解的问题 ,取得了良好 的效果.实验证明 ,算法在搜索效率 ,搜索最优解的能力两方面 都有很大的提高 .但是算法还存在一些不足之处 ,即它没有把 蚁群算法的并行特性发挥出来 ,影
46、响了运行速度 ,还有待于进步优化.(收稿日期:2006 年 8 月)参考文献 :1 DorigoM,CambardellaLM.Acooperativelearningapproachtothe travelingsalesmanproblemJ.IEEETransactionsonEvolutionary Computation,1997,1(1):53 66.2 ColorniA,DorigoM,ManiezzoV ,eta1.Antsystemforjobshop schedulingJ.BelgianJournalofOperationsResearchStatisticsand Co
47、mputerScience,1994,34(1):39 53.3 LuGuo ying,LiuZe min,ZhouZheng.Muhicastroutingbasedon antalgorithmfordelay boundedandload balancingtrafficlJ1.IEEE, 2000:362368.4 周明,孙树栋.遗传算法原理及应用M.北京:国防工业出版社,1999. 王开义,张春江.GIS领域最短路径搜索问题的一种高效实现J1.中 国图像图形 ,2003,8(8):951-955.(上接 223 页)参考文献 :【 1】 FayyadUM.AdvancedinknowledgediscoveryanddataminingM.Califoria:AAAI/MITPRESS,1996.2 钟晓.数据挖掘综述J1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国托盘分配器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国广播发射设备市场发展分析及市场趋势与投资方向研究报告
- 2025-2030中国工业挤出机行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国射频识别系统行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国室内装饰家具行业市场发展趋势与前景展望战略研究报告
- 2025年中国牛油香草曲奇市场调查研究报告
- 2025年中国氯漂白粉市场调查研究报告
- 2025年中国木船船壳漆市场调查研究报告
- 海关关员岗位职业健康安全责任聘用合同
- 突发事故新闻发布与媒体关系维护合同
- 景区安全生产管理规章制度大全
- 2025届湖北武汉市华中师大一附中高考英语押题试卷含答案
- 钓场出租合同协议
- 骨科病人术后疼痛护理
- 2025云南省安全员《A证》考试题库及答案
- 深基坑开挖应急预案1
- 瓷砖委托加工协议书范本
- 医养结合机构内老人在养老区和医疗区之间床位转换解读
- 2025年春初中数学七年级下册苏科版上课课件 11.2 一元一次不等式的概念
- 2025年N1叉车司机考试试题(附答案)
- 2025年辽宁省鞍山台安县公益性岗位招聘171人历年高频重点提升(共500题)附带答案详解
评论
0/150
提交评论