.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技术匠]** 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

相关推荐
界面开发小八哥4 小时前
「实战应用」如何用图表控件LightningChart可视化天气数据?(一)
信息可视化·.net·数据可视化·图表控件·lightningchart
喵叔哟7 小时前
【.NET 8 实战--孢子记账--从单体到微服务】--角色(增加/删除/修改/查询)
微服务·架构·.net
martian66520 小时前
基于 C# .NET Framework 4.0 开发实现 WCF 服务实例详解(二)——实现Windows服务内嵌WCF服务
windows·c#·.net
Crazy Struggle1 天前
.NET 实现的交互式 OA 系统
.net·oa系统·办公自动化(oa)系统
dot.Net安全矩阵1 天前
.NET内网实战:不安全的系统令牌特权
前端·windows·安全·web安全·microsoft·.net·交互
dax.net2 天前
.NET云原生应用实践(一):从搭建项目框架结构开始
.net·asp.net core
时光追逐者2 天前
.NET开源跨平台桌面和移动应用的统一框架 - Eto.Forms
microsoft·c#·.net·.netcore·跨平台
小码编匠2 天前
.NET 中利用 TPL 与 PLINQ 充分发挥多核处理器性能
后端·c#·.net
Crazy Struggle2 天前
.NET 代码混淆工具-JIEJIE.NET
.net·jiejie.net·代码混淆工具