第001章 飛機(jī)墜落前的三分鐘
開(kāi)局一架無(wú)人機(jī),我造出國(guó)產(chǎn)大飛機(jī)
第三次警報(bào)響起時(shí),陳硯舟正跪在C-939驗(yàn)證機(jī)客艙前段的檢修口旁。地板下方的線束盒已經(jīng)拆開(kāi),編號(hào)線纜被固定夾分成六層,表面卻因?yàn)闄C(jī)身持續(xù)抖動(dòng)而微微顫動(dòng)。每一次顫動(dòng)都沿著鋁合金結(jié)構(gòu)傳到他的膝蓋,再傳進(jìn)骨頭里。頭頂?shù)恼彰鳠艉雒骱霭担瑴y(cè)試終端上的姿態(tài)曲線像一條被人拽住的黑線,向右側(cè)一點(diǎn)點(diǎn)偏過(guò)去。
內(nèi)話里傳來(lái)試飛員老周的聲音。他努力保持平穩(wěn),尾音里仍有一絲壓不住的緊繃:“左側(cè)襟翼位置反饋跳變,飛控主通道二次重構(gòu)失敗。硯舟,給我一句準(zhǔn)話,傳感器假信號(hào),還是執(zhí)行機(jī)構(gòu)卡滯?”
陳硯舟沒(méi)有立刻回答。他把右手按在檢修口邊緣,借著機(jī)身的震動(dòng)判斷載荷變化,視線從襟翼反饋切到液壓壓力,再落到作動(dòng)筒溫度和電源母線。位置反饋跳了三次,液壓壓力卻一直在正常區(qū)間,作動(dòng)筒溫度也沒(méi)有出現(xiàn)滯后上升。三分鐘前,電源母線有過(guò)一次短得幾乎被系統(tǒng)抹平的跌落,持續(xù)時(shí)間只有0.17秒。
單獨(dú)看,哪一項(xiàng)都不足以解釋飛機(jī)右滾。把它們放進(jìn)同一條時(shí)間線上,危險(xiǎn)才從數(shù)據(jù)里浮出來(lái)。陳硯舟抬手按住內(nèi)話鍵:“先按復(fù)合故障處理。調(diào)航電柜3*區(qū)冗余供電切換記錄,重點(diǎn)看三分鐘前的瞬斷,不要只看自檢結(jié)論。” 坐在他身后的年輕工程師立刻切換頁(yè)面,手指卻在確認(rèn)鍵上停了一下:“陳總,3*區(qū)剛才自檢通過(guò)了。”
“自檢通過(guò),說(shuō)明靜態(tài)條件下的回路能工作。”陳硯舟沒(méi)有回頭,聲音依舊很低,“現(xiàn)在飛機(jī)在飛行載荷里。把時(shí)間戳、供電切換和襟翼反饋放在一張圖上?!彼?jiàn)過(guò)太多報(bào)告把“已通過(guò)”寫(xiě)在最醒目的位置,卻把發(fā)生在邊界條件里的異常縮進(jìn)附件。工程事故很少由一個(gè)巨大而整齊的錯(cuò)誤開(kāi)始,更多時(shí)候是幾項(xiàng)互不致命的偏差,在同一秒里碰到了一起。
年輕工程師咬住嘴唇,把三條曲線疊加。飛機(jī)又輕輕一沉,固定在艙壁上的工具箱發(fā)出撞擊聲。陳硯舟抬頭看了一眼舷窗,云層在機(jī)翼下方快速向后退,陽(yáng)光從云隙里照出來(lái),明亮得讓人產(chǎn)生飛行仍然平穩(wěn)的錯(cuò)覺(jué)。C-939原本要完成的是一輪關(guān)鍵驗(yàn)證,若今天的數(shù)據(jù)足夠干凈,后續(xù)型號(hào)評(píng)審就能向前推進(jìn)一大步?,F(xiàn)在他只剩不到三分鐘,把故障找出來(lái),把能夠留下的東西留下來(lái)。
屏幕上的時(shí)間線終于對(duì)齊。年輕工程師猛地吸了一口氣:“三分鐘前,3*區(qū)確實(shí)發(fā)生過(guò)供電瞬斷。備用通道切入后,航電柜和左側(cè)襟翼位置傳感器的時(shí)間戳差了0.42秒?!?br>
陳硯舟的眼神沉下去。問(wèn)題已經(jīng)從“襟翼有沒(méi)有動(dòng)”變成了“飛控以為襟翼什么時(shí)候動(dòng)過(guò)”。一部分舊位置被系統(tǒng)當(dāng)成了新反饋,一部分新指令又被寫(xiě)進(jìn)了舊狀態(tài),自動(dòng)重構(gòu)會(huì)把這種錯(cuò)位繼續(xù)放大。若讓主通道保持原來(lái)的修正邏輯,飛機(jī)會(huì)不斷糾正一個(gè)已經(jīng)過(guò)時(shí)的位置,右滾趨勢(shì)只會(huì)越來(lái)越快。
“老周,切備份律?!?a href="/tag/chenyanzhou.html" style="color: #1e9fff;">陳硯舟按住內(nèi)話,“鎖定左襟翼當(dāng)前角度,取消自動(dòng)配平補(bǔ)償,速度先別往下壓,保持高度,準(zhǔn)備返場(chǎng)。備份律響應(yīng)慢就用手動(dòng)輸入補(bǔ)償,別讓主通道繼續(xù)重構(gòu)。”
老周只回了一個(gè)字:“收到?!瘪{駛艙那頭傳來(lái)?yè)軇?dòng)開(kāi)關(guān)和確認(rèn)提示的連續(xù)聲響。陳硯舟把視線落回終端,等待姿態(tài)曲線重新收斂。曲線短暫變緩,隨后又朝右側(cè)抬起一格。年輕工程師剛要說(shuō)話,陳硯舟已經(jīng)抓住了檢修口旁的扶手。 “右滾趨勢(shì)加大?!崩现艿穆曇舻谝淮握嬲o起來(lái),“備份律響應(yīng)慢半拍,右側(cè)姿態(tài)修正量在增加?!?br>
如果故障只來(lái)自時(shí)間同步,備份律至少應(yīng)當(dāng)讓趨勢(shì)變緩?,F(xiàn)在它還在惡化,說(shuō)明還有一條沒(méi)有接進(jìn)故障樹(shù)的鏈路。陳硯舟閉了一瞬眼,把電源、航電、傳感器、飛控、作動(dòng)器和氣動(dòng)載荷重新排了一遍。前世那些熬過(guò)無(wú)數(shù)次夜的評(píng)審桌、飛行試驗(yàn)和事故復(fù)盤(pán),在這一刻沒(méi)有變成答案,只讓他更清楚該從哪里繼續(xù)排查。 他抬頭看向年輕工程師:“把左翼前緣除冰加熱回路調(diào)出來(lái),查二號(hào)回路。” 年輕工程師愣住:“現(xiàn)在查除冰?” “調(diào)出來(lái)。” “可飛控正在重構(gòu),除冰回路和襟翼反饋......” “如果它們沒(méi)有關(guān)系,我會(huì)讓你把這句話寫(xiě)進(jìn)復(fù)盤(pán)報(bào)告?!?a href="/tag/chenyanzhou.html" style="color: #1e9fff;">陳硯舟按住他的肩,把人推回終端前,“先看維護(hù)總線,不要等主顯示給結(jié)論?!?br>
頁(yè)面刷新得很慢。C-939的維護(hù)總線數(shù)據(jù)沒(méi)有被納入駕駛艙主顯示,平時(shí)只供地面工程師復(fù)盤(pán)使用。年輕工程師翻過(guò)兩層目錄,臉色從疑惑變成蒼白:“左翼前緣二號(hào)回路異常導(dǎo)通,溫度信號(hào)沒(méi)有回傳主顯示,維護(hù)總線里有記錄。”
陳硯舟伸手接過(guò)終端,快速放大那條曲線。溫度異常并不高,變化卻持續(xù)了足夠長(zhǎng)的時(shí)間。局部前緣的熱變形、襟翼反饋的時(shí)間錯(cuò)位和飛控自動(dòng)補(bǔ)償疊在一起,恰好能解釋右滾趨勢(shì)為什么沒(méi)有在備份律接管后消失。每一項(xiàng)都沒(méi)有單獨(dú)把飛機(jī)推下去,組合在同一個(gè)飛行狀態(tài)里,就會(huì)把安全余量一點(diǎn)點(diǎn)吃干凈。 內(nèi)話里傳來(lái)老周的詢(xún)問(wèn):“硯舟,返場(chǎng)還來(lái)得及嗎?”
陳硯舟看了一眼剩余高度,又看向右側(cè)不斷增加的修正量。返場(chǎng)這個(gè)詞有時(shí)是目標(biāo),有時(shí)只是讓所有人繼續(xù)按照流程動(dòng)作的口令。此刻他不能用一句“還來(lái)得及”換取短暫的安定,也不能為了顯得果斷,把判斷說(shuō)成確定結(jié)果。 “按返場(chǎng)航向飛,老周?!彼f(shuō),“保持當(dāng)前速度,手動(dòng)壓住右滾,能堅(jiān)持多久堅(jiān)持多久。我們這邊先把完整數(shù)據(jù)送到地面?!?年輕工程師抬頭:“飛機(jī)已經(jīng)這樣了,為什么還要全量上傳?”
“因?yàn)榈孛姹仨氈浪鼮槭裁醋兂蛇@樣。”陳硯舟把維護(hù)總線接口切到全量模式,“把供電切換、時(shí)間同步、襟翼位置、除冰回路和飛控狀態(tài)一起打包。別為了上傳速度刪掉異常前后的上下文?!?br>
上傳通道只有一條,帶寬被試驗(yàn)任務(wù)占掉了大半。進(jìn)度條開(kāi)始移動(dòng),百分之八,百分之十三,跳到二十之后又停住。機(jī)身突然向右下方傾斜,年輕工程師的肩膀撞上座椅,陳硯舟伸手按住終端,沒(méi)讓它從固定架上滑出去。 “高度下降。”老周的呼吸聲透過(guò)內(nèi)話傳來(lái),“右滾暫時(shí)壓住,前緣溫度還在升。地面問(wèn)是否立刻切斷除冰電源?!?br>
陳硯舟看向曲線。切斷二號(hào)回路可能減輕熱變形,卻也可能讓左翼前緣進(jìn)入另一種氣動(dòng)狀態(tài)。地面指令正在路上,試飛員要在幾秒內(nèi)作決定,他只能把證據(jù)和風(fēng)險(xiǎn)邊界說(shuō)清楚:“先保持現(xiàn)狀,別做沒(méi)有數(shù)據(jù)支撐的連續(xù)切換。若溫度越過(guò)紅線,老周按應(yīng)急程序切斷;沒(méi)有越線前,優(yōu)先保姿態(tài)?!?br>
老周應(yīng)了一聲。短短幾句話背后,是所有人都清楚的事實(shí):這架飛機(jī)已經(jīng)沒(méi)有足夠時(shí)間等他們把每個(gè)變量單獨(dú)驗(yàn)證一遍。陳硯舟曾經(jīng)在主機(jī)廠的會(huì)議室里聽(tīng)過(guò)許多關(guān)于“再增加一次試驗(yàn)”的爭(zhēng)論,也在試飛現(xiàn)場(chǎng)等過(guò)供應(yīng)商把一項(xiàng)看似不大的偏差解釋清楚。他知道工程需要耐心,也知道飛機(jī)在空中時(shí),耐心必須服從剩余高度和剩余秒數(shù)。 進(jìn)度條到了百分之四十三。年輕工程師說(shuō):“如果繼續(xù)全量上傳,可能趕不上返場(chǎng)窗口。” “刪掉重復(fù)日志,把異常前后三十秒保留完整?!?“這樣能快一倍?!?“那就做?!?a href="/tag/chenyanzhou.html" style="color: #1e9fff;">陳硯舟盯著屏幕,“上傳速度和證據(jù)完整性同時(shí)看,別只追一個(gè)漂亮數(shù)字。”
他忽然想起自己二十二歲時(shí)站在北航畢業(yè)設(shè)計(jì)展板前,曾經(jīng)認(rèn)真相信只要圖紙夠好、計(jì)算夠快、敢把話說(shuō)滿(mǎn),就能把飛機(jī)造出來(lái)。后來(lái)他在商業(yè)無(wú)人機(jī)項(xiàng)目里見(jiàn)過(guò)因一枚接插件松動(dòng)而返場(chǎng)的樣機(jī),在主機(jī)廠見(jiàn)過(guò)供應(yīng)商交來(lái)的合格證明,也見(jiàn)過(guò)合格證明和真實(shí)狀態(tài)之間隔著一整套測(cè)試記錄。飛機(jī)最終靠的從來(lái)不是某一個(gè)人的聰明,它靠需求、設(shè)計(jì)、制造、試驗(yàn)、質(zhì)量和責(zé)任簽字彼此咬住。 進(jìn)度條跳到百分之七十一時(shí),駕駛艙傳來(lái)連續(xù)兩聲警報(bào)。老周的聲音變得短促:“右滾修正量到限制,結(jié)構(gòu)載荷開(kāi)始上升。”
陳硯舟低頭看著維護(hù)總線,要求地面確認(rèn)接收端狀態(tài)。對(duì)面回復(fù)很慢,只傳來(lái)斷斷續(xù)續(xù)的幾個(gè)字。年輕工程師把上傳窗口拖到最前,手背已經(jīng)被汗浸濕。陳硯舟沒(méi)有催他喊快,也沒(méi)有讓他放棄剩余數(shù)據(jù),只一遍遍核對(duì)文件大小、時(shí)間戳和終端電源。 “硯舟?!崩现芙辛怂宦?,語(yǔ)氣反而平靜下來(lái),“如果數(shù)據(jù)能傳完,地面以后能把這條鏈路復(fù)現(xiàn)出來(lái)嗎?” “能?!?a href="/tag/chenyanzhou.html" style="color: #1e9fff;">陳硯舟回答,“只要接收端不丟包,能?!?“那我繼續(xù)飛?!?br>
進(jìn)度條到百分之九十七時(shí),C-939的機(jī)身猛地一沉。安全帶勒住胸口,檢修口邊緣的金屬蓋板撞在艙壁上。陳硯舟一手抓住扶手,一手仍按在終端旁,眼睛盯著最后三格緩慢爬升。 百分之百。 年輕工程師幾乎喊破了嗓子:“全量上傳完成,地面確認(rèn)收到!” 陳硯舟摘下耳機(jī),按住內(nèi)話:“老周,數(shù)據(jù)上去了?!?那邊安靜了半秒,隨后傳來(lái)一聲很輕的笑:“那就值了。”
下一刻,結(jié)構(gòu)警報(bào)撕開(kāi)客艙。機(jī)身右側(cè)傳來(lái)沉悶的斷裂聲,像某個(gè)看不見(jiàn)的力量從內(nèi)部擰住了整架飛機(jī)。燈光熄滅又重新亮起,終端屏幕在震動(dòng)中裂成蛛網(wǎng),氧氣面罩從頭頂彈落。陳硯舟的肩膀撞上艙壁,身體被安全帶猛地拉住,耳邊只剩金屬變形和人員呼喊混在一起的噪聲。
他最后看見(jiàn)的,是舷窗外驟然翻轉(zhuǎn)的天空。云層、機(jī)翼和陽(yáng)光在視線里交換位置,藍(lán)色干凈得近乎殘酷。陳硯舟忽然想起許多還沒(méi)有完成的事:更可靠的飛控,更完整的供應(yīng)鏈,更早建立起來(lái)的質(zhì)量責(zé)任,還有一架真正由中國(guó)工程師把每一條證據(jù)鏈拼出來(lái)的大飛機(jī)。
如果能重新開(kāi)始,他要先把路走對(duì)。先把人、錢(qián)、設(shè)備和記錄一項(xiàng)項(xiàng)湊齊,再讓飛機(jī)飛起來(lái)。投資、訂單和資本只能為工程服務(wù),個(gè)人賬戶(hù)和公司的錢(qián)也必須從第一天分開(kāi),任何一筆用于樣機(jī)和試驗(yàn)的資金,都要能在賬上說(shuō)清楚。 這個(gè)念頭剛剛閃過(guò),黑暗便從四周壓了上來(lái)。意識(shí)消失前,陳硯舟聽(tīng)見(jiàn)一個(gè)冰冷、克制的聲音,沒(méi)有解釋?zhuān)矝](méi)有安慰。 關(guān)鍵數(shù)據(jù)保存完成。 航空工業(yè)任務(wù)樹(shù)綁定中。 未來(lái)窗口初始權(quán)限開(kāi)啟。 回溯節(jié)點(diǎn)鎖定:2007年,北航飛行器設(shè)計(jì)學(xué)院畢業(yè)季。 陳硯舟猛地睜開(kāi)眼。
沒(méi)有警報(bào),沒(méi)有失重,也沒(méi)有燃油和燒焦線纜的味道。頭頂是老舊的白色蚊帳架,旁邊的風(fēng)扇發(fā)出吱呀吱呀的轉(zhuǎn)聲,窗簾被夏風(fēng)吹得鼓起一角。有人把一疊打印紙拍在他床邊,年輕而熟悉的聲音帶著不耐煩:“陳硯舟,你還睡?何老師讓你下午去改畢業(yè)設(shè)計(jì)題目!”
他沒(méi)有回答。視線先落在床沿,再落到桌上的厚重聯(lián)想筆記本,最后落到墻上那**貼不久的畢業(yè)照通知。紙張右下角印著2007,墨色還很新。窗外傳來(lái)北航校園的自行車(chē)鈴聲,梧桐葉被夏風(fēng)吹得嘩啦作響,遠(yuǎn)處有人在喊著搬展板。
陳硯舟抬起手,手背年輕,關(guān)節(jié)沒(méi)有長(zhǎng)期握工具留下的粗糙裂口。他掐住自己的虎口,疼痛清晰地傳來(lái)。那場(chǎng)事故里,他已經(jīng)死過(guò)一次;可眼前的蚊帳、風(fēng)扇、畢業(yè)通知和床邊那疊打印紙,全都在告訴他,時(shí)間把他送回了二十二歲。
啟動(dòng)資金、樣機(jī)、試驗(yàn)場(chǎng)地、能真正承擔(dān)飛控責(zé)任的人,這些名字在腦海里一閃而過(guò),隨后又被他強(qiáng)行壓下?,F(xiàn)在的他沒(méi)有團(tuán)隊(duì),沒(méi)有設(shè)備,沒(méi)有合法經(jīng)營(yíng)主體,甚至還要先去面對(duì)何敬山關(guān)于畢業(yè)設(shè)計(jì)的質(zhì)疑。未來(lái)窗口的提示靜靜停在意識(shí)深處,像一枚還沒(méi)有拆封的工具。 床邊的人又拍了拍欄桿:“陳硯舟,你聽(tīng)見(jiàn)沒(méi)有?下午兩點(diǎn),別再拿睡覺(jué)當(dāng)失聯(lián)?!?br>
他終于轉(zhuǎn)過(guò)頭,看向那張年輕的臉,喉嚨像被什么東西堵住。幾秒后,他掀開(kāi)薄被,雙腳踩上宿舍地面。舊涼席的觸感從腳底傳上來(lái),真實(shí)得讓人發(fā)抖。 陳硯舟望向窗外的北航校園,手指一點(diǎn)點(diǎn)攥緊床單。飛機(jī)還沒(méi)有造出來(lái),前世那條漫長(zhǎng)而遲緩的路也還沒(méi)有開(kāi)始。 他回來(lái)了。