簡述
工業控制系統,簡稱工控系統,一般執行在工業生產環境中具有特定功能裝置的作業系統,比如收銀系統、過磅稱重系統、無人零售系統等。根據需求不同,有微控制器、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
用 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