基于CAN总线的分布式监控系统智能节点设计
扫描二维码
随时随地手机看文章
1 引言
现场总线控制系统(FCS)是继直接数字控制(DDC)、集散控制系统(DCS)之后的一种新型的控制系统,是一种全开放、全数字、多点通信的底层控制网络,具有全分散性控的体系结构[1]。其显著特点是通过开放性总线把现场设备连接成网络,各智能设备能够完成自动控制和运行状态的自行诊断,并且能够通过总线实现设备之间的通信,从而简化了系统结构,提高了可靠性。CAN(Controller Area Network)总线,又称控制器局域网,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性、及独特的设计和适宜的价格而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。传统的集散型控制系统(DCS)存在系统不开放、硬件投资大、布线复杂、维修不便的缺点,具有明显的局限性。本文给出了一种基于CAN总线的智能节点软硬件的设计方案,应用于潜水电机分布式监控系统中。
2 系统整体方案设计
图1 分布式监控系统总体结构
整个系统由监控计算机、PC-CAN适配卡、智能监控节点(n<110)、CAN总线网络组成,其系统结构如图1所示。分布在现场的监控节点可以独立对电机进行智能控制和保护;监控计算机可以通过CAN总线网和各个控制节点之间进行实时通信,从而实现潜水电泵机组的分散控制和集中监管。
监控系统中的控制节点由CAN控制器、CAN收发器和外围电路(如:光耦隔离、I2C、LED显示等)组成。监控计算机可以选用普通PC或工控机IPC 。PC-CAN适配卡用来完成CAN总线和监控计算机之间的协议转换,可以选用PCI总线适配卡、ISA总线适配卡或RS232串行通信适配器。各个控制节点之间通过屏蔽双绞线互联构成CAN总线网络,总线两端连接120Ω的阻抗匹配电阻,用来提高系统的稳定性、增强系统的抗干扰能力。
3 监控节点的硬件设计
目前,市场上有两种CAN总线器件可以选择:一种是片内集成CAN的微控制器,如P8XC591/2、87C196CA/CB、MC68376 等;另一种是独立的CAN控制器,如控制Philips公司的SJA1000、82C200、, Intel公司的82526、以及Microchip公司的MCP2510等,但是独立的CAN控制芯片需要外接一个微处理器才能运行。本文设计中选用的是Philips公司的带有在片CAN控制器的P87C591微型控制器,这样大大简化了节点的硬件电路设计,减少了程序的复杂程度,提高系统的可靠性。
3.1监控节点的构成
监控节点硬件电路设计上采用了模块化结构,由微控制器、CAN通信模块、传感器组件、数据采集模块、电机控制模块、LED显示模块、现场设置模块组成,其整体结构如图2所示。根据具体情况可以只选用其中的部分模块。例如:可以去掉显示模块和现场设置模块,利用监控计算机实现数据显示和参数设置的功能。在单机运行时,可以不使用CAN通信模块。
图2 监控节点结构框图
3.2监控节点的功能
监控节点各个组成部分的功能如下:
(1)传感器组件:用来检测潜水电机的运行状况,包括:温度传感器、电流互感器、液位传感器。分别用来检测电机三相定子的温度、三相主电流、和电泵腔内的水位,可以有效的监测潜水电机的过流、过热、缺相、短路、渗漏等异常现象。
(2)数据采集模块:将传感器采集到的模拟信号转变为数字信号并通过多路模拟开关送入微控制器,CPU得到电机定子温度、电流、液位信息做出相应的判断,并送至不同的子程序进行相应的处理。
(3)电机控制模块:CPU判断电机定子温度、电流、液位中的任一项值超出正常值范围时,都会通过SSR(过零触发型交流固态继电器)触发相应的异常处理电路,使电机得到保护。
(4)LED显示模块:采用基于I2C总线的显示技术,通过LED数码管实时显示电机运行过程中定子的温度和电流值。并可以在设置模式下显示待定置参数的当前值。当电机出现非正常停机时发光二极管可以指示出故障的类型,方便检查处理。
(5)CAN通信模块:CAN总线通信接口电路主要由P87C591的片内CAN驱动器SJA1000、6N137高速光隔、CAN收发器 PCA82C250组成。P87C591完成CAN协议的应用层功能,SJA1000完成物理层和数据链路层的功能。PCA82C250提供了对总线差动发送和接受数据的功能,有效的提高了总线的抗干扰能力,实现了保护总线、降低射频干扰等功能。6N137隔离控制电路和收发器电路,能够有效地抑制由总线引入的干扰,进一步提高了系统的可靠性。
(6)现场设置模块:采用基于8255的键盘和基于X25045的E2PROM,实现节点工作参数现场设定能。X25045存储报警电流、停机电流、报警温度、停机温度、节点地址、波特率等信息。这些参数都可以通过按键进行设置。除了节点地址外,其它的参数也可以通过监控计算机设置。
4 监控节点的软件设计
4.1软件设计的总体结构
与节点硬件设计相一致,软件设计也遵循模块化的设计原则,使控制软件具有易读、易扩展和易维护的优点。通过C51语言编写相应的软件模块实现上述监控节点的各种功能。软件的各功能模块之间通过入口和出口参数相互联系,组合灵活且方便,减少了调试时间,缩短了开发周期。监控节点的软件设计流程如图 3所示。
图3 监控节点软件设计流程图
4.2监控节点通信程序设计
监控节点的通信采用CAN总线2.0A协议,通信模块的软件设计主要由初始化程序、发送程序、接收程序三部分组成。其中初始化程序是实现通信的关键,它主要用来完成CAN控制器工作方式的选择,即对P87C591中CAN控制器控制段中的寄存器进行设置,包括:总线定时寄存器和输出控制寄存器设置;接收验收滤波寄存器和滤波屏蔽寄存器设置;设置发送数据帧类型(标准帧或扩展帧)、标识符、数据长度。初始化过程是在CAN控制器复位模式下完成的.[!--empirenews.page--]