.NET 工控网关 轻量级组态软件

前言

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 数据库帮助组件,同时为变量数据归档提供支持。

  • ClientDriverModbusDriverOPCDriverFileDriver:各类通讯组件。

Example 目录 [存放样例]:

  • 参照 Document/部署流程,还原数据库,修改配置文件。

  • 启动 BatchCoreTest.exe(服务端)。

  • 再启动 CoreTest.exe(客户端)。

项目计划

1、支持 .NET Core

当前已有测试版位于CoreApp文件夹中。

2、实现更多通讯接口

计划支持欧姆龙、OPC UA 等通讯协议。

3、提供更多图元组件

增加适用于楼宇自控、化工等行业的新图元组件。

4、功能扩展

进一步增强数据处理能力和过程控制功能。

5、增强安全性

安全性是重中之重,目前在这方面还需要进一步加强。

项目效果

项目地址

**GitHub:**https://github.com/GavinYellow/SharpSCADA

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号**[DotNet技术匠]** 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

相关推荐
波波00717 小时前
每日一题:中间件是如何工作的?
中间件·.net·面试题
无风听海18 小时前
.NET 10之可空引用类型
数据结构·.net
码云数智-园园18 小时前
基于 JSON 配置的 .NET 桌面应用自动更新实现指南
.net
无风听海18 小时前
.NET 10 之dotnet run的功能
.net
岩屿18 小时前
Ubuntu下安装Docker并部署.NET API(二)
运维·docker·容器·.net
码云数智-大飞18 小时前
.NET 中高效实现 List 集合去重的多种方法详解
.net
easyboot18 小时前
使用tinyply.net保存ply格式点云
.net
张人玉18 小时前
WPF 多语言实现完整笔记(.NET 4.7.2)
笔记·.net·wpf·多语言实现·多语言适配
波波0072 天前
Native AOT 能改变什么?.NET 预编译技术深度剖析
开发语言·.net
Crazy Struggle2 天前
.NET 中如何快速实现 List 集合去重?
c#·.net