智能断路器的CAN 总线网络节点设计
2011-10-09
0 引言
近年来,智能脱扣器技术在国内有了较快的发展。智能脱扣器的成功应用,使得断路器的功能更加强大。目前,国内外研究生产的智能脱扣器能显示开关状态、三相电流、电压、功率因数、有功功率等参数。而控制器局域网(CAN) 能有效支持具有高安全级的分布式实时控制,凭借其在噪声环境中的可靠性及其故障状态检测,以及从故障状态恢复的能力,被广泛应用于工业控制等领域。因此,国内外大都将比较成熟的CAN 现场总线技术应用在智能脱扣器的通信方面,实现上下位机的“四遥”功能,即遥测、遥控、遥信和遥调。上位机CAN 主要对下位机采集到的信号进行监控、调度和管理。上位机作为一个特殊的CAN 节点,其设计相对复杂。本文将重点介绍上位机CAN 智能节点硬件和软件的设计方案,以及如何把MCGS 与CAN 总线结合起来使用,即MCGS 如何操作CAN 总线接口卡。
1 设计原理
电网信号经过下位机采集,A/D 转换和数据算法程序处理传到上位机后,要能够显示到上位机上,这样才能实现工作人员对各个断路器工作状态的监控,并且通过上位机界面能够实现对下位机发送参数命令,实现对下位机的调控。该功能是依靠上位机这个特殊的CAN 节点实现的。
上位机CAN 节点设计的总体结构如图1 所示。在CAN 总线网络中,ARM 节点作为下位机来工作,它们采集现场的数据,采集上来的数据需要传到上位PC 机上进行进一步处理,通过监控软件监控下位机节点的工作状态。上位PC 机作为CAN 总线上一个比较特殊的节点,其设计相对复杂。上位机和下位机智能节点通信是以USBCAN卡为桥梁的,即利用CAN 卡的OPC 接口驱动软件,解决CAN 总线与PC 之间的通信问题。通过调用CAN 卡的动态连接库(. DLL),利用自定义CAN 应用层协议实现与CAN 总线应用系统的连接;通过OPC 服务器连接的函数接口,调用动态连接库来实现与监控软件的连接。因此,上位机设计主要是利用USBCAN 驱动程序,调用USBCAN接口卡所提供的动态链接库,达到操作USBCAN接口卡的目的,利用CAN 卡的OPC 接口驱动软件,来实现数据管理人机界面设计。
图1 软件结构示意图.
2 CAN 总线上位机节点的设计
2. 1 硬件电路设计
一般说来,计算机本身不带CAN 接口,因此直接使用计算机和CAN 网络是不能互连的。但是,许多工业用计算机在某些应用场合还是离不开CAN-bus,因此,就需要现有的计算机通信接口与CAN-bus 接口适配,于是CAN 接口卡就给计算机增加CAN-bus 接口功能。通俗意义上说,CAN通信适配卡加上计算机就组成一个特殊的CAN节点。本设计采用USBCAN-2A 型CAN 卡,主机通过USB 接口控制电路来访问CAN 控制器,最终完成数据通信。计算机作为CAN 节点,接收来自下位机ARM 节点采集的数据,将一些控制参数发送给下位机,并通过组态界面实现对下位机的监控等功能。
USBCAN-2A 智能CAN 接口卡是与USB1. 1总线兼容的,带有2 路CAN 接口的智能型CAN数据卡,符合CAN2. 0B 规范,兼容CAN2. 0A,符合ISO/IS 11898,其通信波特率可以通过编程任意设置,范围在5 ~ 1 000 KB /s 之间。组成该CAN 卡的控制器是常用的PHILIPS SJA1000,收发器为PHILIPS PCA82C250。USBCAN-2A 接口卡上自带电气隔离模块,使USBCAN-2A 接口卡避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。
USBCAN-2A 卡提供了很多库函数,PC 机通过对USBCAN-2A 接口库函数的操作,实现对USBCAN-2A 接口卡的操作。上位机主要实现对CAN 卡的初始化和对CAN 的读写操作。
为了增强CAN 通信的可靠性,CAN 总线网络的2 个端点通常要加入终端匹配电阻,终端匹配电阻的值由传输电缆的特性阻抗所决定。由于双绞线的特性阻抗为120 Ω,因此CAN-bus 网络采用直线拓扑结构时,总线的2 个终端需要安装120 Ω 的终端电阻。CAN-bus 总线的连接如图2所示。
图2 CAN-bus 总线连接图.
USBCAN-2A 接口卡内部没有集成120 Ω 终端电阻,当USBCAN-2A 接口卡位于CAN-bus 网络的一个端点上时,需要在外部端子上安装120 Ω终端电阻,连接方法如图3 所示。
图3 USBCAN-2A 位于网络终端时的连接方法.
2. 2 软件部分设计
上位机的软件设计可以通过调用CAN 卡的动态连接库(. DLL),利用自定义CAN 应用层协议实现与CAN 总线应用系统的连接,USBCAN-2A 智能CAN 接口卡支持Win9x /Me、Win2000 /XP 等操作系统,也支持Linux2. 4、Linux2. 6 版版本的操作系统。USBCAN-2A 提供了统一的应用程序编程接口,便于用户进行应用程序开发。支持VC、VB、Delphi 和C + + Builder 等开发。本设计采用MCGS 组态软件实现对智能CAN 卡的操作控制。一般来说,MCGS 访问接口卡都是通过MCGS 系统中已有的相应设备构件来进行的,这些设备构件主要由MCGS 开发商预先开发,但也可由最终用户根据MCGS 技术规范自行开发。对于USB-2A 型智能CAN 接口卡,MCGS 系统没有提供可以直接调用的相应设备构件。要成功地使MCGS 能访问USB-2A 型接口卡,通常的办法是由开发商或用户自己开发USB-2A 型的设备构件,但这将花费大量的时间,且有一定的难度。为解决这一问题,我们采用了OPC 服务器技术。
MCGS 支持OPC 协议,它可以用作OPC 客户端与OPC 服务器接*换数据;同时USBCAN-2A 型CAN 接口卡也可以被OPC 服务器所支持,用作OPC 服务器的数据来源和数据接收体,由OPC 服务器自动与其交换数据。能采用的OPC服务器有很多种,周立功公司开发的ZOPC_Server就是一款很好OPC 服务器软件,它支持ZLGCAN 系列接口卡和MCGS 组态软件。MCGS、ZOPC_Server 与USBCAN-2A 型有机协调工作,就完全能很好地解决MCGS 与USBCAN-2A 之间的接口问题,使用户程序能有效地访问CAN 总线网络。它们之间的关系示意图如图4 所示。
图4 MCGS、ZOPC - Server 和USB-2A 关系示意图.
本设计通过ZOPC_Server 服务器,与CAN 网络进行数据通信。ZOPC_Server 是一个OPC 服务器软件,只要在一台PC 机上插上USBCAN-2A 接口卡,再运行本服务器软件,并在服务器软件中进行一些相关配置以后,就可以使用任何一种支持OPC 协议的客户端软件(比如组态软件:组态王、MCGS 和INTOUCH 等)来连接到该服务器。
在服务器中,对于每个CAN 设备的每路CAN,都固定有2 个通道,分别为In_CANData 和Out_CANData。对于输入通道In_CANData,服务器把从CAN 网络接收到的数据存放到此数据项中,客户端只能读取它的数据;而对于输出通道Out_CANData,客户端把要发送的数据写入到此数据项中,服务器再把此数据项中的数据提取出来发送到CAN 网络,客户端不能读取此数据项的数据。它们的存储格式都为字符串形式。2 个数据项In_CANData 和Out _CANData,其长度都为30 Byte,前14 Byte 为帧信息,后16 Byte 为CAN数据。
本设计使用的监控软件为MCGS 组态软件,通过对组态软件的简单设置,将ZOPC_Server 添加到MCGS 组态软件中去,就可以在组态软件中使用服务器中的数据了。ZOPC_Server 的输入通道In_CANData 接收到的CAN 数据是字符串形式的,而且接收的数据根据通信协议最后16 Byte 的数据为采集的电网信号大小,通过MCGS 组态软件中的系统函数,编写脚本函数,首先将数据进行解包处理,截取后16 Byte 的数据,然后将这16 Byte的十六进制字符串形式的数据,转换为十进制数据,并将这个数据放到一个定义的变量里。
对CAN 网络发送数据时,用户程序需把具体的帧信息和要发送的数据按Out_CANData 的格式组合成一个字符串,用户程序对于接收到的数据(In_CANData 格式)也需进行拆分,识别出帧信息和接收到的有用数据供程序使用。
2. 3 组态界面的设计
组态界面的设计主要包括了主界面的设计、数据显示界面的设计等,其中主界面包括实时的电网信号值的显示,报警信号的显示界面,报警上、下限修改输入窗口和下位机电网参数修改窗口。
2. 3. 1 主开机界面设计
实时电网信号值显示画面框如图5 所示。通过该窗口,操作人员可以很容易看到电网信号的当前数据值。
图5 实时电网信号值显示画面框.
本设计的智能脱扣器可以适用于不同的断路器中,而不同的应用场合需要的脱扣参数是不同的,这就要求能够随时修改下位机的脱口参数,来实现对下位机的调控,图6 为修改脱扣器脱扣参数窗口。
主界面中,通过设计报警信号显示画面,可以观察在何时出现怎样的故障报警,随时供操作人员修改高、低报警值限。当电压、电流信号出现故障时,指示灯能给出故障指示。在对数据对象进行报警定义时,已经选择报警产生时“自动保存产生的报警信息”,可以使用“报警信息浏览”构件,浏览数据库中保存下来的报警信息。
图6 修改脱扣器脱扣参数窗口.
通过主界面的设计,能够方便地读出实时电网信号值。通过电网参数修改窗口,能够方便地控制ARM 下位机节点发出脱扣信号的值。通过报警修改输入窗口,则可以方便操作者随时修改报警上、下限值。
2. 3. 2 数据显示界面设计
数据显示窗口包括了实时数据和历史数据的报表值显示,实时曲线、历史曲线的显示,方便工作人员对数据的监控。
实时数据报表值显示窗口如图7 所示。实时报表是对瞬时量的反映,用于将当前时间的数据变量按一定报告格式( 用户组态) 显示和打印出来。实时报表可以通过MCGS 系统的自由表格构件来组态显示实时数据报表。
图7 实时数据报表值显示窗口.
历史数据报表值显示窗口如图8 所示。历史报表用于从历史数据库中提取数据记录,并以一定的格式显示历史数据。
图8 历史数据报表值显示窗口.
实时曲线窗口是用曲线显示电网数据对象数值的动画图形,像笔绘记录仪一样实时记录数据对象值的变化情况。实时曲线窗口如图9 所示,显示了实时的A 相电压和电流值。
图9 实时曲线窗口.
本设计还包括了历史曲线的设计,能方便操作人员对历史曲线进行查询。
通过组态界面的设计,工作人员还能随时查询报警数据、历史数据等,并可以方便地将这些数据导入Excel 表中进行打印。
3 结语
将USBCAN-2A 型CAN 接口卡应用在智能断路器CAN 通信设计上,很好地实现了计算机和CAN 网络互连,就能将上位机看作一个CAN 智能节点,接收来自下位机CAN 节点采集的电网信号,同时能够发送脱扣参数给下位机。而MCGS系统本身的一些局限性,用在通信方面不多,但通过合理的设计方案和编写用户程序,可以很好地用在CAN 总线工业现场监控网上,实现组态对CAN 接口卡的操作。组态界面的设计,使得操作人员对电网信号的监控更方便。
下一篇:基于CPCI总线的加固计算机设计