夏夜的京城,熱得像個巨大的蒸籠。
知了在樹梢上聲嘶力竭地叫著,彷彿要喊破這悶熱的天。
京城749研究院,三號專家宿舍樓,302室。
一臺老式的檯扇在五斗櫃上“嗡嗡”轉著,腦袋左右搖擺,送出一點微弱的風。
屋裡的陳設簡單,一張雙人床,一張書桌,兩個暖水瓶,牆上掛著林振特別珍惜的照片。
林振手裡拿著一把蒲扇,坐在床邊,有一下沒一下地給躺在涼蓆上的魏雲夢扇著風。
“喝口水?”林振把搪瓷缸子湊過去,裡面是放涼了的白開水,加了一點紅糖,“媽特意交代的,得潤著。”
魏雲夢側著身子,一隻手搭在微微隆起的小腹上,其實那裡還平坦得很,才幾周,哪有甚麼動靜,但她就是下意識地護著。
她皺了皺眉,推開搪瓷缸:“不喝,嘴裡沒味,一股鐵鏽氣。”
“這是紅糖水,哪來的鐵鏽氣?那是你心裡想著車間裡的那些鐵疙瘩呢。”林振笑著把杯子放下,伸手把她額前被汗水打溼的碎髮撥到耳後,“怎麼還不睡?明天還要去行政樓坐班呢,咱們可是約法三章,不許累著。”
魏雲夢翻身坐了起來,動作有點急,嚇得林振趕緊伸手去扶。
“林振,我睡不著。”
魏雲夢盤腿坐在涼蓆上,穿著一件寬大的白棉布睡裙,長髮披散下來,少了幾分平日裡的清冷科學家派頭,多了幾分居家的慵懶。但那雙眼睛,卻亮得嚇人,那是大腦高速運轉時的特徵。
“那個崑崙機床,我想了一晚上。”魏雲夢抓過床頭櫃上的紙筆,把速寫本墊在膝蓋上,“硬體你帶著女工們正在焊,那是軀殼。可靈魂呢?指令怎麼輸進去?那幾千個電晶體組成的邏輯閘,總不能靠人手去撥開關吧?”
林振一愣,隨即無奈地笑了。
這就是他的媳婦。
別的女人懷孕了想酸兒辣女,她懷孕了想的是邏輯閘和指令集。
“本來想讓你好好養胎,等你身子穩了再說這事的。”林振嘆了口氣,也脫鞋上了床,盤腿坐在她對面,兩人膝蓋頂著膝蓋。
“既然你問了,那咱們就聊聊。”林振拿過她手裡的筆,在紙上畫了一個長條形的方框,“這是紙帶。我打算用光電讀取的方式。紙帶上有孔代表1,沒孔代表0。光線穿過孔洞,照在光敏二極體上,產生電流,這就變成了電訊號,送進咱們那個手焊的大腦裡。”
魏雲夢盯著那個方框,眉頭緊鎖:“光電讀取我懂,那是硬體原理。我要問的是語言。我們要用甚麼語言跟機器對話?讓它知道甚麼時候走直線,甚麼時候走圓弧,刀具進給多少,主軸轉速多少。”
那個年代,沒有C語言,沒有Python,甚至連組合語言都在襁褓之中。
西方的數控系統用的是他們自己定義的密語,那是絕密的工業標準,連個標點符號都不會透露給龍國。
“這就是我要頭疼的地方。”林振揉了揉太陽穴,“我需要一套全新的編碼規則。一套簡單、高效,能被那幾千個電晶體識別,還能精準控制三軸聯動的規則。”
魏雲夢一把搶過筆:“那就現在定。”
“現在?”林振看了看牆上的掛鐘。
“就現在。”魏雲夢把速寫本翻到新的一頁,眼神灼灼,“既然洋人不給標準,那咱們就自己定標準。以後龍國的機床,都得說咱們定的方言!”
林振看著她這副鬥志昂揚的模樣,心裡的血也熱了。
既然睡不著,那就造!
“好,聽你的。”林振下床,把檯扇搬得離兩人更近些,又去倒了兩杯涼白開,“今天咱們就把這套龍國方言給造出來。”
兩顆絕頂聰明的腦袋湊在了一起。
“首先是動作指令。”林振指著紙面,“機床最基本的動作只有兩個:直線插補和圓弧插補。直線走得直,圓弧畫得圓,這機床就成了一半。”
魏雲夢咬著筆桿,思索了片刻:“用字母G開頭怎麼樣?取幾何的英文單詞首字母。”
林振眼睛一亮。後世的G程式碼,就是這路數!看來天才的思路總是殊途同歸。
“行,就叫G指令。”林振點頭,“G00,快速定位,不切削,全速跑到起刀點。G01,直線插補,這時候刀就要吃肉了。G02,順時針畫圓;G03,逆時針畫圓。”
魏雲夢手裡的筆飛快地記錄著,一個個字元在她筆下跳躍。
“那座標呢?三軸聯動,X、Y、Z。”魏雲夢在紙上畫了一個三維座標系,“還有進給速度F,主軸轉速S,刀具號T。”
“對,但這只是給人看的。”林振沉聲道,“機器不認識字母。咱們得把這些字母和數字,全部翻譯成0和1的二進位制程式碼,還要排列在紙帶的八個孔道上。”
這就需要極強的數學邏輯和編碼能力了。
魏雲夢把頭髮隨意地挽了個結,露出修長的脖頸。
她此時完全進入了狀態,彷彿這悶熱的宿舍就是她的戰場,手裡的鉛筆就是她的刺刀。
“這其實就是一種對映關係。”魏雲夢一邊在紙上推演,一邊喃喃自語,“八孔紙帶,第一孔做校驗位,剩下七孔做資料位。2的7次方是128,我們可以定義128種不同的狀態。”
“G01,我們可以定義為00。”魏雲夢寫下一串數字,“X軸座標,如果我們要移動100毫米,這就需要轉化成脈衝數。假設我們的絲槓螺距是5毫米,步進電機細分後……”
“咱們沒有步進電機。”林振打斷了她,語氣中帶著一絲苦澀,“咱們用的是伺服液壓馬達配合光柵尺反饋。這是閉環控制,比開環更難。”
“閉環?”魏雲夢筆尖一頓,抬頭看著林振,“那就要引入誤差計算。控制系統不僅要發指令,還要實時接收光柵尺反饋回來的位置資訊,做減法。指令位置減去實際位置,等於誤差。只要誤差不為零,馬達就不能停。”