.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 数据库帮助组件,同时为变量数据归档提供支持。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技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

.NET 工控网关 轻量级组态软件的更多相关文章
- 开源纯C#工控网关+组态软件
一. 前言 在园子潜水也七八年了.说来惭愧,这么多年虽然一直自称.NET铁杆粉丝,然仅限于回几个不痛不痒的贴,既没有发布过代码,也没有写过文章. 看着.NET和C#在国外风生水起,国内却日趋没落, ...
- 开源纯C#工控网关+组态软件(二)工控网关的实现
一. 工控网关是什么 网关是物联网和工控系统的核心组件.网关起的是承上启下的作用.上即上位机,电脑/触屏监控系统.MES这些:下即下位机,包括PLC.传感器.嵌入式芯片等. 不同厂家的下位机,往往 ...
- 开源纯C#工控网关+组态软件(八)表达式编译器
一. 引子 监控画面的主要功能之一就是跟踪下位机变量变化,并将这些变化展现为动画.大部分时候,界面上一个图元组件的某个状态,与单一变量Tag绑定,比如电机的运行态,绑定一个MotorRunning ...
- 开源纯C#工控网关+组态软件(七)数据采集与归档
一. 引子 在当前自动化.信息化.智能化的时代背景下,数据的作用日渐凸显.而工业发展到如今,科技含量和自动化水平均显著提高,但对数据的采集.利用才开始起步. 对工业企业而言,数据采集日益受到重视, ...
- 开源纯C#工控网关+组态软件(九)定制Visual Studio
一. 引子 因为最近很忙(lan),很久没发博了.不少朋友对那个右键弹出菜单和连线的功能很感兴趣,因为VS本身是不包含这种功能的. 大家想这是什么鬼,怎么我的设计器没有,其实这是一个微软黑科技 ...
- 开源纯C#工控网关+组态软件(十)移植到.NET Core
一. 引子 写这个开源系列已经十来篇了.自从十年前注册博客园以来,关注了张善友.老赵.xiaotie.深蓝色右手等一众大牛,也围观了逗比的吉日嘎啦.精密顽石等形形色色的园友.然而整整十年一篇文章都 ...
- 最新工控\建模仿真\组态\监控集成开发平台源码解决方案2019 ---所有VC++源码100%提供!
使用E-Form++可视化企业版本,构建属于自己的专业工控.建模仿真. 监控组态.培训仿真平台! -- 100%源码 (全部采用VC++/MFC编写,支持.NET, Java, Web, Delphi ...
- 开源纯C#工控网关+组态软件(六)图元组件
一. 图元概述 图元是构成人机界面的基本单元.如一个个的电机.设备.数据显示.仪表盘,都是图元.构建人机界面的过程就是铺排.挪移.定位图元的过程. 图元设计是绘图和编码的结合.因为图元不仅有显示和 ...
- 开源纯C#工控网关+组态软件(三)加入一个新驱动:西门子S7
一. 引子 首先感谢博客园:第一篇文章.第一个开源项目,算是旗开得胜.可以看到,项目大部分流量来自于博客园,码农乐园,名不虚传^^. 园友给了我很多支持,并提出了很好的改进意见.现加入屏幕分辨率自 ...
- 开源纯C#工控网关+组态软件(四)上下位机通讯原理
一. 网关的功能:承上启下 最近有点忙,更新慢了.感谢园友们给予的支持,现在github上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...
随机推荐
- 一个简单的例子测试numpy和Jax的性能对比 (续)
相关: 一个简单的例子测试numpy和Jax的性能对比 numpy代码: import numpy as np import time x = np.random.random([10000, 100 ...
- TensorFlow和pytorch中的pin_memory和non_blocking设置是做什么的,又是否有用???(续2)
接前文: TensorFlow和pytorch中的pin_memory和non_blocking设置是做什么的,又是否有用??? TensorFlow和pytorch中的pin_memory和non_ ...
- 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(6) —— Python版本实现的《2048》游戏环境运行性能对比
<2048>游戏在线试玩地址: https://play2048.co/ 如何解决<2048>游戏源于外网的一个讨论帖子,而这个帖子则是讨论如何解决该游戏的最早开始,可谓是&q ...
- 海豚调度任务类型Apache SeaTunnel部署指南
Apache DolphinScheduler已支持Apache SeaTunnel任务类型,本文介绍了SeaTunnel任务类型如何创建,任务参数,以及任务样例. 一.Apache SeaTunne ...
- 关于Vue + element plus包装Component理解
关于Vue + element plus包装Component理解 一.关于编写思路 我以设计el-select选择框进行举例说明 父组件与Component传递params与Function使用Pr ...
- 【音视频通话】使用asp.net core 8+vue3 实现高效音视频通话
引言 在三年前,写智能小车的时候,当时小车上有一个摄像头需要采集,实现推拉流的操作,技术选型当时第一版用的是nginx的rtmp的推拉流,服务器的配置环境是centos,2H4G3M的一个配置,ngi ...
- vue中代理解决跨域
跨域是什么 简单的讲就是你在一个地方使用另一个地方的资源,被浏览器给挡下来了,不让不用!当然,它挡下来是有自己理由的:为了安全(╬▔皿▔)╯. 解决跨域 我是用vue开发的,就vue代理模式解决跨域说 ...
- Patlibc———更快捷的更换libc
起初是为了简化做pwn题目时,来回更换libc的麻烦,为了简化命令,弄了一个小脚本,可以加入到/usr/local/bin中,当作一个快捷指令 这个写在了tools库(git clone https: ...
- Redis入门 - C#|.NET Core封装Nuget包
经过前面章节的学习,可以说大家已经算Redis开发入门了.已经可以去到项目上磨砺了. 但是今天我还想和大家分享一章:封装自己的Redis C#库,然后打包成Nuget包. 首先要说明的是:不是要自己开 ...
- CSS & JS Effect – Dialog Modal
效果 参考: Youtube – Create a Simple Popup Modal Youtube – Create a Modal (Popup) with HTML/CSS and Java ...