軟件本可以阻止的飛行事故:大韓航空801次航班和美國航空965次航班空難

不僅僅是戰斗機,民用客機軟件的重要性和作用也呈現出日益上升的趨勢。韓國在20 世紀70 年代首次引進的波音747 所用軟件由40 萬行代碼寫成,1995 年引進的波音777 軟件則達到了400 萬行,最新型的波音787(Dreamliner)的內部軟件由650 萬行代碼寫成。民用客機對軟件的使用越來越頻繁,但奇怪的是,至今還沒有軟件造成的民用客機事故。大部分民用客機事故都是駕駛員失誤或飛機系統不完備、設備不良等造成的,但這些原因引發的事故中,假如軟件正常運轉,有一些事故是完全可以避免的。

關島慘案:大韓航空801 次航班

查找飛機失事的相關資料不難發現,歷史上最嚴重的飛機失事案例中,韓國的大韓航空榜上有名。當然,這并不是說大韓航空的飛行事故頻繁。但至少在目前為止發生過的所有空難中,大韓航空的兩起事故使它一度站到了全世界的風口浪尖。第一次是在庫頁島上空被蘇聯戰斗機擊落的大韓航空007 次航班;第二次則是在著名的療養勝地——關島,準備著陸的大韓航空801 次航班墜毀。這兩次事故都排在史上最嚴重的空難前10 名或前20 名,比較有代表性。

這兩次事故中,在關島發生的這起大韓航空801 次航班的失事主要是由駕駛員的判斷失誤造成的。但是,假如軟件能起到應有作用的話,就可以挽回225 條人命了。

墜毀前的記錄

1997 年8 月6 日,韓國時間晚8 時22 分,一架波音747-300 飛機從金浦國際機場起飛。想到就要在關島度假,237 名乘客無不懷著激動的心情登上了這架大韓航空801 次航班。起飛后約4 小時,當地時間凌晨1 時11 分(韓國時間12 時11 分),機長開始和副機長、飛航工程師進行著陸簡報,也就是機長向副機長和飛航工程師說明著陸相關的必要信息。這次簡報中,機長曾提及,關島國際機場(正式名稱為 Antonio B. Won Pat 國際機場,本書中稱“關島國際機場”)的下滑道(GlideSlopA)信標出現故障。

結束簡報后,1 時13 分,副機長向塔臺工作人員通報,飛機已經下降到2600 英尺,同時開始降低飛行高度。著陸貌似進行得還算順利。飛機繼續向關島國際機場的跑道靠近,1 時39 分55 秒(墜毀前2 分31秒),近地警告系統感知故障并發出信號,駕駛艙立即陷入一片慌亂。

[+]查看原圖

A下滑道:幫助飛機安全著陸的電子設備。該設備的定向電波會發射到機場跑道前方,飛機接收到這些電波后,就能以適當的下降角度進入跑道。它和定位器(Localizer)一樣,都是儀表著陸必需的設備。

01:39:55 飛航機械師:“下滑道沒問題嗎?下滑道?”

01:39:56 機長:“是的,是的,沒問題。”

01:39:57 飛航機械師:“唉,所以……”

01:39:58 不明:“你是讓我看一下下滑道有沒有問題嗎?”

01:39:59 不明:“下滑道怎么出來了?”

01:40:00 副機長:“無法使用(Not Usable)。”

當時,塔臺人員已明確告知機組人員儀表著陸系統中的下滑道信標出現故障,機組人員進行著陸簡報時也確認了這一內容。如果當時機組人員向塔臺方面重新確認信號內容,問題就能得到解決,但并沒有人這樣做。后經調查得知,地面上的無線電之類的設備發出的電波被誤認為下滑道的電波。

[+]查看原圖

這時,機長和副機長做出了令人無法理解的舉動。下滑道出現故障的時候,飛機應該分級下降(如圖16-3 所示),但他們當時卻讓飛機持續下降。1 時41 分11 秒(墜毀前1 分15 秒),大韓航空801 次航班從2000 英尺(約600 米)持續下降到1440 英尺。按照相關規定,距離機場跑道20 千米(11 海里A)到9.3 千米(5 海里)的范圍內,高度均不可低于2000 英尺。但大韓航空801 次航班位于13 千米(7 海里)處時,高度已經低于2000 英尺。

