天天看點

中國工業軟體發展的10點思考!

作者:中國國際石油化工大會
中國工業軟體要解決的問題不是取代所有進口軟體,而是要解決“卡脖子”的工業軟體問題。工業軟體必須杜絕低層次重複,應面向國際,不斷進行科學探索和制造業創新,建立完整的可持續發展概念,尋找到一條符合中國工業軟體自身發展的道路。

本文作者:甯振波,中國航空工業資訊技術中心原首席顧問、中國船舶獨立董事。引自:《軟體導刊》2022年10月,釋出于公号「資訊化時代」。

講工業軟體,必須先講軟體。《軟體工程通史》對軟體發展作出了以10年為周期的若幹階段界定。由此可見,數學知識軟體化曆史與計算機曆史同步發展。基本彙編語言是軟體的早期形态,大約200個彙編/宏彙編語言軟體被開發,其中100個用于軍事/國防,75個用于科學。

中國工業軟體發展的10點思考!

軟體一詞于1956年在美國被正式提出,是指計算機程式及說明程式的各種文檔。現階段,軟體發展存在以下五大趨勢:

01一是計算技術重心轉向網絡化,網際網路成為軟體開發、部署和運作的平台;

02二是軟體服務化趨勢逐漸以應用和軟體産品為中心轉移到以客戶服務為中心;

03三是智能化趨勢逐漸由實體傳感器狀态感覺分析向人類意識思維方向轉變;

04四是作業系統、資料庫、中間件和應用軟體等互相融合,向一體化平台發展;

05五是大量創新技術、業态模式推動人類社會、國民經濟各行業、數字經濟市場快速發展。

01 工業軟體發展曆程

第三次工業革命誕生了電子數字計算機和軟體,從這個意義上而言,電子數字計算機、軟體、工業軟體均為工業産品。然而實際上,電子數字計算機和軟體的出現逐漸将人類知識轉化為軟體,也稱為人類知識軟體化,如圖1所示。

中國工業軟體發展的10點思考!

圖 1 人類知識軟體化趨勢

進階程式設計語言為人類數百年形成的工業知識和技術能力插上軟體的翅膀,工業技術軟體化開始了萬裡長征第一步,工業技術(知識)融入計算機軟體。PatrickJ.Hanratty1957年在GE工作時開發了一個由編制數控程式的CAM系統——PRONTO,據今在用的3D機械CAD/CAM系統中仍存在70%可追溯的原始代碼。

由此可見,第一款CAD/CAM軟體就是用于制造業數控程式設計。軟體化知識意味着子產品化、系列化、标準化、共享化、數字化知識,給予人類知識全新的屬性和力量,讓工業界基于知識加速進行産品創新。在産品創新中,将已經軟體化的知識不斷優化、重組和二次創新。

第二代工業軟體成型及應用于1960-1979年,誕生了商用工業軟體。随着CRT單色顯示器能顯示曲線,繪圖機能繪制曲線,出現了計算機輔助繪圖軟體(CAD)。然而,初期軟體程式員必須熟練使用彙編指令,程式設計過程耗時費力。進階語言出現,簡化了程式設計過程,形成實用的軟體功能。

此外,商用軟體進入快速增長期,工業技術軟體化自身發展在一定程度加速了基礎知識軟體化、軟體知識工業化發展的腳步。例如,CAX軟體研發不僅需要與工業需求相比對,還需具備平面幾何、立體幾何、曲線曲面計算、算法與恰當的圖形顯示表達等方面知識。是以,該時期CAD屬于輔助設計軟體。

中國工業軟體發展的10點思考!

圖2 工業發展和工業軟體程序

從第一款CAD軟體研發後,一系列CAD軟體紛紛面世。工業技術軟體化偉大程序在CAD軟體與技術發展脈絡中可見一斑,如圖2所示。計算機輔助工程(CAE)軟體也是在大量工業需求下出現的産物。第一套通用型有限元分析軟體是為了滿足航天航空工業對結構分析的需求,美國國家航空航天局(NASA)阿波羅登月計劃目的是實作載人登月飛行和對月球的實地考察,為載人行星飛行和探測進行技術準備。是以,誕生了NASTRAN和I-DEAS(內建化機械設計與工程分析系統)軟體。

開發CAE軟體是為了利用計算機輔助技術,求解航天、航空工程中複雜産品的結構強度、剛度、屈曲穩定性、動力響應、熱傳導、三維多體接觸等問題,後續發展為解決大繞度、大應變、粘彈性、蠕變、流體、電磁等複雜非線性問題,及對嵌入式系統軟體進行代碼驗證、模型驗證、硬體在環綜合驗證等系統仿真問題。

