GithubHelp home page GithubHelp logo

gavinyellow / sharpscada Goto Github PK

View Code? Open in Web Editor NEW
2.6K 375.0 1.3K 27.5 MB

C# SCADA

License: GNU Lesser General Public License v3.0

C# 99.99% Batchfile 0.01%
scada modbus siemens visual-studio hmi plc opc wpf

sharpscada's Introduction

SharpSCADA - 工控网关, 轻量级组态软件.

简介

采用技术: 开发语言:C# 运行环境:.NET Framework 数据库:SQL Server

功能:

  • 1.轻量级工控网关: 支持当前几种主要的工业协议如西门子的Profinet、AB的EtherNetIPs、施耐德的Modbus和OPC。采用类OPC接口网关。

  • 2.数据采集、归档、预警及配置工具 支持实时数据采集、历史数据归档、变量触发预警,并使用TagConfig工具简单的配置实现。

  • 3.人机界面(设计时和运行时)

*设计时: 采用Microsoft Visual Studio + 设计器插件(在VS2010-VS2015社区版测试通过)。 通过继承HMIControlBase接口并书写极少量的代码即可实现复杂的图元组件。 支持图元拖放、组合、连线、变量绑定及编辑功能。

*运行时:Microsoft Visual Studio编译运行为可执行文件。

环境准备

Windows:支持的操作系统:Windows 7/8/10/Server 2008 .NET Framework 4.0/4.5/4.6 SQLServer Express 2014/2008

项目安装

下载最新版本,解压后:

  • 1.可直接打开项目工程文件测试源代码: ..\SCADA\Program下运行DataExchange.sln(支持VS2010-2015各版本)

  • 2.可运行可执行文件测试: Server端测试:在目录 ..\SCADA\Program\BatchCoreTest\bin\Debug下运行BatchCoreTest.exe Client端测试:在目录 ..\SCADA\Program\CoreTest\bin\Debug下运行CoreTest.exe 请参考Document文件夹中的教程:《部署流程》和《设计流程》,如有问题可参考《FAQ》文档。

Quick Start

  • 1.还原数据库
  • 2.修改配置文件并复制到C盘根目录下
  • 3.修改数据库内驱动程序的路径
  • 4.运行DEMO 具体流程可参看《部署流程》。

开发工具推荐

Visual Studio/Blend:做为组态设计器,推荐VS2010,VS2015版本。

项目结构

驱动程序目前支持:

  • 已发布: 内存数据库 Modbus TCP/RTU、 OPC DA、 Siemens S300/200/1200/1500、 Panasonic 、 AB EtherNetIP、 Omron UDP
  • 后续发布: DDE、 Mitsubishi

文件目录

  • Database目录[存放数据文件]: db2014.bak文件为SQL Server2014数据备份文件。 db2008.bak文件为SQL Server2008数据备份文件。 test.opf为Kepserver 4.5数据文件(可通过该软件还原为变量表)。 两个csv文件为两组变量。

  • DataConfig目录[存放配置文件]: host.cfg为主配置文件,第一行为网关服务器名/IP地址。如在本地测试,按默认lochost即可。 client.xml为客户端配置文件。 server.xml为网关服务配置文件。

  • dll目录[存放驱动程序及第三方组件]: 如OPCDriver即为OPC 通讯组件。 Dynamicdatadisplay:开源归档数据显示组件,http://dynamicdatadisplay.codeplex.com/ WPFToolkit:WPF开源扩展工具包,http://wpftoolkit.codeplex.com libnodave:西门子驱动开源库(https://github.com/netdata/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(客户端)。

计划:

  • 支持.NET Core。(目前已有测试版在CoreApp文件夹)
  • 实现更多的通讯接口:如欧姆龙、OPC UA等。
  • 更丰富的图元组件:如楼宇自控、化工等各行业。
  • 功能扩展:如进一步处理数据、过程控制等。
  • 安全性:安全性是重中之重,目前做的很不够。

