本文轉載自CSDN 作(zuò)者:姚家灣
開放自動化成為(wéi)未來自動化控製係統的發展潮流,同時它(tā)也成為一個口(kǒu)號,頻繁出現在各大自動控製廠商的宣傳文(wén)案中。那麽(me),開放自動化到底指的(de)是什(shí)麽(me)?什(shí)麽樣的(de)係(xì)統才是一個理想的開放自動化係統?筆者談談自己的看法。
何為開放係統?
我們首先來看看什麽是開放性係(xì)統?目前還沒(méi)有必要去給它一個確切的定義,筆者認為一個徹底的開放性係統應該具有下麵幾個特征:
1連接任何事物(wù)
不同廠商的軟件(jiàn),硬件(jiàn)都能夠(gòu)方便的接入(rù)開放性係(xì)統.顯然,目前最好的開放性係統就是互聯網。幾乎(hū)快實現萬物互聯的理(lǐ)想(xiǎng)目標了。要知道,計(jì)算機網絡並不是一開(kāi)始就采用開發性協議的,以(yǐ)前各大公司的計算機網絡都是(shì)個(gè)搞一套,比如IBM公司(sī)的SNA網絡,DEC公司的DECNET,都是當時(shí)十分(fèn)流行的計算機網絡(luò)產(chǎn)品。它們之間難(nán)以互聯互通。後來美國建設DARPA網絡過程中,設計了簡(jiǎn)單的TCP/IP協議。逐步使計算機網路成為互聯網現在這個樣子。而ISO標準化委員會著(zhe)名的OSI七層模型就(jiù)稱之為“開放係統互聯(lián)參考模型”。
現代自動控製係統大多(duō)數(shù)是基於網絡實現的。在網絡中接入了大量的傳感(gǎn)器,PLC,計算機,人機交互屏幕等設備和軟件。一個開放自動化係(xì)統,首先要做到不同廠商的設備能夠互聯互通。自動化領域已經開放了各種現場總線(xiàn),比如大家(jiā)耳熟(shú)能詳的現場總線有modbus,fieldbus,CANOpen,EtherCAT等(děng)等。目前,不同廠商的設備之(zhī)間互聯還比較困(kùn)難,有(yǒu)時需(xū)要各種各樣奇奇(qí)怪怪的網(wǎng)關產品。
要實現(xiàn)設(shè)備真正意義上的互聯(lián)互通,僅僅依靠協議是不夠的,還需要語義的標準化(huà)。隻有互相采用熟悉的語義,溝通才(cái)能(néng)進行。語義標準化的難度和工作量更大。在自動化工程的具體實踐中,我們經常會發現(xiàn);世界上最長的距離是兩個帶有(yǒu)Ethernet接口的設備卻無法交(jiāo)換數據(jù)。
設(shè)備無法互聯互通的另一個後果是協議和軟件係統成(chéng)為了國際大廠市場的護城河。其它中小型企業(yè)的創新產品無法接(jiē)入以國際大廠自(zì)動控製係統為主的自動化係統中。這也是我們自動化領域國產化產品水平不高的一個主要原因。
2任(rèn)何數據可以被訪(fǎng)問
係統中的大多數數據可(kě)以通過標準化的協議和(hé)信息模型被外部係統訪問。標準化的協議和信息模型可能包括OPC UA ,MQTT等等。
AI和大數據(jù)在工業自動化領域的應用將會在未來(lái)越來越普及。目前大數(shù)據公司麵臨的最大困惑是,工業大數據被傳統封閉的(de)自動化(huà)係統困死在(zài)信息孤(gū)島(dǎo)中,業主不敢動,係統集成公司不願意開放給第(dì)三(sān)方,大數據公司難以獲取現場數據,大數據麵臨著(zhe)沒(méi)有數據的尷尬局麵。大多數工業雲平台還隻是停(tíng)留在PLC+網關的方式獲取(qǔ)數據,或者與控製係統建立並行的數據采集終端。
理想的開放自動化係統應該在保證係統安全的前提下,向第三(sān)方提供各種數據。是大數據分析,AI訓練,數(shù)字孿生係統能夠獲取足夠的(de)數據。
3在任何地方運行
軟件在自(zì)動(dòng)控製係統中的作用越來越大,開發自動控製係統的軟件的效(xiào)率至(zhì)關(guān)重要。不過(guò)到目前為止,自動控製領(lǐng)域基本(běn)上和早期的計算(suàn)機行業類似,軟件嚴重地依賴所運行的設備。不同廠商的PLC采樣不同的編程工具軟件,開(kāi)發的程序(xù)基本上無法在其它PLC廠商(shāng)的產品上運行。軟件的重用性極低,更換廠商的學習曲線陡峭。
一個(gè)開放自動(dòng)化係統,應該實(shí)現“一次編程,任何地方運行”的理(lǐ)想。IEC61131-3 /IEC61499標(biāo)準都在努力地實現PLC編程語言的標準(zhǔn)化,加上Soft PC技術,部分實現(xiàn)軟件的可移植性,可重用(yòng)性的目標。
4任何東西都可(kě)以被(bèi)替換
一個(gè)大型的工業(yè)自(zì)動(dòng)化係統往往要運行(háng)十(shí)幾年,甚至幾十年。對(duì)於一個封閉式係統而言,設(shè)備的維修,升級和(hé)替換就是一個很大的問題,比如在太陽(yáng)能行業(yè),矽片切割設備上(shàng)千萬元一台,設備早過了(le)保修期,甚至當年開發這(zhè)個設備的(de)工程(chéng)師都已經退休了。內部控製器還(hái)是Intel的(de)386CPU,國內維修人員也難以找到配件,目前隻能拆東牆補西牆。
如果是一個開(kāi)放(fàng)自動化係統,我們完全可以使用現在的控製平(píng)台替代老舊的控製器,延長設備的使(shǐ)用壽命。
一個理想的(de)開放自動化係統,應該能夠將舊設備上的應用程(chéng)序移(yí)植到新的設備上,軟件資產的生命周期和硬件控(kòng)製器的生命周期分(fèn)離。既可以獨立地更新軟件,也可以獨立地更新硬件。
5共同參與開發(fā)
一個開放的係統其實是一個生態係統,能夠由許多(duō)人參與(yǔ)其中,他們(men)可(kě)能是重要(yào)的自(zì)動化(huà)廠商,也可以(yǐ)是係統集成商,用(yòng)戶和第三方增值開發商。眾人添柴火焰高,社會化開發的生態係統才富有活力。
在傳統的自(zì)動化係(xì)統(tǒng)中所有的PLC功能塊庫(kù),SCADA組件(jiàn)幾乎(hū)都(dōu)是由公司(sī)自己開發的。第(dì)三方難以涉足其(qí)中,而用戶幾乎隻有組(zǔ)態的權利。
而在一個理想(xiǎng)的開發自動化生態中,開發工具(jù),運行時等技術也許(xǔ)是核心廠商開發的。但是其它的開(kāi)發廠商(shāng)能夠參與開發功能塊庫,應用程序。他們可以采(cǎi)樣類似手機(jī)App市場那樣推廣,並獲(huò)得應有的商業利益(yì)。富有創新的技術能夠迅速地導入。
1開放通信(xìn)協議和信息模型
基(jī)礎物理通信技(jì)術:以(yǐ)太(tài)網,TSN以太網,CAN,5G等技術將成(chéng)為開放自動(dòng)化的主流通信方式。其上的通信協議包括TCP/IP,HTTP,modbusTCP,websocket,MQTT等等。
信息模型主要解(jiě)決語義的(de)問題。為了(le)使係統中的(de)各部分能夠充分地互聯,實(shí)現所謂的“插入即生(shēng)產”等工業數字化目標,各種資產的數字化信息模型的標(biāo)準化和工業界達成廣泛共識就非常重要。目(mù)前OPC UA主要的一種信息模型。
采用統一的信息模型姑且重要,而為自動控製領域的各種資產建立數字(zì)化信息模型更為重要(yào)。要對(duì)成千上萬的傳(chuán)感器,設備(bèi)建(jiàn)模。這是一個巨量(liàng)的(de)工程,而且需要業界達成共識。
作為(wéi)一個開放自動化係統,需要能夠為建立信息(xī)模型提供有效工具。
2標準(zhǔn)化的(de)設計語言及其運行(háng)環境
開放自動化係統普遍采用標準化的編程語言,比如目前流行的IEC61131-3 PLC語(yǔ)言和未來的IEC61499功能塊。然而,僅僅采納了標準化語言還是(shì)不夠的。我們知道,無論是(shì)IEC61131-3的梯形圖,ST和功能塊,還是IEC61499的功能塊應用。它(tā)們都還隻(zhī)是“高級語(yǔ)言”,最終(zhōng)需要轉變(biàn)成為“機器代碼”或者“中間代碼”,最(zuì)終下載到(dào)PLC中的(de)運行,它們或者是特殊CPU的機器代碼,或者是廠商自定義的中間代碼。這些技術都是嚴重依賴廠商的。而(ér)標準沒有對“機器(qì)代碼”或者“中間代碼”,的格式提出格式規範。這導致了PLC程序無法直接在不同廠商硬件上運行。開放自動化係統將公開目標代碼的格式,並且采樣類似(sì)XML這樣的語言來描述。
PLC的程(chéng)序下載(zǎi),更新,運行監控稱為管理協議,它(tā)們同樣需要標準化和開放協議。這樣才可能實現“一次編程,到處運行“的夢想。
另一個十分重要的方麵,就是要規(guī)範和開放功能塊(kuài)庫的開發技術。對於IEC61499而言,用戶(hù)可以使用ST語言,來構(gòu)建基本功能塊和複合功能塊。有些開發工具可以使用Lua,java來編寫功能塊庫。如果要(yào)開發涉(shè)及通信,硬件的服務功能塊,使用C++更加合適。開發環境如何向用戶開放運(yùn)行時的功能塊接口(kǒu),使用戶,第三方開發者(zhě)開放功能塊庫(kù)對(duì)於構建開放自(zì)動化生態同樣十分重(chóng)要。隻有豐富的功能(néng)塊庫出現,才(cái)會(huì)帶來開發自動化的繁(fán)榮。功能塊庫對於開(kāi)放(fàng)自動化而言,就(jiù)相當於App和智能手機的關係。
3軟硬件解耦
人們會問,為什麽許多公(gōng)司都(dōu)聲稱采用IEC61131-3標準,但是它們的(de)軟件為什麽(me)仍然沒有辦法相互兼容呢?這主要(yào)由於像PLC這樣的控製設備的程序是嚴重依賴硬件(jiàn)的。盡管控製語言和信息模型標準化了。但是大量與硬(yìng)件有關的程序庫,功(gōng)能塊是廠商依賴型的。
理想的開放自動化係(xì)統,應該允許開放第三方硬件以及相關的(de)功能塊庫。
4與IT技術充分融(róng)合
TCP/UDP,MQTT,HTTPS,Web API等IT領域的通信協議成為開放自動化係統(tǒng)的接(jiē)口。這些都是(shì)IT領域常用的通信(xìn)協議。
IT領(lǐng)域和自動(dòng)控製OT技(jì)術的(de)界線越來(lái)越模糊,自動(dòng)化會不(bú)斷(duàn)地導入IT領域的新技術,比如AI,大數據,時間序列(liè)數(shù)據庫,雲平台(tái),容(róng)器技術等等。一個(gè)好的開放(fàng)自動化係統將促進IT和(hé)OT技(jì)術的相互(hù)融合。
5跨平台HMI
長期以來,自動控製領域的人機交互接(jiē)口設備大多數是基於Windows OS 實現。而且HMI的接口(kǒu)協議和(hé)信息模型各不相同。許多HMI使用C#或者C++ 實現。近年來也有基於Linux/ QT,androids或者 NodeJS。UI設計采樣HTML5/CSS/JavaScript 這樣的跨平台,開(kāi)放(fàng)性技術。
理想的開放自動化的HMI應該(gāi)是跨平台的,HMI可以允許運行在基於windows,Linux,androids工業(yè)屏上,也能夠運行在Web,手機和平板電腦上(shàng)。實現(xiàn)多(duō)屏融合。要實現這一點,使用HTML5/CSS/JavaScript可能更加合適。
也有(yǒu)人(rén)擔心,開放自動化時代是否真的會到來,畢竟它動了某些大佬們(men)的“奶酪“,原來自動化領域的大公司可能會(huì)失去一部分原有的優勢(shì)。對於這一點,我還是比較樂觀的。開(kāi)放自動化會被一批富有情(qíng)懷和(hé)創新精神的企業和(hé)個體不斷地推動,為自動化帶來繁榮和創(chuàng)新(xīn)。大公司也會積極參與開放自動化(huà)的潮流中來(lái),開放使自動(dòng)化市場的蛋糕更大了。也會為它們帶來新的(de)發展機會。例如施耐德公司最(zuì)近就發布了基於IEC61499的EcoStruxure™ Automation Expert (EAE),融入了他們早(zǎo)先收購(gòu)的nxtControl公司的技術。
推動(dòng)開放自動化發展的另一個重要(yào)力量將是開源項目,它們會起(qǐ)到鯰魚效應。給這整個市場帶來活力。要(yào)不然,開放自動化會被人玩壞來了。人們的擔心並不是空穴來風。曆史上(shàng)有過這樣的事情發(fā)生。