通過上述軟體發展過程可見,第一個CAD軟體是為了滿足數控加工需求,第一個CAE軟體是為了滿足航天航空複雜産品需求。工業技術軟體化完全是由工業的内生需求牽引和驅動的一場工業領域研發與生産工具的偉大變革,為研制與創新工藝品提供了一種新能力。由此可見,工業需求牽引是工業軟體開發的動力,工業軟體的核心是長期積累的産品設計知識、工藝知識和生産制造知識。

計算機出現後,可将多年積累、反複驗證後的工業知識轉化為工業軟體,将人的知識轉化為機器知識。世界工業軟體發展的最佳案例就是Francis Bernard開發的CATIA,奠定了世界工業軟體排名第一的輝煌。

工業技術軟體化,工業知識技能至關重要,數學方法、軟體工程思想應用也必不可少。例如,世界上第一枚二極管、三級管和內建電路都來自于貝爾實驗室,第一台數字計算機、軟體概念、人工智能概念均為美國創造。是以,必須清醒認識到:工業創新才是中國工業軟體的核心,缺乏工業和制造業創新就無法産生自主研發的工業軟體。

02 從亞當·斯密《國富論》看現代工業體系分工

亞當·斯密《國富論》中的分工理論系統闡述了勞動分工對提高勞動生産率和增進國民财富的巨大作用。回顧計算機發展曆程,1946年世界第一台電子數字計算機ENIAC隻有硬體,沒有軟體和作業系統,後來研發出軟體,發展至今一直沿用馮·諾依曼體系架構。

1. 硬體架構分工

1965年前,每台計算機作業系統均為IBM360系列,标志着計算機工業化開始。1981年出現個人PC計算機,配置8088 CPU和存儲器,外設包括CRT、鍵盤、軟碟和列印機。随着計算機性能要求不斷提高,數學處理器8087協處理器(Co-Processor)産生。由于在開發CAD時發現,确少8087協處理器将無法支撐大規模CAD計算,是以形成了8088CPU和8087協處理器分工,如圖3所示。

中國工業軟體發展的10點思考!

圖3 支援CAD的PC架構計算機

正常顯示器、鍵盤、磁盤機和列印機已無法滿足CAD軟體使用,必須添加新外設,例如繪圖機、光筆、TABLE‐LAT(光學版,那時沒有滑鼠)等。然而,外設增多将導緻8088CPU處理能力下降。為此,需要在計算機外加一個8089通道處理器,專門處理外部裝置資料輸入輸出。此外,當時8088、8087、8089這3個晶片構成了控制、數學計算和外圍裝置處理的核心計算機。

2. 軟體體系分工

回顧計算機軟體發展曆程,1956年才有軟體和作業系統。直到1965年前,每台計算機僅存在一個作業系統,互相不統一也不共享。之後,陸續出現了資料庫、彙編語言、應用軟體等通用軟體,如圖4所示。

中國工業軟體發展的10點思考!

圖4 計算機軟體體系分工

從通用軟體發展到專用軟體,存在多種作業系統,例如嵌入式、分布式、實時作業系統、網絡作業系統等;資料庫包含關系型、層次型、實時資料庫、分布式資料庫等;程式設計語言包括彙編語言、FORTRAN、BASIC、COBOL、C+等;

應用軟體從資訊管理發展到研發設計、生産控制、嵌入式軟體等。本文倡導工業軟體新生态,将專業軟體發展為通用軟體,面向航空、汽車、造船等不同行業。例如CATIA、西門子、PTC或AUTODESK,可同時應用于航空、汽車、造船、建築等行業,如圖5所示。

中國工業軟體發展的10點思考!

圖5 全球工業通用軟體

本文以CATIA為例,該軟體結構設計功能強大,複雜曲面功能優秀,從點到曲線curve、線架wireframe、曲面surface,最後重構實體。是以,在全球航空工業、汽車複雜外形設計領域廣泛使用。

國内最早大規模用CATIA的是中國航空工業集團第一飛機設計研究院,CATIA V5就是近20年在國内使用過程中優化成熟的産物。CATIA V5剛釋出時共包括200多個子產品,經過第一飛機設計研究院團隊分析後,确定真正适用于飛機設計的不到60個,缺乏飛機設計專用功能子產品,是以花費高額資金購買了兩個CATIA開發包權限。

2000-2002年,在新飛豹設計中第一飛機設計研究院基于開發包開發了幾十個CATIA航空專用子產品,加上購買的近60個通用子產品,共有上百個子產品。目前,通過研制新飛豹、空警2000、ARJ21、運20等系列飛機型号,已積累幾百個基于CATIA平台自主開發的子產品。雖然,各大飛機設計廠商均采用CATIA架構,但第一飛機設計研究院的CAITA與波音、洛馬、空客和法國達索系統公司的CATIA完全不一樣。

