摘要: 介绍了电梯串行通讯系统可靠性设计的基本方法及硬件抗干扰措施,并对软件可靠性设计技术进行了初步探讨。
关键词: 串行通讯 可靠性 抗干扰 硬件 软件
电梯工作现场往往存在大量的干扰源,电梯控制系统一旦因干扰而产生故障,很可能酿成严重的后果。因此,在电梯串行通讯系统的设计中,如何增强系统的抗干扰能力、提高系统工作的可靠性是一个不容忽视的重要内容。
1 可靠性的基本概念
可靠性是产品的质量指标。其定义为:产品在规定的条件和规定的时间内,完成规定功能的能力。其中规定条件是指产品工作时所处的环境条件、维护条件、使用条件等;规定时间是指产品能够正常工作的起止时间;规定功能则是指产品应当实现的功能。衡量产品可靠性的常用量化指标主要有:可靠度、失效率、平均寿命、平均维修时间和利用率等。
在电梯串行通讯系统中,故障应当都是可以修复的,因此其平均寿命的确切含义应当是平均故障间隔时间MTBF(Mean Time Between Failure)。另一个重要指标则是故障平均修复时间MTTR(Mean Time To Repair)。
2 保证电梯串行通讯系统可靠性的方法
2.1 提高系统各单元的MTBF
根据可靠性设计的有关理论,单元越简单,可靠性就越高。因此,电梯串行通讯系统最好设计成集散控制系统,即将整个系统分解为多个自律性极强的独立单元,每一单元都比较简单,可靠性大为提高。而且当某一单元发生故障时不会影响整个系统。此外,结构上的分散也就意味着控制的分散、供电的分散、负荷的分散和干扰的分散,因此从根本上分散了影响系统可靠性的外部因素,从而保证系统能够达到很高的MTBF。
目前在电梯串行通讯技术中占主导地位的是主从结构的BITBUS网络系统,它采用RS-485总线,通讯结构为命令、响应式。其潜在的危险就是采用了集中控制方式,一旦主节点出现故障,整个系统将瘫痪,而具有多主结构的CANBUS总线却可以克服上述缺点。它可以多主方式工作,网络上任一节点可以在任一时刻向网络上其它节点发送信息,不分主从,因此可以很方便地构成冗余(容错)系统。CAN的每帧信息都有CRC校验及检错措施,而且CAN节点在错误严重时具有自动关闭总线的功能,切断它与总线的联系,使总线上其它操作不受影响,具有很高的可靠性。因此,采用CANBUS总线很容易构成“集中管理、分散控制”的集散控制系统。可以预见在不远的将来,CANBUS将逐渐取代BITBUS,成为电梯串行通讯系统中的主流产品。
另外,在硬件电路板制作时,对所用元器件应严格筛选,选用具有低失效率的器件,对某些重要的元器件进行降级使用,元件在使用前进行老化处理使之进行偶然失效期等,从而在元件级很大程序地保证系统高可靠性。
2.2 降低系统各单元的MTTR
采用CANBUS总线的电梯串行通讯系统由于采用了模块结构设计,各个模块功能简单,易于维护,在发生故障时便于及时发现故障位置,迅速更换,有利于缩短系统的平均维修时间MTTR,从而提高系统的利用率。此外,还应开发使用在线快速排除故障的设计方法,使用硬件自诊断和故障部件的自动隔离、自动恢复和热机插拨技术。当系统出现异常,通过硬件自诊断机能和测度机能检出后,迅速进行自我故障排除,若不能排除,则迅速报警,并将故障信息显示于控制柜操作面板。
2.3 冗余与容错设计
容错设计的出发点是承认各单元发生故障的可能,进而设法保证即使某单元发生故障,系统仍能正常工作。为使系统具有容错能力,必须在系统中增加适当的冗余单元,保证当某个单元发生故障时能由冗余单元接替其工作,原单元修复后再恢复出错前的状态。所以容错与冗余是同时使用的技术。
对于采用主从结构的BITBUS总线的电梯串行通讯系统,如果进行冗余容错就必须对整个系统进行冗余,这显然很复杂且很不经济。而对于采用多主结构的CANBUS网络的电梯串行通讯系统,由于各单元的相对独立和相对简化,使得冗余容错比较容易实现,同时还便于在冗余时突出重点(如电梯操纵箱),减少不必要的冗余,从而使系统更加经济实用。
在采用CANBUS网络的电梯串行通讯系统中,为提高控制系统的可靠性,还可以设计2台控制柜主电脑,互为备用地执行监控任务,好构成双机冗余系统。其中1台作为主机投入系统运行,另一台作为备份机也处于通电状态。当主机出现故障时,专用程序切换装置便自动地把备份机切入系统运行,承担起主机的任务。而故障排除后,原主机则转为备份机,处于待命状态。这种设计方式对于单梯运行可能要增加些成本,而对于并联或群控梯,则在不增加任何硬件成本的前提下,使系统的可靠性大大提高。
2.4 诊断技术
诊断技术实质上是一种检测技术。所谓诊断,就是将测试取得的诊断信号与设定的标准相比较,或利用事先确定的征兆与故障之间的对应关系,来确定故障的种类和部位,进而达到排除故障甚至预防故障的目的。
例如,对于电梯串行通讯系统中的单片机,受外界干扰时可能会产生程序弹飞这一问题,可以设置监视跟踪定时器来监视程序运行状态。定时器的定时时间稍大于主程序正常运行1个循环的时间,而在主程序正常运行过程中执行1次定时器时间常数刷新操作,这样,只要程序正常运行,定时器就不会出现定时中断,而当程序弹飞或失常时,则因无法按时刷新定时器时间常数而导致定时中断,利用定时中断服务程序将系统复位。
3 串行通讯系统硬件抗干扰措施
电梯串行通讯系统中的元器件由于经过筛选和老化处理,因此可靠性很高,平均无故障间隔时间MTBF很长,因此引起控制系统故障的原因多半不在于其本身,而在于从各种渠道进入控制系统的干扰信号。电梯工作现场的干扰一般都是以脉冲的形式进入微处理器,干扰窜入系统的渠道有3条:空间干扰、过程通道干扰和供电系统干扰。为减少系统的错误和故障,提高系统的可靠性,就必须采用抗干扰措施,提高系统对环境的适应能力。
3.1 3种常见的干扰及其抑制
3.1.1 串模干扰
串模干扰是串联于信号源回路中的干扰,也称横向干扰或正态干扰。产生串模干扰的原因有分布电容的静电耦合,长线传输的互感,空间电磁场引起的磁场耦合以及50Hz工频的高次谐频干扰等。用双绞线作为电梯串行通讯系统中的信号引线,不但可以降低成本,而且可以有效地抑制串模干扰。这是由于双绞线中每个绞线环绕向的互反特征,从而使各个小环路的电磁感应互相抵消。另外,采用低通滤波器可以有效地抑制电源高次谐波。
3.1.2 共模干扰
共模干扰是由于微处理器、放大器地和信号源地之间的电位差而产生的干扰,也称为纵向干扰或共态干扰。
在平衡传输中,对于采用差动输入结构的接收单元而言,共模干扰不起作用;但是在不平衡传输结构中,共模干扰将会转为差模干扰而对接收单元造成影响,而且不平衡程度越大,影响就越严重[1]。
共模干扰的抑制措施主要有如下3种:变压器隔离、光电隔离和浮地屏蔽。变压器隔离就是利用变压器将模拟信号电路与数字信号电路隔离开来。光电隔离是利用光电耦合器来实现两个电路系统间的隔离。浮地屏蔽是采用浮地隔离式放大器来抑制共模干扰电压。相比较而言,光电隔离体积小,成本低,实现比较容易,应用广泛。例如,在采用CANBUS网络的电梯串行通讯系统中,CAN控制器PCA82C200与CAN驱动器PCA82C250之间加接了高速光耦芯片6N137来实现光电隔离,以提高系统的抗干扰能力,如图1所示。 (图片) 图1中,信号从6N137的输入端引脚输入,发光二极管发光,经片内光通道传送到光敏二极管,反向偏置的光敏管经光照后导通,经电流—电压转换后送到与门的有关输入端,与门的另一个输入端为使能端。当使能端为高电平时,与门输出高电平,经输出三极管反向后光电隔离器输出低电平。当输出信号电源小于触发阀值且使能端为低时,输出高电平,但这个逻辑高是极电集开路的,可针对接收电路加上拉电阻或电压调整电路。这样就实现了CAN总线和CAN控制器之间的隔离,避免了CAN总线上的通讯干扰影响CAN控制器的工作。
3.1.3 长线传输干扰
信号在长线传输中会遇到3个问题:一是长线传输易受到外界干扰,二是具有信号延时,三是高速变化的信号在长线中传输时会出现波反射现象。采用终端或始端阻抗匹配,可以消除长线传输中的波反射或把它抑制到最低限度,采用双绞线作为信号线可以部分抑制外界信号干扰。
3.2 接地技术
接地是抗干扰措施中的关键步骤,因此对接地必须慎重处理。下面针对电梯串行通讯系统的特点并结合笔者的个人体会,给出一些接地方法。
3.2.1 电路板内的信号地
电路板内的信号地分为如下两种情况:
(1)对于采用了诸如模拟放大器、模拟开关、D/A转换器等高精度模拟器件的电路板,接地必须严格要求。主要有:所有模拟器件(包括可能的输入/输出)的接地端必须单点并联接地,各地线应尽量放宽,绝对避免串联接地形成的环路。
(2)对于纯数字电路的电路板,各器件可以允许多点接地,但地线应尽可能粗,并尽量减少串联接地的情况。尤其对于高频信号器件,电路中应采用大面积直接接地,以减少电路间的相互影响。
3.2.2 模拟量输入信号与屏蔽的接地
(1)如果信号源不接地,差分放大电路端接地,则屏蔽体应在放大器端接地,且接地应保证从放大器到大地的电阻小于1W。(2)如果信号源端须接地,差分放大器端不接地,则屏蔽体应在信号源接地。(3)如果信号源端与差分放大电路端都必须接地,则对信号必须采用变压器或光电隔离等措施,且屏蔽体在信号源端接地。(4)如果可以选择在信号源端或放大电路端接地,则可将信号线与屏蔽层在信号源处接地。
4 串行通讯系统软件的可靠性设计
4.1 利用软件提高系统可靠性
电梯串行通讯系统是由硬件和软件组成的,因此系统的可靠性也分硬件可靠性和软件可靠性两个方面。通过提高元器件的质量,采用冗余设计,进行预防性维护,增设抗干扰装置等措施,能够提高硬件的可靠性。但是,要让整个系统得到理想的可靠性上述措施还显不够,还要利用软件来进一步提高系统的可靠性。利用软件提高系统可靠性的措施主要有下面几种。
4.1.1 设置自检程序
系统开机后先对硬件进行自检,如硬件有故障,系统则停止运行并报警。另外,各节点微处理器内部设置状态标志,程序运行时不断查询这些状态标志,及时发现并纠正错误,以保证系统运行的高可靠性。
4.1.2 指令冗余法
微处理器受干扰后,往往会把操作数当操作码来执行,使程序的正确执行顺序被打乱且乱飞,即程序弹飞。若程序弹飞到某条单字指令上,则可自动纳入正轨;当程序弹飞到某条双字节指令上时,有可能落到其操作数上,从而继续出错;当程序弹飞到3字节指令上时,因它有2个操作数,出错的几率更大。
因此编程时应尽量多采用单字节指令,并在关键的地方人为地插入一些单字节指令(NOP),或将有效单字节指令重复书写,这便是指令冗余。指令冗余无疑会降低微处理器的工作效率,但在绝大多数情况下,微处理器还不至于忙到不能多执行几条指令的程度。
4.1.3 设置软件陷阱
在非程序区设置一些陷阱程序。正常运行时不会进入非程序区,当程序弹飞时就可能遇到这些陷阱,在陷阱处强令程序进入初始状态,避免出现“死机”现象。例如对于MC5-51系列单片机,可利用“LJMP #0000H”和“JB bit,aa”指令,在非程序区反复用0200000002000000……H填满。这样不论程序计数器PC失控后指向哪一字节,最后都能让程序回到复位状态。
4.1.4 看门狗定时复位技术(WATCHDOG)
WATCHDOG可这样设置:本身独立工作,基本不依赖于CPU,CPU在1个固定的时间间隔内和该系统打1次交道,以表明系统工作正常并封锁复位信号。当CPU陷入死循环后,则因超过规定的时间间隔而启动复位信号使系统复位。此外,前面介绍的监视跟踪定时器也属于一种WATCHDOG。
4.1.5 输入输出信号的抗干扰技术
电梯串行通讯系统的输入干扰主要来自于各层呼梯按钮和轿内操纵按钮,由于干扰信号一般为持续时间很短的尖脉冲,因此在满足采样要求的前提下,将采样延时一定时间(一般50ms以上),等输入信号稳定后再进行取样并输入微处理器,即可消除输入干扰。因为干扰是随机的,所以对于输出干扰,编程时可以采取重复输出的办法加以克服。即在数据或控制信号输出后,以最短的周期重复输出原来的信息,这样当电梯控制系统接受到一个被干扰错误信息后,还未来得及作出有效的反应,错误信息就已被纠正。当然,如果对电梯控制系统的所有输出信号都进行重复输出的话,难免会降低电梯控制系统的效率,但是,对于一些关键的输出,如起动、开闸、减速、平层、下闸、停车、开关门等命令,采用重复输出将可大大提高电梯控制系统的可靠性和安全性。
4.2 提高软件的可靠性
虽然利用软件可提高系统的可靠性,但是由于种种原因,软件本身也会发生故障,因此应采取措施,提高软件的可靠性。
4.2.1 程序分段和层次结构
在进行程序结构设计时,将程序分成若干具有独立功能的子程序块。各子程序可单独也可和其它程序一起使用,各子程序之间通过一个固定的通讯区和一些指定的单元进行通讯。每个程序块能分别进行调整而不影响其它程序块。这些各自独立的程序块在连接时,尽量减少程序之间的依赖关系,按层次排列,而各程序块具有独立功能,结构简单,易于修改和扩充,故障少。
例如,对于CANBUS通讯程序,就可分成下面3个模块进行设计和调试。①PCA82C200发送接收数据时能否产生中断。调试时通过仿真器读取PCA82C200中断寄存器的中断字即可。②通讯程序能否正常执行设定的命令。这牵涉到设定命令的具体情况,需分情况作出相应的判断。③通讯程序错误处理能力和解决总线冲突能力的测试。这可以通过故意设置通讯错误和频繁通讯来检验。
4.2.2 提高程序的可测试性设计
软件故障具有和硬件不同的特点,软件故障往往是在设计阶段,由人为错误或者在运行初期输入程序时的操作错误而引起。这种存在程序中的错误,必须通过反复测试才能发现。因此,必须进行提高软件可测试性设计,使软件便于测试。
参考文献
1 孙培德.串行通讯传输线分析及抗干扰方案.中国电梯,1998(11)
2 张彦朝.电梯控制系统中单片机抗干扰措施.中国电梯,2000(2)
3 何立民.MCS-51 系列单片机应用与系统设计.北京:北京航空航天大学出版社,1995
6/27/2005
|