波音737 MAX:疯狂的麦克斯?

2019-04-12 03:04:36 看世界 2019年7期

刘纾骅

2018年10月29日,当地时间早上6点30分,印尼狮航一架波音737 MAX8航班從雅加达起飞,10分钟后在爪哇海中坠毁,无人生还,机龄仅2个月。133天之后,2019年3月10日,埃塞俄比亚航空一架波音737 MAX8从亚的斯亚贝巴起飞,6分钟后坠毁,无人生还,机龄仅4个月。

这两起空难,集中在波音公司生产的同款飞机737 MAX8上,同样在起飞后短时间内坠毁,用巧合来解释未免过于牵强。2019年3月11日,中国率先宣布在事故原因查明前“停飞”全部波音737 MAX8。3月13日,特朗普宣布美国联邦航管局将对波音737 MAX8和MAX9停飞。三天之内,737 MAX系列飞机已经全球停飞。

两次重大事故,问题是出在飞机技术设计上,还是波音公司的管理上呢?在初步调查之后,人们发现,飞机质量和公司管理都有问题。

设计的原罪

波音737系列飞机是一种中短程双发喷气式客机,自50年前研发以来,销路长盛不衰,已经成为民航史上最成功的窄体客机系列之一,至今已发展出14个型号。

作为中短程民航客机,波音737系列非常注重零部件通用性及性价比。 这使它成为了民航界最畅销的客机 (截至2018年)。737系列机自1967年起已生产超过1万架,任何时候的天空中,都有近1000架波音737在飞翔。

2015年12月8日,在美国华盛顿州伦顿,本文主角737 MAX 8首次出场。作为737家族的新成员,MAX系列并非是在737客机的基础上做小幅改动,而是针对原型机做了相对大范围的升级。它跟之前系列在外观上最大的区别,就是分叉式的机翼端小翼。这时距离它被全世界停飞还有1187天。

始于1967年的波音737的原始气动设计,采用下单翼设计,把发动机直接吊挂在机翼上。设计师按照发动机的实际尺寸,总体设计飞机的气动布局,这样可以确保飞机有最优的飞行效率。

MAX的气动布局问题就是引擎马力增大,机头抬得太高。

如今航空发动机技术进步不小,波音737 MAX系列在上一代的基础上,把发动机升级为尺寸和马力更大的Leap-1B发动机。波音公司宣称,MAX系列飞机会比上一代飞机节省10%~12%的成本。这样一来,打算节约成本的购买者趋之若鹜,等待交付的订单达到4000架以上。

挂在机翼上的发动机尺寸越大,代表它距离地面的高度就越低。这样做的直接缺点就是,在起飞和降落中有可能吸入地面杂物(包括有些人爱扔的钢镚),进而导致飞机发动机事故甚至失事。

按照设计常识,遇到以上情况,可以加长起落架,对飞机的气动以及重心做重新设计,保证发动机到地面的距离是安全距离。

但是,波音公司出于成本考虑,拒绝修改原始机身设计,他们只是将737 MAX的发动机位置小幅前移,避开机身最低位置来提升安全性—不能不说是一种偷懒。

而大马力引擎的前移,又破坏了机体本身气动布局的稳定性,在爬升过程中容易使机翼产生更大的迎角(指飞机速度方向线在飞机对称平面内的投影与机翼弦线之间的夹角),从而造成部分失速。

发动机把飞机往前推,机翼上下流过空气,产生升力,飞机向高空爬升。如果发动机推力过强,机头和机翼缘翘得过高,这样的形态不能使流过来的空气顺畅通过机翼上下表面,那么此时产生的升力就会减小。直到有一个时刻,飞机产生的升力支持不了飞机的重量,飞机就失去了速度。简单说来,737 MAX的气动布局问题就是引擎马力增大,机头抬得太高。机头越高,失速下坠危险越大。

波音公司出于成本考虑,拒绝修改原始机身设计,他们只是将737 MAX的发动机位置小幅前移

可怕的缺陷

既然有这样的气动布局缺陷,作为空中巨头的波音对可能发生的危险并非没有预判。波音采取了软件制约的方式纠正飞机的“抬头”,这个打在飞行控制软件上的升级程序就是MCAS(机动特性加强系统)。简单来说,MCAS的作用就类似最简单的自动驾驶系统,当机头抬得过高的时候,它强行发动指令下压机头,从而避免飞机失速。

问题在于,MCAS系统是外包给要价更低廉的印度飞控软件公司设计的,系统并不与自动驾驶联动。而软件工程师编写程序代码时,把系统的优先级置于飞行员的操作权限之上。也就是说,只要系统检测到飞机抬头,立刻操纵飞机俯冲。以前没有MCAS的时候,飞行员只需要在驾驶杆上按两次AP钮,就能关闭自动驾驶。而现在想关闭MCAS系统,驾驶员需要通过机载计算机手工调出MCAS菜单,按几下按钮才能关闭。

埃航事故飞机残骸

埃航事故飞机残骸3月12日,调查人员和救援队在埃航事故飞机的坠毁地点收集乘客物品和其他材料