Showcase

个人主页

http://www.cnblogs.com/evilcat/

教程

https://edu.csdn.net/course/detail/30835

联系方式

[email protected] QQ群:102486275

贡献代码

topmail, qwe7922142, tonyshen277, yangjingzhao123, xiebinghai

License

LGPL

sharpscada's People

Contributors

dathlin avatar gavinyellow avatar kevin100702 avatar yangjingzhao123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sharpscada's Issues

你好,请教一个存储的问题

你好,像组态软件这种数据更新比较快,历史数据库,如果存储几年的数据,数据量太大,这种问题一般是怎么处理的。谢谢

提供一个连接远程数据库的参考配置文件

将工程目录内的./DataConfig文件夹复制到C盘
修改C:/DataConfig/host.ini文件内容
参考如下

[HOST]

SERVER=lochost

[DATABASE]

CONNSTRING=Data Source=192.168.1.207,1433;Database=SCADA;User=sa;Password=;

ARCHIVE=D:\HDA

TYPE=MSSQL

//==========我是分割线=============
主要修改连接字符串,之后可以打开tagconfig

第二行SERVER不知道是什么意思
第五行ARCHIVE不知道是什么意思
希望能得到一些解释

MySQL Example

Hi Do you have document to show how to use mySQL and store data for say 6 months or so?
Ajay

English Document

Hi man great project.
Can you publish an english document about the project please ??
thanks..

提供一个ModbusTCP数据点地址的填写样例

在TagConfig里面,
右键服务器-新建
右键你新建出来的device-参数配置
新窗口里面选择ModbusTCP并填写服务器地址-关闭

右键你新建出来的device-增加
点选你新建出来的group,右边增加
给新建出来的标签tag取个名字,第二列地址的填写是本issue正题:

  1. 你需要知道Modbus有四种常用命令:读写线圈boolean、读离散boolean、读写寄存器、读寄存器

  2. 一个地址形如00020,第一个0表示它是读写线圈的命令。一个地址形如40033,第一个4表示它是读写寄存器的命令。地址的后四位是modbus中地址号(有些modbus地址号从0开始有些不是)

  3. ModbusTCPReader.GetDeviceAddress记录了更详细的的信息

支持支持

感觉楼主很厉害,我也是做.net的,但是没有接触过这方面的东西

关于工艺配置的问题

我想问下这个项目有关于工艺配方的设置吗?这也是属于变量的一部分,有涉及到吗,一般是怎么处理的?谢谢

CheckAlarm低限告警死区判断有误

@GavinYellow 在DataService的Condition.cs中,LevelAlarm类的CheckAlarm方法低限告警代码块第705行,此处deadBand判断应该为小于符号

image

else if (_deadBand > 0 && ActiveSubCondition == condition.SubAlarmType && value < condition.Threshold + _deadBand)

网关事件OnValueChanged

当opc Server断开一次,然后网关重新连接到server时,OnValueChanged事件就不再触发了。通过IDataExchangeService服务获取标签的值就永远停在OpcServer断开的时候的值

TargetInvocationException

I'm getting the following exception when I run BatchCoreTest.exe:

image

CoreTest.exe and TagConfig.exe don't run.

I'm trying to use with MySQL. I've imported the mysql file into a new database named scada

I've made the following changes to host.ini:

CONNSTRING=server=localhost;user id=root;password=my_pass;database=scada
TYPE=MYSQL

and the following changes to host.cfg:

server=localhost;user id=root;password=my_pass;database=scada

Also I've placed the folder DataConfig in C:\ drive

What am I missing ?? @GavinYellow @yangjingzhao123 @dathlin

PLC LS XGT protocol CNET AND FENET

Hi Shabab Thank you for the great program
You can ask why we do not add a connection PLC LS CNET AND FENET

I am able to participate in the project in full contact files and work efficiently

XGT.zip

These are contact files FOR PLC LS XGT protocol CNET AND FENET
Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.