- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象设计在楼宇控制系统中的应用.doc
面向对象设计在楼宇控制系统中的应用
Object-oriented design in building automation application
摘要 介绍了面向对象编程如何提高程序的可靠性、提供更大的灵活性和减少编制费用,进而介绍了完整的面向对象设计还包括构成控制系统通讯基础的面向对象协议。BAC协议将每个控制子单元归纳为对象形式,简化了设备之间的通讯和操作。
关键词 面向对象设计, 控制系统, BAC, 协议
Abstract lllutrates homing improves reliability, provides greater flexibility and reduces programming costs, and further presents that an object-oriented protocol as a base of munication makes a unication and operation of the devices.
Key, BAC, protocol
1 简介
自20世纪80年代以来,面向对象的 方法 已广泛 应用 于 计算 机及其相关领域,它不仅应用于编程阶段,而且应用在系统设计和系统 分析 上。面向对利用设计在控制系统中的应用减少了控制系统的费用、提高了系统的易用性、加强了系统的可维护性,因此成为控制系统的 发展 方向。控制系统中的面向对象设计主要分为两部分:
① 面向对象编程
传统的过程化编程语言(比如BASIC,C)由于不具备对象的特点,编制程序时得一行一行地编制,因此只有专业人员才能轻松地应用这些工具[1]。但即使这些专业人员也难免在编程过程中产生错误,而这对于控制系统可能是灾难性的。由于控制系统控制的是实际设备,任何疏忽均可能会使设备出现故障甚至报废,从而对业主造成巨大的损失。
面向对象编程实现了编程的简单化和可视化,从而大大减少编程人员的工作量。同时对象中的成员及函数均由专业人员反复测试和检验过,出错的可能性也因此显著降低。相对于传统的编程语言,缺乏编程背景的建筑设备工程师可以熟练运用对象来完成他所需的控制任务,而不需软件人员的帮助。
② 面向对象的协议
协议是控制系统相互之间通讯的基础,面向对象设计必须由面向对象的协议来完善。传统的集散式控制系统(DCS)主要由模拟量输入(AI)、模拟量输出(AO)、数字量输入(DI)和数字量输出(DO)构成控制系统的各个通道,它们之间彼此相互独立。DCS的这种结构便于工程人员根据工程的特点来任意组合控制系统通道的组成,但通道之间独立的数据造成的大量冗余数据和信息的盲目性使数据的解释变得非常复杂,很难发现其中有用的数据。面向对象的底层协议将数据的解释、分类和判断由前期设计人员完成,使无用的数据变成有用的信息,大大方便了工程人员的应用。
面向对象技术若要在控制系统中真正应用,必须在这两个层次完成对象化改造。缺乏其中的任何一环,整个面向对象系统均是不完整的。
2 面向对象编程
2.1 控制语言中的对象
随着面向对象语言C++的流行,面向对象编程已广泛被人们所认知。但由于种种原因,控制系统的编程语言多数是逐行编制的非面向对象语言,面向对象语言还较少应用。众所周知,面向对象技术是建立在对象和类的基础上的,因此对于它们应有一个准确的定义。对象的定义为 问题 域或者其实现中一些东西的抽象,它反映系统为之保存信息和(或)与它交互的能力。它是一些属性及其专用服务的一个封装体[2]。而类的定义为一个或多个对象的描述,可用一组属性和服务的形式来描述[1]。对于控制系统中的面向对象语言,对象应有如下特点:
① 独立性
一个对象是独立存在的模块,各对象彼此之间依赖性很小。系统可由各自独立的对象组成,而不必考虑彼此之间的干扰。
② 连接性
一个孤立的对象只能完成很少的一部分功能,只有将对象有机地结合起来才能发挥它的作用。面向对象系统通过消息激发机制使对象相互作用、相互联系,构成一个联系紧密的整体。
③ 易维护性
一个对象的内部功能与外界环境没有任何的固有联系,因此对一个对象的维护、发行不会 影响 到其它对象和外界程序的功能。
在对象的独立性上,控制语言中应分离对象内部的运算变量与实际的操作变量。例如集散式控制系统(DCS)中直接操作设备的是4~20mA/0~10V的模拟量输出或开关量输出,而现场总线控制系统(FCS)直接操作的是阀门、电机等智能控制器。控制语言中的变量若直接是AO,DO或特定的阀门、电机等,虽然程序看起来比较直观,但它丧失了通用性和对象封装的特点。当系统中的控制程序移植到具有相同特点的另一个系统中时,用户就需将程序
文档评论(0)