.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上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...
随机推荐
- 【Tomcat】IDEA工程没有EE规范的jar包?
发现了一个问题,我安装了2种版本的Tomcat 一个是8版本,另一个是10版本 我在已经使用8版本的工程中,更换成使用10版本,当然一开始部署运行正常 但是关闭了工程之后,再次打开就发现,这些EE规范 ...
- 代码随想录Day3
203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 . 示例 1: 输入:head = [1 ...
- python报错:`visualize_sharding` requires `rich` to be installed.
Rich是python的一个绘图library,需要手动安装. 解决方法: pip install Rich
- spring5的新特性
1.背景 2.依赖环境的变化 整个 Spring5 框架的代码基于 Java8,运行时兼容 JDK9,许多不建议使用的类和方 法在代码库中删除 3.自带了通用的日志封装 3.1.日志的简单使用 Spr ...
- [POI2015] POD 题解
前言 题目链接:洛谷. 题意简述 长度为 \(n\) 的一串项链,每颗珠子是 \(k\) 种颜色之一.第 \(i\) 颗与第 \(i-1, i+1\) 颗珠子相邻,第 \(n\) 颗与第 \(1\) ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-64 - Canvas和SVG元素推拽
1.简介 今天宏哥分享的在实际测试工作中很少遇到,比较生僻,如果突然遇到我们可能会脑大.懵逼,一时之间不知道怎么办?所以宏哥这里提供一种思路供大家学习和参考. 2.SVG简介 svg也是html5新增 ...
- 最佳实践:解读GaussDB(DWS) 统计信息自动收集方案
摘要:现在商用优化器大多都是基于统计信息进行查询代价评估,因此统计信息是否实时且准确对查询影响很大,特别是分布式数据库场景.本文详细介绍GaussDB(DWS)如何实现了一种轻量.实时.准确的统计信息 ...
- RabbitMq消息可靠性之确认模式 通俗易懂 超详细 【内含案例】
RabbitMq保证消息可靠性之确认模式 介绍 消息的确认,是指生产者投递消息后,如果 Broker 收到消息,则会给我们生产者一个应答.生产者进行接收应答,用来确定这条消息是否正常的发送到 Brok ...
- SMU Summer 2023 Contest Round 10(ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama,2018)
SMU Summer 2023 Contest Round 10(ICPC - International Collegiate Programming Contest Asia Regional C ...
- Maven 打 JAR 包
项目和依赖分别打入独立 JAR 包 使用 Maven Jar Plugin 插件,可以将项目自身单独打成一个 JAR 包,项目依赖的 JAR 包统一放置到指定目录. 在项目的 pom.xml 中添加如 ...