




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要面向对象方法(Object-Oriented Method),一般可简称为OO(Object-Oriented)方法,在软件的开发过程中,OO可作为一种指导的系统方法。一般把OO认为是一个中间过渡环节。可进一步规范管理OOA出来的分析结果,直接受理的OOP因此也得到了很大便利。面向对象程序设计(Object Oriented Programming)简称为OOP。被认为是一种计算机的编程基本架构,现如今,面向的对象编程思想已经成为计算机界关心的重点。OOP技术由五个最基本的概念组成:对象(objects)、方法(methods)、类(classes)、消息(messages)和继承(in
2、heritance)。基于面向对象的高级语言C+,着重从封装、继承以及多态性来考虑实现OOP技术。此次毕业设计,基于面向对象编程的方法,实现其在过程控制功能块开发中的应用与开发。以简单的PID功能块为对象,应用C+程序语言进行相关编程。功能块可理解为一种图形化的编程语言,一般可形象理解为“软件的集成电路”。输入、输出和内部控制参数构成了功能块。一套特定的算法,以输入参数为基础,产生了输出参数,以供系统或其他功能块利用,实现应用程序系统的控制功能。在毕业论文中,特别认识PID功能块内部的一些主要参数,比如:BKCAL_OUT、OUT、BKCAL_IN、IN、FF_VAL等。通过C+基于面向对象设
3、计带有的PID控制算法及抗积分饱和、前馈控制功能的PID控制功能块。关键词:面向对象,高级语言,类,对象,功能块ABSTRACTObject-Oriented Method is sometimes referred to as Object-Oriented which is a systematic approach that can be used to guide the software development process.Usually,OO is an intermediate link in the Object-Oriented Method.Its main role
4、is further standardized management OOA analysis,in order to be able to OOP accepted.Object-Oriented Programming is a computer programming architecture. Nowadays, the ideas of object-oriented programming has become the focus of computer industrys concern.The technology of object-oriented programming
5、is made up of five basic concept compositions: objects,methods,classes,messages and inheritance. Based on high-level object-oriented language C +, considering implementing OOP techniques mainly from encapsulation, inheritance and polymorphism. This topic is based on object-oriented design,applicatio
6、n and development of the process control function blocks.The simple PID function block objects,the application of C+ programming.Function Block is understood as a graphical programming language, and can be understood as the image of "software ICs." Input, output and internal control parame
7、ters constitute a function block. A specific algorithm can generate the output parameters based on the input parameters,which are for the system or other function blocks use,to achieve the application of a control function of the system.In my thesis,I focused on understanding the main parameters of
8、the PID function block inside itself,such as:BKCAL_OUT,OUT,BKCAL_IN,IN,FF_VAL,and so on.By C+ based object-oriented design with PID control algorithmand feed forward control antiwindup function PID control function block.KEYWORDS:Object-Oriented,High-level,language,Class,Object,Function blockII目 录摘
9、要IABSTRACTII第1章 绪论11.1 选题背景及发展现况11.1.1 面向对象相关概念11.1.2 OOP的基本原理及其发展过程11.1.3 OOP技术的特点31.1.4 OOP技术在C+中的实现与应用51.2 国内外研究现状61.2.1 控制系统的发展历程61.2.2 DCS与FCS现状61.2.3 面向对象技术的发展71.3 本章小结7第2章 功能块的概念和结构82.1 功能块及参数的概念82.2 功能块的原理及特点92.3 功能块分类102.3.1 输入功能块102.3.2 输出功能块102.3.3 控制功能块102.3.4 计算功能块102.4 功能块执行过程112.5 功能块
10、组态112.6 本章小节12第3章 基于OOD方法的过程控制功能块的设计133.1 OOD的有关概念133.1.1 什么是OOD133.1.2 OOD的特点133.1.3 OOD的基本思想133.1.4 OOA、OOD以及OOP之间的关系143.2 OOD的主要工作和过程143.2.1 问题域部分的设计143.2.2 人机交互部分的设计153.2.3 应用控制部分的设计153.3 OOD设计的主要方法步骤163.4 功能块参数163.5 控制变量的计算173.5.1 过程变量的计算173.5.2 设定值的计算173.5.3 设定值跟踪过程变量183.5.4 输出参数计算183.5.5 串级控制
11、183.6 块模式参数183.6.1 模式类型183.6.2 块模式参数MODE_BLK的构成元素193.7 量程标定参数193.8 PID设计193.9 功能块设计应用实例193.10 本章小结20第4章 具体程序的编写214.1 用C+编程实现一个简单过程控制214.1.1 功能流程框图214.1.2 具体过程思想214.1.3 温度检测类的代码224.1.4 运行界面234.2 用C+实现PID控制过程234.2.1 位置式PID算法234.2.2 增量式PID算法254.2.3 积分分离算法254.2.4 抗积分饱和算法254.2.5 微分项改进算法264.2.6 带死区的数字PID算
12、法264.2.7 对PID的直观理解264.2.8 程序思想讲述及相关重要代码274.2.9 运行截图29结论及展望321 本文结论322 工作展望32参 考 文 献33致 谢34华北电力大学本科毕业设计(论文)第1章 绪论1.1 选题背景及发展现况1.1.1 面向对象相关概念90年代软件开发的主流是面向对象,如今,面向对象也已经成为计算机行业关心的一大重点。面向对象的方法现在已经扩展到了相当宽的领域中,面向对象的基本概念以及应用已经早已不只是程序设计和软件开发那么狭隘了。面向对象的产生是由于早期结构化方法出现了很多难以解决的问题。仔细研究与观察,不难发现,用结构化设计的方法去求解问题,我们是
13、站在功能的角度去分析问题域。由于此基本策略,这是由一些特定任务和子过程相关的应用程序去实现的功能块,包括用数据组织模式去处理的给定数据,使用该算法去描述出的特定基本操作。而随着功能要求的逐渐完善,日趋复杂的应用系统,结构化的设计思路就慢慢显现了很多弱点。如今,在软件开发与应用的全部领域中,面向对象的基本思想已经逐渐渗透与完善。比如我们接触到的面向对象编程(OOP,Object Oriented Programming),面向对象分析(OOA,Object Oriented analysis),面向对象设计(OOD,Object Oriented design)。其中,以OOP最为我们熟知。1.
14、1.2 OOP的基本原理及其发展过程现如今,使用最广泛的开发工具技术就是面向对象编程(OOP,Object Oriented Programming)。回顾20世纪80年代,当时,在计算机软件领域可谓发生了翻天覆地的变化,由此也对绝大多数系统分析员程序员的职业规划和方向产生了重大影响。面向对象编程(OOP,Object Oriented Programming)就是这其中的最典型的代表。谈到OOP,并不能理解为一种编程的语言,其实,更准确地说,它是关于数据与进程之间的全新方法概念。OOP是一种方法,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。抽象、封装性、共
15、享性、强调对象结构而不是程序结构是面向对象的要素。对象包括数据和流程的封装,它们之间有着千丝万缕的联系。在OOP概念提出以前,数据和文件形式、过程总是彼此分离的,OOP把数据和过程组合到了一起。由于其有复用性,所以对象是通用并且独立的,足以构成软件的独立单元。“搭积木”就可以很形象地形容这个过程。OOP技术由五个基本概念组成:对象(objects)、方法(methods)、类(classes)、消息(messages)和继承(inheritance)。1.对象(objects)。OOP技术的核心。对象,是指客观存在的事物,包括一组属性(attribute)和一组行为(behavior)。由于它
16、的组成特点,所以扩展为对象是具体和抽象并存的。对象千差万别,但相同的是它们都是各自系统的基本构成单位。面向对象编程是一个实体,熟悉的对象,客观的事物。在面向对象编程技术当中我们都可以找到具有相同特性(静态特性)和行为(动态特性)的对象,抽象就成为了类。2.方法(methods)。方法是对某对象接收信息后所采取的操作的一种描述。在C+语言中,每个对象都有数据(对应属性)和函数(对应行为)两部分,方法就是用来操作数据实现某些具体功能,即:实现功能目标代码。消息与方法的关系就是发送消息转向接受并响应消息。3类(classes)。具有共同属性和行为的一类事物的抽象描述。共同属性是类中的数据成员,共同行
17、为是类中的成员函数。类是抽象的对象,对象是类的特例。类是形式化定义,对象却是实实在在存在的。由于对象具有相似性,类就自然而然可以分为类和子类。更形象地解释就是:我们有吃饭、喝水、休息、工作、享乐等这些共同行为,但我们每个人又有自己的姓名、兴趣、个性等,这些都是属性与行为,可能相同,也可能不同。4.消息(messages)。消息指某对象请求服务的一种表达方式,是对象与外界、对象之间的通信结构和联系工具。消息发送给对象,接收消息的对象是目标对象。消息需要包括目标对象的对象名、消息名以及去执行操作的信息与请求对象的方法,还需要有一个或者多个参数,必要时要对参数加以说明,参数分局部变量和全局变量。5.
18、继承(inheritance)。继承是指一种事物保留了另一个事物的特征,并且具有自身的独有特征。继承定义了对象和类之间的相互关系。当我们通过指定类名去定义一个父类下面子类的对象时,这个子类会自动继承父类的属性和功能。用一种直观的方法说,继承就是在现有类的基础上去创建一个有相同属性功能的新类。在提高软件开发效率中,继承具有其它方法无法比拟的作用,多个对象中有重要部分的代码,继承可以消除它们,这样就使代码重复使用提高到了一个更高的水平上。总而言之,对象与数据、代码、消息、上层阶级的属性和功能的关系可以用下图表示:对象数据代码消息上层阶级属性功能方法激活图1-1 对象等元素相互关系 (说明:上层的阶
19、级会把自己的属性功能交给对象继承,对象包括数据和代码,消息传递给对象,会把对象中的代码和方法激活。)由此可见,OOP方法使不同模块之间的相互作用减弱,系统以及面向对象的继承变得更为简化,系统不再出现冗余现象。Simula语言为OOP提供了很多原始思想,在Smalltalk语言的完善和标准化过程中,OOP得到了更多的扩展,并且以前的思想也被重新注解。函数式程序设计(functional-programming)和逻辑式程序设计(logic-programming)所代表的比较接近实际计算机的模型,而OOP却有所不同,OOP并没有引入丝毫精确的数学描述,而多数是建立各个对象的模型,很类似于我们自己
20、去认识周围事物所采用的方法和模型。有两种产生对象的基本方式:以类(class)为基础或者以原型(prototype)为基础去产生新的对象。原型可以去解释学习的递增特性,原型模型自身就是希望通过自己的特点属性作为基础去衍生出各种新的对象,一步步继续去创造更满足实际应用的对象。C+中的类是从C语言中的结构概念演变而来的,是我们用户自己定义的数据类型。结构是将某一类的事物相关信息组合拼凑在一起,从而形成混合的类型。在某种意义上说,其已经具有了抽象数据的概念了。但不足的是,其成员仍然是由外部的程序直接进行操作的,而没有一个所谓的“接口”把它和外部的操作程序进行分离,这样就会产生这样的不利后果:一旦结构
21、本身改变,全部应用此结构的外部操作程序都要进行相应的改变和调整,对程序维护来说,将造成不必要的麻烦和时间浪费。面对对象的程序设计思想是:有了一个“接口”,把对象成员和外部操作程序进行隔离,并且实现了组件的多态化多元化。面向对象的程序设计将数据(属性)和函数(行为或方法)打包封装,并放进类的软件包里,这样的话,就使类的数据和函数紧紧地联系到了一起,但并没有明明白白表达出了不同层次关系背后的本质。1.1.3 OOP技术的特点在20世纪90年代,面向对象编程OOP已经成为了软件编程开发以及应用中的重点。强调了对象的“抽象”,“封装”,“继承”,“多态”,提到程序设计,自然会想到数据结构和算法。从大的
22、角度来看,OOP编程就是以对象为基本中心,面向它们去实现功能代码。OOP技术的特点是:抽象性(人类认识事物的思维方式和解决问题的执行方式)抽象性是指忽略主体中与当前目标无关的细节,并将有关事物的共性归纳、集中的过程。我们认知周边世界的方式也只有两种:(1)从抽象到具体,由一般到特殊,这称为演绎方式;(2)由具体到抽象,从特殊到一般,这叫做归纳方式。人类会用其中的一种或者两种混用在一起。童年、少年、中年、青年、老年、男人、女人、黑种人、白种人、黄种人、美国人、英国人等,这些都是具体的人,而所有具有中国国籍的人被归为一类,称为“中国人”,这就是一个典型的抽象。我们在编程中新建出的类,都是已知类的子
23、类。面向对象程序设计中的抽象包括数据和代码两方面的抽象。类是对象的抽象,而对象是类的实例,也是类的具体表现形式。封装性(完美体现编程思想)封装性是指将数据与算法捆绑成为一个整体(对象),描述这个整体(对象)的数据就被封装在其中。用编程的语言说就是:把数据和代码绑定在一起,把实体信息、功能、响应都载入这个独立的对象中。软件工程中,模块化、信息隐藏和抽象都是一些基本的概念。它们可以用来实现模块中对象和类的封装,面向对象编程,有封闭性、独立性和接口特性。C+语言中,我们是通过定义类和对象去实现对数据的封装,因此可以说,类就是封装的基本单位。有封装的责任存在,就可以定义出类的成员和外部存在的接口。为了
24、使程序不同模块之间的交互减少到最低,通过其它成员的隐藏,这样就达到防止外界干扰、减小了误用以及不确定等因素。OOP中的类是已经被程序员封装好以后的模块,通过解读类的定义,我们不难发现:外部可见接口的解释和对用户不可见内部实现是被清清楚楚分开的。因为保护作用的提供,安全性就大大增强。由于C+中对类封装的特点,也使程序代码的修改以及后期问题维护变得方便许多,这也恰恰就是面向对象程序设计的基础。信息隐蔽:被隐藏部分的内部细节,通过预留的小接口,与外界进行接触,并且接收外界消息,这种隐蔽的方式就叫信息隐蔽。信息隐蔽有诸多好处,不但有利于数据安全,还防止了外人接触甚至恶意修改程序数据,我们用户不用去详细
25、了解内部构造和具体实现细节,只用通过这个外部接口去使用“类”的成员。同时,由于有了信息屏蔽方式,操作对象对用户变得不再复杂。生活中有很多常见的例子:比如我们并不知道一台空调里的构造和原理是什么样的,但却可以用来制冷制热。继承性(尽可能逼真地模拟客观世界及其事物)继承性是指一种事物保留了另一个事物的特征,并且具有自身的独有特征。现实中存在很多人工难以解决的问题,但通过计算机编程却可以解决千千万万的复杂问题。这些问题其实从编程的角度看,都可以有许多相似的特点,可以用类似的“类”去定义,去解决。对象和类其实就是这些复杂问题里的事物模型。例如:一个建筑公司以前已经给一个写字楼设计过一个建筑图纸,现在又
26、要给一个居民楼设计建筑图纸,现在就有两种选择:一是在原有图纸的基础上进行改造,变换功能和样式;二是完全从新设计新的图纸。面向对象的编程语言如C+等,代码中可以用许多对象和类,它们之间都是平等关系,没有任何的主次与正副之分。彼此之间可以在任何地点时间发送和接收信息,信息传达和指导了智能操作。继承性使批量建造对象和类成为了可能,大大缩减了工作量,代码的普遍适用性增强,可在以后相似问题上进行重用或者稍加改造,软件也变得更可靠。对编程人员来说,程序开发的时间资源都大为节约,因此可以说继承性是面向对象编程设计的重中之重。举一个编程中的实例:定义一个person类:class personprivate:
27、char name10;char sex;int age;下次遇到动物园为各个动物登记的时候就可以依照person类去定义animal类:class animalprivate:char name10;char kind10;int num;多态性(友好的人机界面)多态性是指继承来自同一事物时,彼此行为表现却不同。在面向对象的高级编程语言里说,就是很多对象和类相似但却不完全相同,当它们接收到同一信息指令后,它们会因为彼此的不同而有不同的反应,进而执行了不同的操作,这就是多态性的具体说明。多态性也是面向对象设计的一个主要特点,并且丰富了程序的显示和灵活性。同样,多态性不但实现了不同的显示和操作,
28、却没有增加代码的复杂性。比如:我们在C+里使用同一种面向对象思想绘图出圆形、矩形、菱形、三角形。它们四种都继承了原型对象的全部特征,当我们对这四种不同形状的类执行同一“在屏幕上显示”指令时,却可以在屏幕上得到4种不同的图形,这也是多态性在编程里的具体体现。C+语言中使用了很多的诸如模板、函数重载等不同概念来支持多态性,对面向对象编程设计也是一个极其重要的辅助和补充。在OOP中,编程人员有两个任务:一是设计需要的对象和类,考虑数据操作的封装;二是给对象和类发送消息指令去实现需要的操作调度,完成职责。我们通常把每个对象和类分成块,每一块任务都完成,最终的功能也就成功实现。尤其是在大型的编程任务中,
29、OOP有着面向过程编程不可比拟的优势,不但减少了编程人员工作量,并且效率更高,错误率也大大降低。但是,OOP语言也有很多不足的地方,技术还没有到完全成熟的地步,运行效率还比较低,开发的公司在工作中开销还很大大,实现起来思路代码也还较复杂等等。所以就需要我们要对OOP进行更深的思考,加大开发和研究的力度,最终让OOP能成为一种成熟、规范、标准的编程语言。1.1.4 OOP技术在C+中的实现与应用在20世纪60年代,Martin Richards设计出了BCPL语言;1970年,Ken Thompson设计了Basic语言;1972年,Dennis Ritchie和Brian Kernighan设
30、计出了C语言,并且在20世纪70年代末风靡了程序设计界;1980年,Bjarne Stroustrup改造了C语言,并在1983年正式命名为“C+”。C+语言虽然被理解为是典型的面向对象编程的高级语言,其实它也兼有面向过程编程的特点功能。C+语言是一种典型的OOP语言。有一种说法说C+是面向过程编程如C语言的超集,是因为它包含了C语言的全部语法特征。C+语言的设计宗旨就是不但没有改变C语言语法规则,并且扩充出了一些新的特性。C+语言不但有C语言简明、高效、灵活的优点,而且有很好的通用性和可移植性,具有丰富的数据类型和运算符,同时也提供了功能强大的函数库。有很多并没有使用OOP的编程语言,和这些
31、相比,诸如C+此类的有明显的优势:程序编译建立更有结构层次感,扩展、开发、维护也都更加便利。所以,我们以后也要在改变自己传统思想里的编程旧思想,试着去尝试C+等。等使用熟练后,我们就会发现C+可以让我们的编程更简单直接,在解决实际问题时也更加高效省时,很多以前编程思想不能或者很难解决的问题就会变得迎刃而解。1.2 国内外研究现状1.2.1 控制系统的发展历程随着人类对周围事物的认知不断深入,在日常生活中积累了大量的经验,日积月累的总结,最终形成了一套理论。人们在思考如何去自动完成人工早先去完成的任务和操作,于是出现了“控制”一词。人类早期的自动控制装置及控制理论,如人们发明了浮子、用漏壶漏沙去
32、计时等;后来慢慢就出现了经典控制理论学说,开始使用数学方法如拉式变换、微分方程、传递函数、描述函数、根轨迹法等去分析;再后来出现了计算机,计算机的出现,使控制的发展进入了一个高速发展的时代;进而后来又出现了现代控制理论,不但可以分析连续的,同样离散的分析也成为了可能;到如今,控制学说已经发展到了智能控制的阶段。1.2.2 DCS与FCS现状谈到工业控制系统的发展历程,大致经过了以下发展阶段:模拟仪表控制系统,集中式数字控制系统,PLC可编程序控制器系统,DCS分散控制系统,FCS现场总线控制系统;FCS现场总线控制系统兼备了PLC与DCS的特性,FCS是以DCS为基础发展而来的,FCS更加适应
33、了现代控制系统发展的趋势。FCS是数字式的总线结构,互操作性、互换性和开放性都更强,控制有彻底的分散性,信息综合能力强,组态也更加趋于灵活,并且开发应用成本成本更低。在有关书籍和互联网上查询:目前针对分散控制系统(DCS)的技术己经较为成熟,美国、德国的一些研发机构已提供完整的虚拟DCS软件包。但是针对现场总线及其控制系统在国内外的研究还很少涉及,而介绍其核心技术方面的文献更是凤毛麟角。新一代控制系统FCS因现场总线技术而产生,是当前的热门技术和发展方向。现场总线是一种全数字、串行、双向通信协议,用于现场设备如变送器、控制阀和执行器等的互连。使用有现场总线通信能力的智能现场设备是现场总线系统的
34、本质特征。在各类型的现场总线中,基金会现场总线(FF)以其技术先进、属下会员实力强大成为非常有竞争力的一种总线技术。在一定程度上说,使用基金会现场总线技术就是熟练地使用功能块。但此功能块是一个独立的应用体系,十分完备和复杂,每个功能块都有数十种参数可以组态。然而,由于现场总线通信协议和系统结构很复杂,人们对其认识不足,这一技术的发展比较滞后。随着现场总线技术的不断发展,相关研究制造人员需要加深理解,引导开发和形成使用产品的条件,开拓应用市场。因此,此次面向对象编程在过程控制功能块开发中的应用研究非常重要。根据OOP的原理特点,基于高级C+语言,实现OOP技术,了解控制系统的发展历程和目前普遍应
35、用的FCS控制系统的特点,应用OOP方法设计功能块,完成面向对象的实现工作。因此,在批判地借鉴国内外同行新技术的基础上,研究开发具有完全自主知识产权的技术,具有长远的现实意义。1.2.3 面向对象技术的发展在当今软件设计开发界,面向对象编程的思想已经占据了最重要的地位。回顾20世纪90年代,面向对象的设计方法风靡了整个计算机界。面向对象的设计不仅仅简单是编程,其实更准确地说是一种思想,这种思想被我们用在社会的各个领域:图形设计、系统建模、多媒体行业等。必须承认,面向对象的思想出现,对社会各行各业解决问题都提供了一个新的更广更便捷的思路,也对人们的思维产生了巨大影响。随着我们对面向对象编程思想的
36、不断理解与深入,我们用此思想去解决的问题也越来越丰富,我们也开始逐渐去完善去思考它的优势与不足,使面向对象技术和思想越来越成熟,越来越完善。1.3 本章小结在此章节里,主要介绍了选题的背景及发展现状、面向对象的相关概念、OOP技术的发展和历史以及现在的应用,了解了控制系统和DCS、FCS以及面向对象思想发展的历程与现状。重点是在C+语言里应用OOP技术,本章就为用OOD设计出需要的功能块做好铺垫与准备。第2章 功能块的概念和结构2.1 功能块及参数的概念功能块其实也是一种编程语言,和形成代码不同的是,它是一种图形化的编程语言,被形象得比喻为“软件的集成电路”。正因为有了功能块,以前有很多只能是
37、在实验室特定的环境条件下才能演算的控制过程,现在可以放到FCS仪表中实现。所以说功能块为实现完整的分布式控制提供了一个重要的手段。输入、输出和内部控制参数构成了功能块。一套特定的算法,以输入参数为基础,产生了输出参数,以供系统或其他功能块利用,实现应用程序系统的控制功能。在一个庞大的控制系统里,功能块就像一颗颗原子一样,正是这些原子级的功能块最终形成了控制系统。输入参数、输出参数、用于对外数据接口的输入输出参数是功能块的三种基本参数。同时,还包括,数据输入端口、事件输入端口、所述事件数据输出端口。类比于单元组合仪表系统,里面有一个个单元仪表,每块表都显示着自己承担的自动控制功能。而每个功能块都
38、在内部根据算法设置了特定控制去管理输入输出参数,也便于和其它功能块连接实现复杂的系统功能。也有说法把功能块称为“软仪表”。功能块的基本模型如下图:输入参数输出参数事件输出事件输入执行控制输出获取输入获取处理算法功能块控制内含参数图2-1 功能块基本模型图在一个控制系统里,如此多的功能块是怎么识别的呢?是通过“位号(Tag:最多32个可视字符串)一个数字索引”识别的。既然是识别,所以Tag和数字索引在同一个控制系统里是独一无二的。数字索引虽然简短,但对功能块的访问可谓是得到了大大优化。网络是可以访问输入、输出参数的,并且可以相互连接起来。网络同样可以访问控制参数,但控制参数却不能和其它的功能块相
39、互连接使用。块的类型和控制参数加在一起确定了功能块的算法是什么样的。四个无符号整数字节组成了每个参数的名字。参数的名字在一个功能块内是唯一的。我们用“功能块位号.参数的名字”来表达,即“Tag.Parameter”。用此结构可以得到参数的索引。现场总线网络信息交换有两个层次:背景通信(操作员站和功能块应用信息交换)和运行通信(为功能块连接的实时通信),其中,运行通信的级别更高。2.2 功能块的原理及特点用到的输入参数需要保持一致,所以在运行过程中,功能块对输入参数、输出参数都使用了锁存的方式,在执行过程结束后,输出参数才会被更新。在一整套控制系统中,有许多功能块,为了实现预定的不同功能,它们内
40、部各自被赋予了不同的算法和参数。但方便的一点是,外部链接的一般结构多数情况下是通用的。上游功能块会产生输出参数,下游功能块的输入参数会和其相连接,从中“提取”需要的数据。这种连接的范围比较广,相同功能块内以及不同块中都可应用,相同设备以及不同设备间都可以实现连接。功能块中的参数被根据调用目的分为了4类“视图(view)”:动态操作数据(view1)、静态操作数据(view2)、所有动态数据(view3)以及其它静态数据(view4)。控制参数(也称包含参数)由计算机站等上位设备设定、组态或者计算。但要注意的是,这些控制参数不能与其它的输入、输出参数连接使用。把输入参数送入算法中,根据功能块的模
41、式进行调整。一个输出参数可以和许多功能块中的输入参数相连接供使用。很多时候,同一个输出参数的值不一定从一个块外部的来源得到,而是由块的内部算法得到。使用者不用去管功能模块中的算法是如何具体实现的,这样的特点也使不同功能块之间的连接变得简单,块中算法的更新改进也很方便。当不同的操作者或者厂家需要某些功能而混合配置功能块时,调用过程也极其省时省力。功能块的通用结构特点使传递成为了可能。下一级功能块输出可以直接由上一级功能块输入连接而来,这样,功能块的参数和功能传递过程就可以轻松完成。顾名思义,就是两个不同的功能块之间相互连接,搭建完整的控制回路,最终实现复杂自动化系统控制。标准的功能块有功能不可分
42、割、应用灵活、互操作性等特点。在逻辑操作、处理软件中,功能块是最基本的单位,而数据结构是功能块的绝对核心。为了实现最终复杂的自动控制系统,修改嵌入式功能块的控制算法可以改变这些参数。在某些情况下,输入参数和输出参数也可随时在线修改。用很多应用软件里提供的工具可以去完成需要的任务过程,我们可以灵活根据自己的需要去任意组态,选择不同设备完成控制任务。用户提出需求,系统配置信息,分步统一控制各个功能块。这样,逻辑上说实现了横向整合,分立器件。同一个现场设备,包含了不同功能块中相同装置。应用OOP技术,功能块独立性很高,但是随着接口的统一,FF协议栈使模块和系统之间可以交流信息,这样,功能块就又有了很
43、强的互换性和互操作性。2.3 功能块分类2.3.1 输入功能块基金会现场总线(FF)有很多种输入功能块:最常用的是模拟量输入功能块AI,它可以通过内部通道,由转换块中取得液位、重量、热量、流量等模拟过程变量,并完成通道内一系列功能,并且把输出供别的功能块利用。另外还有多通道模拟量输入功能块MAI、开关量输入功能块DI、脉冲量输入功能块PUL和多通道开关量输入功能块MDI。2.3.2 输出功能块同样,基金会现场总线(FF)也具有很多种输出功能块:我们比较熟知的是模拟量输出功能块AO,它的主要作用是将上级PID块等功能块的演算结果由内部通道传递给转换块,并完成限幅等功能。其它的有模拟量输出功能块A
44、O、多通道模拟量输出功能块MAO、开关量输出功能块AO、多通道开关量输出功能块MDO和步进PID输出功能块STEP。2.3.3 控制功能块常规PID控制算法功能块PID、增强PID控制算法功能块EPID和先进PID控制算法功能块APID是基金会现场总线(FF)几种常见的控制功能块。常规PID控制算法功能块PID是得到指令后才动作的,它需要其它功能块的输入。动作以后会产生相应相关的数值,因为输出参数的存在,得出的数值得以传递给控制系统里的其它功能块。为了防止积分饱和现象的出现,也为了给系统动作提供无扰切换,PID功能块有逻辑和输入参数,并且利用下级功能块的信息。与此同时, 反向计算输出参数,通过
45、反向计算输入参数,这些在PID功能块里都是支持的,这样就可以很轻易掌握下级功能块的状态。当处理通路一打开,PID功能块就会去允许执行相应的操作。2.3.4 计算功能块FF有多种计算功能块,在这其中,比较主要的有ARTH-计算功能块、LLAG-超前/滞后补偿功能块、CHAR-信号曲线功能块、DT-时间盲区功能块、ML-手动加载功能块、TIME-定值器和逻辑功能块、SPLT-输出分程功能块、B/G-偏置/增益功能块、SPG-设定值程序发生功能块、RATO-比率功能块、OS-DL-动态限幅和输出选择功能块、CT-常数功能块、AALM-模拟报警功能块、ISEL-输入选择功能块、AEQU-先进函数功能块
46、、INTG-累积计算功能块等。计算功能块有一个特点,它们是随着其它功能块的输入而执行操作的,并产生计算参数,并且还可以作为输出参数传递给其它的功能块使用。2.4 功能块执行过程功能块在它的工作执行过程中,大致可以分为三步:1.进行预先处理,并把参数隔离开来;2.执行算法操作,确定好输出参数数据;3.待过程进行完毕后再次处理,把功能块中的相关输出参数进行更新,报警等。在功能块的整个运行工作过程中,有一点是关键必须保证所用的输入参数恒定,不可有丝毫的任意改变。以此类推,由这个功能块传递给其它功能块的输出参数也必须是相同的。所以在进行第一步的预先处理时,必须是要把参数隔离开来的。只有这样做,在过程进
47、行完毕后,功能块中的相关输出参数才能被进行更新。所以可以总结出在执行算法操作的阶段里,有如下几个步骤:1.明确在模式(mode)参数中的实际模式值;2.通过特定算法计算出设定值(SP)以及工作点;3.进行既定算法操作,确定前馈输出参数的数值和模式状态;4.最后要计算得出反馈的输出参数数值和模式状态。FF中的功能块可以为系统提供控制操作行为,输入和输出参数是由现场总线进行链接的。在整个控制系统里,每个功能块的操作进行都受调度于系统,并且管理精确。操作执行是遵循周期性调度或者是由时间驱动着的。功能块提供了“功能”,各种参数实现了跨越现场总线无缝链接。复杂的程序就是由一个一个的功能块“搭积木”形成最
48、终控制功能的。2.5 功能块组态功能块组态是指把现场总线仪表中的功能块连接设定,完成的职责步骤:首先在应用软件的选择操作画面上选定需要执行连接操作的现场总线设备;为了区分所选出的现场总线设备,操作人员要给所选的每台设备设定位号;根据需要去实现的功能,去找设备的功能表,寻找出合适的功能块并选定;根据接口接线规则,把选定的功能块进行正确连接;再根据应用的要求,给每个选出连接的功能块设定特征参数;最后按照一定的位号顺序,给选出的现场设备录入功能块组态相关信息。组态不一定是在线的,离线同样也可以。功能块的连接方法可以内部可以外部,内部外部的区别就在于是和同一个现场设备功能块还是不同现场设备功能块之间的
49、连接。一般来说,内部连接是更好的策略,因为可以大大压缩控制扫描时间。下图是常见的串级控制功能块组态:图2-2 常见的串级控制功能块组态图说明:图中的方框就被我们用来替代现场的总线仪表,那么从下到上的三个方框为FP302(现场总线气压转换器) 、LD302(现场总线差压变送器)和TT302(现场总线温度变送器),小椭圆就是“软仪表”。模拟输入功能块很重要,它通过存在于控制系统内部的通道接到系统的主被控量-温度,输出OUT并且连接到主PID功能块的输入端IN,系统的副被控量是蒸汽流量,蒸汽流量是由AI(模拟输入功能块)通过存在于控制系统内部的通道接收的,它输出OUT连接到副PID功能块的输入端IN
50、,主PID功能块输出OUT连接到副PID功能块的设定值输入端CAS-IN,副PID功能块的输出端OUT连接到AO功能块的输入端CAS-IN。这个连接方式我们称作正向连接,顾名思义,就是把上级功能块的输出端和下级功能块的输入端相连接;那么相反的连接方式就是反向连接。就像图中的AO功能块的输出端BKCAL-OUT和副PID功能块的输入端BKCAL-IN连接起来,副PID功能块的输出端BKCAL-OUT又接到主PID功能块的输入端BKCAL-IN。2.6 本章小节本章节介绍了功能块及参数的概念、功能块的原理、特点、分类、执行过程和组态,这些有助于我们更深刻地理解功能块及它的应用。输入、输出和内部控制
51、参数构成了功能块。参数都应用了锁存的方式,不可分割、灵活多变并且可以互相操作。随着控制系统的不断发展变化,现场总线技术已经逐渐占领了自动控制领域。而现场总线的实现要依靠一个个的功能块,正是千千万万的功能块为现场总线技术提供了强大载体,想要更好实现现场总线控制系统技术,首先要从功能块的组态学起。FF的功能块就是路基,等到熟悉了解了FF功能块的组态,才有可能能依据对象的特性和所需功能,去自如选择合适的控制策略,最终实现复杂控制系统的搭建。第3章 基于OOD方法的过程控制功能块的设计3.1 OOD的有关概念3.1.1 什么是OOD面向对象设计(Object-Oriented Design,OOD),
52、顾名思义,就是编程者利用面向对象的思想方法进行设计。准确地说,OOD属于一种设计的方法,也属于OO这个大方法中间的重要过渡环节。OOD的出现,让程序员可以从抽象的角度去改变软件设计中模式的问题。应用OOD方法,我们用对象和类去代表生活中着着实实存在的物理问题,对象和类中的参数特点就正是所代表事物自己的状态行为。OOD当中包括许多概念,对象、类、继承、域、过程、子类、子系统等。OOD的抽象范式,使我们在处理具体问题时,把之间不同但却又互相有关系的对象一起构成抽象,有某些相似性的对象和类,我们最终就可以当成同一对象和类去处理。3.1.2 OOD的特点OOD方法是以对象为基础,应用特定的编程软件直接
53、用定义的对象和类去代表生活中的实际对象,以对象作为分析的基础,结构化分析不再能制约我们的开发。我们不但可以封装,还可以根据它继承性的这一特点进行复用。以前我们只能把自己当成机器去看生活中遇到的问题,而有了OOD我们定义了对象和类,直接站在问题本身上去看实际问题,因此很多以前需要多次繁杂转换的思维不再需要,这样就大大缩减软件程序的开发周期。因此说OOD非常全面地把面向对象方法思想的概念、优势体现了出来,我觉得这是OOD方法最大的特点以及优势。另外,OOD中的绝大部分系统模型可以不仅仅用一种编程语言去实现,可以实现多种语言并存。OOA的模型给OOD提供了基础思想,根据OO的原则与指导,参考周围具体
54、的现实条件去设计程序系统。OOD设计出的模型的核心部分是问题域部分,这个核心部分对于实现最终功能的要求有三个主要方面。对于三个主要方面的外围我们要加以完善,尽最大努力去免除实际条件对OOD模型核心的影响,这样才有利于最终建立完整理想的OOD模型。3.1.3 OOD的基本思想图3-1 OOD基本思想模块图3.1.4 OOA、OOD以及OOP之间的关系OOA、OOD所采用的概念、原则以及表示方法都是完全一致的,只是在软件开发的周期中,它们属于不同的阶段,分析手段、实现的目标以及采用的策略有差异。利用OOA分析建立模型后,以此为基础,应用OOD将它们设计成比较符合现实条件的OOD模型。有了OOD模型
55、,可以作为图纸,指导给OOP进行编程具体实现需要的功能程序。由此分析不难看出,OOD是OOA和OOP之间的桥梁,分析OOA并整理,使OOP可以直观“理解”并实现。3.2 OOD的主要工作和过程 OOD进行设计是以OOA分析作为它的基础,从问题本身的角度出发,由问题域类比,映射出程序中的域和对象(类),对结构属性性能等进行相应的调节,最终满足客户的需求。OOD可以很好地处理程序里各部分块的关系,在建模编程前,需要进行认真分析,弄清楚需求和功能。OOD设计过程中,要将系统组件,搞好结构分析,把功能分成块,使每个“小块”可以直接操作管理,每一个块通过“接口”进行连接和交流。比如服务器和客
56、户端看起来并没有那么直接的关系,因为它们是通过接口相连的。同样,因为复用性,遇到其它现实问题的时候可以复用此程序块,只是把需要的必须接口实现即可。设计OOD模型大致包括四个大的部分:问题域、数据接口、人机交互、控制驱动。这四个部分没有主次之分,也没有次序之说。每个部分的属性以及用的概念和表达方式都和OOA一致,只是不同的部分有自己特殊的使用方法。OOD的过程可以根据不同实际问题进行微调,但大致是:以实际问题中的事物为基础构建抽象角度的对象和类通过具体的编程语言让客户可以识别建造的对象和类弄清楚对象和类标识之间继承、复用等关系最终实现对象和类的理想模型。3.2.1 问题域部分的设计不论采用哪种O
57、OD过程方法,问题域部分设计都是我们必须要去做的工作。主要实现的目的是对OOA分析后的结果改进净化,然后在编程应用程序中根据提出的问题域设计出实际域(也就是所说的解域)。具体如下:1.对象和类:在进行OOA分析阶段时,分析员会设计很多对分析有便利的对象和类,这些类在进行到OOD设计阶段时很多就成为了多余,这时就必须进行删除,否则会对后期的工作造成很大干扰。当然,不只是删除,设计阶段也会出现新的需求,也需要根据情况再设计出一些对象和类;2.对象(类)的行为:对象和类之间都有互相交流传递的信息,如算法等,根据我们设定建模的过程,对于这些信息发送的时间顺序和时间节点,都需要掌握清楚,这样在设计算法时,才可以清楚流畅,方便省时;3.属性:与对象和类操作过程相似,在进行OOA分析阶段时,分析员会设计很多对分析有便利的属性,这些属性在进行到OOD设计阶段时很多就成为了多余,这时就必须进行删除,否则会对后期的工作造成很大干扰。当然,不只是删除,设计阶段也会出现新的需求,也需要根据情况再设计出一些新的属
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能制造在电子制造业的生产优化
- 2025年智能锁的安全性能测试
- 2025年海洋能发电在海岛生态环境保护中的政策建议报告
- 2025年海洋能发电技术产业链协同创新模式研究报告
- 2025空军军医大学口腔医院社会招聘(119人)考前自测高频考点模拟试题及答案详解一套
- 2025年六安市人民医院公开招聘69人模拟试卷(含答案详解)
- 2025辽宁兴城市人民医院、中医医院招聘急需紧缺人才37人考前自测高频考点模拟试题及答案详解(全优)
- 2025广东汕尾市陆河县高校毕业生就业见习招募15人(第三批)模拟试卷及答案详解(必刷)
- 2025年阜阳界首市“政录企用”人才引进8人模拟试卷及参考答案详解1套
- 2025黑龙江齐齐哈尔市富裕县信访局招聘公益性岗位人员2人模拟试卷参考答案详解
- 生产主管转正工作总结
- 2025至2030中国高纯铝行业发展趋势与行业发展研究与产业战略规划分析评估报告
- 会务理论考试题及答案
- 2025年期货从业资格之《期货法律法规》真题附答案详解【巩固】
- 幼儿园各项安全管理制度汇编
- 锦囊工程(修订版)
- 辽宁省沈阳市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 锅炉空预器清洗方案
- SF∕T 0111-2021 法医临床检验规范
- 药敏试验结果的解读
- DB14∕T 1319-2021 公路工程标准工程量清单及计量规范
评论
0/150
提交评论