A雖然并非國際標準,但“海里”是航空、海洋領域廣泛使用的距離單位。NM是NauticalMile的縮寫,中文譯為“海里”。另外,表示輪船或飛機速度的“節”(knot)指的就是每小時行駛的海里數。

本可以阻止的事故

大韓航空801 次航班墜毀之前,曾經至少有兩次機會可以阻止這次事故的發生。

第一次機會是確認外指點標(Outer marker)。外指點標設置在距離跑道一段距離的位置,它會向上空垂直發射電波。飛機駕駛員經過外指點標上空時會接收到該信號,以確認當前高度。但后來檢查黑匣子的駕駛艙錄音記錄時發現,當時沒有任何人確認外指點標的信號。假如確認了飛行高度,就能知道當時正處于低于規定高度2000 英尺的位置,也就可以避免悲劇發生了。

避免事故發生的最后一次機會是墜機之前。當時,機組人員正專心準備飛機降落。墜毀前12 秒, GPWS(Ground Proximity WarningSystem,近地警告系統)響起警報。

01:42:14 GPWS :“最低高度,最低高度。”(minimums, minimums)

這是GPWS 向駕駛員發出的最低高度警報,但機長、副機長、飛航機械師均未采取任何應對措施。3 秒后,GPWS 機械的播報聲又響了起來。

01:42:17 GPWS :“快速下降。”(sink rate)

01:42:18 副機長:“可以快速下降!”(sink rate OK!)

“sink rate”是GPWS 發出的飛機正在快速下降的警報。對此,副機長給出了“可以快速下降”的回答。但下一秒,副機長聽到飛航機械師說出“現在距離地面只剩下200 英尺(約60 米)”的時候,曾勸機長放棄著陸(missed approach)。

但機長并沒有立即放棄著陸。如果發現機長的決定是明顯錯誤的,副機長可以強行駕駛。遺憾的是,副機長并沒有這么做。

01:42:21 飛航機械師:“看不到啊。”(飛機墜毀前6.22 秒)

01:42:21 副機長:“看不到。放棄著陸!”

01:42:22 飛航機械師:“復飛。”

飛機墜毀前6.22 秒,距離地面已不到60 米,但飛航機械師依然無法看到關島機場的跑道。副機長也一樣,他再次向機長建議放棄著陸。飛航機械師也建議機長復飛(Go Around,無法安全著陸或錯誤靠近跑道的情況下,著陸過程中重新上升高度,之后再著陸),但機長的判斷卻和副機長以及飛航機械師的判斷都不一樣,他并沒有馬上復飛。

直到飛機墜毀前3.7 秒,機長終于承認著陸失敗。他立刻解除了自動飛行模式,試圖使飛機上升。但是,想讓重達幾百噸的波音747 飛機重新上升并沒有那么容易。高度在持續下降,GPWS 也幾乎同時發出高度警報。

01:42:24.05 GPWS :“100 英尺。”

01:42:24.84 GPWS :“50 英尺。”

01:42:25.19 GPWS :“40 英尺。”

01:42:25.50 GPWS :“30 英尺。”

01:42:25.78 GPWS :“20 英尺。”

01:42:25.78( 撞擊聲)

01:42:32.52 錄音終止

盡管駕駛員極力想讓飛機回升,但最終沒能戰勝波音747 的慣性。結果,沒能重新上升高度的大韓航空801 次航班撞上了關島國際機場前面的尼米茲山。

假如軟件發揮了應有的作用

假如當初機場的軟件能發揮應有的作用,那么除了前面提到的兩次可以避免事故發生的機會之外,說不定還能有一次機會——關島機場的最低安全高度警報系統(Minimum Safe Altitude Warning,以下簡稱MSAW)。MSAW 在靠近機場的飛機低于正常高度時,向塔臺人員發出視覺和聽覺警報。問題是,當時關島國際機場的MSAW 處于異常狀態。

原因是MSAW 的軟件存在問題。關島機場的MSAW 系統曾經發出過多次虛假警報,飛機明明處于正常高度,系統卻提示危險。1994 年秋,關島機場的塔臺工作人員向美國聯邦航空管理局(FAA,FederalAviation Administration)表達了對MSAW 系統虛假警報等問題的不滿。為此,FAA 修復了關島機場的MSAW 軟件,并于1995 年2 月重新投入使用。但是,修復后的軟件存在致命漏洞。

