RTX下单自由度隔振平台控制系统设计

2013-03-30 06:09王君锋周振华徐振高
机械与电子 2013年3期
关键词:共享内存气路人机界面

王君锋,周振华,徐振高

(华中科技大学数字制造装备与技术国家重点实验室,湖北 武汉 430074)

0 引言

振动隔离是大型精密加工装备、测量仪器、生物基因操作设备、纳米制造设备和大型超精密科学实验装置等操作平台的关键支撑技术,也是一个国家先进装备制造与测试能力的标志性技术之一[1]。单自由度主动隔振平台用来研究主、被动隔振控制算法,主要由空气弹簧和音圈电机组成。为保证隔振效果,必须保证控制系统的实时性,也要提高空气弹簧气路控制环和音圈电机阻尼控制环的控制精度。

目前,具有实时性能的控制器有3种:一是带有微控制芯片的嵌入式板卡下位机,一般选取DSP芯片作为主控芯片。用户通过串口、网口或CAN总线与上位机通信。二是采用NI控制器及配套采集板卡,用户通过网口和NI控制箱通信,可实现图形化编程。三是采用工控机及AD和DA板卡,用高级编程语言在工控机下实现相关控制逻辑和算法。

1 系统组成和工作原理

单自由度隔振平台的系统组成如图1所示。系统的主要动作部件为空气弹簧和音圈电机。空气弹簧通过比例伺服阀调节进气量,将隔振台浮起,隔离地面的振动。音圈电机通过电机驱动器调节供电电压,对隔振台施加阻尼力,实现主动减振。系统还包括检测单元、数据采集以及控制单元。检测单元包括位置传感器和速度传感器。数据采集和控制单元由PCI数据采集卡、PCI数据输出卡和工控机构成。

图1 隔振平台系统组成

控制系统设计为双闭环控制,图2为其控制框图。第1个环路是气路控制环。设定的位置期望值和位置传感器反馈的位置值之间的偏差信号经过低通滤波器Ⅰ、PI控制器、低通滤波器Ⅱ处理之后作为控制信号,控制比例伺服阀的供气量,以实现隔振台的位置控制。第2个环路是电机控制环。在气路控制环稳定的情况下,电机控制环的作用是减小隔振台的绝对速度。速度传感器采集的速度信号经过低频扩展、高通滤波器和陷波滤波器,输入到电机驱动器。电机驱动器根据此信号,驱动电机对浮起的隔振台提供阻尼,以实现隔振台的速度控制。

图2 控制框图

2 隔振平台软件设计

目前,具有强实时性的操作系统有VxWorks、μCosⅡ以及DOS等。VxWorks是美国风河公司推出的一款实时操作系统,通常采用主从开发模式,采用后台监控管理软件的上下位机结构,具有开发周期长、成本高等缺点。μCosⅡ是用于嵌入式系统最为简单的一种实时操作系统,一般应用于微处理器,大多也采用上下位机的结构,开发周期较长。DOS开发人机界面困难。IntervalZero公司的RTX在不改变Windows内核的情况下,提供了一个实时系统内核[2],进行实时任务调度,与 Windows内核一起工作,具有实时性强、开发方便等优点。

软件设计选择VC++6.0编译器,包括人机界面设计和控制程序设计。人机界面为用户提供良好的调试和操作界面。控制程序实现数据的实时采集和隔振平台的实时控制。软件的设计采用模块化设计方法[3],按功能分成驱动层、功能层和应用层。

驱动层程序是直接控制硬件设备进行工作的程序。在Windows下,直接进行数据采集不能保证数据采集的实时性。为了保证控制程序的实时性,需要在RTX下对数据采集卡进行驱动开发,将设备从Windows系统下移到RTX子系统下。编写RTX下设备的驱动程序,可以通过调用实时应用程序编程接口函数来访问实时子系统,以保证设备进行数据采集的实时性。

驱动程序主要是对硬件板卡进行自动识别、初始化、内存访问和中断控制等操作[4]。驱动程序要遍历平台上的PCI设备,根据VendorID和DeviceID确定需要驱动的具体设备,并得到设备相应的PCI总线号、中断向量及映射基地址等信息。

获取了板卡基地址之后,就可以对设备进行初始化配置、设备启动和停止等操作。根据采集卡不同的工作方式,程序需要对设备进行不同的操作。当采集板卡工作在软件触发模式下时,驱动程序在每个应用周期均对数据寄存器进行数据读取。如果数据可用,则进行相应处理,并等待进入下一个周期。在中断模式或外部触发中断模式下,首先需要使能设备中断,然后根据设备总线号和中断向量,调用RtAttachInterruptVectorEx函数挂接中断。中断程序成功挂接后,在中断服务程序中进行数据读取,中断清除等操作[5]。

功能层包括初始化模块、控制模块和系统状态检测模块。初始化模块的工作是对设备初始状态进行设置,为控制模块正常工作提供保障。系统状态检测模块的主要工作是将控制模块正常运行的重要变量分类打包写入共享内存,供用户监测使用。

