工業控制系統開發如何技術選型?

2022-12-09 12:00:41

簡述

工業控制系統,簡稱工控系統,一般執行在工業生產環境中具有特定功能裝置的作業系統,比如收銀系統、過磅稱重系統、無人零售系統等。根據需求不同,有微控制器、PLC、Linux、Win7等不同的平臺實現方案,本文主要是針對Windows系統,如何技術選型開發工控系統。

工控控制系統與其他應用系統最大的區別「硬體控制」,比如一套收銀系統需要控制電子秤、印表機、掃碼槍等外設。

傳統技術棧

PC端控制硬體,一般的技術架構是採用C/S架構的桌面程式開發。

特點:

1. C/S架構,開發成本高、UI介面不美觀。

2. 伺服器部署資料庫。

3. 使用者端使用桌面技術開發(Winform\WPF\Qt\Delphi)。

新型技術棧

目前比較流行的桌面開發方案是B/S和C/S混合架構,基於 Web 技術進行桌面程式的開發漸漸變成了主流,優點對前端介面的程式碼可以做到複用,同時又具備使用者端深度控制,最要的一點以前必須設定c/s開發人員的工作,現在前端技術人員就可以搞定節省成本。

特點:

1.採用B/S 和 C/S 混合架構,簡稱B/C/S。

2.B端是指瀏覽器端,介面可以使用原生HTML/JQuery,也可以使用Vue、uniapp等技術。

3.C端是使用者端,使用js呼叫系統底層介面完成邏輯控制。

4.S端是伺服器端,可以使用Java、.Net、Php、Go等伺服器端技術開發。

Electron

IMG_256

用 Electron 來做桌面程式開發的優勢明顯,相當於是完全的網頁程式設計,有 Web 開發經驗的前端開發上手非常容易。Web 開發生態廣泛,開發成本低,可延伸性強,一些流行的前端框架例如 React、Angular、Vue 都可以和 electron 結合進行開發。另外它也具備和 Qt 一樣跨平臺的優良特性。對效能要求不高的桌面版程式來說,一份程式碼同時得到網頁版和各個平臺的桌面版,開發的效率是其他方案無法比的。

DIOT

整合B端和C端的需求,包含瀏覽器核心和微服務使用者端兩大塊。使用Web技術開發硬體整合。

DIOT使用.Net framework4.6開發,基於WebApi和Wpf框架。經過多年實際專案開發經驗積累、完善的一款物聯網使用者端工具。

微服務使用者端

1.呼叫作業系統底層介面,檔案、列印、網路、CMD命令等。

2.串列埠外部裝置整合,電子秤、訊號燈、地磅、軌道秤、RFID等。

3.擴充套件能力,當內建功能不能滿足需求,可以自定義開發使用者端外掛。

4.封裝dao.js,方便web程式呼叫。

5.提供微服務WebApi介面。

工控瀏覽器

1.支援載入HTML/JS/CSS展示介面,使用CEF(Chrome 核心)做為渲染視窗引擎。

2.支援常用的工控操作,介面全螢幕、退出系統、關機等操作。

3.支援開機自啟動。

與electron的區別

1.electron通用型桌面程式開發

2.electron使用nodejs為後臺技術,底層控制是單程序內互動,UI與底層相互影響。

3.DIOT定位解決物聯網終端控制套件相關的技術

4.DIOT使用.Net技術,提供webapi/websocket進行邏輯控制。

5.DIOT支援分散式呼叫,UI與底層控制是獨立進場,物聯網服務卡頓不影響UI介面,一個UI可以控制多臺工控主機(分散式部署多個服務)。

6.DIOT支援載入線上web資源,同時也支援載入離線本地資源,打包為離執行緒式。

 

總結,如果是常規桌面開發,需要跨平臺支援建議使用electron。如果是工控類系統開發,沒有底層開發人員,需要外部裝置整合,可以考慮DIOT。

 

參考文章

https://blog.csdn.net/terrychinaz/article/details/113812055