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传送到视景软件,实现数据的实时更新交换,这是实时通信的基础所在。
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传送到视景软件,实现数据的实时更新交换,这是实时通信的基础所在。
举报