入门

如何检查

目标是让这架飞机的行为与 Zibo 的完全一样。证明的方法是与 Zibo 的原版代码比对,而不是靠目测。

oracle#

Zibo 的原版插件和 Lua 脚本不作任何修改,在一个模仿 X-Plane 的小型无界面测试程序(xphost/)里运行。这个程序叫 oracle(对照基准)。它不属于飞机本身,只用于测试。

1. 场景通电、起飞、ILS 进近、接近中的交通、下沉率过大。在 oracle 里飞一遍。
2. 录制每一帧都记录 Zibo 代码的每一个数值。
3. 回放把同样的帧送入本项目的翻译代码。
4. 比对逐个数值比对。“完全一致”是指任何一帧上都没有任何数值不同。

之后,系统测试让整个飞机模块飞一遍同样的场景,输入按 MSFS 实际送来的形式给出。最后由机主在 MSFS 里检查。

已比对的内容#

范围 结果
TCAS 全部 2,543 个样本完全一致(其中 1,010 个有 RA,282 个有 TA)
GPWS 和失速带 全部 13,785 个样本完全一致(PULL UP 1,168,GLIDESLOPE 770,SINK RATE 288,TERRAIN 240,WINDSHEAR 46)
ILS 进近和自动着陆 oracle 按 Zibo 自己的飞行指引仪闭环飞完进近:LOC 和 G/S 截获、双通道、FLARE、RETARD、滑跑
自动驾驶和自动油门模式 LVL CHG、V/S、ALT HLD、HDG SEL、VOR/LOC、APP、CWS、FMA、速度窗、SPD INTV、ALT INTV
LNAV、VNAV 航径计算、横滚指令、爬升、巡航、下降航径、带限制的进场、DES NOW
系统 增压、液压、襟翼、起落架、刹车、自动刹车、减速板、安定面配平、偏航阻尼器、反推、燃油
CFM56 发动机数据表 N1、N2、EGT、燃油流量和起动,逐值比对

无法完全一致的内容#

  • 飞行物理。控制律和增益是 Zibo 的,但 MSFS 的飞机与 X-Plane 的飞机响应不同。驱动 MSFS 舵面的伺服是针对 MSFS 调校的。
  • 导航数据。来自 MSFS 的数据库,供应商和周期都与 X-Plane 的不同。
  • 交通、天气和地形。都是 MSFS 的。
  • 声音。本阶段不做。

完整的差异列表见真机 / Zibo / 本项目 对比。方法的说明在重写计划 §4,模拟器内的检查项目在测试计划。