前言
C# 工控閘道器 + 輕量級組態軟體。
專案介紹
SharpSCADA 是一個開源專案,提供靈活且強大的解決方案,以滿足工業自動化和監控的需求。
作為一個輕量級的工業控制閘道器和組態軟體,SharpSCADA 支援多種工業協議,包括西門子的 Profinet、AB 的 EtherNet/IP、施耐德的 Modbus 以及 OPC 等,透過類 OPC 介面閘道器實現資料通訊。
主要特性
1、輕量級工控閘道器
支援主要的工業協議,包括西門子的 Profinet、AB 的 EtherNet/IP、施耐德的 Modbus 以及 OPC。
採用類 OPC 介面閘道器實現資料通訊。
2、資料採集、歸檔、預警及配置工具
支援實時資料採集、歷史資料歸檔、變數觸發預警。
使用 TagConfig 工具實現簡便的配置。
3、人機介面(設計時和執行時)
設計時:採用 Microsoft Visual Studio + 設計器外掛(已測試透過 VS2010 至 VS2015 社群版)。
透過繼承 HMIControlBase 介面並編寫少量程式碼即可實現複雜的圖元元件。支援圖元拖放、組合、連線、變數繫結及編輯功能。
執行時:透過 Microsoft Visual Studio 編譯為可執行檔案。
專案使用
1、測試原始碼
開啟專案工程檔案:在\SCADA\Program\DataExchange.sln
執行(支援 VS2010 至 VS2015 各版本)。
2、執行可執行檔案測試
Server 端測試:在\SCADA\Program\BatchCoreTest\bin\Debug
目錄下執行 BatchCoreTest.exe
。
Client 端測試:在\SCADA\Program\CoreTest\bin\Debug
目錄下執行 CoreTest.exe
。
參考Document
資料夾中的教程:
-
《部署流程》
-
《設計流程》
3、快速啟動
還原資料庫
修改配置檔案並複製到 C 盤根目錄下
修改資料庫內驅動程式的路徑
執行 DEMO
具體流程可參看《部署流程》文件。
4、開發工具
Visual Studio/Blend:作為組態設計器,推薦使用 VS2010 或 VS2015 版本。
專案目錄
Database 目錄 [存放資料檔案]:
-
db2014.bak
:SQL Server 2014 資料備份檔案。 -
db2008.bak
:SQL Server 2008 資料備份檔案。 -
test.opf
:Kepserver 4.5 資料檔案(可透過該軟體還原為變數表)。 -
兩個
.csv
檔案:兩組變數檔案。
DataConfig 目錄 [存放配置檔案]:
-
host.cfg
:主配置檔案,第一行為閘道器伺服器名/IP地址。本地測試時,預設為localhost
。 -
client.xml
:客戶端配置檔案。 -
server.xml
:閘道器服務配置檔案。
dll 目錄 [存放驅動程式及第三方元件]:
-
OPCDriver
:OPC 通訊元件。 -
DynamicDataDisplay
:開源歸檔資料顯示元件。 -
WPFToolkit
:WPF 開源擴充套件工具包。 -
libnodave
:西門子驅動開源庫。
TagConfig 目錄 [存放配置工具]:
- 可方便配置驅動、組、變數、報警、量程等資訊。支援匯入匯出。
Program 目錄 [存放原始碼]:
-
BatchCoreTest
工程:閘道器伺服器測試程式碼(控制檯顯示)。 -
BatchCoreService
工程:與BatchCoreTest
類似,但可編譯為 Windows 服務。 -
DataService
工程:框架及主要介面元件。 -
CoreTest
工程:樣例檔案,包含一系列介面元素。 -
HMIControl
工程:圖元元件,支援工具欄拖放。 -
LinkableControlDesignTime
工程:Visual Studio 設計器支援外掛。 -
DataHelper
工程:SQL 資料庫幫助元件,同時為變數資料歸檔提供支援。 -
ClientDriver
、ModbusDriver
、OPCDriver
、FileDriver
:各類通訊元件。
Example 目錄 [存放樣例]:
-
參照
Document/部署流程
,還原資料庫,修改配置檔案。 -
啟動
BatchCoreTest.exe
(服務端)。 -
再啟動
CoreTest.exe
(客戶端)。
專案計劃
1、支援 .NET Core
當前已有測試版位於CoreApp
資料夾中。
2、實現更多通訊介面
計劃支援歐姆龍、OPC UA 等通訊協議。
3、提供更多圖元元件
增加適用於樓宇自控、化工等行業的新圖元元件。
4、功能擴充套件
進一步增強資料處理能力和過程控制功能。
5、增強安全性
安全性是重中之重,目前在這方面還需要進一步加強。
專案效果
專案地址
GitHub:https://github.com/GavinYellow/SharpSCADA
如果你覺得這篇文章對你有幫助,不妨點個贊支援一下!你的支援是我繼續分享知識的動力。如果有任何疑問或需要進一步的幫助,歡迎隨時留言。
也可以加入微信公眾號[DotNet技術匠] 社群,與其他熱愛技術的同行一起交流心得,共同成長!優秀是一種習慣,歡迎大家留言學習!