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