由此可見,如此複雜龐大架構的CATIA,航空工業隻能用到一小部分,其中近300個子產品可供汽車行業使用的不到30個,大量中小企業可用子產品更少。并且,中小企業在資金、進階人才短缺的情況下,根本難以組織團隊實作自主開發。

03 中國工業軟體新賽道

全世界工業軟體龍頭企業基本選擇通用工業軟體發展路線,從人類分工到計算機架構分工,再到系統軟體分工。中國的工業軟體企業可針對較為完整的工業體系行業,例如家具、箱包、服裝、家電和汽車等,開發專用設計、仿真、工藝和制造軟體,集中優勢研發,與現有成熟工業軟體互相結合,如圖6所示。

中國工業軟體發展的10點思考!

圖6 建構中國工業軟體新賽道專用工業軟體

工業軟體是必由之路,但中國90%以上中小企業無法負擔大型工業軟體費用。是以,中國工業軟體發展之路應向行業專用工業軟體方向發展。專用工業軟體相較于通用工業軟體更經濟、簡單、好用,占用的計算、網絡資源相對較少,對中小企業優勢更大。

04 中國工業軟體發展的十點思考

1.工業知識原創是核心

工業知識的核心為原始創新。國産的“卡脖子”工業軟體應從數學計算方法和工業技術實體現象領域入手,對該問題認識的高度和目标決定了解決工業軟體“卡脖子”研究的突破方向,關鍵在于CAE、CAD技術研究積累,兩者間存在先CAE後CAD的内在實體關系。

工業品設計力學原理從應用數學有限元分析起步,轉化為計算機輔助設計的技術。由于工業品設計的核心是技術實體參數、常數,是以無法存在一套通用軟體解決中國所欠缺的工業軟體問題,需按照工業分類研發出多類别國産工業軟體。

中國工業軟體發展的10點思考!

2.知識産權保護是生命線

工業軟體實際上是工業設計、研制方案的計算仿真工具,清晰地定義所謂的工業軟體為工業設計方案仿真計算工具。但在如今知識大爆炸時代,也是知識快速傳播時代,迫切需要加強中國知識産權保護工作。

然而,部分地方政府對工業軟體知識産權保護仍落實不到位,以緻于國内一些知識網站還出現了盜版工業軟體的銷售廣告;許多企業缺乏尊重知識産權的意識;部分工業軟體公司口頭上号召保護知識産權,幕後卻千方百計破解好用的工業軟體,供自己參考借鑒。是以,若不下決心做好知識産權保護工作,就難以真正實作中國自主工業軟體研發。

3. 工業軟體難點是複雜産品

工業軟體過去40多年來,在大型複雜産品大規模應用中培養了一大批熟練掌握三維設計的工程技術人員;逐漸完善、改善應用,形成了目前國際三維設計标準;大規模複雜産品在設計、反複疊代以及應用中,持續發現軟體問題并更新換代,形成了現在大量的成熟工業軟體。例如,大型轎車可安裝彩電、冰箱、空調等家電。但是,不能因工業軟體能設計家電,就推而廣之到處宣傳其可設計汽車,因為家電隻是汽車中的一個裝置,複雜度完全不對等。同理,當能設計汽車時就宣傳軟體可設計飛機,也是不合理的,因為汽車設計牽涉約40多個專業門類,而飛機設計牽涉至少200多個專業門類。

此外,工業軟體的複雜産品應用是考題,也是難題,隻有通過應用,才有可能進行推廣。是以,無論是開發、算法、軟體架構還是大規模應用,核心都是複雜産品。當複雜産品做好了,大規模推廣就容易了。

4.以前工業軟體上雲是必然趨勢

以前,中小企業工業軟體使用率低的原因主要有以下3點:

①缺乏資金。部分工業軟體價格高達數十萬元,甚至數百萬元。

②缺乏技術。工業軟體應用需要掌握較深的理論知識和應用經驗,中小企業缺乏工業軟體相關技術,應用軟體難度較大。

③缺乏人才。中小企業科技人員相對較少,還要身兼數職,分工也不夠明确,而工業軟體的深度應用必須要聚焦,是以對于中小企業的工程師而言通常難以做到。

在雲時代,工業軟體上雲可實作按需使用、按次收費,大幅度降低了資金成本。但實施後發現,工業軟體上雲後卻無人問津。雲時代,服務可以開放化,可以由全社會技術專家提供服務,每個人都可能是服務提供者和受益者。

過去,在軟體開發商處購買産,如果開發服務人員的專業與購買方專業類似,就能夠便于提供行業化、知識化等專業性服務,而一旦專業差距較大,就隻能提供正常軟體應用服務。

服務開放化後,企業總能以最低成本找到對公司特别了解的服務者,他們提供的服務可能相較于軟體公司更專業、精準。工業軟體與中小企業親密接觸的方案,既不是工業軟體放低身段委身中小企業,也不是中小企業踮起腳尖高攀工業軟體。而是通過工業雲開辟一個新時空,中小企業、工業軟體和社會化服務者三方互相結合,形成工業軟體雲生态。

