查看: 7624|回复: 15

创建一个自定义的CDU界面菜单

[复制链接]
已绑定手机
已实名认证
发表于 2017-1-4 10:47:38 | 显示全部楼层 |阅读模式
ProSim发布1.29版本后,提供了一个新的功能:CDU界面可以从互联网上检索数据。

下面我将提供一个实例,如何从 NOAA 报告中创建一个 CDU 检索信息。

开始之前我们需要明白,我们无法检索HTML数据格式,返回的页面必须为纯文本。

正确格式:This can be used-> http:\\weather.noaa.gov/pub/data/observations/metar/stations/EHAM.TXT

错误格式:This CANNOT be used-> http://aviationweather.gov/adds/metars/ ... n_ids=eham


在 1.29 版本中增加了  "http"类型。

创建一个自定义的CDU界面菜单-154
这种新类型允许从网络中提取纯文本数据。
要使用新的属性,我们必须添加这样的信息:
<message id="Metar" type="http" response="MetResponse">
        <url>http://weather.noaa.gov/pub/data/observations/metar/stations/${ICAO}.TXT</url>
</message>

这里的${ICAO}是变量。
自定义您的CDU需要先创建一个文件,不要在Prosim中更改任何文件。
相反,创建 ACARS 文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<acars name="myCustom" id="myCustom">

   <include id="default"/>
   <include id="menu"/>
   <include id="weather"/>

</acars>

将它保存为 myCustom.xml
这将包括所需的文件。
<include id="default"/>is the default ACARS file from ProSim
<include id="menu"/>is an extention to the default ACARS main page. We cannot append items to already existing CDU pages, so this file will extend the main ACARS menu adding a second page with our customizations.
<include id="weather"/> 是我们的自定义页面。


这就是文件 menu.xml 的代码:
<?xml version="1.0" encoding="utf-8"?>
<acars id="menu">

  <page title="DLNK -APPLICATION MENU" id="menu">

     <subpage>
       <lsk2l link="cpdlc">CPDLC</lsk2l>
       <lsk3l link="message">MESSAGING</lsk3l>
       <lsk2r link="aocstd">AOC STD</lsk2r>
       <lsk3r link="ats">ATS</lsk3r>
       <lsk4r link="technical">TECHNICAL</lsk4r>
     </subpage>

     <subpage>
   <lsk1r link="weather">WEATHER</lsk1r>
     </subpage>

  </page>

</acars>
第一个子页面组将覆盖默认(不能添加页面,只能覆盖)
第二个子页面组增加我们我们第二页内容。
最后,weather.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<acars id="weather">

    <page title="WEATHER" id="weather">
        <lsk1l send="Metar">REQ METAR</lsk1l>
        <lsk3l input="ICAO" size="4">ICAO</lsk3l>
        <lsk6l link="menu">EXIT</lsk6l>
    </page>

    <page title="WEATHER" id="_genericUplink" uplink="MetResponse">
        <lsk1l output="_rawMessage" lines="2"/>
        <lsk2l output="_rawMessage" lines="2"/>
        <lsk3l output="_rawMessage" lines="2"/>
        <lsk4l output="_rawMessage" lines="2"/>
        <lsk5l output="_rawMessage" lines="2"/>
        <lsk6l link="menu">RETURN</lsk6l>
        <lsk6r action="print">PRINT</lsk6r>
    </page>

    <!--MESSAGE SECTION-->

    <message id="MetResponse" title="weather">
    </message>

    <message id="Metar" type="http" response="MetResponse">
        <url>http://weather.noaa.gov/pub/data/observations/metar/stations/${ICAO}.TXT</url>
    </message>


</acars>
我们已经定义了两个页面。
一个是我们的自定义页面,另外一个是定制的上一级链路页面。
显示结果如下:
创建一个自定义的CDU界面菜单-6193
选择DLNK
创建一个自定义的CDU界面菜单-4010
第二页可用了,向下翻页
创建一个自定义的CDU界面菜单-7626
选择WEATHER
创建一个自定义的CDU界面菜单-8221
我们的自定义页面显示
创建一个自定义的CDU界面菜单-5270
进入 AD ICAO,并选择 REQ. METAR。
创建一个自定义的CDU界面菜单-2195
新的消息可用,在lsk6r选择WEATHER 选项
创建一个自定义的CDU界面菜单-9220
METAR在CDU中显示出来了!

别忘记在Rrosim配置文件中选择新的ACARS。
附件为此实例的所有代码文件,希望能对大家有所帮助。

cdu_weather.zip

1.26 KB, 下载次数: 15

已绑定手机
发表于 2017-1-8 19:44:27 来自手机来自手机 | 显示全部楼层
这个没有一点基础写不出来啊,支持楼主!
发表于 2017-1-16 08:48:15 | 显示全部楼层
支持一下,关键要买prosim
发表于 2017-1-16 08:48:40 | 显示全部楼层
支持一下,关键要买prosim
已绑定手机
发表于 2017-3-7 15:45:16 | 显示全部楼层
楼主太牛了,IT大神
已绑定手机
已实名认证
发表于 2017-6-14 01:57:49 | 显示全部楼层
我没有看懂,楼主的附件要放到哪里去?房子CDU里面吗还是哪里。
已绑定手机
发表于 2017-9-1 10:50:31 | 显示全部楼层
只有737吗?有没有320的呢?
发表于 2017-9-19 13:24:30 | 显示全部楼层
厉害了我的主,我先去慢慢学
已绑定手机
发表于 2018-1-19 18:12:13 | 显示全部楼层
支持技术贴!        
发表于 2018-2-5 06:24:19 | 显示全部楼层
如何这些FMC 的界面可以任其设置,那样大家不是没有统一的操作步骤了吗
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表