如何成功開發物聯網MES系統

傳統的MES功能看似完備,但是問題在於,它大部分做的事情都是“系統與人”之間的溝通,而不是物聯網所著重的“事物與事物”之間的溝通。隨著工業4.0的到來,大量的智慧型設備、感應器需要對接,與ERPSCMCRM等系統需要即時對接,傳統MES就會陷入無止境的修改與更新的漩渦中……..

作者: 王昌元

我從台灣的數家美()商公司,轉戰到北京佈局工業4.0,至今已近兩年。在北京創業初期,面對排山倒海的客戶需求,第一個想法是,如果能將台灣的軟體公司帶進大陸,也算是對台灣有所貢獻。由於是做製造業,所以慎選並引進台灣的MES系統就成了首要任務。經過了半年的磨合,最後發現,傳統的MES系統已經無法滿足工業4.0的基本框架與精神,因此轉而自行研發新的符合工業4.0定義的MES

要解釋為何會有這樣的決定,就必須從工業4.0開始。相信大家都知道什麼是工業4.0,也只到工業4.0是由德國率先提出的,在此不做贅述。這裡面有一個細微的重點,一般人可能沒有發現,就是德國所謂的工業4.0是指利用物聯資訊系統 (Cyber-Physical System, 簡稱CPS)將生產線中的供應,製造,銷售資訊資料化、智慧化,最後達到供應快速,有效,客製化的產品。這就讓我想到兩年前還就職SAP的時候,SAP所播放的一段闡述工業4.0的動畫影片:收到客戶訂單之後產線自動排程並準備生產,過程中發現原料不足,便自動通知採購系統向廠商下單採購,最後準時的完成客戶的產品並出貨。這一切都是機器與機器,機器與系統在溝通,說穿了,就是 Thing Thing之間的溝通。

當然,每一個計劃的背後都有其不為人知目的(或許大家心知肚明),德國喊出工業4.0其中的一個重要目的就是希望可以銷售德國的自動化智慧設備;德商SAP推工業4.0的話術是在達成工業4.0之前必須先做到工業3.5,也就是先導入ERP系統;感覺上工業4.0獲利最大的似乎是德國。這也難怪中國、日本、美國最後都提出了對工業4.0的自家定義。(以上純屬個人觀點)

德國所設計的 Cyber-Physical System模型,是工業4.0的精神所在,但是後來發現,由於CPS是讓每個設備都要相連,並且有足夠的智慧處理相互間的資訊,這彷彿就是在每台機器上面加了一台個人電腦,無形中增加了設備的成本也增加了系統設計的難度。最後,既然是 ThingThing的溝通,那麼,與CPS有類似概念的IoT (Internet of Things) 就嶄露頭角了,簡單的說,就是既然不方便互相丟資料,那麼就往上丟吧。一般來說,CPS是工業4.0的子集合,而工業4.0只是IoT 的子集合,因為IoT 的應用範圍更為廣泛。

“物聯網”(Internet of Things)指的是將各種資訊傳感設備,如射頻識別裝置、紅外感應器、全球定位系統、鐳射掃描器等種種裝置與互聯網結合起來而形成的一個巨大網路。其目的是讓所有的物品都與網路連接在一起,方便識別和管理。其中具有代表意義的平臺有PTCThingworx百度百科

與物聯網結合最深的其實還不是工業4.0,而是智慧硬體。今天物聯網和智慧硬體創業的熱潮已經席捲全球,從矽谷到中國,無不為之瘋狂。

根據Acquity集團的調查,2019年三分之二的消費者將會購買聯網家電,而Gartner的報告顯示2020年全球將有260億商業和工業物聯網設備,是2009年的30倍。 — IT 經理網

隨著物聯網和智慧硬體的一日千里、推陳出新,今天似乎任何一家企業都會把自己的產品“智慧化”,無論體重計、運動鞋、空氣清淨機還是平衡車,買回家之後都可以下載手機APP,與這些智慧設備連接。這點小米做的就非常到位,相形之下 HTC 在價格與產品規格上就受到了雙重打擊,大陸市場始終無法拓展。

雖說智慧硬體新產品如雨後春筍般地出現,但是物聯網應用系統開發的成功經驗卻很少有人分享,尤其是在工業4.0方面。與智慧手機、智慧硬體的物聯網開發不同,物聯網在工業4.0上的應用顯然要複雜得多。每一位物聯網應用系統開發者和企業都會問這樣一個問題:最佳的物聯網於工業4.0上的應用和實踐是什麼?是從遠端控制工廠設備?還是即時通知工廠設備維修人員以及生產設備的製造商,某台設備已發出警報需要進行維修?