說起來非常可笑,修復后的MSAW 只能在以關島雷達為中心、半徑100~101.8 千米(54~55 海里)的僅1.8 千米(1 海里)范圍內發揮作用。這段區域距離關島較遠,是一段海域,飛機根本不可能在此區域低空飛行,所以MSAW 幾近于一件廢物。也正因如此,事故發生時,位于關島雷達半徑100 千米以內的大韓航空801 次航班雖然低于安全高度,但沒有引發任何警報。

假如MSAW 當時能發揮應有的作用,大韓航空801 次航班撞到尼米茲山之前的64 秒,塔臺人員就能知道飛機低于安全高度。但是,MSAW 沒有發出任何警報,能阻止慘案發生的一次決定性的機會就這樣錯過了。

[+]查看原圖

美國航空965 次航班

1995 年12 月20 日,美國東部標準時間晚9 時45 分左右,美國航空965 次航班在哥倫比亞卡利國際機場(正式名稱為 Alfonso BonillaAragon 國際機場,本書中簡稱為“卡利國際機場”)附近的山上墜毀。這次事故造成159 人喪生,4 人重傷。

當天下午,美國航空965 次航班在美國邁阿密機場等待起飛。預定的起飛時間是16 時40 分,但由于美國東北部遭遇颶風襲擊,部分航班延誤,這些航班上的一些乘客需要轉乘965 次航班。因為等待這些乘客和他們的行李,直到17 時14 分(比預定時間晚34 分鐘)才完成起飛準備。但是,并非完成起飛準備就能起飛。當時是西方最長的假期——圣誕節連休,邁阿密機場擠滿了起降的機群。為此,965 次航班在地面又等待了1 小時21 分,之后才從邁阿密機場起飛,朝著目的地——哥倫比亞卡利國際機場出發。起飛時間是18 時35 分,比預定出發時間晚了大約2 小時。

雖然出發得有點晚,但飛行過程還算順利。965 次航班使用的是當時最新的機型——波音757,事先在電腦中輸入航線,飛機即可沿航線自動飛行。起飛后約3 小時,21 時30 分左右,965 次航班到達哥倫比亞卡利國際機場附近上空。

[+]查看原圖

卡利機場左右兩邊都是高山,正好位于較長的山谷地形中(如圖16-7 所示,顏色越深表示海拔高度越高)。因此,制定航線時,使965次航班從機場北側直接著陸,或者飛過機場后掉頭,在機場南側著陸。像其他機場一樣,卡利機場也設有幫助飛機安全著陸的無線電導航系統(VOR)。波音757 上安裝的計算機系統接收到VOR 發射的信號后,可以使飛機安全著陸。

當時,965 次航班要想在卡利機場降落,應依次通過機場北側約66千米處的TULUA 無線電導航系統和約17 千米處的ROZO 無線電導航系統。飛過卡利國際機場后,在機場南側的CALI 無線電導航系統附近掉頭,最后在機場南部著陸。

[+]查看原圖

開始出錯

美國航空965 次航班到達距離卡利國際機場北側約100 千米時,首次與卡利塔臺進行了通信。

[21:34:40 ~ 21:34:57 通信內容]

機長:“卡利塔臺,我是美國航空965 次航班。”

塔臺:“美國航空965 次航班,歡迎你,請講。”

機長:“美國航空965 次航班正從23 000 英尺下降到20 000 英尺。”

塔臺:“距離卡利(機場)還有多遠?”

機長:“63 英里(約116.6 千米)。”

好奇怪啊!按理說塔臺應該通過雷達了解965 次航班的準確位置,但它反而需要詢問965 次航班的當前位置。其實,卡利國際機場存在很大問題。1992 年,哥倫比亞反政府游擊隊炸毀了卡利國際機場的雷達系統。因此,塔臺無法掌握進入機場的飛機的飛行位置,必須與飛機進行無線通信才能獲知。這也是為什么塔臺會詢問美國航空965 次航班的位置。

[21:34:59 ~ 21:35:27 通信內容]

塔臺:“知道了。美國航空965 次航班,要去卡利的話,需要下降并保持在15 000 英尺高度。高度儀3002……請在TULUA 報告。”

(“roger, is cleared to Cali VOR, uh, descend and maintain one, fivethousand feet. altimeter three zero zero two.... no delay expect for approach.report uh, Tulua VOR.”)

機長:“知道了。確認卡利方向,在TULUA 報告。高度15 000 英尺,高度儀3002,全部正確嗎?”(“OK, understood. cleared direct to CaliVOR. uh, report Tulua and altitude one five, that’s fifteen thousand threezero.. zero.. two. is that all correct sir?”)

塔臺:“對。”

這是飛機降落前和塔臺人員的一段正常通信內容。不過特別的是,卡利國際機場的塔臺人員完全不了解965 次航班的位置,所以為進行有效管制,他們要求飛機經過Tulua VOR 時向自己報告(“請在TULUA報告”)。但是在這里,機長犯下了第一個錯誤。由于和塔臺人員的英語溝通出現問題,機長將“ cleared to Cali VOR”理解為“立即飛向CALIVOR”。為此,機長在飛行管理系統(Flight Management System,以下簡稱FMS)中將飛行路線變更為朝向CALI VOR(如圖16-9 所示)。這次飛行路線的變更程度不是很大,所以不存在太大問題。但路線變更導致之前飛行路線上的VOR(TULUA、ROZO)的數據都被清零,駕駛員面前的導航屏幕上的TULUA 和ROZO 無線電導航也消失了。就在此時,飛機飛過了此前塔臺人員囑咐經過時一定要通報的TULUA VOR。

21 時36 分31 秒,卡利國際機場塔臺詢問965 次航班機長,是否要取消原定在01 號跑道著陸的計劃,改為在19 號跑道降落。

塔臺:“風力較小。是否要在19 號跑道著陸?”

飛機之前的飛行路線是在機場南側的VOR 掉頭,迂回一周后在機場著陸,但在機場北側著陸可以節約一部分時間。當時已經比預計抵達時間晚點了2 小時,965 次航班的駕駛員應該想盡可能早一點降落,所以不可能拒絕這個提議。機長和副機長簡單溝通后,向塔臺表達了這層意思。塔臺之后告訴飛機,經過ROZO VOR 后進入19 號跑道。同時又強調了一遍,經過TULUA VOR 時要報告。

[+]查看原圖

雖然塔臺反復稱,經過TULUA VOR 時要報告,但機長已經將FMS 的TULUA VOR 清零,而且飛機已經飛過了。因此,駕駛艙內的人當時根本就不知道TULUA VOR 在什么位置。機長決定:與其艱難地尋找TULUA VOR,還不如向ROZO VOR 飛行。于是,他向塔臺詢問是否可以立即向ROZO VOR 飛行。

機長:“可以直接飛向ROZO 嗎?”

塔臺:“先去ROZO,再從19 號跑道進入。風力較小。”

機長:“從ROZO 到19 號跑道。明白。”

塔臺:“經過TULUA 時請報告。”

由于沒有雷達,塔臺一直無法掌握965 次航班的具體位置,只能再一次要求飛機經過TULUA VOR 時進行報告。但是,965 次航班早已飛過TULUA VOR,而且機長腦中也早就沒有意識到需要報告了。

機長和副機長當即改變飛機的飛行高度和路線,向著ROZO VOR飛去。更改降落路線后,距離卡利國際機場北側39 千米處就應該完成從20 000 英尺(約6096 米)到5000 英尺(約1524 米)的下降。因此,駕駛員打開了減速板(speed break),開始急速下降。965 次航班墜毀之前,減速板一直處于打開狀態。

[+]查看原圖

965 次航班急速下降的過程中,駕駛員將著陸表中ROZO VOR 的識別碼“R”原封不動地輸入FMS,表示將飛往ROZO。駕駛員輸入“R”后,FMS 的數據庫就給出了12 個可供選擇的地點,地點列表是按照現在距離飛機的最近距離順序排列的。駕駛員認為距離現位置最近的應該是ROZO VOR,所以選擇了列表中的第一項。但是,駕駛員實際選擇的根本不是ROZO VOR,地點列表中根本就沒有ROZO 這一項。當時排在最前面的并非ROZO,而是距離卡利東側大約150 英里的哥倫比亞首都波哥大附近的ROMEO VOR。

[+]查看原圖

原來,雖然駕駛員手中的著陸表上的ROZO 識別碼是“R”,但FMS 數據庫中存儲的ROZO 信標臺的識別碼是“ROZO”,而非“R”。也就是說,駕駛員只有輸入“ROZO”(而非圖表上的“R”)才能向ROZO VOR 飛行。尤其是ROMEO VOR 和ROZO VOR 的頻率一致,即使弄混了也很難發現。錯誤就這么發生了。

駕駛員在FMS 中選擇ROMEO VOR 為目的地后,在自動操作系統的指揮下,飛機開始慢慢向左回旋,向ROMEO 飛去。按照美國航空的規定,通過FMS 改變航線時,駕駛員之間要相互確認,但965 次航班的機長和副機長卻省略了這一步。由于要降落到5000 英尺高度,飛機一直在快速下降。當時飛機正向著錯誤的方向飛行,但改變航線的駕駛員們卻一味相信飛機的自動操作系統,沒有注意實際的飛行方向。很快,965 次航班就進入了卡利國際機場兩側險峻的山區。

飛機從15 000 英尺(4572 米)高度持續下降時,卡利國際機場的塔臺再次詢問了965 次航班的當前位置。如果有雷達就可以及時警告965 次航班,他們正沿著錯誤的路線飛行,也就可以阻止事故發生。而965 次航班接收到卡利機場的無線電信號后,才發現飛機正沿著錯誤的方向飛行。

[+]查看原圖

“我們現在在哪?”

機長和副機長都慌了神,他們根本不清楚現在所處的位置和飛機飛行的朝向。不過,既然已經知道飛機正沿著錯誤的方向飛行,那就先取消向ROMEO 的自動飛行,修正FMS,使飛機向CALI VOR 前進。飛機又開始向右轉。當時,美國航空965 次航班的高度是13 000 英尺,每分鐘下降2700 英尺。

駕駛員仍然處于混亂狀態。飛機很快就下降到10 000 英尺。駕駛員決定向ROZO VOR 飛行,于是再次更改航線。但當前位置和ROZOVOR 中間有一座高山。當時沒有月光,一片漆黑,駕駛員沒有發現前方有山。

[+]查看原圖

[+]查看原圖

駕駛員發現前方有山時,飛機已經下降到了9000 英尺。飛機撞山前12 秒,GPWS 機械的播報聲在駕駛艙內響起。

21:41:15 GPWS :“撞地,撞地,嗶——嗶——”(Terrain, terrain,whoop, whoop…)

警報表示飛機有可能撞地,一座大山開始慢慢出現在駕駛員眼前。機長大吃一驚,馬上解除了自動操作程序,然后將操縱桿拉到最大限度,使飛機上升。但由于太晚才發現前方有山,GPWS 的警報也不夠及時,而且之前為了減速,減速板也處于打開狀態,所以飛機一時無法獲得足夠的動力。最終,965 次航班沒能越過山峰,墜毀在卡利國際機場東北部的山頂。

[+]查看原圖

部分責任在于軟件

965 次航班墜毀造成159 人遇難,另有4 人奇跡般地生還。這是波音757 的飛行史上造成人員傷亡規模最大的一次空難。

另外,這也是自1988 年泛美航空爆炸事故(恐怖爆炸襲擊造成270 人遇難)以來,美國的主要航空公司遇難人數最多的一次事故。空難發生后,美國航空將965 次航班更名為921 次航班,同時將ROZOVOR 的名字改為PALMA, 將識別碼“R” 更改為PALMA 的縮寫“PL”。

除了人員傷亡,這次空難給整個航空業也帶來了不小的震撼:裝有最尖端飛行系統的波音757 竟然撞到了山上。雖然責任主要在于駕駛員沒有確認航線,但軟件錯誤在本次空難中也難辭其咎。

波音757 飛行系統的供貨商是霍尼韋爾公司,負責該系統軟件的是杰普森?桑德森公司。遇難者遺屬向美國航空提起訴訟的同時,美國航空也向這兩家公司提起訴訟,認為二者對965 次航班空難負有部分責任。

最終判決,美國航空負60% 的責任,霍尼韋爾公司和杰普森公司分別負10% 和30% 的責任。


閱讀原文

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,606評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,582評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,540評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,028評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,801評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,223評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,294評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,442評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,976評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,800評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,996評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,543評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,233評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,926評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,702評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容