分散控制系统(DCS)的主要作用是对生产过程进行控制、监视、管理和决策,因此要求它必须具有很高的可靠性,这样才能保证工厂的安全、经济运行。为了实现这一点,在分散控制系统中采用了许多提高可靠性的措施。我主要从可靠性的一般概念、可靠性分析方法、分散控制系统中采用的可靠性措施,以及软件的可靠性问题进行简单的论述。
可靠性的研究工作随着大规模计算机系统和国际性计算机通信网络的不断发展,可靠性问题己经成为一个十分重要的问题,可靠性理论也在这种形势下不断地发展和完善,可靠性技术的研究内容大致分为四个方面:可靠性设计、可靠性分析、可靠性试验、可靠性管理。
可靠性设计旨在按照一定的技术要求,设计和制造出可靠性高、不易损坏的产品;可靠性分析则是通过对有关数据的收集、分析和计算得出一些关于可靠性问题的评价和结论;可靠性试验是验证系统可靠性是否达到规定指标的手段,它能暴露系统设计中可能存在的问题;可靠性管理着眼于从管理方面提高整个系统的可靠性,例如制定合理的检修周期,配备合适的备品备件,安排适量的检修人员等。
一、分散控制系统中的可靠性措施
在分散控制系统中,采用了许多提高可靠性的技术措施。这些技术措施是建立在以下四种基本思想上的:一是要使系统本身不易发生故障,即所谓的故障预防;二是在系统发生故障时尽可能减少故障所造成的影响,即所谓的故障保安和故障弱化;三是当系统发生故障时,能够让系统继续运行,即所谓的故障容许;四是当系统发生故障时,可以在不停止系统运行的情况下进行维修,即所谓的在线维修。基于这四种基本思想,分散控制系统中采用了各种各样的可靠性措施。
1 严格进行质量管理和提高系统硬件水平
硬件是系统正常工作的物质基础,也是影响系统可靠性的关键所在。因此,提高硬件的平均故障间隔时间MTBF是提高系统可靠性的重要措施。为了实现这一点,分散控制系统的制造厂家采取了许多措施。
1.对元器件进行严格的筛选和老化
所谓筛选,就是将不符合使用条件的元器件,通过适当的方法予以剔除。所谓老化就是在元器件投入使用之前,将其置于一定的工作条件下,使有可能发生参数漂移的元器件逐步稳定。
2.元器件的降额使用
电子元器件都有一定的使用条件,这些使用条件是以元器件的某些额定参数值来表示的。实践证明,当元器件的工作条件低于额定值时,其工作比较稳定,发生故障的机会也比较少。所以为了提高可靠性,往往将元器件降额使用。降额的幅度要从可靠性和经济性两方面综合考虑,因为元器件的额定参数越高,价格也越高。
3. 充分考虑到参数变化的影响
在电路设计上充分考虑到元器件在使用过程中受参数变化造成的影响,使之在各种不利情况下均能正常工作。
4. 采用低功耗元件
低功耗元件的发热量比较少,它们的故障率相对来说比较低。另外,普遍采用低功耗元件可以大大地减轻电源的负担,提高电源的可靠性。
5. 采用噪声抑制技术
在工业控制现场,各种各样的干扰脉冲常常是造成控制系统硬件故障的原因。因此,采用噪声抑制技术是提高系统可靠性的一种行之有效的办法。
6. 耐环境设计
在系统硬件的设计上,充分考虑各种环境因素的影响,采用适当的冷却、抗震、防尘、防腐等技术措施,以提高系统抵御外部环境侵袭的能力。
2 使系统故障时处于安全状态
1.限制故障范围
系统在工作中不断地进行在线故障检测, 一旦发现故障,就将故障设备与系统隔离,使它不致于影响其他设备的正常运行。
2. "冻结"CPU输出
如果系统检测到CPU故障,则立即"冻结"控制系统的输出信息,以免造成输出混乱。
3 采用后备措施
1.手动后备
对于重要的控制回路,可以采用手动后备的方法来提高可靠性。一旦自动控制失灵,可以手动控制生产过程。分散控制系统有三种处于不同层次上的手动操作方式,
(1)在运行员操作站上进行手动操作 这种手动操作要求运行员操作站、通信网络、基本控制单元、过程输出通道都能够正常工作时才能进行,因此,具有一定局限性。
(2)用手动操作站通过I/O模件进行操作 这种手动操作方式所经过的环节比较少,因此具有较高的可靠性。但它仍然要求I/O模件正常工作,否则手动操作不能进行。
(3)用手动操作站直接进行操作,在这种情况下,手动操作站直接输出4~20mA或1~5V的模拟量信号去控制执行机构。因此,即使I/O模件发生故障,手动操作仍然可以进行。这种手动操作也是电厂中经常采用的一种操作。
2.自动后备
自动后备是采用冗余的方式设置另外一套或几套备用控制装置。当处于运行状态的自动控制装置发生故障时,备用控制装置自动投入,维持系统的自动控制。自动后备是冗余系统的一种形式,后面将进行较为详细的讨论。
二、软件的可靠
以上所讨论的是硬件的可靠性,下面将简要介绍软件可靠性的一般概念。软件可靠性方面的研究工作起步较晚,但近年来逐渐引起人们的重视。其主要原因是,软件的可靠性不高不仅会影响系统的工作,甚至会导致系统的瘫痪,造成不可挽回的事故。例如,在1963年,一个隐藏的软件错误曾经使美国飞往火星的火箭发生爆炸,造成一千万美元的损失。软件可靠性的研究目前还不太成熟,但掌握一些基本概念,对于更好地认识软件可靠性问题是有禅益的。
1 软件的可靠性
软件的可靠性最初仅仅被认为是软件的准确性。如果软件能够准确无误地完成所要求的功能,人们就认为软件是可靠的。然而,这最起码的要求也常常不能得到满足。有人做过统计,对于初次编出的软件,平均每100--4000条指令就会出现一个错误。这些错误需要在调试、联调、试运,甚至到运行时才能陆续被发现和改正。近年来,人们对软件可靠性赋以更广泛的含义,即便于使用和便于扩展。如果一个软件不便于使用,不便于扩展,就认为这个软件存在着缺陷。软件的质量主要由以下六方面的因素决定:
(1)时间因素 与硬件一样,软件也有MTBF、MTTR等指标。除此之外,还有以下时间指标:系统平均不工作间隔时间MTBD(Mean Time Between System Downs)、平均停机时间MDT(Mean Down Time)。
(2)缺陷频数 包括软件缺陷数、文件缺陷数、用户提出的补充要求数。
(3)与软件可靠性有关的百分率 除了与硬件相似的可靠性、可用性、可维修性、故障率等百分率之外,还有以下几种百分率:
不合格率: 不能算故障但应进行改进的事件叫不合格事件,它的出现率叫不合格率。
延迟率: 一项要求在规定时间T内完成的任务,由于软件不可靠,实际完成时间为T1,则定义D= T1-T为延迟时间,D/T叫延迟率。
误操作率: 这与操作者的操作水平有关,但在一定程度上反映了软件说明书是否清楚,以及软件是否适用于操作。
原因不明率: 出现了软件故障但查不出原因,从而无法纠正的故障率叫原因不明率,它反映了软件的可维修性。
同故障事件率: 第一次出现的故障在采取措施纠正后仍重复出现的再现率叫同故障事件率。它反映了纠正措施不彻底。
可靠性经费率: 为软件可靠性及维修所付出的费用与总软件费用之比叫可靠性经费率。
(4)软件投入 包括开发软件所消耗的工日数或工时数,对软件检查的项目数,对用户提出的要求采取对策的费用等。
(5)软件特性 包括软件是首次开发的还是基本套用的、复杂程度、标准化程度、结构及规模大小、软件的寿命周期等。
(6)使用方面特性 软件使用方面的特性(例如,在线系统、实时系统等)、计算机的特点、所用的体制、质量标准等。
2软件的质量标准
在此仅介绍以下几种常用的软件质量指标:
(1)平均不工作间隔时间MTBD。设Tv为软件正常工作总时间,d为系统由于软件故障而停止工作的次数,则有 MTBD=Tv/(d+1)
(2)系统不工作次数(在一定时间内)。由于软件故障停止工作,必须由操作者去介入再启动才能继续工作的次数。
〈3〉平均修复时间MTTR。它反映了出现软件缺陷后采取对策的效率。对于在线系统而言,一般要求MTTR<2d,普通系统的MTTR<7d。
(4)平均停机时间MDT。由于软件故障,系统停止工作时间的均值。对于在线系统而言,要求MDT<10min,普通系统的MDT<30min。
(5)可用性A。设Tv为软件正常工作时间,TD为软件故障使系统不工作的时间,则
定义:
A =TV /(TV +TD)
上式也可以表示为
A=MTBD/(MTBD+MDT)
(6)初期故障率。一般以软件交付使用方的三个月为初期故障率期。初期故障率以每100h的故障数为单位。它用来评价软件交付使用时的质量,并且预测何时