前言

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

.NET 工控网关 轻量级组态软件的更多相关文章

  1. 开源纯C#工控网关+组态软件

    一.   前言 在园子潜水也七八年了.说来惭愧,这么多年虽然一直自称.NET铁杆粉丝,然仅限于回几个不痛不痒的贴,既没有发布过代码,也没有写过文章. 看着.NET和C#在国外风生水起,国内却日趋没落, ...

  2. 开源纯C#工控网关+组态软件(二)工控网关的实现

    一.   工控网关是什么 网关是物联网和工控系统的核心组件.网关起的是承上启下的作用.上即上位机,电脑/触屏监控系统.MES这些:下即下位机,包括PLC.传感器.嵌入式芯片等. 不同厂家的下位机,往往 ...

  3. 开源纯C#工控网关+组态软件(八)表达式编译器

    一.   引子 监控画面的主要功能之一就是跟踪下位机变量变化,并将这些变化展现为动画.大部分时候,界面上一个图元组件的某个状态,与单一变量Tag绑定,比如电机的运行态,绑定一个MotorRunning ...

  4. 开源纯C#工控网关+组态软件(七)数据采集与归档

    一.   引子 在当前自动化.信息化.智能化的时代背景下,数据的作用日渐凸显.而工业发展到如今,科技含量和自动化水平均显著提高,但对数据的采集.利用才开始起步. 对工业企业而言,数据采集日益受到重视, ...

  5. 开源纯C#工控网关+组态软件(九)定制Visual Studio

    一.   引子 因为最近很忙(lan),很久没发博了.不少朋友对那个右键弹出菜单和连线的功能很感兴趣,因为VS本身是不包含这种功能的.   大家想这是什么鬼,怎么我的设计器没有,其实这是一个微软黑科技 ...

  6. 开源纯C#工控网关+组态软件(十)移植到.NET Core

    一.   引子 写这个开源系列已经十来篇了.自从十年前注册博客园以来,关注了张善友.老赵.xiaotie.深蓝色右手等一众大牛,也围观了逗比的吉日嘎啦.精密顽石等形形色色的园友.然而整整十年一篇文章都 ...

  7. 最新工控\建模仿真\组态\监控集成开发平台源码解决方案2019 ---所有VC++源码100%提供!

    使用E-Form++可视化企业版本,构建属于自己的专业工控.建模仿真. 监控组态.培训仿真平台! -- 100%源码 (全部采用VC++/MFC编写,支持.NET, Java, Web, Delphi ...

  8. 开源纯C#工控网关+组态软件(六)图元组件

    一.   图元概述 图元是构成人机界面的基本单元.如一个个的电机.设备.数据显示.仪表盘,都是图元.构建人机界面的过程就是铺排.挪移.定位图元的过程. 图元设计是绘图和编码的结合.因为图元不仅有显示和 ...

  9. 开源纯C#工控网关+组态软件(三)加入一个新驱动:西门子S7

    一.   引子 首先感谢博客园:第一篇文章.第一个开源项目,算是旗开得胜.可以看到,项目大部分流量来自于博客园,码农乐园,名不虚传^^. 园友给了我很多支持,并提出了很好的改进意见.现加入屏幕分辨率自 ...

  10. 开源纯C#工控网关+组态软件(四)上下位机通讯原理

    一.   网关的功能:承上启下 最近有点忙,更新慢了.感谢园友们给予的支持,现在github上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...

随机推荐

  1. Ubuntu 18.04.4 安装docker18.09 (使用阿里云的源)

    由于AI_Station 是使用容器构建环境的,而且只提供镜像上传下载功能,不为容易提供网络功能,因此需要在平台上把镜像拉取到本地,并安装一些必备软件然后再打包成镜像上传回去,因此需要在本地构建doc ...

  2. GPG公钥的删除与注销

    参考: 如何在 Gitee 上使用 GPG 我们通过在本地主机保存GPG私钥,然后在Gitee或Github上保存GPG公钥的方式来实现对git的commit和tag操作的签名. 当GPG公私秘钥对作 ...

  3. batch normalization的multi-GPU版本该怎么实现? 【Tensorflow 分布式PS/Worker模式下异步更新的情况】

    最近由于实验室有了个AI计算平台,于是研究了些分布式和单机多GPU的深度学习代码,于是遇到了下面的讨论: https://www.zhihu.com/question/59321480/answer/ ...

  4. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-65 - Canvas元素推拽-番外篇

    1.简介 上一篇宏哥想了好多办法都没有演示成功的拖拽Canvas元素,宏哥也说的太绝对了,给大家造成困惑或者误导.一连好几天吃饭睡觉都不怎么香了,脑子中始终对这件事耿耿于怀,自己问自己难道就真的没有办 ...

  5. 京东面试:说说CMS工作原理?

    CMS(Concurrent Mark Sweep)垃圾收集器是以"最短的停顿"著称的垃圾回收器,因此也是 JDK 9 之前使用最广泛的垃圾回收器之一.那么,问题来了,为什么 CM ...

  6. 神经网络之卷积篇:详解Padding

    详解Padding 为了构建深度神经网络,需要学会使用的一个基本的卷积操作就是padding,让来看看它是如何工作的. 如果用一个3×3的过滤器卷积一个6×6的图像,最后会得到一个4×4的输出,也就是 ...

  7. 推荐一款Python开源移动应用安全测试分析工具!!!

    今天给大家推荐一个安全测试相关的开源项目:nccgroup/house 1.介绍 它是一个由 NCC Group 开发的,一个基于Frida和Python编写的动态运行时移动应用分析工具包,提供了基于 ...

  8. manim边学边做--圆形类

    在manim的丰富图形库中,圆形类是一个基础且强大的模块.无论是简单的圆形绘制,还是复杂的圆形变换,它都能以简洁的代码实现. manim中圆形类的相关模块主要有3个: Circle:标准的圆形 Ann ...

  9. WPF 怎么把checkbox改成开关样式

    先看一下效果吧: isChecked = false 的时候的效果 isChecked = true 的时候的效果 然后我们来实现一下这个效果吧 第一步:创建一个空的wpf项目: 第二步:在项目里面添 ...

  10. Word格式刷快捷键失效恢复方法

    突然某天写材料的时候发现word格式刷快捷键变成了Ctrl+Alt+C和Ctrl+Alt+V,用着这个别扭,于是探索如何改回Ctrl+Shift+C和Ctrl+Shift+V,下边是步骤记录. 打开w ...