现场总线CAN在监控系统网络中通信协议设计
船舶电站监控系统主要用于监控船舶发电机组的运行状态,调节改善船舶供电的电力品质。本系统取代传统的点对点连线的控制方法,采用CAN 现场总线技术,实现发电机组的远程控制。基于CAN 总线具有结构简单、通信方式灵活的特点及其非破坏总线仲裁技术,为该监控系统提高数据传输可靠性、增强系统运行稳定性提供了新的解决方案。
2 网络通信平台设计
船舶电站监控系统采用 CAN 现场总线连接各设备,通信网络由监测网络与控制网络组成,采用双冗余总线结构,系统网络结构图如图1 所示。
图1 电站监控系统网络结构示意图
监测网络由若干个数据采集模块与1 个网关组成,主要负责采集传输现场用于测量柴油发电机组绕组温度、燃油压力等传感器数据;控制网络由1 台上位机、1 台能量管理控制器与3 个输入输出模块组成,完成对柴油发电机组起动、停车、合闸、解列以及能量管理的遥控控制。监测网络和控制网络均采用双绞线电缆作为通讯介质,根据网络规模与数据传输流量,设置网络总线速率为100kpbs。
数据采集模块:数据采集模块根据不同的传感器类型分别能够采集、测量 Pt100 温度信号、4~20mA 电流信号以及开关量等信号。
能量管理控制器:实现电站监视与电能管理功能。
输入输出模块:接收来自能量管理控制器的命令,控制发电机组运行,同时监测发电机组相关的电参数。
网关:实现不同网络间的数据交换。
监测网络部分:数据采集模块从外部采集传感器数据后,将数据发送至网关,网关将所有传感器数据发送至上位机完成集中显示与报警功能。
控制网络部分:上位机将人工控制命令发送至能量管理控制器,该控制器将控制命令进行处理表决,将结果发送至输入输出模块,由输入输出模块输出控制信号控制发电机组状态。另外,输入输出模块采集发电机组相关电参数(电压,电流,有功、无功功率等)发送至能量管理控制器进行监测与管理。
网络系统由两条总线构成硬件双冗余结构,若其中一条总线电缆受损或出现故障后,另一条总线仍能维持系统正常工作,防止通信网络瘫痪。此外,为了保证通信网络的可靠性与实事性,各个网络节点还具有在线故障诊断,传感器故障诊断等功能。
3 网络通信标识符设计
在该网络通信系统中,底层智能模块选用Intel16 位的MCU,CAN 网络控制器选用Philips 公司的SJA1000,实现CAN 网络数据收发功能,系统中网络总线使用CAN2.0B 协议格式,根据该系统监测网络与控制网络的不同功能,分别设计两种网络的报文标识符。
3.1 监测网络协议
监测网络中的数据采集模块采集现场传感器的模拟信号,通过 A/D 转换将其转换为数字量信号后发送至监测网络,数据刷新频率为每秒2 批次。对于监测模块而言,仅仅发送测量所得的现场传感器数据,不需要接收其他网络数据,因此设置验收屏蔽寄存器禁止其他网络数据接收,网关接收到各个数据采集模块发送的数据之后将其发送至上位机。下表为监测网络的报文标识符定义:
表 1 监测网络CAN 标识符
每个数据采集模块分配唯一的网络节点号,每个网络节点分配节点地址,此外,为了使网关设备快速判断各数据采集模块工作以及所发送的报文是否出现异常状况,每个数据采集模块在发送各自的报文时设置索引值,使用CAN 标识符的第13~22 位表示。当某个数据采集模块起动新的一个批次数据发送时,索引值清零,每发送成功一帧报文后下一帧报文的索引值加1,当前批次数据发送完毕后索引值计数器清零,从而可根据每个模块在一个批次内发送的报文个数确定该模块的最大索引值。接收方在接收到某一节点发送的报文后先判断标识符中的索引值信息,若接收到报文的索引值为不合理数值,则放弃对当前报文的接收处理。由此可以防止网关接收在传输时或者程序出错时产生错误的报文,以提高网络数据的可靠性。此外,监测网络数据采集模块设置定时向网关设备发送表示自身通信是否正常的协议帧,网关将其接收后转发至上位机向用户显示系统网络各个单元当前的工作状态,即网络通讯状态。
3.2 控制网络协议
控制网络中产生的控制命令一般是猝发式的,对于控制系统而言必须确保控制命令被及时并且成功的发送,控制网络报文标识符定义如下表所示:
表 2 控制网络CAN 标识符
CAN 总线中非破坏性总线仲裁技术,是从协议帧标识符的最高位开始,即BIT.28 逐位比较下去,当出现参加仲裁的双方在某一位第一次出现显隐性不同时,为显性位的那个协议帧赢得仲裁。根据CAN 总线的这一特性,即标识符值越小发送优先级越高,根据系统中总线流程以及控制网络中各网络节点优先级的高低从小到大设置各个模块的网络节点号,如表3 所示:
现场总线CAN监控系统网络通信协 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)