目 錄
1. 概述... 1
2. 整體介紹... 2
3. 主要功能簡介... 5
1. 概述
歷時9個月的時間,對iNeuOS工業網際網路作業系統進行全面重構,釋出內部測試版本。重構的主要目的:工程化的框架優化,更好的聚焦工業領域業務發展。重構也是保障產品能夠可持續發展的重要手段,同時兼顧產品的安全性和穩定性。此次重構的主要特點:
(1)程式碼層面,進一步統一框架,優化程式碼;功能層面,提高易用性;執行層面,提高執行效率。
(2)整體框架支援租戶,全面支援雲端化部署與應用。
(3)前端優化渲染引擎,渲染能力提高10%左右;後端程式碼執行效率提高3%-5%,實時資料儲存空間降低5%。
(4)前後端全面採用模組化開發,提高二次開發效率和更好滿足業務客製化化開發的需求。
(5)重構系統70%的功能使用「低程式碼」平臺完成開發,基本上具備了「機器」創造「機器」的能力。
開發或選擇一款軟體產品是一件很不容易的事情,很難同時兼顧滿足高質量的程式碼、漂亮的介面和解決場景實際問題。
(1)大部分開發者都懂得對程式碼重構,但是大部分開發者又不具備推倒重構程式碼的勇氣,特別是針對框架性的程式碼。此次對iNeuOS的前端框架、後臺介面和後臺服務進行了全面重構。經常有使用者問我們需要什麼樣的技術要求才能夠進行二次開發?有1年左右工作經驗,大概1周左右就能夠上手了。
前端框架統一採用VUE框架,主要滿足以資料驅動為核心的工程化的業務功能開發與應用,進行元件化開發,減少業務功能開發的程式碼量,同時增強程式碼的可讀性。程式碼如下圖:
後臺介面主要採用NET6(C#)開發語言,框架進行模組化設計,系統功能就像搭建樂高積木一樣,主要滿足領域業務需求不固定、變化多的特點,能夠很快實現功能需求的客製化化,同時又能夠滿足功能之間共性需求的提煉與抽象,進一步形成產品設計。程式碼如下圖:
後臺服務主要採用NET6(C#)開發語言,演演算法和機器學習部分採用python開發語言。此次對後臺服務進行重構的目標主要體現在執行效率上,優化記憶體分配機制,使變數和陣列能夠在連續的記憶體區域上,確保存取的安全性和高效能。程式碼如下圖:
(2)介面實現了傳統選單導航(Menu Navigation)和表單應用(Windows)之間的切換。看似是樣式上的改變,其實是對前端和後端程式碼的較大改動。系統預設採用Windows應用模式,但是也有很多使用者喜歡傳統選單導航的模式,此次升級也做了相容性適配。
表單應用(Windows),如下圖:
傳統選單導航(Menu Navigation),如下圖:
(3)在實際場景化應用方面,產品化+客製化化能夠解決現場的實際問題,做到落地可實施。
從設計理念來看,它具備作業系統的特點:即接、即用、即分析、即顯示,開放式的二次開發。
從以資料為中心的角度看,資料流程化應用:裝置驅動(資料互動驅動)、服務驅動(資料事務處理驅動)、裝置模型(裝置實時通訊及處理)、業務模型(資料分組建模)、資產模型(資料空間規則提取)、計算平臺(資料計算與預警)、資料分析、資料轉發(多層級系統部署)、檢視建模(2D/3D資料展示)、視訊轉換(視訊資料展示)、工藝優化控制(資料聯動控制)、演演算法分析(資料演演算法分析)、Excel報表設計(資料包表模板設計與應用)、表單開發(「低程式碼」開發業務功能)和使用者許可權等;
從更高階的資訊化系統建設來看,完全可以在iNeuOS平臺基礎上承建產線級、企業級、集團級或行業級的物聯網平臺、巨量資料平臺或是工業網際網路平臺,進一步構建裝置管理、能源管理、環保管理、安全系統、工藝管理等子系統一體化的平臺管控系統;
從部署及應用來看,系統完全支援跨平臺部署在windows、linux、docker及國產作業系統,可以實現部署在嵌入式閘道器(資源少)、PC機、伺服器上;
從應用行業來看,已經應用在煤炭、鋼鐵、鎳礦、環保、水務、紙業、加工製造、核能、裝置廠家等領域。
注:功能介紹功能圖為測試環境下的截圖。
(1)支援Modbus、PLC、機床和行業非標裝置等共總119個裝置驅動協定,支援高並行資料採集和反向控制。如下圖:
(2)檢視建模組態,支援5500多個2D/2.5D的SVG向量圖元資訊;支援obj、gltf和fbx格式的3D模型上傳到組態中,關聯資料驅動模型部件;支援標題、資料點、按鈕、視訊監控、容器、圖片和時間等元件;支援折線圖、柱狀圖、限值預警圖、餅圖、油表圖、進度圖、液點陣圖、雷達圖等;支援自定義畫圖元資訊,包括:自由繪製、箭頭、直線、虛線、圓、橢圓、長方形、直角、等邊三角等;支援自定義動作規則,進行預警、改變顏色、閃爍、跳動、旋轉等,支援動作響應優先順序設定。如下圖:
(3)報表設計支援秒、時、日、月和年自定義報表樣式,自定義設定資料展示的模板,繫結資料來源及設定資料的小數位、資料顯示方向、填充數位(顯示多少條資料)、統計(均值、和值、最小值、最大值、中位數和眾數)。如下圖:
(4)「低程式碼」線表單開發工具,支援的表單元件豐富。可讓使用者通過拖拽設定的方式設定表單的增刪查改,支援新增\更新資料唯一性驗證,解放使用者對於基礎表,父子表、多表關聯父子表的開發編輯工作。如下圖
(5)計算預警,支援數學運運算元和函數對資料點進行復雜的計算,支援建立多個計算任務,支援邏輯規劃推理,並對結果進行訊息推播。如下圖:
(6)演演算法分析,演演算法包括:快速傅立葉變換、包絡分析、倒頻譜和自相關等。會對當前資料點進行資料的基本彙總統計:資料量、均值、最大值和最小值等;還會對資料點的原始值和演演算法分析結果進行圖形化展示。如下圖:
(7)資產模型(機器學習),支援通用機器學習演演算法和整合自定義模型演演算法,對工況的多維資料空間訓練模型,提取工況對應的規則,結合資料空間的實時資料預測對應的工況。如下圖:
(8)工藝優化聯動控制支援線上開發業務指令碼,支援多個生產過程聯動控制任務, 指令碼引擎支援內建函數:控制命令(ctrl)、控制延遲(delay)、獲得當前引數(getpara)、儲存中間變數值(save)、控制啟動(start)、控制停止(stop)、最新數值(getvalue)和列印紀錄檔(log)。如下圖:
(9)裝置運維業務大屏統計功能主要統計當前系統裝置數量、預警裝置數量、通訊正常、通訊干擾、通訊中斷及按裝置區域統計和統計預警資訊。展示效果,如下圖:
物聯網&巨量資料技術 QQ群:54256083
物聯網&巨量資料專案 QQ群:727664080
QQ:504547114
微信:wxzz0151
部落格:https://www.cnblogs.com/lsjwq
購買《物聯網軟體架構設計與實現》:京東購買。