徐俊起 荣立军 吴小东
(上海磁浮交通发展有限公司,201204,上海∥第一作者,工程师)
最高速度为100 km/h的电磁吸力型(EMS)中低速磁浮列车,依靠列车下部悬浮转向架的电磁铁通电后与轨道间产生的吸引力实现悬浮,每组电磁铁都由对应的独立悬浮控制器控制其悬浮和下落[1-2]。本文中描述的磁浮车辆含有5个转向架,每个转向架的悬浮由4组电磁铁实现,每节车共有20台悬浮控制器。
由于列车悬浮控制的复杂性,在调试过程中控制参数不可能一次性达到最优,需要逐渐逼近,因此有必要构建一套稳定可靠的现场调试系统,把20台悬浮控制器与上位机连接起来实时传输数据。该系统一方面通过上位机监测悬浮控制器上传的轨道与电磁铁之间的间隙、电磁铁垂向运动加速度、电磁铁工作电流以及悬浮控制器状态等参数,另一方面根据监测数据,通过上位机调整悬浮控制参数,使列车悬浮状态达到最优。
CAN(控制器局域网)总线是德国Bosch公司为解决现代汽车中多传感器和控制器之间的数据交换而开发的一种串行总线。由于CAN总线的通信速率高、通信距离远、抗干扰能力强,以及能够有效地支持具有很高安全等级的分布式实时控制,目前已广泛应用于背景干扰较强的控制系统之间的实时通信中[3]。
中低速磁浮车辆的20台悬浮控制器吊挂在车厢底部,控制器附近装有牵引变流器、DC/DC电源等大功率设备,所处电磁环境恶劣,控制器和上位机之间距离远,而实时控制需要较高的通信速率,因此,使用CAN总线作为通信网络是比较理想的选择。
悬浮控制器所使用的控制芯片具有丰富的对外接口,内部集成了兼容CAN 2.0B标准的CAN控制器[4],这为基于CAN总线的调试系统设计提供了先决条件,使悬浮控制器端的CAN节点硬件和软件设计大大简化。
悬浮调试过程中,上位机通常为笔记本电脑,而USB接口是笔记本电脑常见的通用串行接口。为此,提出了一种基于USB-CAN的调试系统。其基本结构如图1所示。
图1 基于USB-CAN接口的调试系统结构图
图1中,USB-CAN接口卡采用的是成熟市场产品,在此不再赘述;上位机人机界面采用高级编程语言实现,文中程序采用C#编写。
对于每一个悬浮点,需要实时监控的参数一般包括间隙、加速度、电流以及控制器状态参数等数据。调试过程中,调试人员可以根据需要,通过上位机的USB总线向某悬浮节点或所有悬浮节点发出、发送允许命令。该命令数据通过USB-CAN接口自动转换为约定的CAN协议包,通过CAN总线传送到悬浮节点。悬浮节点在接收到该命令后,定时将悬浮传感器和控制器的当前参数打包发送到CAN总线上,然后再通过USB-CAN接口自动转换为约定的USB协议包,上传到上位机保存,并将接收到的参数在人机界面上显示,用于对悬浮状态的评估。如需要对当前控制器的某些参数进行修改,也可以通过上位机人机接口向目标节点发送参数修改命令。
悬浮控制芯片所集成的CAN控制器简化了CAN节点的接口设计,只需在控制芯片的CANTX和CANRX引脚上接一个CAN驱动芯片即可。这里选用的CAN驱动芯片是PCA82C250,它提供向总线的差动发送功能和对CAN总线控制器的差动接收功能。接口电路如图2所示。图中CANH和CANL为CAN总线的两根差分信号线。为增加电路的抗干扰能力,对输入输出信号采取了光耦隔离技术,选用的高速光耦隔离芯片为HCPL-0611,设计过程中注意使用单独的CAN隔离电源供电。
图2 CAN接口电路图
悬浮控制器上的CAN总线端口要完成两项工作:(1)向上位机上传控制器的间隙、加速度、电流以及控制器状态等参数;(2)读取上位机下传的控制命令和参数,实现参数的在线修改等功能。
为实现CAN总线的数据传送,需定义参数包和命令包两类传送数据包。每一个数据帧需定义的标识有数据包类型、数据传送方向和悬浮控制节点编号。
CAN 2.0B协议数据帧格式如图3所示。每一个数据帧能够传送8个字节的有效数据。为充分利用数据区传送有效数据,把数据包类型、数据传送方向和悬浮控制节点编号等标识定义在11位标识符区。其中11位标识符中,第10位表示数据传送方向,1表示悬浮控制器给上位机发送信息,0表示上位机给悬浮控制器发送信息;第9~6位,表示数据包类型,包括参数包和命令包;第5~0位表示悬浮控制器节点编号(编号从0x01开始)。
悬浮控制器节点上传的参数包数据有悬浮间隙值、加速度值、电流值和控制器状态值,悬浮控制器上传的命令包数据有控制器节点对上位机命令的响应值;上位机下传的参数包数据有悬浮控制参数调整值,上位机下传的命令包数据有悬浮或降落命令值、复位命令值、屏蔽命令值等。
图3 CAN2.0B协议标准数据帧
通信软件包括悬浮控制器节点中CAN通信程序和上位机通信程序。每次主程序循环中,控制器都向调试系统发送当前间隙、加速度、电流以及控制器状态等信息;一旦接收到调试系统下传的信息,控制器便分析下传信息的性质,对它们分别进行判别、执行与应答。控制器CAN通信程序框图如图4所示。
图5为上位机通信程序框图。程序中实现了USB接口的数据读取、数据根据约定的通信协议打包后通过USB下传等功能。
图6为基于USB-CAN接口的调试系统人机界面。该界面由三部分组成。
(1)发送控制:包括自由选择要进行控制的控制器,CAN接口的打开、关闭,悬浮、降落命令发送,屏蔽、复位命令发送。
(2)状态显示:显示各控制器的悬浮状态,如悬浮间隙S、加速度值A、电流值I。
(3)参数设定:设定K1至K8等8个控制参数并发送。
图4 悬浮控制器CAN节点通信程序
图5 上位机USB通信程序
图6 基于USB-CAN接口的调试系统人机界面
根据中低速磁浮列车悬浮控制系统的特点,构建了一种基于USB-CAN接口的悬浮控制调试系统,设计了通信协议和软硬件,并予以实现。实际应用证明,这套调试系统不仅能够简化悬浮控制调试过程,缩短调试时间,并且能够帮助调试人员通过上传的状态信息判断列车的悬浮状态快速寻找最优控制参数,是调试过程中的一种有效辅助工具。另外,所设计的基于USB-CAN接口的通信系统也可以应用在其他分布式控制系统的控制和调试中。
[1]吴祥明.磁浮列车[M].上海:上海科学技术出版社,2003.
[2]刘华清.德国磁悬浮列车Transrapid[M].成都:电子科技大学出版社,1999.
[3]饶运涛,邹继军,郑勇芸.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2003.
[4]徐科军,张瀚,陈智渊.TMS320X281XDSP原理与应用[M].北京:北京航空航天大学出版社,2006.
[5]吴汶麒.自动控制原理[M].北京:清华大学出版社,1998.