工業軟體,姓軟還是姓工?
【編者按】對於工業軟體,到底應該從工業角度思考,還是應該在IT領域創新,一直以來都是一個大問題,儘管二者立場不同,但可以肯定的是這都是一種創新。
本文就從工業角度探討了工業軟體未來發展的可能。文章摘自英諾維盛,作者為趙敏,中國發明協會常務理事,創新方法研究會常務理事,走向智慧研究院執行院長,工信部CPS發展論壇副祕書長。
工業軟體顯然不同於一般IT軟體。必須重新認識和重新定義工業軟體。工業軟體是以工業知識為核心、以CPS形式執行、為工業品帶來高附加值的、用於工業目的的所有軟體的總稱。
筆者在2018年6月寫了“為工業軟體正名”文章,在業界引起了不少人的思考和討論,工業軟體“姓工”的觀點獲得了絕大多數人的認同。但也有一位讀者給筆者留言,認為“任何軟體都是IT,只是服務領域不同”,這說明還是有些人在這個問題上持不同觀點。筆者想強調和“正名”的是:工業軟體第一屬性應該是工業技術,第二屬性才是IT。如不這樣去認識問題,中國工業軟體發展是看不到希望的。
經過半年多的思考,筆者對工業軟體的工業屬性有了新認識,把其中與工業屬性有關的內容重新梳理,呈獻讀者。
工業軟體源於工業真實需求
如果要問誰是世界上最大的軟體企業,你可能會猜測是微軟、谷歌或蘋果?你猜錯了!如僅看軟體程式碼行數,一直青睞工業軟體的美國最大軍火商洛克希德·馬丁公司,早已超過微軟成為世界最大的軟體/工業軟體公司。
波音、洛克希德、NASA等航太巨頭,從上個世紀60年代就開始了工業軟體的培育與研發。繼而在70年代的冷戰時期,成為了工業軟體開發的爆發期,財大氣粗的軍火商、汽車商們,有條件獨立開發或依託某軟體商開發早期的CAX軟體。例如:
CADAM——由美國洛克希德公司支援的商用軟體; CALMA——由美國通用電氣公司開發的商用軟體; CV——由美國波音公司支援的商用軟體; I-DEAS——由美國NASA支援的商用軟體; UG——由美國麥道公司開發的商用軟體; CATIA——由法國達索公司開發的商用軟體; SURF——由德國大眾汽車公司開發的自用軟體; PDGS——由美國福特汽車公司開發的自用軟體; EUCLID——由法國雷諾公司開發的自用軟體,後成為商用軟體; ANSYS——西屋電氣太空核子實驗室自用軟體,後成為商用軟體。
這樣的例子有很多,不在此一一贅述。
為什麼六十年前這些工業巨頭要自己開發工業軟體?因為有複雜產品研發需求!當產品越來越複雜靠、人手工繪圖已經極難駕馭,同時計算機繪圖和驅動物理裝置成為可能的時候,用先進的計算機技術來表達和加工產品,就成為了真實而急迫的需求。有了需求企業自然原因花巨資去自主開發工業軟體。
上述先行者的軟體有的不斷髮展和兼併,有的逐漸被市場淘汰或者自我放棄,大量的新型工業軟體不斷湧現,軟體的專業範圍也從製造業逐漸擴大到能源、原材料等領域,最終逐漸演變成為了今天的工業軟體市場格局。
工業軟體優化於工業應用
工業軟體已經發展了幾十年。在最近十年,中國的工業軟體界開始認識到了這個規律:任何一款工業軟體,如果沒有工業界的深入應用,這個軟體就很難成熟,例如很難發現頂層設計缺陷,很難發現機理模型的演算法缺陷,很難獲得適合於某種專業性的潛在研發改進需求,很難獲得工業界新出現的訣竅(Know-how)知識,很難獲得工業界巨頭的投資青睞等等。因此,工業軟體不斷推出新好功能,同時工業界在實踐應用中對工業軟體進行“反哺”,是一種雙方長期積極互動的雙贏情境。
因此,振興工業軟體問題,並不是僅僅靠政府、資本方、工業巨頭等投入鉅額研發資金的問題,工業界大規模地參與應用工業軟體並反饋軟體缺陷也是一個非常重要的問題。工業是“皮”,工業軟體是“毛”,皮之不存,毛將焉附!
不必諱言,無論從論證初衷、採購額、裝機數量以及客觀使用結果,中國工業界一直不太看好、不願選用國產工業軟體。據估算近幾年正式採購的國產工業軟體只佔全部採購的5%(充其量不會超過10%)。至於為什麼會這樣,是一個一言難盡的複雜問題。筆者僅列舉幾點:
開發主體問題:從三十多年前國內開始開發工業軟體(如二維工程繪圖等),國內就是以高校和研究所作為軟體研發單位,基本上企業不參與軟體開發。因此,如此開發出來的軟體,絕大多數都不太適合企業應用,這些國產軟體絕大多數都已經消失,極少數提供了符合國標的符號庫、零件庫的軟體頑強生存了下來。
企業對工業軟體高度輕視問題:早年(甚至到今天)企業領導都不認為工業軟體有多麼重要,絕大多數決策者心態是寧願買計算機也不願意買軟體;如果真想用軟體了就去買盜版;或者輕蔑地認為找上幾個會程式設計的大學生、研究生就能自己編軟體;當編來編去軟體不能用而又確實需要軟體時,企業就又會轉向購買國外工業軟體。
軟體功能問題:國外工業軟體已經相當成熟,體系架構穩定,功能齊全。可以提供很多企業實際要求的複雜設計、生產、運營與維護功能,但是國產工業軟體能實現的功能還比較有限,同樣的功能水平有限。因此同類軟體選型對比時,競爭乏力。
由此而形成了工業軟體市場贏者佔先、強者愈強的馬太效應。
缺乏國內工業界支援和“反哺”的國產工業軟體一直在生存邊緣苦苦掙扎,艱難度日,而獲得國內工業界支援和“反哺”的國外工業軟體則越做越大,日益優化好用。例如,達索CATIA V5版是在PC上執行的首個版本,剛釋出時全世界沒有人敢用它設計飛機整機。國內某飛機設計所迎難而上,首次用V5版設計了全數字樣機,並且發現和反饋了數百個大大小小軟體缺陷,讓達索公司及時改進優化了CATIA V5版。
IT廠商不可能開發出適用的工業軟體
這個問題如鯁在喉,必須單獨討論——國內上下普遍認為工業軟體第一屬性是IT,這是一個極其重大的失誤,也幾乎是國產工業軟體的“死穴”。
只要一開研討工業軟體問題的會議,會議主辦方就找來很多網際網路、資料庫、作業系統、社交軟體、電信軟體、電商軟體等IT企業,真正開發工業軟體的人和企業代表則沒有幾位,這樣一票人聚在一起雲山霧罩地討論半天,如同“雞對鴨講”,如同研究如何讓猴子去生出大猩猩來。
殊不知,國內IT企業並沒有工業軟體的開發與持續改進能力,不管它有多少人,多少錢!
結論看起來似乎有點“絕對”,但是這是殘酷的歷史與現實。
筆者涉足工業軟體36年,一直在觀察和思考中國工業軟體難以振興的問題。個人將其總結為以下原因:
首先,中國沒有完成工業化程序。不要小看這一點,讀者可以看一下現有的工業軟體強國,美國、德國、法國、西班牙、瑞士甚至日本等,無一不是已經完成工業化程序的工業強國。完成了工業化的國家,不一定都能開發出優秀的工業軟體,但是沒有完成工業化的國家是肯定沒有優秀的工業軟體的。
筆者認為其中道理在於:沒有完成工業化程序,就沒有深厚的工業技術積累;沒有深厚的工業技術積累,就無法將工業技術軟體化。
而在國內,工業化程序還在中途,還在嘗試以兩化融合的方式加速發展完成。更令人擔憂的是,國內企業普遍不重視工業技術的積累和工業知識的管理,沒有多少工業技術可供軟體化。再加之極度缺乏資金、人才、政策、市場等工業軟體成功的必備要素,因此工業軟體無法崛起就不難理解了。
因此,天生缺失工業基因,沒有工業技術儲備,是IT公司的短板。他們若想進軍工業軟體行業,基本上都是說說和想想而已。即使真有雄心壯志砸個幾十億人民幣進去,未必能聽到響聲。或許花大錢買斷一兩個國外中小工業軟體企業,還有幾分可能性。但是買來的軟體能不能適用,能不能可持續發展,能不能參與國內外市場競爭,就都是未知數了。
微軟是公認的軟體巨擘,有錢、有人、有客戶、有銷售渠道,從十多年前就開發ERP軟體,但是迄今為止也沒有修成正果。無論過去還是現在,無論國內還是國外,迄今為止,都沒有IT廠商開發工業軟體並躍居榜首的先例。
工業知識造就工業軟體
筆者在《智慧製造術語解讀》書中“軟體定義製造”詞條中寫到:“結合資訊化百人會專家安筱鵬博士在《軟體視角中的未來工業》一文中提出的觀點與本文作者在《三體智慧革命》一書中的三體智慧模型,下面給出了基於三體(物理實體、意識人體、數字虛體)互動實現軟體賦能與使能的邏輯閉環:物理世界執行(對映為人類意識活動)→執行規律化→規律模型化→模型演算法化→演算法程式碼化→程式碼軟體化→軟體優化物理世界執行(和人類行為)”。
工業軟體的本質是什麼?安筱鵬博士認為:“本質是事物執行規律的程式碼化,是指導甚至控制物理世界高效、有序乃至創造性運轉的工具,是工業和商業技術體系的載體,也是人類經驗、知識和智慧的結晶。”
筆者認為,工業軟體的本質是CPS(賽博物理系統),核心內容是工業知識,是經過千錘百煉、反覆應用中沉澱、積累下來的、證明行之有效的工業知識。這些工業知識是人類智力的延伸,最終以工業軟體的形式實現了為機器賦能,形成了“機·智”。
其道理如圖1所示,人類(意識人體)在長期與物理世界(物理實體)互動過程中所積累的規律性、原理性的工業知識,進行梳理與歸納,將其形成系統化的機理模型和演算法知識,然後將這些知識程式碼化、軟體化,成為功能強大的數字虛體,建立軟體定義的資料自動流動規則體系,以自動流動的位元資料,把這些知識搭載、輸送到任何需要的地方,由此而以恰當的、泛在的知識指導機器和/或人來正確工作。這就是基於CPS的機器之智——“機·智”。
工業軟體集成了自工業革命以來人類最優秀的工業知識和技術積累,包含了研發、工藝、裝配、業務流程、供應鏈、員工知識、管理等各類知識,沉澱、匯聚了眾多的機理模型和先進演算法,並且每天有千百萬的企業使用者在不斷反饋使用問題和改進建議,有千百萬的開發者在每天不斷改進、優化這些軟體程式碼和程式,任何一個個體所擁有的知識體系都無法與其抗衡。
寶鋼研究院前首席研究員郭朝暉在他的博文“十二年結出的果子:工業大資料分析案例”中提到,曾經就寶鋼熱軋專案中如何找到一個可靠演算法傷透了腦筋:
最初“我們沒有采用神經元、決策樹、模式聚類等分析演算法。一個重要的原因是:這些方法得到的結果,可能沒辦法用於指導生產。”
後來發現“線性迴歸和複雜的神經元演算法精度上差別並不大。更重要的是:我知道神經元方法太容易‘過擬合’,可靠性絕不是強項、而是弱項。事實上,後來12年的深入研究也確認:在一個鋼種(尤其是簡單的鋼種)範圍內,線性模型的確可以很好地逼近實際物件。”
最終認識到“在瞭解誤差分佈的前提下,我們可以進行誤差校正:從單個鋼種得到的結果,經過放大之後,才是真正的物理規律:就是通過分析不同鋼種得到的結果。”
郭首席經過反覆精煉修正,提出了一種“可加模型”,即多個子模型之和,每個子模型都很簡單,由此而獲得了簡單可靠的演算法,將其寫入軟體。由此,一個長期困擾冶金界的世紀難題,被郭首席用十二年的苦苦鑽研與持續探索給解決了。
現在還有多少人願意花十二年的時間去優化一個計算模型?恐怕是很少了。但是在工業軟體界,一個軟體持續優化更新幾十年是很常見的。正是因為有這些工業精英的堅持與不懈努力,有來自工業實踐中的反覆精煉與沉澱,才有了工業軟體中的海量工業知識。
重新認識和定義工業軟體
從IT意義上說,軟體是一系列按照特定順序組織的計算機資料和指令的集合。這是不帶有任何工業要素的、純粹IT概念的定義,顯然,這並不符合工業軟體的真實含義。工業界必須與時俱進,給出自己的工業軟體定義。
事實上,如果考慮工業軟體的執行環境、作用機理和未來發展潛力,有必要修正甚至重新定義工業軟體。
現在很多人所說、所寫、所討論的“工業軟體”(如CAX、PLM、ERP、MES等),其實實質上都是指“製造業資訊化軟體”,並不是完整意義上的工業軟體。以“製造業資訊化軟體”來指代工業軟體,有些以偏概全。
從目的上來說,所有用於工業目的的軟體都應該稱作工業軟體。不限於製造業,包括能源(水電、煤電、核電、燃氣等)、原材料(探、採、煉等)等領域的軟體都是工業軟體。
從內容上來說,工業知識是工業軟體的核心內容,工業軟體是工業知識的最佳容器。沒有工業知識,就沒有工業軟體。因此工業技術軟體化具有歷史和現實的重要意義。
從執行環境上來說,工業軟體並不是一個純粹的數字虛體,它必須生存、執行在晶片中,通過晶片的一系列開關操作,來控制底層硬體(如顯示計算結果)。
從作用機理上來說,工業軟體發展到形成閉環,可以直接作用於物理系統,以真正兩化融合的方式形成CPS(賽博物理系統),體現“機·智”。
從工業品結構上來說,工業軟體已經是工業品的一部分,已經是工業裝備中的“軟裝備”,有必要將其單獨列裝,並著重進行戰略規劃。如果說中國的工業品硬裝備生產門類已經是世界第一,但是在工業品軟裝備的生產上,還是技術落後,殘缺不齊。
從價值上來說,工業軟體大大提升了工業品價值。總體上,有內建軟體的工業品比沒有軟體的附加值高,軟體程式碼越多的工業品附加值越高,軟體演算法越好的工業品附加值越高。很多高階複雜工業品,一旦拿掉其中的軟體,該產品就會立即貶值或者報廢。
從發展潛力上說,軟體是演算法發展的沃土,演算法是軟體一個深藏巨大潛力的變數。使用普通演算法即普通軟體,植入人工智慧演算法即人工智慧軟體。因此無論是智數製造(DM)、智巧製造(SM),還是基於新一代人工智慧的智慧製造(IM),其發展關鍵皆在於工業軟體。
綜上所述,工業軟體是以工業知識為核心、以CPS形式執行、為工業品帶來高附加值的、用於工業目的的所有軟體的總稱。
工業軟體顯然不同於一般IT軟體。必須重新認識和重新定義工業軟體。
筆者認為:工業軟體是以工業知識為核心、以CPS形式執行、為工業品帶來高附加值的、用於工業目的的所有軟體的總稱。
工業軟體源於工業真實需求;工業知識造就了工業軟體;沒有工業軟體就沒有複雜工業品的研發、製造、維護,工業軟體本身就是工業品的一個專屬門類;工業的實踐應用“反哺”優化了工業軟體;因此工業軟體與工業息息相關,脣齒相依,相得益彰。