DeviceNet是20世纪90年代中期发展起来的一种现场总线,物理层和数据链路层采用CAN技术,是一种应用于底层工业设备互联的总线。它具有效率高、成本低和可靠性高的优点,目前已成为工业自动化领域的标准网络之一。将DeviceNet总线接口集成到控制器'>控制器中,实现控制器'>控制器与控制网络通信,是控制器发展的一个重要趋势。现在国内生产的低压断路器'>断路器控制器与控制网络通信一般采用自定义协议,存在通信可靠性低、互换性差等缺点,鉴于此,本文设计了一种基于DeviceNet协议的新型低压断路器'>断路器智能'>智能控制器。
1智能'>智能控制器功能
该低压断路器智能控制器主要实现2个功能:一是采样线路的电流、电压信号,并对信号处理后输出相应的保护动作;二是实现与DeviceNet网络节点之间的通信。因此,按功能分析,智能控制器包括2个部分:控制模块和通信模块。控制模块主要实现信号采集、保护判断、保护动作等功能。通信模块即DeviceNet通信接口,主要完成与DeviceNet网络节点之间显性报文和I/O报文的交换。该控制器是一个从设备,它与外部交互的数据有2种:一种是从DeviceNet网络上接收的数据,该数据必须是针对本设备的,不是针对本设备的数据不接收;一种是本设备根据请求向DeviceNet网络上发送的数据,该数据必须符合DeviceNet协议,这也是最后产品测试的主要部分[1]。
2硬件设计
该智能控制器硬件主要由DSP及外围电路构成的最小系统、控制模块和通信模块3个部分组成,如图1所示。
2.1DSP及外围电路构成的最小系统
DSP及外围电路构成的最小系统有电源电路、复位电路、JTAG仿真电路、时钟电路。DSP选用TMS320LF2407,它是一款高性能的定点16位DSP芯片,时钟频率最高可达40MHz,从而提高了控制器的实时控制能力;片内有高达32KB的FLASH程序存储器、高达1.5KB的数据/程序RAM、544B的双口RAM和2KB的单口RAM,可以不用外扩存储器;内置看门狗定时器模块、16通道10位A/D转换器(最小转换时间为500ns)、控制器局域网络(CAN)模块,完全支持CAN2.0B[2]。
2.2控制模块
控制模块由信号采样调理电路、键盘电路、液晶显示电路、输出控制脱扣器电路等组成。
(1)信号采样调理电路
信号采样调理电路主要通过电压、电流互感器采样断路器所在线路的电压和电流信号,送到TMS320IF2407的A/D口,如图2所示,由于TMS320IF2407的工作电压是0~3.3V,因此需要对采样信号进行预处理。电压和电流采样信号为6路模拟量,包括线路的3个线电流和3个线电压。
LM324设计成运算放大器,调节放大倍数可以调节输入信号的幅值;同时加入基准电压,通过调节电位器可以调节输入信号的零点,从而可得到比较理想的输入信号。信号在接入TMS320LF2407之前应进行电容滤波和二极管限压。
(2)键盘电路
键盘电路除实现电流、电压等参数设置外,同时还可对DeviceNet节点地址和通信波特率进行设置。节点地址范围是0~63MACID,通信波特率为125kbit/s、250kbit/s、500kbit/s三种。
(3)液晶显示电路
液晶显示电路采用液晶显示模块OCMJ4X8C实现,它是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16×16点阵)、128个字符(8×16点阵)、64×256点阵显示RAM(GDRAM)及ST7920控制器'>控制器。
(4)输出控制脱扣器电路
输出控制脱扣器电路如图3所示,其作用是出现故障时,控制器'>控制器输出控制信号驱动脱扣器动作,切除故障电路。控制原理是每2ms采样一次线路的电流和电压,根据采样值判断保护是否动作,若出现断相、短路和漏电故障,则立即切断电路;若出现过流、过压和欠压故障,将采样的电流值和电压值与设定值比较,从而得出延时时间值,延时时间到则保护动作。在开关量输出通道中,为防止现场强电磁干扰或工频电压通过输出通道反串到测控系统,一般采用光电隔离技术,可以有效地隔离电信号,提高抗干扰性。
2.3通信模块
TMS320LF2407芯片内置CAN控制器模块,外围电路只需连接收发器即可。CAN控制器模块是一个完全的CAN控制器,是一个16位的外设模块,有以下特性1)完全支持CAN2.0B协议;(2)有6个邮箱;(3)当发送时出现错误或仲裁时丢失数据,CAN控制器有自动重发功能;(4)总线错误诊断功能。
笔者在设计硬件电路时将CAN控制器的2个引脚CANRXD和CANTXD通过高速光电耦合器6N137接到收发器PCA82C250上,即可实现向上位机发送和接收数据的功能。CAN接口电路如图4所示。
3软件设计
智能'>智能控制器'>控制器软件主要由控制程序和通信接口程序组成。控制程序实现数据采集、液晶显示、输出控制、键盘操作和状态指示。
通信程序则完成与其它DeviceNet节点的通信。软件采用模块化设计,单个功能独立调试,全部完成后放在一起联调,具有设计明确、调试方便的优点。
3.1控制程序设计
控制程序主要包括主循环程序、A/D采样中断程序2个部分。主循环程序以循环扫描的方式实现通信处理、保护算法、滤波算法、有效值计算、LCD显示、键盘处理等功能,其流程如图5所示,系统初始化后,首先进行上电MACID检测,进入主循环,然后进行键盘操作判断,再执行其它的功能程序。为了保证A/D采样的实时性,A/D采样程序采用定时器中断的方法实现。定时器中断程序采用事件管理器A中的定时器2,定时器2定时时间到就触发A/D采样,设置A/D的采样间隔为2ms。程序除了实现A/D采样和转换外,还能实现断相、短路和漏电瞬动保护[3]。A/D采样中断程序如图6所示。
3.2通信接口程序设计
根据该智能'>智能控制器'>控制器的I/O数据应用特点和DeviceNet协议要求,确定通信接口的DeviceNet设备属于DeviceNetGroup2Only从设备,采用Predefine的通信连接,支持I/O轮询报文和显性报文。因为是一个从设备,除了进行上电MACID检测外,它不会主动向网络上发送数据,而只会根据接收的数据请求发送相应的数据响应。由于主设备发送的请求是无法预知的,提高软件执行效率的最好方法就是采用事件驱动方式,事件由外部中断或程序内部产生。通信程序主要由2个部分组成:一是收发网络上的数据,二是处理接收的数据并发送响应数据[4]。
(1)智能控制器的对象模型eviceNet协议采用对象的概念和面向对象的方法组织设备内外部的数据信息和通信功能。其中标识对象、路由器对象和DeviceNet对象是每个DevcieNet设备都必须包括的对象。下面的连接对象、组合对象和断路器'>断路器应用对象是针对本设备设计的对象。连接对象包括2个实例:显性报文连接对象和I/O轮询连接对象。断路器'>断路器应用对象提供断路器专有的信息接口,完成断路器的控制功能。组合对象包括2个对象实例:输入组合对象负责将来自断路器应用对象的数据打包、处理并封装,供I/O轮询连接对象使用;输出组合对象将来自I/O轮询连接对象要向断路器应用对象发送的数据解包、处理并封装,供应用对象使用。
采用的对象模型如图7所示。
(2)报文的接收:采用CAN通信中断方式。CAN控制器'>控制器的每个邮箱都有标识符,根据标识符给邮箱分配某一类报文。本文中0~3号邮箱分别接收显性报文、轮询I/O报文、非连接显性报文和重复检测报文。邮箱5处理公共数据报文发送。CAN接收中断程序流程如图8所示。
CAN接收中断程序是当发生CAN通信中断时将邮箱接收的报文存入一个临时缓冲区,置位相应的接收标志位。该缓冲区作为上层协议处理和下层数据收发的接口。每一种报文的接收处理程序将缓冲区的数据拷贝到相应的报文接收缓冲区,并置位相应的报文接收标志位。对于分段报文,当所有的报文接收完毕后,置位相应的报文接收标志。主程序中查询该报文接收标志位,当该报文接收标志位置1时进行相应的报文处理。
(3)报文的处理
显性报文主要用于节点配置时主站读取和设置断路器'>断路器控制器'>控制器从站的电压、电流等对象实例属性。所以对显性报文的处理过程是收到显性报文后,首先读取路径并路由到目的地,读取相应的服务代码,如果支持则采取相应的动作(设置属性、读取属性或复位),并将响应数据放到发送缓冲区,置位请求发送标志位;如果不支持,就将错误代码和附加代码放到发送缓冲区,置位请求发送标志位。对I/O报文的处理:如果轮询还未建立,智能'>智能控制器节点将不接收主站发送来的轮询命令;如果轮询处于已建立状态,智能'>智能控制器节点将接收该轮询命令,并将它作为一个触发事件,然后将组合对象实例的数据属性值作为轮询响应数据发送出去。
(4)报文的发送
报文的发送主要用于发送响应数据。报文的发送过程是主程序检测邮箱5(邮箱5为发送邮箱)锁存标志位是否为0,如果为0,将数据从发送缓冲区转移到邮箱5;当转移完毕后,置位邮箱5的锁存标志位并设置数据长度,当发送的数据大于8B时,要执行分段发送;然后请求发送报文,发送完毕后将发送请求标志位清0[5]。
4一致性检测
在完成以上的设计工作后,该智能控制器需要通过ODVA的协议兼容性测试,以确保产品的协议完整性、互操作性和互换性。首先搭建一致性测试平台,测试平台主要有1套SST公司DeviceNet调试环境、2台计算机、DeviceNet接口卡———5136-DN,测试软件是ODVA提供的A15版本。协议的一致性测试结果可以看最终生成的log文件,因为测试过程中日志文件记录了报文的交换信息,图9为一致性测试结果图。从图9可以看出,该智能控制器通过了DeviceNet一致性软件测试。
本文在网络互操作性测试中互连的DeviceNet设备有5个,测试结果如下1)将该智能控制器连接到网络中,测试过程一切正常。(2)设置2个智能控制器的MACID相同,将它们接入控制网络,发现后接入的控制器网络指示灯变成红色,表明发生网络冲突。(3)将智能控制器和其它DeviceNet设备接入网络,测试一段时间,没有发生异常情况。
5结语
DeviceNet总线在工业生产中的应用越来越广泛,开发具有DeviceNet总线接口的控制器有很好的通用性。本文介绍的基于DeviceNet协议的新型低压断路器'>断路器智能控制器不仅实现了断相、短路和漏电故障的瞬时保护,还实现了DeviceNet总线通信。实验运行结果表明,该智能控制器具有保护功能完善、性能可靠和操作方便等特点,有很大的市场推广价值。