.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上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...
随机推荐
- 【转载】冲压过程仿真模拟及优化 —— 冲压仿真的方法分类PPT
地址: https://www.renrendoc.com/paper/310415051.html
- 为python编译C++模块时一定要注意的事情—————不要在anaconda环境下使用cmake来编译C++扩展模块!!!
平时搞python的人很多都会有安装C++扩展模块的需求,而往往这些C++模块都是使用CMAKE做编译配置的,但是如果你这时候shell环境是使用anaconda的话,那么cmake默认调用的GCC和 ...
- 恭喜又一白鲸开源成员成为 Apache SeaTunnel PMC Member
个人简介 王海林 白鲸开源研发工程师 GitHub ID:hailin0 做过性能监控.数据开发平台等,目前聚焦在数据集成同步及其周边生态的研发 问:作为白鲸开源的一员,您为社区做出过哪些贡献?具体方 ...
- 【牛客刷题】HJ6 质数因子
题目链接 这道题本身更多的是考察如何计算一个数的质数因子,更像是一道数学题,用到了循环的方法: package main import ( "fmt" "math&quo ...
- USACO 2023DEC Bronze
http://www.usaco.org/index.php?page=dec23results 摆了一晚上,十点多才开,以为都是 sb 题,结果我是 sb T1 交了个暴力过了才意识到复杂度是对的 ...
- Mybatis Log 插件
目前的idea插件已经开始收费---找了一个免费的插件安装到idea中重启一下就可以了 百度网盘提取码:sjc8
- Odoo13开发环境搭建
准备:windows10 64位系统.Python3.6.8.Pycharm2019.2.Postgresql-12.0-1.Odoo13 其它:nodejs.rtlcss.wkhtmltopdf 安 ...
- JAVA IO流-小白版
I/O流原理 I/O 是 Input / Output 的缩写,I / O 流技术是非常实用的技术,用于处理数据传输.如读/写文件,网络通讯等: Java中对于数据的输入/输出操作以"流(s ...
- CMake构建学习笔记8-OpenSceneGraph库的构建
1. 概论 在连续构建了zlib.libpng.libjpeg.libtiff.giflib以及freetype这几个库之后,接下来我们就要来一个大的,构建OpenSceneGraph这样大型库.Op ...
- 禁止 SSH 传递 locale 环境变量
SSH 在连接远程机器时默认会传递一些环境变量,其中就包括你本机的 locale 变量.这会导致远程机器的 locale 配置变成和你本地主机一样.有时候我们不希望这种行为,我们可以通过修改 SSH ...