功能层的核心是控制模块。控制算法设计是采用RTX实时定时器或RTX中断,将数据采集卡采集到的信号进行运算处理并通过数据输出卡输出控制量。RTX进程流程如图3所示。主线程中创建一个RTX定时器,周期为1ms,其定时精度可达到μs级[2]。定时器线程中依次完成读取数据,等待控制命令和启动相应控制环。定时器的启动和关闭,由共享内存中来自Win32进程的共享变量控制[6]。

图3 RTX进程流程

应用层包括通信模块和人机界面模块。

通信模块是实现应用层和功能层之间的数据交互。软件设计中,数据交互可以通过在RTSS进程和Win32进程中创建共享内存实现[7]。不同类型的数据被打包在不同的结构体。系统检测模块将控制算法中的变量写入共享内存,人机界面模块读取共享内存,可以将数据显示在界面中。反之,用户参数设置可以通过人机界面写入共享内存,控制程序通过读取内存响应用户的命令。

人机界面设计是在Windows平台下,用VC软件完成人机界面、参数设定和状态数据显示等功能。人机界面程序运行在Windows非实时系统中,包括用户参数设计输入框、模式选择框和数据显示图框等。人机界面程序流程如图4所示 ,首先通过调用实时RTSS进程,启动实时程序 。然后通过共享内存检测各个传感器初始状态,判断系统初始状态。初始状态正常,通过启动按钮触发实时程序启动气路控制环。气路控制环的控制可以通过界面的编辑框进行PID参数调整。在气路控制环稳定的情况下,可以由界面按钮启动电机控制环。同样,其电机控制环的实时控制效果也可通过界面进行PID参数调整。数据曲线显示是在定时器程序中读取共享内存,在TeeChart插件[8]中显示,其中TeeChart是一款优秀的应用于图形显示ActiveX控件。

图4 人机界面流程

3 实验效果及分析

在RTX下,实时控制程序的控制周期为1ms。气路控制环的控制效果如图5所示,位置稳定在1 500±10μm的波动范围内,其中1 500μm为位置的期望值。

图5 气路环控制效果

在气路控制环稳定情况下,开启电机控制环或不开启电机控制环时,其控制效果的比较如图6所示。图6a和图6b分别为地基速度信号和隔振台速度信号。从图6a和图6b可看出,只开启气路控制环时,速度信号幅值有所放大,从±50μm/s(地基速度)放大到±300μm/s(隔振台面速度),放大后的速度信号主要集中为低频信号 。从图6b可看出,开启电机控制环后,速度的幅值得到明显衰减,从±300μm/s衰减到了±40μm/s。从数据可看出,基于RTX的控制系统对隔振的主动控制效果明显。

图6 地基和隔振台面速度信号对比

4 结束语

在Windows平台下,选取RTX实时内核,既能够在Windows下实现较好的人机界面设计,又能够保证控制系统的实时性要求。与传统的基于微处理器的嵌入式板卡控制器和基于NI的图形化编程控制器相比,基于RTX的工控机控制系统,具有通用性强、开发周期短和成本低等优点。经过实验验证,系统在应用于单自由度隔振平台时,具有较好的控制效果。

[1]Peng F Z,Akagi H,Nabae A.A new approach to harmonic compensation in power systemsa combined system of shunt passive and series active filters[J].Industry Applications,IEEE Transactions on,1990,26(6):983-990.

[2]IntervalZero Inc.RTX White paper[Z].USA:IntervalZero Inc,2010.

[3]王 亮,邓红德,康凤举,等.基于RTX的航电综合模拟系统应用研究[J].仪器仪表学报,2011,(11):2475-2480.

[4]黄 键,庞亚华,薛顺虎.RTX环境下PCI设备实时驱动的开发[J].计算机工程,2010,36(20):211-213.

[5]黄 键,宋 晓,薛顺虎.RTX平台下实时仿真系统的设计方法[J].计算机应用于软件,2009,26(4):166-169.

[6]张蓓蕾,夏伟杰,周建江.基于RTX的舵机控制系统研制[J].电子科技,2011,(11):77-79.

[7]高泽东,李建军,高教波.基于RTX的实时伺服控制系统[J].计算机应用,2011,(12):212-215.

[8]梁增欣,李维嘉.TeeChart控件介绍及在实时监控系统中的应用[J].工业控制计算机,2010,(12):9-10.

猜你喜欢
共享内存气路人机界面
通过QT实现进程间的通信
一种高压气路接触件密封结构改进设计
基于Linux内核的文件服务器模型的研究与构建
基于PCI总线的多处理器协同机制研究
CBTC系统车载人机界面的设计与实现
基于PLC与人机界面的经编机电子横移控制系统研究
CTCS-3级列控车载人机界面的系统设计与实现
尿素装置系统入塔CO2调节阀控制方案的优化
某型涡轴发动机气路故障数值仿真
达人机界面DOP-B10VS511