交通(Traffic)
NextATC 处理两种完全不同的交通类型。请勿混淆。
NextATC 处理两种完全不同的交通类型。请勿混淆。
- TCAS 交通 —— 由 X-Plane AI、LiveTraffic、XSquawkBox 或其他发布器通过 X-Plane 的 TCAS datarefs 发布的飞机。插件观察此类交通。它将其用于安全检查(跑道穿越与起飞许可、VFR 着陆、AutoFly、推出和 Follow Me),并在 Nav Display 上显示,但无法向这些飞机发出指令。
- 合成交通(Synthetic traffic) —— 由 NextATC 自身生成的飞机,显示在您当前机场附近的地面与空中。这是内置的交通系统。它属于实验性功能。
您可以同时使用两者,只用其中之一,或者都不启用。同一时间只有一个插件能拥有 X-Plane 的 TCAS 发布权,所以如果 LiveTraffic、X-Plane AI 或其他发布器已经占用了 TCAS 槽位,Publish to X-Plane TCAS/map 可能会被阻止。
TCAS 交通#
如果有 TCAS 发布器正在运行(X-Plane AI traffic、LiveTraffic、XSquawkBox 等),附近的飞机会自动出现在 Nav Display 上,并尽可能显示呼号、高度、速度以及来源信息。
TCAS 交通无需任何配置。如果没有发布器在运行,交通标记为空,这是设计如此。
合成交通(NextATC 内置)#
这是合成交通生成器。它会在您起飞和降落的机场附近的地面与空中生成飞机。交通会在可用时使用机场滑行/跑道数据,并遵循面向离场和进场的机场航班板计划流程。
启用方式#
首次启用合成交通时,会弹出一个实验性免责声明对话框。您必须先接受才会生成交通。这是有意为之 —— 该功能仍在不断完善中,在某些边缘情况下可能行为异常。
接受后,当您接近机场时,交通会逐步生成。
配置#
交通控件分布在两个位置:
Plugins -> NextATC -> Options -> Traffic——Traffic、Synthetic Traffic、Traffic 3D Labels三个小节(生成上限、TCAS 发布、3D 渲染、标签外观)。Plugins -> NextATC -> Traffic(独立的子菜单,与Options并列) —— 快速切换项和模型设置:Aircraft Model Libraries...、Traffic engine、Publish to X-Plane TCAS/map和Enable Traffic at Startup。
最常用的 Options 控件:
Traffic amount—— 选择地面与空中合计的交通预算。机场配置和当地时间会在该预算内调整实际数量。| 模式 | 总航班数 | 密度 | | --- | ---: | ---: | | Low | 1–14 | 25% | | Medium | 2–28 | 50% | | High | 3–45 | 75% | | Ultra High | 4–60 | 100% | | Nuts | 8–90 | 100% |
Publish to X-Plane TCAS/map—— 通过 X-Plane 的 TCAS datarefs 发布合成飞机。Draw 3D aircraft—— 在世界中绘制合成飞机。 完整列表(包含 3D 标签控件)见 选项参考(Options Reference)。
设置存储位置:
X-Plane/Resources/plugins/NextATC/traffic_settings.ini
Bluebell CSL 飞机模型#
默认情况下,合成交通使用简单的可视模型。要让其看起来像一座正规机场,请通过 Plugins -> NextATC -> Traffic -> Aircraft Model Libraries... 安装 Bluebell CSL 包。该对话框会报告 Bluebell 是否已安装,并提供自动下载。预期安装目录是:
X-Plane/Resources/plugins/NextATC/CSL/
自动下载器只安装核心包:BB_Airbus、BB_Boeing、BB_GA、BB_Jets 和 BB_Props。Repaint 与 virtual-airline 附加包会被跳过。下载完成后,插件会重新加载 CSL 模型并重新生成合成飞机;手动安装仍可能需要重新打开 Bluebell 对话框或重启 X-Plane。
本地 IVAO X-CSL 飞机模型#
IVAO X-CSL 飞机模型来自 X-CSL Library。请使用其官方安装程序 X-CSL-Updater(可从 x-csl.ru/downloads 获取)安装和更新该库;NextATC 只使用您的本地副本,从不下载或重新分发 X-CSL 文件。
NextATC 初步支持由用户另行安装在以下位置的 IVAO X-CSL 库:
X-Plane/Resources/plugins/IVAO_CSL/
这是默认安装根目录。在飞机模型库窗口或 Options 中,可以指定另一个 macOS、Linux 或 Windows 的 X-CSL 路径,包括与 LiveTraffic 共享的目录,也可以通过专用按钮恢复默认值。可以选择包含 CSL 的传统安装根目录、模型文件夹本身,例如 LiveTraffic/Resources/X-CSL,或直接包含一个有效 X-CSL 模型库的父文件夹。NextATC 根据软件包元数据识别内容,只要模型库包含可用机型就会接受;缺少文件或文件损坏的机型会被跳过,在选项中显示警告,并列在 NextATC 插件文件夹的 IVAO_XCSL_problems.txt 中。
打开 Plugins -> NextATC -> Traffic -> Aircraft Model Libraries... 可扫描、验证并选择它来替代 Bluebell。NextATC 只读取此本地安装;不会下载、安装或重新分发 IVAO X-CSL 文件。请由用户另行安装并维护该库。两个库不会混用;模型和后备选择始终限制在所选库内。
LiveTraffic / 外部 TCAS 发布器#
NextATC 读取的是 X-Plane 标准的 TCAS datarefs,而不是 LiveTraffic 专用的接口。由 LiveTraffic、X-Plane AI traffic、XSquawkBox 或任何其他兼容的 TCAS 发布器发布的飞机都会进入同一个读取器,因此没有独立的「enable LiveTraffic」开关,也不会区别对待任何发布器。NextATC 从每架飞机只接收 TCAS 所携带的信息:位置、高度、航向、地速、垂直速度、Mode S 识别码和呼号。呼号为空,或呼号不是由字母和数字组成(允许中间有一个连字符,如 B-78HW)的飞机会被忽略:既不会显示,也不会用于安全检查。因此,?0001 这类占位符会被跳过。
要避免与第三方发布器冲突,可以关闭 Publish to X-Plane TCAS/map,让合成交通保留在 NextATC 自己的渲染器和 Airport 航班板中,而不是导出到 X-Plane TCAS。
当交通通过 Enable Traffic at Startup 随 X-Plane 一起启动,而 Publish to X-Plane TCAS/map 已开启且另一个插件拥有 TCAS 时,NextATC 会显示一条屏幕消息,在能识别时说明可能的拥有者。
NextATC 对外部 TCAS 飞机做什么#
- Nav Display: 由于 TCAS 不携带机型信息,这些飞机会以呼号和通用飞机符号显示在地图上。将鼠标悬停在标记上会显示高度、地速、航向和垂直速度。
- 跑道穿越: ATC 在许可您穿越跑道之前,以及在该许可即将发送前和您复诵时,都会检查是否有飞机在跑道上、在短五边上,或在最后进近上且近到能在您穿越完成之前到达跑道。如果发现,您会听到「hold short runway 24, traffic on the runway」或「hold short runway 24, traffic landing」,后接呼号;对于着陆交通,还会报出其在最后进近上的距离。跑道空出后,穿越许可会自动随之发出。
- 起飞: 起飞许可之前也会进行同样的检查。在通往跑道途中于您前方等待的飞机会触发「number 2 for departure behind」,后接其呼号。您在等待点等待期间,ATC 会再次检查,并在跑道空出后许可您起飞。如果在许可发出后出现交通,ATC 会以「cancel takeoff clearance, hold position」取消该许可。
- VFR 着陆: 跑道被占用期间,ATC 会指示您继续进近,并在跑道空出后许可您着陆。
- AutoFly: 当 AutoFly 驾驶您的飞机时,它会在滑行路线上紧靠前方的飞机后面停下;当有飞机在跑道上或正在其前方穿越时,它会在跑道穿越处、等待点或起飞前等待。
- 推出: 被推出的飞机和推出拖车会观察地面上的飞机。遇到移动中的飞机时推出会等待,遇到静止的飞机时推出会在其前方提前结束;拖车会针对阻挡其路线的飞机减速、停车或改走另一条路线绕行。
- Follow Me: 您的 Follow Me 车会为地面上移动的飞机停车,并规划避开它们的路线。静止的飞机不会影响其路线或速度。
拖车和 Follow Me 车只能看到飞机和 NextATC 自己的车辆。X-Plane 或其他插件的机场车辆没有发布到任何 NextATC 能读取的位置,因此拖车和 Follow Me 车不会避让它们。
NextATC 对外部 TCAS 飞机不能做什么#
主要的限制在于通用 TCAS 数据所包含的信息。它提供的是观测信息,例如位置、高度、航向、速度、垂直速率,以及可用时的标识符。它不提供完整的飞行计划、分配的跑道、SID 或 STAR、滑行路线、许可状态、无线电状态,也不提供关于该飞机下一步将做什么的可靠声明。NextATC 可以观察到一架飞机已对准跑道,但无法知道它会着陆、复飞、飞越机场,还是会因为其数据源发生变化而消失。在地面上,NextATC 可以观察到一架飞机已经停下,但无法知道它是在跑道外等待、已停放、在等待另一架飞机,还是即将再次移动。
这仍然可以为您的飞机做出有用的保守决策。NextATC 可以因为某架外部飞机看起来正处于最后进近上而让您等待,但无法保证该飞机会继续进近。它可以保护您免受观测到的交叉交通的影响,但无法命令该交通停下。它可以让您停在观测到的飞机后面,但无法指示该飞机保持速度、延长进近或复飞。NextATC 不会通过无线电与外部飞机通话。
此外,在当前版本中:
- 通用 TCAS 交通没有接入内置飞机的协调。内置飞机驱动程序会协调 NextATC 自己的航班和您的飞机,但不会导入外部 TCAS 目标:内置飞机不会为 LiveTraffic、X-Plane AI 或其他外部飞机停下、让行(让路)或保持间隔,因此当您同时使用这两类交通时,它们可能发生冲突。
- 根据观测到的交通推导完整的使用中跑道配置,或围绕外部交通协调内置飞机,均未实现。
- IFR 着陆许可不检查外部交通。
- ATC 不会在空中提供有关 TCAS 飞机的交通信息。
- NextATC 没有任何接口可供其他交通插件接收 NextATC 的许可或报告自身意图。
原因并不是缺少某个设置:管制或协调外部交通需要一套双向运行协议,每个交通插件都必须实现它,并与 NextATC 就此达成一致(参见后续各节)。NextATC 内置 Traffic engine 的飞机没有这一限制:NextATC 知道它们的航路、跑道、滑行路径、等待点、飞行阶段和许可,并能让它们在跑道外等待、穿越、进跑道等待、起飞、复飞、让行,以及按重新规划的滑行路线滑行。正是这一点使协调的跑道使用、精确的跑道外等待执行、受控的复飞、滑行重新规划和拥堵化解成为可能。
将 NextATC 交通发布到 X-Plane TCAS#
反方向也有支持。当 Publish to X-Plane TCAS/map 已开启且 NextATC 能够获取 X-Plane 的交通槽位时,它会通过 X-Plane 标准的 TCAS datarefs 发布其内置 Traffic engine 飞机。这使 X-Plane 自身的交通显示以及标准 TCAS 数据源的其他消费方都能使用这些飞机。X-Plane 同一时间只允许一个插件拥有这些发布槽位。如果 LiveTraffic 或其他插件已经拥有这些槽位,NextATC 就无法把自己的飞机加入同一个 TCAS 数据源;如果您希望改由 NextATC 发布,请在另一个插件中禁用 TCAS 发布并重启 X-Plane。尽管如此,内置飞机仍会通过 NextATC 自己的 3D 渲染器、Nav Display 地图和 Airport 航班板保持可见,同时 NextATC 会继续读取另一个发布器的 TCAS 目标。
为什么 NextATC 无法管制或协调外部交通插件#
观察外部交通与管制外部交通截然不同。要让外部交通引擎(LiveTraffic 或任何其他交通插件)在与 NextATC 自有交通相同的层面上参与,仅发布位置和少量额外的意图字段是不够的。它需要为每架飞机公开一个稳定且一致的运行模型:身份与生命周期、完整航路和当前活动定位点、分配的 SID 和 STAR、跑道和停机位分配、滑行路线和当前路线段、跑道外等待与穿越状态、许可历史、待执行的指令、无线电确认,以及该飞机执行每一条可能指令的能力。随后,NextATC 需要解读并维护这个模型,而外部引擎则需要接受运行指令,并保证其移动系统会执行这些指令。
双方必须就跑道外等待、跑道已脱离、进跑道等待、许可穿越、许可起飞和复飞等状态的确切含义和时机达成一致。它们还需要处理更新延迟、目标消失、指令被拒绝、航路变更、插件重新加载和版本不兼容等情况,同时不能让语音播报的许可与飞机的实际移动相互矛盾。到了这一步,这种集成就不再是通用的只读 TCAS 感知,而是一套完整的双向运行协议,两个产品都必须持续地实现、版本管理、测试和支持它,而且每一个交通产品都必须与 NextATC 就此达成一致。
因此,对于仅有 TCAS 的目标,完全的运行管制是不可能的,因为该接口既不包含权威的意图模型,也不包含指令与确认通道。如果未来的交通来源能够公开足够丰富且可靠的能力,这种集成在理论上是可能的,但它远比读取标准 TCAS 数据复杂,而且目前不存在这样的协议。
内置 Traffic engine 相对于外部交通的优势#
这正是 NextATC 内置 Traffic engine 的根本优势所在。尽管它仍属于实验性功能,NextATC 掌握着其合成航班的运行状态和移动状态。它知道这些航班的航路、分配的跑道、滑行路径、等待点、飞行阶段、许可以及预定的下一步动作。更重要的是,NextATC 可以让这些飞机服从它的决定:内置航班可以被指示在跑道外等待、穿越、进跑道等待、起飞、复飞、在交叉口让行或按重新规划的滑行路线滑行,着陆后它会脱离跑道并报告。它的许可、无线电应答、航路和物理移动都是同一个系统的组成部分。
这种差异远不止于知道一架飞机的当前位置。对于每个内置航班,NextATC 都保存其出发和目的地机场、分配的起飞和进场跑道、停机位、IFR 或 VFR 状态、巡航高度、有序的航路定位点、当前活动定位点,以及在有合适程序数据时具名的 SID 和 STAR。即使某个程序经过简化或并不完整,NextATC 仍然确切地知道自己分配了什么,以及飞机正在沿该航路的哪一部分飞行。在地面上,NextATC 掌握的是实际的滑行轨道,而不只是观察一个移动的符号:预定的滑行路线、沿途进度、等待点、跑道进入点、计划的跑道穿越、目的地停机位,以及该飞机是在滑出、在跑道外等待、正在穿越、正在对正跑道、正在起飞滑跑、正在着陆并脱离跑道,还是在滑入。它还拥有通用 TCAS 不包含的运行状态:IFR、滑行和起飞许可是否已请求并发出,着陆、停机位和跑道穿越许可是否已批准,穿越的跑道是否已脱离,进跑道等待指令是否有效,以及相应的无线电通话是否已完成。这使无线电状态、移动状态和可见的飞机行为能够彼此一致。
内置交通能做而外部交通不能做的事#
内置 Traffic engine 无需跨越插件边界去重建或协商这些信息:ATC 逻辑和移动引擎直接共享同一份飞行计划、航路进度、滑行几何、运行状态和许可结果。正因如此,对于由 NextATC 掌握的交通,感知 SID 和 STAR 的航路推进、一致的许可与复诵通话、精确的跑道外等待执行、协调的跑道占用权(每条跑道同一时间只发出一个起飞许可)、受控的复飞、滑行路线重新规划以及主动的拥堵化解,都能以高得多的可靠性实现。
交通拥堵尤其能说明这种差异。位置数据可以显示有几架飞机被堵住了,但要化解这种局面需要多得多的东西:系统必须知道每架飞机的预定路线、哪些路线段相互冲突、哪架飞机拥有优先权、哪架飞机可以让行,以及是否存在安全的替代路径,然后还必须能够让正确的飞机停下、放行或改道。内置 Traffic engine 已经能够协调自己的跑道队列和地面路线,应用优先级(除非某架飞机已经投入通行,否则滑入交通优先于滑出交通),因冲突让飞机等待,并能为部分对向滑行情况重新规划。您自己的飞机是这一协调的一部分;外部 TCAS 飞机则不是。这些系统仍属实验性,并在持续改进中,但只有在 NextATC 同时掌握 ATC 决策和移动的前提下,它们才有可能实现。
外部感知与内置交通相辅相成#
NextATC 与发布标准 X-Plane TCAS 数据的交通插件(例如 LiveTraffic、X-Plane AI 或 XSquawkBox)兼容,用于感知,而非用于管制。通用的外部交通感知会让您自己的运行更安全、更连贯,而且它保持通用:当可靠信息可以通过 X-Plane 的标准接口获得时,由哪个兼容发布器提供并不重要。在未来的版本中,观测到的交通可能会在跑道使用决策、离场保护、进场间隔和地面冲突警告方面发挥更大作用,开发者也愿意在可靠的外部信息确实能改善模拟的情况下加以利用。然而,对于完整状态和移动都由 NextATC 掌握的交通,最深层的协调仍将容易得多,在某些情况下甚至只有这样才能实现。内置 Traffic engine 提供了协调跑道运行、如实的无线电通话、可靠的跑道外等待行为、排序以及主动拥堵化解所需的端到端控制。
「我完全看不到交通」#
逐项排查:
- 如果您期望看到合成交通,Traffic engine 已启用。
- 有 TCAS 发布器在运行,或者合成交通已启用且免责声明已接受。
- 您处于人员密集的机场附近(合成生成在靠近机场时会增加,在海上不会生成)。
- 在 Nav Display 中,使用 Flight Plan 标签查看地图标记,使用 Airport 标签查看合成 Departures/Arrivals 航班板。
「合成交通向我冲过来」#
合成交通会遵守基本的间隔,但它不是真正的 ATC。如果您看到冲突,请报告相关的机场、飞行阶段和飞机。使用内置报告器或将受影响的可读 X-Plane/Log.txt 随 Web bug 报告一起发送;详见 错误报告与功能请求。
「Bluebell 模型不显示」#
- Bluebell 文件夹位于正确的路径(
Resources/plugins/NextATC/CSL/)。 Plugins -> NextATC -> Traffic -> Aircraft Model Libraries...报告「Bluebell OK」。- 如果是手动安装,请重新打开 Bluebell 对话框或重启 X-Plane。
- 某些机型可能没有匹配的 CSL 模型 —— 这些会使用后备模型。
“合成飞机停住不动”#
在 Nav Display 地图上将鼠标悬停在该飞机的标记上。合成飞机在地面被保持并停住时,其悬停提示会显示 stopped: 及原因:departure sequencing, traffic ahead, traffic queue, runway occupied, opposing taxi traffic, crossing traffic, traffic too close, traffic conflict, traffic safety。已知阻挡它的飞机时,会在 give way to, behind, near 之后显示该飞机。如果等待一直不解除,请附上呼号和显示的原因进行报告;参见 错误报告与功能请求。
另见#
- 导航显示(Nav Display) —— 关于地图标记、Airport 航班板和交通相机。
- 选项参考(Options Reference) —— 关于交通相关的复选框。
- 故障排查 —— 关于一般的 TCAS 问题。