二者年代領(lǐng)域不同
工業(yè)軟件的出現(xiàn)要早很多年。工業(yè)軟件源于工業(yè)IT領(lǐng)域,業(yè)界比較公認(rèn)的第一款工業(yè)軟件是1957年出現(xiàn)的一款名為PRONTO的數(shù)控程序編制軟件,由“CAD/CAM之父”PatrickJ.Hanratty博士在GE工作時(shí)開發(fā)。若以此為起點(diǎn),工業(yè)軟件已有64年的歷史了;若以美國宇航局(NASA)在1966年開發(fā)的世界首款CAE軟件NASTRAN起算,也有55年的歷史。自20世紀(jì)70年代起,各種類型的工業(yè)軟件爆發(fā)式增長。
工業(yè)互聯(lián)網(wǎng)的源頭是工業(yè)自動(dòng)化領(lǐng)域。1999年物聯(lián)網(wǎng)出現(xiàn)后,2002年出現(xiàn)工業(yè)物聯(lián)網(wǎng),2007-2008年中國企業(yè)開始在世界上首次使用“工業(yè)互聯(lián)網(wǎng)”術(shù)語。數(shù)年后,工業(yè)內(nèi)部誕生的工業(yè)以太網(wǎng)與工業(yè)外部誕生的物聯(lián)網(wǎng)匯合到了一起,形成了今天的工業(yè)互聯(lián)網(wǎng)。
二者用途目的不同
筆者在《鑄魂:軟件定義制造》前言中寫道:工業(yè)軟件是工業(yè)化的頂級產(chǎn)物。
工業(yè)軟件如容器一般盛裝了人類的工業(yè)知識,給制造業(yè)帶來兩大巨變:一是改變了傳統(tǒng)的設(shè)計(jì)、工藝、生產(chǎn)和運(yùn)維方式,產(chǎn)品隨時(shí)在賽博空間迭代優(yōu)化,使制造過程敏捷精準(zhǔn);二是塑造了產(chǎn)品的“五官”和“大腦”,產(chǎn)品在物理空間的行為隨場景而自動(dòng)調(diào)整。由此,交互式工業(yè)軟件主要在賽博空間定義數(shù)字產(chǎn)品的形、態(tài)、發(fā)展演變規(guī)律等,嵌入式工業(yè)軟件主要在物理空間定義物理產(chǎn)品的形、態(tài)、發(fā)展演變規(guī)律等。
工業(yè)軟件可以理解為一種用“數(shù)字腦”代替人腦的過程輔助產(chǎn)品研制,控制機(jī)器運(yùn)行,其關(guān)鍵詞是“定義”———定義賽博和物理兩個(gè)空間的各種人造系統(tǒng)。
工業(yè)互聯(lián)網(wǎng)是連接各種泛工業(yè)終端(如人、機(jī)、料、法、環(huán)、測等)的網(wǎng)絡(luò),總體上說是一種包含了各種工業(yè)物理設(shè)備、傳感器、工業(yè)網(wǎng)絡(luò)、嵌入式系統(tǒng)或工業(yè)電腦的復(fù)合型裝備網(wǎng)絡(luò),是新型的工業(yè)基礎(chǔ)設(shè)施。
工業(yè)互聯(lián)網(wǎng)的建設(shè)既可以從IT層向下扎根,進(jìn)入OT層,也可以從OT層向上生長,進(jìn)入IT層。工業(yè)互聯(lián)網(wǎng)的主要用途是加速“知識自動(dòng)流動(dòng)”,進(jìn)而促進(jìn)工業(yè)資源的優(yōu)化配置。其關(guān)鍵詞是“連接”———連接賽博空間和物理空間的各種系統(tǒng),從正確的物理聯(lián)接,到正確的數(shù)據(jù)聯(lián)接,再到正確的邏輯聯(lián)接。
二者發(fā)展趨勢不同
工業(yè)軟件的類別有很多,筆者在《鑄魂:軟件定義制造》書中列出了幾百種不同的工業(yè)軟件。南山工業(yè)書院林雪萍在《工業(yè)軟件無盡的邊疆:寫在“十四五”專項(xiàng)之前》一文中提到:“大概有5000多家工業(yè)軟件供應(yīng)商提供了近2萬種不同的工業(yè)軟件。而實(shí)際上,大量的工業(yè)軟件并未被收錄,因此實(shí)際數(shù)目要遠(yuǎn)大于此。”
工業(yè)軟件以工具軟件為主流,傾向于“特立獨(dú)行”,分類上趨于發(fā)散,不同的工業(yè)軟件廠商,喜歡以不同的架構(gòu),不同的高級語言,面向不同的工業(yè)細(xì)分領(lǐng)域,開發(fā)不同的工具軟件。盡管也有諸如PLM或類似的平臺類軟件進(jìn)行集成,但是能被PLM集成的工業(yè)軟件的數(shù)量是有限的。大量的工業(yè)軟件是分散、游離在PLM之外的。
工業(yè)互聯(lián)網(wǎng)從一誕生就以“聯(lián)接+集成”為己任,以開發(fā)工業(yè)互聯(lián)網(wǎng)平臺為導(dǎo)向。而工業(yè)互聯(lián)網(wǎng)平臺又起到了一個(gè)“工業(yè)操作系統(tǒng)”的作用。
因此,工業(yè)互聯(lián)網(wǎng)平臺就相當(dāng)于一個(gè)集成大平臺。理想情況下,各種工業(yè)APP都以SaaS的方式運(yùn)行在工業(yè)互聯(lián)網(wǎng)平臺上。工業(yè)互聯(lián)網(wǎng)平臺本身(類似PLM的新型工業(yè)軟件)以及運(yùn)行在其上的工業(yè)APP(基于微服務(wù)的新型工業(yè)軟件),分類上趨于集成。
二者層次架構(gòu)不同
在《鑄魂:軟件定義制造》書中,筆者將工業(yè)互聯(lián)網(wǎng)三層結(jié)構(gòu)與電腦網(wǎng)絡(luò)的三層結(jié)構(gòu)做了一個(gè)類比??梢钥闯觯讓佑晒I(yè)終端設(shè)備組成的工業(yè)互聯(lián)網(wǎng)可以類比電腦;中層的工業(yè)互聯(lián)網(wǎng)平臺(也稱工業(yè)操作系統(tǒng)、工業(yè)安卓),可類比電腦常用操作系統(tǒng),如iOS、安卓、塞班等;工業(yè)APP是工業(yè)互聯(lián)網(wǎng)平臺上的新型工業(yè)軟件,可類比電腦上的應(yīng)用軟件。
按照目前國家統(tǒng)計(jì)局的經(jīng)濟(jì)分類標(biāo)準(zhǔn),工業(yè)軟件僅僅屬于電腦應(yīng)用軟件的一個(gè)子集。二者之間雖然都是類似的三層結(jié)構(gòu),但是交互式工業(yè)軟件通常運(yùn)行在電腦單機(jī)或局域網(wǎng)上,屬于傳統(tǒng)ISA95架構(gòu),而工業(yè)APP運(yùn)行在基于云架構(gòu)的工業(yè)互聯(lián)網(wǎng)平臺上,屬于微服務(wù)架構(gòu)。
交互式工業(yè)軟件屬于應(yīng)用層,嵌入式工業(yè)軟件屬于設(shè)備的邊緣層,工業(yè)互聯(lián)網(wǎng)總體上屬于工業(yè)基礎(chǔ)設(shè)施。如果沒有說明與哪一部分工業(yè)軟件對標(biāo),泛泛地比較“工業(yè)軟件與工業(yè)互聯(lián)網(wǎng)”,或討論二者之間的從屬關(guān)系,通常是說不清楚的。
二者計(jì)算模式不同
工業(yè)軟件和工業(yè)互聯(lián)網(wǎng)都離不開計(jì)算。計(jì)算模式的不同或許是二者最大的不同。
在計(jì)算上,基于統(tǒng)計(jì)學(xué)的云計(jì)算和基于MBSE(基于模型的系統(tǒng)工程)的工程計(jì)算,是兩種截然不同的計(jì)算模式。
云平臺提供的并行計(jì)算的模式是,假如要算10億條數(shù)據(jù)的平均值,如果單機(jī)算力不夠快,可以把計(jì)算平均分配到10個(gè)節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)各算1億條數(shù)據(jù),算完以后,10個(gè)計(jì)算結(jié)果發(fā)送到某一臺主機(jī)上去做匯總。這個(gè)過程中,10個(gè)節(jié)點(diǎn)計(jì)算完成的時(shí)間點(diǎn)是隨機(jī)的,但是算出結(jié)果的先后次序并不產(chǎn)生問題,因?yàn)楦鞴?jié)點(diǎn)之間彼此沒有耦合關(guān)系,這樣就可以并行計(jì)算,對計(jì)算節(jié)點(diǎn)的調(diào)用也是算完即釋放計(jì)算資源,不再占用?,F(xiàn)在的工業(yè)互聯(lián)網(wǎng)PaaS層的微服務(wù),采用的就是這種計(jì)算模式,理想情況下,每個(gè)微服務(wù)都是一個(gè)計(jì)算任務(wù)(算法+數(shù)據(jù)),調(diào)用IaaS層的算力完成計(jì)算。
工業(yè)軟件中基于MBSE的計(jì)算就不同了,計(jì)算任務(wù)之間是串行模式。比如有一個(gè)CAE大計(jì)算任務(wù),要分成10個(gè)計(jì)算任務(wù),任務(wù)1算完了以后,然后再交給任務(wù)2,然后再交給任務(wù)3……因?yàn)槿蝿?wù)2要得到任務(wù)1的輸出數(shù)據(jù)作為自身計(jì)算的輸入,才能做計(jì)算,同樣,任務(wù)3也要得到任務(wù)2的輸出數(shù)據(jù)才能做計(jì)算,而且可能任務(wù)8、9、10一直占用計(jì)算資源。因此,一個(gè)CAE大計(jì)算任務(wù)往往是在單機(jī)上跑,不能被拆分到若干個(gè)主機(jī)去做并行計(jì)算。即使是做多主機(jī)協(xié)同仿真,把大任務(wù)切成不同的計(jì)算任務(wù)到不同主機(jī)節(jié)點(diǎn)上計(jì)算,就必須要事先做好配置———任務(wù)1的輸出結(jié)果要給任務(wù)2,同時(shí)把任務(wù)1部署到某一個(gè)節(jié)點(diǎn)上,任務(wù)2要部署到另一個(gè)節(jié)點(diǎn)上,然后讓兩個(gè)節(jié)點(diǎn)之間保持通信,同時(shí)任務(wù)2的輸出結(jié)果要給任務(wù)3……這些計(jì)算任務(wù)之間具有典型的“緊耦合”關(guān)系。
例如用CAE軟件對一桌臺球進(jìn)行運(yùn)動(dòng)與碰撞仿真時(shí),程序需要對每個(gè)球的位置、速度、方向等數(shù)據(jù)進(jìn)行保存,而不能將這些數(shù)據(jù)交由外部程序進(jìn)行管理,上下文數(shù)據(jù)之間呈現(xiàn)出依賴度極高的“緊耦合”關(guān)系。
部署在工業(yè)互聯(lián)網(wǎng)平臺上的工業(yè)APP,目前普遍采用了微服務(wù)架構(gòu),調(diào)用了IaaS層云計(jì)算的算力。但是,即使是先天帶有并行計(jì)算便利性的微服務(wù),在組成工業(yè)APP組件時(shí),也需要遵循工業(yè)軟件中的MBSE的串行計(jì)算模式,把每一個(gè)微服務(wù)都作為一個(gè)一個(gè)的計(jì)算任務(wù)進(jìn)行協(xié)同計(jì)算的配置,上下文數(shù)據(jù)之間必須是“緊耦合”關(guān)系,才能實(shí)現(xiàn)工業(yè)APP的計(jì)算功能。
云計(jì)算的并行計(jì)算和微服務(wù)的核心是“無狀態(tài)服務(wù)”計(jì)算模式。所謂“無狀態(tài)服務(wù)”的技術(shù)特點(diǎn)就是不對處理的上下文數(shù)據(jù)進(jìn)行保存和管理。換句話說,每個(gè)計(jì)算的輸入數(shù)據(jù)均來自服務(wù)的外部輸入,同時(shí)計(jì)算結(jié)果的輸出也不會(huì)在微服務(wù)內(nèi)部保存,通常會(huì)輸出給外部應(yīng)用或數(shù)據(jù)庫。“無狀態(tài)服務(wù)”計(jì)算模式的優(yōu)點(diǎn)在于可以通過集群化部署,實(shí)現(xiàn)并行計(jì)算、高可用性和彈性伸縮等特性。但缺點(diǎn)在于,當(dāng)需要實(shí)現(xiàn)經(jīng)典軟件架構(gòu)時(shí),微服務(wù)架構(gòu)反而會(huì)把簡單的問題復(fù)雜化,并極大提高系統(tǒng)設(shè)計(jì)與開發(fā)的難度。因?yàn)樵?ldquo;無狀態(tài)計(jì)算”的模式下,不得不借助程序外部的上下文管理機(jī)制,實(shí)現(xiàn)有狀態(tài)計(jì)算,而目前的技術(shù)體系在處理此類問題時(shí)并不理想,既缺少實(shí)時(shí)性,也缺少靈活性。
綜上所述,在工業(yè)互聯(lián)網(wǎng)平臺上研發(fā)一款MBSE工業(yè)APP時(shí),設(shè)計(jì)人員會(huì)面臨上述的兩難問題:一方面是微服務(wù)因“無狀態(tài)服務(wù)”特性所存在的短板,另一方面是經(jīng)典架構(gòu)的高門檻。
工業(yè)軟件與工業(yè)互聯(lián)網(wǎng),也有一些相同、類似之處。
二者的相似之處
二者都帶有“工業(yè)”的標(biāo)簽
第一個(gè)相似之處是二者都帶有“工業(yè)”這個(gè)與生俱來的標(biāo)簽。因?yàn)楣I(yè)軟件和工業(yè)互聯(lián)網(wǎng)的源頭都是誕生于工業(yè)領(lǐng)域,時(shí)至今日,這個(gè)基本格局仍然沒有變;早期的工業(yè)互聯(lián)網(wǎng)誕生于基于工業(yè)自動(dòng)化的需求而產(chǎn)生的工業(yè)以太網(wǎng)。
工業(yè)互聯(lián)網(wǎng)中的嵌入式軟件是工業(yè)軟件之一
第二個(gè)相似之處,是前面提到在機(jī)器設(shè)備的PLC和各種控制單元(CU)中就有嵌入式工業(yè)軟件,如各種固定的生產(chǎn)設(shè)備和移動(dòng)的運(yùn)載車輛,它們往往以固件的形式運(yùn)行在機(jī)器設(shè)備的嵌入式系統(tǒng)中,打包在設(shè)備中整體銷售,不單獨(dú)計(jì)算或統(tǒng)計(jì),因此大多不為人知。機(jī)器設(shè)備中的嵌入式工業(yè)軟件,可以算作是工業(yè)互聯(lián)網(wǎng)的一部分?;蛘哒f,工業(yè)互聯(lián)網(wǎng)邊緣層(終端)中的嵌入式軟件是工業(yè)軟件之一。
越來越多的工業(yè)軟件進(jìn)入工業(yè)互聯(lián)網(wǎng)平臺
第三個(gè)相似之處,是伴隨著軟件工具上云、業(yè)務(wù)系統(tǒng)上云、工業(yè)APP開發(fā)的過程,很多傳統(tǒng)架構(gòu)的工業(yè)軟件已經(jīng)開始向云端遷移。同時(shí),基于云的CAD、CAE、MES、PDM、ERP等軟件也不斷涌現(xiàn)。因此,新型架構(gòu)的工業(yè)軟件進(jìn)入工業(yè)互聯(lián)網(wǎng)平臺,加強(qiáng)工互聯(lián)網(wǎng)平臺的應(yīng)用與服務(wù),就成為了一個(gè)發(fā)展趨勢。
即使傳統(tǒng)架構(gòu)的工業(yè)軟件經(jīng)過云化遷移到了工業(yè)互聯(lián)網(wǎng)平臺上,形成了工業(yè)APP,形成了統(tǒng)一應(yīng)用界面,但是其MBSE的天性,仍然要求工業(yè)APP必須按照MBSE的模式進(jìn)行串行計(jì)算。
比較工業(yè)軟件和工業(yè)互聯(lián)網(wǎng)的異同之處是一個(gè)很難做的工作,因?yàn)闅v史和現(xiàn)實(shí)、傳統(tǒng)和前沿、獨(dú)立和融合等多種因素綜合在了一起,任何的厘清和辨析嘗試,都既需要“博古通今,從頭說起”,也需要“專業(yè)貫通,跨界融合”。
傳統(tǒng)架構(gòu)的工業(yè)軟件已經(jīng)存在了60多年,而且因?yàn)楣I(yè)的需要,還將繼續(xù)存在很長時(shí)間,并不會(huì)因?yàn)椴糠止I(yè)軟件的云化和工業(yè)互聯(lián)網(wǎng)的蓬勃興起而被完全替代。尤其是工業(yè)邏輯天生帶有MBSE的基因,不是融入一些新架構(gòu)或新計(jì)算工具就可以輕易改變的。
現(xiàn)在,工業(yè)互聯(lián)網(wǎng)的高歌猛進(jìn),又讓很多不同專業(yè)的技術(shù)跨界融合在了一起,帶來了高度的技術(shù)復(fù)雜性和多元化的觀察視角。工業(yè)互聯(lián)網(wǎng),既不是某些ICT領(lǐng)域所認(rèn)知和定義的一張電信互聯(lián)網(wǎng),也不是某些工業(yè)領(lǐng)域所認(rèn)知的機(jī)器設(shè)備物聯(lián)網(wǎng),更不是傳統(tǒng)架構(gòu)工業(yè)軟件領(lǐng)域所認(rèn)知和定義的軟件集成和云化。工業(yè)互聯(lián)網(wǎng)比以上三者要更綜合、更強(qiáng)大。
工業(yè)軟件與工業(yè)互聯(lián)網(wǎng)從幾十年前到今天,二者都是長期獨(dú)立存在,但是其本身都在變化,也正在發(fā)生交匯與融合:工業(yè)互聯(lián)網(wǎng)中包含了大部分嵌入式工業(yè)軟件,工業(yè)軟件中也加入了新型的基于微服務(wù)架構(gòu)的工業(yè)互聯(lián)網(wǎng)APP。盡管如此,兩個(gè)領(lǐng)域仍然界線清晰,特色分明,“五不同三相似”是一個(gè)基本的現(xiàn)狀。
更多詳細(xì)信息,請您微信關(guān)注“計(jì)算網(wǎng)”公眾號: