CRH3动车组辅助变流器半实物仿真数据监测台*
2013-08-03杨宁,李红,左鹏
杨 宁,李 红,左 鹏
(中国铁道科学研究院 机车车辆研究所,北京100081)
在高速动车组辅助变流器的国产化进程中,控制器作为核心部件,具有举足轻重的作用,因此对控制器的引进、消化、吸收、再创新意义重大。基于方便研究辅助变流器控制器控制思想与逻辑的考虑[1-2],采用真实控制器加虚拟外围回路的形式[3],构建了一个便捷的半实物仿真环境的控制器分析平台。为了对半实物仿真数据进行采集、监测、存储,需要半实物仿真数据的监测台[4]进行具有针对性的数据处理,便于后期分析工作的展开。
1 监测台配置结构
除去系统的供电部分与模拟辅助变流器电路中的接触器部分,半实物仿真[4]的总体结构简图见图1。它由辅助变流器控制器、工控机1与显示器、工控机2与显示器组成。由于辅助变流器主电路的仿真需要占用大量的资源,因此由工控机1负责主电路的软件仿真。控制器通过向工控机1发出控制信号和脉冲,并接收工控机1反馈的传感器信号,形成辅助变流器的闭环控制系统。在控制过程中所有控制器与工控机1交互的控制信号、脉冲、传感器信号都是分析辅助变流器控制方法的重要数据。数据监测台起到了对上述重要数据采集、显示与保存的作用,它由工控机2和显示屏组成。
图1 半实物仿真总体结构简图
根据动车组辅助变流器的控制开关频率较低的特性,监测台的数据采集系统采用PCI总线的数据采集卡结合工控机的结构,采集接口见图2。这种方案简化了设计结构,降低设计成本,无需额外的硬件设备就可以使用基于PC机的系统架构。由于需要采集11路模拟通道、6路数字通道,在采集卡的选择上,需要选择采集速度较高、带有FIFO缓存、具备直接访问内存空间存储数据功能的高速采集卡,便于实现大量数据的实时显示与搬运。
图2 数据采集接口
2 软件关键技术
工控机的软件开发平台是基于Windows操作系统下的开发环境。在这种开发环境下,实现PCI数据采集的操作、制作人机交互界面比较常见的方法有使用G语言的labview软件,或使用C语言的Visual C++软件,亦或使用 VB语言的 Visual Basic软件[5]。Labview是一款基于图形编程的软件[6],擅长于控制类编程,具有开发周期短,专业控件齐全等优点;Visual C++编程较灵活,对于程序开发者而言,具有更大的自由度,在速度、稳定性方面很占优势。Visual Basic则是介于Labview和Visual C++两者之间,相对于Labview,程序开发有更大的自由度,相对于Visual C++,程序具备图形界面必要的控件与直接操作数据采集卡的功能。所以,在设计方案上采用VB语言的Visual Basic软件作为开发环境。
2.1 DMA的直接操作
采集系统共有6路数字信号、11路模拟信号。根据香农采样定理,为了不失真的恢复被采集的信号,采样频率应该不小于模拟信号频谱中最高频率的2倍。为了对采集到的信号进行很好的显示与存储,采集卡在内部时钟下,数字通道采用2 MHz的时钟读取频率,模拟通道采用480 k Hz的采样频率,因此数据吞吐量较大。Windows操作系统是多任务分时复用的系统,在Visual Basic软件的数据实时读取上经常被操作系统的其他进程所打断[7],因此在采集卡实时连续读取数据的问题上遇到了难题。
为了解决这一问题,对数据的读取可采用直接内存存取方式。DMA(Direct Memor y Access,直接内存存取)是现代PC机高速数据传输的一种方式,它不需要占用CPU的资源,可以直接访问内存,在DMA数据传输时,由DMA控制器直接管理总线,完成数据的写入。在对数据采集卡的数据读取过程中,可以设置两片用户内存中的大容量buffer,使用DMA的读取方式,将数据写入buff er中,在Visual Basic软件编程中,通过对buff er前半满和后半满的查询将数据从buffer中读出。这样可以保证采集到的数据连续,不会丢失。数据读取程序流程框图见图3。
图3 模拟、数字数据采集流程框图
首先,通过Visual Basic软件在程序中设置两块内存数组空间。然后,将数据采集卡初始化,完成VB与采集卡驱动的连接。随后,对采集卡的参数进行配置,采用DMA数据传输模式,映射数据到数组空间。最后,启动AD或者数字采集卡的定时器,即完成DMA传输下采集卡的配置,数据会自动连续写入先前定义好的内存数组空间。
2.2 双缓存显示
将需要分析的数据从buffer中读出后写入到用户的存储空间,然后需要将这些数据直观依次地通过显示屏显示给用户。波形的显示程序包括波形的实时显示和波形的回放程序。虽然VB具有较好的图形界面和显示控件,但是在波形的实时显示上存在两个较大的难点:显示与采集程序的匹配问题和显示波形的闪烁问题。
(1)关于显示与采集程序的匹配问题的解决方法。由于屏幕上需要显示数据量的不确定性,显示的速率总是快于或者慢于采集速度。为了能解决这一问题,在显示环节加入了一个较大的显示缓存,缓存的存储量为显示窗口最大能显示的数据量。采集程序会不断刷新显示缓存,保证显示缓存里存储的是连续采集到的数据。显示程序可以自由的显示出缓存里任意比例的数据。
(2)关于显示波形闪烁问题的解决方法。VB波形显示的方式可通过向Visual Basic中的Picture控件中绘制连续线段的方式来实现的,这种方法比较适用于显示数据量较小,显示实时性要求不高的场合。对于高速采集到的大量数据,而且实时性要求较高的系统,此方法会造成人眼无法接受的闪烁并且占用大量的CPU资源。为了更好的解决该问题,将显示方法进行了改进,通过在VB中调用Windows API函数,使用Bit Blt函数双缓存显示的方式大大改善了闪烁问题。双缓存的显示思想是在界面中设置两块显示区,第一块显示区是作为缓显(用户看不到),第二块显示区作为显示界面呈现给用户。首先将数据画在第一块显示区上,当画完第一块显示区后再将第一块显示区的所有数据复制到第二块显示区上,显示给操作用户。延长了刷新间隔,降低了闪烁,显示效果与示波器类似。波形的回放较为简单,直接设置一块和显示缓存一样大小的回放缓存,当需要回放的时候,将回放的数据直接画到显示缓存区即可。
2.3 数据的存储
数据存储为了便于后期对采集到的数据进行分析,数据的存储必不可少,同时还应该具备数据的完整性和实时性。拟将数据存入到Micr osoft Office Excel 2003工作表中,VB对工作表的读写已经很成熟、便捷,但是在大量的数据读写下,由于VB直接对工作表的操作响应慢,效率低,数据的存储完全影响了其他程序的运行。为了解决这个问题可以采用读写文本文件的方式向Microsoft Office Excel 2003工作表中存储数据,这样速度快、可靠性高,并且在存储过程中将数据进行有效的分割,便于后期的数据处理。
2.4 VB界面
数据监测台的显示界面实现了对辅助变流器重要信号的直观显示,实现了同示波器一样的多通道输入显示测量功能,其显示部分包括:波形显示区、功能按钮区、辅助变流器主电路示意图区。
波形显示区类似于示波器的显示窗口,可以同时显示数据采集卡11个模拟通道和6个数字通道读取上来的数据波形。根据试验需要观测的波形要求,可以通过勾选不同的信号,去掉或者显示所选中的信号,并且可对选中的信号进行水平展宽与垂直移动。波形显示区还具备水平时间的差值测量,便于波形分析。
功能按钮区是人机操作的平台,用户可以根据相应的操作功能,达到对波形观察的目的。水平调整部分可以调整波形显示区横坐标的时基,可以对显示波形进行水平缩放。垂直调整部分可以使波形上下移动,显示在垂直不同的区域,便于波形的观察。信号选择部分前排复选框代表显示对应的波形。后一排复选框代表选中需要垂直移动的波形。采集控制部分中开始按钮是激活示波器,并且启动每个采集卡。再次点击,停止示波器与采集卡。保存按钮可以根据窗口上方编辑栏的选择,保存当前每个通道5 000个采样点的数据或者固定时长的数据。复位按钮是将整个采集系统复位,系统部分显示当前时间,光标部分测量显示被测波形的频率和周期。
图4 VB显示界面
辅助变流器主电路示意图区,显示主电路的原理图。原理图中开关的状态可以直观的显示出来,图中还标志出了每个显示波形所代表的含义。当辅助变流器控制器启动时,主电路开关的闭合顺序,主电路中关键的电气参数,都可以实时的在原理图中显示出来,起到直观显示的效果。VB显示界面见图4。
3 结束语
半实物仿真数据监测台实现了对通用示波器显示方式的很好替代,解决了示波器通道较少、造价昂贵的问题。并且,在显示界面中加入了主电路原理图,使得波形与主电路关键参数相对应,能达到更好的直观观测效果。同时,数据监测台还具备对波形进行历史存储与定时存储功能,便于对辅助变流器控制器整体波形与瞬时状态的分析,促进了高速动车组辅助变流器国产化研究的进程。
[1]康 熊,管天保,黎国清,等.沪宁线行车安全综合监控系统的研究[J].中国铁道科学,2002,23(3):1-5.
[2]康 熊,钱立新,王 澜.既有铁路行车综合安全监控系统的研究[C].康熊,钱立新.铁道科学技术新进展——铁道科学研究院55周年论文集,北京:中国铁道出版社,2005:14-20.
[3]李 红,左 鹏,刘伟志,等.地铁车辆辅助逆变电源分析研究[J].中国铁道科学,2004,25(1):52-55.
[4]宋术全,王永翔,杨 宁.CRH3型动车组辅助变流器半实物仿真系统[J].中国铁道科学,2012,33(2):138-144.
[5]王明军,钱 炜,沈景凤,等.基于VB的测控系统实时显示模块设计[J].微计算机信息,2007,(10):32-34.
[6]王梦玲,王思明.基于PCI-1713和Lab VIEW的高速数据采集系统设计[J].微工控机信息,2006,(7):120-123.
[7]李江全,张 丽,岑红蕾.Visual Basic串口通信与测控应用技术实战讲解[M].北京:人民邮电出版社,2007.