5. 工業APP不能解決所有問題

工業APP将工業産品及工業過程的知識和技術顯性化、模型化、軟體化後,形成子產品化軟體,本質是工業知識和技術軟體化。傳統工業軟體是生産工具的數字化,工業APP則是知識、技術和能力的數字化,是機器可執行、使用的知識。中國制造業企業可從聚集企業核心知識入手,有序實施研發技術體系和工業網際網路平台建設,逐漸轉變為以工業APP創新帶動産品、技術創新的新型工業生态。

面對大型複雜産品,尤其是飛機、航母和潛艇等不可分解的複雜産品時,工業APP能夠解決複雜産品分解出的絕大部分零件、元件、部件,甚至子系統初步設計、詳細設計、仿真計算、工藝和生産制造、裝配以及試驗。但需要指出的是,依靠工業APP子產品不可能完全解決全飛機的設計、仿真、工藝和制造問題,仍需大型工業軟體架構的平台與工業APP的體系架構支援。

6. 工業軟體應堅持長期主義

目前,從常見的工業軟體CATIA、西門子PLM、PRO/E、ANSYS等發展曆史可見,達索、麥道、西屋、NASA等公司是世界著名工業軟體的技術源頭。工業軟體需從長期、複雜的航空航天工程中提煉共性技術。該技術來源的特殊性是中國啟動自主工業軟體的重要借鑒,由于中國在第一次到第三次工業革命中均未把握機會,創新能力不足,大量工業技術設計能力較差,工業軟體研制能力和水準較低。是以,工業軟體研發應堅持長期主義,通過多年努力才能有所突破。

7. 開源軟體版權問題

俄烏沖突在西方社會引發了一系列針對俄羅斯的制裁,包括著名的Oracle、SAP、Apple、Google等國際科技巨頭暫停對俄羅斯的服務或産品,GitHub等部分開源軟體及社群也停止了服務。2019年Github就曾表示過受制裁國家的使用者将無法通路許多GitHub服務,尤其是私有代碼庫,但開發者仍然可貢獻并使用公共代碼庫。如果使用者的私有代碼庫受到限制,可選擇公開此代碼庫以維持通路。據悉,目前已有軟體開發者在社交網站上發帖讨論是否禁止俄國程式員使用他們的代碼。

開放性和包容性本是開源文化的基石,開源社群也是以全球通路和參與為目而設計。但從目前實際情況來看,開源其實并不自由,科技也并非無國界。

8. 統籌自主發展與進口

工業軟體是國際生态,不是中國生态。中國是全球經濟重要的一部分,是以中國工業軟體企業要走出國門,加強世界交流,拓展國際市場。是以,建議中國工業軟體企業不僅要在國内發展,也要走出國門。當然,不可置否的是,該進口的工業軟體仍然需要進口。

9. 統籌計劃研發與市場競争

2020年後據公開資訊可見,工業軟體上市公司數量逐漸增多,中控技術、中望軟體、概倫電子等公司陸續登陸資本市場。遠算科技、安世亞太、數位大方、華天軟體、芯華章等公司相繼取得融資。法國達索系統、西門子、EDF、SAP等國外軟體巨頭逐漸加深與中國企業合作,力圖在中國數字化轉型中站穩腳跟。國務院各部委和各地方政府也部署了各類工業軟體開發、攻關的衆多項目和投資。然而,如何避免低層次重複開發投資,依然是一個亟待解決的重大問題。

10.資本和投資忌運動式

人們已經清晰地認識到工業軟體是提升工業智造水準不可或缺的一部分。近年來,中國對工業軟體重視程度不斷提升,頒布了一系列政策強力支援工業軟體發展,整體投資環境向好。然而,從全球市場而言,各環節、領域工業軟體市場幾乎由國際巨頭瓜分,中國工業軟體企業仍處于發展階段,要在工業軟體領域建立和保持競争壁壘,就要緊貼客戶需求,跟緊工業發展現狀。

目前,中國工業軟體市場類似于20世紀90年代國際市場的戰國時代,高端工業軟體遙不可及,低端工業軟體的重複研發遍地開花。是以,投資應慎重選擇,切忌運動式。

05 結語

全球化是必然趨勢,中國工業軟體發展是為了打造人類命運共同體的“全球生态體系”。中國工業軟體要解決的問題不是取代所有進口軟體,而是要解決“卡脖子”的工業軟體問題。是以,工業軟體必須杜絕低層次重複,應面向國際,不斷進行科學探索和制造業創新,建立完整的可持續發展概念,尋找到一條符合中國工業軟體自身發展的道路。

來源: 數字化企業