面向对象设计在DCS中的应用

面向对象设计在DCS中的应用

(内蒙古国华呼伦贝尔发电有限公司内蒙古呼伦贝尔市021025)

摘要:集散式控制系统(DCS)已成为工业控制系统发展的主流。为了适应软件设计中对开放性的要求,组态技术已经在DCS中取得了迅速的发展,其中系统组态和控制组态是DCS中进行系统设计的至关重要的技术手段。目前广泛使用的方法是在软件中构造输入/输出模块及基本控制算法模块,然后根据不同系统的构造予以组态配置。

关键词:面向对象设计;继承性;多态性;

面向对象设计近年来取得了很大发展,在传统的I型S组态技术基础上,从对象的确立、类的抽象、继承性和多态性等方面,对面向对象设计技术在DCS中的应用进行了讨论。

一、概述

在DCS中引入面向对象设计思想就要对各种工业测控环境中的信号及过程进行有效的抽象,这种抽象应能既体现对象的特征,同时又能保持对象的某一完整的概念。体现对象的特征就是要分析对象,在微观上研究对象的内部结构,本文称为抽象的分离性;而保持对象的完整的概念是要在宏观上研究对象之间的关系,称为抽象的凝聚性。抽象的结果是类的产生。类构成了系统组织、处理的基本单元。通过继承可以产生新子类,子类完全或部分继承父类的特征,特征由属性和程式构成,属性描述对象的量化特性,程式描述对象的行为特性;系统的扩展和修定主要依靠类的扩展和修定来完成,系统软件的可重用性主要依靠类库的完善来实现。信号操作和过程控制应归属某一类的操作,但不仅限于某一类的操作。在不同时间、不同进程之中,同一对象可能归属于不同的类,这就是多态性。多态性表明:类的抽象并不是完全互斥的,不同类的某一属性可以相同。

二、基本信号类

基本信号类是系统类库中重要的部分,它基本决定了系统对输入/输出信号的适用范围,并直接影响软件的可重用性。需要强调的是:在面向对象系统的设计中,类库的完善过程就是系统的完善过程,因此,作为类库重要部分的基本信号类也不是固定不变的,它会随着系统的发展和对信号对象抽象的需要而不断得到扩充,从而使软件可重用性不断得到加强。从信号的流向上考虑,可以将基本信号类分为输入基本信号类和输出基本信号类。

1.输人基本信号类。(1)模拟量值输入类:该类抽象了大多数模拟量输入信号,并以提取的模拟量值的值集作为标识该类的基本属性。(2)开关量频率输入类:这类信号的频率在工业控制中一般理解为平均频率,由定量时间tx中的脉冲个数nx计算出f=nr/tr。因此,可以用tx的值集Tx,nx的值集Nx作为标识该类的基本属性。(3)开关量周期输入类:将开关量信号任意两个脉冲之间的时间统称为周期T,这样,可以用脉冲极性集、有效脉宽常数集和提取出的参量T的值集,作为标识该类的基本属性。有效脉宽常数是指当脉冲宽度大于此常数时,该脉冲成为一个有效脉冲。(4)开关量计时输入类:如果关心定量脉冲个数my经历的时间ty,此时可以将信号纳入计时输入类。以脉冲极性集、有效脉宽常数集、my的值集My、ty的值集Ty作为标识该类的基本属性。(5)开关量单脉冲输人类:如果需要在信号对象出现一次有效脉冲时,传递一次信息报告,此时可以将信号纳入单脉冲输入类。以脉冲极性集、有效脉宽常数集以及信息报告集作为标识该类的基本属性。(6)开关量电平输入类:对于一个开关量信号,如果将它的两个状态“’0和“1”作为关心对象时,这个信号就可以纳入电平输入类。以“o”状态宽度常数集、“l”状态宽度常数集以及提取的电平状态集作为标识该类的基本属性。(7)开关量编码输入类:当输入信号存在某一种编码信号时,可以建立编码输入类。以波特率集、编码模式集以及提取的数据报告集作为标识该类的基本属性。

