1引言
目前我国众多小水电站的自动化水平落后,机电设备陈旧老化,安全事故频繁,自动控制系统的运行需要多人值班,进行设备的维护及事故处理,严重影响小水电的经济效益。近几年,多数小水电站要求进行自动化设备的技术改造,提高测控技术水平,降低事故率,提出尽可能少人值班或无人值班的要求。
总线技术的发展及应用,为解决以上问题带来方便。采用高速现场总线技术——CAN总线,可将小水电站多种测控系统的功能要求进行模块化多功能集中设计,构成基于CAN总线的小水电多功能一体测控装置。
2小水电站测控系统的特点及CAN总线的确定
2.1小水电站测控系统的特点
小水电站的测控系统主要有发电机组保护、转速测控、温度巡检、综合测控、同期控制、顺序控制、人机对话、通讯等。小水电站自动化与大水电站比较,其自动测控要求相对简单,如果直接套用大水电站自动控制方案及设备配置,则会造成模式复杂、成本高、设备占用空间大、功能浪费严重等问题。
针对小水电站自动测控系统的特点,将所需的多种不同测控系统进行模块式一体化设计,功能模块间采用总线技术连接,一体机独立运作,简化安装及操作,将是最佳方案。
2.2 CAN总线的特点和通信协议
目前应用比较广泛的几种现场总线有CAN、HART、Profibus、Lonworks等。而在这些总线中, CAN总线以其极高的性能、可靠性及其独特的设计越来越受到人们的重视,成为最有前途的现场总线之一。
CAN(Control Area Network)即控制局域网络,是一种具有高可靠性、有效支持分布式控制或实时控制的现场总线网络,最初由德国Bosch公司推出,为解决汽车中传感器与执行装置之间的数据交换而开发的,特别适合工业过程监控设备的互联,其应用范围已遍及工业控制自动化、汽车自动化、机械工业、楼宇自动化等领域。
(1) CAN总线的有关特点
与其他现场总线相比,针对多功能测控装置的研发要求,CAN总线具有独特的设计思想:【1】【2】
多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,通信方式灵活。这一特点使装置内部的各模块节点都可以主动发送信息,并且没有时间限制,通讯的实时性好。
采用非破坏性总线仲裁技术,从而大大节省了总线冲突仲裁时间。这一特点使装置内部的各模块节点的通讯快速可靠。
只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送数据。根据这一特点,装置内部的各模块节点的通讯方式可以多样化,比如,对时可以采用广播的方式。
CAN 网上的节点数目前可达 110 个;报文标识符可达 2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。因此,采用CAN2.0B标准可以解决各模块节点通讯时报文量大的问题。
采用短帧数据格式,传输时间短,抗干扰能力强,检错效果好。
每帧信息都有CRC校验,数据通信的可靠性强。
通信节点在错误严重的情况下可以自动关闭输出功能,脱离网络,而不会影响其他节点的操作。
(2) CAN总线的通信协议
CAN总线的报文传送由4种不同类型的帧表示和控制:【3】数据帧、远程帧、出错帧和超载帧。数据帧和远程帧可使用标准帧格式和扩展帧格式。
数据帧自一个发送节点携带数据至一个或多个接收节点,它由帧起始、仲裁场、控制场、数据场、校验场、应答场和帧结束组成。标准帧的仲裁场由11位标识符和远程发送请求位RTR组成。扩展帧的仲裁场由29位标识符和替代远程请求SRR位、标志位IDE和远程发送请求位RTR组成。
远程帧没有数据场,由帧起始、仲裁场、控制场、CRC 场、应答场、帧结束组成。CAN 网络上的一个接收节点可以通过向网络上发一个远程帧来启动数据传输,用标识符寻址数据发送源节点,且置相应帧的 RTR 位为“1”。
标识符作为报文的名称,在仲裁期间,它首先被送到总线。在接收器的验收判断中和仲裁过程确定访问优先权中都要用到。远程发送请求位(RTR)用来确定是发送远程帧还是数据帧,当RTR为高电平时,CAN控制器发送远程帧,为低电平时则发送数据帧。
3 CAN总线在小水电多功能自动化装置中的应用
采用CAN总线开发集多种功能于一体的自动测控装置,可提高我国小水电综合自动化的水平。
开发的测控装置采用面向对象的设计思想和按功能模块设计的方法,可以实现机组保护、转速测控、温度巡检、电量采集、非电量采集、同期控制、顺序控制、人机交互和通讯等功能。在装置内部设置七个CPU模块,分别用于综合测控、自动准同期、面板显示、通讯管理、PLC顺控、光字牌显示与语音报警、发变组保护。各模块采用高速现场总线CAN相连,完成生产过程控制、设备状态监测、设备参数整定、运行参数监视、装置自诊断故障显示等功能,各CPU模块的CAN通讯结构图如图1所示。
3.1 主控制器的硬件选型
主控制器选用MOTOROLA公司推出的高性价比DSP数字信号处理器DSP56F807,主控芯片的选择取决于小水电测控装置的功能要求。
小水电测控装置采用多CPU的硬件模式,各主要功能模块由独立的控制芯片来完成。其中,很多功能的实现都要求有很高的实时性,例如其中准同期功能的合闸时机捕捉、发电机保护的动作出口等等,并且装置中的电量采集等需要用到傅氏算法,运算量非常大,所以主控制器需要选用运算速度快、抗干扰性能好的CPU芯片,而DSP56F807正是一款具有上述优点的主控芯片。DSP56F807【4】具有多总线和流水线结构,指令的执行速率快,并且DSP内部有硬件乘法器,可以在一个指令周期内完成乘法,运算速度快。
装置内部的各CPU模块采用CAN总线通讯,而DSP芯片上就集成了控制器局域网模块CAN2.0A/B,因此不需要另外配置专门的CAN总线芯片,降低成本,简化硬件电路,这也是主控制器选用DSP56F807的另一原因。通过DSP芯片自带的CAN控制模块MSCAN,在硬件上可以很方便地将CAN总线上的各节点互连,实现总线不出芯片。由于CAN控制器必须通过CAN驱动芯片才能与CAN总线相连,所以选用PHILIPS公司生产的CAN总线收发器82C250作为CAN驱动芯片,DSP与82C250的连线图如图2所示。
3.2 CAN通讯的软件实现
本设计中,主要采用C语言编写程序,而在少数需要直接和硬件打交道的地方采用汇编语言编写程序。在编写CAN的通讯程序时,有三个环节非常重要,即CAN模块初始化、CAN接收数据和CAN发送数据。
(1) CAN模块的初始化
在CAN控制器运行时,首先必须对MSCAN模块初始化,对它的一些内部寄存器进行设置,CAN模块的初始化流程图如图3所示。
首先使MSCAN进入软件复位状态,因为只有这样才可以对MSCAN设置有关的寄存器进行写入,此时,MSCAN会退出所有的发送和接收操作,并失去总线同步。所以当MSCAN设置完相关寄存器并退出软件复位状态后,要判断MSCAN与总线是否同步,只有完成同步,MSCAN才能正常的接收发送数据帧。
(2) CAN模块的数据接收
CAN接收数据帧时采用中断机制,由于MSCAN初始化时设置接收中断允许寄存器,允许接收缓冲区满中断,即在接收缓冲区满时会触发一个MSCAN接收中断请求,CAN接收中断流程图如图4所示。在接收中断服务程序中,为了避免此时再发生中断,在接收数据帧之前设置中断允许寄存器,不允许接收缓冲区满中断,在接收数据帧之后,清除接收缓冲区满标志,并允许接收缓冲区满中断,便于下一次接收中断的处理。
(3) CAN模块的数据发送
CAN发送数据帧时也采用中断机制,但与接收中断不同的是,由于MSCAN初始化时设置发送器控制寄存器CANTCR,不允许发送缓冲区空中断,所以在发送数据帧时需要通过设置CANTCR允许发送缓冲区空中断,从而启动发送中断,进入发送中断服务程序, CAN发送中断流程图如图5所示。在中断服务程序中,设置CANTCR不允许发送缓冲区空中断,直到下一次启动发送中断。确定发送缓冲区为空时填写发送缓冲数据寄存器并清除发送缓冲区空标志,这样MSCAN才能开始发送数据。
3.3 装置内部各CPU模块的CAN通讯
装置内部各CPU模块CAN通讯的信息量很大,所以通讯协议使用CAN 2.0B扩展模式,报文标识符几乎不受限制,此时仲裁场的标识符有29位。
在CAN的规范中,只定义了数据帧的结构,而没有定义有关发送和接收的结构信息,所以在编写通讯程序时,首先需要给数据帧的不同位赋以特定的含义,其中包含数据传输所需要的所有信息,包括传输源地址、目标地址、帧类型、传输字节数、传输信息体等等。由于CAN协议规定,每帧最多传送8个字节的数据,所以,为了尽可能使8个字节中的数据都为传输信息体,较好的解决办法就是将其他的信息包含在29位标识符中。本设计中,CAN通讯的数据帧格式定义如表1所示。
其中,前4个字节是扩展数据帧的仲裁场和控制场,后8个字节是数据场。
表1在设计中:
PRI:优先级。1为低优先级,0为高优先级,剩余的优先级由源地址决定,低地址优先级高,该功能可有效支持紧急信息传送如报警等。
Source Address:发送数据的源地址。
Type:帧类型,包括单帧、多帧、点对点传送、广播传送。
SRR:在数据帧中,SRR必须为“显性”电平,而在远程帧中,SRR必须为“隐性”电平。
IDE:属于仲裁场,为“隐性”电平。
DLC:表示要发送的字节数,等于字节数减1。由于每帧最多发送8个字节的数据,故DLC最大为7。
Data index:索引字节。单帧没有索引字节,所以该字节为空;多帧数据时Data index表示发送数据帧的帧序号。
Destination Address:发送数据的目标地址。
RTR:定义本帧信息为数据帧还是远程数据帧请求位。
Data length (L), Data length (H):多帧信息包的长度,只有在传输多帧数据的第一帧时填充,其他帧不填充,而可以填充要传输的信息体。
6 bytes data:要传输的信息体。
遵循上述约定的CAN协议,各CPU模块之间的通讯快速可靠,抗干扰性强,传输波特率达到500kbps,达到了研发的性能指标要求。
4 小结
为了实现小型水电站提出的少人值班、无人值班的要求,提高水电站的自动化水平,集发电机测控保护、励磁调节、同期并列、顺控、远程通讯、人机交互等多功能于一体的组合智能装置是一个经济可行的技术方案,必将成为小水电综合自动化未来发展的趋势。此研发的多功能测控装置采用面向对象的分层分布式结构,各CPU模块采用CAN总线相连,各模块之间的数据交互快速可靠、抗干扰性强,在外观上这些功能模块都在一个机箱内,结构紧凑,便于安装使用。实际应用中,既可以在现场独立运行和操作,又可以在多机系统联合运行时根据需要配置上位机,构成水电站监控系统,具有非常广泛的应用前景。