找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15549|回复: 30

PMDG 进离场导航数据制作教程

  [复制链接]
发表于 2015-8-14 02:12:05 | 显示全部楼层 |阅读模式
本帖最后由 qfa7301 于 2017-1-29 15:15 编辑

先前Leoneus已经发过了一份教程(http://bbs.sinofsx.com/thread-112885-1-1.html),但对于部分细节还不是很详细,本人对其进行一些补充说明,希望能对大家有帮助,也希望大家能够指出其中的错误,谢谢!


本文""代表需要覆盖的部分(或用XXX表示),/表示可选择的部分

本文仅对SID里的文件进行说明,其余文件应该都很简单,可自行修改

本文的航图和例子均为非NAIP航图,例子使用到的机场为:青岛、悉尼、北京、延吉、乌鲁木齐、喀什、浦东


本文的范例源代码均来自于Navigraph(1508数据)

注:本文格式中的空格不能少!建议选中文字来看看到底是怎么个空法



一、FIX部分
这一部分比较简单,Leoneus的说明也足够了,可分为两种代码

1.经纬度坐标
即输入经纬度来定位,格式为:
FIX "导航点名称" LATLON N/S X X.X E/W X X.X

例1:
图中P47航点可表示为
FIX P47 LATLON N27 17.6 E 117 10.6

这种为最常见的,但是受到航图精确度限制,一般精确度不高,然而Navigraph却始终不管哪个点都用此类型代码,而且坐标也很精确,不知他们怎么得到精确坐标的
2.极坐标式(角度-距离定位)
在一般进离场程序经常用,通常是为了用来限制飞机的高度与速度,或是转弯点用的,格式为:
FIX "导航点名称" COLOCATED "基准坐标" "方向" "距离"

例2:
图中D7.4TAO可表示为:
FIX D171G TAO 171 7.4

关于这种极坐标式的导航点名称如何取,请猛戳Leoneus的《机器语言》(上篇:http://bbs.sinofsx.com/thread-104643-1-1.html;中篇:http://bbs.sinofsx.com/thread-104936-1-1.html


一般地,建议所有涉及到进离场程序的导航点都写在FIX里


二、航路格式部分SID、STAR的部分都是基于这种语法,只是要进行些小修改,那些后文再介绍
1.FIX
一般,航点到航点之间,用最简单的指令FIX,格式为:
... FIX "航路点1" FIX "航路点2" ...

例3:图中,LATUX到ABVER再到QD105可表示为:
FIX LATUX FIX ABVER FIX QD105 FIX....

2.飞入径向线

类似于截取VOR径向线一样,但进入的可以是任何一个已知航点的径向线,也就是说飞机先沿某个可以切入径向线的航向(此航向必须是已知,可以是径向线的度数(程序转弯可以用),不行可以自己编)到达该航向道附近后飞机自动切入,一般用于程序转弯和离场程序中(尤其是VOR/DME或ILS/DME)。
注1:切入后必须有个航点目的地(即FIX指令,或者下文中提到的TURN LEFT/RIGHT指令(过这个航点后自动转弯,见例6)TRK或HDG指令应该也可以我没试过(这种例子很少),不能单纯切入后毫无目的地(没人会这样吧。。不然你想飞去哪)(TRANSITION接入STAR正线除外,后文会介绍)2.TO FIX后面的航点是作为参考的航点,而不是要飞去的航点,如果说有一个航点A也在这条VOR B的某条反向延长线上,但飞机离A比较近,而此时你也只想飞去A而不是绕到VOR B去,此时这个特性就显得很重要
格式为:
TRK/HDG(这涉及到真航向和磁航向的区别,本文不作介绍) "切入前的航向" INTERCEPT RADIAL "要切入径向线的航向" TO FIX "基准航点(即径向线来源)"

作为配套后面通常情况还会加FIX+某航点,又或者TRK和HDG
例4:

注:本例子仅从爬升至500ft,航向100后开始,离场部分和高度部分后文会说明。
航向100后,飞机是在遇到KEVIN的128度径向线反向延长线后转向128度飞向KEVIN,代码即为:
TRK/HDG 100 INTERCEPT RADIAL 128 TO FIX KEVIN

其余的一些VOR/DME也是相同道理

3.UNTIL/TRK/HDG指令

TRK/HDG为转向指令,一般用于过某个航点后,意思是过了这个航点转去某个航向,但后面必须跟UNTIL指令,即添加一个条件,触发条件后飞机往另外一个方向去,可能是再转另外一个航向或者直飞一个航点,但不能让它沿着这个航向一直飞下去,不然你想飞去哪?也有例外可以跟FIX,比如例5-2,中的LAT-11D程序


现在假如有一个UNTIL语句,前面有个转向指令(TRK/HDG+某航向),后面加个UNTIL 10000,英语翻译过来即在飞机爬升到10000英尺前都保持你设定的航向(你设定的航向),至于到达10000英尺后你要去哪可以自己写FIX、TRK等代码,这种语句多见于进离场程序
UNTIL指令后面要跟一个触发条件,它可以是:

UNTIL "离X航点的距离" FROM FIX "X"

意思是在离X航点某个距离后进行这个代码后面的动作
UNTIL "某高度"

意思是到达一个高度后开始继续执行这个代码后面的动作


例子一样以悉尼机场16L跑道的KEVIN FOUR离场程序为例,但本文不包括第一种写法
例5:

我将指令进行分组,拆开来写,之后再合并起来


飞机起飞后保持跑道航向(155)到500英尺    之后转向100度    进入KEVIN128度反向延长线(上一个例子已经提到,且有具体指令,本例不再分析),假设它选ENTRA TRANSITION, 那么过KEVIN(事实上此点为飞越点,但这里不按飞越点进行设置)后就要转向080一直维持在到达10000英尺    之后直飞ENTRA(到达ENTRA的航向不固定,因为谁也不知道你在什么时候到达10000英尺)



首先是到达500英尺前保持155度,代码为:
TRK 155 UNTIL 500

接下来是转向100度,代码为:
TRK 100

进入KEVIN的128度反向延长线,这个上文已经提到,由于上一个指令中我们已经添加了TRK 100,因此后面不用重复,直接使用INTERCEPT RADIAL指令即可
INTERCEPT RADIAL 128 TO FIX KEVIN

直飞KEVIN(事实上此点为飞越点,但这里不按飞越点进行设置)
FIX KEVIN

在10000ft前保持80度航向
TRK 80 UNTIL 10000

直飞ENTRA
FIX ENTRA

将这些句子连起来,就是一个差一点的完整离场程序(还少跑道航向,后文会介绍,此外此SID有Transition,但本文没有对其进行分开)

TRK 155 UNTIL 500 TRK 100 INTERCEPT RADIAL 128 TO FIX KEVIN FIX KEVIN TRK 80 UNTIL 10000 FIX ENTRA

例5-2:

D3.0TAO意思即为距离TAO 3.0海里的地方,那么这一段可以表示为
TRK 351 UNTIL 3.0 FROM FIX TAO

4.从句(限制句)
即在某个点要求保持某个速度或者限制某个高度(可以是限制最高、最低或者就指定某个高度,但是不能限制最高速度、最低速度,这些速度只能是精确值,所以说导航数据也不是万能的,有些东西还是要飞行员自己调节,此时看航图显得格外重要)
从句的使用条件:
一、FIX+某个航点的后面
二、INTERCEPT RADIAL这一组指令的后面(即限制转弯后的速度)
三、UNTIL指令后面(但不能限制速度,谁也不知道你什么时候会到达离场程序规定的速度,你要是一直不到那个速度那还飞不飞了。。。)

若是要求速度,则是
FIX "某航点" SPEED "保持的速度"
INTERCEPT RADIAL ... FIX "某航点" SPEED "规定的速度"

高度分为三种情况,为不得高于、正好、不得低于,从句分别为 AT OR BELOW+某高度、某高度(前面不加任何单词)、AT OR ABOVE+某高度
FIX "某航点" "指定的高度"
FIX "某航点" AT OR ABOVE/BELOW "某高度"

这些条件可以组合在一起用,比如:
例6:
图中AA152、AA153点均为高度要求比较严格的点,输入时代码可以打:

...FIX AA152 AT OR BELOW 13780 AT OR ABOVE 6890 FIX AA153 AT OR BELOW 15400 AT OR ABOVE 8900 FIX......

高度和速度限制也可以混合一起用,但比较少,这里用法也和示例差不多,加一个SPEED就行

5.缓和的曲线(TURN LEFT/RIGHT TO FIX )与飞越点

先说后者。旁切和飞越么。。。这里不做介绍,飞越就是飞越。。

用法为
FIX OVERFLY "飞越的航点"

用法和FIX一模一样(也可以添加限制)


前者提供比较缓和的曲线(实际上TRK/HDG也能提供缓和的曲线),在大多数RNP、或者没有规定航向的路段中都能使用。又或者说,飞机在连接A和B的直线上,此时飞机已经过了点A背朝A和B方向远去,离场程序规定此时必须右转直飞B(有点类似于VOR/DME中的程序转弯),但如果使用FIX指令,会导致飞机直接来个急转180度,且不能达到右转的需求,而用TRK不能指定要飞往的导航点和转弯方向,此时就可以用TURN LEFT/RIGHT DIRECT FIX指令,用法也很简单

TURN LEFT/RIGHT DIRECT FIX "要飞往的航点"

此指令前的指令应为FIX(不能为TRK或HDG,上面已经说了理由了),之后的指令可以为任意命令,比如FIX、TRK,但不能用UNTIL(想想也能知道是为什么)
例6:


这个例子中,飞机先是起飞保持跑道航向,过了550米(1800ft)后左转沿JA的245径向线过JA,之后再左转飞到JA去(也就是说,不需要也不能用INTERCEPT指令,其中第二次飞越JA时为过台飞)中间的航路可表示为:
TRK 091 UNTIL 2430 TRK 275 INTERCEPT RADIAL 245 TO FIX JA TURN LEFT DIRECT FIX OVERFLY JA

再来一个例子,是关于TRK/HDG的
例6-2:


此图中飞机先起飞,到达2000后转向082,转弯中对飞行半径是没有限制的,之后再转向SCH的136度径向线
代码为:
TRK 263 UNTIL 6570 TRK 082 INTERCEPT RADIAL 136 TO FIX SCH FIX SCH

有时TURN LEFT/RIGHT、INTERCEPT都能使用(除下面的例子外还有例6、例11):例6-3:

前面的例6-2对于转弯后的去向没有一个精确值,只要截取径向线就行,这里有一个明确的航向的航点,可以用TRK和截取径向线组合编出这个转弯


RNW 25 TRK 250 UNTIL 2630 TURN RIGHT DIRECT FIX D017G



这个时候可以自己斟酌,具体情况具体分析,比如上文的例6可以用TURN RIGHT,下文的例9可以用INTERCEPT
VOR/DME不一定要使用以上指令,可以直接FIX(FIX指令不太缓和。。但至少不会180度)
二、完整的格式

此篇很简单,仅为编排说明
1. SID
SID一般格式为:
SID "离场程序名(会于FMC显示)" RNW "跑道编号"


然而事实上,在添加完跑道编号后一般还添加 TRK+初始航向(一般为跑道航向)(在部分Navigraph数据中,也有直接FIX的)
所以完整的SID格式为:

SID "离场程序名(会于FMC显示)" RNW "跑道编号" TRK "跑道航向" 自己编写的航路

所以在上面的例子中,很多程序只要在先有基础上添加SID名字、跑道编号和一边的航向,范例:
例7:

SID SCH18D RNW 26 TRK 263 UNTIL 6570 TURN LEFT DIRECT FIX SH704 FIX SCH

1-1:SID TRANSITION
论TRANSITION的重要性。。。以下省略1000字

TRANSITION即为离场点,属于离场程序的分支,在国内颇为少见,但仍然也有个别机场(如济宁的曲阜机场)有,这里以国外的作为例子。。。同样是悉尼先来个格式:
带有TRANSITION的SID编写格式:
SID "离场程序名(会于FMC显示)" RNW "跑道编号" TRK "跑道航向" "主线航路"
      TRANSITION "分支点名字" "分支航路"

TRANSITION在前面必须要空四格!TRANSITION在前面必须要空四格!TRANSITION在前面必须要空四格!重要的事情要说三遍!
注意:若有分支航路,则主线航路只需要写到分叉的航点为止,而分支航路不需要重复写一次分叉的航点,因为系统中这两个航路会连接在一起,若两个都写分叉航点,则此航点会重复。也正因为会自动连接在一起,所以分支航路的开头必须写TRK/HDG/FIX/TURN等指令,不然连接在一起就变成了两个不同的航点并在一起,而中间没有任何动作,系统会读取错误

例8:


此时的离场程序有一个分支,就是ENTRA分支。离场点有三个,一个是RADER(即FISHA)、一个是WOL,一个是ENTRA



若此时要编写主航路,只要编写到FISHA为止(FISHA是飞越点)
剩下的TRANSITION我们分别从FISHA引出
两行分别为:
  TRANSITION ENTRA FIX ENTRA
  TRANSITION WOL TURN RIGHT DIRECT FIX WOLNB

注:如ENTRA分支,第一个ENTRA是分支航路的名字,后面的ENTRA是航点,两者性质完全不同,WOL同理

将主线与支线连接在一起则是:
SID FISHA6 RNW 07 TRK 062 UNTIL 800 TRK 096 INTERCEPT RADIAL 066 TO FIX FISHA FIX OVERFLY FISHA      TRANSITION ENTRA FIX ENTRA
    TRANSITION WOL TURN RIGHT DIRECT FIX WOLNB



1-2 不同的跑道同样的离场程序
即多条跑道,起飞后经过一段航路,汇合成一条航路,这种程序在国内比较多见,尤其是浦东机场,因此这里以浦东机场为例。


先来个格式:
SID "离场程序名" "汇合后航路"
    RNW "分支的跑道" "汇合前航路"
    RNW "分支的跑道" "汇合前航路"

RNW前必须要空两格!RNW前必须要空两格!RNW前必须要空两格!重要的事情要说三遍!注:同楼上说的道理,系统会自动把汇合前、后航路合并,所以填会合后航路时前面必须要加一个FIX,再不然就是汇合前航路每个都加
为了让大家更容易明白,我们假设汇合后航路为A,两个跑道的汇合前航路分别为B、C。
意思就是,两架飞机同时从两个跑道起飞使用这个离场程序,一开始,两架飞机用的是不同航路(B和C),而之后,两架飞机的TCAS都响了,原因是他们快汇合了。。由于两架飞机都要去A航路,所以两架飞机撞在了一起。。。(纯属开个玩笑)


例9:

以16/17四条跑道的JTN-11D为例子,此时,16LR跑道,D12.0PUD-XSY-D11.0PUD为B,17LR跑道的D6.0PUD-D11.0PUD为C,而D11.0PUD-JTN为它们共同的航路,即A


完成的数据:
SID JTN11D FIX D118F AT OR ABOVE 7880 FIX JTN
   RNW 16L FIX DE16L TRK 152 UNTIL 12.0 FROM FIX PUD FIX XSY FIX D224L
   RNW 16R FIX DE16R TRK 152 UNTIL 12.0 FROM FIX PUD FIX XSY FIX D224L
   RNW 17L TRK 167 UNTIL 420 TRK 167 UNTIL 6.0 FROM FIX PUD TURN RIGHT DIRECT FIX D224L
   RNW 17R TRK 167 UNTIL 420 TRK 167 UNTIL 6.0 FROM FIX PUD TURN RIGHT DIRECT FIX D224L

2.STAR
STAR也差不多,比较简单:
STAR "进场程序名" "进场航路"
    RNW "跑道名(可填多,要多写RNW,且字母和跑道号间必须空格)"

注意:STAR不支持分支,若要使用分支可以多写几条
注:STAR进场航路第一个航点前必须写FIX
这里不做例子了

3.进近程序

进近程序类似SID版的汇合前、后程序,只不过由于顺序不同,一个往机场外开,一个靠近。格式如下:
APPROACH "进场方式名称" "IAF-复飞航路"
  TRANSITION "TRANSITION名称" "汇合前航路"

根据Navigrapgh写法,VORDME进场可以写作VDM(见例10)
TRANSITION前必须要空一格!TRANSITION前必须要空一格!TRANSITION前必须要空一格!重要的事情要说三遍!然而需要注意的是,在进场航路中,必须写上CI、FI,同时需要有复飞航路出现:
APPROACH ....... FIX CI FIX FI RNW "跑道号" TRK"跑道航向" ...(复飞航路)

注意:FI后面直接跟RNW XX,不需要加FIX。一般IF、FF需要加高度限制
例10:


(大家也可以注意到程序转弯用的是FIX。P0000-2等是Navigraph数据中打的DME点,请参考下面4188帖子的链接)
APPROACH VDM09 FIX CD09 3090 FIX FD09 3090 FIX 42VOR AT OR ABOVE 1770 FIX MD09 867 RNW 09 TRK 087 UNTIL 2430 TURN LEFT DIRECT FIX YNJ 4560 SPEED 200
  TRANSITION D341X FIX D341X 8900 SPEED 200 FIX P0000 FIX P0001 FIX P0002 FIX D273V FIX D267T 6530 FIX D267N 3910
  TRANSITION YNJ1 FIX YNJ 4560 SPEED 200 TRK 283 UNTIL 11.0 FROM FIX YNJ
  TRANSITION YNJ2 FIX YNJ 4560 SPEED 200 TRK 277 UNTIL 11.0 FROM FIX YNJ

完。


有NAIP的可以去看看济宁机场,我上面所有指令都要用到,是个锻炼机会。。。。


机位信息和等待语法和DME请洽询4188http://bbs.sinofsx.com/thread-112885-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2015-8-14 07:47:07 | 显示全部楼层
好文!!!
LZ辛苦了~~
看了这篇教程,才知道以前妄图依照已有的的导航数据“依葫芦画瓢”是多么的不靠谱~~

点评

我其实也是照葫芦画瓢体会出来的,然后对他进行总结  发表于 2015-8-14 12:30
回复

使用道具 举报

发表于 2015-8-14 07:55:22 | 显示全部楼层
这教程挺详细,不错

点评

写了4-5个小时。。。必须的(然而你们看完只要5分钟)  发表于 2015-8-14 15:41
回复

使用道具 举报

发表于 2015-8-14 08:51:16 | 显示全部楼层
好东西好东西
回复

使用道具 举报

发表于 2015-8-14 09:18:24 | 显示全部楼层
终于有详细的导航数据编写教程了!先留记号,指不定哪天就把老白云数据给写了

点评

写写写  发表于 2015-8-14 22:43
回复

使用道具 举报

发表于 2015-8-14 11:06:48 | 显示全部楼层
好东西,学习学习,谢谢分享!
回复

使用道具 举报

发表于 2015-8-14 11:45:14 | 显示全部楼层
楼主打了这么多字,辛苦了!
回复

使用道具 举报

发表于 2015-8-14 11:54:28 | 显示全部楼层
有一些的看不懂

点评

什么?  发表于 2015-8-14 15:28
导航点名称的后面的那是一样的吗  发表于 2015-8-14 15:07
请问是哪里呢,我可以补充下  发表于 2015-8-14 12:30
回复

使用道具 举报

发表于 2015-8-14 22:46:36 | 显示全部楼层
非常好~你咋不给我早说呢~我继续完善高亮代码!

点评

............  发表于 2015-8-15 00:18
回复

使用道具 举报

发表于 2015-8-14 23:31:56 | 显示全部楼层
受教了,非常有用的技术文章,学习了
回复

使用道具 举报

发表于 2015-8-20 12:08:49 | 显示全部楼层
这教程很好,收藏好好学习了。
回复

使用道具 举报

发表于 2015-9-28 16:50:05 | 显示全部楼层
楼主辛苦了!虽然没看懂,但是准备多看几遍
回复

使用道具 举报

发表于 2016-5-19 09:51:34 | 显示全部楼层
楼主厉害,也可以当做航图学习,收藏了
回复

使用道具 举报

发表于 2016-12-25 19:47:49 | 显示全部楼层
很专业的教程啊,来支持一下楼主!
回复

使用道具 举报

发表于 2017-5-23 14:47:29 | 显示全部楼层
支持哈楼主,跟着你这个那天把老家的给写了
回复

使用道具 举报

发表于 2017-7-15 17:38:50 | 显示全部楼层
这个帖子非常好,很详细!
回复

使用道具 举报

发表于 2017-7-17 08:56:51 | 显示全部楼层
学习学习不,感谢楼主,提供这么详细的教程
回复

使用道具 举报

发表于 2018-1-24 22:12:04 | 显示全部楼层
楼主放个PDF文件咯,谢谢
回复

使用道具 举报

发表于 2018-5-21 09:16:37 | 显示全部楼层
厉害,就喜欢技术大拿
回复

使用道具 举报

发表于 2019-3-15 10:51:42 | 显示全部楼层
非常棒!学习了!
回复

使用道具 举报

发表于 2019-4-16 17:16:46 | 显示全部楼层
赞一个,不断学习提升
回复

使用道具 举报

发表于 2019-7-15 10:45:33 | 显示全部楼层
正在学习导航数据编写,很实用
回复

使用道具 举报

发表于 2020-2-25 12:50:17 | 显示全部楼层
进近那块,CI FI 是什么,困惑ing
回复

使用道具 举报

发表于 2020-4-19 14:40:59 | 显示全部楼层
RNP AR怎么打点啊,推荐个方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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