2.输出基本信号类。(l)模拟量值输出类:该类抽象了大多数模拟量输出信号,以输出的模拟量值的值集作为标识该类的基本属性,(2)开关量频率输出类:当需要输出一个固定频率的信号时,可以将信号纳入频率输出类。,以输出频率集及占空比集作为标识该类的基本属性。(3)开关量脉冲输出类:当需要输出一串脉冲信号时,可以将信号纳入脉冲输出类。以脉冲极性集、脉冲宽度集、脉冲间距集、脉冲个数集作为标识该类的基本属性。(4)开关量电平输出类:当需要输出一个固定的电平信号时,可以将信号纳入电平输出类。以输出的电平状态集作为标识该类的基本属性。(5)开关量编码输出类:当需要以输出一种编码信号来传递信息时,可以建立编码输出类。以波特率集、编码模式集及输出数据的值集作为标识该类的基本属性。不论是输入基本信号类,还是输出基本信号类,上面只是给出了标识信号特征的一些基本属性,由于信号的输入、输出形式还受到硬件条件的约束,因此,每一种基本信号类中都可能存在除基本属性外的其它一些属性,例如:对于开关量输入信号,可能需要定义是电流型还是电压型;对于开关量编码输出,在多点传递时,可能存在地址编码等。

三、过程控制与面向对象设计

过程控制是对输人/输出信号依据一定的控制规律建立约束关系,并以信号的形式去控制设备,使系统达到某一种目标状态。传统的过程控制组态采用以面向功能的模块化方法。如将功能视为对象,传统的过程控制组态也具备了面向对象的思想和一定程度的软件可重用性。但这种简单的视功能为对象的抽象方法不能直接地引入继承机制,其对象也不具备多态特性,因此存在着相当的不足。对基本信号类的抽象及继承性、多态性的讨论,都是在属性的基础上进行的。其实作为构成类的另一重要因素—程式,也是同时存在的。例如,开关量频率输入类中频率的计算过程和算法,就是该类的程式。程式同样具备抽象、继承和多态的性质。在采用面向对象技术的过程控制中,程式在抽象、继承和多态特性中担任着主要的角色。

例1.考虑一个回路L,如果需要将回路L的输入通道以分时的方式检测二路信号,输出通道也以分时的方式控制二路信号,并且这两个回路的控制算法不一致,即需要将回路L扩展为具有多回路分时调节能力时,由于传统的过程控制组态中,回路L只能设置成一个回路的过程控制,就不可能具备这种扩展能力。

例2.再考虑这样一种情况:单回路N在条件1下使用控制算法A,而在条件1变化为条件2时使用控制算法B,这种具有动态约束条件的回路过程控制,传统的过程控制组态也无法完成。在上述两个例子中传统组态技术所暴露的问题,在引入继承机制和多态特性后,就能得到解决。例1中,可以将多个不同的控制过程作为标识的基本程式分别定义基本类,回路L在不同的控制进程中分属不同的控制类,从而使回路L这一对象具备多态性。例2中,可以将值集为条件l、条件2的条件参量定义为新的属性,在继承过程控制A和过程控制B程式的基础上构成新类;也可以使回路N在满足条件参量的基础上,引用多态特性,动态地归属过程控制A类和过程控制B类。在过程控制中,运用面向对象设计的继承机制和多态特性,可以使系统的处理能力得到很大的提高,也可以使软件的可重用性比使用传统组态技术时得到进一步的发挥。

总之,面向对象系统设计技术是在面向对象程序设计的基础上发展起来的,它采用的在类的抽象基础上,引入继承机制和多态特性的方法,使传统的系统设计观念发生了极大的变化,并开始渗透进各种系统设计中。我们采用面向对象系统设计技术在皮带输送机运输计算机监控系统中获得成功。随着DCS对开放性、可重用性的愈来愈高的要求,面向对象的DCS系统设计方法将取得更大的发展。

参考文献:

[1]刘胜。浅谈面向对象设计在DCS中的应用,2017。

[2]钱毛。关于面向对象集散式控制系统的继承性与多态性的讨论.2017。

标签:;  ;  ;  

面向对象设计在DCS中的应用
下载Doc文档

猜你喜欢