第八章 提高计算机控制系统可靠性的技术措施
第八章 提高计算机控制系统可靠
性的技术措施
8.1 软件故障诊断措施
8.2 软件可靠性措施
8.3 内部干扰
8.4 采用隔离变压器
8.5 接地设计
8.6 提高计算机控制系统实时性技术措施
第八章 提高计算机控制系统可靠性的技术措施
8.1 软件故障诊断措施
( 1)程序运行监视技术 WTD(Watchdog),即看门狗(硬
件自复位)技术
( 2)软件陷阱(指令冗余)技术
主要用于跑飞的程序指针,对因受干扰而混乱的程序中,
多字节指令是最危险的,因为错误的 PC指针有可能落在
多字节指令的中间,造成错误指令执行;而单字节指令则
可使混乱的 PC指针重新理顺,使混乱现象得以控制。
第八章 提高计算机控制系统可靠性的技术措施
软件陷阱就是依据此原理设计的
一个程序段。
MCS51软件陷阱程序示例:
NOP
NOP
.
.
.
NOP
LJMP ERROR01
第八章 提高计算机控制系统可靠性的技术措施
程序中指令 LJMP ERROR01将跑飞的程序转移到出错处理
程序,其中 NOP指令加的越多,捕捉能力越强,但 CPU执
行程序的时间也会相应增加,降低系统的运行效率。
( 3)指令复执技术
即在程序执行过程中,一旦发现错误就重新执行被错误干
扰的现行指令。指令复执既可用软件实现,也可以硬件实
现。但须遵循以下原则:
a、发现错误时应能准确保留现行指令地址,以便重新执行。
b、应能保留现行指令所用数据,以便重新执行使用。
第八章 提高计算机控制系统可靠性的技术措施
8.2 软件可靠性措施
是在规定的时间内和规定的环境下,程序无故障运行
的概率。
软件故障是指程序运行的外部结果偏离了需求规范。所以
故障是在动态中产生的,必须运行程序才会发现故障,故
障与程序运行状态有关。
提高软件可靠性的方法:
a、减少软件设计中的错误:主要包括采用模块化设计、
进行软件评审软件调试等;
b、采用提高软件可调试性的设计方法:使得软件可维护
性高、故障诊断及时迅速。
第八章 提高计算机控制系统可靠性的技术措施
8.3 内部干扰
内部干扰, 主要是由分布电容、分布电感引起的耦合感应、
多点接地造成的电位差和寄生电容振荡、热噪声等引起。
无论是内部干扰还是外部干扰,都是通过路或场耦合到被
干扰设备,因此,干扰的引入方式主要是共阻抗耦合方式。
第八章 提高计算机控制系统可靠性的技术措施
8.4 采用隔离变压器
采用隔离变压器 可阻断共模干扰,阻断系统与电源间的直
接电的联系,减少它们间的耦合。隔离变压器应有多层屏
蔽:如一次绕组屏蔽,二次绕组屏蔽,等电位层屏蔽,磁
屏蔽和外屏蔽等。
第八章 提高计算机控制系统可靠性的技术措施
8.5 接地设计
接地设计
接地也是消除系统干扰的一种方法。 接地目的:
a、消除各电路电流流经公共地线阻抗时产生的噪声干扰
电压;
b、避免磁场及地电位差形成地环路磁耦合影响。一般来
说,低频电路采用单点接地,高频电路采用多点接地,当
频率 <1MHz时单点接地,>10MHz时多点接地。
第八章 提高计算机控制系统可靠性的技术措施
在 1- 10MHz之间用单点接地时,其地线长度超过波长的
1/20,否则应使用多点接地单点接地目的是避免形成地
环路以致在信号回路内引起干扰。而高频干扰采用多点
接地主要是考虑分布参数的影响。
计算机控制系统地线标准要求,一般应在机房周围埋设
网状地线,其阻值应小于 10Ω,最好为 4- 5Ω 。
第八章 提高计算机控制系统可靠性的技术措施
处理措施:
a、高频电路就近多点接地和低频电路一点接地的原则;
b、交流地与信号地分离;
c、数字地与模拟地分开走线,只在一点汇集;
d、功率地线应粗,且与小信号地线分开,而与直流地相连;
e、信号地以 5Ω导体一点入地。
第八章 提高计算机控制系统可靠性的技术措施
一般工业过程中,从现场到主机房距离较远,可达几
百米至几千米,信息在长距离传输时会遇到 3个问题,a、
产生信号迟延; b、高频脉冲在传输中会产生奇变和衰减,
引起干扰; c、易受外界及其他传输线的干扰。经验表明,
当计算机主频为 1M时,超过 0.5m的传输即应作长线处理,
若主频为 3M时,超过 0.3m的传输即应作长线处理。
第八章 提高计算机控制系统可靠性的技术措施
8.6 提高计算机控制系统实时性
技术措施
8.6.1 硬件措施
8.6.2 软件措施
8.6.3 容错技术
参考文献
第八章 提高计算机控制系统可靠性的技术措施
8.6.1 硬件措施
( 1)多串口数据通信,具有连接简单、使用灵活方便、数
据传输可靠等优点。即将一个通信过程分成多个串行通信
过程,通过使用多串口通讯卡,由软件对各个串口同时扫
描,实现多串口通讯的并行工作方式,因为 Windows系统支
持多任务管理,可同时对多个串口进行读写。假定有 100台
仪表,使用 5个串口通讯所需时间是用 1个串口所需时间的
1/5,使通讯速度大大提高。
第八章 提高计算机控制系统可靠性的技术措施
( 2)多串口智能通信,是一种自带微处理器和双口 RAM
的高速通讯卡,可插在计算机的扩展槽内,主要作用是减
轻上位主计算机处理通讯任务的工作量,使上位机与底层
仪表的通信速度大大加快,提高整个通信系统数据刷新速
度。
第八章 提高计算机控制系统可靠性的技术措施
8.6.2 软件措施
现在计算机的运行速度已远远超过底层数据的硬件传输速
度,如简单的一发一收式顺序控制,则计算机大量时间会
处于等待数据状态,浪费了计算机资源。在 Windows环境
下,微软基类库( MFC)提供了多线程支持,即在软件中
可使用多线程技术,每一串口的读写对应一个线程,与上
层程序的通信也用一个独立的线程,这样上层对仪表的操
作可快速的显现出来。
第八章 提高计算机控制系统可靠性的技术措施
从宏观的角度看程序在同时对多个任务进行操作,CPU的
运行速度优势得到了最大限度的发挥,充分利用了计算机
资源。
实践证明,采用多线程技术,充分利用了计算机 CPU的速
度优势,加快了整个系统上下层的通信速度,非常有助于
提高系统的实时性。
第八章 提高计算机控制系统可靠性的技术措施
8.6.3 容错技术
即在容忍和承认错误的前提下,考虑如何消除、抑制和
减少错误影响的技术。常用方法是利用各种冗余技术将
可靠性较低的元件组成一个可靠性较高的系统,实质是
利用资源来换取高的可靠性。
冗余技术 一般包括,硬件冗余、软件容错、指令冗余和
信息冗余等 。
第八章 提高计算机控制系统可靠性的技术措施
1、硬件冗余的三种方式
( 1)硬件堆积冗余(也称静态冗余),即通过元部件的
堆积而获得可靠性的提高,当多个功能相同的模块运行
时,表决器接受各模块的输出作为其输入,并将多数表
决的结果作为系统输出。
( 2)待命储备冗余(亦称动态冗余),系统有 S+1个相
同功能的模块组成,其中一个运行,其余作冷备(或热
备)。显然动态冗余要求不停的进行故障检测和故障恢
复。
( 3)混合冗余,即将前两种方法结合运行的方法,即当
堆积冗余中有一个模块发生故障时,立即将其切除并以
无故障的待命子系统替代,因此即可获得较高的可靠度,
又可获得较长的 MTBF。
第八章 提高计算机控制系统可靠性的技术措施
软件失效机理是:由于软件错误引起软件缺陷,当缺陷
被激发时产生软件故障,严重时导致软件失效。因此软
件容错作用是及时发现故障,并采取有效措施限制、减
小乃至消除故障的影响,防止软件失效产生。目前软件
容错的两种基本方法,a、恢复块法(动态冗余)和 N文
本法(静态冗余)。
2、软件容错
第八章 提高计算机控制系统可靠性的技术措施
实现软件容错的 4项基本活动,故障检测、损坏估计、
故障恢复和缺陷处理 (即确定有缺陷的软件部件,并
将其排除,是软件正常运行,排除软件有 2种方法:
替换和重构,即缺陷软件不再使用,系统降级使用)。
程序的执行过程可以看成有一系列的操作构成,这些
操作又可由更小的操作构成。 恢复快设计法 就是选择
一组操作作为容错设计单元,从而把普通程序块变成
恢复块,是软件包含有一系列恢复块。一个恢复块包
括若干个功能相同、设计差异的程序块文本,每一时
刻有一个文本处于运行状态,一旦该文本出现故障,
则已备件文本替换,从而构成 动态冗余 。
第八章 提高计算机控制系统可靠性的技术措施
N文本法 就是要求设计 N个功能相同,但内部差异的文
本程序,文本功能即为软件功能。 N个文本分别运行,
以静态方式实现软件容错。每个文本程序中设臵一个
或多个交叉检测点,每当文本执行到一个交叉检测点
时,便产生一个比较向量,并将此向量交给驱动程序,
自己便进入等待状态,等待来自驱动程序的指令。驱
动程序任务就是管理 N个文本的运行。
因此,软件容错必须以软件部件 差异设计 为基础,所
谓差异设计,就是对实现某一个功能的软件部件采用
不同的算法,由不同的程序员,甚至用不同的程序设
计语言,设计功能相同而内部结构尽可能不同的多个
文本,使这些结构迴异的软件文本在运行过程中出现
相同设计缺陷的概率尽可能地减小,从而达到相互冗
余的目的。 一般工业过程也称之为 非相似余度系统 。
第八章 提高计算机控制系统可靠性的技术措施
3、指令冗余 (即软件陷阱)
是利用消耗时间资源来达到对系统的容错目的。
4、信息冗余
计算机控制系统中的信息发生偏差的一般场合为,a、
数据的传输; b、数据对存储器的读写; c、数据的运
算。
信息冗余就是利用增加所传输数据信息的多余度来提
高可靠性,即在数据信息中附加校验段(检错码或纠
错码),以检查数据是否发生偏差,并当有偏差时纠
正偏差。常用的校验码有奇偶校验码、循环冗余码
CRC、定比传输码等,常用的纠错码有海明码和循环
码等。
第八章 提高计算机控制系统可靠性的技术措施
参考文献
[1] 高金源等,计算机控制系统-理论、设计与实现,北
京航空航天大学出版社 2001。
[2] 郭锁风,计算机控制系统-设计与实现,航空工业出
版社。
[3] 曾葵铨编著,计算机反馈系统的鲁棒性设计,科学出
版社 1992。
[4] 刘恩沧编著,计算机控制系统分析与设计,华中理工
大学出版社 1997。
[5] 刘明俊,数字系统原理-分析与设计,国防科技大学
出版社。
[6] 孙绍凯,管心盼等,采样周期对控制系统性能的影响 [J]
[7] 周欣然等,采样周期对计算机控制系统的影响及其经
验选择 [J]。