簡述 工業控制系統,簡稱工控系統,一般運行在工業生產環境中具有特定功能設備的作業系統,比如收銀系統、過磅稱重系統、無人零售系統等。根據需求不同,有單片機、PLC、Linux、Win7等不同的平臺實現方案,本文主要是針對Windows系統,如何技術選型開發工控系統。 工控控制系統與其他應用系統最大的區 ...
簡述
工業控制系統,簡稱工控系統,一般運行在工業生產環境中具有特定功能設備的作業系統,比如收銀系統、過磅稱重系統、無人零售系統等。根據需求不同,有單片機、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
作者:Billy 出處:http://yizhuqing.cnblogs.com/ 多年.NET平臺開發經驗,擅長物聯網各類設備(地磅、軌道秤、RFID等)集成開發。本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。