头盔测试转台的软件控制系统设计

2011-07-07 08:48朱晓明赵晓丽
制造业自动化 2011年20期
关键词:人机界面头盔限位

朱晓明,赵晓丽,李 欣,徐 岩

(哈尔滨工程大学 工程训练中心,哈尔滨 150001)

0 引言

头盔测试转台是用于防空飞行器中飞行员头盔火力瞄准系统的测试系统,对于头盔瞄准系统的研究起到很重要的作用。

该系统的机械主体由三部分结构组成:头盔支撑平台、相机支撑平台和底座。头盔支撑平台用于固定头盔,由三个转动自由度和一个移动自由度组成:方位轴、俯仰轴、横滚轴和Y轴,分别模拟头部的左右转动、前后摆动、左右摆动以及Y向移动。相机支撑平台用于固定相机,由两个移动自由度组成:X轴和Z轴,驱动相机前后和上下移动,以便在适当位置取得头盔各种信息并反馈给主控系统以便其进行记录。

1 功能需求分析

根据系统的应用需要,确定转台测试系统的功能如下:

1) 实现转台方位轴、俯仰轴、横滚轴的精确位置控制,转动范围在160度内,精度20角秒内。三个转动轴可单独或者同步控制;

2) 实现转台Y向的精确移动位置控制,定位精度0.1mm;

3) 实现相机平台Z向的精确位置控制,定位精度1mm;

4) 实现相机平台与转台零点间的X向精确位置控制,定位精度0.1mm;

5) 实时显示各个轴的状态信息,便于用户查看;

6) 各轴运行与操作具有安全防护措施;

7) 出于保密需要,控制功能进行封装,便于用户定制特殊系统;

8) 可通过其他计算机通过串口通讯,控制转台运动。

2 系统软硬件平台设计

控制系统硬件平台采用上下位机结构。高可靠性工业计算机为上位机,主要完成非实时任务,如人机界面交互、系统状态监控和发送指令等,下位机采用基于PCI的固高多轴运动控制器,依靠其内置高速DSP的计算能力,完成实时控制功能,如移动计算、指令处理等。这种通用结构,可以充分利用通用硬件平台上的通用软件资源,大大缩短设计周期,提高效率[1]。下位机的主要控制对象,即转台的头盔支撑平台,如图1所示。

图1 转台的头盔支撑平台

软件平台采用微软公司的Windows XP系统,软件开发环境采用基于Windows的VC++6.0可视化程序设计软件,可以快捷、高效地建立程序结构,设计友好的图形界面,简化了用户界面的设计过程[2]。同时,可以方便快捷的进行函数功能的动态链接库封装,实现用户的定制需要。它具有很强的图形设计功能,可以用来设计人机交互的虚拟仪表和三维仿真环境,提高用户体验效果[3]。

3 软件控制系统设计

3.1 设计原则

为了保证系统运行的稳定性,便于用户进行功能定制,控制软件的设计应遵循如下原则:

1) 模块化。先设计出软件的总体功能结构、数据结构以及公共接口,然后按功能将各部分划为功能模块,再分别为各功能模块设计程序流程,分别设计,最后统一组装调试。模块化设计方法有利于提高软件的可扩展性,并且可以做到良好的数据和代码封装,加强了软件的可靠性,后期维护也相对方便。

2) 安全可靠性。作为控制软件,保证安全性和可靠性相当关键。通过对可能出现的安全问题,尽可能通过软件设计,设计正确的逻辑控制和安全防护,使其避免发生。

3.2 功能模块设计

根据系统的功能需求,将控制系统功能设计为如图2所示的软件模块结构。下面对模块的设计予以论述。

图2 软件模块结构

3.2.1 自动定位模块设计

自动定位是用户在设置选定轴的精确目标位置和速度后,让选定轴自动完成运动控制的方式。这种方式也是用户最主要的操作方式,因此对该模块的设计要保证其易操作性、安全可靠性。

在功能设计时,考虑到用户可能选择多个轴运动,为达到最大运行效率,考虑多个选择轴实现同启同停。为此在人机界面中给用户留两个速度设置接口。一个是移动轴的速度接口,供三个移动轴使用。令一个是转动轴的速度接口,供三个转动轴使用。这种设计的原理是当用户选择三个转动轴时,判断出转动行程最大的轴,将转动速度设为该轴速度,从而可以计算出运行时间,然后将该时间作为其他两个转动轴的运行时间,从而计算出其他两个轴的转动速度,最终使三个转动轴保持时间同步。同理,移动轴也采用这种策略。

自动定位操作时很容易出现的安全问题是用户没有设定正确的目标位置,导致运动超程发生碰撞,或者速度设置过大导致超限。为此在用户启动自动模式前,需要判断每个选择轴的目标位置和速度。如果超出范围,则不启动轴运动,并提示用户。

为了提高易用性,将转动轴目标位置设置形式设计为度分秒独立设置方式,并可采用键盘或者鼠标点击加减号的直观输入两种方式,界面如图3所示。鼠标点击加减号时,度分秒会自动变化1个单位。为了增加可靠性,当达到最大范围时,自动判断并停止变化,防止超限。

3.2.2 手动定位模块设计

手动定位是用户想实现对某个轴估计位置的调整而采用的位置调整方法,也是用户经常使用的功能。在该种方式下,只能选择一个轴作为控制轴,并事先设定该轴的运行速度。用户鼠标点击人机界面上目标轴的加减号按钮,该轴就会相应移动。抬起鼠标即可实现停止,直观易用,界面如图4所示。

