新闻中心

EEPW首页 > 模拟技术 > 设计应用 > LabWindows/CVI在飞行模拟器中的应用

LabWindows/CVI在飞行模拟器中的应用

作者: 时间:2010-07-27 来源:网络 收藏

主程序完成初始化后,调用权限操作、采集、视景通信模块、控制(仪表驱动、操作机构、俯仰控制)等模块。并随时响应串口和键盘中断。为防止干扰,采集模块采用多次采集,去掉最大和最小数据,取平均值的方法。经采集所取得的数据经由存储模块和显示模块存入数据库并显示于面板,需要的时候可以通过数据库管理模块和文件管理模块进行查询和打印。另外,根据采集的数据信息便可通过仪表驱动模块完成操纵机构、俯仰控制等功能。
2.2.2 软件编程中的关键模块
1)俯仰控制模块 函数int ComWrt(int COMPort,charbuffer[],int count)通过串口COMPort向变频器发送控制命令,命令数据存储在存储器buffer[]中,数据长度为count字节。控制变频器的运行、停止、正/反转。

函数void CRC_WrtFre(int FRECOM,unsigned int DValue,unsigned FreAdr,int Length_CRC)设定变频器的工作频率。通过串口FRECOM向变频器发送工作频率值Dvalue。
调用:

2)操纵机构控制模块 函数double sensor_com(int ID);功能说明:向传感器发送读取数据命令,读取和存储传感器输出的原始数据,并计算出传感器的位移量。计算方法为:

3)仪表驱动控制模块 函数void da_send(int corn,intkahao,int channel,double da_sendata)用来发送电压表所需的电压值;函数double AD24(int COM,int CardID,int way,double*Val)用来采集电压,对于需要采集的电压进行采集并将其显示在面板上;函数void Relay(int comport,int cardlD,intchanelNum,char ctrldata[17])用来控制继电器的通断状态;函数void YB_High(double sjd_A)根据升降舵的变化来控制高度表和升降速度表的指示,其中YB_High为函数名,sjd_A为升降舵值;函数void YB_Airspeed(double ymg_V)根据油门杆来控制变频器的频率;函数void YB_Qhq(double Value)和void YB_Pq(double Value)分别是汽化器温度表和排气温度表的驱动函数,驱动变量为副翼;函数void YB_Wxdhizh(double Value)用来驱动无线电高度表,其中YB_Wxdhigh是函数名,Value为油门杆位置;函数void YB_Sy(double Value)三用表的驱动,其中YB_Sy为函数名,Value为油门杆位置;函数void YB_Dq(double Value)驱动大气温度表,其中YB_Dq为函数名,Value为油门杆位置。
4)视景音响控制模块 函数void calculate()根据3个舵面和油门杆的数据计算视点位置的x坐标、y坐标、z坐标、俯仰角、滚转角、偏航角;函数void(*InitNet)(int fig),函数功能:初始化网络。初始化包括IP地址,端口号等信息;函数void(*SendFlightData)(int flg)向视景计算机传送数据。
函数void(*CloseNet)(int fig)用于关闭网络;函数void(*ChangeData)(float viewx,float viewy,float viewz,float thet,float gam,float psi)用于交换数据。将控制系统软件生成的数据FlyData传送到视景软件,实现数据的实时更新交换,这是实时通信的基础所在。

本文引用地址:https://www.eepw.com.cn/article/187870.htm

3 结束语
该系统以虚拟仪器编程语言作为软件开发平台,以性能稳定、数据处理能力强大的工控机为硬件系统的核心,数据库技术和模块化相结合,大大缩短了系统开发周期,同时使得系统具有良好的可视性、交互性和扩展性。它能够完成各个参数的采集、控制,并通过计算机的数据采集、参数控制、实时曲线、事故报警等画面,使操作人员能够了解机载设备的运行情况,及时发现和处理问题,测试功能齐全,防差错能力强,工作运行稳定可靠,用户界面友好,为飞行器装备的技术保障提供强大支持。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