摘要: 针对我国变电站目前大多采用基于BITBUS总线和RS-485总线构建的监控网络系统所存在的缺点,介绍了一种利用CAN总线的高压开关柜在线检测系统,能更好地完善变电站监控系统的功能,提出了其主要硬件和软件的设计方案和实施并介绍了应用效果。
关键词: 在线检测系统 CAN 总线 现场总线
由于电子信息技术的进步,现场总线技术已经在高压开关柜功能智能化系统中得到了广泛应用,使高压开关柜的在线检测系统形成了一个分布式的监测系统,并使整个系统较传统的集中监测系统性能增强,功能更为完善。
1 CAN总线技术及其特点
在传统的变电站监测系统中,一般采用BITBUS总线和RS-485总线,但在实际应用中都有以下缺陷:
a. BITBUS总线和RS-485总线上只能有一个主节点,无法构成多主系统,一旦主节点出现故障,系统就不能正常运行,导致整个系统的可靠性较差。
b. BITBUS总线和RS-485总线的抗干扰能力较差,不适应在高电磁环境下运行,而且其错误处理能力也很差。
c. 数据通信方式是命令响应式,下端节点只有在收到主节点的命令以后,才能响应,从而造成数据不能及时上传,导致整个系统实时性较差,不适用于开关柜在线检测这种要求实时性很高的系统中。
本文采用了目前在工业测控系统中常用的控制器局域网络CAN。CAN 总线采用差分驱动,可适用于高噪声干扰的环境且具有较强的纠错能力,目前已形成国际标准ISO11898规范[1]。其价格低廉,可靠性高,结构灵活,为最有前途的现场总线之一。
CAN采用了OSI/ISO模型全部7层中的2层,即物理层和数据链路层,用户可以这2层为基础,根据实际需要开发相应的应用层通信协议[1]。CAN 的主要特点如下:
a. 可以多主方式工作,网络上任意节点均可以在任意时刻主动地向总线上其他节点发送信息,因而可以构成多主机系统。
b. 当CAN 节点严重错误时,具有自动关闭输出的功能,切断该节点与总线的联系,使总线上的其他节点及通信不受影响,故具有较强的抗干扰能力。
c. 采用非破坏性总线仲裁技术,当2个节点同时向总线上发送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,节省了总线冲突仲裁时间,避免了总线冲突。
d. 总线上的节点信息可以分成不同的优先级,以满足不同的实时要求。
e. 可以用点对点、一点对多点及全局广播等几种方式发送和接收数据。
f. CAN 的直接通信距离最远可达10km,此时传输速率只能达到5kbit/s;最高通信速率可达到1Mbit/s,此时最大传输距离为40m;CAN上的节点数实际可达110个。
g. CAN 采用短帧结构,每帧信息含有8个字节,并有CRC校验等检错措施,传输时间短,保证了数据出错率低。
h. 通信介质采用双绞线、同轴电缆或光纤,选择灵活。
总之,采用CAN 总线实时性强、可靠性高,用户接口简单,非常适用于变电所中构成高压开关柜故障在线检测系统。
2 系统总体设计方案
高压开关柜在线检测系统结构如图1所示。
3.1.1 CAN 控制器的选取①
采用SJA1000芯片,它支持CAN2.0B通信协议,它与仅支持CAN2.0A的CAN控制器PCA82C200在硬件和软件上完全兼容,并在其基础上增加了新功能:标准帧数据结构和扩展帧数据结构,这两种帧格式都有单2 双接收过滤器;64byte的接收FIFO;可读写访问的错误计数器和错误限制报警及只听方式等。
3.1.2 CAN 收发器①
PCA82C250是Philips公司的CAN控制器和物理总线间的接口,可提供对总线的差动发送和接收
能力。它有三种不同的工作方式:高速、备用和斜率控制。一般采用斜率控制方式。硬件电路中使用PCA82C250是为了增大通信距离,提高系统的瞬间抗干扰能力,保护总线等作用。
3.1.3 光电隔离
为了进一步提高系统的抗干扰能力,在控制器SJA1000和收发器PCA82C250之间增加了由高速隔离器件6N137构成的隔离电路。
3.1.4 单片机的选取②
装置选用AT89C51为处理器,它是ATMEL公司8位单片机,与MCS51完全兼容,内部集成有4kbit/s的闪速E2PROM,工作频率最高可达20MHz。
3.1.5 电平转换芯片的选取
在CAN 接口电路中,AT89C51芯片使用的是TTL电平,而从计算机串口输出的是RS-232电平,因此要想计算机串口与单片机连接,必须进行电平转换。MAXIM公司生产的MAX202芯片是在缺少±12V电源时进行RS-232/TTL双向电平转换芯片,它的供电电源是单+5V,电平转换的速度的最大值不小于120kbit/s。为了使计算机的电源与CAN接口电路的电源互不受干扰,还在MAX202与AT89C51之间采用光电耦合器,以达到电源隔离的目的。
3.1.6 数据采集单元电路
采集单元电路一般由微处理器外加显示键盘电路、模拟量输入电路、开关量输入/输出电路、CAN 总线通信接口电路、实时时钟电路等组成。
4 软件设计
系统采用C语言开发软件。CAN总线各节点与AT89C51要有效、实时地完成数据通信,软件的设计是关键,也是难点。
软件设计主要包括计算机串口通信程序、AT89C51通信程序、CAN节点初始化程序、CAN数据发送、接收程序以及CAN总线出错处理程序等。CAN控制器SJA1000的内部寄存器作为AT89C51芯片的片外寄存器,AT89C51和SJA1000之间进行状态、控制和数据的交换都是通过SJA1000在复位模式或工作模式下对这些寄存器的读写完成的。
在初始化CAN内部寄存器时,注意使得各节点的位速率必须一致,而且收、发双方必须同步。数据的接收主要有中断和查询接收两种方式。为提高通信的实时性,采用中断接收方式,而且这样也可保证接收缓存器不会出现数据溢出现象。下面给出SJA1000工作在Basic CAN模式下的初始化流程图(图3)及数据接收的源程序。
采用CAN总线技术组成的变电站高压开关柜在线检测系统已在中小型变电站中得到应用,经过实际运行,具有很好的可靠性和抗干扰性,能更好地掌握高压开关柜的运行状态,稳定显示出各参数的波形,可以及时对设备进行检修,避免事故发生。
5 结束语
在变电站高压开关柜在线检测系统中应用了CAN总线技术,设计了主要硬、软件,并得到实际应用。其硬件电路和软件的设计方法同样适合于其他基于CAN总线的分布式控制系统的节点设计。
① SJA1000 stand-alone CAN controller, Philips data sheet.
② Philips semiconductor-a worldwide company application notes and development tools for 80C51 microcontrollers.
参考文献:
[1]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.
[2]何雄,刘涤尘,管保安.RS-232总线转CAN总线装置的设计与实现[1].工业控制计算机,2002,15(1):11-12,19.