手动定位时容易发生的安全问题是用户调整目标轴的运动位置过大,达到限位开关位置,触发电气限位。虽然电气限位可以保证轴停止,但是急停会造成机械部件振动过大,造成损害。因此,系统为每个轴设定了软限位,比最大行程小5度(转动轴)或者5毫米(移动轴)。手动定位开始后,控制系统启动定时器,实时检测运动轴当前位置。一旦达到软限位,主动平滑停止轴运动,实现安全保护。

图3 转动轴目标值设定界面

图4 手动定位操作界面

3.2.3 状态监控模块设计

状态监控模块将系统内部各种状态导出,是用户对系统状态进行了解的主要途径。通过状态监控模块,用户才能对系统的状态进行判断,以便进行正确的操作和处理。

系统的状态参数非常繁杂,必须根据用户的需要选择关键参数作为监控对象,才能达到监控效果。根据功能需要,选择的监控参数包括:限位状态、伺服报警(用于系统安全状态监控),位置和速度(用于正常运行状态监控)、伺服状态(用于伺服系统状态监控)、头盔和转台的距离(用于碰撞干涉监控)等参数。

状态监控模块的设计原理,是利用运动控制器为每个轴提供的一个16位状态寄存器。该寄存器实时记录了每个轴的当前状态。通过VC++6.0为每个窗口提供的定时事件处理函数OnTimer(UINT nIDEvent),定时读取该寄存器的状态,并将其更新至人机界面,完成监控任务。而头盔碰撞干涉监控则需要建立头盔的数学模型,然后采集当前六个运动自由度的位置,将其输入头盔的模型,从而计算出导致碰撞干涉的距离信息并定时更新至人机界面,及时提示用户。

状态监控模块的人机界面设计也是系统设计的一个重要方面。设计优秀的人机界面,具有亲和力和观感舒适度,符合人体的使用习惯,具有良好的用户体验。根据上述理念,设计了多种形式的监控界面,包括:1)盘形虚拟仪表,显示转动轴角度,2)直尺形虚拟仪表,显示移动轴位置,3)状态指示灯,具有两个颜色状态(常态与触发态),显示伺服开关、伺服报警开关、限位开关,4)实时趋势曲线显示,显示六个轴的实时位置变化,5)数字显示面板,实时显示运动轴的速度。

其中最重要的盘形虚拟仪表采用面向对象的程序设计方法,继承了VC++6.0中的MFC类,即静态文本框类CStatic,并对其进行函数扩充,利用其强大的图形绘制功能,完成了虚拟仪表的外形设计,同时设计了用户接口UpdateNeedle(double dValue),接受双精度数值型的角度值,并实时更新为指针的显示。为了满足用户需要,该虚拟仪表可以精确到小数点后面4位,如图5所示。

3.2.4 网络通讯模块设计

为了实现其他计算机通过串口通讯,发送指令控制本系统进行轴运动,必须先建立二者通讯。VC++6.0集成环境中的通讯控件Microsoft Communications Control本身封装了串口通讯的底层协议,并给用户提供了串口通讯的各种设置方法和数据传送接口。设计时在控制计算机和被控计算机应用程序中各植入了一个该通讯控件,并进行相同设置m_ctrlComm.SetSettings("9600,n,8,1"),即通讯数据的传输波特率为9600,无校验,8个数据位,1个停止位。通过统一设置保证数据的同步传送。

为了实现通讯,必须建立两台计算机的通讯协议,才能保证指令的正确传送、接收与解析。为此设计通讯协议“n ppp vv”。协议由三个字段组成。第一个字段n为一位正整数表示控制的目标轴号,范围为1-6。第二个字段ppp为三位整数(可负),指定运动目标值。第三个字段vv为两位正整数,指定运行速度。字段间用一位空格隔开。控制计算机的串口控制界面如图6所示。

图5 盘形虚拟仪表

图6 串口控制系统

3.2.5 其他模块

安全防护模块主要用于处理安全问题,比如限位触发后的处理和提示。开机寻零模块用于用户开机后寻找事先标定的工作零点。寻偏移量模块用于测量物理原点与工作原点的精确偏移,以便标定工作原点。软件补偿模块则用于补偿由于机械制造形成的误差。坐标置零模块将当前任意位置置零,用于系统的调试。

4 结论

本文以防空飞行员的头盔测试转台为控制对象,介绍了其基本组成与应用,分析了该系统的功能需求,并对该系统的软硬件平台进行设计。在此基础上,对软件控制系统的设计原则进行了讨论,建立了模块化结构。然后着重对自动定位模块、手动定位模块,状态监控模块和网络通讯模块等重要模块的设计进行了论述。

根据本文软件设计方法所建立的转台软件控制系统,经过与电机和驱动器连线后,经过自准直仪的测量结果证明,转动和移动精度达到了预期的设计要求,并且定位稳定可靠、操作和运行的安全性高,界面清晰易用,达到了非常满意的效果,对于该类控制系统具有很高的推广价值。

[1] 董海瑞, 高连生. 三轴仿真转台上位机控制软件的研究[J]. 工业控制计算机, 2007, 20(12): 52-54.

[2] 杨睿. 基于VC++的通用伺服仿真转台测试软件[J]. 伺服控制, 2008(8): 48-50.

[3] 袁立鹏, 卢红影, 崔淑梅. 三维加速度模拟转台系统及控制策略研究[J]. 2010, 38(7): 1-4.

猜你喜欢
人机界面头盔限位
浅谈起重机双限位的设置
犬用战术头盔
某型轴承限位销装配工装的改进与应用
小头盔,大防护
当头盔遇上高科技
分阶段减少母猪限位栏的使用
汉字戴头盔
CBTC系统车载人机界面的设计与实现
CTCS-3级列控车载人机界面的系统设计与实现
汽车零件限位结构简述