如果737 MAX系列飞机的AOA(仰角传感器)出现故障,发出机头过高的警报时,MCAS就会在飞机正常飞行时强行压下机头,没有经过MCAS培训的驾驶员发现飞机忽然俯冲后,第一反应肯定是关掉自动驾驶系统。

然而,他们随即发现飞机在自动驾驶关闭后依然俯冲,飞行员只能用力回拉操纵杆,而MCAS发现机头依然上仰,就控制配平舵继续操纵飞机俯冲—结果造成空难。

2018年10月28日, 就在印尼狮航事故机坠毁前一天的飞行中,这架波音737 MAX客机从巴厘岛飞往雅加达途中,MCAS系统出现过类似情况。当时驾驶舱内搭载了一名处于轮休的资深飞行员,他正确诊断出了问题,并让当班机组人员切断驱使飞机俯冲的发动机电源,才排除了险情。

机长抵达目的地后,向狮航上报了这一问题。这份调查报告没有提及这名“搭便机”并帮助排除险情的飞行员。狮航在简单检修后,决定让这架客机继续执飞第二天的JT610航班,惨剧由此发生。

埃航事故飞机的飞行轨迹,与狮航事故机的轨迹高度相似,很有可能是由于同一种故障所致。而在狮航空难之前,全世界的737 MAX飞行员甚至不知道MCAS系统的存在,更遑论接受培训了。

从勇者到恶龙

波音737 MAX从硬件到软件有如此之多的问题,为什么还能得到全世界的5000多笔订单呢?这需要暂时时光回溯,来到100多年前的美国。

波音公司的创始人、德裔的威廉·爱德华·波音,家里做的是木材、矿山等生意。他从耶鲁大学肄业之后,也从事相关行业,并获得了成功。然而,身为一个年轻的富豪,他对挑战的渴望无法遏制。当时“飞机”还是新鲜事物,波音便跟酒桌上认识的工程师朋友威斯特韦尔德(Conrad Westervelt)一人一边,坐在老式飞机的机翼上,体验了一把在空中俯瞰众生的感觉。从此,波音对飞机的兴趣一发不可收拾。

他成立波音公司的前身“太平洋航空设备公司”的时候,威斯特韦尔德就是总设计师,而在“太平洋航空设备公司”草创时,一位来自中国北京的飞机设计师王助也成了波音的手下之一,并帮助波音设计了美国海军的C型飞机。一代代优秀人才的开发积累下,波音公司研制了著名的B-17、B-29、B-47、B-52系列轰炸机,KC-135空中加油机,E-3预警机,FA-18超级大黄蜂战斗机等著名军用机种,跃升为世界最大的空中巨头,排名世界企业500强的第60位(2017年数据)。

在狮航空难之前,全世界的737 MAX飞行员甚至不知道MCAS系统的存在。

已经成为巨无霸的波音公司,为了跟空中客车公司的A320 Neo型飞机竞争,上马波音737 MAX的过程变得急迫而匆忙。而本应成为飞行安全最后一道屏障的FAA(美国联邦航空管理局),却沦为了官僚体系中导致空难的帮凶。

在《西雅图时报》的报道中,FAA以缺乏资金和资源为由,多年来授权波音公司承担证明自身飞机安全的工作。在波音737 MAX获得认证之初,FAA安全工程团队还将委托给波音公司的技术评估,与他们认为更为关键且将保留在FAA内部的评估进行了划分。而这次被认为导致空难的MCAS系统,就属于波音公司自己评估的部分之一。

当年坐在飞机机翼上,手抓仅有的安全保障—机翼支撑杆、畅想未來好时光的勇者爱德华·波音,想必不会料到在百年后的世界,自己的公司会变成航空界张牙舞爪的恶龙,对航空事业中最重要的安全问题如此敷衍了事,最终酿成惨剧。

亡羊后补牢

据路透社3月21日报道,美国参议院商务委员会下属航空与航天小组的听证会尚未确定日期,不过这将是美国国会首次要求波音高管就两起客机空难接受质询。另外,这个小组将在3月27日质询FAA官员,可能询问其为何在没有要求进行全面深入培训的情况下,就在2017年3月通过了对MAX机型的认证。

报道称,联邦调查局正在协助联邦运输部门调查波音飞机的安全认证程序。波音公司和FAA的检查人员之间,被指可能存在“亲密关系”。

与此同时,美国国防部总监察长称,将调查一项投诉,即美国代理国防部长沙纳汉在任内推销波音,违反了道德准则。沙纳汉曾是波音高管。

处在风口浪尖的波音公司,股价一度下跌13%。高层进行了一系列人事裁撤,并进行了危机公关。像印尼鹰航等航空公司也在谋求退掉737 MAX的全部订单,并要求赔偿损失。如果波音公司全部737 MAX系列被退货加上赔偿,大概会有6000亿美元以上的损失。

可以想见,波音公司为了一时的利益,将会付出极其沉重的代价。在为逝者祈福的同时,希望此次空难事件也对所有涉及安全隐患的各行业公司起到敲山震虎的作用。


(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();