RemoteMonitor
本項目是一個利用HslCommunication組件讀取PLC的示例項目,演示了後台從PLC循環讀取到前台顯示,並推送給在線客戶端,客戶端同步顯示並畫實時曲線圖。
特性支持
- 本項目基於服務器和客戶端組成
- 支持多客戶端在線同步監視
- 服務器支持日誌記錄,路徑為當前目錄Logs文件夾
- 服務器的數據支持緩存
- 服務器支持查看所有在線客戶端信息,查看在線時間
- 服務器支持強制啟動停止
- 客戶端支持遠程強制啟動停止
- 客戶端演示了曲線顯示及儀錶盤控件的使用
- 提供了一個web版本的實時監控界面
- 支持從瀏覽器進行遠程啟動或是停止設備
- 支持沒有任何設備情況下的虛擬讀取(數據隨機)
- 支持安卓客戶端的同步在線顯示
- 支持安卓進行遠程操作啟停
- 支持安卓顯示曲線,顯示儀錶盤示例
測試讀取為西門子PLC,客戶端的程序可以部署在局域網下其他的任何windows電腦,修改下連接的服務器IP地址,就可以實現遠程同步實時監視效果,安卓端測試需要更改服務器的IP地址,不然會出現連接失敗,測試圖片如下:
服務器端的圖片

winform客戶端

web界面

安卓界面

所有同時打開界面

web端技術說明
- 數據訂閱推送功能,從服務器訂閱採用了HslCommunication組件的訂閱實現
- 數據推送給瀏覽器客戶端,採用了SignalR技術實現
- 數據圖表的顯示,採用了百度開源的ECharts實現儀錶盤和曲線顯示
- 按鈕的點擊採用jQuery Ajax實現,在當前的頁面直接返回是否成功
- web端后台的啟動停止PLC操作,採用了HslCommunication組件的網絡功能實現
安卓端的技術說明
- 數據訂閱使用了HslCommunication.jar組件的訂閱實現
- 後台的啟動停止PLC操作,採用了HslCommunication組件的網絡功能實現
- 儀錶盤採用一個開源的技術:http://dditblog.com/itshare_536.html
- 曲線控件採用一個開源的技術:https://github.com/jjoe64/GraphView
如果需要客戶端支持更高級的內容賬戶登錄,版本控制,消息群發,權限控制等等功能,可以參考下面的項目:
https://github.com/dathlin/ClientServerProject