工業物聯網對制造企業的改變
“工業4.0”所建構出的“高效生産”、“高柔性定制”的美好願景,吸引了衆多制造企業的目光,同時也對制造企業的資訊化系統提出了更高的要求和挑戰。目前,一般制造企業的資訊化架構還存在很大的不足:1)收集的資訊類型很單一,比如,在裝置端,可程式設計邏輯控制器、SCADA系統(Supervisory control and data acquisition)仍然主導着資料的收集、處理和控制過程。還不能做到對“人、機、料、法、環”的全要素連接配接。2)資訊網絡的流動不充分,各個部門的資訊分離、孤立。資料的使用率低,分析手段單一。資訊最多也隻能在單個企業的區域網路内部流轉,無法彙總得到行業級别的資料。
工業物聯網的目标是将“數以億計”的“裝置狀态”、“傳感器資料”、“在制品資訊”及“業務資訊”都能高效地彙聚到雲端,進行存儲、排序、分組和分析,最終轉換為對裝置、工藝的改進指令,進而驅動業務的優化決策,讓制造企業能充分享受“數字技術紅利”。因而,制造企業的生産裝置、控制系統、工廠網絡、企業營運都将發生重大變化。
阿裡雲IoT為此打造了“雲、管、邊、端”一體化的物聯網技術能力,來打通和融合制造型企業的IT(Information technology)和OT(Operation technology)這兩條路徑,實作制造的數字化和智能化。其中,“雲”提供了PaaS級的行業服務能力。“邊”的内容指“智能網關或是伺服器”上搭建一個軟體架構,承載應用能力和連接配接能力。“端”指的是“裝置側”,如:遠端儀表、智能傳感器等。在“裝置端”,阿裡雲IoT提供了AliOS Things産品。阿裡雲IoT體系希望通過IoT的技術路線,
工業控制器的雲端顯示實驗
本文聚焦一個很小的工業領域場景,解釋如何通過阿裡雲IoT Link Kit套件和DataV,針對一種工控裝置,即“可程式設計邏輯控制器(Programmable Logic Controller) ”,簡單快速的雲化實驗。即,如何進行簡單的雲端資料展示實驗。實驗主要有三個主要步驟:
- 資料讀取——通過OPC協定來讀取裝置資料;
- 資料發送——通過Link Kits将資料發送到OTS存儲;
- 資料顯示——通過DataV對資料進行顯示。
實驗中的各個子產品的關系如下圖所示:
實驗系統簡介
首先,對實驗系統的硬體進行一個簡單的說明。按照裝置的功能來劃分,硬體實驗台所包含的子產品如下:
- 工業控制器及界面——控制器為Siemens S7-200 PLC,人機界面為Siemens Smart Line,人機界面為控制器提供了互動和界面展示的能力。
- 執行裝置:步進電機、位置編碼器、熱電偶及可控矽加熱器等;
- 開關和輸出裝置:一組觸點開關、LED燈、及蜂鳴器等;
在完成實驗台硬體的介紹後,下面就對實作的三個步驟展開說明。
OPC協定來讀取裝置資料
OPCUA協定的介紹
和PC的作業系統軟體不同,在工業終端中的軟體中,沒有像Windows和iOS壟斷性的産品,而是各個工業自動化裝置公司提供自用的系統軟體,如Siemens的SIMATICS,GE的iFIX,National Instrument的LabVIEW等等。
是以就造成了不同工業裝置之間的專屬軟體和專用協定的壁壘。1996年,OPC基金會提出了一種解決方案——OPC協定 (Open Process Control Protocol)[2]。它實作了裝置資訊交換,而不再受制于裝置供應商的通訊相容性限制。在2006年,随着OPC-UA (Unified Architect)的提出,有更多的裝置模型和資料模型的内容被加入到OPC協定中。
在經典OPC的技術架構中,OPC的結構是Client/Server模型。實體裝置的原始資料或經實體接口和驅動直接發送給伺服器,或通過SCADA發送給伺服器。然後,伺服器和用戶端進行資料交換。是以,在我們的實驗中,我們要首先實作一個OPC Server來收集工業控制器的裝置資料。可供選擇的OPC Server軟體有:Kepware的KEPServerEX, Siemens的PC Access,GE的Industrial Gateway Server (IGS)等等。 在本次實驗中,我們采用了KEPServerEX來作為OPC Server來讀取裝置資料。關于OPC Server的配置和使用,可以參考Kepware的教程,這裡就不做展開。
OPCUA Client SDK 的資料通信實作
當OPC Server可以運作後,我們需要實作一個OPCUA Client來訂閱Server上的資料。Client實作的方法比較多,考慮在後面的步驟中,我們需要使用IoT Link Kits的Java SDK,這裡就使用OPC Foundation在github上提供OPCUA的JAVA SDK[3]。關于OPC JAVA SDK的工程配置,就不在這裡展開。隻簡單說明兩點:1) OPC Server的URL要選擇“opc.tcp”聲明,而不是http的方式;2) 裝置資料的tag層級需要由符号“.”來隔開。
…
Link Kits的資料發送及OTS存儲
當我們得到OPC資料後,就可以通過IoT Link Kits的JAVA SDK,經由MQTT協定将資料内容上雲。然後借助IoT Link Kits的“規則引擎”就可以将OPC資料轉存到OTS (Table Store)中,實作了資料的存儲工作。
OTS建立操作和Link Kit的規則配置步驟如下:
- 在OTS控制台,建立一個OTS的資料表,資料表的内容需要同裝置的上報内容一緻,同時也要和資料的顯示内容相一緻。
-
- 在IoT控制台,建立一條規則(如下的toTableStore),其功能是将收到的MQTT資料轉發到上一步驟提到的OTS表格資料。
DataV的資料顯示
顯示界面設計和資料源配置
在DataV的顯示設計中,設計了三個區域,它們分别對應到了實驗台的外部裝置中的“觸點開關”、“熱電偶”及“電機編碼器”的三種實體裝置。
當顯示畫面控件放置完成後,接着就可以綁定“DataV控件”的資料源,也就是将上面提到的Table Store的資料表格和顯示控件關聯起來。首先進入到“資料”界面,顯示如下:
然後,選擇“資料源類型”及“操作”,DataV已經提供了對OTS很好的操作支援。這裡,我們選擇“getRow”,參數格式如下。
同步顯示的界面結果
啟動控制器後,就可以觀察“本地的HMI顯示”和 “DataV的雲端顯示”的同步效果。同步的顯示結果如下視訊所示。
embed: Video.mp4[1]
https://www.isa.org/[2]
https://opcfoundation.org/[3]
https://github.com/OPCFoundation/UA-Java