一、引子  

自从看了老坏猫(江湖人称猫总)的SharpSCADA项目后,让我感觉耳目一新同时也对自动化数据采集有了更深入的认识,我相信有不少做上位机的朋友和我一样对这个项目非常好奇。我们做上位机的应用场景相比SCADA系统还是有很大差别的,比如我们再跟plc通讯的时候,每一次通讯数据很少存入数据库,还有报警、历史归档等功能很少体现在上位机里面。利用五一假期,我将猫总的代码进行了简化,做了一个SCADA的lite版本。

下面是SCADA系统的应用架构,在猫总的程序中,有个DAService的文件就是图中的网关服务器,同时也包含实时数据服务器和归档的功能,在我的简化版本中,没有了实时数据服务器,不再归档,数据不存数据库而是使用json解析定义的组与标签。

二、配置与运行

我的简化版本不需要数据库,所以基本上做到了零配置。由于手头没有plc可以调试,所以项目用的是modbus的模拟器程序,你只需要安装附件中的modsim软件,我配置了两个模拟器,一个是tcp通讯一个是串口通讯,tcp的直接导入配置就行,串口就稍微麻烦一点,需要安装附件中模拟串口软件,大家上网搜一下使用很简单。

1.在GitHub上下载源码,地址https://github.com/qwe7922142/SharpSCADALite

2.安装modbus模拟器程序。

3.导入附件中一个叫TcpBool的文件,再导入一个SerialBool的文件,具体如下配置:

4.安装串口模拟器,将com1和com2做成链接。

5.vs2015以上进行编译,然后你就可以看到下面的界面,enjoy yourself!!!

三、最后总结

猫总的程序有很多值得我们借鉴的地方,比如实现多组轮询plc寄存器,plc读写驱动与上层应用脱离耦合,wpf的设计时等等。我在简化的过程中,不可避免的将很多精彩的源码删去了,建议大家还是多看看猫总的源码,这里附上猫总的博客地址:https://www.cnblogs.com/evilcat

附件:https://files.cnblogs.com/files/xiaozhangStudent/%E9%99%84%E4%BB%B6.rar

SCADA开源项目lite版本的更多相关文章

  1. 小程序官网CMS开源项目出炉,Weixin-App-CMS 1.0 版本正式发布

    Weixin-App-CMS 是捷微团队开发的微信小程序CMS开源项目,涵盖了微网站的基本功能,能够快速发布简单易用的小程序网站.采用工具“微信web开发”上传小程序,即可快速体验发布体验小程序网站. ...

  2. 微信小程序商城开源项目,Weixin-App-Shop 1.0 版本正式发布!!!

    微信小程序商城开源项目,Weixin-App-Shop 1.0 版本正式发布 Weixin-App-Shop 是捷微团队开发的微信小程序商城开源项目,涵盖了微信商城的全部功能,能够快速发布简单易用的小 ...

  3. 开源项目大全 >> ...

    http://www.isenhao.com/xueke/jisuanji/kaiyuan.php   监控系统-Nagios 网络流量监测图形分析工具-Cacti 分布式系统监视-zabbix 系统 ...

  4. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

  5. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  6. 【Android】Android开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Pro ...

  7. GitHub 优秀的 Android 开源项目(转)

    今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...

  8. Android开源项目汇总【转】

    主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView ...

  9. GitHub上史上最全的Android开源项目分类汇总

    今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...

随机推荐

  1. ACL 我为什么要发明一个轮子?

    现在成熟的开发库与开发框架有很多,所以平时我们在开发自己的应用程序时一般直接拿来用就可以了,所以当我先是开发出 C 语言版的 acl 框架库时有人认为是这个轮子是否值得发明,而当我再开发出基于 acl ...

  2. Linux历史,安装,分区,版本

    Linux 历史 1970年是 UNIX元年,这一年 Kenneth Lane Thompson 和 Dennis Ritchie 合作编写了UNIX系统. Stallman 发起了GNU 计划,他本 ...

  3. 为什么有如此多的C++测试框架 - from Google Testing Blog

    Why Are There So Many C++ Testing Frameworks? by Zhanyong Wan (Software Engineer) 最近貌似有很多人正在开发他们自己的C ...

  4. poi 操作Excel 以及大数据量导出

    maven 依赖 (版本必须一致,否则使用SXSSFworkbook 时程序会报错) <dependency> <groupId>org.apache.poi</grou ...

  5. 通过OSG实现对模型的日照模拟

    目录 1. 加载模型 2. 光照 1) 环境反射 2) 漫反射 3) 日照方向 (1) 太阳高度角和太阳方位角 (2) 计算过程 4) 改进实现 3. 阴影 4. 太阳高度角与太阳方位角的计算 1) ...

  6. SYN1618型 高精度天文时间同步系统

       SYN1618型 高精度天文时间同步系统 产品概述 SYN1618型 高精度天文时间同步系统是由西安同步电子科技有限公司精心设计.自行研发生产的一款高精度的时频频率标准设备,接收GPS.GLON ...

  7. 16 input默认样式清除

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  8. 高并发 Nginx+Lua OpenResty系列(5)——Lua开发库Redis

    Redis客户端 lua-resty-redis是为基于cosocket API的ngx_lua提供的Lua redis客户端,通过它可以完成Redis的操作.默认安装OpenResty时已经自带了该 ...

  9. niaobulashi-一个基于springboot shrio的权限管理系统

    github项目地址:https://github.com/niaobulashi/niaobulashi springboot学习地址:http://www.ityouknow.com/spring ...

  10. Adboe Flash远程代码执行_CVE-2018-4878漏洞复现

    Adboe Flash远程代码执行_CVE-2018-4878漏洞复现 一.漏洞描述 该漏洞可针对windows用户发起定向攻击.攻击者可以诱导用户打开包含恶意Flash代码文件的Microsoft ...