上述這些應用與實踐其實都是傳統MES該做的,就MES的發展來看,早在1990年美國先進製造研究中心AMRAdvanced Manufacturing Research)就提出了MES(製造執行系統)的概念。MES系統的定義是:針對製造企業工廠執行層的生產資訊化管理系統,細部可以分為製造資料管理、計畫排程管理、生產調度管理、庫存管理、品質管制、人力資源管理、設備管理、工具管理、採購管理、成本管理、即時看板顯示、生產程序控制、資料整合分析等管理模組,為製造業打造一個可靠、全面、可行的製造協同管理平臺。

傳統的MES功能看似完備,但是問題在於,它大部分做的事情都是“系統與人”之間的溝通,而不是物聯網所著重的“事物與事物”之間的溝通。隨著工業4.0的到來,大量的智慧型設備、感應器需要對接,與ERPSCMCRM等系統需要即時對接,傳統MES就會陷入無止境的修改與更新的漩渦中;如果我們換一個角度思考,就是在一個真正的物聯網開發平台上面重新開發MES,所設計出的MES自然就可以符合工業4.0物聯網架構的需求。這就是我當初毅然決然地投入IoT-based Cloud MES 開發的原因,也是 Syncrosoft MES 產生的緣由。

如同網路的七層(或是 TCP/IP的四層)定義一樣,物聯網平台也被切割成四層定義,最底層的是設備層。物聯網終端設備數量很多,包含了設備與感應器,本身沒有顯示介面,並且透過特定網路通訊協定回傳資料(三菱的設備或是PLC自然與西門子的通訊協定不同),而傳遞的時機也有所不同(有可能是 Time-Series 或是 Event-Driven),也就是說,在設備層必須有一堆SDKThings 專門來接收資料,這樣在設計上就可以省去很多麻煩。傳統MES若是要自行開發設備層,就會費時費力並且缺乏彈性。

第二層便是匯集層,在物聯網的世界,我們會將實體的設備與虛擬的 Thing做一對一的對應,就是讓每一台設備都成為 Internet 中的一個 Thing,這在邏輯上就符合了 Internet of Things 的定義,這些Things只要做簡單的 binding,資料的匯入就可以自動進行,應用開發的重點是後端的匯集層。

在設備層、匯集層之上,物聯網應用還需要一個運算層,負責處理物聯網虛擬設備(Things)產生的大資料,也就是MES主系統。這裡包含了工單排配、產線步調、設備監控、工具調度、預警報警等所有MES的邏輯,並且可以與ERP等其他系統的運算層相互溝通,達成互動功能。

最上層,是用戶層,負責將有用的資料與分析結果以視覺化的方式展示到使用者的終端設備,其中包含了電腦、平板、手機等設備,必須完全做到跨平台、跨瀏覽器的展示。這裡的用戶除了指人之外,也包含可供其他系統使用的 RESTful API

實際上,今天已經有很多物聯網導向應用開發的平臺,例如XivelyMnuboBug LabsThingWorx等,這些平臺通常能夠相容大量物聯網產品廠商的設備。使用傳統架構或是物聯網架構開發的差異,我們可以用OnFarm的成功經驗來說明。OnFarm就是利用物聯網平臺開發應用的一個成功案例。

正如一般企業一樣,OnFarm首席執行官Lance Donny一開始準備招聘開發人員自己搭建物聯網平臺,就如同將傳統MES硬改成自己認為的物聯網架構,但隨後很快放棄了這個想法,Donny發覺到這種層級的開發會是一個令人越陷越深的錢坑。最後,他選擇在ThingWorx上開發物聯網應用系統,這樣一來,有現成的設備層可以連接,並透過Thingworx的物件導向設計方式對應出實體設備與虛擬Things,研發團隊只要集中於資料運算和用戶端應用即可。對於那些名不見經傳的感應器,OnFarm雇用了一個SDK開發人員寫了一個感應器與ThingWorx通訊連接(雖是自行開發部份的設備層,但已經把投資降到最低),如果有農場採用了新的感應器,OnFarm只需要與感應器廠家溝通,取得API,再寫一個連接器到ThingWorx就可以。

最後的開發任務只剩下了用戶端儀錶盤,OnFarm雇了四個開發人員開發web應用前端,主要使用的程式設計技術是JavaScript,事實上,ThingWorx本身就提供了最優秀的Drag-and-Drop設計界面,開發人員完全不用觸及到HTML或是CSS的語法,就可以用拖拉的方式開發介面。啟用之後,OnFarm每天從超過5000個農場感應器中採集資料,每月產生超過700萬條資料,這些資料每年以30%的速度增長,當然,這些資料都是大數據分析的重要來源。

工欲善其事,必先利其器;不要認為條條大路通羅馬,方向走錯了永遠也到不了(更不要硬坳地球是圓的…)。用正確的觀念來看待工業4.0、物聯網,好的開始是成功的一半,不用擔心別人的一帶一路,重點是要走出自己的路。

發表迴響